summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild46
-rw-r--r--dev-libs/389-adminutil/Manifest1
-rw-r--r--dev-libs/389-adminutil/metadata.xml5
-rw-r--r--dev-libs/9libs/9libs-1.0-r3.ebuild43
-rw-r--r--dev-libs/9libs/9libs-1.0-r4.ebuild57
-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/9libs/metadata.xml2
-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/FBGEMM-2023.12.04.ebuild79
-rw-r--r--dev-libs/FBGEMM/Manifest3
-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.4.ebuild357
-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-csharp.patch50
-rw-r--r--dev-libs/Ice/files/Ice-3.6.3-libressl.patch164
-rw-r--r--dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch50
-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/Ice/metadata.xml11
-rw-r--r--dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild114
-rw-r--r--dev-libs/OpenNI/OpenNI-1.5.7.10.ebuild108
-rw-r--r--dev-libs/OpenNI/OpenNI-9999.ebuild35
-rw-r--r--dev-libs/OpenNI/files/betterdefines.patch16
-rw-r--r--dev-libs/OpenNI/metadata.xml2
-rw-r--r--dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild108
-rw-r--r--dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild100
-rw-r--r--dev-libs/OpenNI2/OpenNI2-9999.ebuild40
-rw-r--r--dev-libs/OpenNI2/metadata.xml2
-rw-r--r--dev-libs/OpenSRF/Manifest1
-rw-r--r--dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild122
-rw-r--r--dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch70
-rw-r--r--dev-libs/OpenSRF/metadata.xml7
-rw-r--r--dev-libs/actor-framework/Manifest14
-rw-r--r--dev-libs/actor-framework/actor-framework-0.13.2.ebuild113
-rw-r--r--dev-libs/actor-framework/actor-framework-0.14.5.ebuild113
-rw-r--r--dev-libs/actor-framework/metadata.xml25
-rw-r--r--dev-libs/amdgpu-pro-opencl/Manifest3
-rw-r--r--dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-18.20.684755.ebuild79
-rw-r--r--dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425-r1.ebuild100
-rw-r--r--dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425.ebuild99
-rw-r--r--dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild99
-rw-r--r--dev-libs/amdgpu-pro-opencl/metadata.xml13
-rw-r--r--dev-libs/aml/Manifest1
-rw-r--r--dev-libs/aml/aml-0.3.0.ebuild44
-rw-r--r--dev-libs/aml/aml-9999.ebuild44
-rw-r--r--dev-libs/aml/files/aml-0.3.0-queue.patch21
-rw-r--r--dev-libs/aml/metadata.xml11
-rw-r--r--dev-libs/angelscript/Manifest3
-rw-r--r--dev-libs/angelscript/angelscript-2.33.0.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/angelscript/metadata.xml2
-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/antlr-c-3.5.2.ebuild63
-rw-r--r--dev-libs/antlr-c/files/3.5-autoconf.patch11
-rw-r--r--dev-libs/antlr-c/files/3.5-cflags.patch5
-rw-r--r--dev-libs/antlr-c/metadata.xml2
-rw-r--r--dev-libs/apache-arrow/Manifest3
-rw-r--r--dev-libs/apache-arrow/apache-arrow-16.0.0.ebuild131
-rw-r--r--dev-libs/apache-arrow/files/apache-arrow-11.0.0-shared-lz4.patch14
-rw-r--r--dev-libs/apache-arrow/metadata.xml24
-rw-r--r--dev-libs/appstream-glib/Manifest3
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.7.15.ebuild64
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.7.9.ebuild65
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild63
-rw-r--r--dev-libs/appstream-glib/metadata.xml21
-rw-r--r--dev-libs/appstream/Manifest5
-rw-r--r--dev-libs/appstream/appstream-0.12.6.ebuild70
-rw-r--r--dev-libs/appstream/appstream-0.12.7.ebuild71
-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.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/appstream/metadata.xml4
-rw-r--r--dev-libs/apr-util/Manifest3
-rw-r--r--dev-libs/apr-util/apr-util-1.5.4-r3.ebuild139
-rw-r--r--dev-libs/apr-util/apr-util-1.5.4.ebuild112
-rw-r--r--dev-libs/apr-util/apr-util-1.6.1-r3.ebuild144
-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-drop-my_init.patch15
-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-my_bool.patch15
-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.xml13
-rw-r--r--dev-libs/apr/Manifest4
-rw-r--r--dev-libs/apr/apr-1.6.3-r4.ebuild157
-rw-r--r--dev-libs/apr/apr-1.6.5-r1.ebuild156
-rw-r--r--dev-libs/apr/apr-1.7.0-r1.ebuild153
-rw-r--r--dev-libs/apr/apr-1.7.4-r2.ebuild162
-rw-r--r--dev-libs/apr/apr-1.7.4-r3.ebuild163
-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.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/files/apr-1.7.4-config-cross.patch19
-rw-r--r--dev-libs/apr/files/apr-1.7.4-config-libdir.patch17
-rw-r--r--dev-libs/apr/metadata.xml13
-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/argtable/metadata.xml2
-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/asyncresolv/Manifest1
-rw-r--r--dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild30
-rw-r--r--dev-libs/asyncresolv/metadata.xml8
-rw-r--r--dev-libs/atcore/atcore-1.0.0.ebuild39
-rw-r--r--dev-libs/atcore/metadata.xml5
-rw-r--r--dev-libs/atf/atf-0.21-r2.ebuild10
-rw-r--r--dev-libs/atf/metadata.xml2
-rw-r--r--dev-libs/atk/Manifest3
-rw-r--r--dev-libs/atk/atk-2.28.1.ebuild53
-rw-r--r--dev-libs/atk/atk-2.30.0.ebuild50
-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/files/atk-2.30.0-use-basename-instead-of-filename.patch63
-rw-r--r--dev-libs/atk/metadata.xml13
-rw-r--r--dev-libs/avro-c/Manifest1
-rw-r--r--dev-libs/avro-c/avro-c-1.9.1-r2.ebuild23
-rw-r--r--dev-libs/avro-c/files/avro-c-1.9.1-fix-libdir.patch32
-rw-r--r--dev-libs/avro-c/metadata.xml8
-rw-r--r--dev-libs/aws-c-cal/Manifest1
-rw-r--r--dev-libs/aws-c-cal/aws-c-cal-0.4.5.ebuild35
-rw-r--r--dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-add_libz_for_static.patch12
-rw-r--r--dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-cmake-prefix.patch11
-rw-r--r--dev-libs/aws-c-cal/metadata.xml15
-rw-r--r--dev-libs/aws-c-common/Manifest2
-rw-r--r--dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild36
-rw-r--r--dev-libs/aws-c-common/aws-c-common-0.5.2.ebuild29
-rw-r--r--dev-libs/aws-c-common/files/aws-c-common-0.4.57-remove-Werror-CFLAG.patch11
-rw-r--r--dev-libs/aws-c-common/files/aws-c-common-0.5.2-remove-Werror-CFLAG.patch11
-rw-r--r--dev-libs/aws-c-common/metadata.xml19
-rw-r--r--dev-libs/aws-c-event-stream/Manifest2
-rw-r--r--dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild52
-rw-r--r--dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.7.ebuild45
-rw-r--r--dev-libs/aws-c-event-stream/files/0.1.3-add_missing_cmake_install_prefix.patch11
-rw-r--r--dev-libs/aws-c-event-stream/metadata.xml15
-rw-r--r--dev-libs/aws-c-io/Manifest2
-rw-r--r--dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild52
-rw-r--r--dev-libs/aws-c-io/aws-c-io-0.9.2.ebuild45
-rw-r--r--dev-libs/aws-c-io/files/aws-c-io-0.7.0-cmake-prefix.patch12
-rw-r--r--dev-libs/aws-c-io/metadata.xml26
-rw-r--r--dev-libs/aws-checksums/Manifest1
-rw-r--r--dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild40
-rw-r--r--dev-libs/aws-checksums/files/aws-checksums-0.1.9-cmake-prefix.patch26
-rw-r--r--dev-libs/aws-checksums/metadata.xml20
-rw-r--r--dev-libs/aws-sdk-cpp/Manifest1
-rw-r--r--dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.5.17.ebuild38
-rw-r--r--dev-libs/aws-sdk-cpp/metadata.xml164
-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/Manifest2
-rw-r--r--dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild28
-rw-r--r--dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20150524.ebuild28
-rw-r--r--dev-libs/bareos-fastlzlib/metadata.xml11
-rw-r--r--dev-libs/bcm2835/Manifest4
-rw-r--r--dev-libs/bcm2835/bcm2835-1.52.ebuild25
-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.71.ebuild30
-rw-r--r--dev-libs/bcm2835/metadata.xml2
-rw-r--r--dev-libs/beignet/Manifest1
-rw-r--r--dev-libs/beignet/beignet-1.3.2-r3.ebuild104
-rw-r--r--dev-libs/beignet/files/beignet-1.2.0_no-hardcoded-cflags.patch12
-rw-r--r--dev-libs/beignet/files/beignet-1.3.1-oclicd_no_upstream_icdfile.patch14
-rw-r--r--dev-libs/beignet/files/beignet-1.3.2_cmake-llvm-config-multilib.patch17
-rw-r--r--dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch66
-rw-r--r--dev-libs/beignet/files/beignet-1.3.2_llvm6.patch27
-rw-r--r--dev-libs/beignet/files/beignet-1.3.2_llvm7.patch124
-rw-r--r--dev-libs/beignet/files/llvm-terminfo.patch20
-rw-r--r--dev-libs/beignet/files/no-debian-multiarch.patch39
-rw-r--r--dev-libs/beignet/metadata.xml14
-rw-r--r--dev-libs/bemenu/Manifest4
-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-9999.ebuild55
-rw-r--r--dev-libs/bemenu/metadata.xml8
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r1.ebuild73
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r2.ebuild77
-rw-r--r--dev-libs/bglibs/bglibs-2.04.ebuild73
-rw-r--r--dev-libs/bglibs/files/bglibs-2.04-stack-buffers.patch47
-rw-r--r--dev-libs/bglibs/metadata.xml2
-rw-r--r--dev-libs/bitset/bitset-2.8.4-r1.ebuild35
-rw-r--r--dev-libs/bitset/bitset-2.8.4-r3.ebuild55
-rw-r--r--dev-libs/bitset/metadata.xml7
-rw-r--r--dev-libs/bitshuffle/Manifest1
-rw-r--r--dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild37
-rw-r--r--dev-libs/bitshuffle/files/bitshuffle-0.3.5-Makefile50
-rw-r--r--dev-libs/bitshuffle/metadata.xml11
-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/Manifest8
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.2e.ebuild57
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild53
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.6.10.ebuild53
-rw-r--r--dev-libs/boehm-gc/boehm-gc-7.6.4.ebuild53
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.0.2.ebuild53
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.0.4.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/files/boehm-gc-7.2e-automake-1.13.patch13
-rw-r--r--dev-libs/boehm-gc/metadata.xml16
-rw-r--r--dev-libs/boost-mpl-cartesian_product/Manifest1
-rw-r--r--dev-libs/boost-mpl-cartesian_product/boost-mpl-cartesian_product-20161205.ebuild42
-rw-r--r--dev-libs/boost-mpl-cartesian_product/metadata.xml15
-rw-r--r--dev-libs/boost-numpy/boost-numpy-9999.ebuild48
-rw-r--r--dev-libs/boost-numpy/metadata.xml12
-rw-r--r--dev-libs/boost/Manifest4
-rw-r--r--dev-libs/boost/boost-1.65.0.ebuild439
-rw-r--r--dev-libs/boost/boost-1.70.0.ebuild332
-rw-r--r--dev-libs/boost/boost-1.84.0-r3.ebuild349
-rw-r--r--dev-libs/boost/boost-1.85.0.ebuild343
-rw-r--r--dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch29
-rw-r--r--dev-libs/boost/files/boost-1.55.0-context-x32.patch42
-rw-r--r--dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch13
-rw-r--r--dev-libs/boost/files/boost-1.65.0-fix-python.patch272
-rw-r--r--dev-libs/boost/files/boost-1.69.0-context-x32.patch38
-rw-r--r--dev-libs/boost/files/boost-1.79.0-build-auto_index-tool.patch13
-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.xml140
-rw-r--r--dev-libs/botan/Manifest13
-rw-r--r--dev-libs/botan/botan-1.10.17-r2.ebuild160
-rw-r--r--dev-libs/botan/botan-2.11.0.ebuild99
-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-2.9.0.ebuild103
-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-1.10.17-build.patch25
-rw-r--r--dev-libs/botan/files/botan-1.10.17-libressl.patch40
-rwxr-xr-xdev-libs/botan/files/botan-2.9.0-build.patch63
-rw-r--r--dev-libs/botan/files/botan-3.2.0-ninja.patch20
-rw-r--r--dev-libs/botan/metadata.xml21
-rw-r--r--dev-libs/boxfort/Manifest2
-rw-r--r--dev-libs/boxfort/boxfort-0.1.1.ebuild42
-rw-r--r--dev-libs/boxfort/boxfort-0.1.4.ebuild41
-rw-r--r--dev-libs/boxfort/metadata.xml15
-rw-r--r--dev-libs/btparser/Manifest1
-rw-r--r--dev-libs/btparser/btparser-0.26.ebuild41
-rw-r--r--dev-libs/btparser/metadata.xml11
-rw-r--r--dev-libs/busybee/Manifest3
-rw-r--r--dev-libs/busybee/busybee-0.5.2.ebuild18
-rw-r--r--dev-libs/busybee/busybee-0.6.0.ebuild18
-rw-r--r--dev-libs/busybee/busybee-0.7.0.ebuild18
-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.11.2.ebuild51
-rw-r--r--dev-libs/c-blosc/c-blosc-1.21.5.ebuild57
-rw-r--r--dev-libs/c-blosc/files/c-blosc-1.11.2-fix-build-system.patch21
-rw-r--r--dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch33
-rw-r--r--dev-libs/c-blosc/metadata.xml10
-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/c-capnproto/c-capnproto-0.3.ebuild14
-rw-r--r--dev-libs/c-capnproto/metadata.xml4
-rw-r--r--dev-libs/cJSON/Manifest1
-rw-r--r--dev-libs/cJSON/cJSON-1.7.17.ebuild30
-rw-r--r--dev-libs/cJSON/metadata.xml11
-rw-r--r--dev-libs/caliper/Manifest1
-rw-r--r--dev-libs/caliper/caliper-1.5.0.ebuild32
-rw-r--r--dev-libs/caliper/files/caliper-1.5.0-cmake.patch33
-rw-r--r--dev-libs/caliper/files/caliper-1.5.0-multilib.patch271
-rw-r--r--dev-libs/caliper/files/caliper-1.5.0-python2.patch22
-rw-r--r--dev-libs/caliper/metadata.xml11
-rw-r--r--dev-libs/capnproto/Manifest6
-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.6.0.ebuild36
-rw-r--r--dev-libs/capnproto/capnproto-0.6.1.ebuild36
-rw-r--r--dev-libs/capnproto/capnproto-0.7.0.ebuild38
-rw-r--r--dev-libs/capnproto/capnproto-0.9.1.ebuild45
-rw-r--r--dev-libs/capnproto/files/capnproto-0.10.2-gcc-13.patch21
-rw-r--r--dev-libs/capnproto/metadata.xml2
-rw-r--r--dev-libs/capstone/Manifest5
-rw-r--r--dev-libs/capstone/capstone-3.0.5_rc2-r1.ebuild84
-rw-r--r--dev-libs/capstone/capstone-3.0.5_rc2.ebuild44
-rw-r--r--dev-libs/capstone/capstone-4.0.1.ebuild84
-rw-r--r--dev-libs/capstone/capstone-4.0.2-r2.ebuild84
-rw-r--r--dev-libs/capstone/capstone-4.0.ebuild85
-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-3.0.5_rc2-CVE-2017-6952.patch41
-rw-r--r--dev-libs/capstone/files/capstone-3.0.5_rc2-FLAGS.patch16
-rw-r--r--dev-libs/capstone/files/capstone-4.0-FLAGS.patch20
-rw-r--r--dev-libs/capstone/files/capstone-4.0-double-DESTDIR.patch12
-rw-r--r--dev-libs/capstone/files/capstone-4.0-no-fuzz-tests.patch10
-rw-r--r--dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch12
-rw-r--r--dev-libs/capstone/files/capstone-9999-werror.patch13
-rw-r--r--dev-libs/capstone/metadata.xml15
-rw-r--r--dev-libs/castxml/Manifest3
-rw-r--r--dev-libs/castxml/castxml-0.5.1-r1.ebuild48
-rw-r--r--dev-libs/castxml/castxml-0.6.5.ebuild62
-rw-r--r--dev-libs/castxml/castxml-0.6.6.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/Manifest5
-rw-r--r--dev-libs/cdk/cdk-5.0.20160131.ebuild46
-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.xml8
-rw-r--r--dev-libs/cereal/Manifest3
-rw-r--r--dev-libs/cereal/cereal-1.2.1.ebuild29
-rw-r--r--dev-libs/cereal/cereal-1.2.2.ebuild25
-rw-r--r--dev-libs/cereal/cereal-1.3.2-r2.ebuild51
-rw-r--r--dev-libs/cereal/metadata.xml11
-rw-r--r--dev-libs/cgicc/Manifest2
-rw-r--r--dev-libs/cgicc/cgicc-3.2.16.ebuild48
-rw-r--r--dev-libs/cgicc/cgicc-3.2.9.ebuild43
-rw-r--r--dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch13
-rw-r--r--dev-libs/cgicc/files/cgicc-3.2.16-fix-doc-building.patch34
-rw-r--r--dev-libs/cgicc/metadata.xml17
-rw-r--r--dev-libs/cgilib/cgilib-0.7-r1.ebuild8
-rw-r--r--dev-libs/cgilib/metadata.xml2
-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/Manifest1
-rw-r--r--dev-libs/cgreen/cgreen-1.3.0.ebuild22
-rw-r--r--dev-libs/cgreen/files/cgreen-1.3.0-cmake-git.patch13
-rw-r--r--dev-libs/cgreen/metadata.xml15
-rw-r--r--dev-libs/check/Manifest3
-rw-r--r--dev-libs/check/check-0.10.0-r1.ebuild66
-rw-r--r--dev-libs/check/check-0.12.0.ebuild68
-rw-r--r--dev-libs/check/check-0.15.2-r1.ebuild59
-rw-r--r--dev-libs/check/files/check-0.12.0-fp.patch22
-rw-r--r--dev-libs/check/files/check-0.14.0-r2-disable-automagic-dep.patch23
-rw-r--r--dev-libs/check/files/check-0.15.2-Fix-pkgconfig-file-s-libdir-value.patch30
-rw-r--r--dev-libs/check/metadata.xml23
-rw-r--r--dev-libs/chmlib/chmlib-0.40-r1.ebuild31
-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/chmlib/metadata.xml7
-rw-r--r--dev-libs/cityhash/Manifest3
-rw-r--r--dev-libs/cityhash/cityhash-1.0.3.ebuild18
-rw-r--r--dev-libs/cityhash/cityhash-1.1.0.ebuild18
-rw-r--r--dev-libs/cityhash/cityhash-1.1.1.ebuild18
-rw-r--r--dev-libs/cityhash/metadata.xml11
-rw-r--r--dev-libs/cjose/Manifest2
-rw-r--r--dev-libs/cjose/cjose-0.6.2.2.ebuild36
-rw-r--r--dev-libs/cjose/cjose-0.6.2.3.ebuild40
-rw-r--r--dev-libs/cjose/metadata.xml14
-rw-r--r--dev-libs/cl/Manifest1
-rw-r--r--dev-libs/cl/cl-1.2.3.ebuild33
-rw-r--r--dev-libs/cl/cl-1.2.4-r2.ebuild32
-rw-r--r--dev-libs/cl/cl-1.2.4.ebuild33
-rw-r--r--dev-libs/cl/cl-9999.ebuild31
-rw-r--r--dev-libs/cl/metadata.xml9
-rw-r--r--dev-libs/clhpp/Manifest1
-rw-r--r--dev-libs/clhpp/clhpp-2.0.10.ebuild49
-rw-r--r--dev-libs/clhpp/metadata.xml11
-rw-r--r--dev-libs/clog/Manifest1
-rw-r--r--dev-libs/clog/clog-2023.11.04.ebuild40
-rw-r--r--dev-libs/clog/files/clog-2023.11.04-test.patch11
-rw-r--r--dev-libs/clog/metadata.xml11
-rw-r--r--dev-libs/cloog/Manifest4
-rw-r--r--dev-libs/cloog/cloog-0.18.0.ebuild40
-rw-r--r--dev-libs/cloog/cloog-0.18.1.ebuild41
-rw-r--r--dev-libs/cloog/cloog-0.18.3.ebuild64
-rw-r--r--dev-libs/cloog/cloog-0.18.4.ebuild62
-rw-r--r--dev-libs/cloog/cloog-9999.ebuild64
-rw-r--r--dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch82
-rw-r--r--dev-libs/cloog/metadata.xml7
-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/collada-dom/metadata.xml2
-rw-r--r--dev-libs/concurrencykit/Manifest3
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.5.2.ebuild21
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.6.0.ebuild21
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild35
-rw-r--r--dev-libs/concurrencykit/metadata.xml10
-rw-r--r--dev-libs/confuse/Manifest3
-rw-r--r--dev-libs/confuse/confuse-3.0.ebuild50
-rw-r--r--dev-libs/confuse/confuse-3.2.2.ebuild53
-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.ebuild53
-rw-r--r--dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch39
-rw-r--r--dev-libs/confuse/metadata.xml12
-rw-r--r--dev-libs/console_bridge/Manifest8
-rw-r--r--dev-libs/console_bridge/console_bridge-0.4.0.ebuild29
-rw-r--r--dev-libs/console_bridge/console_bridge-0.4.2.ebuild29
-rw-r--r--dev-libs/console_bridge/console_bridge-0.4.3.ebuild29
-rw-r--r--dev-libs/console_bridge/console_bridge-1.0.2.ebuild65
-rw-r--r--dev-libs/console_bridge/console_bridge-9999.ebuild56
-rw-r--r--dev-libs/console_bridge/files/tests.patch15
-rw-r--r--dev-libs/console_bridge/metadata.xml2
-rw-r--r--dev-libs/cowsql/Manifest1
-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/cpl-stratego/Manifest1
-rw-r--r--dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild30
-rw-r--r--dev-libs/cpl-stratego/metadata.xml5
-rw-r--r--dev-libs/cppcodec/cppcodec-0.2.ebuild12
-rw-r--r--dev-libs/cppcodec/cppcodec-9999.ebuild10
-rw-r--r--dev-libs/cppcodec/metadata.xml2
-rw-r--r--dev-libs/cpuinfo/Manifest4
-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/cpuinfo-2023.11.04.ebuild35
-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/files/cpuinfo-2023.11.04-gentoo.patch25
-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.ebuild27
-rw-r--r--dev-libs/crc32c/crc32c-1.1.2-r2.ebuild42
-rw-r--r--dev-libs/crc32c/files/crc32c-1.1.1-system-testdeps.patch21
-rw-r--r--dev-libs/crc32c/metadata.xml12
-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/metadata.xml15
-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.ebuild7
-rw-r--r--dev-libs/crossguid/files/crossguid-0.2.2_p20190529-gcc-13.patch24
-rw-r--r--dev-libs/crossguid/metadata.xml2
-rw-r--r--dev-libs/crypto++/Manifest5
-rw-r--r--dev-libs/crypto++/crypto++-5.6.5-r1.ebuild60
-rw-r--r--dev-libs/crypto++/crypto++-7.0.0-r3.ebuild48
-rw-r--r--dev-libs/crypto++/crypto++-8.2.0-r2.ebuild60
-rw-r--r--dev-libs/crypto++/crypto++-8.2.0.ebuild52
-rw-r--r--dev-libs/crypto++/crypto++-8.9.0.ebuild73
-rw-r--r--dev-libs/crypto++/files/crypto++-5.6.4-nonative.patch28
-rw-r--r--dev-libs/crypto++/files/crypto++-5.6.5-CVE-2017-9434.patch45
-rw-r--r--dev-libs/crypto++/files/crypto++-8.2.0-build.patch271
-rw-r--r--dev-libs/crypto++/metadata.xml29
-rw-r--r--dev-libs/cudnn-frontend/Manifest5
-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/cudnn-frontend-1.0.3.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/cudnn-frontend-1.1.2.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/metadata.xml11
-rw-r--r--dev-libs/cudnn/Manifest10
-rw-r--r--dev-libs/cudnn/cudnn-6.0.ebuild25
-rw-r--r--dev-libs/cudnn/cudnn-7.0.5-r1.ebuild29
-rw-r--r--dev-libs/cudnn/cudnn-7.1.4.ebuild28
-rw-r--r--dev-libs/cudnn/cudnn-7.4.1.5.ebuild28
-rw-r--r--dev-libs/cudnn/cudnn-7.4.2.24.ebuild28
-rw-r--r--dev-libs/cudnn/cudnn-7.5.0.56.ebuild34
-rw-r--r--dev-libs/cudnn/cudnn-7.6.0.64.ebuild34
-rw-r--r--dev-libs/cudnn/cudnn-7.6.1.34.ebuild34
-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.xml10
-rw-r--r--dev-libs/cutlass/Manifest2
-rw-r--r--dev-libs/cutlass/cutlass-3.3.0.ebuild39
-rw-r--r--dev-libs/cutlass/cutlass-3.4.1.ebuild39
-rw-r--r--dev-libs/cutlass/metadata.xml11
-rw-r--r--dev-libs/cvector/Manifest1
-rw-r--r--dev-libs/cvector/cvector-1.0.3-r1.ebuild45
-rw-r--r--dev-libs/cvector/cvector-1.0.3.1.ebuild26
-rw-r--r--dev-libs/cvector/files/1.0.3-LDFLAGS.patch17
-rw-r--r--dev-libs/cvector/files/1.0.3-dynlib.patch2
-rw-r--r--dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch4
-rw-r--r--dev-libs/cvector/metadata.xml2
-rw-r--r--dev-libs/cxxopts/Manifest2
-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.xml11
-rw-r--r--dev-libs/cxxtools/Manifest2
-rw-r--r--dev-libs/cxxtools/cxxtools-2.2.1.ebuild28
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0-r1.ebuild36
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0-r2.ebuild56
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0.ebuild34
-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/cxxtools/files/cxxtools-3.0_gcc11.patch23
-rw-r--r--dev-libs/cxxtools/metadata.xml2
-rw-r--r--dev-libs/cyberjack/Manifest4
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p11.ebuild74
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p12.ebuild91
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p13.ebuild90
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild93
-rw-r--r--dev-libs/cyberjack/files/cyberjack-3.99.5_p14-gcc10.patch13
-rw-r--r--dev-libs/cyberjack/files/cyberjack-manpages.patch34
-rw-r--r--dev-libs/cyberjack/files/cyberjack-r1.rules18
-rw-r--r--dev-libs/cyberjack/files/cyberjack-returnvalue.patch29
-rw-r--r--dev-libs/cyberjack/files/libifd-cyberjack6.udev-r127
-rw-r--r--dev-libs/cyberjack/metadata.xml9
-rw-r--r--dev-libs/cygwin/Manifest3
-rw-r--r--dev-libs/cygwin/cygwin-1.5.25.15.ebuild92
-rw-r--r--dev-libs/cygwin/metadata.xml8
-rw-r--r--dev-libs/cyrus-sasl/Manifest4
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r10.ebuild245
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r12.ebuild260
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r13.ebuild260
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r9.ebuild242
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r1.ebuild256
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r2.ebuild258
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild224
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch16
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-as_needed.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch114
-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.25-avoid_pic_overwrite.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch10
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch12
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch14
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch27
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch116
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch10
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch90
-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.26-openssl-1.1.patch353
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch48
-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/java.README.gentoo39
-rw-r--r--dev-libs/cyrus-sasl/metadata.xml28
-rw-r--r--dev-libs/d0_blind_id/Manifest3
-rw-r--r--dev-libs/d0_blind_id/d0_blind_id-0.5.ebuild39
-rw-r--r--dev-libs/d0_blind_id/d0_blind_id-1.0.ebuild51
-rw-r--r--dev-libs/d0_blind_id/d0_blind_id-1.0_p20201124.ebuild46
-rw-r--r--dev-libs/d0_blind_id/metadata.xml13
-rw-r--r--dev-libs/darts/Manifest2
-rw-r--r--dev-libs/darts/darts-0.32.ebuild26
-rw-r--r--dev-libs/darts/darts-0.32h_pre20181117064816.ebuild57
-rw-r--r--dev-libs/darts/darts-9999.ebuild57
-rw-r--r--dev-libs/darts/metadata.xml13
-rw-r--r--dev-libs/date/Manifest1
-rw-r--r--dev-libs/date/date-3.0.0.ebuild55
-rw-r--r--dev-libs/date/files/date-3.0.0-c-locale-export.patch90
-rw-r--r--dev-libs/date/files/date-3.0.0-version.patch15
-rw-r--r--dev-libs/date/metadata.xml20
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild63
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild62
-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-c++/metadata.xml5
-rw-r--r--dev-libs/dbus-glib/Manifest1
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.110.ebuild42
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.112.ebuild106
-rw-r--r--dev-libs/dbus-glib/files/dbus-glib-0.110-config-glib-genmarshal.conf76
-rw-r--r--dev-libs/dbus-glib/metadata.xml2
-rw-r--r--dev-libs/device-atlas-api-c/Manifest2
-rw-r--r--dev-libs/device-atlas-api-c/device-atlas-api-c-2.1.3.ebuild50
-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.3-src-cmakelists.patch18
-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/dietlibc/metadata.xml2
-rw-r--r--dev-libs/ding-libs/Manifest5
-rw-r--r--dev-libs/ding-libs/ding-libs-0.4.0.ebuild23
-rw-r--r--dev-libs/ding-libs/ding-libs-0.5.0.ebuild20
-rw-r--r--dev-libs/ding-libs/ding-libs-0.6.0.ebuild24
-rw-r--r--dev-libs/ding-libs/ding-libs-0.6.1.ebuild30
-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.xml10
-rw-r--r--dev-libs/distorm3/Manifest1
-rw-r--r--dev-libs/distorm3/distorm3-3.5.2-r1.ebuild38
-rw-r--r--dev-libs/distorm3/files/distorm3-3.5.2-under.patch12
-rw-r--r--dev-libs/distorm3/metadata.xml12
-rw-r--r--dev-libs/distorm64/Manifest2
-rw-r--r--dev-libs/distorm64/distorm64-3.3.8.ebuild26
-rw-r--r--dev-libs/distorm64/distorm64-3.4.1.ebuild25
-rw-r--r--dev-libs/distorm64/metadata.xml19
-rw-r--r--dev-libs/dmalloc/Manifest1
-rw-r--r--dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild76
-rw-r--r--dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild85
-rw-r--r--dev-libs/dmalloc/dmalloc-5.5.2-r7.ebuild88
-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/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/metadata.xml10
-rw-r--r--dev-libs/dotconf/Manifest1
-rw-r--r--dev-libs/dotconf/dotconf-1.3-r1.ebuild27
-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/dotconf/metadata.xml4
-rw-r--r--dev-libs/double-conversion/Manifest4
-rw-r--r--dev-libs/double-conversion/double-conversion-3.0.3.ebuild53
-rw-r--r--dev-libs/double-conversion/double-conversion-3.1.4-r1.ebuild57
-rw-r--r--dev-libs/double-conversion/double-conversion-3.2.1.ebuild24
-rw-r--r--dev-libs/double-conversion/double-conversion-3.3.0.ebuild27
-rw-r--r--dev-libs/double-conversion/files/0001-CMake-install-to-correct-lib-dir.patch63
-rw-r--r--dev-libs/double-conversion/metadata.xml3
-rw-r--r--dev-libs/dqlite/Manifest1
-rw-r--r--dev-libs/dqlite/dqlite-1.16.4-r1.ebuild53
-rw-r--r--dev-libs/dqlite/files/dqlite-1.12.0-disable-werror.patch20
-rw-r--r--dev-libs/dqlite/metadata.xml24
-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/eb/eb-4.4.1-r1.ebuild32
-rw-r--r--dev-libs/eb/metadata.xml2
-rw-r--r--dev-libs/editline/Manifest2
-rw-r--r--dev-libs/editline/editline-1.16.0.ebuild37
-rw-r--r--dev-libs/editline/editline-1.17.1.ebuild33
-rw-r--r--dev-libs/editline/metadata.xml9
-rw-r--r--dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild85
-rw-r--r--dev-libs/eekboard/eekboard-1.0.8_p20121001.ebuild82
-rw-r--r--dev-libs/eekboard/files/eekboard-python-3.patch39
-rw-r--r--dev-libs/eekboard/metadata.xml32
-rw-r--r--dev-libs/efl/Manifest3
-rw-r--r--dev-libs/efl/efl-1.21.1-r3.ebuild276
-rw-r--r--dev-libs/efl/efl-1.22.2.ebuild281
-rw-r--r--dev-libs/efl/efl-1.27.0.ebuild296
-rw-r--r--dev-libs/efl/files/efl-1.21.1-fix_evas_preload_segfault.patch10
-rw-r--r--dev-libs/efl/metadata.xml68
-rw-r--r--dev-libs/elfio/Manifest1
-rw-r--r--dev-libs/elfio/elfio-1.0.3-r1.ebuild30
-rw-r--r--dev-libs/elfio/files/elfio-1.0.3-shared.patch83
-rw-r--r--dev-libs/elfio/metadata.xml8
-rw-r--r--dev-libs/elfutils/Manifest7
-rw-r--r--dev-libs/elfutils/elfutils-0.170-r1.ebuild66
-rw-r--r--dev-libs/elfutils/elfutils-0.173-r1.ebuild70
-rw-r--r--dev-libs/elfutils/elfutils-0.173-r2.ebuild71
-rw-r--r--dev-libs/elfutils/elfutils-0.176-r1.ebuild71
-rw-r--r--dev-libs/elfutils/elfutils-0.176.ebuild70
-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.118-PaX-support.patch26
-rw-r--r--dev-libs/elfutils/files/elfutils-0.173-partial-core.patch34
-rw-r--r--dev-libs/elfutils/files/elfutils-0.173-reorder.patch37
-rw-r--r--dev-libs/elfutils/files/elfutils-0.175-disable-biarch-test-PR24158.patch9
-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.xml7
-rw-r--r--dev-libs/ell/Manifest7
-rw-r--r--dev-libs/ell/ell-0.18.ebuild46
-rw-r--r--dev-libs/ell/ell-0.19.ebuild46
-rw-r--r--dev-libs/ell/ell-0.20.ebuild46
-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-0.65.ebuild54
-rw-r--r--dev-libs/ell/ell-0.9.ebuild36
-rw-r--r--dev-libs/ell/ell-9999.ebuild40
-rw-r--r--dev-libs/ell/metadata.xml9
-rw-r--r--dev-libs/eventlog/eventlog-0.2.12.ebuild21
-rw-r--r--dev-libs/eventlog/metadata.xml2
-rw-r--r--dev-libs/expat/Manifest6
-rw-r--r--dev-libs/expat/expat-2.2.6.ebuild97
-rw-r--r--dev-libs/expat/expat-2.2.7.ebuild96
-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.xml3
-rw-r--r--dev-libs/fampp2/Manifest1
-rw-r--r--dev-libs/fampp2/fampp2-7.0.1-r3.ebuild59
-rw-r--r--dev-libs/fampp2/files/fampp2-7.0.1-fix-buildsystem.patch78
-rw-r--r--dev-libs/fampp2/files/fampp2-7.0.1-fix-gcc6.patch67
-rw-r--r--dev-libs/fampp2/files/fampp2-7.0.1-libsigc++-2.6.patch46
-rw-r--r--dev-libs/fampp2/metadata.xml8
-rw-r--r--dev-libs/faxpp/faxpp-0.4-r1.ebuild26
-rw-r--r--dev-libs/faxpp/faxpp-0.4-r2.ebuild32
-rw-r--r--dev-libs/faxpp/metadata.xml7
-rw-r--r--dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild53
-rw-r--r--dev-libs/fcgi/metadata.xml7
-rw-r--r--dev-libs/fddl/fddl-20111124-r1.ebuild9
-rw-r--r--dev-libs/fddl/fddl-20111124-r2.ebuild42
-rw-r--r--dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch65
-rw-r--r--dev-libs/fddl/metadata.xml11
-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/ferrisloki/metadata.xml2
-rw-r--r--dev-libs/ffcall/Manifest2
-rw-r--r--dev-libs/ffcall/ffcall-2.1.ebuild64
-rw-r--r--dev-libs/ffcall/ffcall-2.4-r1.ebuild68
-rw-r--r--dev-libs/ffcall/ffcall-2.4.ebuild66
-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/ffcall/metadata.xml2
-rw-r--r--dev-libs/flatbuffers/Manifest2
-rw-r--r--dev-libs/flatbuffers/flatbuffers-1.11.0.ebuild29
-rw-r--r--dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild33
-rw-r--r--dev-libs/flatbuffers/metadata.xml11
-rw-r--r--dev-libs/folks/Manifest2
-rw-r--r--dev-libs/folks/files/0.11.4-vala-0.42-compat.patch32
-rw-r--r--dev-libs/folks/folks-0.11.4-r1.ebuild91
-rw-r--r--dev-libs/folks/folks-0.15.9.ebuild97
-rw-r--r--dev-libs/folks/metadata.xml22
-rw-r--r--dev-libs/foma/Manifest1
-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/foma-0.10.0_p20220612-r1.ebuild37
-rw-r--r--dev-libs/foma/metadata.xml11
-rw-r--r--dev-libs/freexl/Manifest5
-rw-r--r--dev-libs/freexl/freexl-1.0.1.ebuild29
-rw-r--r--dev-libs/freexl/freexl-1.0.2.ebuild29
-rw-r--r--dev-libs/freexl/freexl-1.0.5.ebuild25
-rw-r--r--dev-libs/freexl/freexl-1.0.6.ebuild32
-rw-r--r--dev-libs/freexl/freexl-2.0.0-r1.ebuild36
-rw-r--r--dev-libs/freexl/metadata.xml2
-rw-r--r--dev-libs/fribidi/Manifest2
-rw-r--r--dev-libs/fribidi/fribidi-1.0.13.ebuild29
-rw-r--r--dev-libs/fribidi/fribidi-1.0.5.ebuild35
-rw-r--r--dev-libs/fribidi/metadata.xml6
-rw-r--r--dev-libs/fstrm/Manifest2
-rw-r--r--dev-libs/fstrm/fstrm-0.3.0.ebuild35
-rw-r--r--dev-libs/fstrm/fstrm-0.6.1.ebuild36
-rw-r--r--dev-libs/fstrm/metadata.xml2
-rw-r--r--dev-libs/g-wrap/Manifest3
-rw-r--r--dev-libs/g-wrap/g-wrap-1.9.13.ebuild30
-rw-r--r--dev-libs/g-wrap/g-wrap-1.9.14.ebuild32
-rw-r--r--dev-libs/g-wrap/g-wrap-1.9.15.ebuild35
-rw-r--r--dev-libs/g-wrap/metadata.xml11
-rw-r--r--dev-libs/gdl/Manifest2
-rw-r--r--dev-libs/gdl/gdl-3.28.0.ebuild31
-rw-r--r--dev-libs/gdl/gdl-3.40.0.ebuild33
-rw-r--r--dev-libs/gdl/metadata.xml13
-rw-r--r--dev-libs/gecode/Manifest2
-rw-r--r--dev-libs/gecode/files/gecode-4.4.0-no-examples.patch18
-rw-r--r--dev-libs/gecode/gecode-3.7.3-r1.ebuild42
-rw-r--r--dev-libs/gecode/gecode-4.4.0-r2.ebuild81
-rw-r--r--dev-libs/gecode/metadata.xml14
-rw-r--r--dev-libs/geoip/Manifest3
-rw-r--r--dev-libs/geoip/files/geoipupdate-r7.sh46
-rw-r--r--dev-libs/geoip/geoip-1.6.10.ebuild57
-rw-r--r--dev-libs/geoip/geoip-1.6.11.ebuild57
-rw-r--r--dev-libs/geoip/geoip-1.6.12-r1.ebuild50
-rw-r--r--dev-libs/geoip/geoip-1.6.12.ebuild31
-rw-r--r--dev-libs/geoip/geoip-1.6.9-r1.ebuild57
-rw-r--r--dev-libs/geoip/metadata.xml2
-rw-r--r--dev-libs/gf-complete/Manifest1
-rw-r--r--dev-libs/gf-complete/gf-complete-0.0.0.ebuild29
-rw-r--r--dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild31
-rw-r--r--dev-libs/gf-complete/gf-complete-2.0.0.ebuild29
-rw-r--r--dev-libs/gf-complete/metadata.xml2
-rw-r--r--dev-libs/gf2x/Manifest4
-rw-r--r--dev-libs/gf2x/files/fno-common.patch37
-rw-r--r--dev-libs/gf2x/files/gf2x-1.3.0-0001-src-tunefft.c-add-include-statement-for-MIN-and-MAX.patch29
-rw-r--r--dev-libs/gf2x/files/gf2x-1.3.0-configure-clang16.patch28
-rw-r--r--dev-libs/gf2x/gf2x-1.0-r1.ebuild38
-rw-r--r--dev-libs/gf2x/gf2x-1.1.ebuild38
-rw-r--r--dev-libs/gf2x/gf2x-1.2.ebuild54
-rw-r--r--dev-libs/gf2x/gf2x-1.3.0-r1.ebuild62
-rw-r--r--dev-libs/gf2x/metadata.xml12
-rw-r--r--dev-libs/girara/Manifest4
-rw-r--r--dev-libs/girara/girara-0.3.1.ebuild52
-rw-r--r--dev-libs/girara/girara-0.3.2.ebuild52
-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.ebuild63
-rw-r--r--dev-libs/girara/metadata.xml30
-rw-r--r--dev-libs/gjs/Manifest3
-rw-r--r--dev-libs/gjs/gjs-1.48.7.ebuild62
-rw-r--r--dev-libs/gjs/gjs-1.54.3.ebuild65
-rw-r--r--dev-libs/gjs/gjs-1.78.5.ebuild68
-rw-r--r--dev-libs/gjs/metadata.xml8
-rw-r--r--dev-libs/glib/Manifest6
-rw-r--r--dev-libs/glib/files/glib-2.58.2-external-gdbus-codegen.patch124
-rw-r--r--dev-libs/glib/files/glib-2.64.1-mark-gdbus-server-auth-test-flaky.patch32
-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.58.3.ebuild310
-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/glib-2.78.6.ebuild320
-rw-r--r--dev-libs/glib/metadata.xml65
-rw-r--r--dev-libs/gmime/Manifest2
-rw-r--r--dev-libs/gmime/gmime-2.6.23-r2.ebuild55
-rw-r--r--dev-libs/gmime/gmime-2.6.23.ebuild72
-rw-r--r--dev-libs/gmime/gmime-3.2.14.ebuild70
-rw-r--r--dev-libs/gmime/gmime-3.2.3.ebuild68
-rw-r--r--dev-libs/gmime/metadata.xml22
-rw-r--r--dev-libs/gmp/Manifest5
-rw-r--r--dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch20
-rw-r--r--dev-libs/gmp/files/gmp-4.2.1-s390.diff68
-rw-r--r--dev-libs/gmp/files/gmp-6.2.1-no-zarch.patch20
-rw-r--r--dev-libs/gmp/gmp-4.3.2-r1.ebuild66
-rw-r--r--dev-libs/gmp/gmp-6.1.2-r1.ebuild112
-rw-r--r--dev-libs/gmp/gmp-6.1.2.ebuild111
-rw-r--r--dev-libs/gmp/gmp-6.3.0-r1.ebuild193
-rw-r--r--dev-libs/gmp/metadata.xml31
-rw-r--r--dev-libs/gnulib/Manifest5
-rw-r--r--dev-libs/gnulib/gnulib-2016.12.21.08.39.01.ebuild43
-rw-r--r--dev-libs/gnulib/gnulib-2017.12.19.15.53.47.ebuild43
-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/gnulib/metadata.xml2
-rw-r--r--dev-libs/go-fuse/Manifest2
-rw-r--r--dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild58
-rw-r--r--dev-libs/go-fuse/go-fuse-0_p20150422.ebuild55
-rw-r--r--dev-libs/go-fuse/go-fuse-9999.ebuild55
-rw-r--r--dev-libs/go-fuse/metadata.xml11
-rw-r--r--dev-libs/go-usb/go-usb-9999.ebuild32
-rw-r--r--dev-libs/go-usb/metadata.xml11
-rw-r--r--dev-libs/gobject-introspection-common/Manifest4
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.56.1.ebuild33
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.58.3.ebuild33
-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.xml14
-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.56.1.ebuild71
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.58.3.ebuild72
-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.xml20
-rw-r--r--dev-libs/gom/Manifest2
-rw-r--r--dev-libs/gom/files/0.3.2-fix-pkgconfig.patch34
-rw-r--r--dev-libs/gom/gom-0.3.2-r1.ebuild77
-rw-r--r--dev-libs/gom/gom-0.4.ebuild62
-rw-r--r--dev-libs/gom/metadata.xml13
-rw-r--r--dev-libs/gost-engine/Manifest5
-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-r1.ebuild34
-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.ebuild20
-rw-r--r--dev-libs/gost-engine/metadata.xml5
-rw-r--r--dev-libs/granite/Manifest2
-rw-r--r--dev-libs/granite/granite-0.5.0.ebuild60
-rw-r--r--dev-libs/granite/granite-6.2.0.ebuild40
-rw-r--r--dev-libs/granite/metadata.xml24
-rw-r--r--dev-libs/grantlee/Manifest2
-rw-r--r--dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch9
-rw-r--r--dev-libs/grantlee/files/grantlee-5.1.0-qt-5.13.patch27
-rw-r--r--dev-libs/grantlee/files/grantlee-5.1.0-slot.patch39
-rw-r--r--dev-libs/grantlee/files/grantlee-5.3.0-slot.patch65
-rw-r--r--dev-libs/grantlee/grantlee-5.1.0.ebuild67
-rw-r--r--dev-libs/grantlee/grantlee-5.3.0.ebuild61
-rw-r--r--dev-libs/grantlee/metadata.xml4
-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.ebuild32
-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.ebuild28
-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.xml16
-rw-r--r--dev-libs/half/Manifest1
-rw-r--r--dev-libs/half/half-1.12.0.ebuild17
-rw-r--r--dev-libs/half/metadata.xml18
-rw-r--r--dev-libs/hashit/Manifest1
-rw-r--r--dev-libs/hashit/hashit-0.9.8.ebuild15
-rw-r--r--dev-libs/hashit/metadata.xml5
-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/Manifest3
-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.ebuild75
-rw-r--r--dev-libs/hidapi/metadata.xml20
-rw-r--r--dev-libs/hiredict/Manifest1
-rw-r--r--dev-libs/hiredict/files/hiredict-1.3.1-disable-network-tests.patch16
-rw-r--r--dev-libs/hiredict/hiredict-1.3.1.ebuild96
-rw-r--r--dev-libs/hiredict/metadata.xml23
-rw-r--r--dev-libs/hiredis/Manifest5
-rw-r--r--dev-libs/hiredis/files/hiredis-0.13.3-disable-network-tests.patch36
-rw-r--r--dev-libs/hiredis/files/hiredis-1.0.0-disable-network-tests.patch53
-rw-r--r--dev-libs/hiredis/files/hiredis-1.1.0-disable-network-tests.patch19
-rw-r--r--dev-libs/hiredis/files/hiredis-1.2.0-conditional-werror.patch24
-rw-r--r--dev-libs/hiredis/hiredis-0.13.3.ebuild78
-rw-r--r--dev-libs/hiredis/hiredis-0.14.0.ebuild78
-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/hiredis/hiredis-1.2.0.ebuild92
-rw-r--r--dev-libs/hiredis/metadata.xml7
-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.ebuild35
-rw-r--r--dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild41
-rw-r--r--dev-libs/http-fetcher/metadata.xml7
-rw-r--r--dev-libs/hyperleveldb/Manifest1
-rw-r--r--dev-libs/hyperleveldb/files/snappy.patch31
-rw-r--r--dev-libs/hyperleveldb/hyperleveldb-1.2.2-r1.ebuild27
-rw-r--r--dev-libs/hyperleveldb/metadata.xml8
-rw-r--r--dev-libs/hyperscan/Manifest3
-rw-r--r--dev-libs/hyperscan/hyperscan-4.6.0.ebuild30
-rw-r--r--dev-libs/hyperscan/hyperscan-4.7.0.ebuild30
-rw-r--r--dev-libs/hyperscan/hyperscan-5.1.0.ebuild36
-rw-r--r--dev-libs/hyperscan/metadata.xml15
-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/hyphen-2.8.8.ebuild33
-rw-r--r--dev-libs/hyphen/metadata.xml3
-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/Manifest4
-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.6.1-r1.ebuild23
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild23
-rw-r--r--dev-libs/icinga-php-library/metadata.xml8
-rw-r--r--dev-libs/icinga-php-thirdparty/Manifest3
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild22
-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/icinga-php-thirdparty/metadata.xml8
-rw-r--r--dev-libs/icu-layoutex/Manifest5
-rw-r--r--dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch224
-rw-r--r--dev-libs/icu-layoutex/files/icu-layoutex-64.1-data_archive_generation.patch14
-rw-r--r--dev-libs/icu-layoutex/files/icu-layoutex-65.1-remove-bashisms.patch207
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-64.2.ebuild110
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild133
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild131
-rw-r--r--dev-libs/icu-layoutex/metadata.xml17
-rw-r--r--dev-libs/icu-le-hb/Manifest2
-rw-r--r--dev-libs/icu-le-hb/icu-le-hb-1.0.3.ebuild37
-rw-r--r--dev-libs/icu-le-hb/icu-le-hb-1.2.3.ebuild38
-rw-r--r--dev-libs/icu-le-hb/metadata.xml6
-rw-r--r--dev-libs/icu/Manifest5
-rw-r--r--dev-libs/icu/files/icu-58.1-remove-bashisms.patch224
-rw-r--r--dev-libs/icu/files/icu-64.1-data_archive_generation.patch14
-rw-r--r--dev-libs/icu/files/icu-64.2-darwin.patch2
-rw-r--r--dev-libs/icu/files/icu-64.2-extern_c.patch789
-rw-r--r--dev-libs/icu/files/icu-65.1-remove-bashisms.patch207
-rw-r--r--dev-libs/icu/files/icu-68.1-nonunicode.patch12
-rw-r--r--dev-libs/icu/icu-64.2.ebuild143
-rw-r--r--dev-libs/icu/icu-74.2.ebuild184
-rw-r--r--dev-libs/icu/icu-75.1.ebuild179
-rw-r--r--dev-libs/icu/metadata.xml5
-rw-r--r--dev-libs/igraph/Manifest5
-rw-r--r--dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch35
-rw-r--r--dev-libs/igraph/files/igraph-0.7.1-unbundle.patch269
-rw-r--r--dev-libs/igraph/igraph-0.10.10.ebuild54
-rw-r--r--dev-libs/igraph/igraph-0.10.11.ebuild49
-rw-r--r--dev-libs/igraph/igraph-0.10.12.ebuild49
-rw-r--r--dev-libs/igraph/igraph-0.10.4-r1.ebuild55
-rw-r--r--dev-libs/igraph/igraph-0.7.1-r2.ebuild46
-rw-r--r--dev-libs/igraph/metadata.xml18
-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/iksemel/metadata.xml2
-rw-r--r--dev-libs/ilbc-rfc3951/Manifest1
-rw-r--r--dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch11
-rw-r--r--dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild29
-rw-r--r--dev-libs/ilbc-rfc3951/metadata.xml8
-rw-r--r--dev-libs/imath/Manifest3
-rw-r--r--dev-libs/imath/imath-3.1.11.ebuild81
-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.xml25
-rw-r--r--dev-libs/inih/Manifest2
-rw-r--r--dev-libs/inih/inih-57-r1.ebuild30
-rw-r--r--dev-libs/inih/inih-58.ebuild30
-rw-r--r--dev-libs/inih/metadata.xml16
-rw-r--r--dev-libs/iniparser/files/iniparser-3.0-autotools.patch4
-rw-r--r--dev-libs/iniparser/files/iniparser-3.0b-cpp.patch30
-rw-r--r--dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch11
-rw-r--r--dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch43
-rw-r--r--dev-libs/iniparser/iniparser-3.1-r1.ebuild46
-rw-r--r--dev-libs/iniparser/iniparser-3.1-r3.ebuild50
-rw-r--r--dev-libs/iniparser/iniparser-3.1.ebuild46
-rw-r--r--dev-libs/iniparser/iniparser-4.1-r1.ebuild75
-rw-r--r--dev-libs/iniparser/iniparser-4.1.ebuild76
-rw-r--r--dev-libs/iniparser/metadata.xml6
-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/injeqt-1.2.0.ebuild35
-rw-r--r--dev-libs/injeqt/metadata.xml11
-rw-r--r--dev-libs/input-pad/files/input-pad-Wreturn-type.patch23
-rw-r--r--dev-libs/input-pad/files/input-pad-man.patch23
-rw-r--r--dev-libs/input-pad/input-pad-1.0.99_pre20140916.ebuild19
-rw-r--r--dev-libs/input-pad/metadata.xml2
-rw-r--r--dev-libs/intel-compute-runtime/Manifest2
-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-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-compute-runtime/metadata.xml34
-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-neo/Manifest2
-rw-r--r--dev-libs/intel-neo/files/intel-neo-19.16.12873_cmake_no_libva_automagic.patch14
-rw-r--r--dev-libs/intel-neo/intel-neo-19.16.12873.ebuild56
-rw-r--r--dev-libs/intel-neo/intel-neo-19.22.13062.ebuild58
-rw-r--r--dev-libs/intel-neo/metadata.xml22
-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/Manifest2
-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-no-D.patch16
-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.ebuild56
-rw-r--r--dev-libs/isa-l/isa-l-2.31.0.ebuild57
-rw-r--r--dev-libs/isa-l/metadata.xml21
-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/Manifest12
-rw-r--r--dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch17
-rw-r--r--dev-libs/isl/files/isl-0.19-gdb-autoload-dir.patch17
-rw-r--r--dev-libs/isl/files/isl-0.24-gdb-autoload-dir.patch35
-rw-r--r--dev-libs/isl/files/isl-0.24-respect-flags.patch14
-rw-r--r--dev-libs/isl/isl-0.12.2.ebuild38
-rw-r--r--dev-libs/isl/isl-0.13.ebuild38
-rw-r--r--dev-libs/isl/isl-0.14.1.ebuild39
-rw-r--r--dev-libs/isl/isl-0.14.ebuild39
-rw-r--r--dev-libs/isl/isl-0.15.ebuild39
-rw-r--r--dev-libs/isl/isl-0.16.1.ebuild39
-rw-r--r--dev-libs/isl/isl-0.17.1.ebuild39
-rw-r--r--dev-libs/isl/isl-0.18.ebuild39
-rw-r--r--dev-libs/isl/isl-0.19.ebuild51
-rw-r--r--dev-libs/isl/isl-0.20.ebuild51
-rw-r--r--dev-libs/isl/isl-0.21.ebuild49
-rw-r--r--dev-libs/isl/isl-0.26.ebuild78
-rw-r--r--dev-libs/isl/metadata.xml2
-rw-r--r--dev-libs/ivykis/Manifest3
-rw-r--r--dev-libs/ivykis/files/ivykis-fix-segfault-glibc-2.28.patch29
-rw-r--r--dev-libs/ivykis/ivykis-0.42.2.ebuild12
-rw-r--r--dev-libs/ivykis/ivykis-0.42.3-r1.ebuild35
-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/ivykis/metadata.xml6
-rw-r--r--dev-libs/jansson/Manifest4
-rw-r--r--dev-libs/jansson/files/jansson-2.14-default-symver-test.patch55
-rw-r--r--dev-libs/jansson/files/jansson-2.14-test-symbols.patch25
-rw-r--r--dev-libs/jansson/jansson-2.10.ebuild39
-rw-r--r--dev-libs/jansson/jansson-2.11.ebuild37
-rw-r--r--dev-libs/jansson/jansson-2.12.ebuild37
-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/metadata.xml9
-rw-r--r--dev-libs/jemalloc/Manifest7
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch25
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch27
-rw-r--r--dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch12
-rw-r--r--dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch25
-rw-r--r--dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch35
-rw-r--r--dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch26
-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-3.6.0.ebuild53
-rw-r--r--dev-libs/jemalloc/jemalloc-4.4.0.ebuild54
-rw-r--r--dev-libs/jemalloc/jemalloc-4.5.0.ebuild59
-rw-r--r--dev-libs/jemalloc/jemalloc-5.0.1.ebuild62
-rw-r--r--dev-libs/jemalloc/jemalloc-5.1.0.ebuild61
-rw-r--r--dev-libs/jemalloc/jemalloc-5.2.0.ebuild60
-rw-r--r--dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild57
-rw-r--r--dev-libs/jemalloc/metadata.xml15
-rw-r--r--dev-libs/jerasure/jerasure-2.0.0-r1.ebuild32
-rw-r--r--dev-libs/jerasure/jerasure-2.0.0-r2.ebuild38
-rw-r--r--dev-libs/jerasure/metadata.xml2
-rw-r--r--dev-libs/json-c/Manifest3
-rw-r--r--dev-libs/json-c/json-c-0.12.ebuild40
-rw-r--r--dev-libs/json-c/json-c-0.13.1-r1.ebuild43
-rw-r--r--dev-libs/json-c/json-c-0.17.ebuild46
-rw-r--r--dev-libs/json-c/json-c-9999.ebuild56
-rw-r--r--dev-libs/json-c/metadata.xml26
-rw-r--r--dev-libs/json-glib/Manifest2
-rw-r--r--dev-libs/json-glib/json-glib-1.4.4.ebuild57
-rw-r--r--dev-libs/json-glib/json-glib-1.8.0.ebuild65
-rw-r--r--dev-libs/json-glib/metadata.xml40
-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/Manifest4
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.8.4.ebuild67
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.0.ebuild66
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.1.ebuild66
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild51
-rw-r--r--dev-libs/jsoncpp/metadata.xml3
-rw-r--r--dev-libs/jsonrpc-glib/Manifest2
-rw-r--r--dev-libs/jsonrpc-glib/jsonrpc-glib-3.30.1.ebuild44
-rw-r--r--dev-libs/jsonrpc-glib/jsonrpc-glib-3.44.0.ebuild58
-rw-r--r--dev-libs/jsonrpc-glib/metadata.xml21
-rw-r--r--dev-libs/jthread/jthread-1.3.3-r1.ebuild23
-rw-r--r--dev-libs/jthread/jthread-1.3.3.ebuild26
-rw-r--r--dev-libs/jthread/metadata.xml7
-rw-r--r--dev-libs/judy/judy-1.0.5-r2.ebuild34
-rw-r--r--dev-libs/judy/judy-1.0.5-r4.ebuild27
-rw-r--r--dev-libs/judy/metadata.xml7
-rw-r--r--dev-libs/kasync/Manifest1
-rw-r--r--dev-libs/kasync/kasync-0.2.0.ebuild14
-rw-r--r--dev-libs/kasync/metadata.xml8
-rw-r--r--dev-libs/kdiagram/Manifest3
-rw-r--r--dev-libs/kdiagram/files/kdiagram-2.6.1-fix-horizontal-bars.patch75
-rw-r--r--dev-libs/kdiagram/kdiagram-2.6.1-r1.ebuild34
-rw-r--r--dev-libs/kdiagram/kdiagram-2.8.0.ebuild35
-rw-r--r--dev-libs/kdiagram/kdiagram-3.0.1.ebuild33
-rw-r--r--dev-libs/kdiagram/metadata.xml5
-rw-r--r--dev-libs/keybinder/Manifest1
-rw-r--r--dev-libs/keybinder/keybinder-0.3.1-r201.ebuild50
-rw-r--r--dev-libs/keybinder/keybinder-0.3.2-r300.ebuild23
-rw-r--r--dev-libs/keybinder/metadata.xml2
-rw-r--r--dev-libs/keystone/Manifest2
-rw-r--r--dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch156
-rw-r--r--dev-libs/keystone/keystone-0.9.1.ebuild84
-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-9999.ebuild72
-rw-r--r--dev-libs/keystone/metadata.xml10
-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.2.0.ebuild44
-rw-r--r--dev-libs/kirigami-addons/metadata.xml12
-rw-r--r--dev-libs/klibc/Manifest3
-rw-r--r--dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch13
-rw-r--r--dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch12
-rw-r--r--dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch15
-rw-r--r--dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch88
-rw-r--r--dev-libs/klibc/files/klibc.m494
-rw-r--r--dev-libs/klibc/klibc-2.0.4-r3.ebuild319
-rw-r--r--dev-libs/klibc/metadata.xml5
-rw-r--r--dev-libs/kopeninghours/Manifest2
-rw-r--r--dev-libs/kopeninghours/files/kopeninghours-22.04.0-boostpython.patch79
-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.xml12
-rw-r--r--dev-libs/kosmindoormap/Manifest2
-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.xml15
-rw-r--r--dev-libs/kpathsea/Manifest18
-rw-r--r--dev-libs/kpathsea/files/insecure_tmp_mktexlsr.patch17
-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/files/kpathsea.conf1
-rw-r--r--dev-libs/kpathsea/kpathsea-6.2.2_p20160523.ebuild110
-rw-r--r--dev-libs/kpathsea/kpathsea-6.2.3_p20170524.ebuild110
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.1_p20190410.ebuild106
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild111
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild106
-rw-r--r--dev-libs/kpathsea/metadata.xml7
-rw-r--r--dev-libs/kpeoplevcard/Manifest1
-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/metadata.xml11
-rw-r--r--dev-libs/kproperty/kproperty-3.2.0.ebuild39
-rw-r--r--dev-libs/kproperty/metadata.xml5
-rw-r--r--dev-libs/kpublictransport/Manifest2
-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.xml12
-rw-r--r--dev-libs/kqoauth/kqoauth-0.98-r2.ebuild46
-rw-r--r--dev-libs/kqoauth/kqoauth-0.98-r3.ebuild53
-rw-r--r--dev-libs/kqoauth/metadata.xml8
-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-gcc10.patch120
-rw-r--r--dev-libs/kreport/files/kreport-3.2.0-gcc12.patch26
-rw-r--r--dev-libs/kreport/kreport-3.2.0-r3.ebuild63
-rw-r--r--dev-libs/kreport/kreport-3.2.0.ebuild50
-rw-r--r--dev-libs/kreport/metadata.xml5
-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/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/Manifest5
-rw-r--r--dev-libs/leatherman/files/1.12.2-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.3.0.ebuild51
-rw-r--r--dev-libs/leatherman/leatherman-1.6.0.ebuild58
-rw-r--r--dev-libs/leatherman/leatherman-1.6.1.ebuild58
-rw-r--r--dev-libs/leatherman/metadata.xml5
-rw-r--r--dev-libs/legousbtower/Manifest1
-rw-r--r--dev-libs/legousbtower/files/20-lego.rules1
-rw-r--r--dev-libs/legousbtower/legousbtower-0.5.4-r1.ebuild31
-rw-r--r--dev-libs/legousbtower/metadata.xml8
-rw-r--r--dev-libs/level-zero/Manifest4
-rw-r--r--dev-libs/level-zero/files/level-zero-1.16.14-spdlog-libfmt.patch60
-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-r1.ebuild33
-rw-r--r--dev-libs/level-zero/level-zero-1.16.15.ebuild33
-rw-r--r--dev-libs/level-zero/level-zero-1.17.0.ebuild33
-rw-r--r--dev-libs/level-zero/metadata.xml19
-rw-r--r--dev-libs/leveldb/Manifest5
-rw-r--r--dev-libs/leveldb/files/leveldb-1.18-mips.patch48
-rw-r--r--dev-libs/leveldb/files/leveldb-1.23-remove-benchmark-dep.patch44
-rw-r--r--dev-libs/leveldb/files/leveldb-1.23-system-testdeps.patch24
-rw-r--r--dev-libs/leveldb/files/leveldb-1.9.0-configure.patch35
-rw-r--r--dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch81
-rw-r--r--dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch60
-rw-r--r--dev-libs/leveldb/leveldb-1.15.0-r1.ebuild59
-rw-r--r--dev-libs/leveldb/leveldb-1.15.0.ebuild52
-rw-r--r--dev-libs/leveldb/leveldb-1.17.ebuild68
-rw-r--r--dev-libs/leveldb/leveldb-1.18-r2.ebuild72
-rw-r--r--dev-libs/leveldb/leveldb-1.18.ebuild65
-rw-r--r--dev-libs/leveldb/leveldb-1.20.ebuild11
-rw-r--r--dev-libs/leveldb/leveldb-1.23-r6.ebuild51
-rw-r--r--dev-libs/leveldb/leveldb-1.9.0-r5.ebuild56
-rw-r--r--dev-libs/leveldb/leveldb-1.9.0-r6.ebuild57
-rw-r--r--dev-libs/leveldb/metadata.xml21
-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/libIDL/metadata.xml2
-rw-r--r--dev-libs/libaio/Manifest4
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-install.patch45
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch19
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-x32.patch63
-rw-r--r--dev-libs/libaio/files/libaio-0.3.110-cppflags.patch25
-rw-r--r--dev-libs/libaio/files/libaio-0.3.110-link-stdlib.patch21
-rw-r--r--dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch30
-rw-r--r--dev-libs/libaio/files/libaio-0.3.111-optional-werror.patch30
-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.110.ebuild82
-rw-r--r--dev-libs/libaio/libaio-0.3.111.ebuild87
-rw-r--r--dev-libs/libaio/libaio-0.3.112.ebuild85
-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.ebuild31
-rw-r--r--dev-libs/libaio/metadata.xml5
-rw-r--r--dev-libs/libansilove/Manifest1
-rw-r--r--dev-libs/libansilove/libansilove-1.4.1.ebuild23
-rw-r--r--dev-libs/libansilove/libansilove-9999.ebuild23
-rw-r--r--dev-libs/libansilove/metadata.xml16
-rw-r--r--dev-libs/libappindicator/Manifest2
-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-vala-inherit.patch14
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.0-r201.ebuild88
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.0-r301.ebuild73
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild84
-rw-r--r--dev-libs/libappindicator/metadata.xml2
-rw-r--r--dev-libs/libarcus/Manifest2
-rw-r--r--dev-libs/libarcus/libarcus-3.4.1.ebuild42
-rw-r--r--dev-libs/libarcus/libarcus-3.6.0.ebuild42
-rw-r--r--dev-libs/libarcus/metadata.xml30
-rw-r--r--dev-libs/libassuan/Manifest6
-rw-r--r--dev-libs/libassuan/libassuan-2.4.3-r1.ebuild44
-rw-r--r--dev-libs/libassuan/libassuan-2.5.1-r1.ebuild46
-rw-r--r--dev-libs/libassuan/libassuan-2.5.1.ebuild44
-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.xml14
-rw-r--r--dev-libs/libatasmart/Manifest4
-rw-r--r--dev-libs/libatasmart/libatasmart-0.19-r1.ebuild41
-rw-r--r--dev-libs/libatasmart/libatasmart-0.19-r2.ebuild41
-rw-r--r--dev-libs/libatasmart/libatasmart-0.19_p5.ebuild51
-rw-r--r--dev-libs/libatasmart/metadata.xml2
-rw-r--r--dev-libs/libatomic_ops/Manifest4
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.6.10.ebuild27
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.6.6.ebuild24
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.6.8.ebuild27
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild31
-rw-r--r--dev-libs/libatomic_ops/metadata.xml2
-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_rc4.ebuild24
-rw-r--r--dev-libs/libax25/libax25-0.0.12_rc5.ebuild35
-rw-r--r--dev-libs/libax25/metadata.xml2
-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/Manifest2
-rw-r--r--dev-libs/libb64/libb64-1.2.1.ebuild28
-rw-r--r--dev-libs/libb64/libb64-2.0.0.1.ebuild28
-rw-r--r--dev-libs/libb64/metadata.xml2
-rw-r--r--dev-libs/libbase58/libbase58-0.1.4-r2.ebuild56
-rw-r--r--dev-libs/libbase58/libbase58-0.1.4.ebuild28
-rw-r--r--dev-libs/libbase58/metadata.xml11
-rw-r--r--dev-libs/libbegemot/Manifest1
-rw-r--r--dev-libs/libbegemot/libbegemot-1.11.ebuild29
-rw-r--r--dev-libs/libbegemot/metadata.xml8
-rw-r--r--dev-libs/libbpf/Manifest5
-rw-r--r--dev-libs/libbpf/files/libbpf-0.0.3-paths.patch50
-rw-r--r--dev-libs/libbpf/files/libbpf-9999-paths.patch34
-rw-r--r--dev-libs/libbpf/libbpf-0.0.3.ebuild47
-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.ebuild65
-rw-r--r--dev-libs/libbpf/metadata.xml6
-rw-r--r--dev-libs/libbrahe/Manifest1
-rw-r--r--dev-libs/libbrahe/files/1.1.0-missing_libs.patch7
-rw-r--r--dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild20
-rw-r--r--dev-libs/libbrahe/metadata.xml5
-rw-r--r--dev-libs/libbsd/Manifest7
-rw-r--r--dev-libs/libbsd/files/libbsd-0.8.6-sparc.patch32
-rw-r--r--dev-libs/libbsd/files/libbsd-0.9.1-missing-header.patch43
-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/libbsd-0.8.6.ebuild44
-rw-r--r--dev-libs/libbsd/libbsd-0.8.7.ebuild44
-rw-r--r--dev-libs/libbsd/libbsd-0.9.1.ebuild44
-rw-r--r--dev-libs/libbsd/metadata.xml10
-rw-r--r--dev-libs/libbson/Manifest16
-rw-r--r--dev-libs/libbson/files/libbson-1.13.0-no-uninstall.patch27
-rw-r--r--dev-libs/libbson/libbson-0.98.0.ebuild46
-rw-r--r--dev-libs/libbson/libbson-1.1.10.ebuild46
-rw-r--r--dev-libs/libbson/libbson-1.1.2.ebuild46
-rw-r--r--dev-libs/libbson/libbson-1.10.3.ebuild41
-rw-r--r--dev-libs/libbson/libbson-1.11.0.ebuild41
-rw-r--r--dev-libs/libbson/libbson-1.12.0.ebuild41
-rw-r--r--dev-libs/libbson/libbson-1.13.0.ebuild45
-rw-r--r--dev-libs/libbson/libbson-1.13.1.ebuild42
-rw-r--r--dev-libs/libbson/libbson-1.14.0.ebuild44
-rw-r--r--dev-libs/libbson/libbson-1.18.0.ebuild46
-rw-r--r--dev-libs/libbson/libbson-1.24.4.ebuild49
-rw-r--r--dev-libs/libbson/libbson-1.3.5.ebuild50
-rw-r--r--dev-libs/libbson/libbson-1.3.6.ebuild51
-rw-r--r--dev-libs/libbson/libbson-1.6.2.ebuild53
-rw-r--r--dev-libs/libbson/libbson-1.8.2.ebuild41
-rw-r--r--dev-libs/libbson/libbson-1.9.3.ebuild41
-rw-r--r--dev-libs/libbson/metadata.xml5
-rw-r--r--dev-libs/libbulletml/files/libbulletml-0.0.6-Makefile.patch119
-rw-r--r--dev-libs/libbulletml/libbulletml-0.0.6.ebuild17
-rw-r--r--dev-libs/libbulletml/metadata.xml2
-rw-r--r--dev-libs/libburn/Manifest2
-rw-r--r--dev-libs/libburn/libburn-1.5.0.ebuild41
-rw-r--r--dev-libs/libburn/libburn-1.5.6-r1.ebuild49
-rw-r--r--dev-libs/libburn/metadata.xml6
-rw-r--r--dev-libs/libbytesize/Manifest6
-rw-r--r--dev-libs/libbytesize/files/libbytesize-2.4-no_Werror.patch24
-rw-r--r--dev-libs/libbytesize/libbytesize-1.2-r1.ebuild62
-rw-r--r--dev-libs/libbytesize/libbytesize-1.4.ebuild66
-rw-r--r--dev-libs/libbytesize/libbytesize-2.0-r3.ebuild80
-rw-r--r--dev-libs/libbytesize/libbytesize-2.1.ebuild80
-rw-r--r--dev-libs/libbytesize/libbytesize-2.10.ebuild88
-rw-r--r--dev-libs/libbytesize/libbytesize-2.9.ebuild91
-rw-r--r--dev-libs/libbytesize/metadata.xml9
-rw-r--r--dev-libs/libcaldav/Manifest1
-rw-r--r--dev-libs/libcaldav/libcaldav-0.6.2-r1.ebuild29
-rw-r--r--dev-libs/libcaldav/metadata.xml8
-rw-r--r--dev-libs/libcbor/Manifest2
-rw-r--r--dev-libs/libcbor/libcbor-0.10.2.ebuild69
-rw-r--r--dev-libs/libcbor/libcbor-0.11.0.ebuild70
-rw-r--r--dev-libs/libcbor/metadata.xml11
-rw-r--r--dev-libs/libcdada/Manifest1
-rw-r--r--dev-libs/libcdada/files/libcdada-0.3.4-Werror.patch24
-rw-r--r--dev-libs/libcdada/files/libcdada-0.3.5-respect-CFLAGS.patch23
-rw-r--r--dev-libs/libcdada/libcdada-0.4.0.ebuild53
-rw-r--r--dev-libs/libcdada/metadata.xml10
-rw-r--r--dev-libs/libcdio-paranoia/Manifest5
-rw-r--r--dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch26
-rw-r--r--dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-oos-tests.patch48
-rw-r--r--dev-libs/libcdio-paranoia/files/libcdio-paranoia-2.0.1-pass-NM.patch38
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild64
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild68
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2-r1.ebuild73
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2.ebuild73
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.0.ebuild65
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild72
-rw-r--r--dev-libs/libcdio-paranoia/metadata.xml2
-rw-r--r--dev-libs/libcdio/Manifest4
-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-0.93.ebuild72
-rw-r--r--dev-libs/libcdio/libcdio-0.94-r1.ebuild72
-rw-r--r--dev-libs/libcdio/libcdio-1.1.0.ebuild74
-rw-r--r--dev-libs/libcdio/libcdio-2.0.0-r1.ebuild75
-rw-r--r--dev-libs/libcdio/libcdio-2.0.0.ebuild73
-rw-r--r--dev-libs/libcdio/libcdio-2.1.0-r1.ebuild20
-rw-r--r--dev-libs/libcdio/metadata.xml5
-rw-r--r--dev-libs/libcec/Manifest3
-rw-r--r--dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch25
-rw-r--r--dev-libs/libcec/files/libcec-4.0.7-no-override-udev.patch24
-rw-r--r--dev-libs/libcec/files/libcec-6.0.2-musl-nullptr.patch29
-rw-r--r--dev-libs/libcec/libcec-4.0.2-r2.ebuild83
-rw-r--r--dev-libs/libcec/libcec-4.0.4-r1.ebuild78
-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/metadata.xml10
-rw-r--r--dev-libs/libcgroup/Manifest2
-rw-r--r--dev-libs/libcgroup/files/cgconfig.confd4
-rw-r--r--dev-libs/libcgroup/files/cgconfig.confd-r28
-rw-r--r--dev-libs/libcgroup/files/cgconfig.initd117
-rw-r--r--dev-libs/libcgroup/files/cgconfig.initd-r253
-rw-r--r--dev-libs/libcgroup/files/cgconfig.service17
-rw-r--r--dev-libs/libcgroup/files/cgred.confd17
-rw-r--r--dev-libs/libcgroup/files/cgred.initd41
-rw-r--r--dev-libs/libcgroup/files/cgrules.service16
-rw-r--r--dev-libs/libcgroup/files/libcgroup-0.41-slibtool.patch59
-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-r5.ebuild101
-rw-r--r--dev-libs/libcgroup/libcgroup-0.41-r6.ebuild102
-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.xml8
-rw-r--r--dev-libs/libcharon/Manifest2
-rw-r--r--dev-libs/libcharon/libcharon-3.4.1.ebuild20
-rw-r--r--dev-libs/libcharon/libcharon-3.6.0.ebuild20
-rw-r--r--dev-libs/libcharon/metadata.xml30
-rw-r--r--dev-libs/libclc/Manifest14
-rw-r--r--dev-libs/libclc/libclc-0.2.0_pre20190313.ebuild83
-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.4.ebuild62
-rw-r--r--dev-libs/libclc/libclc-18.1.5.ebuild62
-rw-r--r--dev-libs/libclc/libclc-19.0.0.9999.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240427.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240504.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240509.ebuild61
-rw-r--r--dev-libs/libclc/metadata.xml13
-rw-r--r--dev-libs/libcli/Manifest2
-rw-r--r--dev-libs/libcli/files/libcli-1.9.4-ldflags.patch11
-rw-r--r--dev-libs/libcli/files/libcli-1.9.7-libdir.patch24
-rw-r--r--dev-libs/libcli/files/libcli-1.9.8.4-libdir.patch29
-rw-r--r--dev-libs/libcli/libcli-1.9.7.ebuild37
-rw-r--r--dev-libs/libcli/libcli-1.9.8.4.ebuild45
-rw-r--r--dev-libs/libcli/metadata.xml12
-rw-r--r--dev-libs/libclsync/Manifest1
-rw-r--r--dev-libs/libclsync/libclsync-0.4.2.ebuild74
-rw-r--r--dev-libs/libclsync/metadata.xml19
-rw-r--r--dev-libs/libclthreads/Manifest1
-rw-r--r--dev-libs/libclthreads/files/libclthreads-2.4.2-Makefile.patch33
-rw-r--r--dev-libs/libclthreads/libclthreads-2.4.2.ebuild35
-rw-r--r--dev-libs/libclthreads/metadata.xml8
-rw-r--r--dev-libs/libconfig/Manifest4
-rw-r--r--dev-libs/libconfig/files/libconfig-1.5-out-of-source-build.patch11
-rw-r--r--dev-libs/libconfig/libconfig-1.5.ebuild50
-rw-r--r--dev-libs/libconfig/libconfig-1.7.1.ebuild51
-rw-r--r--dev-libs/libconfig/libconfig-1.7.2.ebuild50
-rw-r--r--dev-libs/libconfig/libconfig-1.7.3.ebuild56
-rw-r--r--dev-libs/libconfig/metadata.xml10
-rw-r--r--dev-libs/libcoyotl/Manifest1
-rw-r--r--dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch32
-rw-r--r--dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch11
-rw-r--r--dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild50
-rw-r--r--dev-libs/libcoyotl/metadata.xml5
-rw-r--r--dev-libs/libcpuid/Manifest2
-rw-r--r--dev-libs/libcpuid/libcpuid-0.6.4.ebuild37
-rw-r--r--dev-libs/libcpuid/libcpuid-0.6.5.ebuild37
-rw-r--r--dev-libs/libcpuid/metadata.xml52
-rw-r--r--dev-libs/libcroco/Manifest1
-rw-r--r--dev-libs/libcroco/files/0.6.12-CVE-2017-7960.patch40
-rw-r--r--dev-libs/libcroco/files/0.6.12-CVE-2017-7961.patch42
-rw-r--r--dev-libs/libcroco/files/libcroco-0.6.13-CVE-2020-12825.patch187
-rw-r--r--dev-libs/libcroco/libcroco-0.6.12-r1.ebuild59
-rw-r--r--dev-libs/libcroco/libcroco-0.6.13-r1.ebuild65
-rw-r--r--dev-libs/libcroco/libcroco-0.6.13.ebuild54
-rw-r--r--dev-libs/libcroco/metadata.xml30
-rw-r--r--dev-libs/libcss/Manifest2
-rw-r--r--dev-libs/libcss/libcss-0.8.0-r1.ebuild49
-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.xml7
-rw-r--r--dev-libs/libcxml/Manifest1
-rw-r--r--dev-libs/libcxml/files/libcxml-0.15.5-respect-cxxflags.patch11
-rw-r--r--dev-libs/libcxml/libcxml-0.15.5.ebuild38
-rw-r--r--dev-libs/libcxml/metadata.xml5
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r1.ebuild57
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r2.ebuild68
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r3.ebuild67
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r4.ebuild64
-rw-r--r--dev-libs/libdaemon/metadata.xml9
-rw-r--r--dev-libs/libdazzle/Manifest2
-rw-r--r--dev-libs/libdazzle/files/3.30.2-leak-fix.patch27
-rw-r--r--dev-libs/libdazzle/libdazzle-3.30.2.ebuild58
-rw-r--r--dev-libs/libdazzle/libdazzle-3.44.0.ebuild61
-rw-r--r--dev-libs/libdazzle/metadata.xml23
-rw-r--r--dev-libs/libdbh/Manifest1
-rw-r--r--dev-libs/libdbh/libdbh-5.0.19.ebuild37
-rw-r--r--dev-libs/libdbh/libdbh-5.0.22.ebuild20
-rw-r--r--dev-libs/libdbh/metadata.xml6
-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.xml11
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r2.ebuild60
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild8
-rw-r--r--dev-libs/libdbusmenu-qt/metadata.xml2
-rw-r--r--dev-libs/libdbusmenu/files/libdbusmenu-16.04.0-werror.patch37
-rw-r--r--dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild152
-rw-r--r--dev-libs/libdbusmenu/libdbusmenu-16.04.0.ebuild152
-rw-r--r--dev-libs/libdbusmenu/metadata.xml9
-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/Manifest3
-rw-r--r--dev-libs/libdispatch/files/libdispatch-5.3.3-musl.patch56
-rw-r--r--dev-libs/libdispatch/files/remove-Werror.patch25
-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.xml8
-rw-r--r--dev-libs/libdivecomputer/Manifest3
-rw-r--r--dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild74
-rw-r--r--dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild74
-rw-r--r--dev-libs/libdivecomputer/libdivecomputer-0.6.0-r1.ebuild42
-rw-r--r--dev-libs/libdivecomputer/libdivecomputer-9999.ebuild64
-rw-r--r--dev-libs/libdivecomputer/metadata.xml12
-rw-r--r--dev-libs/libdivsufsort/libdivsufsort-2.0.1-r1.ebuild35
-rw-r--r--dev-libs/libdivsufsort/libdivsufsort-2.0.1-r2.ebuild39
-rw-r--r--dev-libs/libdivsufsort/libdivsufsort-9999.ebuild36
-rw-r--r--dev-libs/libdivsufsort/metadata.xml2
-rw-r--r--dev-libs/libdnet/Manifest7
-rw-r--r--dev-libs/libdnet/libdnet-1.12-r1.ebuild77
-rw-r--r--dev-libs/libdnet/libdnet-1.12.ebuild70
-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-r1.ebuild98
-rw-r--r--dev-libs/libdnet/libdnet-1.18.0.ebuild93
-rw-r--r--dev-libs/libdnet/metadata.xml2
-rw-r--r--dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch6
-rw-r--r--dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild25
-rw-r--r--dev-libs/libdnsres/libdnsres-0.1a-r3.ebuild37
-rw-r--r--dev-libs/libdnsres/metadata.xml2
-rw-r--r--dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild16
-rw-r--r--dev-libs/libdshconfig/metadata.xml2
-rw-r--r--dev-libs/libdynd/libdynd-0.7.2-r1.ebuild79
-rw-r--r--dev-libs/libdynd/libdynd-0.7.2.ebuild78
-rw-r--r--dev-libs/libdynd/metadata.xml6
-rw-r--r--dev-libs/libe/Manifest3
-rw-r--r--dev-libs/libe/libe-0.10.1.ebuild27
-rw-r--r--dev-libs/libe/libe-0.11.0.ebuild27
-rw-r--r--dev-libs/libe/libe-0.9.0.ebuild27
-rw-r--r--dev-libs/libe/metadata.xml8
-rw-r--r--dev-libs/libebml/Manifest5
-rw-r--r--dev-libs/libebml/libebml-1.3.6.ebuild20
-rw-r--r--dev-libs/libebml/libebml-1.3.7.ebuild20
-rw-r--r--dev-libs/libebml/libebml-1.3.9.ebuild20
-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/libebml/metadata.xml2
-rw-r--r--dev-libs/libedit/Manifest3
-rw-r--r--dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch13
-rw-r--r--dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch20
-rw-r--r--dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch258
-rw-r--r--dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch249
-rw-r--r--dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch10
-rw-r--r--dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch30
-rw-r--r--dev-libs/libedit/files/libedit-ncursesprivate.patch13
-rw-r--r--dev-libs/libedit/libedit-20130712.3.1.ebuild49
-rw-r--r--dev-libs/libedit/libedit-20170329.3.1.ebuild54
-rw-r--r--dev-libs/libedit/libedit-20221030.3.1.ebuild42
-rw-r--r--dev-libs/libedit/metadata.xml8
-rw-r--r--dev-libs/libee/libee-0.4.1.ebuild37
-rw-r--r--dev-libs/libee/metadata.xml10
-rw-r--r--dev-libs/libei/Manifest2
-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.ebuild51
-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.xml7
-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.1.ebuild37
-rw-r--r--dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild46
-rw-r--r--dev-libs/liberasurecode/metadata.xml2
-rw-r--r--dev-libs/libestr/Manifest1
-rw-r--r--dev-libs/libestr/libestr-0.1.10.ebuild40
-rw-r--r--dev-libs/libestr/libestr-0.1.11-r1.ebuild36
-rw-r--r--dev-libs/libestr/libestr-0.1.11.ebuild40
-rw-r--r--dev-libs/libestr/metadata.xml24
-rw-r--r--dev-libs/libev/Manifest4
-rw-r--r--dev-libs/libev/files/libev-pc.patch42
-rw-r--r--dev-libs/libev/libev-4.23.ebuild44
-rw-r--r--dev-libs/libev/libev-4.24.ebuild44
-rw-r--r--dev-libs/libev/libev-4.25.ebuild46
-rw-r--r--dev-libs/libev/libev-4.33.ebuild51
-rw-r--r--dev-libs/libev/metadata.xml2
-rw-r--r--dev-libs/libevdev/Manifest3
-rw-r--r--dev-libs/libevdev/libevdev-1.13.1-r1.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-1.6.0.ebuild48
-rw-r--r--dev-libs/libevdev/libevdev-1.7.0.ebuild48
-rw-r--r--dev-libs/libevdev/libevdev-9999.ebuild38
-rw-r--r--dev-libs/libevdev/metadata.xml13
-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.10.ebuild60
-rw-r--r--dev-libs/libevent/libevent-2.1.12-r1.ebuild90
-rw-r--r--dev-libs/libevent/libevent-2.1.8.ebuild66
-rw-r--r--dev-libs/libevent/libevent-2.1.9999.ebuild63
-rw-r--r--dev-libs/libevent/libevent-2.2.1-r2.ebuild83
-rw-r--r--dev-libs/libevent/libevent-9999.ebuild50
-rw-r--r--dev-libs/libevent/metadata.xml17
-rw-r--r--dev-libs/libevocosm/Manifest1
-rw-r--r--dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch20
-rw-r--r--dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild48
-rw-r--r--dev-libs/libevocosm/metadata.xml5
-rw-r--r--dev-libs/libexecinfo/Manifest1
-rw-r--r--dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch13
-rw-r--r--dev-libs/libexecinfo/libexecinfo-1.1.ebuild26
-rw-r--r--dev-libs/libexecinfo/metadata.xml14
-rw-r--r--dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch21
-rw-r--r--dev-libs/libezV24/files/libezV24-0.1.1-test.patch4
-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/libezV24/libezV24-0.1.1.ebuild39
-rw-r--r--dev-libs/libezV24/metadata.xml2
-rw-r--r--dev-libs/libf2c/Manifest2
-rw-r--r--dev-libs/libf2c/files/20051004-add-ofiles-dep.patch5
-rw-r--r--dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch4
-rw-r--r--dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch13
-rw-r--r--dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch4
-rw-r--r--dev-libs/libf2c/files/libf2c-20110801-format-security.patch4
-rw-r--r--dev-libs/libf2c/files/libf2c-20130927-fix-buildsystem.patch65
-rw-r--r--dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch66
-rw-r--r--dev-libs/libf2c/libf2c-20110801-r4.ebuild57
-rw-r--r--dev-libs/libf2c/libf2c-20130927-r1.ebuild55
-rw-r--r--dev-libs/libf2c/libf2c-20130927.ebuild57
-rw-r--r--dev-libs/libf2c/libf2c-20240130.ebuild54
-rw-r--r--dev-libs/libf2c/metadata.xml5
-rw-r--r--dev-libs/libfastjson/Manifest2
-rw-r--r--dev-libs/libfastjson/libfastjson-0.99.8.ebuild40
-rw-r--r--dev-libs/libfastjson/libfastjson-1.2304.0.ebuild39
-rw-r--r--dev-libs/libfastjson/metadata.xml31
-rw-r--r--dev-libs/libffi-compat/Manifest2
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.1-darwin-x32.patch (renamed from dev-libs/libffi/files/libffi-3.1-darwin-x32.patch)0
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.2.1-complex-ia64.patch (renamed from dev-libs/libffi/files/libffi-3.2.1-complex-ia64.patch)0
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.2.1-complex_alpha.patch (renamed from dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch)0
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.2.1-ia64-small-struct.patch (renamed from dev-libs/libffi/files/libffi-3.2.1-ia64-small-struct.patch)0
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.2.1-include-path-autogen.patch (renamed from dev-libs/libffi/files/libffi-3.2.1-include-path-autogen.patch)0
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.2.1-include-path.patch (renamed from dev-libs/libffi/files/libffi-3.2.1-include-path.patch)0
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.2.1-musl-emutramp.patch31
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.2.1-o-tmpfile-eacces.patch (renamed from dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch)0
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.3-compiler-vendor-quote.patch33
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.3-power7-memcpy-2.patch28
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.3-power7-memcpy.patch42
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.3-power7.patch39
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.3-ppc-int128.patch63
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.3-ppc-vector-offset.patch53
-rw-r--r--dev-libs/libffi-compat/files/libffi-3.3_rc0-ppc-macos-go.patch (renamed from dev-libs/libffi/files/libffi-3.3_rc0-ppc-macos-go.patch)0
-rw-r--r--dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild53
-rw-r--r--dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild71
-rw-r--r--dev-libs/libffi-compat/metadata.xml43
-rw-r--r--dev-libs/libffi/Manifest4
-rw-r--r--dev-libs/libffi/files/libffi-3.3_rc0-hppa-no-TEXTREL.patch93
-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.2.1-r1.ebuild68
-rw-r--r--dev-libs/libffi/libffi-3.2.1-r2.ebuild69
-rw-r--r--dev-libs/libffi/libffi-3.2.1.ebuild58
-rw-r--r--dev-libs/libffi/libffi-3.3_rc0.ebuild66
-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.xml9
-rw-r--r--dev-libs/libfido2/Manifest1
-rw-r--r--dev-libs/libfido2/files/libfido2-1.12.0-cmakelists.patch35
-rw-r--r--dev-libs/libfido2/libfido2-1.13.0.ebuild64
-rw-r--r--dev-libs/libfido2/metadata.xml14
-rw-r--r--dev-libs/libfilezilla/Manifest6
-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.15.1.ebuild29
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.16.0.ebuild29
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.17.1.ebuild32
-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.xml8
-rw-r--r--dev-libs/libflatarray/Manifest2
-rw-r--r--dev-libs/libflatarray/libflatarray-0.3.0.ebuild33
-rw-r--r--dev-libs/libflatarray/libflatarray-0.4.0_pre20201009.ebuild52
-rw-r--r--dev-libs/libflatarray/metadata.xml11
-rw-r--r--dev-libs/libfmt/Manifest11
-rw-r--r--dev-libs/libfmt/libfmt-10.0.0-r1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.0.0.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.1.0-r1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.1.0.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.1.1-r1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.1.1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.2.0-r1.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-r2.ebuild33
-rw-r--r--dev-libs/libfmt/libfmt-10.2.1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-4.1.0.ebuild35
-rw-r--r--dev-libs/libfmt/libfmt-5.1.0.ebuild35
-rw-r--r--dev-libs/libfmt/libfmt-5.2.0.ebuild35
-rw-r--r--dev-libs/libfmt/libfmt-5.2.1.ebuild35
-rw-r--r--dev-libs/libfmt/libfmt-5.3.0.ebuild35
-rw-r--r--dev-libs/libfmt/libfmt-9.1.0-r1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-9.1.0-r2.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-9999.ebuild22
-rw-r--r--dev-libs/libfmt/metadata.xml3
-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-r1.ebuild44
-rw-r--r--dev-libs/libfstrcmp/libfstrcmp-0.7-r3.ebuild49
-rw-r--r--dev-libs/libfstrcmp/metadata.xml2
-rw-r--r--dev-libs/libg15/Manifest1
-rw-r--r--dev-libs/libg15/files/g15tools.patch100
-rw-r--r--dev-libs/libg15/libg15-1.2.7-r1.ebuild31
-rw-r--r--dev-libs/libg15/libg15-3.0.7.ebuild37
-rw-r--r--dev-libs/libg15/libg15-9999.ebuild48
-rw-r--r--dev-libs/libg15/metadata.xml6
-rw-r--r--dev-libs/libg15render/Manifest1
-rw-r--r--dev-libs/libg15render/files/libg15render-1.2-freetype_pkgconfig.patch22
-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/files/libg15render-3.0.4-missing-include.patch11
-rw-r--r--dev-libs/libg15render/libg15render-1.2-r2.ebuild26
-rw-r--r--dev-libs/libg15render/libg15render-3.0.4-r1.ebuild53
-rw-r--r--dev-libs/libg15render/libg15render-3.0.4.ebuild52
-rw-r--r--dev-libs/libg15render/libg15render-9999.ebuild66
-rw-r--r--dev-libs/libg15render/metadata.xml7
-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-disable_python_static_library.patch13
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-musl-pthread.patch33
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r5.ebuild141
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r7.ebuild100
-rw-r--r--dev-libs/libgamin/metadata.xml2
-rw-r--r--dev-libs/libgaminggear/files/libgaminggear-0.15.1-cmake-3.13.patch25
-rw-r--r--dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild45
-rw-r--r--dev-libs/libgaminggear/metadata.xml7
-rw-r--r--dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild11
-rw-r--r--dev-libs/libgcrypt-compat/metadata.xml2
-rw-r--r--dev-libs/libgcrypt/Manifest6
-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-no-fgrep-libgcrypt-config.patch21
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-powerpc-darwin.patch16
-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.3-r1.ebuild76
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.8.3.ebuild75
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.8.4.ebuild76
-rw-r--r--dev-libs/libgcrypt/metadata.xml19
-rw-r--r--dev-libs/libgdata/Manifest4
-rw-r--r--dev-libs/libgdata/files/libgdata-0.17.8-disable-demos.patch60
-rw-r--r--dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch20
-rw-r--r--dev-libs/libgdata/libgdata-0.17.10.ebuild79
-rw-r--r--dev-libs/libgdata/libgdata-0.17.8.ebuild64
-rw-r--r--dev-libs/libgdata/libgdata-0.17.9-r1.ebuild69
-rw-r--r--dev-libs/libgdata/libgdata-0.18.1-r1.ebuild65
-rw-r--r--dev-libs/libgdata/metadata.xml20
-rw-r--r--dev-libs/libgee/Manifest3
-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.1.ebuild29
-rw-r--r--dev-libs/libgee/libgee-0.20.6-r1.ebuild43
-rw-r--r--dev-libs/libgee/libgee-0.6.8.ebuild25
-rw-r--r--dev-libs/libgee/metadata.xml16
-rw-r--r--dev-libs/libgit2-glib/Manifest4
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.26.2.ebuild59
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.26.4.ebuild60
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-0.28.0.1.ebuild60
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild64
-rw-r--r--dev-libs/libgit2-glib/metadata.xml27
-rw-r--r--dev-libs/libgit2/Manifest4
-rw-r--r--dev-libs/libgit2/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch64
-rw-r--r--dev-libs/libgit2/libgit2-0.26.8.ebuild82
-rw-r--r--dev-libs/libgit2/libgit2-0.28.2.ebuild72
-rw-r--r--dev-libs/libgit2/libgit2-1.7.2.ebuild75
-rw-r--r--dev-libs/libgit2/libgit2-1.8.0-r1.ebuild75
-rw-r--r--dev-libs/libgit2/libgit2-9999.ebuild70
-rw-r--r--dev-libs/libgit2/metadata.xml4
-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/Manifest3
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-1.4.3.ebuild29
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild32
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild32
-rw-r--r--dev-libs/libgnome-games-support/metadata.xml13
-rw-r--r--dev-libs/libgnt/Manifest2
-rw-r--r--dev-libs/libgnt/files/libgnt-2.14.0-optional_docs.patch15
-rw-r--r--dev-libs/libgnt/files/libgnt-2.14.0-tinfo.patch18
-rw-r--r--dev-libs/libgnt/libgnt-2.14.2.ebuild40
-rw-r--r--dev-libs/libgnt/libgnt-2.14.3.ebuild45
-rw-r--r--dev-libs/libgnt/metadata.xml8
-rw-r--r--dev-libs/libgpg-error/Manifest10
-rw-r--r--dev-libs/libgpg-error/files/libgpg-error-1.36-gawk5-support.patch158
-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.27-r1.ebuild47
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.29.ebuild47
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.32-r1.ebuild48
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.32.ebuild47
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.36.ebuild54
-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/libgpg-error-1.49.ebuild86
-rw-r--r--dev-libs/libgpg-error/metadata.xml9
-rw-r--r--dev-libs/libgpiod/Manifest5
-rw-r--r--dev-libs/libgpiod/files/libgpiod-2.1-libtool.patch66
-rw-r--r--dev-libs/libgpiod/libgpiod-1.1.1.ebuild30
-rw-r--r--dev-libs/libgpiod/libgpiod-1.6.3-r4.ebuild52
-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.xml6
-rw-r--r--dev-libs/libgpuarray/Manifest2
-rw-r--r--dev-libs/libgpuarray/libgpuarray-0.6.0.ebuild60
-rw-r--r--dev-libs/libgpuarray/libgpuarray-0.6.7.ebuild60
-rw-r--r--dev-libs/libgpuarray/metadata.xml19
-rw-r--r--dev-libs/libgrapheme/Manifest1
-rw-r--r--dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild43
-rw-r--r--dev-libs/libgrapheme/metadata.xml8
-rw-r--r--dev-libs/libgudev/Manifest2
-rw-r--r--dev-libs/libgudev/files/238-clang18-export-dynamic.patch37
-rw-r--r--dev-libs/libgudev/libgudev-232.ebuild47
-rw-r--r--dev-libs/libgudev/libgudev-238-r1.ebuild47
-rw-r--r--dev-libs/libgudev/libgudev-238-r2.ebuild51
-rw-r--r--dev-libs/libgudev/metadata.xml22
-rw-r--r--dev-libs/libgusb/Manifest2
-rw-r--r--dev-libs/libgusb/libgusb-0.2.11.ebuild54
-rw-r--r--dev-libs/libgusb/libgusb-0.4.8.ebuild72
-rw-r--r--dev-libs/libgusb/metadata.xml2
-rw-r--r--dev-libs/libgweather/Manifest6
-rw-r--r--dev-libs/libgweather/files/3.28.3-meson-tweaks.patch107
-rw-r--r--dev-libs/libgweather/files/3.32.1-meson-tweaks.patch109
-rw-r--r--dev-libs/libgweather/libgweather-3.24.1.ebuild54
-rw-r--r--dev-libs/libgweather/libgweather-3.26.2.ebuild54
-rw-r--r--dev-libs/libgweather/libgweather-3.28.3.ebuild67
-rw-r--r--dev-libs/libgweather/libgweather-3.32.1.ebuild68
-rw-r--r--dev-libs/libgweather/libgweather-3.32.2-r1.ebuild68
-rw-r--r--dev-libs/libgweather/libgweather-4.4.2.ebuild88
-rw-r--r--dev-libs/libgweather/metadata.xml16
-rw-r--r--dev-libs/libhid/Manifest2
-rw-r--r--dev-libs/libhid/files/libhid-0.2.16-gentoo.patch21
-rw-r--r--dev-libs/libhid/files/libhid-0.2.16-libusb.patch25
-rw-r--r--dev-libs/libhid/files/libhid-0.2.16-swig.patch45
-rw-r--r--dev-libs/libhid/files/libhid-0.2.17-configure.patch36
-rw-r--r--dev-libs/libhid/files/libhid-0.2.17-man.patch11
-rw-r--r--dev-libs/libhid/libhid-0.2.16-r4.ebuild56
-rw-r--r--dev-libs/libhid/libhid-0.2.17-r1.ebuild62
-rw-r--r--dev-libs/libhid/metadata.xml19
-rw-r--r--dev-libs/libhome/Manifest1
-rw-r--r--dev-libs/libhome/files/libhome-0.10.2-Makefile.patch59
-rw-r--r--dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch12
-rw-r--r--dev-libs/libhome/libhome-0.10.2-r2.ebuild56
-rw-r--r--dev-libs/libhome/metadata.xml8
-rw-r--r--dev-libs/libhtmlparse/Manifest1
-rw-r--r--dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild34
-rw-r--r--dev-libs/libhtmlparse/metadata.xml5
-rw-r--r--dev-libs/libical/Manifest4
-rw-r--r--dev-libs/libical/files/libical-3.0.11-pkgconfig-libdir.patch22
-rw-r--r--dev-libs/libical/files/libical-3.0.4-pkgconfig-libdir.patch24
-rw-r--r--dev-libs/libical/files/libical-3.0.5-fix-lots-of-params.patch24
-rw-r--r--dev-libs/libical/files/libical-3.0.5-pkgconfig-libdir.patch44
-rw-r--r--dev-libs/libical/libical-3.0.17.ebuild117
-rw-r--r--dev-libs/libical/libical-3.0.18.ebuild113
-rw-r--r--dev-libs/libical/libical-3.0.4.ebuild93
-rw-r--r--dev-libs/libical/libical-3.0.5.ebuild95
-rw-r--r--dev-libs/libical/metadata.xml5
-rw-r--r--dev-libs/libiconv/Manifest3
-rw-r--r--dev-libs/libiconv/files/libiconv-1.14-no-gets.patch22
-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/files/libiconv-1.16-fix-link-install.patch12
-rw-r--r--dev-libs/libiconv/libiconv-1.14-r1.ebuild52
-rw-r--r--dev-libs/libiconv/libiconv-1.15.ebuild65
-rw-r--r--dev-libs/libiconv/libiconv-1.17.ebuild52
-rw-r--r--dev-libs/libiconv/metadata.xml27
-rw-r--r--dev-libs/libidmef/Manifest1
-rw-r--r--dev-libs/libidmef/libidmef-1.0.3-r1.ebuild24
-rw-r--r--dev-libs/libidmef/metadata.xml8
-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/libindicate-12.10.1-r3.ebuild75
-rw-r--r--dev-libs/libindicate/libindicate-12.10.1-r4.ebuild71
-rw-r--r--dev-libs/libindicate/metadata.xml7
-rw-r--r--dev-libs/libindicator/files/libindicator-12.10.1-no-werror.patch196
-rw-r--r--dev-libs/libindicator/files/libindicator-12.10.1-nonbash.patch23
-rw-r--r--dev-libs/libindicator/files/libindicator-ldflags-spacing.patch11
-rw-r--r--dev-libs/libindicator/libindicator-12.10.1-r201.ebuild49
-rw-r--r--dev-libs/libindicator/libindicator-12.10.1-r301.ebuild46
-rw-r--r--dev-libs/libindicator/metadata.xml2
-rw-r--r--dev-libs/libinput/Manifest4
-rw-r--r--dev-libs/libinput/libinput-1.12.6.ebuild78
-rw-r--r--dev-libs/libinput/libinput-1.13.2.ebuild78
-rw-r--r--dev-libs/libinput/libinput-1.13.4.ebuild78
-rw-r--r--dev-libs/libinput/libinput-1.25.0.ebuild102
-rw-r--r--dev-libs/libinput/metadata.xml21
-rw-r--r--dev-libs/libintl/Manifest9
-rw-r--r--dev-libs/libintl/files/libintl-0.21.1-java-autoconf.patch100
-rw-r--r--dev-libs/libintl/libintl-0.19.7.ebuild76
-rw-r--r--dev-libs/libintl/libintl-0.19.8.1.ebuild76
-rw-r--r--dev-libs/libintl/libintl-0.20.1.ebuild80
-rw-r--r--dev-libs/libintl/libintl-0.21.1.ebuild96
-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/libintl/metadata.xml2
-rw-r--r--dev-libs/libisoburn/Manifest2
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.0.ebuild66
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild83
-rw-r--r--dev-libs/libisoburn/metadata.xml2
-rw-r--r--dev-libs/libisofs/Manifest2
-rw-r--r--dev-libs/libisofs/libisofs-1.5.0.ebuild45
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild59
-rw-r--r--dev-libs/libisofs/metadata.xml2
-rw-r--r--dev-libs/libite/Manifest2
-rw-r--r--dev-libs/libite/files/libite-2.0.0-fix-path.patch12
-rw-r--r--dev-libs/libite/files/libite-2.0.0-fix-which-path.patch25
-rw-r--r--dev-libs/libite/libite-2.0.0.ebuild28
-rw-r--r--dev-libs/libite/libite-2.6.1.ebuild19
-rw-r--r--dev-libs/libite/metadata.xml6
-rw-r--r--dev-libs/libixion/Manifest3
-rw-r--r--dev-libs/libixion/libixion-0.13.0.ebuild54
-rw-r--r--dev-libs/libixion/libixion-0.14.1.ebuild53
-rw-r--r--dev-libs/libixion/libixion-0.19.0.ebuild57
-rw-r--r--dev-libs/libixion/libixion-9999.ebuild38
-rw-r--r--dev-libs/libixion/metadata.xml2
-rw-r--r--dev-libs/libjcat/Manifest2
-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.2.1.ebuild82
-rw-r--r--dev-libs/libjcat/metadata.xml24
-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/libkpass/metadata.xml2
-rw-r--r--dev-libs/libksba/Manifest5
-rw-r--r--dev-libs/libksba/files/libksba-1.6.0-no-fgrep-ksba-config.patch21
-rw-r--r--dev-libs/libksba/libksba-1.3.5-r1.ebuild28
-rw-r--r--dev-libs/libksba/libksba-1.3.5-r2.ebuild30
-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.xml10
-rw-r--r--dev-libs/liblazy/Manifest1
-rw-r--r--dev-libs/liblazy/liblazy-0.2-r1.ebuild26
-rw-r--r--dev-libs/liblazy/metadata.xml5
-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/Manifest5
-rw-r--r--dev-libs/liblinear/liblinear-210-r1.ebuild64
-rw-r--r--dev-libs/liblinear/liblinear-221.ebuild65
-rw-r--r--dev-libs/liblinear/liblinear-230.ebuild65
-rw-r--r--dev-libs/liblinear/liblinear-243.ebuild59
-rw-r--r--dev-libs/liblinear/liblinear-246.ebuild61
-rw-r--r--dev-libs/liblinear/metadata.xml16
-rw-r--r--dev-libs/liblist/Manifest1
-rw-r--r--dev-libs/liblist/liblist-2.4.ebuild52
-rw-r--r--dev-libs/liblist/metadata.xml9
-rw-r--r--dev-libs/liblogging/Manifest1
-rw-r--r--dev-libs/liblogging/liblogging-1.0.5.ebuild35
-rw-r--r--dev-libs/liblogging/liblogging-1.0.6-r1.ebuild42
-rw-r--r--dev-libs/liblogging/liblogging-1.0.6.ebuild20
-rw-r--r--dev-libs/liblogging/metadata.xml7
-rw-r--r--dev-libs/liblognorm/Manifest1
-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.5.ebuild72
-rw-r--r--dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild77
-rw-r--r--dev-libs/liblognorm/liblognorm-2.0.6.ebuild72
-rw-r--r--dev-libs/liblognorm/metadata.xml11
-rw-r--r--dev-libs/liblouis/Manifest3
-rw-r--r--dev-libs/liblouis/liblouis-2.5.3.ebuild64
-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/liblouis/metadata.xml2
-rw-r--r--dev-libs/libltdl/Manifest4
-rw-r--r--dev-libs/libltdl/libltdl-1.3.5.ebuild42
-rw-r--r--dev-libs/libltdl/libltdl-1.5.26.ebuild38
-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/libltdl/metadata.xml5
-rw-r--r--dev-libs/liblzw/Manifest1
-rw-r--r--dev-libs/liblzw/liblzw-0.2-r1.ebuild10
-rw-r--r--dev-libs/liblzw/liblzw-0.3.ebuild22
-rw-r--r--dev-libs/liblzw/metadata.xml7
-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.ebuild15
-rw-r--r--dev-libs/libmaa/libmaa-1.4.7.ebuild92
-rw-r--r--dev-libs/libmaa/metadata.xml3
-rw-r--r--dev-libs/libmacaroons/Manifest3
-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.2.0-r1.ebuild40
-rw-r--r--dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild42
-rw-r--r--dev-libs/libmacaroons/libmacaroons-0.3.0.ebuild40
-rw-r--r--dev-libs/libmacaroons/metadata.xml19
-rw-r--r--dev-libs/libmail/Manifest1
-rw-r--r--dev-libs/libmail/files/libmail-0.3-respect-cflags.patch37
-rw-r--r--dev-libs/libmail/libmail-0.3-r3.ebuild53
-rw-r--r--dev-libs/libmail/metadata.xml11
-rw-r--r--dev-libs/libmanette/Manifest1
-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.22.0-r1.ebuild43
-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.xml16
-rw-r--r--dev-libs/libmaxminddb/Manifest4
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-1.3.2.ebuild25
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-1.5.2.ebuild30
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-1.6.0.ebuild46
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild46
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-9999.ebuild46
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-99999.ebuild31
-rw-r--r--dev-libs/libmaxminddb/metadata.xml2
-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-r3.ebuild40
-rw-r--r--dev-libs/libmba/libmba-0.9.1-r5.ebuild47
-rw-r--r--dev-libs/libmba/metadata.xml2
-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-autoconf-2.70.patch16
-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.ebuild32
-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/libmcrypt/metadata.xml7
-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/libmelf/metadata.xml2
-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/files/continuum-1.0.18.patch24
-rw-r--r--dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch4
-rw-r--r--dev-libs/libmemcached/files/libmemcached-1.0.18-autotools.patch61
-rw-r--r--dev-libs/libmemcached/files/libmemcached-1.0.18-disable-sphinx.patch13
-rw-r--r--dev-libs/libmemcached/files/libmemcached-1.0.18-musl.patch65
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18-r3.ebuild55
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild59
-rw-r--r--dev-libs/libmemcached/metadata.xml2
-rw-r--r--dev-libs/libmirage/Manifest2
-rw-r--r--dev-libs/libmirage/libmirage-3.2.2.ebuild51
-rw-r--r--dev-libs/libmirage/libmirage-3.2.7.ebuild50
-rw-r--r--dev-libs/libmirage/metadata.xml3
-rw-r--r--dev-libs/libmix/libmix-2.05-r7.ebuild25
-rw-r--r--dev-libs/libmix/metadata.xml7
-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.4.ebuild33
-rw-r--r--dev-libs/libmodbus/metadata.xml11
-rw-r--r--dev-libs/libmoe/files/libmoe-1.5.8-gentoo.patch9
-rw-r--r--dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch23
-rw-r--r--dev-libs/libmoe/files/libmoe-gcc-5.patch (renamed from dev-libs/libmoe/files/libmoe-1.5.8-gcc5.patch)0
-rw-r--r--dev-libs/libmoe/files/libmoe-gentoo.patch39
-rw-r--r--dev-libs/libmoe/libmoe-1.5.8-r3.ebuild36
-rw-r--r--dev-libs/libmoe/metadata.xml10
-rw-r--r--dev-libs/libmongo-client/Manifest2
-rw-r--r--dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild38
-rw-r--r--dev-libs/libmongo-client/libmongo-client-0.1.8.ebuild41
-rw-r--r--dev-libs/libmongo-client/metadata.xml18
-rw-r--r--dev-libs/libmowgli/Manifest1
-rw-r--r--dev-libs/libmowgli/files/libmowgli-2.1.3-cacheline-Ensure-sysconf-var-is-defined-before-use.patch25
-rw-r--r--dev-libs/libmowgli/files/libmowgli-2.1.3-use-host-tools-for-ar-and-ranlib.patch15
-rw-r--r--dev-libs/libmowgli/libmowgli-1.0.0-r1.ebuild15
-rw-r--r--dev-libs/libmowgli/libmowgli-2.1.3-r3.ebuild41
-rw-r--r--dev-libs/libmowgli/libmowgli-2.1.3.ebuild28
-rw-r--r--dev-libs/libmowgli/libmowgli-9999.ebuild9
-rw-r--r--dev-libs/libmowgli/metadata.xml6
-rw-r--r--dev-libs/libmpack/Manifest1
-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/metadata.xml11
-rw-r--r--dev-libs/libmspack/Manifest3
-rw-r--r--dev-libs/libmspack/files/libmspack-0.9.1_alpha-fix-bigendian.patch17
-rw-r--r--dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild67
-rw-r--r--dev-libs/libmspack/libmspack-0.11_alpha.ebuild67
-rw-r--r--dev-libs/libmspack/libmspack-0.9.1_alpha-r1.ebuild75
-rw-r--r--dev-libs/libmspack/libmspack-9999.ebuild58
-rw-r--r--dev-libs/libmspack/metadata.xml5
-rw-r--r--dev-libs/libnatspec/Manifest1
-rw-r--r--dev-libs/libnatspec/files/libnatspec-0.3.0-bashisms.patch20
-rw-r--r--dev-libs/libnatspec/files/libnatspec-0.3.0-doxygen.patch29
-rw-r--r--dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild44
-rw-r--r--dev-libs/libnatspec/libnatspec-0.3.0.ebuild45
-rw-r--r--dev-libs/libnatspec/metadata.xml2
-rw-r--r--dev-libs/libnfc/Manifest4
-rw-r--r--dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch13
-rw-r--r--dev-libs/libnfc/libnfc-1.4.2.ebuild30
-rw-r--r--dev-libs/libnfc/libnfc-1.5.1-r1.ebuild51
-rw-r--r--dev-libs/libnfc/libnfc-1.7.1.ebuild43
-rw-r--r--dev-libs/libnfc/libnfc-1.8.0-r1.ebuild49
-rw-r--r--dev-libs/libnfc/metadata.xml15
-rw-r--r--dev-libs/libnl/Manifest5
-rw-r--r--dev-libs/libnl/files/libnl-1.1-flags.patch11
-rw-r--r--dev-libs/libnl/files/libnl-1.1-vlan-header.patch80
-rw-r--r--dev-libs/libnl/files/libnl-1.1.3-offsetof.patch12
-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/libnl-1.1.4-r1.ebuild57
-rw-r--r--dev-libs/libnl/libnl-1.1.4.ebuild53
-rw-r--r--dev-libs/libnl/libnl-3.4.0.ebuild104
-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.ebuild100
-rw-r--r--dev-libs/libnl/metadata.xml3
-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/Manifest2
-rw-r--r--dev-libs/libnsfb/libnsfb-0.2.0-r1.ebuild50
-rw-r--r--dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild50
-rw-r--r--dev-libs/libnsfb/metadata.xml2
-rw-r--r--dev-libs/libnsutils/Manifest2
-rw-r--r--dev-libs/libnsutils/libnsutils-0.0.5-r1.ebuild31
-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.xml7
-rw-r--r--dev-libs/libntru/Manifest1
-rw-r--r--dev-libs/libntru/libntru-0.4.1-r1.ebuild64
-rw-r--r--dev-libs/libntru/metadata.xml8
-rw-r--r--dev-libs/libofx/Manifest2
-rw-r--r--dev-libs/libofx/libofx-0.10.9.ebuild50
-rw-r--r--dev-libs/libofx/libofx-0.9.10.ebuild49
-rw-r--r--dev-libs/libofx/metadata.xml3
-rw-r--r--dev-libs/liboil/files/liboil-0.3.17-c99-configure.patch21
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r2.ebuild54
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r5.ebuild73
-rw-r--r--dev-libs/liboil/metadata.xml2
-rw-r--r--dev-libs/liboobs/Manifest1
-rw-r--r--dev-libs/liboobs/liboobs-3.0.0.ebuild33
-rw-r--r--dev-libs/liboobs/metadata.xml14
-rw-r--r--dev-libs/liborcus/Manifest3
-rw-r--r--dev-libs/liborcus/files/liborcus-0.13.4-boost-1.67.patch50
-rw-r--r--dev-libs/liborcus/liborcus-0.13.4.ebuild59
-rw-r--r--dev-libs/liborcus/liborcus-0.14.1.ebuild57
-rw-r--r--dev-libs/liborcus/liborcus-0.19.2.ebuild62
-rw-r--r--dev-libs/liborcus/liborcus-9999.ebuild46
-rw-r--r--dev-libs/liborcus/metadata.xml2
-rw-r--r--dev-libs/libotf/Manifest1
-rw-r--r--dev-libs/libotf/libotf-0.9.13.ebuild44
-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/libotf/metadata.xml2
-rw-r--r--dev-libs/libowfat/Manifest2
-rw-r--r--dev-libs/libowfat/files/libowfat-0.32-ar.patch66
-rw-r--r--dev-libs/libowfat/files/libowfat-0.32-gcc10.patch25
-rw-r--r--dev-libs/libowfat/libowfat-0.31-r1.ebuild46
-rw-r--r--dev-libs/libowfat/libowfat-0.32-r1.ebuild23
-rw-r--r--dev-libs/libowfat/libowfat-0.32-r5.ebuild67
-rw-r--r--dev-libs/libowfat/libowfat-0.33-r1.ebuild55
-rw-r--r--dev-libs/libowfat/metadata.xml13
-rw-r--r--dev-libs/libp11/Manifest2
-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.ebuild32
-rw-r--r--dev-libs/libp11/libp11-0.4.12-r7.ebuild56
-rw-r--r--dev-libs/libp11/metadata.xml8
-rw-r--r--dev-libs/libparserutils/Manifest4
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.3.ebuild25
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.4-r1.ebuild43
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.5.ebuild44
-rw-r--r--dev-libs/libparserutils/metadata.xml7
-rw-r--r--dev-libs/libpcre-debian/libpcre-debian-8-r1.ebuild24
-rw-r--r--dev-libs/libpcre-debian/libpcre-debian-8-r3.ebuild24
-rw-r--r--dev-libs/libpcre-debian/metadata.xml2
-rw-r--r--dev-libs/libpcre/Manifest4
-rw-r--r--dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch15
-rw-r--r--dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch18
-rw-r--r--dev-libs/libpcre/libpcre-8.41-r1.ebuild100
-rw-r--r--dev-libs/libpcre/libpcre-8.42.ebuild96
-rw-r--r--dev-libs/libpcre/libpcre-8.43.ebuild96
-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/metadata.xml55
-rw-r--r--dev-libs/libpcre2/Manifest6
-rw-r--r--dev-libs/libpcre2/files/libpcre2-10.10-000-Fix-multilib.patch37
-rw-r--r--dev-libs/libpcre2/files/libpcre2-10.43-fix-loong-sljit.patch30
-rw-r--r--dev-libs/libpcre2/libpcre2-10.32.ebuild79
-rw-r--r--dev-libs/libpcre2/libpcre2-10.33.ebuild79
-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.xml49
-rw-r--r--dev-libs/libpeas/Manifest2
-rw-r--r--dev-libs/libpeas/files/1.26.0-lua.patch89
-rw-r--r--dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch18
-rw-r--r--dev-libs/libpeas/libpeas-1.22.0.ebuild85
-rw-r--r--dev-libs/libpeas/libpeas-1.36.0.ebuild99
-rw-r--r--dev-libs/libpeas/metadata.xml22
-rw-r--r--dev-libs/libpfm/Manifest6
-rw-r--r--dev-libs/libpfm/libpfm-4.10.1.ebuild38
-rw-r--r--dev-libs/libpfm/libpfm-4.11.0.ebuild40
-rw-r--r--dev-libs/libpfm/libpfm-4.12.0.ebuild40
-rw-r--r--dev-libs/libpfm/libpfm-4.4.0.ebuild36
-rw-r--r--dev-libs/libpfm/libpfm-4.6.0.ebuild36
-rw-r--r--dev-libs/libpfm/libpfm-4.8.0.ebuild36
-rw-r--r--dev-libs/libpfm/metadata.xml6
-rw-r--r--dev-libs/libphonenumber/Manifest1
-rw-r--r--dev-libs/libphonenumber/files/libphonenumber-8.12.37-cmake.patch54
-rw-r--r--dev-libs/libphonenumber/files/libphonenumber-8.12.37-testing.patch110
-rw-r--r--dev-libs/libphonenumber/libphonenumber-8.12.39.ebuild48
-rw-r--r--dev-libs/libphonenumber/metadata.xml12
-rw-r--r--dev-libs/libpipeline/Manifest4
-rw-r--r--dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-cygwin-sys_select.patch22
-rw-r--r--dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-darwin-program_name.patch28
-rw-r--r--dev-libs/libpipeline/libpipeline-1.4.2.ebuild23
-rw-r--r--dev-libs/libpipeline/libpipeline-1.5.0.ebuild32
-rw-r--r--dev-libs/libpipeline/libpipeline-1.5.1.ebuild25
-rw-r--r--dev-libs/libpipeline/libpipeline-1.5.7.ebuild23
-rw-r--r--dev-libs/libpipeline/metadata.xml13
-rw-r--r--dev-libs/libplatform/Manifest1
-rw-r--r--dev-libs/libplatform/files/libplatform-2.0.1-arch-specific-libdirs.patch31
-rw-r--r--dev-libs/libplatform/libplatform-2.0.1.ebuild22
-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-2.1.0.1.ebuild20
-rw-r--r--dev-libs/libplatform/libplatform-9999.ebuild8
-rw-r--r--dev-libs/libplatform/metadata.xml7
-rw-r--r--dev-libs/libpo6/Manifest3
-rw-r--r--dev-libs/libpo6/libpo6-0.6.0.ebuild17
-rw-r--r--dev-libs/libpo6/libpo6-0.7.0.ebuild17
-rw-r--r--dev-libs/libpo6/libpo6-0.8.0.ebuild17
-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/Manifest3
-rw-r--r--dev-libs/libpqxx/libpqxx-6.0.0.ebuild86
-rw-r--r--dev-libs/libpqxx/libpqxx-6.4.5.ebuild86
-rw-r--r--dev-libs/libpqxx/libpqxx-7.7.5.ebuild80
-rw-r--r--dev-libs/libpqxx/metadata.xml26
-rw-r--r--dev-libs/libprelude/Manifest4
-rw-r--r--dev-libs/libprelude/files/libprelude-3.0.0-perl-hardening.patch14
-rw-r--r--dev-libs/libprelude/files/libprelude-3.0.0-ruby-configure.patch14
-rw-r--r--dev-libs/libprelude/files/libprelude-3.0.0-ruby-m4.patch20
-rw-r--r--dev-libs/libprelude/files/libprelude-4.0.0-fix-python-bindings.patch38
-rw-r--r--dev-libs/libprelude/libprelude-3.0.0.ebuild84
-rw-r--r--dev-libs/libprelude/libprelude-3.1.0-r1.ebuild77
-rw-r--r--dev-libs/libprelude/libprelude-4.0.0.ebuild92
-rw-r--r--dev-libs/libprelude/libprelude-4.1.0.ebuild92
-rw-r--r--dev-libs/libprelude/metadata.xml20
-rw-r--r--dev-libs/libpreludedb/Manifest4
-rw-r--r--dev-libs/libpreludedb/files/libpreludedb-4.0.0-fix-python-bindings.patch39
-rw-r--r--dev-libs/libpreludedb/libpreludedb-3.0.0.ebuild74
-rw-r--r--dev-libs/libpreludedb/libpreludedb-3.1.0.ebuild72
-rw-r--r--dev-libs/libpreludedb/libpreludedb-4.0.0.ebuild89
-rw-r--r--dev-libs/libpreludedb/libpreludedb-4.1.0.ebuild89
-rw-r--r--dev-libs/libpreludedb/metadata.xml19
-rw-r--r--dev-libs/libproccpuinfo/Manifest1
-rw-r--r--dev-libs/libproccpuinfo/libproccpuinfo-0.0.8-r1.ebuild30
-rw-r--r--dev-libs/libproccpuinfo/metadata.xml5
-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.xml13
-rw-r--r--dev-libs/libptytty/Manifest1
-rw-r--r--dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch15
-rw-r--r--dev-libs/libptytty/files/libptytty-2.0-rundir.patch10
-rw-r--r--dev-libs/libptytty/libptytty-2.0-r1.ebuild34
-rw-r--r--dev-libs/libptytty/metadata.xml8
-rw-r--r--dev-libs/libpwquality/Manifest2
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.0.ebuild77
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild75
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild90
-rw-r--r--dev-libs/libpwquality/metadata.xml13
-rw-r--r--dev-libs/libpy/Manifest2
-rw-r--r--dev-libs/libpy/files/libpy-0.2.5-cflags.patch24
-rw-r--r--dev-libs/libpy/files/libpy-0.2.5-no-werror.patch13
-rw-r--r--dev-libs/libpy/files/libpy-0.2.5-permissions.patch13
-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-r3.ebuild61
-rw-r--r--dev-libs/libpy/metadata.xml14
-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/Manifest3
-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.3.1.ebuild50
-rw-r--r--dev-libs/libqtxdg/metadata.xml6
-rw-r--r--dev-libs/libratbag/Manifest4
-rw-r--r--dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch69
-rw-r--r--dev-libs/libratbag/files/ratbagd.init13
-rw-r--r--dev-libs/libratbag/libratbag-0.15.ebuild101
-rw-r--r--dev-libs/libratbag/libratbag-0.16.ebuild105
-rw-r--r--dev-libs/libratbag/libratbag-0.17-r1.ebuild108
-rw-r--r--dev-libs/libratbag/libratbag-0.9.ebuild39
-rw-r--r--dev-libs/libratbag/libratbag-9999.ebuild108
-rw-r--r--dev-libs/libratbag/metadata.xml11
-rw-r--r--dev-libs/librdkafka/Manifest6
-rw-r--r--dev-libs/librdkafka/files/librdkafka-1.0.0-remove-automagic-on-zstd.patch29
-rw-r--r--dev-libs/librdkafka/files/librdkafka-1.1.0-remove-automagic-on-zstd.patch29
-rw-r--r--dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch285
-rw-r--r--dev-libs/librdkafka/librdkafka-0.11.5.ebuild71
-rw-r--r--dev-libs/librdkafka/librdkafka-0.11.6.ebuild71
-rw-r--r--dev-libs/librdkafka/librdkafka-1.0.0-r1.ebuild75
-rw-r--r--dev-libs/librdkafka/librdkafka-1.0.1.ebuild78
-rw-r--r--dev-libs/librdkafka/librdkafka-1.1.0.ebuild78
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild111
-rw-r--r--dev-libs/librdkafka/metadata.xml11
-rw-r--r--dev-libs/librelp/Manifest5
-rw-r--r--dev-libs/librelp/files/librelp-1.3.0-dummyclient.py-Py3-compatibility.patch24
-rw-r--r--dev-libs/librelp/librelp-1.10.0-r1.ebuild72
-rw-r--r--dev-libs/librelp/librelp-1.11.0.ebuild72
-rw-r--r--dev-libs/librelp/librelp-1.2.18.ebuild66
-rw-r--r--dev-libs/librelp/librelp-1.3.0.ebuild76
-rw-r--r--dev-libs/librelp/librelp-1.4.0.ebuild74
-rw-r--r--dev-libs/librelp/metadata.xml12
-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.6.ebuild78
-rw-r--r--dev-libs/librep/metadata.xml8
-rw-r--r--dev-libs/libreport/Manifest3
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch80
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-gentoo.patch295
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch51
-rw-r--r--dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch35
-rw-r--r--dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch19
-rw-r--r--dev-libs/libreport/libreport-2.0.13-r1.ebuild94
-rw-r--r--dev-libs/libreport/libreport-2.10.0.ebuild89
-rw-r--r--dev-libs/libreport/libreport-2.9.5.ebuild89
-rw-r--r--dev-libs/libreport/metadata.xml8
-rw-r--r--dev-libs/libressl/Manifest4
-rw-r--r--dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch62
-rw-r--r--dev-libs/libressl/files/libressl-2.8.3-solaris10.patch69
-rw-r--r--dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch32
-rw-r--r--dev-libs/libressl/libressl-2.6.5.ebuild56
-rw-r--r--dev-libs/libressl/libressl-2.8.3.ebuild56
-rw-r--r--dev-libs/libressl/libressl-2.9.1.ebuild62
-rw-r--r--dev-libs/libressl/libressl-2.9.2.ebuild63
-rw-r--r--dev-libs/libressl/metadata.xml30
-rw-r--r--dev-libs/libretls/Manifest1
-rw-r--r--dev-libs/libretls/libretls-3.8.1.ebuild27
-rw-r--r--dev-libs/libretls/metadata.xml8
-rw-r--r--dev-libs/librevenge/Manifest2
-rw-r--r--dev-libs/librevenge/librevenge-0.0.4-r1.ebuild51
-rw-r--r--dev-libs/librevenge/librevenge-0.0.5.ebuild46
-rw-r--r--dev-libs/librevenge/librevenge-9999.ebuild41
-rw-r--r--dev-libs/librevenge/metadata.xml2
-rw-r--r--dev-libs/libsass/Manifest4
-rw-r--r--dev-libs/libsass/libsass-3.5.5.ebuild54
-rw-r--r--dev-libs/libsass/libsass-3.6.0.ebuild54
-rw-r--r--dev-libs/libsass/libsass-3.6.5-r1.ebuild47
-rw-r--r--dev-libs/libsass/libsass-3.6.6.ebuild47
-rw-r--r--dev-libs/libsass/libsass-9999.ebuild37
-rw-r--r--dev-libs/libsass/metadata.xml7
-rw-r--r--dev-libs/libsavitar/Manifest2
-rw-r--r--dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch119
-rw-r--r--dev-libs/libsavitar/libsavitar-3.4.1.ebuild42
-rw-r--r--dev-libs/libsavitar/libsavitar-3.6.0.ebuild42
-rw-r--r--dev-libs/libsavitar/metadata.xml30
-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/Manifest11
-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.0.0_pre20151118.ebuild61
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20161213.ebuild69
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.1_pre20170928.ebuild70
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.1_pre20190401.ebuild73
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild73
-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/libsecp256k1-0.5.0.ebuild65
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-9999.ebuild66
-rw-r--r--dev-libs/libsecp256k1/metadata.xml12
-rw-r--r--dev-libs/libserdes/Manifest1
-rw-r--r--dev-libs/libserdes/libserdes-5.4.0-r1.ebuild17
-rw-r--r--dev-libs/libserdes/metadata.xml11
-rw-r--r--dev-libs/libserialport/files/libserialport-0.1.1-kernel-termiox.patch32
-rw-r--r--dev-libs/libserialport/libserialport-0.1.1-r1.ebuild46
-rw-r--r--dev-libs/libserialport/libserialport-0.1.1.ebuild39
-rw-r--r--dev-libs/libserialport/libserialport-9999.ebuild18
-rw-r--r--dev-libs/libserialport/metadata.xml2
-rw-r--r--dev-libs/libsigc++/Manifest4
-rw-r--r--dev-libs/libsigc++/files/libsigc++-1.2.7-fix-install.patch11
-rw-r--r--dev-libs/libsigc++/libsigc++-1.2.7.ebuild42
-rw-r--r--dev-libs/libsigc++/libsigc++-2.10.1.ebuild54
-rw-r--r--dev-libs/libsigc++/libsigc++-2.12.0.ebuild37
-rw-r--r--dev-libs/libsigc++/libsigc++-3.6.0.ebuild40
-rw-r--r--dev-libs/libsigc++/metadata.xml16
-rw-r--r--dev-libs/libsigsegv/Manifest4
-rw-r--r--dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch79
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.11.ebuild31
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.12-r1.ebuild38
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.12.ebuild31
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.13.ebuild34
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild40
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14.ebuild36
-rw-r--r--dev-libs/libsigsegv/metadata.xml2
-rw-r--r--dev-libs/libslz/Manifest2
-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/metadata.xml4
-rw-r--r--dev-libs/libsodium/Manifest11
-rw-r--r--dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch4
-rw-r--r--dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch40
-rw-r--r--dev-libs/libsodium/libsodium-1.0.11-r1.ebuild43
-rw-r--r--dev-libs/libsodium/libsodium-1.0.15-r1.ebuild45
-rw-r--r--dev-libs/libsodium/libsodium-1.0.16-r2.ebuild50
-rw-r--r--dev-libs/libsodium/libsodium-1.0.17.ebuild49
-rw-r--r--dev-libs/libsodium/libsodium-1.0.18.ebuild49
-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.xml8
-rw-r--r--dev-libs/libspnav/Manifest3
-rw-r--r--dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch75
-rw-r--r--dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch27
-rw-r--r--dev-libs/libspnav/files/libspnav-1.0-no-xorg-compile.patch45
-rw-r--r--dev-libs/libspnav/libspnav-0.2.2.ebuild47
-rw-r--r--dev-libs/libspnav/libspnav-0.2.3-r1.ebuild52
-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.xml3
-rw-r--r--dev-libs/libspt/files/libspt-glibc-2.30.patch12
-rw-r--r--dev-libs/libspt/libspt-1.1-r2.ebuild38
-rw-r--r--dev-libs/libspt/libspt-1.1-r3.ebuild46
-rw-r--r--dev-libs/libspt/libspt-1.1-r4.ebuild23
-rw-r--r--dev-libs/libspt/metadata.xml13
-rw-r--r--dev-libs/libsqlora8/Manifest1
-rw-r--r--dev-libs/libsqlora8/libsqlora8-2.3.3-r1.ebuild55
-rw-r--r--dev-libs/libsqlora8/metadata.xml12
-rw-r--r--dev-libs/libstrl/Manifest1
-rw-r--r--dev-libs/libstrl/libstrl-0.5.1-r1.ebuild32
-rw-r--r--dev-libs/libstrl/libstrl-0.5.1.ebuild30
-rw-r--r--dev-libs/libstrl/metadata.xml7
-rw-r--r--dev-libs/libstroke/files/libstroke-0.5.1-clang16.patch7
-rw-r--r--dev-libs/libstroke/libstroke-0.5.1-r2.ebuild38
-rw-r--r--dev-libs/libstroke/libstroke-0.5.1.ebuild33
-rw-r--r--dev-libs/libstroke/metadata.xml7
-rw-r--r--dev-libs/libstrophe/Manifest6
-rw-r--r--dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch59
-rw-r--r--dev-libs/libstrophe/files/libstrophe-0.9.2-libressl.patch20
-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.ebuild46
-rw-r--r--dev-libs/libstrophe/metadata.xml10
-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/libtar/metadata.xml2
-rw-r--r--dev-libs/libtasn1/Manifest3
-rw-r--r--dev-libs/libtasn1/libtasn1-4.13.ebuild50
-rw-r--r--dev-libs/libtasn1/libtasn1-4.19.0.ebuild54
-rw-r--r--dev-libs/libtasn1/metadata.xml16
-rw-r--r--dev-libs/libtecla/Manifest2
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch20
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-install.patch5
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-ldflags.patch27
-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-parallel_build2.patch36
-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.1-r2.ebuild44
-rw-r--r--dev-libs/libtecla/libtecla-1.6.2.ebuild44
-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/libtecla/metadata.xml2
-rw-r--r--dev-libs/libtermkey/Manifest2
-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.19.ebuild38
-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/libtermkey/metadata.xml2
-rw-r--r--dev-libs/libthreadar/Manifest1
-rw-r--r--dev-libs/libthreadar/libthreadar-1.4.0.ebuild32
-rw-r--r--dev-libs/libthreadar/metadata.xml15
-rw-r--r--dev-libs/libtimezonemap/Manifest1
-rw-r--r--dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild35
-rw-r--r--dev-libs/libtimezonemap/metadata.xml15
-rw-r--r--dev-libs/libtomcrypt/Manifest1
-rw-r--r--dev-libs/libtomcrypt/files/libtomcrypt-1.18.2-slibtool.patch117
-rw-r--r--dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild124
-rw-r--r--dev-libs/libtomcrypt/metadata.xml19
-rw-r--r--dev-libs/libtomfloat/libtomfloat-0.02-r1.ebuild34
-rw-r--r--dev-libs/libtomfloat/libtomfloat-0.02.ebuild33
-rw-r--r--dev-libs/libtomfloat/metadata.xml2
-rw-r--r--dev-libs/libtommath/Manifest4
-rw-r--r--dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch47
-rw-r--r--dev-libs/libtommath/files/libtommath-1.2.0-sparc.patch22
-rw-r--r--dev-libs/libtommath/libtommath-0.42.0-r1.ebuild65
-rw-r--r--dev-libs/libtommath/libtommath-1.0.1.ebuild72
-rw-r--r--dev-libs/libtommath/libtommath-1.1.0.ebuild73
-rw-r--r--dev-libs/libtommath/libtommath-1.2.1.ebuild96
-rw-r--r--dev-libs/libtommath/metadata.xml112
-rw-r--r--dev-libs/libtompoly/files/libtompoly-0.04-Fix-Wimplicit-function-declaration.patch127
-rw-r--r--dev-libs/libtompoly/libtompoly-0.04-r2.ebuild37
-rw-r--r--dev-libs/libtompoly/libtompoly-0.04.ebuild32
-rw-r--r--dev-libs/libtompoly/metadata.xml9
-rw-r--r--dev-libs/libtpms/Manifest1
-rw-r--r--dev-libs/libtpms/files/libtpms-0.9.0-Remove-WError.patch13
-rw-r--r--dev-libs/libtpms/files/libtpms-0.9.5-slibtool.patch52
-rw-r--r--dev-libs/libtpms/libtpms-0.9.6.ebuild48
-rw-r--r--dev-libs/libtpms/metadata.xml19
-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/libtrain/Manifest1
-rw-r--r--dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch29
-rw-r--r--dev-libs/libtrain/libtrain-0.9b.ebuild24
-rw-r--r--dev-libs/libtrain/metadata.xml5
-rw-r--r--dev-libs/libtreadstone/Manifest2
-rw-r--r--dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild18
-rw-r--r--dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild18
-rw-r--r--dev-libs/libtreadstone/metadata.xml8
-rw-r--r--dev-libs/libtsm/Manifest2
-rw-r--r--dev-libs/libtsm/files/libtsm-clang16-static_assert-fix.patch10
-rw-r--r--dev-libs/libtsm/files/libtsm-cmake.patch15
-rw-r--r--dev-libs/libtsm/libtsm-3.ebuild13
-rw-r--r--dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild22
-rw-r--r--dev-libs/libtsm/metadata.xml5
-rw-r--r--dev-libs/libtubo/Manifest1
-rw-r--r--dev-libs/libtubo/libtubo-5.0.15.ebuild31
-rw-r--r--dev-libs/libtubo/metadata.xml8
-rw-r--r--dev-libs/libucl/Manifest4
-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.7.3.ebuild45
-rw-r--r--dev-libs/libucl/libucl-0.8.1-r100.ebuild75
-rw-r--r--dev-libs/libucl/libucl-0.9.0.ebuild74
-rw-r--r--dev-libs/libucl/libucl-0.9.2.ebuild70
-rw-r--r--dev-libs/libucl/libucl-9999.ebuild70
-rw-r--r--dev-libs/libucl/metadata.xml16
-rw-r--r--dev-libs/libudfread/Manifest1
-rw-r--r--dev-libs/libudfread/libudfread-1.1.2.ebuild37
-rw-r--r--dev-libs/libudfread/libudfread-9999.ebuild37
-rw-r--r--dev-libs/libudfread/metadata.xml8
-rw-r--r--dev-libs/libuev/Manifest6
-rw-r--r--dev-libs/libuev/files/libuev-fix-tests.patch9
-rw-r--r--dev-libs/libuev/files/libuev-large-files-fix.patch9
-rw-r--r--dev-libs/libuev/libuev-2.1.0.ebuild23
-rw-r--r--dev-libs/libuev/libuev-2.1.2.ebuild23
-rw-r--r--dev-libs/libuev/libuev-2.2.0.ebuild24
-rw-r--r--dev-libs/libuev/libuev-2.3.2-r1.ebuild37
-rw-r--r--dev-libs/libuev/libuev-2.4.0.ebuild24
-rw-r--r--dev-libs/libuev/libuev-2.4.1.ebuild24
-rw-r--r--dev-libs/libuev/metadata.xml6
-rw-r--r--dev-libs/libugpio/Manifest2
-rw-r--r--dev-libs/libugpio/libugpio-0.0.6.ebuild30
-rw-r--r--dev-libs/libugpio/libugpio-0.0.7-r1.ebuild30
-rw-r--r--dev-libs/libugpio/metadata.xml8
-rw-r--r--dev-libs/libunibreak/Manifest6
-rw-r--r--dev-libs/libunibreak/libunibreak-4.0.ebuild56
-rw-r--r--dev-libs/libunibreak/libunibreak-4.1.ebuild55
-rw-r--r--dev-libs/libunibreak/libunibreak-5.1.ebuild67
-rw-r--r--dev-libs/libunibreak/metadata.xml6
-rw-r--r--dev-libs/libunicode/Manifest1
-rw-r--r--dev-libs/libunicode/libunicode-0.4-r2.ebuild35
-rw-r--r--dev-libs/libunicode/metadata.xml5
-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/libuninum/metadata.xml8
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r2.ebuild64
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r3.ebuild65
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r1.ebuild10
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r2.ebuild46
-rw-r--r--dev-libs/libunique/metadata.xml2
-rw-r--r--dev-libs/libunistring/Manifest5
-rw-r--r--dev-libs/libunistring/files/libunistring-test.patch15
-rw-r--r--dev-libs/libunistring/libunistring-0.9.10-r1.ebuild42
-rw-r--r--dev-libs/libunistring/libunistring-0.9.10.ebuild44
-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.xml36
-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-r2.ebuild49
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild53
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild57
-rw-r--r--dev-libs/libusb-compat/metadata.xml11
-rw-r--r--dev-libs/libusb/Manifest5
-rw-r--r--dev-libs/libusb/libusb-1.0.19-r1.ebuild67
-rw-r--r--dev-libs/libusb/libusb-1.0.21.ebuild67
-rw-r--r--dev-libs/libusb/libusb-1.0.22.ebuild66
-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.xml9
-rw-r--r--dev-libs/libusbhp/libusbhp-1.0.2-r1.ebuild27
-rw-r--r--dev-libs/libusbhp/libusbhp-1.0.2.ebuild28
-rw-r--r--dev-libs/libusbhp/metadata.xml2
-rw-r--r--dev-libs/libutf8proc/Manifest4
-rw-r--r--dev-libs/libutf8proc/files/libutf8proc-2.3.0-no-static.patch21
-rw-r--r--dev-libs/libutf8proc/files/libutf8proc-2.3.0-tests-nofetch.patch33
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.2.0_p1-r1.ebuild34
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.4.0.ebuild53
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild57
-rw-r--r--dev-libs/libutf8proc/metadata.xml10
-rw-r--r--dev-libs/libuv/Manifest6
-rw-r--r--dev-libs/libuv/files/libuv-1.41.0-darwin.patch45
-rw-r--r--dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch21
-rw-r--r--dev-libs/libuv/libuv-1.28.0.ebuild47
-rw-r--r--dev-libs/libuv/libuv-1.29.1.ebuild47
-rw-r--r--dev-libs/libuv/libuv-1.30.0.ebuild47
-rw-r--r--dev-libs/libuv/libuv-1.30.1.ebuild47
-rw-r--r--dev-libs/libuv/libuv-1.48.0.ebuild62
-rw-r--r--dev-libs/libuv/libuv-9999.ebuild57
-rw-r--r--dev-libs/libuv/metadata.xml6
-rw-r--r--dev-libs/libvarlink/Manifest3
-rw-r--r--dev-libs/libvarlink/libvarlink-16.ebuild29
-rw-r--r--dev-libs/libvarlink/libvarlink-22.ebuild17
-rw-r--r--dev-libs/libvarlink/libvarlink-23.ebuild17
-rw-r--r--dev-libs/libvarlink/metadata.xml2
-rw-r--r--dev-libs/libverto/Manifest3
-rw-r--r--dev-libs/libverto/files/libverto-0.3.2-non-bash.patch117
-rw-r--r--dev-libs/libverto/files/libverto-Wflags.patch25
-rw-r--r--dev-libs/libverto/files/libverto-libev-c89.patch15
-rw-r--r--dev-libs/libverto/files/libverto-load.patch78
-rw-r--r--dev-libs/libverto/files/libverto-verify-cflags.patch26
-rw-r--r--dev-libs/libverto/libverto-0.2.5-r1.ebuild51
-rw-r--r--dev-libs/libverto/libverto-0.3.0.ebuild60
-rw-r--r--dev-libs/libverto/libverto-0.3.2.ebuild49
-rw-r--r--dev-libs/libverto/metadata.xml6
-rw-r--r--dev-libs/libvformat/files/libvformat-nodoc.patch4
-rw-r--r--dev-libs/libvformat/libvformat-1.13-r2.ebuild22
-rw-r--r--dev-libs/libvformat/metadata.xml2
-rw-r--r--dev-libs/libvoikko/Manifest2
-rw-r--r--dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch30
-rw-r--r--dev-libs/libvoikko/libvoikko-4.3.2.ebuild57
-rw-r--r--dev-libs/libvoikko/metadata.xml12
-rw-r--r--dev-libs/libvolume_id/Manifest1
-rw-r--r--dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild34
-rw-r--r--dev-libs/libvolume_id/metadata.xml11
-rw-r--r--dev-libs/libvterm-neovim/Manifest2
-rw-r--r--dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild30
-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/Manifest8
-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_pre20160305.ebuild34
-rw-r--r--dev-libs/libvterm/libvterm-0.0_pre20171004.ebuild34
-rw-r--r--dev-libs/libvterm/libvterm-0.0_pre20181126.ebuild34
-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.xml13
-rw-r--r--dev-libs/libwacom/Manifest6
-rw-r--r--dev-libs/libwacom/libwacom-0.30.ebuild51
-rw-r--r--dev-libs/libwacom/libwacom-2.10.0.ebuild68
-rw-r--r--dev-libs/libwacom/libwacom-2.11.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.xml4
-rw-r--r--dev-libs/libwapcaplet/Manifest2
-rw-r--r--dev-libs/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch12
-rw-r--r--dev-libs/libwapcaplet/libwapcaplet-0.4.1-r1.ebuild42
-rw-r--r--dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild39
-rw-r--r--dev-libs/libwapcaplet/metadata.xml7
-rw-r--r--dev-libs/libwbxml/Manifest2
-rw-r--r--dev-libs/libwbxml/libwbxml-0.11.2.ebuild34
-rw-r--r--dev-libs/libwbxml/libwbxml-0.11.8.ebuild33
-rw-r--r--dev-libs/libwbxml/metadata.xml8
-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.xml7
-rw-r--r--dev-libs/libx86emu/Manifest1
-rw-r--r--dev-libs/libx86emu/files/libx86emu-1.1-fix-makefile.patch82
-rw-r--r--dev-libs/libx86emu/files/libx86emu-1.1-gcc10-fno-common.patch13
-rw-r--r--dev-libs/libx86emu/libx86emu-1.1-r1.ebuild28
-rw-r--r--dev-libs/libx86emu/libx86emu-1.1.ebuild38
-rw-r--r--dev-libs/libx86emu/libx86emu-3.5-r1.ebuild33
-rw-r--r--dev-libs/libx86emu/metadata.xml7
-rw-r--r--dev-libs/libxdg-basedir/Manifest2
-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.ebuild50
-rw-r--r--dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild47
-rw-r--r--dev-libs/libxdg-basedir/metadata.xml17
-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/libxdiff/metadata.xml2
-rw-r--r--dev-libs/libxls/Manifest2
-rw-r--r--dev-libs/libxls/files/libxls-1.4.0-infinite.patch16
-rw-r--r--dev-libs/libxls/files/libxls-1.6.2-gcc13.patch25
-rw-r--r--dev-libs/libxls/libxls-1.4.0-r1.ebuild39
-rw-r--r--dev-libs/libxls/libxls-1.6.2-r1.ebuild33
-rw-r--r--dev-libs/libxls/metadata.xml8
-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/Manifest7
-rw-r--r--dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch71
-rw-r--r--dev-libs/libxml2/files/libxml2-2.7.1-catalog_path.patch66
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.2-python-ABIFLAG.patch16
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch40
-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.9-r1.ebuild219
-rw-r--r--dev-libs/libxml2/libxml2-2.9.9.ebuild213
-rw-r--r--dev-libs/libxml2/libxml2-9999.ebuild196
-rw-r--r--dev-libs/libxml2/metadata.xml11
-rw-r--r--dev-libs/libxmlb/Manifest6
-rw-r--r--dev-libs/libxmlb/files/libxmlb-0.3.12-no_installed_tests.patch33
-rw-r--r--dev-libs/libxmlb/libxmlb-0.1.10.ebuild42
-rw-r--r--dev-libs/libxmlb/libxmlb-0.1.11.ebuild42
-rw-r--r--dev-libs/libxmlb/libxmlb-0.1.8.ebuild42
-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.19.ebuild75
-rw-r--r--dev-libs/libxmlb/metadata.xml22
-rw-r--r--dev-libs/libxslt/Manifest3
-rw-r--r--dev-libs/libxslt/files/1.1.32-simplify-python.patch250
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch33
-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.33-r1.ebuild125
-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.xml14
-rw-r--r--dev-libs/libyaml/Manifest3
-rw-r--r--dev-libs/libyaml/files/libyaml-0.1.7-mingw-no-undefined.patch32
-rw-r--r--dev-libs/libyaml/libyaml-0.1.7-r1.ebuild48
-rw-r--r--dev-libs/libyaml/libyaml-0.1.7.ebuild47
-rw-r--r--dev-libs/libyaml/libyaml-0.2.1.ebuild43
-rw-r--r--dev-libs/libyaml/libyaml-0.2.2.ebuild9
-rw-r--r--dev-libs/libyaml/libyaml-0.2.5.ebuild45
-rw-r--r--dev-libs/libyaml/metadata.xml13
-rw-r--r--dev-libs/libzia/Manifest6
-rw-r--r--dev-libs/libzia/files/libzia-4.14-ldadd.patch18
-rw-r--r--dev-libs/libzia/libzia-4.14.ebuild41
-rw-r--r--dev-libs/libzia/libzia-4.15.ebuild38
-rw-r--r--dev-libs/libzia/libzia-4.16.ebuild38
-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/libzia/metadata.xml6
-rw-r--r--dev-libs/libzip/Manifest3
-rw-r--r--dev-libs/libzip/files/libzip-1.5.1-bzip2.patch53
-rw-r--r--dev-libs/libzip/files/libzip-1.5.1-options.patch50
-rw-r--r--dev-libs/libzip/files/libzip-1.5.2-mbedtls.patch23
-rw-r--r--dev-libs/libzip/libzip-1.5.1.ebuild89
-rw-r--r--dev-libs/libzip/libzip-1.5.2-r1.ebuild105
-rw-r--r--dev-libs/libzip/libzip-1.9.2.ebuild116
-rw-r--r--dev-libs/libzip/metadata.xml25
-rw-r--r--dev-libs/light/Manifest2
-rw-r--r--dev-libs/light/files/light-1.2.2-fcommon.patch22
-rw-r--r--dev-libs/light/light-1.2-r1.ebuild30
-rw-r--r--dev-libs/light/light-1.2.2-r2.ebuild45
-rw-r--r--dev-libs/light/metadata.xml7
-rw-r--r--dev-libs/link-grammar/Manifest3
-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.3.9-out-of-source-build.patch61
-rw-r--r--dev-libs/link-grammar/link-grammar-5.12.3.ebuild118
-rw-r--r--dev-libs/link-grammar/link-grammar-5.12.4.ebuild113
-rw-r--r--dev-libs/link-grammar/link-grammar-5.3.11.ebuild164
-rw-r--r--dev-libs/link-grammar/metadata.xml40
-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/files/lockdev-1.0.3-add-autotools.patch13
-rw-r--r--dev-libs/lockdev/files/lockdev-1.0.3-major-minor.patch24
-rw-r--r--dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild99
-rw-r--r--dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild103
-rw-r--r--dev-libs/lockdev/lockdev-1.0.3.1.2-r4.ebuild97
-rw-r--r--dev-libs/lockdev/metadata.xml2
-rw-r--r--dev-libs/locked_sstream/Manifest1
-rw-r--r--dev-libs/locked_sstream/locked_sstream-0.0.5.ebuild29
-rw-r--r--dev-libs/locked_sstream/metadata.xml8
-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.ebuild71
-rw-r--r--dev-libs/log4cplus/log4cplus-2.0.7.ebuild36
-rw-r--r--dev-libs/log4cplus/metadata.xml10
-rw-r--r--dev-libs/log4cpp/Manifest3
-rw-r--r--dev-libs/log4cpp/files/1.0-gcc43.patch27
-rw-r--r--dev-libs/log4cpp/files/log4cpp-1.1-glibc-2.31.patch22
-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.4.ebuild59
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.ebuild59
-rw-r--r--dev-libs/log4cpp/metadata.xml2
-rw-r--r--dev-libs/log4cxx/Manifest4
-rw-r--r--dev-libs/log4cxx/files/log4cxx-0.10.0-fix-c++14.patch100
-rw-r--r--dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch12
-rw-r--r--dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch37
-rw-r--r--dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch75
-rw-r--r--dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild63
-rw-r--r--dev-libs/log4cxx/log4cxx-0.11.0.ebuild58
-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.xml13
-rw-r--r--dev-libs/log4sh/log4sh-1.4.2.ebuild17
-rw-r--r--dev-libs/log4sh/metadata.xml7
-rw-r--r--dev-libs/log4shib/Manifest1
-rw-r--r--dev-libs/log4shib/log4shib-1.0.4-r1.ebuild22
-rw-r--r--dev-libs/log4shib/metadata.xml9
-rw-r--r--dev-libs/ltxml/Manifest1
-rw-r--r--dev-libs/ltxml/ltxml-1.2.9.ebuild44
-rw-r--r--dev-libs/ltxml/metadata.xml8
-rw-r--r--dev-libs/luise-bin/luise-bin-0.1.1.ebuild42
-rw-r--r--dev-libs/luise-bin/metadata.xml5
-rw-r--r--dev-libs/luise/Manifest (renamed from dev-libs/luise-bin/Manifest)0
-rw-r--r--dev-libs/luise/luise-0.1.1-r2.ebuild36
-rw-r--r--dev-libs/luise/metadata.xml21
-rw-r--r--dev-libs/lzo/lzo-2.10.ebuild14
-rw-r--r--dev-libs/lzo/metadata.xml5
-rw-r--r--dev-libs/m17n-lib/Manifest1
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-freetype.patch8
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.7.0.ebuild84
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild10
-rw-r--r--dev-libs/m17n-lib/metadata.xml2
-rw-r--r--dev-libs/maloc/files/1.4-asneeded.patch17
-rw-r--r--dev-libs/maloc/files/1.4-doc.patch21
-rw-r--r--dev-libs/maloc/files/1.4-mpi.patch24
-rw-r--r--dev-libs/maloc/files/maloc-1.4-asneeded.patch15
-rw-r--r--dev-libs/maloc/files/maloc-1.4-doc.patch19
-rw-r--r--dev-libs/maloc/files/maloc-1.4-mpi.patch22
-rw-r--r--dev-libs/maloc/maloc-1.5-r1.ebuild61
-rw-r--r--dev-libs/maloc/metadata.xml2
-rw-r--r--dev-libs/mapm/Manifest1
-rw-r--r--dev-libs/mapm/files/4.9.5-missing_include.patch12
-rw-r--r--dev-libs/mapm/mapm-4.9.5-r1.ebuild43
-rw-r--r--dev-libs/mapm/metadata.xml5
-rw-r--r--dev-libs/marisa/Manifest2
-rw-r--r--dev-libs/marisa/files/marisa-0.2.4-python.patch15
-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-riscv_word_size.patch11
-rw-r--r--dev-libs/marisa/files/marisa-0.2.6-sparc64_word_size.patch16
-rw-r--r--dev-libs/marisa/marisa-0.2.4.ebuild86
-rw-r--r--dev-libs/marisa/marisa-0.2.6.ebuild125
-rw-r--r--dev-libs/marisa/marisa-9999.ebuild119
-rw-r--r--dev-libs/marisa/metadata.xml6
-rw-r--r--dev-libs/mathjax/Manifest6
-rw-r--r--dev-libs/mathjax/mathjax-2.7.0.ebuild58
-rw-r--r--dev-libs/mathjax/mathjax-2.7.4.ebuild58
-rw-r--r--dev-libs/mathjax/mathjax-2.7.7-r1.ebuild93
-rw-r--r--dev-libs/mathjax/mathjax-2.7.7.ebuild63
-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.xml16
-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/mdsplib/Manifest1
-rw-r--r--dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch46
-rw-r--r--dev-libs/mdsplib/mdsplib-0.11.ebuild32
-rw-r--r--dev-libs/mdsplib/metadata.xml5
-rw-r--r--dev-libs/metadata.xml3
-rw-r--r--dev-libs/metee/Manifest1
-rw-r--r--dev-libs/metee/metadata.xml19
-rw-r--r--dev-libs/metee/metee-3.2.4.ebuild37
-rw-r--r--dev-libs/mimalloc/Manifest2
-rw-r--r--dev-libs/mimalloc/metadata.xml18
-rw-r--r--dev-libs/mimalloc/mimalloc-2.1.2.ebuild35
-rw-r--r--dev-libs/mimalloc/mimalloc-2.1.4.ebuild37
-rw-r--r--dev-libs/mimetic/files/mimetic-0.9.8-build-mmap.patch22
-rw-r--r--dev-libs/mimetic/files/mimetic-0.9.8-uint-musl.patch36
-rw-r--r--dev-libs/mimetic/files/signed-char.patch31
-rw-r--r--dev-libs/mimetic/metadata.xml12
-rw-r--r--dev-libs/mimetic/mimetic-0.9.8.ebuild23
-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/Manifest3
-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/metadata.xml21
-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/mm/metadata.xml2
-rw-r--r--dev-libs/mm/mm-1.4.2-r2.ebuild6
-rw-r--r--dev-libs/mmtf-cpp/Manifest1
-rw-r--r--dev-libs/mmtf-cpp/metadata.xml2
-rw-r--r--dev-libs/mmtf-cpp/mmtf-cpp-1.0.0-r1.ebuild19
-rw-r--r--dev-libs/mmtf-cpp/mmtf-cpp-1.0.0.ebuild19
-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/Manifest17
-rw-r--r--dev-libs/mongo-c-driver/files/0.8.1-api-version.diff14
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.10.3-enable-tests.patch25
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.11.0-enable-tests.patch25
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.12.0-libressl.patch15
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-enable-tests.patch25
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-no-uninstall.patch27
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.1-drop-failing-test.patch17
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.14.0-enable-tests.patch25
-rw-r--r--dev-libs/mongo-c-driver/files/mongo-c-driver-1.16.2-enable-tests.patch35
-rw-r--r--dev-libs/mongo-c-driver/metadata.xml2
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild59
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild53
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild70
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.1.10.ebuild74
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild74
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.10.3.ebuild86
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.11.0.ebuild87
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.12.0.ebuild88
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.13.0-r1.ebuild91
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.13.1.ebuild92
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.14.0.ebuild93
-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.24.4.ebuild96
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.3.5.ebuild79
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.6.2.ebuild81
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.8.2.ebuild84
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.9.3.ebuild84
-rw-r--r--dev-libs/mongo-cxx-driver/Manifest4
-rw-r--r--dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch34
-rw-r--r--dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.0-fix-scons.patch54
-rw-r--r--dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-next.patch21
-rw-r--r--dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-ref.patch15
-rw-r--r--dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch34
-rw-r--r--dev-libs/mongo-cxx-driver/metadata.xml11
-rw-r--r--dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild89
-rw-r--r--dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild72
-rw-r--r--dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.5.ebuild72
-rw-r--r--dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.1.2-r1.ebuild72
-rw-r--r--dev-libs/mpc/Manifest3
-rw-r--r--dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch129
-rw-r--r--dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch25
-rw-r--r--dev-libs/mpc/metadata.xml2
-rw-r--r--dev-libs/mpc/mpc-1.0.3-r2.ebuild39
-rw-r--r--dev-libs/mpc/mpc-1.0.3.ebuild33
-rw-r--r--dev-libs/mpc/mpc-1.1.0-r1.ebuild28
-rw-r--r--dev-libs/mpc/mpc-1.3.1.ebuild37
-rw-r--r--dev-libs/mpdecimal/Manifest2
-rw-r--r--dev-libs/mpdecimal/metadata.xml8
-rw-r--r--dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild63
-rw-r--r--dev-libs/mpfr/Manifest13
-rw-r--r--dev-libs/mpfr/files/mpfr-3.1.4-cygwin.patch39
-rw-r--r--dev-libs/mpfr/metadata.xml13
-rw-r--r--dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild50
-rw-r--r--dev-libs/mpfr/mpfr-3.1.3_p4.ebuild62
-rw-r--r--dev-libs/mpfr/mpfr-3.1.4.ebuild55
-rw-r--r--dev-libs/mpfr/mpfr-3.1.5_p2.ebuild55
-rw-r--r--dev-libs/mpfr/mpfr-3.1.6.ebuild54
-rw-r--r--dev-libs/mpfr/mpfr-4.0.0-r1.ebuild60
-rw-r--r--dev-libs/mpfr/mpfr-4.0.1.ebuild60
-rw-r--r--dev-libs/mpfr/mpfr-4.0.2.ebuild60
-rw-r--r--dev-libs/mpfr/mpfr-4.2.1.ebuild98
-rw-r--r--dev-libs/mps/Manifest4
-rw-r--r--dev-libs/mps/metadata.xml8
-rw-r--r--dev-libs/mps/mps-1.106.2.ebuild37
-rw-r--r--dev-libs/mps/mps-1.110.0.ebuild27
-rw-r--r--dev-libs/mps/mps-1.111.0.ebuild31
-rw-r--r--dev-libs/mps/mps-1.114.0.ebuild31
-rw-r--r--dev-libs/msgpack/Manifest5
-rw-r--r--dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch25
-rw-r--r--dev-libs/msgpack/files/msgpack-1.0.0-static.patch40
-rw-r--r--dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch22
-rw-r--r--dev-libs/msgpack/metadata.xml5
-rw-r--r--dev-libs/msgpack/msgpack-1.1.0.ebuild46
-rw-r--r--dev-libs/msgpack/msgpack-3.1.1.ebuild74
-rw-r--r--dev-libs/msgpack/msgpack-3.2.0.ebuild74
-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/Manifest4
-rw-r--r--dev-libs/mxml/metadata.xml8
-rw-r--r--dev-libs/mxml/mxml-2.12.ebuild60
-rw-r--r--dev-libs/mxml/mxml-3.0.ebuild62
-rw-r--r--dev-libs/mxml/mxml-3.3.1-r1.ebuild63
-rw-r--r--dev-libs/mxml/mxml-4.0.3.ebuild61
-rw-r--r--dev-libs/nanomsg/Manifest2
-rw-r--r--dev-libs/nanomsg/metadata.xml11
-rw-r--r--dev-libs/nanomsg/nanomsg-1.1.4.ebuild36
-rw-r--r--dev-libs/nanomsg/nanomsg-1.1.5-r1.ebuild36
-rw-r--r--dev-libs/nanomsg/nanomsg-1.1.5.ebuild36
-rw-r--r--dev-libs/nanomsg/nanomsg-1.2.1.ebuild36
-rw-r--r--dev-libs/ncnn/Manifest1
-rw-r--r--dev-libs/ncnn/metadata.xml14
-rw-r--r--dev-libs/ncnn/ncnn-20240410.ebuild68
-rw-r--r--dev-libs/nettle/Manifest8
-rw-r--r--dev-libs/nettle/files/nettle-3.4.1-build.patch53
-rw-r--r--dev-libs/nettle/metadata.xml10
-rw-r--r--dev-libs/nettle/nettle-3.4.1.ebuild66
-rw-r--r--dev-libs/nettle/nettle-3.5.1.ebuild61
-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.14-tcl.patch108
-rw-r--r--dev-libs/newt/files/newt-0.52.15-makefile.patch13
-rw-r--r--dev-libs/newt/files/newt-0.52.21-python-sitedir.patch18
-rw-r--r--dev-libs/newt/files/newt-0.52.23-gold.patch13
-rw-r--r--dev-libs/newt/metadata.xml5
-rw-r--r--dev-libs/newt/newt-0.52.20.ebuild92
-rw-r--r--dev-libs/newt/newt-0.52.21.ebuild91
-rw-r--r--dev-libs/newt/newt-0.52.24.ebuild102
-rw-r--r--dev-libs/nmeap/metadata.xml10
-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/nmeap/nmeap-0.3.ebuild58
-rw-r--r--dev-libs/npth/Manifest4
-rw-r--r--dev-libs/npth/files/npth-1.7-musl.patch16
-rw-r--r--dev-libs/npth/metadata.xml10
-rw-r--r--dev-libs/npth/npth-1.3.ebuild24
-rw-r--r--dev-libs/npth/npth-1.4.ebuild24
-rw-r--r--dev-libs/npth/npth-1.5.ebuild29
-rw-r--r--dev-libs/npth/npth-1.6-r1.ebuild25
-rw-r--r--dev-libs/npth/npth-1.6-r2.ebuild34
-rw-r--r--dev-libs/npth/npth-1.6.ebuild29
-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.xml7
-rw-r--r--dev-libs/nsgenbind/nsgenbind-0.6-r1.ebuild33
-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.23-prtime.patch26
-rw-r--r--dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch15
-rw-r--r--dev-libs/nspr/files/nspr-4.7.0-prtime.patch26
-rw-r--r--dev-libs/nspr/metadata.xml5
-rw-r--r--dev-libs/nspr/nspr-4.20.ebuild118
-rw-r--r--dev-libs/nspr/nspr-4.21.ebuild120
-rw-r--r--dev-libs/nspr/nspr-4.35-r2.ebuild178
-rw-r--r--dev-libs/nss-pem/Manifest1
-rw-r--r--dev-libs/nss-pem/metadata.xml11
-rw-r--r--dev-libs/nss-pem/nss-pem-1.1.0.ebuild29
-rw-r--r--dev-libs/nss/Manifest9
-rw-r--r--dev-libs/nss/files/nss-3.21-enable-pem.patch11
-rw-r--r--dev-libs/nss/files/nss-3.23-hppa-byte_order.patch16
-rw-r--r--dev-libs/nss/files/nss-3.32-gentoo-fixups.patch274
-rw-r--r--dev-libs/nss/files/nss-3.36.7-fix-cms.patch531
-rw-r--r--dev-libs/nss/files/nss-3.53-gentoo-fixups.patch290
-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-backport-D180718.patch35
-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.xml8
-rw-r--r--dev-libs/nss/nss-3.100.ebuild418
-rw-r--r--dev-libs/nss/nss-3.40.1-r1.ebuild373
-rw-r--r--dev-libs/nss/nss-3.44.1.ebuild373
-rw-r--r--dev-libs/nss/nss-3.45.ebuild373
-rw-r--r--dev-libs/nss/nss-3.90.2-r1.ebuild421
-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/Manifest3
-rw-r--r--dev-libs/nsync/metadata.xml8
-rw-r--r--dev-libs/nsync/nsync-1.20.1.ebuild26
-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/Manifest4
-rw-r--r--dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch160
-rw-r--r--dev-libs/ntl/files/ntl-9.2.0-singular.patch13
-rw-r--r--dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch160
-rw-r--r--dev-libs/ntl/metadata.xml5
-rw-r--r--dev-libs/ntl/ntl-10.5.0.ebuild61
-rw-r--r--dev-libs/ntl/ntl-11.5.1-r4.ebuild85
-rw-r--r--dev-libs/ntl/ntl-9.3.0.ebuild81
-rw-r--r--dev-libs/ntl/ntl-9.6.4.ebuild84
-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/metadata.xml13
-rw-r--r--dev-libs/ocl-icd/ocl-icd-2.2.11.ebuild35
-rw-r--r--dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild52
-rw-r--r--dev-libs/ocl-icd/ocl-icd-2.2.12.ebuild52
-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/Manifest2
-rw-r--r--dev-libs/onigmo/metadata.xml40
-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/oniguruma/Manifest4
-rw-r--r--dev-libs/oniguruma/metadata.xml46
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.1.ebuild32
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.2.ebuild32
-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.ebuild55
-rw-r--r--dev-libs/opencl-clang/Manifest5
-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.xml15
-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-clang/opencl-clang-8.0.0.ebuild34
-rw-r--r--dev-libs/opencl-clang/opencl-clang-8.0.1.ebuild34
-rw-r--r--dev-libs/opencl-icd-loader/Manifest2
-rw-r--r--dev-libs/opencl-icd-loader/metadata.xml11
-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/opencryptoki/Manifest1
-rw-r--r--dev-libs/opencryptoki/metadata.xml7
-rw-r--r--dev-libs/opencryptoki/opencryptoki-3.4.1.ebuild102
-rw-r--r--dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild101
-rw-r--r--dev-libs/opencryptoki/opencryptoki-3.6.1.ebuild102
-rw-r--r--dev-libs/openct/files/openct-0.6.20-automake.patch24
-rw-r--r--dev-libs/openct/files/openct-0.6.20-slibtool.patch34
-rw-r--r--dev-libs/openct/metadata.xml7
-rw-r--r--dev-libs/openct/openct-0.6.20-r4.ebuild69
-rw-r--r--dev-libs/openct/openct-0.6.20-r5.ebuild80
-rw-r--r--dev-libs/openobex/metadata.xml9
-rw-r--r--dev-libs/openobex/openobex-1.7.2-r1.ebuild41
-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/files/opensc-0.19.0-p11test_common.h.patch108
-rw-r--r--dev-libs/opensc/files/opensc.module8
-rw-r--r--dev-libs/opensc/metadata.xml9
-rw-r--r--dev-libs/opensc/opensc-0.19.0-r2.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-0.25.1.ebuild87
-rw-r--r--dev-libs/opensc/opensc-9999.ebuild87
-rw-r--r--dev-libs/openspecfun/Manifest3
-rw-r--r--dev-libs/openspecfun/files/openspecfun-0.5.3-Makefile.patch67
-rw-r--r--dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch68
-rw-r--r--dev-libs/openspecfun/metadata.xml2
-rw-r--r--dev-libs/openspecfun/openspecfun-0.5.1.ebuild34
-rw-r--r--dev-libs/openspecfun/openspecfun-0.5.3.ebuild41
-rw-r--r--dev-libs/openspecfun/openspecfun-0.5.5.ebuild41
-rw-r--r--dev-libs/openssl-compat/Manifest10
-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.22
-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.0.2p-hobble-ecc.patch283
-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.xml34
-rw-r--r--dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r1.ebuild164
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.0.2r.ebuild249
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild249
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild221
-rw-r--r--dev-libs/openssl/Manifest43
-rw-r--r--dev-libs/openssl/files/gentoo.config-1.0.25
-rw-r--r--dev-libs/openssl/files/gentoo.config-1.0.4186
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch43
-rw-r--r--dev-libs/openssl/files/openssl-1.0.2p-hobble-ecc.patch283
-rw-r--r--dev-libs/openssl/files/openssl-1.1.1b-CVE-2019-1543.patch66
-rw-r--r--dev-libs/openssl/files/openssl-1.1.1b-ec-curves-patch.patch207
-rw-r--r--dev-libs/openssl/files/openssl-1.1.1i-riscv32.patch61
-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/files/openssl-3.2.1-s390x.patch31
-rw-r--r--dev-libs/openssl/metadata.xml50
-rw-r--r--dev-libs/openssl/openssl-1.0.2r.ebuild309
-rw-r--r--dev-libs/openssl/openssl-1.0.2s-r200.ebuild248
-rw-r--r--dev-libs/openssl/openssl-1.0.2s.ebuild309
-rw-r--r--dev-libs/openssl/openssl-1.0.2u-r1.ebuild313
-rw-r--r--dev-libs/openssl/openssl-1.1.0j-r1.ebuild299
-rw-r--r--dev-libs/openssl/openssl-1.1.0k.ebuild298
-rw-r--r--dev-libs/openssl/openssl-1.1.1b-r2.ebuild299
-rw-r--r--dev-libs/openssl/openssl-1.1.1c.ebuild298
-rw-r--r--dev-libs/openssl/openssl-1.1.1w.ebuild268
-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.ebuild308
-rw-r--r--dev-libs/openssl/openssl-3.3.0.ebuild300
-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/metadata.xml7
-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/metadata.xml7
-rw-r--r--dev-libs/pakchois/pakchois-0.4-r2.ebuild12
-rw-r--r--dev-libs/papi/Manifest4
-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/metadata.xml6
-rw-r--r--dev-libs/papi/papi-5.3.0.ebuild38
-rw-r--r--dev-libs/papi/papi-5.4.0.ebuild38
-rw-r--r--dev-libs/papi/papi-5.5.1.ebuild38
-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/pcc-libs/metadata.xml2
-rw-r--r--dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild22
-rw-r--r--dev-libs/pcc-libs/pcc-libs-9999.ebuild35
-rw-r--r--dev-libs/pcl/files/pcl-1.12-musl.patch20
-rw-r--r--dev-libs/pcl/metadata.xml7
-rw-r--r--dev-libs/pcl/pcl-1.12-r1.ebuild12
-rw-r--r--dev-libs/pcl/pcl-1.12-r2.ebuild25
-rw-r--r--dev-libs/pcre++/Manifest2
-rw-r--r--dev-libs/pcre++/metadata.xml5
-rw-r--r--dev-libs/pcre++/pcre++-0.9.5-r1.ebuild50
-rw-r--r--dev-libs/pegtl/Manifest8
-rw-r--r--dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch29
-rw-r--r--dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch43
-rw-r--r--dev-libs/pegtl/files/pegtl-3.2.1-werror.patch33
-rw-r--r--dev-libs/pegtl/metadata.xml8
-rw-r--r--dev-libs/pegtl/pegtl-1.3.1-r1.ebuild34
-rw-r--r--dev-libs/pegtl/pegtl-2.0.0.ebuild20
-rw-r--r--dev-libs/pegtl/pegtl-2.0_pre1.ebuild19
-rw-r--r--dev-libs/pegtl/pegtl-2.1.4.ebuild20
-rw-r--r--dev-libs/pegtl/pegtl-2.8.3-r1.ebuild32
-rw-r--r--dev-libs/pegtl/pegtl-3.2.1.ebuild27
-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/Manifest3
-rw-r--r--dev-libs/pigpio/files/pigpio-67-makefile.patch64
-rw-r--r--dev-libs/pigpio/files/pigpio-70-makefile.patch123
-rw-r--r--dev-libs/pigpio/files/pigpiod.confd2
-rw-r--r--dev-libs/pigpio/files/pigpiod.systemd9
-rw-r--r--dev-libs/pigpio/metadata.xml6
-rw-r--r--dev-libs/pigpio/pigpio-67.ebuild40
-rw-r--r--dev-libs/pigpio/pigpio-68.ebuild39
-rw-r--r--dev-libs/pigpio/pigpio-79.ebuild36
-rw-r--r--dev-libs/pkcs11-helper/Manifest2
-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.29.0-incompatible-func-ptr-clang16.patch30
-rw-r--r--dev-libs/pkcs11-helper/metadata.xml10
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.25.1.ebuild41
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild45
-rw-r--r--dev-libs/plasma-wayland-protocols/Manifest1
-rw-r--r--dev-libs/plasma-wayland-protocols/metadata.xml12
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild35
-rw-r--r--dev-libs/pmdk/Manifest2
-rw-r--r--dev-libs/pmdk/metadata.xml8
-rw-r--r--dev-libs/pmdk/pmdk-1.12.1.ebuild60
-rw-r--r--dev-libs/pmdk/pmdk-1.9.2.ebuild54
-rw-r--r--dev-libs/pocketfft/Manifest2
-rw-r--r--dev-libs/pocketfft/metadata.xml11
-rw-r--r--dev-libs/pocketfft/pocketfft-2021.11.23.ebuild22
-rw-r--r--dev-libs/pocketfft/pocketfft-2023.12.30.ebuild22
-rw-r--r--dev-libs/pocl/Manifest1
-rw-r--r--dev-libs/pocl/metadata.xml19
-rw-r--r--dev-libs/pocl/pocl-4.0.ebuild113
-rw-r--r--dev-libs/poco/Manifest5
-rw-r--r--dev-libs/poco/files/1.4.6_p4-gentoo.patch71
-rw-r--r--dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch13
-rw-r--r--dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch45
-rw-r--r--dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch13
-rw-r--r--dev-libs/poco/metadata.xml16
-rw-r--r--dev-libs/poco/poco-1.12.4.ebuild146
-rw-r--r--dev-libs/poco/poco-1.13.3.ebuild142
-rw-r--r--dev-libs/poco/poco-1.4.6_p4.ebuild118
-rw-r--r--dev-libs/poco/poco-1.9.0-r2.ebuild138
-rw-r--r--dev-libs/polylib/metadata.xml5
-rw-r--r--dev-libs/polylib/polylib-9999.ebuild27
-rw-r--r--dev-libs/popt/Manifest2
-rw-r--r--dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch12
-rw-r--r--dev-libs/popt/metadata.xml14
-rw-r--r--dev-libs/popt/popt-1.16-r2.ebuild36
-rw-r--r--dev-libs/popt/popt-1.19-r1.ebuild47
-rw-r--r--dev-libs/ppl/Manifest2
-rw-r--r--dev-libs/ppl/files/disable-containsintegerpoint1.patch38
-rw-r--r--dev-libs/ppl/files/disable-mipproblem2.patch39
-rw-r--r--dev-libs/ppl/files/fix-clang-build.patch37
-rw-r--r--dev-libs/ppl/metadata.xml31
-rw-r--r--dev-libs/ppl/ppl-1.1.ebuild59
-rw-r--r--dev-libs/ppl/ppl-1.2-r5.ebuild72
-rw-r--r--dev-libs/ppl/ppl-1.2.ebuild59
-rw-r--r--dev-libs/processor-trace/Manifest3
-rw-r--r--dev-libs/processor-trace/metadata.xml12
-rw-r--r--dev-libs/processor-trace/processor-trace-1.6.1.ebuild26
-rw-r--r--dev-libs/processor-trace/processor-trace-1.6.2.ebuild26
-rw-r--r--dev-libs/processor-trace/processor-trace-2.0.ebuild26
-rw-r--r--dev-libs/protobuf-c/Manifest2
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.3.1-protobuf-3.7.patch13
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.4.0-include-path.patch105
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch501
-rw-r--r--dev-libs/protobuf-c/metadata.xml3
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.3.1.ebuild46
-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/Manifest7
-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.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/files/protobuf-3.6.0-disable_no-warning-test.patch19
-rw-r--r--dev-libs/protobuf/files/protobuf-3.6.0-protoc_input_output_files.patch233
-rw-r--r--dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch121
-rw-r--r--dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch49
-rw-r--r--dev-libs/protobuf/files/protobuf-3.7.0-disable_no-warning-test.patch19
-rw-r--r--dev-libs/protobuf/files/protobuf-3.7.0-protoc_input_output_files.patch236
-rw-r--r--dev-libs/protobuf/files/protobuf-3.7.1-system_libraries.patch121
-rw-r--r--dev-libs/protobuf/files/protobuf-3.8.0-disable_no-warning-test.patch19
-rw-r--r--dev-libs/protobuf/files/protobuf-3.8.0-protoc_input_output_files.patch262
-rw-r--r--dev-libs/protobuf/files/protobuf-3.8.0-system_libraries.patch121
-rw-r--r--dev-libs/protobuf/metadata.xml9
-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.6.1.3.ebuild108
-rw-r--r--dev-libs/protobuf/protobuf-3.7.1.ebuild126
-rw-r--r--dev-libs/protobuf/protobuf-3.8.0.ebuild126
-rw-r--r--dev-libs/protobuf/protobuf-9999.ebuild120
-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/metadata.xml2
-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/Manifest5
-rw-r--r--dev-libs/ptexenc/metadata.xml2
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.4_p20160523.ebuild50
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.5_p20170524.ebuild50
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.7_p20190410.ebuild50
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild48
-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/pugixml/Manifest3
-rw-r--r--dev-libs/pugixml/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch39
-rw-r--r--dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch71
-rw-r--r--dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch39
-rw-r--r--dev-libs/pugixml/metadata.xml2
-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-1.9-r1.ebuild33
-rw-r--r--dev-libs/pugixml/pugixml-1.9.ebuild20
-rw-r--r--dev-libs/pugixml/pugixml-9999.ebuild20
-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/Manifest6
-rw-r--r--dev-libs/qcustomplot/metadata.xml7
-rw-r--r--dev-libs/qcustomplot/qcustomplot-2.0.0.ebuild46
-rw-r--r--dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild46
-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/metadata.xml7
-rw-r--r--dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild12
-rw-r--r--dev-libs/qof/Manifest1
-rw-r--r--dev-libs/qof/files/qof-0.8.8-cflags.patch36
-rw-r--r--dev-libs/qof/files/qof-0.8.8-unistd-define.patch58
-rw-r--r--dev-libs/qof/files/qof-0.8.8-unittest.patch44
-rw-r--r--dev-libs/qof/files/qof-0.8.8-yacc-build.patch69
-rw-r--r--dev-libs/qof/metadata.xml8
-rw-r--r--dev-libs/qof/qof-0.8.8-r1.ebuild60
-rw-r--r--dev-libs/qqwing/Manifest1
-rw-r--r--dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch206
-rw-r--r--dev-libs/qqwing/metadata.xml2
-rw-r--r--dev-libs/qqwing/qqwing-1.3.3.ebuild25
-rw-r--r--dev-libs/qqwing/qqwing-1.3.4-r1.ebuild17
-rw-r--r--dev-libs/qqwing/qqwing-1.3.4.ebuild23
-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/qrosscore/Manifest1
-rw-r--r--dev-libs/qrosscore/metadata.xml18
-rw-r--r--dev-libs/qrosscore/qrosscore-0.3.2.ebuild27
-rw-r--r--dev-libs/qrosscore/qrosscore-9999.ebuild29
-rw-r--r--dev-libs/qrosspython/Manifest1
-rw-r--r--dev-libs/qrosspython/metadata.xml18
-rw-r--r--dev-libs/qrosspython/qrosspython-0.3.2.ebuild35
-rw-r--r--dev-libs/qrosspython/qrosspython-9999.ebuild35
-rw-r--r--dev-libs/qtkeychain/Manifest2
-rw-r--r--dev-libs/qtkeychain/metadata.xml8
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild74
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.9.0.ebuild45
-rw-r--r--dev-libs/quazip/Manifest4
-rw-r--r--dev-libs/quazip/files/quazip-1.2-cmake.patch79
-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.xml7
-rw-r--r--dev-libs/quazip/quazip-0.8.1.ebuild48
-rw-r--r--dev-libs/quazip/quazip-1.2.ebuild48
-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/Manifest1
-rw-r--r--dev-libs/qxlsx/metadata.xml15
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.7.ebuild56
-rw-r--r--dev-libs/raft/Manifest2
-rw-r--r--dev-libs/raft/files/raft-0.10.0-toggle-zfs.patch21
-rw-r--r--dev-libs/raft/metadata.xml25
-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.patch44
-rw-r--r--dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch21
-rw-r--r--dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch21
-rw-r--r--dev-libs/rapidjson/metadata.xml2
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r1.ebuild51
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild59
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0.ebuild40
-rw-r--r--dev-libs/rapidjson/rapidjson-9999.ebuild51
-rw-r--r--dev-libs/rapidxml/Manifest1
-rw-r--r--dev-libs/rapidxml/files/rapidxml-1.13-clang.patch23
-rw-r--r--dev-libs/rapidxml/metadata.xml11
-rw-r--r--dev-libs/rapidxml/rapidxml-1.13-r1.ebuild26
-rw-r--r--dev-libs/rapidxml/rapidxml-1.13.ebuild21
-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.xml13
-rw-r--r--dev-libs/rasqal/rasqal-0.9.33-r2.ebuild77
-rw-r--r--dev-libs/rasqal/rasqal-0.9.33.ebuild69
-rw-r--r--dev-libs/rccl/Manifest2
-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/metadata.xml19
-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/Manifest7
-rw-r--r--dev-libs/re2/files/0.2016.05.01-pkgconfig.patch57
-rw-r--r--dev-libs/re2/metadata.xml9
-rw-r--r--dev-libs/re2/re2-0.2016.05.01.ebuild47
-rw-r--r--dev-libs/re2/re2-0.2016.11.01-r1.ebuild52
-rw-r--r--dev-libs/re2/re2-0.2017.03.01.ebuild52
-rw-r--r--dev-libs/re2/re2-0.2018.04.01.ebuild52
-rw-r--r--dev-libs/re2/re2-0.2018.10.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/Manifest2
-rw-r--r--dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-bool.patch22
-rw-r--r--dev-libs/redland-bindings/metadata.xml2
-rw-r--r--dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild55
-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/files/redland-1.0.17-mysql-8-my_bool.patch15
-rw-r--r--dev-libs/redland/metadata.xml2
-rw-r--r--dev-libs/redland/redland-1.0.17-r2.ebuild88
-rw-r--r--dev-libs/redland/redland-1.0.17-r3.ebuild84
-rw-r--r--dev-libs/replicant/Manifest4
-rw-r--r--dev-libs/replicant/metadata.xml8
-rw-r--r--dev-libs/replicant/replicant-0.6.4.ebuild22
-rw-r--r--dev-libs/replicant/replicant-0.7.1.ebuild22
-rw-r--r--dev-libs/replicant/replicant-0.8.0.ebuild22
-rw-r--r--dev-libs/replicant/replicant-0.8.1.ebuild22
-rw-r--r--dev-libs/rinutils/Manifest2
-rw-r--r--dev-libs/rinutils/metadata.xml11
-rw-r--r--dev-libs/rinutils/rinutils-0.10.0.ebuild23
-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/files/rlog-1.4-autoconf-2.70.patch160
-rw-r--r--dev-libs/rlog/metadata.xml2
-rw-r--r--dev-libs/rlog/rlog-1.4.ebuild15
-rw-r--r--dev-libs/rocksdb/Manifest4
-rw-r--r--dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch51
-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.xml19
-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-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/Manifest6
-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-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.xml15
-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/Manifest6
-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/metadata.xml11
-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-opencl-runtime/Manifest10
-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.5.0-do-not-install-libopencl.patch14
-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.xml15
-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/Manifest7
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-2.0.0-cmake-install-paths.patch42
-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/metadata.xml7
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-2.0.0.ebuild34
-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/roct-thunk-interface/Manifest7
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-2.0.0-correctly-install.patch288
-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/metadata.xml9
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-2.0.0.ebuild33
-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/rote/Manifest1
-rw-r--r--dev-libs/rote/metadata.xml8
-rw-r--r--dev-libs/rote/rote-0.2.8.ebuild16
-rw-r--r--dev-libs/rremove/metadata.xml7
-rw-r--r--dev-libs/rremove/rremove-1.0.5.ebuild15
-rw-r--r--dev-libs/s2n/Manifest1
-rw-r--r--dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch22
-rw-r--r--dev-libs/s2n/metadata.xml31
-rw-r--r--dev-libs/s2n/s2n-1.0.0.ebuild55
-rw-r--r--dev-libs/satyr/Manifest2
-rw-r--r--dev-libs/satyr/metadata.xml8
-rw-r--r--dev-libs/satyr/satyr-0.26.ebuild45
-rw-r--r--dev-libs/satyr/satyr-0.27.ebuild45
-rw-r--r--dev-libs/sblim-sfcc/Manifest1
-rw-r--r--dev-libs/sblim-sfcc/metadata.xml8
-rw-r--r--dev-libs/sblim-sfcc/sblim-sfcc-2.2.8.ebuild35
-rw-r--r--dev-libs/sdformat/Manifest4
-rw-r--r--dev-libs/sdformat/files/ruby.patch31
-rw-r--r--dev-libs/sdformat/metadata.xml2
-rw-r--r--dev-libs/sdformat/sdformat-6.0.0.ebuild38
-rw-r--r--dev-libs/sdformat/sdformat-6.1.0.ebuild38
-rw-r--r--dev-libs/sdformat/sdformat-6.2.0.ebuild38
-rw-r--r--dev-libs/sdformat/sdformat-9.10.0.ebuild43
-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.xml24
-rw-r--r--dev-libs/serd/serd-0.28.0-r1.ebuild52
-rw-r--r--dev-libs/serd/serd-0.32.2.ebuild47
-rw-r--r--dev-libs/serdisplib/Manifest3
-rw-r--r--dev-libs/serdisplib/files/serdisplib-2.02-disable-static-build.patch (renamed from dev-libs/serdisplib/files/disable-static-build.patch)0
-rw-r--r--dev-libs/serdisplib/files/serdisplib-2.02-musl.patch19
-rw-r--r--dev-libs/serdisplib/files/serdisplib-2.02-use-destdir.patch (renamed from dev-libs/serdisplib/files/use-destdir.patch)0
-rw-r--r--dev-libs/serdisplib/metadata.xml8
-rw-r--r--dev-libs/serdisplib/serdisplib-1.97.9.ebuild31
-rw-r--r--dev-libs/serdisplib/serdisplib-2.01.ebuild92
-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/files/shhopt-1.1.7-build.patch60
-rw-r--r--dev-libs/shhopt/metadata.xml2
-rw-r--r--dev-libs/shhopt/shhopt-1.1.7-r3.ebuild5
-rw-r--r--dev-libs/simde/Manifest2
-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/files/simde-0.8.2-musl.patch19
-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/simde/simde-0.8.2.ebuild45
-rw-r--r--dev-libs/simdjson/Manifest5
-rw-r--r--dev-libs/simdjson/files/simdjson-0.9.0-tests.patch12
-rw-r--r--dev-libs/simdjson/files/simdjson-1.0.0-dont-bundle-cxxopts.patch20
-rw-r--r--dev-libs/simdjson/files/simdjson-1.0.0-dont-fetch-data-tarball.patch16
-rw-r--r--dev-libs/simdjson/files/simdjson-1.0.0-install-tools.patch21
-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.xml12
-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.xml8
-rw-r--r--dev-libs/sink/sink-0.7.0.ebuild53
-rw-r--r--dev-libs/skalibs/Manifest7
-rw-r--r--dev-libs/skalibs/metadata.xml18
-rw-r--r--dev-libs/skalibs/skalibs-2.14.1.1.ebuild43
-rw-r--r--dev-libs/skalibs/skalibs-2.3.2.0.ebuild42
-rw-r--r--dev-libs/skalibs/skalibs-2.6.1.0.ebuild48
-rw-r--r--dev-libs/skalibs/skalibs-2.6.3.0.ebuild48
-rw-r--r--dev-libs/skalibs/skalibs-2.6.4.0.ebuild48
-rw-r--r--dev-libs/skalibs/skalibs-2.7.0.0.ebuild40
-rw-r--r--dev-libs/skalibs/skalibs-2.8.1.0.ebuild38
-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/Manifest5
-rw-r--r--dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch23
-rw-r--r--dev-libs/snowball-stemmer/files/snowball-stemmer-2.1.0-shared-library.patch58
-rw-r--r--dev-libs/snowball-stemmer/files/snowball-stemmer-2.2.0-shared-library.patch59
-rw-r--r--dev-libs/snowball-stemmer/metadata.xml11
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-0.20140325.ebuild52
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild52
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild51
-rw-r--r--dev-libs/socketstream/Manifest1
-rw-r--r--dev-libs/socketstream/files/0.7.0-missing_includes.patch11
-rw-r--r--dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch15
-rw-r--r--dev-libs/socketstream/metadata.xml8
-rw-r--r--dev-libs/socketstream/socketstream-0.7.0-r1.ebuild37
-rw-r--r--dev-libs/softhsm/Manifest3
-rw-r--r--dev-libs/softhsm/files/softhsm-2.5.0-libressl.patch32
-rw-r--r--dev-libs/softhsm/metadata.xml10
-rw-r--r--dev-libs/softhsm/softhsm-2.5.0.ebuild49
-rw-r--r--dev-libs/softhsm/softhsm-2.6.1-r2.ebuild48
-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/metadata.xml16
-rw-r--r--dev-libs/sord/sord-0.16.0-r1.ebuild53
-rw-r--r--dev-libs/sord/sord-0.16.16-r1.ebuild61
-rw-r--r--dev-libs/sord/sord-9999.ebuild61
-rw-r--r--dev-libs/spdlog/Manifest6
-rw-r--r--dev-libs/spdlog/files/spdlog-1.0.0-unbundle-fmt.patch29
-rw-r--r--dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.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/metadata.xml8
-rw-r--r--dev-libs/spdlog/spdlog-1.11.0-r3.ebuild55
-rw-r--r--dev-libs/spdlog/spdlog-1.11.0-r4.ebuild56
-rw-r--r--dev-libs/spdlog/spdlog-1.12.0-r2.ebuild55
-rw-r--r--dev-libs/spdlog/spdlog-1.12.0-r3.ebuild55
-rw-r--r--dev-libs/spdlog/spdlog-1.13.0-r1.ebuild54
-rw-r--r--dev-libs/spdlog/spdlog-1.2.1.ebuild39
-rw-r--r--dev-libs/spdlog/spdlog-1.3.0.ebuild40
-rw-r--r--dev-libs/spdlog/spdlog-1.3.1.ebuild40
-rw-r--r--dev-libs/spdlog/spdlog-9999.ebuild46
-rw-r--r--dev-libs/spsdeclib/metadata.xml8
-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/metadata.xml7
-rw-r--r--dev-libs/squareball/squareball-0.2.0.ebuild32
-rw-r--r--dev-libs/squareball/squareball-9999.ebuild32
-rw-r--r--dev-libs/starpu/Manifest1
-rw-r--r--dev-libs/starpu/metadata.xml5
-rw-r--r--dev-libs/starpu/starpu-1.2.6-r1.ebuild89
-rw-r--r--dev-libs/starpu/starpu-1.2.6.ebuild89
-rw-r--r--dev-libs/starpu/starpu-1.3.9.ebuild106
-rw-r--r--dev-libs/stb/Manifest2
-rw-r--r--dev-libs/stb/metadata.xml7
-rw-r--r--dev-libs/stb/stb-20180211.ebuild34
-rw-r--r--dev-libs/stb/stb-20240201-r1.ebuild41
-rw-r--r--dev-libs/stfl/files/stfl-0.22-pc-libdir.patch24
-rw-r--r--dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch26
-rw-r--r--dev-libs/stfl/metadata.xml5
-rw-r--r--dev-libs/stfl/stfl-0.24-r4.ebuild127
-rw-r--r--dev-libs/stfl/stfl-0.24-r5.ebuild129
-rw-r--r--dev-libs/stfl/stfl-0.24.ebuild118
-rw-r--r--dev-libs/stlsoft/Manifest1
-rw-r--r--dev-libs/stlsoft/metadata.xml8
-rw-r--r--dev-libs/stlsoft/stlsoft-1.9.111.ebuild22
-rw-r--r--dev-libs/svrcore/Manifest2
-rw-r--r--dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch100
-rw-r--r--dev-libs/svrcore/files/svrcore-4.1-gentoo.patch100
-rw-r--r--dev-libs/svrcore/metadata.xml5
-rw-r--r--dev-libs/svrcore/svrcore-4.0.4-r1.ebuild40
-rw-r--r--dev-libs/svrcore/svrcore-4.1.2.ebuild35
-rw-r--r--dev-libs/syncdir/Manifest1
-rw-r--r--dev-libs/syncdir/metadata.xml5
-rw-r--r--dev-libs/syncdir/syncdir-1.0-r2.ebuild40
-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.xml25
-rw-r--r--dev-libs/template-glib/template-glib-3.32.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/metadata.xml2
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild52
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r3.ebuild61
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild67
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild68
-rw-r--r--dev-libs/tinyxml2/Manifest4
-rw-r--r--dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch51
-rw-r--r--dev-libs/tinyxml2/metadata.xml2
-rw-r--r--dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild25
-rw-r--r--dev-libs/tinyxml2/tinyxml2-6.2.0.ebuild23
-rw-r--r--dev-libs/tinyxml2/tinyxml2-7.0.1-r1.ebuild20
-rw-r--r--dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild29
-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/Manifest2
-rw-r--r--dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch65
-rw-r--r--dev-libs/tntnet/files/tntnet-3.0-autoconf-2.70.patch78
-rw-r--r--dev-libs/tntnet/files/tntnet-3.initd27
-rw-r--r--dev-libs/tntnet/files/tntnet.initd29
-rw-r--r--dev-libs/tntnet/metadata.xml7
-rw-r--r--dev-libs/tntnet/tntnet-2.2.1-r1.ebuild90
-rw-r--r--dev-libs/tntnet/tntnet-2.2.1.ebuild87
-rw-r--r--dev-libs/tntnet/tntnet-3.0.ebuild85
-rw-r--r--dev-libs/tomsfastmath/Manifest1
-rw-r--r--dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch13
-rw-r--r--dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch45
-rw-r--r--dev-libs/tomsfastmath/metadata.xml15
-rw-r--r--dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild69
-rw-r--r--dev-libs/totem-pl-parser/Manifest2
-rw-r--r--dev-libs/totem-pl-parser/files/3.26.6-c99.patch22
-rw-r--r--dev-libs/totem-pl-parser/files/3.26.6-plparser-Fix-uninitialized-variable-error.patch30
-rw-r--r--dev-libs/totem-pl-parser/metadata.xml23
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.26.3.ebuild65
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild73
-rw-r--r--dev-libs/tre/Manifest2
-rw-r--r--dev-libs/tre/files/0.8.0-CVE-2016-8559.patch66
-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.xml9
-rw-r--r--dev-libs/tre/tre-0.8.0-r1.ebuild64
-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.ebuild109
-rw-r--r--dev-libs/tree-sitter-bash/Manifest4
-rw-r--r--dev-libs/tree-sitter-bash/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.19.0.ebuild13
-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/Manifest3
-rw-r--r--dev-libs/tree-sitter-c-sharp/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.19.1.ebuild13
-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-sharp/tree-sitter-c-sharp-0.21.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/Manifest3
-rw-r--r--dev-libs/tree-sitter-c/metadata.xml15
-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/Manifest4
-rw-r--r--dev-libs/tree-sitter-cpp/metadata.xml15
-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.xml15
-rw-r--r--dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild19
-rw-r--r--dev-libs/tree-sitter-css/tree-sitter-css-0.21.0.ebuild19
-rw-r--r--dev-libs/tree-sitter-embedded-template/Manifest2
-rw-r--r--dev-libs/tree-sitter-embedded-template/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.19.0.ebuild13
-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/Manifest2
-rw-r--r--dev-libs/tree-sitter-go/metadata.xml15
-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/Manifest2
-rw-r--r--dev-libs/tree-sitter-haskell/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.13.0_p20211114.ebuild15
-rw-r--r--dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-html/Manifest3
-rw-r--r--dev-libs/tree-sitter-html/metadata.xml15
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.20.3.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/Manifest2
-rw-r--r--dev-libs/tree-sitter-java/metadata.xml19
-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/Manifest3
-rw-r--r--dev-libs/tree-sitter-javascript/metadata.xml15
-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/Manifest1
-rw-r--r--dev-libs/tree-sitter-jsdoc/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-jsdoc/tree-sitter-jsdoc-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-json/Manifest4
-rw-r--r--dev-libs/tree-sitter-json/metadata.xml15
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.19.0.ebuild13
-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/Manifest3
-rw-r--r--dev-libs/tree-sitter-julia/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.22.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-meta/metadata.xml12
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild38
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild41
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1.ebuild26
-rw-r--r--dev-libs/tree-sitter-ocaml/Manifest3
-rw-r--r--dev-libs/tree-sitter-ocaml/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild15
-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.xml15
-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-php/tree-sitter-php-0.22.4.ebuild14
-rw-r--r--dev-libs/tree-sitter-python/Manifest3
-rw-r--r--dev-libs/tree-sitter-python/metadata.xml19
-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/Manifest1
-rw-r--r--dev-libs/tree-sitter-ql/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-regex/Manifest2
-rw-r--r--dev-libs/tree-sitter-regex/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-regex/tree-sitter-regex-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-ruby/Manifest2
-rw-r--r--dev-libs/tree-sitter-ruby/metadata.xml19
-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.xml19
-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-rust/tree-sitter-rust-0.21.2.ebuild15
-rw-r--r--dev-libs/tree-sitter-scala/Manifest2
-rw-r--r--dev-libs/tree-sitter-scala/metadata.xml15
-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/Manifest1
-rw-r--r--dev-libs/tree-sitter-tsq/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-tsq/tree-sitter-tsq-0.19.0.ebuild19
-rw-r--r--dev-libs/tree-sitter-typescript/Manifest3
-rw-r--r--dev-libs/tree-sitter-typescript/metadata.xml15
-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/Manifest3
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch20
-rw-r--r--dev-libs/tree-sitter/metadata.xml30
-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.5.ebuild50
-rw-r--r--dev-libs/tree-sitter/tree-sitter-9999.ebuild50
-rw-r--r--dev-libs/trio/Manifest1
-rw-r--r--dev-libs/trio/metadata.xml11
-rw-r--r--dev-libs/trio/trio-1.17.1.ebuild27
-rw-r--r--dev-libs/tut/Manifest2
-rw-r--r--dev-libs/tut/metadata.xml15
-rw-r--r--dev-libs/tut/tut-2013.12.18.ebuild24
-rw-r--r--dev-libs/tut/tut-2016.12.19.ebuild24
-rw-r--r--dev-libs/tvision/Manifest3
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch45
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch30
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch11
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch11
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch21
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch147
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch15
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch41
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-perl-INC.patch30
-rw-r--r--dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch14
-rw-r--r--dev-libs/tvision/files/tvision-2.2.1.4-build-system.patch31
-rw-r--r--dev-libs/tvision/files/tvision-2.2.1.4-fix-dot-INC.patch30
-rw-r--r--dev-libs/tvision/files/tvision-2.2.1.4-fix-overloaded-abs.patch100
-rw-r--r--dev-libs/tvision/files/tvision-2.2.1.4-gcc6.patch45
-rw-r--r--dev-libs/tvision/files/tvision-2.2.3-0001-Added-ar-command-now-can-be-configured-from-the-envi.patch56
-rw-r--r--dev-libs/tvision/files/tvision-2.2.3-0002-Added-configuration-option-to-exclude-libgpm.patch60
-rw-r--r--dev-libs/tvision/files/tvision-2.2.3-0003-Adjusted-c-years.patch34
-rw-r--r--dev-libs/tvision/files/tvision-2.2.3-0004-Made-ar-command-configurable.patch23
-rw-r--r--dev-libs/tvision/metadata.xml18
-rw-r--r--dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild53
-rw-r--r--dev-libs/tvision/tvision-2.2.1.4.ebuild69
-rw-r--r--dev-libs/tvision/tvision-2.2.3.ebuild87
-rw-r--r--dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch5
-rw-r--r--dev-libs/tvmet/metadata.xml2
-rw-r--r--dev-libs/tvmet/tvmet-1.7.2-r2.ebuild32
-rw-r--r--dev-libs/ucl/files/ucl-1.03-CFLAGS.patch10
-rw-r--r--dev-libs/ucl/metadata.xml2
-rw-r--r--dev-libs/ucl/ucl-1.03-r1.ebuild20
-rw-r--r--dev-libs/ucommon/Manifest3
-rw-r--r--dev-libs/ucommon/files/ucommon-6.0.3-disable_rtf_gen_doxy.patch18
-rw-r--r--dev-libs/ucommon/files/ucommon-6.0.3-gcrypt_autotools.patch59
-rw-r--r--dev-libs/ucommon/files/ucommon-6.0.3-install_gcrypt.m4_file.patch126
-rw-r--r--dev-libs/ucommon/files/ucommon-6.3.1-gcrypt_autotools.patch48
-rw-r--r--dev-libs/ucommon/metadata.xml11
-rw-r--r--dev-libs/ucommon/ucommon-6.0.3.ebuild76
-rw-r--r--dev-libs/ucommon/ucommon-6.5.7.ebuild83
-rw-r--r--dev-libs/ucommon/ucommon-7.0.0.ebuild77
-rw-r--r--dev-libs/udis86/Manifest1
-rw-r--r--dev-libs/udis86/files/udis86-1.7-yasm.patch35
-rw-r--r--dev-libs/udis86/files/udis86-1.7.2-python3.patch42
-rw-r--r--dev-libs/udis86/files/udis86-1.7.2-uninitialized-variable.patch22
-rw-r--r--dev-libs/udis86/metadata.xml3
-rw-r--r--dev-libs/udis86/udis86-1.7-r2.ebuild37
-rw-r--r--dev-libs/udis86/udis86-1.7.2-r1.ebuild52
-rw-r--r--dev-libs/udis86/udis86-1.7.2.ebuild38
-rw-r--r--dev-libs/unibilium/Manifest5
-rw-r--r--dev-libs/unibilium/files/unibilium-2.1.0-no-compress-man.patch22
-rw-r--r--dev-libs/unibilium/files/unibilium-2.1.1-libtool.patch101
-rw-r--r--dev-libs/unibilium/metadata.xml2
-rw-r--r--dev-libs/unibilium/unibilium-1.1.4.ebuild29
-rw-r--r--dev-libs/unibilium/unibilium-1.2.0.ebuild29
-rw-r--r--dev-libs/unibilium/unibilium-1.2.1.ebuild31
-rw-r--r--dev-libs/unibilium/unibilium-2.0.0.ebuild31
-rw-r--r--dev-libs/unibilium/unibilium-2.1.1-r1.ebuild31
-rw-r--r--dev-libs/unibilium/unibilium-2.1.1.ebuild34
-rw-r--r--dev-libs/unittest++/Manifest1
-rw-r--r--dev-libs/unittest++/files/unittest++-2.0.0-Add-support-for-LIB_SUFFIX.patch55
-rw-r--r--dev-libs/unittest++/files/unittest++-2.0.0-cmake-fix-pkgconfig-dir-path-on-FreeBSD.patch28
-rw-r--r--dev-libs/unittest++/files/unittest++-2.0.0-fix-tests-with-clang.patch27
-rw-r--r--dev-libs/unittest++/metadata.xml2
-rw-r--r--dev-libs/unittest++/unittest++-1.6.1.ebuild33
-rw-r--r--dev-libs/unittest++/unittest++-2.0.0-r2.ebuild49
-rw-r--r--dev-libs/unittest++/unittest++-2.0.0.ebuild39
-rw-r--r--dev-libs/univalue/Manifest4
-rw-r--r--dev-libs/univalue/metadata.xml6
-rw-r--r--dev-libs/univalue/univalue-1.0.2.ebuild33
-rw-r--r--dev-libs/univalue/univalue-1.0.3.ebuild32
-rw-r--r--dev-libs/univalue/univalue-1.0.4.ebuild38
-rw-r--r--dev-libs/univalue/univalue-1.0.5.ebuild29
-rw-r--r--dev-libs/univalue/univalue-9999.ebuild5
-rw-r--r--dev-libs/urdfdom/Manifest3
-rw-r--r--dev-libs/urdfdom/metadata.xml2
-rw-r--r--dev-libs/urdfdom/urdfdom-1.0.0-r1.ebuild37
-rw-r--r--dev-libs/urdfdom/urdfdom-1.0.3.ebuild37
-rw-r--r--dev-libs/urdfdom/urdfdom-3.1.0.ebuild30
-rw-r--r--dev-libs/urdfdom/urdfdom-9999.ebuild17
-rw-r--r--dev-libs/urdfdom_headers/Manifest3
-rw-r--r--dev-libs/urdfdom_headers/metadata.xml2
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-1.0.2.ebuild29
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-1.0.3.ebuild29
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild25
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild12
-rw-r--r--dev-libs/uriparser/Manifest4
-rw-r--r--dev-libs/uriparser/files/uriparser-0.9.3-tests.patch23
-rw-r--r--dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch13
-rw-r--r--dev-libs/uriparser/metadata.xml11
-rw-r--r--dev-libs/uriparser/uriparser-0.9.1.ebuild41
-rw-r--r--dev-libs/uriparser/uriparser-0.9.3.ebuild50
-rw-r--r--dev-libs/uriparser/uriparser-0.9.7.ebuild57
-rw-r--r--dev-libs/uriparser/uriparser-0.9.8-r1.ebuild61
-rw-r--r--dev-libs/uriparser/uriparser-0.9.8.ebuild57
-rw-r--r--dev-libs/userspace-rcu/Manifest6
-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.13.1-tests-no-benchmark.patch13
-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.xml16
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.10.1.ebuild30
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.10.2.ebuild30
-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/userspace-rcu/userspace-rcu-0.9.1.ebuild34
-rw-r--r--dev-libs/userspace-rcu/userspace-rcu-0.9.2.ebuild34
-rw-r--r--dev-libs/ustr/Manifest1
-rw-r--r--dev-libs/ustr/files/ustr-1.0.4-build-libs.patch49
-rw-r--r--dev-libs/ustr/files/ustr-1.0.4-gcc_5-check.patch28
-rw-r--r--dev-libs/ustr/metadata.xml15
-rw-r--r--dev-libs/ustr/ustr-1.0.4-r5.ebuild65
-rw-r--r--dev-libs/ustr/ustr-1.0.4-r7.ebuild73
-rw-r--r--dev-libs/ustr/ustr-1.0.4-r8.ebuild83
-rw-r--r--dev-libs/utfcpp/Manifest3
-rw-r--r--dev-libs/utfcpp/metadata.xml13
-rw-r--r--dev-libs/utfcpp/utfcpp-2.3.4.ebuild24
-rw-r--r--dev-libs/utfcpp/utfcpp-3.2.1.ebuild64
-rw-r--r--dev-libs/utfcpp/utfcpp-9999.ebuild64
-rw-r--r--dev-libs/uthash/Manifest2
-rw-r--r--dev-libs/uthash/files/uthash-2.0.2-cflags.patch11
-rw-r--r--dev-libs/uthash/files/uthash-2.1.0-cflags.patch11
-rw-r--r--dev-libs/uthash/metadata.xml13
-rw-r--r--dev-libs/uthash/uthash-2.0.2.ebuild30
-rw-r--r--dev-libs/uthash/uthash-2.3.0.ebuild35
-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.patch83
-rw-r--r--dev-libs/uulib/metadata.xml3
-rw-r--r--dev-libs/uulib/uulib-0.5.20-r1.ebuild25
-rw-r--r--dev-libs/uulib/uulib-0.5.20-r3.ebuild32
-rw-r--r--dev-libs/vala-common/Manifest4
-rw-r--r--dev-libs/vala-common/metadata.xml15
-rw-r--r--dev-libs/vala-common/vala-common-0.40.14.ebuild76
-rw-r--r--dev-libs/vala-common/vala-common-0.42.7.ebuild76
-rw-r--r--dev-libs/vala-common/vala-common-0.56.16.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.17.ebuild29
-rw-r--r--dev-libs/vanessa-adt/Manifest2
-rw-r--r--dev-libs/vanessa-adt/metadata.xml8
-rw-r--r--dev-libs/vanessa-adt/vanessa-adt-0.0.6.ebuild29
-rw-r--r--dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild29
-rw-r--r--dev-libs/vanessa-logger/Manifest1
-rw-r--r--dev-libs/vanessa-logger/metadata.xml8
-rw-r--r--dev-libs/vanessa-logger/vanessa-logger-0.0.10.ebuild24
-rw-r--r--dev-libs/vc/Manifest32
-rw-r--r--dev-libs/vc/metadata.xml2
-rw-r--r--dev-libs/vc/vc-1.3.0.ebuild39
-rw-r--r--dev-libs/vc/vc-1.3.3.ebuild39
-rw-r--r--dev-libs/vc/vc-1.4.1.ebuild19
-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/Manifest2
-rw-r--r--dev-libs/voikko-fi/metadata.xml8
-rw-r--r--dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild36
-rw-r--r--dev-libs/volume_key/Manifest1
-rw-r--r--dev-libs/volume_key/files/volume_key-0.3.12-find_python3.patch27
-rw-r--r--dev-libs/volume_key/files/volume_key-0.3.12-support_higher_LUKS_versions.patch33
-rw-r--r--dev-libs/volume_key/metadata.xml7
-rw-r--r--dev-libs/volume_key/volume_key-0.3.11.ebuild44
-rw-r--r--dev-libs/volume_key/volume_key-0.3.12-r4.ebuild59
-rw-r--r--dev-libs/volume_key/volume_key-0.3.12.ebuild47
-rw-r--r--dev-libs/wayland-protocols/Manifest5
-rw-r--r--dev-libs/wayland-protocols/metadata.xml13
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.17.ebuild43
-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.35.ebuild37
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.36.ebuild37
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-9999.ebuild56
-rw-r--r--dev-libs/wayland/Manifest2
-rw-r--r--dev-libs/wayland/metadata.xml13
-rw-r--r--dev-libs/wayland/wayland-1.17.0.ebuild70
-rw-r--r--dev-libs/wayland/wayland-1.22.0.ebuild66
-rw-r--r--dev-libs/wayland/wayland-9999.ebuild62
-rw-r--r--dev-libs/weston/Manifest4
-rw-r--r--dev-libs/weston/files/weston-musl-basename.patch73
-rw-r--r--dev-libs/weston/files/weston-neatvnc-0.8.patch15
-rw-r--r--dev-libs/weston/metadata.xml15
-rw-r--r--dev-libs/weston/weston-13.0.0-r2.ebuild150
-rw-r--r--dev-libs/weston/weston-13.0.1.ebuild151
-rw-r--r--dev-libs/weston/weston-3.0.0.ebuild151
-rw-r--r--dev-libs/weston/weston-6.0.1.ebuild142
-rw-r--r--dev-libs/weston/weston-9999.ebuild102
-rw-r--r--dev-libs/wnn7sdk/Manifest1
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch30
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch67
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch20
-rw-r--r--dev-libs/wnn7sdk/files/wnn7sdk-qa.patch52
-rw-r--r--dev-libs/wnn7sdk/metadata.xml8
-rw-r--r--dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild53
-rw-r--r--dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild46
-rw-r--r--dev-libs/xalan-c/Manifest3
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch108
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch50
-rw-r--r--dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch62
-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.xml10
-rw-r--r--dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild103
-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/Manifest11
-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.xml7
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.2.25.ebuild203
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.10.ebuild306
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.11.ebuild306
-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-bindings/xapian-bindings-1.4.5.ebuild305
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.7.ebuild305
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.8.ebuild305
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.9.ebuild305
-rw-r--r--dev-libs/xapian/Manifest12
-rw-r--r--dev-libs/xapian/metadata.xml10
-rw-r--r--dev-libs/xapian/xapian-1.2.24.ebuild66
-rw-r--r--dev-libs/xapian/xapian-1.2.25.ebuild73
-rw-r--r--dev-libs/xapian/xapian-1.4.10.ebuild78
-rw-r--r--dev-libs/xapian/xapian-1.4.11.ebuild76
-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/xapian/xapian-1.4.5.ebuild78
-rw-r--r--dev-libs/xapian/xapian-1.4.7.ebuild78
-rw-r--r--dev-libs/xapian/xapian-1.4.8.ebuild78
-rw-r--r--dev-libs/xapian/xapian-1.4.9.ebuild78
-rw-r--r--dev-libs/xbyak/metadata.xml11
-rw-r--r--dev-libs/xbyak/xbyak-5.73.ebuild8
-rw-r--r--dev-libs/xerces-c/Manifest4
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.1.4-fix-build-system.patch61
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2161.patch770
-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/metadata.xml3
-rw-r--r--dev-libs/xerces-c/xerces-c-3.1.4-r1.ebuild116
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.2-r1.ebuild118
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.2.ebuild110
-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-3.2.5.ebuild122
-rw-r--r--dev-libs/xerces-c/xerces-c-9999.ebuild46
-rw-r--r--dev-libs/xml-security-c/Manifest1
-rw-r--r--dev-libs/xml-security-c/files/xml-security-c-2.0.2-libressl.patch52
-rw-r--r--dev-libs/xml-security-c/metadata.xml11
-rw-r--r--dev-libs/xml-security-c/xml-security-c-2.0.2-r1.ebuild43
-rw-r--r--dev-libs/xmlrpc-c/Manifest4
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.32.05-Wimplicit.patch20
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.39.11-cplusplus.patch14
-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.xml5
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild99
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.39.11-r1.ebuild70
-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/xmlrpc-epi/Manifest1
-rw-r--r--dev-libs/xmlrpc-epi/files/xmlrpc-epi-0.54.2-fix-build-system.patch13
-rw-r--r--dev-libs/xmlrpc-epi/metadata.xml8
-rw-r--r--dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild41
-rw-r--r--dev-libs/xmlsec/Manifest7
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.2.28-test.patch51
-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.3-slibtool.patch48
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch25
-rw-r--r--dev-libs/xmlsec/metadata.xml11
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.28.ebuild65
-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.2.39.ebuild72
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.1.ebuild93
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild95
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.4.ebuild93
-rw-r--r--dev-libs/xmlwrapp/Manifest1
-rw-r--r--dev-libs/xmlwrapp/metadata.xml10
-rw-r--r--dev-libs/xmlwrapp/xmlwrapp-0.8.1.ebuild50
-rw-r--r--dev-libs/xplc/Manifest1
-rw-r--r--dev-libs/xplc/files/xplc-0.3.13-as-needed.patch22
-rw-r--r--dev-libs/xplc/metadata.xml9
-rw-r--r--dev-libs/xplc/xplc-0.3.13-r1.ebuild43
-rw-r--r--dev-libs/xxhash/Manifest4
-rw-r--r--dev-libs/xxhash/metadata.xml2
-rw-r--r--dev-libs/xxhash/xxhash-0.6.5.ebuild33
-rw-r--r--dev-libs/xxhash/xxhash-0.7.0.ebuild34
-rw-r--r--dev-libs/xxhash/xxhash-0.8.1.ebuild40
-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/metadata.xml2
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r1.ebuild38
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r2.ebuild38
-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/yaz/Manifest3
-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.xml13
-rw-r--r--dev-libs/yaz/yaz-3.0.53.ebuild56
-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/Manifest1
-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.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/Manifest1
-rw-r--r--dev-libs/zlog/files/zlog-testsuite-flags.patch22
-rw-r--r--dev-libs/zlog/files/zlog_no_werr.patch11
-rw-r--r--dev-libs/zlog/metadata.xml11
-rw-r--r--dev-libs/zlog/zlog-1.2.12-r1.ebuild32
-rw-r--r--dev-libs/zlog/zlog-1.2.12.ebuild31
-rw-r--r--dev-libs/zookeeper-c/Manifest3
-rw-r--r--dev-libs/zookeeper-c/metadata.xml8
-rw-r--r--dev-libs/zookeeper-c/zookeeper-c-3.4.10.ebuild45
-rw-r--r--dev-libs/zookeeper-c/zookeeper-c-3.4.8.ebuild36
-rw-r--r--dev-libs/zookeeper-c/zookeeper-c-3.4.9.ebuild36
-rw-r--r--dev-libs/zthread/Manifest1
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch75
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-clang.patch16
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-gcc47.patch25
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch26
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff94
-rw-r--r--dev-libs/zthread/metadata.xml8
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r4.ebuild66
-rw-r--r--dev-libs/zziplib/Manifest4
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.69-SDL-test.patch14
-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.xml5
-rw-r--r--dev-libs/zziplib/zziplib-0.13.69.ebuild91
-rw-r--r--dev-libs/zziplib/zziplib-0.13.72-r4.ebuild53
-rw-r--r--dev-libs/zziplib/zziplib-0.13.74.ebuild70
4439 files changed, 103109 insertions, 87007 deletions
diff --git a/dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild b/dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild
deleted file mode 100644
index 1339f84e150c..000000000000
--- a/dev-libs/389-adminutil/389-adminutil-1.1.15.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit libtool eutils
-
-MY_PV=${PV/_rc/.rc}
-MY_PV=${MY_PV/_a/.a}
-MY_P=${P/_rc/.rc}
-MY_P=${MY_P/_a/.a}
-
-DESCRIPTION="389 adminutil"
-HOMEPAGE="http://port389.org/"
-SRC_URI="http://port389.org/sources/${MY_P}.tar.bz2"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug"
-
-COMMON_DEPEND=">=dev-libs/nss-3.11.4
- >=dev-libs/nspr-4.6.4
- >=dev-libs/svrcore-4.0.3
- >=dev-libs/cyrus-sasl-2.1.19
- >=dev-libs/icu-3.4:=
- net-nds/openldap"
-DEPEND="virtual/pkgconfig ${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_prepare() {
- elibtoolize
-}
-
-src_configure() {
- econf $(use_enable debug) \
- --with-fhs \
- --with-openldap \
- --disable-rpath \
- --disable-tests ||die "econf failed"
-}
-
-src_install () {
- emake DESTDIR="${D}" install || die "emake failed"
- dodoc README NEWS
-}
diff --git a/dev-libs/389-adminutil/Manifest b/dev-libs/389-adminutil/Manifest
deleted file mode 100644
index 3734965228b5..000000000000
--- a/dev-libs/389-adminutil/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST 389-adminutil-1.1.15.tar.bz2 283825 BLAKE2B 170797066b25303c6c582c95a935cf1d47b09b28a0c530588322fca2547416eeb5dba48561ccd06b7862dd5066e15abd1dcfeb168a9331e9a7f081bb5a14ae2e SHA512 5ed8d758ee47a2e276bab73696067dd2acd36f15ea5b93b32e3e244530920d74d95a4a4ff96cd325f22ae4ce2cc764fef03c90497c0181cbc1f0291f260d8ddf
diff --git a/dev-libs/389-adminutil/metadata.xml b/dev-libs/389-adminutil/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/389-adminutil/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/9libs/9libs-1.0-r3.ebuild b/dev-libs/9libs/9libs-1.0-r3.ebuild
deleted file mode 100644
index 22450aa79dbf..000000000000
--- a/dev-libs/9libs/9libs-1.0-r3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils 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 x86"
-IUSE=""
-
-DEPEND="
- >=x11-libs/libX11-1.0.0
- >=x11-libs/libXt-1.0.0"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- # Bug 385387
- epatch "${FILESDIR}/${PN}-va_list.patch"
-}
-
-src_configure() {
- tc-export CC
- econf \
- --includedir=/usr/include/9libs \
- --enable-shared
-}
-
-src_install() {
- make install DESTDIR="${D}"
- dodoc README
-
- # 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
-}
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 8e9ba36eccd2..000000000000
--- a/dev-libs/9libs/9libs-1.0-r4.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 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 ~x86"
-IUSE="static-libs"
-
-DEPEND="
- >=x11-libs/libX11-1.0.0[static-libs?]
- >=x11-libs/libXt-1.0.0[static-libs?]
-"
-RDEPEND="
- ${DEPEND}
-"
-DOCS=(
- README
-)
-PATCHES=(
- "${FILESDIR}"/${PN}-va_list.patch # Bug 385387
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- tc-export CC
-
- econf \
- $(use_enable static-libs static) \
- --enable-shared \
- --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
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-}
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/9libs/metadata.xml b/dev-libs/9libs/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/9libs/metadata.xml
+++ b/dev-libs/9libs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
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/FBGEMM-2023.12.04.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.12.04.ebuild
new file mode 100644
index 000000000000..9299ba5bb74c
--- /dev/null
+++ b/dev-libs/FBGEMM/FBGEMM-2023.12.04.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=dbc3157bf256f1339b3fa1fef2be89ac4078be0e
+
+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"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+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 )"
+
+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..5b052896fa9b
--- /dev/null
+++ b/dev-libs/FBGEMM/Manifest
@@ -0,0 +1,3 @@
+DIST FBGEMM-2023.11.02.tar.gz 895265 BLAKE2B 0f884147a86881159485680f1cb0c7b7e65bba5a98e62c38534041264f920e08a268e348e3d82ba3d246226a10f592d86dc37bce0cfa42c72dad478041a6c807 SHA512 030f27a120586240c5f80026bd033cf6fedbe1ae12a667308d33d6321f2334021d474a3625795d1f34734336b688b19c09134e10d5cc8dec86e84485de298584
+DIST FBGEMM-2023.12.01.tar.gz 1004090 BLAKE2B dc19ebee06bccb888e5d03606168c7439ce8c96303a697056edd22d3a3a6ff4f4f3ddf5371d50aa774890ca1ad66d665f5e54976dc1b8da841759a3f4d64c4d7 SHA512 ab37964326d2cbbcbf0f2c722675d1f059407fc3185275d37f2e04f3e516fe0733ac1fb35351fc7e7c308e9c0da40811d3657a10a3696cb7648494df79408aab
+DIST FBGEMM-2023.12.04.tar.gz 1004231 BLAKE2B 930ae36f4761901e1b22d7ce4a341f051158a23646bd1f5309f6eb98c1ca483e8aa4e5a6cfc44ced702f73f84e3398c1439799457a98d0d8a009702e335d5c03 SHA512 3c786572b4a69af2a32b360711014469ded69be580d0079ba79ab81cbaa964aab51e5a189e24f0ec7dc93402d761167898918a0ea0f86d556cad4b99f5858d8c
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.4.ebuild b/dev-libs/Ice/Ice-3.6.4.ebuild
deleted file mode 100644
index d5a8c64e0f6d..000000000000
--- a/dev-libs/Ice/Ice-3.6.4.ebuild
+++ /dev/null
@@ -1,357 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} pypy )
-
-RUBY_OPTIONAL="yes"
-USE_RUBY="ruby24"
-
-PHP_EXT_NAME="IcePHP"
-PHP_EXT_INI="yes"
-PHP_EXT_ZENDEXT="no"
-
-PHP_EXT_OPTIONAL_USE=php
-
-USE_PHP="php7-0"
-
-# This variable does not belong to any eclass. It is solely used in this ebuild
-# db:6.2 breaks the build process
-BERKDB_SLOTS=( 6.1 5.3 5.1 4.8 )
-
-inherit db-use mono-env php-ext-source-r3 python-r1 ruby-ng toolchain-funcs eapi7-ver
-
-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? ( http://download.zeroc.com/Ice/$(ver_cut 1-2)/${P}.pdf )"
-LICENSE="GPL-2"
-SLOT="0/36"
-KEYWORDS="amd64 ~arm x86"
-IUSE="doc examples libressl +ncurses mono php python ruby test debug"
-RESTRICT="test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/expat-2.0.1
- >=app-arch/bzip2-1.0.5
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- || (
- $(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 ruby24) )
- mono? ( dev-lang/mono )
- php? ( dev-lang/php:7.0 )
- !dev-python/IcePy
- !dev-ruby/IceRuby"
-DEPEND="${RDEPEND}
- ncurses? ( sys-libs/ncurses:0= sys-libs/readline:0= )
- test? (
- ${PYTHON_DEPS}
- dev-python/passlib[${PYTHON_USEDEP}]
- )"
-
-# Maintainer notes:
-# TODO: java bindings, multiple ruby versions (supports 2.{1,2,3})
-
-S="${WORKDIR}/${P/I/i}"
-PHP_EXT_S="${S}/php"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.3-no-arch-opts.patch"
- "${FILESDIR}/${PN}-3.6.3-csharp.patch"
- #"${FILESDIR}/${PN}-3.6.3-libressl.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|\(install_configdir[[:space:]]*\):=|\1?=|' \
- -e 's|-L\$\(libdir\)||' \
- cpp/config/Make.rules || die "sed failed"
-
- sed -i \
- -e 's|\(install_phpdir[[:space:]]*\):=|\1?=|' \
- -e 's|\(install_libdir[[:space:]]*\):=|\1?=|' \
- php/config/Make.rules.php || die "sed failed"
-
- sed -i \
- -e 's|\(install_pythondir[[:space:]]*\)=|\1?=|' \
- -e 's|\(install_rubydir[[:space:]]*\)=|\1?=|' \
- -e 's|\(install_libdir[[:space:]]*\):=|\1?=|' \
- {python,ruby}/config/Make.rules || die "sed failed"
-
- sed -i \
- -e 's|-O2 ||g' \
- -e 's|-Werror ||g' \
- cpp/config/Make.rules.Linux || die "sed failed"
-
- sed -i \
- -e 's|install-common||' \
- {cpp,csharp,php,python,ruby}/Makefile || die "sed failed"
-
- sed -i \
- -e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \
- -e 's|\(install_libdir[[:space:]]*\):=|\1?=|' \
- -e 's|\(install_pkgconfigdir[[:space:]]*\):=|\1?=|' \
- csharp/config/Make.rules.cs || die "sed failed"
-
- # skip mono tests, bug #498484
- sed -i \
- -e '/SUBDIRS/s|\ test||' \
- csharp/Makefile || die "sed failed"
-
- # 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
- # IceStorm/stress fails without USE=debug
- # IceUtil/stacktrace fails with USE=debug
- sed -i \
- -e 's|allTests.py|allTests.py --rfilter=IceUtil\/stacktrace --rfilter=udp --rfilter=IceGrid\/admin --rfilter=IceSSL --rfilter=IceStorm\/single --rfilter=IceStorm\/stress|' \
- cpp/Makefile || die "sed failed"
-
- # mainly broken .ice files
- sed -i \
- -e 's|allTests.py|allTests.py --rfilter=operations --rfilter=slicing\/objects|' \
- python/Makefile || die "sed failed"
-
- # fails even on unicode locale
- sed -i \
- -e 's|allTests.py|allTests.py --rfilter=Slice\/unicodePaths|' \
- ruby/Makefile || die "sed failed"
-
- # fix for x86 IceBox test
- sed -i \
- -e 's|"32"|""|' \
- scripts/TestUtil.py || die "sed failed"
-}
-
-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 ncurses)"
- "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 "sed failed"
-
- if use python; then
- local S="${S}/python"
- python_copy_sources
- fi
-
- if use ruby; then
- SITERUBY="$(ruby24 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
- MAKE_RULES_RUBY=(
- "install_rubydir=\"${ED%/}/${SITERUBY}\""
- "install_libdir=\"${ED%/}/${SITERUBY}\""
- )
-
- # make it use ruby24 only
- sed -i \
- -e 's|RUBY = ruby|\024|' \
- ruby/config/Make.rules || die "sed failed"
- sed -i \
- -e 's|env ruby|\024|' \
- ruby/config/s2rb.rb || die "sed failed"
- sed -i \
- -e 's|env ruby|\024|' \
- ruby/scripts/slice2rb || die "sed failed"
- sed -i \
- -e 's|output.write("ruby|\024|' \
- scripts/TestUtil.py || die "sed failed"
- 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() {
- 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}/${P}.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-r2_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
- }
- 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 2f01fc407b04..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.4.tar.gz 5523841 BLAKE2B 4e50dcf0f004f14a38c173f181cabb97fdc201786c338800b9750dc0cf6ce9b1397ea26b4357de1f6e1ac6b4e69abbe2bf464a5f9c2926f6ae45abbf5a69803b SHA512 fdb412ce591bca7aede2ac7d70600184f3b67279e8ffdfee3649f517d5531d2dfee54b37d0cc6de2ef5de8ecd281c39d6c951781b68f9a36316a7607cefb9e57
+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-csharp.patch b/dev-libs/Ice/files/Ice-3.6.3-csharp.patch
deleted file mode 100644
index e9dce1146baa..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.3-csharp.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- ice-3.6.3/csharp/src/Makefile~ 2015-06-23 17:30:20.000000000 +0200
-+++ ice-3.6.3/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.3/csharp/lib/pkgconfig/IceSSL.pc 2015-06-27 20:19:30.731894653 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.3
-+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.3/csharp/lib/pkgconfig/IceDiscovery.pc 2015-06-27 20:20:44.312515987 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.3
-+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.3/csharp/lib/pkgconfig/IceLocatorDiscovery.pc 2015-06-27 20:21:22.206185123 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.3
-+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.3-libressl.patch b/dev-libs/Ice/files/Ice-3.6.3-libressl.patch
deleted file mode 100644
index e7d42e3f0d0c..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.3-libressl.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From cbbac2c31a04e956261489ce75c962be7e2454ae Mon Sep 17 00:00:00 2001
-From: Joe George <joe@zeroc.com>
-Date: Mon, 12 Dec 2016 11:51:41 -0500
-Subject: [PATCH] ICE-7445 - Add libressl build support
-
----
- cpp/src/IceSSL/OpenSSLEngine.cpp | 20 ++++++++++----------
- cpp/src/IceSSL/OpenSSLTransceiverI.cpp | 6 +++---
- cpp/src/IceSSL/Util.cpp | 8 ++++----
- 3 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/cpp/src/IceSSL/OpenSSLEngine.cpp b/cpp/src/IceSSL/OpenSSLEngine.cpp
-index 8c45950..7360d06 100644
---- a/cpp/src/IceSSL/OpenSSLEngine.cpp
-+++ b/cpp/src/IceSSL/OpenSSLEngine.cpp
-@@ -43,7 +43,7 @@ IceUtil::Mutex* staticMutex = 0;
- int instanceCount = 0;
- bool initOpenSSL = false;
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- IceUtil::Mutex* locks = 0;
- #endif
-
-@@ -59,10 +59,10 @@ class Init
- ~Init()
- {
- //
-- // OpenSSL 1.1.0 introduces a new thread API and removes
-+ // OpenSSL 1.1.0 introduces a new thread API and removes
- // the need to use a custom thread callback.
- //
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- CRYPTO_set_locking_callback(0);
- CRYPTO_set_id_callback(0);
-
-@@ -84,10 +84,10 @@ extern "C"
- {
-
- //
--// OpenSSL 1.1.0 introduces a new thread API and removes
-+// OpenSSL 1.1.0 introduces a new thread API and removes
- // the need to use a custom thread callback.
- //
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- //
- // OpenSSL mutex callback.
- //
-@@ -158,7 +158,7 @@ IceSSL_opensslPasswordCallback(char* buf, int size, int flag, void* userData)
- DH*
- IceSSL_opensslDHCallback(SSL* ssl, int /*isExport*/, int keyLength)
- {
--# if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- SSL_CTX* ctx = SSL_get_SSL_CTX(ssl);
- # else
- SSL_CTX* ctx = ssl->ctx;
-@@ -219,7 +219,7 @@ OpenSSLEngine::OpenSSLEngine(const CommunicatorPtr& communicator) :
- //
- // OpenSSL 1.1.0 remove the need for library initialization and cleanup.
- //
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- //
- // Create the mutexes and set the callbacks.
- //
-@@ -326,7 +326,7 @@ OpenSSLEngine::~OpenSSLEngine()
- //
- // OpenSSL 1.1.0 remove the need for library initialization and cleanup.
- //
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
- //
- // Clean up OpenSSL resources.
- //
-@@ -399,7 +399,7 @@ OpenSSLEngine::initialize()
- "IceSSL: unable to create SSL context:\n" + sslErrors());
- }
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- int securityLevel = properties->getPropertyAsIntWithDefault(propPrefix + "SecurityLevel", -1);
- if(securityLevel != -1)
- {
-@@ -954,7 +954,7 @@ OpenSSLEngine::parseProtocols(const StringSeq& protocols) const
- SSL_METHOD*
- OpenSSLEngine::getMethod(int /*protocols*/)
- {
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- SSL_METHOD* meth = const_cast<SSL_METHOD*>(TLS_method());
- #else
- //
-diff --git a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp
-index d66c5eb..9f07044 100644
---- a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp
-+++ b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp
-@@ -36,7 +36,7 @@ using namespace IceSSL;
- //
- // See: http://cvs.openssl.org/chngview?cn=22569
- //
--#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x100000bfL
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x100000bfL && !defined(LIBRESSL_VERSION_NUMBER)
- namespace
- {
-
-@@ -156,13 +156,13 @@ IceSSL::TransceiverI::initialize(IceInternal::Buffer& readBuffer, IceInternal::B
- //
- // See: http://cvs.openssl.org/chngview?cn=22569
- //
--#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x100000bfL
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x100000bfL && !defined(LIBRESSL_VERSION_NUMBER)
- IceUtilInternal::MutexPtrLock<IceUtil::Mutex> sync(sslMutex);
- #endif
-
- int ret = _incoming ? SSL_accept(_ssl) : SSL_connect(_ssl);
-
--#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x100000bfL
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x100000bfL && !defined(LIBRESSL_VERSION_NUMBER)
- sync.release();
- #endif
- if(ret <= 0)
-diff --git a/cpp/src/IceSSL/Util.cpp b/cpp/src/IceSSL/Util.cpp
-index a60ee4c..50c47f3 100644
---- a/cpp/src/IceSSL/Util.cpp
-+++ b/cpp/src/IceSSL/Util.cpp
-@@ -110,7 +110,7 @@ namespace
- {
-
- # ifndef OPENSSL_NO_DH
--# if OPENSSL_VERSION_NUMBER < 0x10100000L
-+# if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-
- // The following arrays are predefined Diffie Hellman group parameters.
- // These are known strong primes, distributed with the OpenSSL library
-@@ -228,7 +228,7 @@ unsigned char dh4096_g[] = { 0x02 };
- //
- // With OpenSSL 1.1.0 is no longer possible to acess the DH p and g
- // data members to set the DH params. We still use the same default
--// parameters but they were converted to DER format using
-+// parameters but they were converted to DER format using
- // i2d_DHparams and can be restored using d2i_DHparams
-
- unsigned char dh512[] =
-@@ -338,7 +338,7 @@ unsigned char dh4096[] =
- //
- // Convert a predefined parameter set into a DH value.
- //
--# if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- static DH*
- convertDH(const unsigned char* buf, int len)
- {
-@@ -428,7 +428,7 @@ IceSSL::DHParams::get(int keyLength)
- // No match found. Use one of the predefined parameter sets instead.
- //
- IceUtil::Mutex::Lock sync(*this);
--# if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
- if(keyLength >= 4096)
- {
- if(!_dh4096)
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.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/Ice/metadata.xml b/dev-libs/Ice/metadata.xml
index 7e0482802ddd..70ddddaaae9b 100644
--- a/dev-libs/Ice/metadata.xml
+++ b/dev-libs/Ice/metadata.xml
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>Dessa@gmake.de</email>
<name>Robert Förster</name>
</maintainer>
- <longdescription lang="en">
- Ice is a C++ middleware technology with bindings for other languages.
- </longdescription>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="github">zeroc-ice/ice</remote-id>
</upstream>
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-1.5.7.10.ebuild b/dev-libs/OpenNI/OpenNI-1.5.7.10.ebuild
deleted file mode 100644
index af12cd1ce875..000000000000
--- a/dev-libs/OpenNI/OpenNI-1.5.7.10.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/OpenNI/OpenNI"
-fi
-
-inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- 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.5 )
-"
-DEPEND="${RDEPEND}
- dev-lang/python
- doc? ( app-doc/doxygen )
- java? ( >=virtual/jdk-1.5 )"
-
-src_prepare() {
- epatch \
- "${FILESDIR}/tinyxml.patch" \
- "${FILESDIR}/jpeg.patch" \
- "${FILESDIR}/soname.patch" \
- "${FILESDIR}/${P}-gcc6.patch"
-
- 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
- dohtml -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 79a0be764ee3..c9fcc45b7700 100644
--- a/dev-libs/OpenNI/OpenNI-9999.ebuild
+++ b/dev-libs/OpenNI/OpenNI-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -9,10 +9,9 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/OpenNI/OpenNI"
fi
-inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2
+inherit ${SCM} flag-o-matic toolchain-funcs java-pkg-opt-2
if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
SRC_URI=""
else
KEYWORDS="~amd64 ~arm"
@@ -27,24 +26,26 @@ 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.5 )
+ java? ( virtual/jre:1.8 )
"
DEPEND="${RDEPEND}
- dev-lang/python
- doc? ( app-doc/doxygen )
- java? ( >=virtual/jdk-1.5 )"
+ java? ( virtual/jdk:1.8 )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}/tinyxml.patch"
+ "${FILESDIR}/jpeg.patch"
+ "${FILESDIR}/soname.patch"
+ "${FILESDIR}/${PN}-1.5.7.10-gcc6.patch"
+)
src_prepare() {
- epatch \
- "${FILESDIR}/tinyxml.patch" \
- "${FILESDIR}/jpeg.patch" \
- "${FILESDIR}/soname.patch" \
- "${FILESDIR}/${PN}-1.5.7.10-gcc6.patch"
+ default
rm -rf External/{LibJPEG,TinyXml}
for i in Platform/Linux/Build/Common/Platform.* Externals/PSCommon/Linux/Build/Platform.* ; do
@@ -55,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)" \
@@ -91,7 +95,8 @@ src_install() {
dodoc Documentation/OpenNI_UserGuide.pdf CHANGES NOTICE README
if use doc ; then
- dohtml -r "${S}/Source/DoxyGen/html/"*
+ docinto html
+ dodoc -r "${S}/Source/DoxyGen/html/"*
dodoc Source/DoxyGen/Text/*.txt
fi
diff --git a/dev-libs/OpenNI/files/betterdefines.patch b/dev-libs/OpenNI/files/betterdefines.patch
new file mode 100644
index 000000000000..5fd2eaed5d7e
--- /dev/null
+++ b/dev-libs/OpenNI/files/betterdefines.patch
@@ -0,0 +1,16 @@
+Index: OpenNI-Stable-1.5.7.10/Include/XnPlatform.h
+===================================================================
+--- OpenNI-Stable-1.5.7.10.orig/Include/XnPlatform.h
++++ OpenNI-Stable-1.5.7.10/Include/XnPlatform.h
+@@ -61,9 +61,9 @@
+ #include "Win32/XnPlatformWin32.h"
+ #elif defined(ANDROID) && defined(__arm__)
+ #include "Android-Arm/XnPlatformAndroid-Arm.h"
+-#elif (linux && (i386 || __x86_64__))
++#elif (defined(__linux__) && (i386 || __x86_64__))
+ #include "Linux-x86/XnPlatformLinux-x86.h"
+-#elif (linux && __arm__)
++#elif (defined(__linux__) && __arm__)
+ #include "Linux-Arm/XnPlatformLinux-Arm.h"
+ #elif _ARC
+ #include "ARC/XnPlatformARC.h"
diff --git a/dev-libs/OpenNI/metadata.xml b/dev-libs/OpenNI/metadata.xml
index 201349bea285..8e4a80d6897d 100644
--- a/dev-libs/OpenNI/metadata.xml
+++ b/dev-libs/OpenNI/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild b/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild
new file mode 100644
index 000000000000..606cfeb0619a
--- /dev/null
+++ b/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild
@@ -0,0 +1,108 @@
+# 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/occipital/openni2"
+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/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/${P/_/-}"
+fi
+
+DESCRIPTION="OpenNI2 SDK"
+HOMEPAGE="https://structure.io/openni"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cpu_flags_arm_neon doc java opengl static-libs"
+
+RDEPEND="
+ media-libs/libjpeg-turbo:=
+ virtual/libusb:1
+ virtual/libudev
+ opengl? ( media-libs/freeglut )
+ java? ( virtual/jre:1.8 )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-text/doxygen )
+ java? ( virtual/jdk:1.8 )"
+
+PATCHES=(
+ "${FILESDIR}/jpeg.patch"
+ "${FILESDIR}/rpath.patch"
+ "${FILESDIR}/soname.patch"
+ "${FILESDIR}/pthread.patch"
+ "${FILESDIR}/c++14.patch"
+)
+
+src_prepare() {
+ default
+
+ rm -rf ThirdParty/LibJPEG
+ for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
+ echo "" > ${i}
+ done
+}
+
+src_compile() {
+ 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)" \
+ ALLOW_WARNINGS=1 \
+ GLUT_SUPPORTED="$(usex opengl 1 0)" \
+ $(usex java "" ALL_WRAPPERS="") \
+ $(usex java "" JAVA_SAMPLES="")
+
+ if use doc ; then
+ cd "${S}/Source/Documentation"
+ doxygen || die
+ fi
+}
+
+src_install() {
+ dolib.so "${S}/Bin/"*Release/*.so
+ cp -a "${S}/Bin/"*Release/OpenNI2 "${ED}/usr/$(get_libdir)"
+
+ use static-libs && dolib.a "${S}/Bin/"*Release/*.a
+
+ insinto /usr/include/openni2
+ doins -r Include/*
+
+ dobin "${S}/Bin/"*Release/{PS1080Console,PSLinkConsole,SimpleRead,EventBasedRead,MultipleStreamRead,MWClosestPointApp}
+ use opengl && dobin "${S}/Bin/"*Release/{NiViewer,SimpleViewer,MultiDepthViewer,ClosestPointViewer}
+
+ if use java ; then
+ java-pkg_dojar "${S}/Bin/"*Release/*.jar
+ echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
+ dobin org.openni.Samples.SimpleViewer
+ fi
+
+ dodoc CHANGES.txt NOTICE README ReleaseNotes.txt Source/Documentation/Text/*.txt
+
+ if use doc ; then
+ docinto html
+ dodoc -r "${S}/Source/Documentation/html/"*
+ fi
+
+ dodir /usr/$(get_libdir)/pkgconfig
+ sed \
+ -e "s/@libdir@/$(get_libdir)/" \
+ -e "s/@version@/${PV}/" \
+ "${FILESDIR}/libopenni2.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/libopenni2.pc" || die
+}
diff --git a/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild b/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild
deleted file mode 100644
index 4f39df7f4066..000000000000
--- a/dev-libs/OpenNI2/OpenNI2-2.2_beta2.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/occipital/openni2"
-fi
-
-inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2 flag-o-matic
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://github.com/occipital/OpenNI2/archive/${PV/_/-}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${P/_/-}"
-fi
-
-DESCRIPTION="OpenNI2 SDK"
-HOMEPAGE="https://structure.io/openni"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="doc java neon opengl static-libs"
-
-RDEPEND="
- virtual/libusb:1
- virtual/libudev
- virtual/jpeg:0
- opengl? ( media-libs/freeglut )
- java? ( >=virtual/jre-1.5:* )
-"
-DEPEND="${RDEPEND}
- dev-lang/python
- doc? ( app-doc/doxygen )
- java? ( >=virtual/jdk-1.5:* )"
-
-src_prepare() {
- epatch \
- "${FILESDIR}/jpeg.patch" \
- "${FILESDIR}/rpath.patch" \
- "${FILESDIR}/soname.patch" \
- "${FILESDIR}/pthread.patch" \
- "${FILESDIR}/c++14.patch"
-
- rm -rf ThirdParty/LibJPEG
- for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
- echo "" > ${i}
- done
-}
-
-src_compile() {
- use neon && export CFLAGS="${CFLAGS} -DXN_NEON"
- emake \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- ALLOW_WARNINGS=1 \
- GLUT_SUPPORTED="$(usex opengl 1 0)" \
- $(usex java "" ALL_WRAPPERS="") \
- $(usex java "" JAVA_SAMPLES="")
-
- if use doc ; then
- cd "${S}/Source/Documentation"
- doxygen || die
- fi
-}
-
-src_install() {
- dolib.so "${S}/Bin/"*Release/*.so
- cp -a "${S}/Bin/"*Release/OpenNI2 "${ED}/usr/$(get_libdir)"
-
- use static-libs && dolib.a "${S}/Bin/"*Release/*.a
-
- insinto /usr/include/openni2
- doins -r Include/*
-
- dobin "${S}/Bin/"*Release/{PS1080Console,PSLinkConsole,SimpleRead,EventBasedRead,MultipleStreamRead,MWClosestPointApp}
- use opengl && dobin "${S}/Bin/"*Release/{NiViewer,SimpleViewer,MultiDepthViewer,ClosestPointViewer}
-
- if use java ; then
- java-pkg_dojar "${S}/Bin/"*Release/*.jar
- echo "java -jar ${JAVA_PKG_JARDEST}/org.openni.Samples.SimpleViewer.jar" > org.openni.Samples.SimpleViewer
- dobin org.openni.Samples.SimpleViewer
- fi
-
- dodoc CHANGES.txt NOTICE README ReleaseNotes.txt Source/Documentation/Text/*.txt
-
- if use doc ; then
- dohtml -r "${S}/Source/Documentation/html/"*
- fi
-
- dodir /usr/$(get_libdir)/pkgconfig
- sed \
- -e "s/@libdir@/$(get_libdir)/" \
- -e "s/@version@/${PV}/" \
- "${FILESDIR}/libopenni2.pc.in" > "${ED}/usr/$(get_libdir)/pkgconfig/libopenni2.pc" || die
-}
diff --git a/dev-libs/OpenNI2/OpenNI2-9999.ebuild b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
index 1ced5f727b73..fc73839fa7df 100644
--- a/dev-libs/OpenNI2/OpenNI2-9999.ebuild
+++ b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -9,10 +9,9 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/occipital/openni2"
fi
-inherit ${SCM} toolchain-funcs eutils multilib java-pkg-opt-2 flag-o-matic
+inherit ${SCM} flag-o-matic toolchain-funcs java-pkg-opt-2
if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
SRC_URI=""
else
KEYWORDS="~amd64 ~arm"
@@ -24,25 +23,27 @@ 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.5:* )
+ java? ( virtual/jre:1.8 )
"
DEPEND="${RDEPEND}
- dev-lang/python
- doc? ( app-doc/doxygen )
- java? ( >=virtual/jdk-1.5:* )"
+ doc? ( app-text/doxygen )
+ java? ( virtual/jdk:1.8 )"
+
+PATCHES=(
+ "${FILESDIR}/jpeg.patch"
+ "${FILESDIR}/rpath.patch"
+ "${FILESDIR}/soname.patch"
+)
src_prepare() {
- epatch \
- "${FILESDIR}/jpeg.patch" \
- "${FILESDIR}/rpath.patch" \
- "${FILESDIR}/soname.patch"
+ default
rm -rf ThirdParty/LibJPEG
for i in ThirdParty/PSCommon/BuildSystem/Platform.* ; do
@@ -51,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)" \
@@ -87,7 +94,8 @@ src_install() {
dodoc CHANGES.txt NOTICE README.md ReleaseNotes.txt Source/Documentation/Text/*.txt
if use doc ; then
- dohtml -r "${S}/Source/Documentation/html/"*
+ docinto html
+ dodoc -r "${S}/Source/Documentation/html/"*
fi
dodir /usr/$(get_libdir)/pkgconfig
diff --git a/dev-libs/OpenNI2/metadata.xml b/dev-libs/OpenNI2/metadata.xml
index 561873a856c0..6aa04fabbca1 100644
--- a/dev-libs/OpenNI2/metadata.xml
+++ b/dev-libs/OpenNI2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/dev-libs/OpenSRF/Manifest b/dev-libs/OpenSRF/Manifest
deleted file mode 100644
index 125463559b6a..000000000000
--- a/dev-libs/OpenSRF/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST opensrf-2.1.1.tar.gz 1058060 BLAKE2B 83c702727d21bea4683530857cd67037bde9eab94b91a801f64ebe70f5ad3b4994eea956cb9aaf531fbc663d4e9cb3242740f1941604a69aceaab8e396ae0e0e SHA512 5294ae2c9410ae52964067cd9090f9b7b5424e96f1731868cd896c1928ef1e89729af4a83f804f491bf2da0c6d129149105309afa18531b184098ebff2820306
diff --git a/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild b/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild
deleted file mode 100644
index 7080fd53a102..000000000000
--- a/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils multilib flag-o-matic apache-module autotools perl-module
-
-DESCRIPTION="Framework for the high-level development of the Evergreen ILS software"
-HOMEPAGE="https://open-ils.org/"
-MY_PN="opensrf" # upstream lowercased the tarball in 2.x
-MY_P="${MY_PN}-${PV}"
-SRC_URI="https://open-ils.org/downloads/${MY_P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="postgres +sqlite"
-DEPEND=">=www-servers/apache-2.2.9
- >=dev-db/libdbi-drivers-0.8.2
- >=dev-db/libdbi-0.8.2
- net-im/ejabberd
- dev-libs/libmemcached
- dev-perl/Cache-Memcached
- dev-perl/Class-DBI-AbstractSearch
- sqlite? ( dev-perl/DBD-SQLite )
- postgres? ( dev-perl/DBD-Pg )
- virtual/perl-Digest-MD5
- dev-perl/JSON-XS
- dev-perl/Net-Server
- dev-perl/UNIVERSAL-require
- dev-perl/Unix-Syslog
- dev-perl/XML-LibXML
- "
-
-S="${WORKDIR}/${MY_P}"
-PERL_S="${S}/src/perl"
-
-APXS2_S="${S}/src/gateway/.libs/"
-APACHE2_MOD_FILE="${APXS2_S}/osrf_json_gateway.so ${APXS2_S}/osrf_http_translator.so"
-#APACHE2_MOD_CONF="42_${PN}"
-#APACHE2_MOD_DEFINE="FOO"
-#DOCFILES="docs/*.html"
-need_apache2_2
-
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- perl_set_version
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-2.1.1-buildfix.patch
- eautoreconf
-}
-
-#src_compile() {
-# LIBXML2_CFLAGS=$(xml2-config --cflags)
-# LIBXML2_CFLAGS="${LIBXML2_CFLAGS//*-I}"
-# LIBXML2_HEADERS="${LIBXML2_CFLAGS// *}"
-# APR_HEADERS=$(apr-1-config --includedir)
-# APACHE2_HEADERS=$(apxs2 -q INCLUDEDIR)
-# sed -i \
-# -e '/^export PREFIX=/s,/.*,/usr,' \
-# -e '/^export BINDIR=/s,/.*,${PREFIX}/bin,' \
-# -e "/^export LIBDIR=/s,/.*,\${PREFIX}/$(get_libdir)," \
-# -e '/^export PERLDIR=/s,/.*,${LIBDIR}/perl5,' \
-# -e '/^export INCLUDEDIR=/s,/.*,${PREFIX}/include,' \
-# -e '/^export ETCDIR=/s,/.*,/etc,' \
-# -e '/^export SOCK=/s,/.*,/var/run/opensrf,' \
-# -e '/^export PID=/s,/.*,/var/run/opensrf,' \
-# -e '/^export LOG=/s,/.*,/var/log,' \
-# -e '/^export TMP=/s,/.*,/tmp,' \
-# -e '/^export APXS2=/s,/.*,/usr/sbin/apxs2,' \
-# -e "/^export APACHE2_HEADERS=/s,/.*,${APACHE2_HEADERS}," \
-# -e "/^export APR_HEADERS=/s,/.*,${APR_HEADERS}," \
-# -e "/^export LIBXML2_HEADERS=/s,/.*,${LIBXML2_HEADERS}," \
-# install.conf
-# emake verbose || die "Failed to build"
-#}
-src_configure() {
- APXS2_INSTALL="-i" \
- econf \
- --with-apxs=/usr/sbin/apxs2 \
- --sysconfdir=/etc/opensrf \
- --localstatedir=/var \
- || die "econf failed"
- cd "${PERL_S}" && S="${PERL_S}" perl-module_src_configure || die "perl-module_src_configure failed"
-}
-
-src_compile() {
- emake
- cd "${PERL_S}" && S="${PERL_S}" perl-module_src_compile || die "perl-module_src_compile failed"
-}
-
-src_install() {
- einfo "Doing src_install"
- #emake install-verbose DESTDIR="${D}" || die "Failed to install"
- emake install DESTDIR="${D}" APXS2_INSTALL="-i"
- apache-module_src_install || die "apache-module_src_install failed"
- cd "${PERL_S}" && S="${PERL_S}" perl-module_src_install || die "perl-module_src_install failed"
- cd "${S}"
-
- # Docs
- dodoc README doc/*
-}
-
-src_test() {
- emake check
- cd "${PERL_S}" && S="${PERL_S}" perl-module_src_test || die "perl-module_src_test failed"
-}
-
-pkg_config() {
- :
- #JABBER_SERVER=${JABBER_SERVER:=localhost}
- #JABBER_PORT=${JABBER_PORT:=5222}
- #PASSWORD=${PASSWORD:=osrf}
- #einfo "Using Jabber server at ${JABBER_SERVER}:${JABBER_PORT}"
- #einfo "Adding 'osrf' and 'router' users with password ${PASSWORD}"
- #cd "${ROOT}"/usr/share/doc/${PF}/examples
- #for user in osrf router ; do
- # perl register.pl ${JABBER_SERVER} ${JABBER_PORT} ${user} ${PASSWORD} \
- # || die "Failed to add $user user to server"
- #done
-}
diff --git a/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch b/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch
deleted file mode 100644
index 767a478b53a8..000000000000
--- a/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Upstream uses DESTDIR, but then tries to hard-install the apache config
-modules, as well as not allowing other arguments to Build.PL easily.
-
-Split apache modules to be built during compile phase, and allow control of
-apxs2 install mode (for Gentoo, pass APXS2_INSTALL=-i).
-
-For the Build.PL problem, just disable it entirely here, and use the Gentoo
-build functions to call Build.PL instead
-(presently does --installdirs=vendor --libdoc= --destdir="${D}" --create_packlist=0).
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-
-diff -Nuar opensrf-2.1.1.orig/src/gateway/Makefile.am opensrf-2.1.1/src/gateway/Makefile.am
---- opensrf-2.1.1.orig/src/gateway/Makefile.am 2012-11-06 17:39:46.000000000 +0000
-+++ opensrf-2.1.1/src/gateway/Makefile.am 2012-11-12 21:56:52.108564157 +0000
-@@ -17,20 +17,23 @@
- AM_CFLAGS = -D_LARGEFILE64_SOURCE -Wall -I@abs_top_srcdir@/include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS)
- AM_LDFLAGS = -L$(LIBDIR) -L@top_builddir@/src/libopensrf
- AP_LIBEXECDIR = `$(APXS2) -q LIBEXECDIR`
-+APXS2_INSTALL = -i -a
-
- DISTCLEANFILES = Makefile.in Makefile
-
--install-exec-local:
-- d=`$(APXS2) -q SYSCONFDIR` && \
-- if ! grep mod_placeholder $${d}/httpd.conf 2>&1 >/dev/null ; \
-- then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
-- >> $${d}/httpd.conf; \
-- fi
-+all:
- $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_json_gateway.c apachetools.c apachetools.h libopensrf.so
- $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_http_translator.c apachetools.c apachetools.h libopensrf.so
-+
-+install-exec-local:
-+# d=`$(APXS2) -q SYSCONFDIR` && \
-+# if ! grep mod_placeholder $${d}/httpd.conf 2>&1 >/dev/null ; \
-+# then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
-+# >> $${d}/httpd.conf; \
-+# fi
- $(MKDIR_P) $(DESTDIR)$(AP_LIBEXECDIR)
-- $(APXS2) -i -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) -a @srcdir@/osrf_json_gateway.la
-- $(APXS2) -i -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) -a @srcdir@/osrf_http_translator.la
-+ $(APXS2) $(APXS2_INSTALL) -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) @srcdir@/osrf_json_gateway.la
-+ $(APXS2) $(APXS2_INSTALL) -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) @srcdir@/osrf_http_translator.la
-
- clean-local:
- rm -f @srcdir@/osrf_http_translator.la @srcdir@/osrf_http_translator.lo @srcdir@/osrf_http_translator.slo @srcdir@/osrf_json_gateway.la @srcdir@/osrf_json_gateway.lo @srcdir@/osrf_json_gateway.slo
-diff -Nuar opensrf-2.1.1.orig/configure.ac opensrf-2.1.1/configure.ac
---- opensrf-2.1.1.orig/configure.ac 2012-11-06 17:39:46.000000000 +0000
-+++ opensrf-2.1.1/configure.ac 2012-11-12 22:04:38.673403306 +0000
-@@ -352,7 +352,6 @@
- src/gateway/Makefile
- src/jserver/Makefile
- src/libopensrf/Makefile
-- src/perl/Makefile
- src/ports/strn_compat/Makefile
- src/python/opensrf.py
- src/router/Makefile
-diff -Nuar opensrf-2.1.1.orig/src/Makefile.am opensrf-2.1.1/src/Makefile.am
---- opensrf-2.1.1.orig/src/Makefile.am 2012-11-06 17:39:46.000000000 +0000
-+++ opensrf-2.1.1/src/Makefile.am 2012-11-12 22:04:35.580149012 +0000
-@@ -40,7 +40,7 @@
- endif
-
- if BUILDCORE
--MAYBE_CORE = libopensrf c-apps router srfsh gateway perl
-+MAYBE_CORE = libopensrf c-apps router srfsh gateway
- if BUILDPYTHON
- dist_bin_SCRIPTS = @top_srcdir@/bin/opensrf-perl.pl @top_srcdir@/src/python/opensrf.py @top_srcdir@/src/python/srfsh.py
- else
diff --git a/dev-libs/OpenSRF/metadata.xml b/dev-libs/OpenSRF/metadata.xml
deleted file mode 100644
index 79d462e85571..000000000000
--- a/dev-libs/OpenSRF/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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>
-</pkgmetadata>
diff --git a/dev-libs/actor-framework/Manifest b/dev-libs/actor-framework/Manifest
deleted file mode 100644
index f9a857da4351..000000000000
--- a/dev-libs/actor-framework/Manifest
+++ /dev/null
@@ -1,14 +0,0 @@
-DIST CAF_0.13.2-benchmarks.tar.gz 46365 BLAKE2B f663bc5294ff2de9af2a2ed365961440f36ade8595e363042b40e390db75e84c217d4d3019a6f78e61eb18c71116a498233f194e02e43eb86bfc4b867a89b5d1 SHA512 8b0bc0ad21b454c70fbeef50bce3246a87b8f5ff0bd10ccd196aa2f6c155e252863b1c22e98c589519a5efc43601172dbcf1f9f2e961d49d2babd4f548b0b672
-DIST CAF_0.13.2-cash.tar.gz 7705 BLAKE2B 7c0d8142c52721cf9ca2dd8ad2762af7f812e2e4d754b44996881cd3acc9664843ca1d8dd6ef7bbbe616bcf660319f955c1d4308229d6b45d38a3a0e6ff36d49 SHA512 a264bdc9573b71675b7a8c30fa1a985d1b7e5c39b603b01b53660f52bfcf09c4bd80fe942ef917bc0ecbe305941bf6df5f0305b43d1cfc015992fdf7520e2911
-DIST CAF_0.13.2-nexus.tar.gz 2920 BLAKE2B 87d1df36df423d4c8f88394e6fe5297a5f9b10f825195cfb3c84815c9be7ecd882c921345d802dd40163f447a62f95a1ca9e8e47b5116ee828d9b78670b4fdc6 SHA512 4991ae663bfb5bbb71be9c17c23bef29903d2b797299d52cb68cd5f02681c826ce495ff2badc66442b7cdb0638bfe94209e5226ec5ee3031dc1a63573fe94ad6
-DIST CAF_0.13.2-opencl.tar.gz 15040 BLAKE2B fa92cae918a8a82776e52e7e98bf3616398a9588f70278755201c251e371fffe532c04df31258d00e081b6a88e499deea4e7c3c9f182ad69fb365871c97db64b SHA512 bc18469d2e63f504981cc803e9b08698c4eab100fbbe412caea674a619eece9c30f1ad9537eac833bd55b08ceb92cfd6a1f539ae8d908b46a682712b91d23eaf
-DIST CAF_0.13.2-riac.tar.gz 6481 BLAKE2B a0b6b2c496109bef23ce63893ecb2b91e973ec646b6bde7e87cb0188f12d4564c8a1199a46f10400a4cd54cb1b0c2fff7e3950bc64f1b200a91bb5e0c31b0479 SHA512 ceba0926fa8f28b3af74f6af1d464934674a67daf74abd8c23547b464a64247fbcd5a7cc58d1852c616c477d50ad7b3f9c827b16cd32d81dbd3b0fd4b4f3b2e4
-DIST CAF_0.13.2-sash_cash.tar.gz 36108 BLAKE2B 845be2db87736d673719fdb8305930e307532f45bf48cba5adfcac6412400837d3ac2feb914ce2234cd744dfd5dfcddf6620549035a8f3951ddd7576b9848088 SHA512 e78d694268ddb0979781a0fc1ac9e7d70d4bfa73579afa0008e0b58bc0d7f9d853aec25a4badf90d6d398f9538b46ecdc25a66dfed6d24b9813e3100eec07aff
-DIST CAF_0.14.5-benchmarks.tar.gz 46245 BLAKE2B 1e9477faa604bad9ac73ee7d8fe58bb793f0120a733eddef881fea0c0717f292059190e813358bb089219bc75ad3e581ea120dd84553ee4ef33809ebafb427ec SHA512 11edb5337be18b106c852fe95a7a0d50c9eaf2c21d9e64cee84a60d2e8443083447440a463a24d6cf376bcae421a0d5942b1b3fa6debb7f7102dc8648d1bb15f
-DIST CAF_0.14.5-cash.tar.gz 8182 BLAKE2B 59c1e66b05f509d3d126cd5026949105d9ffaae12013262749e7775ef41b01e725769ea2cd2bcf762827a9b8be1bc970cf1d39c8405ca6fd31a0be949c1f9621 SHA512 0e4fe9dd433a6dc353404eb1a10b898c8589db455f550bafefcea3b0f04659cab3e2b63e353b5dab709080aaa1319942fd56d9eaf3c2d0e244f6eed202f81deb
-DIST CAF_0.14.5-nexus.tar.gz 1510 BLAKE2B 43d09f1b1d4e6202d7c4e4c0b09402f8cfdd38920d9e6b99c0948602fa267fbdd6f285a76935ed7f58d9abae6ada93da6459a1daea5204a4763e9113ed543b27 SHA512 e71cfd629adf83a3fe5a0a33656d9cb499bb4de10cd73fdccf81c9235cc69b277de63dde035f9cd28c8dbc9a6311ce45af13e3d40d14b6c07c5ad9b714dccec1
-DIST CAF_0.14.5-opencl.tar.gz 22047 BLAKE2B 1ea9c4c76b5711a0f4122c1f6a8982a39319f3a8e9accdc1985a39fc01ea83894bc6f51ec0d4bd0f1dfd0ab55f3ebf06def23cd875ddf2fdc30844a8fc106811 SHA512 fb8ea40b16be7646ede25f054688945b21b90719526bdefc786f80581b3f1472945c643f4cc1641f1688252e73e0a0d388e4477c8055b685318d6bf1639cda00
-DIST CAF_0.14.5-riac.tar.gz 8452 BLAKE2B 31e06f80e90b877e085038439a5437d392095b10a0d9f5c643a53ca8c0b0f215fb308030df54bbfde05ab6b130d78c87325271f9418e1352906c25300e58c212 SHA512 b4a70548dd2a839dafadd091334a367d1ba7c8632c47f8df8f6c3ee730b4b4b75c8e00d7c335d719dd9f044e0d40436ea265b7717940ac81531b266b8cbcb5cf
-DIST CAF_0.14.5-sash_cash.tar.gz 36600 BLAKE2B 85e698f774948628779736a69631862e07a6a579c0d05b739fd2730b518701c6910c5744b5f685f45987bdfb76a868206fcefe1087b5b248ea6c2f5493005e6f SHA512 dc90af883553ac67ff8e7bfcc2213200892137a5f9bcbaab95561898bacddaa5687a39a23eef7fd08b9be54fed2816d4c7d6bb31848cfbbc337ac81312f68542
-DIST actor-framework-0.13.2.tar.gz 570416 BLAKE2B e149737c7259d04294fc2a2e15a12eea740de50328f637cbb8b27bbab4411228cfa89e83780c294284f36bf18dab604c95525e1c0afe57522d958349df951950 SHA512 fce8eaec477a1d1f141e631b3160eb4f39d6334023b325545035ab20546e4920cd9418378bf5bd6fadae995d793dfc618309556b541cdf125b377ba413658e6e
-DIST actor-framework-0.14.5.tar.gz 1239461 BLAKE2B 33fc2aee5decc138d3489df9168364efd73781d963b8b5d371bfdbbeb0b1b812489c982099692e2125f4a58f4c0e64c13fa4954b95ed738336ad614cd7bdf162 SHA512 6bf9cd9868b633cdd249f4e5d503bb9d489a68f5a86e9ba505b3b65984ecf5d931878620ace504a8baed34da7a396a68a7c425ba8c8afef15e0557ed9aa19be9
diff --git a/dev-libs/actor-framework/actor-framework-0.13.2.ebuild b/dev-libs/actor-framework/actor-framework-0.13.2.ebuild
deleted file mode 100644
index 49242e511bc0..000000000000
--- a/dev-libs/actor-framework/actor-framework-0.13.2.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic cmake-multilib
-
-bench_ref="78c746269bb53ff0b2026e7b1a8fe11fabc69e64"
-cash_ref="847edfb18afa6b755a91a203872bcd66bbeb5868"
-sash_ref="9da5a40793d77e7f6d3afb504cf02c0acb59d35c"
-opencl_ref="91ebbda2986f3f32a873d02ca5eb550f26c6b70d"
-riac_ref="855e725739b7688290f66f592f858149c92375c5"
-nexus_ref="90d42335ff3a2fe67ac4ae41a844f0b245bb123c"
-
-DESCRIPTION="The C++ Actor Framework (CAF)"
-HOMEPAGE="https://actor-framework.org/"
-SRC_URI="https://github.com/actor-framework/actor-framework/archive/${PV}.tar.gz -> ${P}.tar.gz
- benchmarks? ( https://github.com/actor-framework/benchmarks/archive/${bench_ref}.tar.gz -> CAF_${PV}-benchmarks.tar.gz )
- cash? ( https://github.com/actor-framework/cash/archive/${cash_ref}.tar.gz -> CAF_${PV}-cash.tar.gz
- https://github.com/Neverlord/sash/archive/${sash_ref}.tar.gz -> CAF_${PV}-sash_cash.tar.gz )
- nexus? ( https://github.com/actor-framework/nexus/archive/${nexus_ref}.tar.gz -> CAF_${PV}-nexus.tar.gz )
- opencl? ( https://github.com/actor-framework/opencl/archive/${opencl_ref}.tar.gz -> CAF_${PV}-opencl.tar.gz )
- riac? ( https://github.com/actor-framework/riac/archive/${riac_ref}.tar.gz -> CAF_${PV}-riac.tar.gz )"
-LICENSE="|| ( Boost-1.0 BSD )"
-SLOT="0/13.2"
-KEYWORDS="~amd64 ~x86"
-IUSE="boost benchmarks cash debug doc examples +mem_management nexus opencl riac static test"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen
- dev-texlive/texlive-latex
- dev-tex/hevea
- )"
-RDEPEND="boost? ( dev-libs/boost[${MULTILIB_USEDEP}] )
- net-misc/curl[${MULTILIB_USEDEP}]
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )"
-REQUIRED_USE="cash? ( riac )"
-
-src_unpack() {
- unpack ${A}
- for i in cash nexus; do
- if use ${i}; then
- mv "${i}"*/* "${S}/${i}/" || die "died copying sources for ${i}"
- fi
- done
- for i in opencl riac; do
- if use ${i}; then
- mv "${i}"*/* "${S}/libcaf_${i}/" || die "died copying sources for ${i}"
- fi
- done
- if use cash; then
- mv sash*/* "${S}/cash/sash/" || die "died copying sources for sash"
- fi
- if use benchmarks; then
- mv "${WORKDIR}/benchmarks-"* "${WORKDIR}/benchmarks" || die "died moving benchmarks"
- fi
-}
-
-src_prepare() {
- find "${S}" -name CMakeLists.txt \
- -exec sed -i 's#\(install(.* DESTINATION \)lib#\1${LIBRARY_OUTPUT_PATH}#g' \{\} + \
- || die
- rm examples/CMakeLists.txt || die
- append-cxxflags "-std=c++11 -pthread -Wextra -Wall -pedantic"
- append-cflags "-std=c11 -pthread -Wextra -Wall -pedantic"
-
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DCAF_NO_EXAMPLES=ON
- -DCAF_NO_BENCHMARKS=ON
- -DCAF_USE_ASIO=$(usex boost)
- -DCAF_NO_CASH=$(usex cash OFF ON)
- -DCAF_LOG_LEVEL=$(usex debug 3 0)
- -DCAF_ENABLE_RUNTIME_CHECKS=$(usex debug)
- -DCAF_ENABLE_ADDRESS_SANITIZER=$(usex debug)
- -DCAF_NO_MEM_MANAGEMENT=$(usex mem_management OFF ON)
- -DCAF_NO_NEXUS=$(usex nexus OFF ON)
- -DCAF_NO_OPENCL=$(usex opencl OFF ON)
- -DCAF_NO_RIAC=$(usex riac OFF ON)
- -DCAF_BUILD_STATIC=$(usex static)
- -DCAF_NO_UNIT_TESTS=$(usex test OFF ON )
- -DLIBRARY_OUTPUT_PATH="$(get_libdir)"
- )
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- if use doc; then
- emake doc
- emake -C "${S}/manual/build-pdf"
- emake -C "${S}/manual/build-html"
- fi
-}
-
-multilib_src_install() {
- DOCS=( README.md )
- use examples && DOCS+=( "${S}/examples" )
- use benchmarks && DOCS+=( "${WORKDIR}/benchmarks/" )
- if use doc; then
- HTML_DOCS=( "${S}/html/"* )
- for i in pdf html; do
- DOCS+=( "${S}"/manual/build-${i}/manual.${i} )
- done
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/actor-framework/actor-framework-0.14.5.ebuild b/dev-libs/actor-framework/actor-framework-0.14.5.ebuild
deleted file mode 100644
index 09e25ff578c9..000000000000
--- a/dev-libs/actor-framework/actor-framework-0.14.5.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib
-
-bench_ref="2c45d8c1c2b934e062baf378809201ac66d169a7"
-cash_ref="38bcdedf7df5536899dd4373969e6653380d2a86"
-sash_ref="75e68c37ccafbcb7b7da8c0afe564d59bcf10594"
-opencl_ref="200eb3f43fb243515d0652324e6d606dede3f676"
-riac_ref="83de14803c841a7113c4b13c94624a55f3eec984"
-nexus_ref="254fbf76f83bb06e6001943b78838644345211a4"
-
-DESCRIPTION="The C++ Actor Framework (CAF)"
-HOMEPAGE="https://actor-framework.org/"
-SRC_URI="https://github.com/actor-framework/actor-framework/archive/${PV}.tar.gz -> ${P}.tar.gz
- benchmarks? ( https://github.com/actor-framework/benchmarks/archive/${bench_ref}.tar.gz -> CAF_${PV}-benchmarks.tar.gz )
- cash? ( https://github.com/actor-framework/cash/archive/${cash_ref}.tar.gz -> CAF_${PV}-cash.tar.gz
- https://github.com/Neverlord/sash/archive/${sash_ref}.tar.gz -> CAF_${PV}-sash_cash.tar.gz )
- nexus? ( https://github.com/actor-framework/nexus/archive/${nexus_ref}.tar.gz -> CAF_${PV}-nexus.tar.gz )
- opencl? ( https://github.com/actor-framework/opencl/archive/${opencl_ref}.tar.gz -> CAF_${PV}-opencl.tar.gz )
- riac? ( https://github.com/actor-framework/riac/archive/${riac_ref}.tar.gz -> CAF_${PV}-riac.tar.gz )"
-LICENSE="|| ( Boost-1.0 BSD )"
-SLOT="0/14.5"
-KEYWORDS="~amd64 ~x86"
-IUSE="boost benchmarks cash debug doc examples +mem_management nexus opencl riac static test"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen
- dev-texlive/texlive-latex
- dev-tex/hevea
- )"
-RDEPEND="boost? ( dev-libs/boost[${MULTILIB_USEDEP}] )
- net-misc/curl[${MULTILIB_USEDEP}]
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )"
-REQUIRED_USE="cash? ( riac )"
-
-src_unpack() {
- unpack ${A}
- for i in cash nexus; do
- if use ${i}; then
- mv "${i}"*/* "${S}/${i}/" || die "died copying sources for ${i}"
- fi
- done
- for i in opencl riac; do
- if use ${i}; then
- mv "${i}"*/* "${S}/libcaf_${i}/" || die "died copying sources for ${i}"
- fi
- done
- if use cash; then
- mv sash*/* "${S}/cash/sash/" || die "died copying sources for sash"
- fi
- if use benchmarks; then
- mv "${WORKDIR}/benchmarks-"* "${WORKDIR}/benchmarks" || die "died moving benchmarks"
- fi
-}
-
-src_prepare() {
- find "${S}" -name CMakeLists.txt \
- -exec sed -i 's#\(install(.* DESTINATION \)lib#\1${LIBRARY_OUTPUT_PATH}#g' \{\} + \
- || die
- rm examples/CMakeLists.txt || die
- append-cxxflags "-std=c++11 -pthread -Wextra -Wall -pedantic"
- append-cflags "-std=c11 -pthread -Wextra -Wall -pedantic"
-
- cmake-utils_src_prepare
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DCAF_NO_EXAMPLES=ON
- -DCAF_NO_BENCHMARKS=ON
- -DCAF_USE_ASIO=$(usex boost)
- -DCAF_NO_CASH=$(usex cash OFF ON)
- -DCAF_LOG_LEVEL=$(usex debug 3 0)
- -DCAF_ENABLE_RUNTIME_CHECKS=$(usex debug)
- -DCAF_ENABLE_ADDRESS_SANITIZER=$(usex debug)
- -DCAF_NO_MEM_MANAGEMENT=$(usex mem_management OFF ON)
- -DCAF_NO_NEXUS=$(usex nexus OFF ON)
- -DCAF_NO_OPENCL=$(usex opencl OFF ON)
- -DCAF_NO_RIAC=$(usex riac OFF ON)
- -DCAF_BUILD_STATIC=$(usex static)
- -DCAF_NO_UNIT_TESTS=$(usex test OFF ON )
- -DLIBRARY_OUTPUT_PATH="$(get_libdir)"
- )
-
- cmake-utils_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- if use doc; then
- emake doc
- emake -C "${S}/manual/build-pdf"
- emake -C "${S}/manual/build-html"
- fi
-}
-
-multilib_src_install() {
- DOCS=( README.md )
- use examples && DOCS+=( "${S}/examples" )
- use benchmarks && DOCS+=( "${WORKDIR}/benchmarks/" )
- if use doc; then
- HTML_DOCS=( "${S}/html/"* )
- for i in pdf html; do
- DOCS+=( "${S}"/manual/build-${i}/manual.${i} )
- done
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/actor-framework/metadata.xml b/dev-libs/actor-framework/metadata.xml
deleted file mode 100644
index 9e4f4846bfbc..000000000000
--- a/dev-libs/actor-framework/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
- <use>
- <flag name="benchmarks">Due to the number of out-of-tree deps, these only get installed as docs</flag>
- <flag name="boost">Make use of Boost's ASIO functionality</flag>
- <flag name="cash">Build the C Actor Shell for introspection and debugging</flag>
- <flag name="debug">Raises log-level to DEBUG, enables runtime checks and address sanitizer</flag>
- <flag name="doc">Compiles and installs the documentation as PDF and HTML</flag>
- <flag name="examples">Installs the provided example source files</flag>
- <flag name="mem_management">Enables built-in memory management</flag>
- <flag name="nexus">Nexus is the central component for CAF's runtime inspection</flag>
- <flag name="opencl">Compiles against the provided opencl implementation</flag>
- <flag name="riac">Runtime inspection and configuration</flag>
- <flag name="static">Provides a static build</flag>
- <flag name="test">Builds the provided unit tests</flag>
- </use>
- <upstream>
- <remote-id type="github">actor-framework/actor-framework</remote-id>
- </upstream>
- <longdescription lang="en">
- An implementation of the Actor Model of distributed computation in C++.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/amdgpu-pro-opencl/Manifest b/dev-libs/amdgpu-pro-opencl/Manifest
index f121307d8f2e..bb125b081adf 100644
--- a/dev-libs/amdgpu-pro-opencl/Manifest
+++ b/dev-libs/amdgpu-pro-opencl/Manifest
@@ -1,2 +1 @@
-DIST amdgpu-pro-18.20-684755-ubuntu-16.04.tar.xz 229474380 BLAKE2B f589aad71f093b74e37de40ac7c45ebbbeff93609b2fff1baaba711347a4641ef17acdcbe69d371372510a48bd48262cf6269c1f4d05e264023d52a425a423f2 SHA512 240e701acfde4ebe665cf69c8bd3710d036f450822aeb7ee2a21caab289af44167afda1d3b8d0dbe2c46c4e63d9b6fb5e96778311f342c26f334dc7beb4a2d5b
-DIST amdgpu-pro-19.10-785425-ubuntu-18.04.tar.xz 243520380 BLAKE2B 8c775feaff685b18b6df2f6f17667dbadb3da89f58c823f5470113342b585ecb436fbacef6ba26b35fe05bac53530cfe334d79d933afee303651e1375654da85 SHA512 d9c214134bf220c2ab4a306f5d83ce5718adc1f3e93165c724e70b99b4b5bcd8e703299ed70fe79f1d2db5f4f69cae2e1036b5a6238696346710c88f7fa6b3c6
+DIST amdgpu-pro-20.40-1147286-ubuntu-20.04.tar.xz 333011308 BLAKE2B 82d0b728ee06bbc1a3dde579215a23397abb223caf7e2922b71dda9f31bebf13eaf5b1c5c7f25146dc2cfb31b57d16e848b0f902e599ed361e9285998cdb99fd SHA512 9b064a3b02d2a1ec18fdd6c098b70f4a8c6f93e4bfdc4e9a032ca387bdf7223278622c19d5bd55e493555c5f734168c3f2768cb743f9e00dcf5f96cbc399c7b3
diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-18.20.684755.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-18.20.684755.ebuild
deleted file mode 100644
index ffc46c93b615..000000000000
--- a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-18.20.684755.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-
-inherit unpacker multilib-minimal
-
-SUPER_PN='amdgpu-pro'
-MY_PV=$(ver_rs 2 '-')
-
-DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
-HOMEPAGE="https://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-for-Linux-Release-Notes.aspx"
-SRC_URI="${SUPER_PN}-${MY_PV}-ubuntu-16.04.tar.xz"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RESTRICT="mirror fetch strip"
-
-COMMON="app-eselect/eselect-opencl
- dev-libs/ocl-icd"
-DEPEND="${COMMON}"
-RDEPEND="${COMMON}"
-
-QA_PREBUILT="/opt/amdgpu/lib*/*"
-
-S="${WORKDIR}/${SUPER_PN}-${MY_PV}-ubuntu-16.04"
-
-pkg_nofetch() {
- local pkgver=$(ver_cut 1-2)
- einfo "Please download the Radeon Software for Linux Driver ${pkgver} for Ubuntu 16 from"
- einfo " ${HOMEPAGE}"
- einfo "The archive should then be placed into your distfiles directory."
-}
-
-src_unpack() {
- default
- multilib_parallel_foreach_abi multilib_src_unpack
-}
-
-multilib_src_unpack() {
- local deb_abi
- [[ ${ABI} == x86 ]] && deb_abi=i386
- mkdir -p "${BUILD_DIR}" || die
- pushd "${BUILD_DIR}" >/dev/null || die
- unpack_deb "${S}/opencl-orca-amdgpu-pro-icd_${MY_PV}_${deb_abi:-${ABI}}.deb"
- popd >/dev/null || die
-}
-
-multilib_src_install() {
- local dir_abi short_abi
- [[ ${ABI} == x86 ]] && dir_abi=i386-linux-gnu && short_abi=32
- [[ ${ABI} == amd64 ]] && dir_abi=x86_64-linux-gnu && short_abi=64
-
- into "/opt/amdgpu"
- dolib.so "opt/${SUPER_PN}/lib/${dir_abi}"/*
-
- insinto /etc/OpenCL/vendors
- echo "/opt/amdgpu/$(get_libdir)/libamdocl-orca${short_abi}.so" \
- > "${T}/${SUPER_PN}-${ABI}.icd" || die "Failed to generate ICD file for ABI ${ABI}"
- doins "${T}/${SUPER_PN}-${ABI}.icd"
-}
-
-pkg_postinst() {
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- ewarn "Please note that using proprietary OpenCL libraries together with the"
- ewarn "Open Source amdgpu stack is not officially supported by AMD. Do not ask them"
- ewarn "for support in case of problems with this package."
- ewarn ""
- ewarn "Furthermore, if you have the whole AMDGPU-Pro stack installed this package"
- ewarn "will almost certainly conflict with it. This might change once AMDGPU-Pro"
- ewarn "has become officially supported by Gentoo."
- fi
-
- "${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
-}
diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425-r1.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425-r1.ebuild
deleted file mode 100644
index 9e9ca9dc6bed..000000000000
--- a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425-r1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-
-inherit unpacker multilib-minimal
-
-SUPER_PN='amdgpu-pro'
-MY_PV=$(ver_rs 2 '-')
-
-DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
-HOMEPAGE="https://www.amd.com/en/support/kb/release-notes/rn-rad-lin-19-10-unified"
-SRC_URI="${SUPER_PN}-${MY_PV}-ubuntu-18.04.tar.xz"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RESTRICT="mirror fetch strip"
-
-BDEPEND="dev-util/patchelf"
-COMMON="app-eselect/eselect-opencl
- dev-libs/ocl-icd"
-DEPEND="${COMMON}"
-RDEPEND="${COMMON}
- !media-libs/mesa[opencl]" # Bug #686790
-
-QA_PREBUILT="/opt/amdgpu/lib*/*"
-
-S="${WORKDIR}/${SUPER_PN}-${MY_PV}-ubuntu-18.04"
-
-pkg_nofetch() {
- local pkgver=$(ver_cut 1-2)
- einfo "Please download Radeon Software for Linux version ${pkgver} for Ubuntu 18.04 from"
- einfo " ${HOMEPAGE}"
- einfo "The archive should then be placed into your distfiles directory."
-}
-
-src_unpack() {
- default
-
- local ids_ver="1.0.0"
- local patchlevel=$(ver_cut 3)
- cd "${S}" || die
- unpack_deb "${S}/libdrm-amdgpu-common_${ids_ver}-${patchlevel}_all.deb"
- multilib_parallel_foreach_abi multilib_src_unpack
-}
-
-multilib_src_unpack() {
- local libdrm_ver="2.4.97"
- local patchlevel=$(ver_cut 3)
- local deb_abi
- [[ ${ABI} == x86 ]] && deb_abi=i386
-
- mkdir -p "${BUILD_DIR}" || die
- pushd "${BUILD_DIR}" >/dev/null || die
- unpack_deb "${S}/opencl-orca-amdgpu-pro-icd_${MY_PV}_${deb_abi:-${ABI}}.deb"
- unpack_deb "${S}/libdrm-amdgpu-amdgpu1_${libdrm_ver}-${patchlevel}_${deb_abi:-${ABI}}.deb"
- popd >/dev/null || die
-}
-
-multilib_src_install() {
- local dir_abi short_abi
- [[ ${ABI} == x86 ]] && dir_abi=i386-linux-gnu && short_abi=32
- [[ ${ABI} == amd64 ]] && dir_abi=x86_64-linux-gnu && short_abi=64
-
- into "/opt/amdgpu"
- patchelf --set-rpath '$ORIGIN' "opt/${SUPER_PN}/lib/${dir_abi}"/libamdocl-orca${short_abi}.so || die "Failed to fix library rpath"
- dolib.so "opt/${SUPER_PN}/lib/${dir_abi}"/*
- dolib.so "opt/amdgpu/lib/${dir_abi}"/*
-
- insinto /etc/OpenCL/vendors
- echo "/opt/amdgpu/$(get_libdir)/libamdocl-orca${short_abi}.so" \
- > "${T}/${SUPER_PN}-${ABI}.icd" || die "Failed to generate ICD file for ABI ${ABI}"
- doins "${T}/${SUPER_PN}-${ABI}.icd"
-}
-
-# FIXME: is this right?
-multilib_src_install_all() {
- ewarn "FOO $PWD"
- ewarn `ls`
- insinto "/opt/amdgpu"
- doins -r opt/amdgpu/share
-}
-
-pkg_postinst() {
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- ewarn "Please note that using proprietary OpenCL libraries together with the"
- ewarn "Open Source amdgpu stack is not officially supported by AMD. Do not ask them"
- ewarn "for support in case of problems with this package."
- ewarn ""
- ewarn "Furthermore, if you have the whole AMDGPU-Pro stack installed this package"
- ewarn "will almost certainly conflict with it. This might change once AMDGPU-Pro"
- ewarn "has become officially supported by Gentoo."
- fi
-
- "${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
-}
diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425.ebuild
deleted file mode 100644
index 21ba2fc29539..000000000000
--- a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-19.10.785425.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MULTILIB_COMPAT=( abi_x86_{32,64} )
-
-inherit unpacker multilib-minimal
-
-SUPER_PN='amdgpu-pro'
-MY_PV=$(ver_rs 2 '-')
-
-DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
-HOMEPAGE="https://www.amd.com/en/support/kb/release-notes/rn-rad-lin-19-10-unified"
-SRC_URI="${SUPER_PN}-${MY_PV}-ubuntu-18.04.tar.xz"
-
-LICENSE="AMD-GPU-PRO-EULA"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RESTRICT="mirror fetch strip"
-
-BDEPEND="dev-util/patchelf"
-COMMON="app-eselect/eselect-opencl
- dev-libs/ocl-icd"
-DEPEND="${COMMON}"
-RDEPEND="${COMMON}"
-
-QA_PREBUILT="/opt/amdgpu/lib*/*"
-
-S="${WORKDIR}/${SUPER_PN}-${MY_PV}-ubuntu-18.04"
-
-pkg_nofetch() {
- local pkgver=$(ver_cut 1-2)
- einfo "Please download Radeon Software for Linux version ${pkgver} for Ubuntu 18.04 from"
- einfo " ${HOMEPAGE}"
- einfo "The archive should then be placed into your distfiles directory."
-}
-
-src_unpack() {
- default
-
- local ids_ver="1.0.0"
- local patchlevel=$(ver_cut 3)
- cd "${S}" || die
- unpack_deb "${S}/libdrm-amdgpu-common_${ids_ver}-${patchlevel}_all.deb"
- multilib_parallel_foreach_abi multilib_src_unpack
-}
-
-multilib_src_unpack() {
- local libdrm_ver="2.4.97"
- local patchlevel=$(ver_cut 3)
- local deb_abi
- [[ ${ABI} == x86 ]] && deb_abi=i386
-
- mkdir -p "${BUILD_DIR}" || die
- pushd "${BUILD_DIR}" >/dev/null || die
- unpack_deb "${S}/opencl-orca-amdgpu-pro-icd_${MY_PV}_${deb_abi:-${ABI}}.deb"
- unpack_deb "${S}/libdrm-amdgpu-amdgpu1_${libdrm_ver}-${patchlevel}_${deb_abi:-${ABI}}.deb"
- popd >/dev/null || die
-}
-
-multilib_src_install() {
- local dir_abi short_abi
- [[ ${ABI} == x86 ]] && dir_abi=i386-linux-gnu && short_abi=32
- [[ ${ABI} == amd64 ]] && dir_abi=x86_64-linux-gnu && short_abi=64
-
- into "/opt/amdgpu"
- patchelf --set-rpath '$ORIGIN' "opt/${SUPER_PN}/lib/${dir_abi}"/libamdocl-orca${short_abi}.so || die "Failed to fix library rpath"
- dolib.so "opt/${SUPER_PN}/lib/${dir_abi}"/*
- dolib.so "opt/amdgpu/lib/${dir_abi}"/*
-
- insinto /etc/OpenCL/vendors
- echo "/opt/amdgpu/$(get_libdir)/libamdocl-orca${short_abi}.so" \
- > "${T}/${SUPER_PN}-${ABI}.icd" || die "Failed to generate ICD file for ABI ${ABI}"
- doins "${T}/${SUPER_PN}-${ABI}.icd"
-}
-
-# FIXME: is this right?
-multilib_src_install_all() {
- ewarn "FOO $PWD"
- ewarn `ls`
- insinto "/opt/amdgpu"
- doins -r opt/amdgpu/share
-}
-
-pkg_postinst() {
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- ewarn "Please note that using proprietary OpenCL libraries together with the"
- ewarn "Open Source amdgpu stack is not officially supported by AMD. Do not ask them"
- ewarn "for support in case of problems with this package."
- ewarn ""
- ewarn "Furthermore, if you have the whole AMDGPU-Pro stack installed this package"
- ewarn "will almost certainly conflict with it. This might change once AMDGPU-Pro"
- ewarn "has become officially supported by Gentoo."
- fi
-
- "${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
-}
diff --git a/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild
new file mode 100644
index 000000000000..4c69674212fb
--- /dev/null
+++ b/dev-libs/amdgpu-pro-opencl/amdgpu-pro-opencl-20.40.1147286.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+inherit unpacker multilib-minimal
+
+SUPER_PN='amdgpu-pro'
+MY_PV=$(ver_rs 2 '-')
+
+DESCRIPTION="Proprietary OpenCL implementation for AMD GPUs"
+HOMEPAGE="https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-40"
+SRC_URI="${SUPER_PN}-${MY_PV}-ubuntu-20.04.tar.xz"
+
+LICENSE="AMD-GPU-PRO-EULA"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RESTRICT="bindist mirror fetch strip"
+
+BDEPEND="dev-util/patchelf"
+COMMON=">=virtual/opencl-3"
+DEPEND="${COMMON}"
+RDEPEND="${COMMON}
+ !media-libs/mesa[opencl]" # Bug #686790
+
+QA_PREBUILT="/opt/amdgpu/lib*/*"
+
+S="${WORKDIR}/${SUPER_PN}-${MY_PV}-ubuntu-20.04"
+
+pkg_nofetch() {
+ local pkgver=$(ver_cut 1-2)
+ einfo "Please download Radeon Software for Linux version ${pkgver} for Ubuntu 20.04.1 from"
+ einfo " ${HOMEPAGE}"
+ einfo "The archive should then be placed into your distfiles directory."
+}
+
+src_unpack() {
+ default
+
+ local ids_ver="1.0.0"
+ local patchlevel=$(ver_cut 3)
+ cd "${S}" || die
+ unpack_deb "${S}/libdrm-amdgpu-common_${ids_ver}-${patchlevel}_all.deb"
+ multilib_parallel_foreach_abi multilib_src_unpack
+}
+
+multilib_src_unpack() {
+ local libdrm_ver="2.4.100"
+ local patchlevel=$(ver_cut 3)
+ local deb_abi
+ [[ ${ABI} == x86 ]] && deb_abi=i386
+
+ mkdir -p "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" >/dev/null || die
+ unpack_deb "${S}/opencl-orca-amdgpu-pro-icd_${MY_PV}_${deb_abi:-${ABI}}.deb"
+ unpack_deb "${S}/libdrm-amdgpu-amdgpu1_${libdrm_ver}-${patchlevel}_${deb_abi:-${ABI}}.deb"
+ popd >/dev/null || die
+}
+
+multilib_src_install() {
+ local dir_abi short_abi
+ [[ ${ABI} == x86 ]] && dir_abi=i386-linux-gnu && short_abi=32
+ [[ ${ABI} == amd64 ]] && dir_abi=x86_64-linux-gnu && short_abi=64
+
+ into "/opt/amdgpu"
+ patchelf --set-rpath '$ORIGIN' "opt/${SUPER_PN}/lib/${dir_abi}"/libamdocl-orca${short_abi}.so || die "Failed to fix library rpath"
+ dolib.so "opt/${SUPER_PN}/lib/${dir_abi}"/*
+ dolib.so "opt/amdgpu/lib/${dir_abi}"/*
+
+ insinto /etc/OpenCL/vendors
+ echo "/opt/amdgpu/$(get_libdir)/libamdocl-orca${short_abi}.so" \
+ > "${T}/${SUPER_PN}-${ABI}.icd" || die "Failed to generate ICD file for ABI ${ABI}"
+ doins "${T}/${SUPER_PN}-${ABI}.icd"
+}
+
+multilib_src_install_all() {
+ insinto "/opt/amdgpu"
+ doins -r opt/amdgpu/share
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ ewarn "Please note that using proprietary OpenCL libraries together with the"
+ ewarn "Open Source amdgpu stack is not officially supported by AMD. Do not ask them"
+ ewarn "for support in case of problems with this package."
+ ewarn ""
+ ewarn "Furthermore, if you have the whole AMDGPU-Pro stack installed this package"
+ ewarn "will almost certainly conflict with it. This might change once AMDGPU-Pro"
+ ewarn "has become officially supported by Gentoo."
+ fi
+
+ elog ""
+ elog "This package is now DEPRECATED on amd64 in favour of dev-libs/rocm-opencl-runtime."
+ elog "Moreover, it only provides legacy AMDGPU-Pro OpenCL libraries which are not compatible with Vega 10 and newer GPUs."
+ elog ""
+}
diff --git a/dev-libs/amdgpu-pro-opencl/metadata.xml b/dev-libs/amdgpu-pro-opencl/metadata.xml
index 8c9e58cc4d24..115e9d64a669 100644
--- a/dev-libs/amdgpu-pro-opencl/metadata.xml
+++ b/dev-libs/amdgpu-pro-opencl/metadata.xml
@@ -1,14 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <longdescription lang="en">
- This package contains the libraries necessary to enable OpenCL support
- on AMD GPUs supported by the amdgpu driver. The libraries themselves
- are part of the proprietary AMDGPU-Pro suite but work fine with the
- free amdgpu driver stack.
- </longdescription>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/aml/Manifest b/dev-libs/aml/Manifest
new file mode 100644
index 000000000000..908594ea00c8
--- /dev/null
+++ b/dev-libs/aml/Manifest
@@ -0,0 +1 @@
+DIST aml-0.3.0.tar.gz 21070 BLAKE2B 09b8818ba63eb0f8c36e90385ee0787cad45b80c71cfcf439f93560f56269d52468bbdd2c0e8ad6cbf78b8fd0dd715aa107bfeb3918f55671ffca3f8daab56e3 SHA512 7c3347ef47ace8a14860e2b46937c8ade3712aa75a8c36845594fb4fa6ca26c35320b5234574accff451ea8302f23075acbe1a1b0392f5fbcbbbda20640be1fd
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..af11e9fc4531
--- /dev/null
+++ b/dev-libs/aml/aml-0.3.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020-2024 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
new file mode 100644
index 000000000000..a7c7dfbf2a1a
--- /dev/null
+++ b/dev-libs/aml/aml-9999.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 ~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/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
new file mode 100644
index 000000000000..3721b93dab05
--- /dev/null
+++ b/dev-libs/aml/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-needed -->
+ <upstream>
+ <remote-id type="github">any1/aml</remote-id>
+ </upstream>
+ <use>
+ <flag name="examples">Build and install examples</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/angelscript/Manifest b/dev-libs/angelscript/Manifest
index d778c861776e..f90b1578a0ae 100644
--- a/dev-libs/angelscript/Manifest
+++ b/dev-libs/angelscript/Manifest
@@ -1 +1,2 @@
-DIST angelscript_2.33.0.zip 1954948 BLAKE2B 61fa597cb36142230dd07103d6782bb2e195268b664643314d4bae3908ceb530ce5661376a163cc91bb13ecd386d540554e5cce74c289983536cf7f70dc881a1 SHA512 eaf972ecf965fe4f72e55755f5e796499018e918f93cfd835b1ca20f9338e299e8dbd707240341eef81ae920f07d2280646151f515f5990a62550689445c86f0
+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.33.0.ebuild b/dev-libs/angelscript/angelscript-2.33.0.ebuild
deleted file mode 100644
index d2bea73121f6..000000000000
--- a/dev-libs/angelscript/angelscript-2.33.0.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
-
-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 ~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/angelscript/metadata.xml b/dev-libs/angelscript/metadata.xml
index 3fbed7094e15..ae378db57402 100644
--- a/dev-libs/angelscript/metadata.xml
+++ b/dev-libs/angelscript/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
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/antlr-c-3.5.2.ebuild b/dev-libs/antlr-c/antlr-c-3.5.2.ebuild
deleted file mode 100644
index ccd8d1cc77df..000000000000
--- a/dev-libs/antlr-c/antlr-c-3.5.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils autotools multilib-minimal
-
-MY_PN="${PN%-c}"
-DESCRIPTION="The ANTLR3 C Runtime"
-HOMEPAGE="http://www.antlr3.org/"
-SRC_URI="https://github.com/${MY_PN}/${MY_PN}3/archive/${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="debug debugger doc static-libs"
-
-DEPEND="doc? ( app-doc/doxygen[dot] )"
-RDEPEND=""
-
-S="${WORKDIR}/${MY_PN}3-${PV}/runtime/C"
-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
- $(use_enable debug debuginfo)
- $(use_enable debugger antlrdebug)
- $(use_enable static-libs static)
- )
-
- 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() {
- multilib-minimal_src_install
- prune_libtool_files
- use doc && dohtml -r "${S}/api/"
-}
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/antlr-c/files/3.5-cflags.patch b/dev-libs/antlr-c/files/3.5-cflags.patch
index 854513311827..a2e91397b2e6 100644
--- a/dev-libs/antlr-c/files/3.5-cflags.patch
+++ b/dev-libs/antlr-c/files/3.5-cflags.patch
@@ -1,6 +1,5 @@
-diff -ur libantlr3c-3.3-SNAPSHOT.old//configure.ac libantlr3c-3.3-SNAPSHOT/configure.ac
---- libantlr3c-3.3-SNAPSHOT.old//configure.ac 2011-04-03 10:40:51.277000042 +0300
-+++ libantlr3c-3.3-SNAPSHOT/configure.ac 2011-04-03 10:41:22.092000042 +0300
+--- a/configure.ac
++++ b/configure.ac
@@ -134,8 +134,8 @@
;;
esac
diff --git a/dev-libs/antlr-c/metadata.xml b/dev-libs/antlr-c/metadata.xml
index d6cf50223967..e8db3fee410b 100644
--- a/dev-libs/antlr-c/metadata.xml
+++ b/dev-libs/antlr-c/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
diff --git a/dev-libs/apache-arrow/Manifest b/dev-libs/apache-arrow/Manifest
new file mode 100644
index 000000000000..0e90b481cd4f
--- /dev/null
+++ b/dev-libs/apache-arrow/Manifest
@@ -0,0 +1,3 @@
+DIST apache-arrow-16.0.0.tar.gz 21695067 BLAKE2B aa5dfef3d8d46a53242075c165473635051d51ff28587ea8b80751232d5f75ee3ef89e0a027aa39bdc9dc03fa46ddb68e46ae2c7f40605258e47ff194f1d3979 SHA512 773f4f3eef603032c8ba0cfdc023bfd2a24bb5e41c82da354a22d7854ab153294ede1f4782cc32b27451cf1b58303f105bac61ceeb3568faea747b93e21d79e4
+DIST apache-arrow-arrow-data-25d16511e8d42c2744a1d94d90169e3a36e92631.tar.gz 3571960 BLAKE2B c1c076bb3ff6427a45d1a157c60fb13c37786f97d213768c0bbe1ae073b5fb8d23cd402bdcfee303061df56bf3421ea8376f7c4ba9fec04c5cb35a85a32280f2 SHA512 abbc18da8f03b123a2d97eee709e929bbb5d567bf23219bbc63508c0e82ef99d7c0d71ca2d952566b63e968cffd96c5e1c62be9cb658323c949f229ff03234a8
+DIST apache-arrow-parquet-data-74278bc4a1122d74945969e6dec405abd1533ec3.tar.gz 1037654 BLAKE2B c9bb725a16f6706a3859bb36a60b700af62cb5f96546483ef1de0b65900b02b4f9013841d7b3dc70fd0f2fd8969b4d5c72d0fb68972568f61b4a6863a0df6f60 SHA512 18f8e2480079a0fd29eec2b8e5f753af1ee80255f6fc80af4acbf5c56e6dec08e2f9f54d8c5734c929ef901c63e4009c5d830325333fa6cc947d40ff5dcddfa3
diff --git a/dev-libs/apache-arrow/apache-arrow-16.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-16.0.0.ebuild
new file mode 100644
index 000000000000..8b1d7dc7296d
--- /dev/null
+++ b/dev-libs/apache-arrow/apache-arrow-16.0.0.ebuild
@@ -0,0 +1,131 @@
+# 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=25d16511e8d42c2744a1d94d90169e3a36e92631
+# arrow.git: cpp/submodules/parquet-testing
+PARQUET_DATA_GIT_HASH=74278bc4a1122d74945969e6dec405abd1533ec3
+
+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"
+)
+
+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/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 cdc084aafc6c..ab2a38f0357b 100644
--- a/dev-libs/appstream-glib/Manifest
+++ b/dev-libs/appstream-glib/Manifest
@@ -1,2 +1 @@
-DIST appstream-glib-0.7.15.tar.xz 2240040 BLAKE2B e1b58e0ce6523354490e529381302aa603e4ac1886c37e9c261ab612f76490ae4ea8fd22eff9c2bc1981d5ceb77ff8c4f8279e091dc62bd4df39d2c32623c1ea SHA512 bab0c73e54d90fbf22295f616d4a09332f94b90a3fa0cb38f1b654c6d9a459c9557dd81c677f486361dbf4f1dd23651306fe34b1cdd15254694269a8c9e8a927
-DIST appstream-glib-0.7.9.tar.xz 2245728 BLAKE2B fb6f54329bed91f1acaa6218b111fd4527dff7ed412a89cb44a6e4f6cdfb7e0fe4e6f9fb37b6cdc2efa75164dccef323b6d7428a63b08369b941d36b0b9071f0 SHA512 d78cb6f11cad01d67cb33f16e987485177d20b78a8b21cfbabb64ce7b18b813c0d2d1de2faeea199fdc31d12633e899a5596a6cf133cb831a4377d641f79eb7d
+DIST appstream-glib-0.8.2.tar.xz 2320880 BLAKE2B 6c3c90298ae8bf362caea8c46643afaaab0bb0071271f5244eeca9356ed96a6a956c1b2ffa4a8500201e4bc494a54a15b3db4937b81c6f5f8b80f83299ac58ee SHA512 c9c21049ab43f5da8595aa07a3c2e097163a05b5e0fc030e4e3326136cd18127f04ad9edf08c12aea823b89048b43808cc60759cc26fcf2541cd9c1acbb29e28
diff --git a/dev-libs/appstream-glib/appstream-glib-0.7.15.ebuild b/dev-libs/appstream-glib/appstream-glib-0.7.15.ebuild
deleted file mode 100644
index 0a4e30e25446..000000000000
--- a/dev-libs/appstream-glib/appstream-glib-0.7.15.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="gtk-doc fonts +introspection stemmer"
-
-RDEPEND="
- >=dev-libs/glib-2.45.8: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:= )
-"
-# libxml2 required for glib-compile-resources
-DEPEND="${RDEPEND}
- 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} superseeds 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.7.9.ebuild b/dev-libs/appstream-glib/appstream-glib-0.7.9.ebuild
deleted file mode 100644
index 92e711c76a42..000000000000
--- a/dev-libs/appstream-glib/appstream-glib-0.7.9.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 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 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc +introspection stemmer"
-
-RDEPEND="
- >=dev-libs/glib-2.45.8: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?]
- app-arch/gcab
-
- 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:= )
-"
-# libxml2 required for glib-compile-resources
-DEPEND="${RDEPEND}
- dev-util/gperf
-
- dev-libs/libxml2:2
- app-text/docbook-xml-dtd:4.2
- dev-libs/libxslt
- doc? (
- >=dev-util/gtk-doc-1.9
- app-text/docbook-xml-dtd:4.3
- )
- >=sys-devel/gettext-0.19.7
-"
-# ${PN} superseeds appdata-tools
-RDEPEND="${RDEPEND}
- !<dev-util/appdata-tools-0.1.8-r1
-"
-
-src_configure() {
- local emesonargs=(
- -Ddep11=true
- -Dbuilder=true
- -Drpm=false
- -Dalpm=false
- -Dfonts=true
- $(meson_use stemmer)
- -Dman=true
- $(meson_use doc 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 822c18627761..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 47d00781da9d..14e5aa16b233 100644
--- a/dev-libs/appstream/Manifest
+++ b/dev-libs/appstream/Manifest
@@ -1,2 +1,3 @@
-DIST AppStream-0.12.6.tar.xz 1953604 BLAKE2B 28b03a935b8c203f2ac2c52c1de8317cc899f2b81b00e83e2eb858dbd185a985ce608ba3f6b1c35f084b4ee91946a4870c89d6b0c0a4c6fd32a938558e3997f1 SHA512 c19cd89ba39aff5afa2ff6d5fca72581a8624463c33011b11036526db98392ff5aa6c0f599682e90fdee29b8732538cf96c20b66965016b96f60b3f899d722bb
-DIST AppStream-0.12.7.tar.xz 1958948 BLAKE2B 51a70395e4801ceeb3e97ac081f4c45be242cca14728f8efc5eec0d4b3cfa4cc9fab9ef7429c18e9bbb0dedb693a847258be1b11491155658a6ffa2a28358e35 SHA512 53ca7ebde3fcd345a895527da2ac5d829a09f25d28836a867b500282fba3465bde657cd75a4030cb831022f7a0d9f50aadb36078d62924e4d0edad6bfe3c5561
+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.12.6.ebuild b/dev-libs/appstream/appstream-0.12.6.ebuild
deleted file mode 100644
index 528e7d9d8092..000000000000
--- a/dev-libs/appstream/appstream-0.12.6.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 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 +introspection qt5 test"
-
-BDEPEND="
- app-text/docbook-xml-dtd:4.5
- dev-libs/appstream-glib
- dev-util/itstool
- >=dev-util/meson-0.42.0
- >=sys-devel/gettext-0.19.8
- test? (
- dev-qt/linguist-tools:5
- qt5? ( dev-qt/qttest:5 )
- )
-"
-DEPEND="
- >=dev-libs/glib-2.54:2
- dev-libs/libxml2:2
- dev-libs/libyaml
- dev-libs/snowball-stemmer
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
- qt5? ( dev-qt/qtcore:5 )
-"
-RDEPEND="${DEPEND}"
-
-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
- -Dmaintainer=false
- -Dstemming=true
- -Dvapi=false
- -Dapt-support=$(usex apt true false)
- -Dgir=$(usex introspection true false)
- -Dqt=$(usex qt5 true false)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/appstream/appstream-0.12.7.ebuild b/dev-libs/appstream/appstream-0.12.7.ebuild
deleted file mode 100644
index cbbde57065d8..000000000000
--- a/dev-libs/appstream/appstream-0.12.7.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~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 +introspection qt5 test"
-
-BDEPEND="
- app-text/docbook-xml-dtd:4.5
- dev-libs/appstream-glib
- dev-util/itstool
- >=dev-util/meson-0.42.0
- >=sys-devel/gettext-0.19.8
- test? (
- dev-qt/linguist-tools:5
- qt5? ( dev-qt/qttest:5 )
- )
-"
-DEPEND="
- dev-db/lmdb:=
- >=dev-libs/glib-2.54:2
- dev-libs/libxml2:2
- dev-libs/libyaml
- dev-libs/snowball-stemmer
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
- qt5? ( dev-qt/qtcore:5 )
-"
-RDEPEND="${DEPEND}"
-
-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
- -Dmaintainer=false
- -Dstemming=true
- -Dvapi=false
- -Dapt-support=$(usex apt 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.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/appstream/metadata.xml b/dev-libs/appstream/metadata.xml
index f33a7f5bc7e6..fc47b80bd700 100644
--- a/dev-libs/appstream/metadata.xml
+++ b/dev-libs/appstream/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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>
diff --git a/dev-libs/apr-util/Manifest b/dev-libs/apr-util/Manifest
index 268dd4fa4146..55721b0e12da 100644
--- a/dev-libs/apr-util/Manifest
+++ b/dev-libs/apr-util/Manifest
@@ -1,2 +1 @@
-DIST apr-util-1.5.4.tar.bz2 694427 BLAKE2B 6de337fa48f0ca3775ba5b054b3a59726e25a35c9b2ea67323edde52c88e4affc0ea0a25a0a64f42c82f0927482d22dc6049286df8cb6048f8bbb61659beb0ac SHA512 ca877d8e444218c4ba0f28063ee075ddcd6c0a487b692dc80ef442fe775ec4eeb337c6957853772e8082e27edcb450d7e909c2c6c3ab4a95bbf0a5ee5ea4a2d1
-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.5.4-r3.ebuild b/dev-libs/apr-util/apr-util-1.5.4-r3.ebuild
deleted file mode 100644
index c9a2d794b218..000000000000
--- a/dev-libs/apr-util/apr-util-1.5.4-r3.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
-# APR_PV="${PV}"
-APR_PV="1.5.2"
-
-inherit autotools db-use eutils libtool multilib toolchain-funcs
-
-DESCRIPTION="Apache Portable Runtime Utility Library"
-HOMEPAGE="http://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 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="berkdb doc freetds gdbm ldap libressl mysql nss odbc openssl postgres sqlite static-libs"
-#RESTRICT="test"
-
-RDEPEND="
- dev-libs/expat
- >=dev-libs/apr-${APR_PV}:1
- berkdb? ( >=sys-libs/db-4:= )
- freetds? ( dev-db/freetds )
- gdbm? ( sys-libs/gdbm:= )
- ldap? ( =net-nds/openldap-2* )
- mysql? ( =virtual/mysql-5* )
- nss? ( dev-libs/nss )
- odbc? ( dev-db/unixODBC )
- openssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl )
- )
- 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
-)
-
-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=()
-
- 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
-
- local myeconfargs=(
- --datadir="${EPREFIX}"/usr/share/apr-util-1
- --with-apr="${SYSROOT}${EPREFIX}"/usr
- --with-expat="${EPREFIX}"/usr
- --without-sqlite2
- $(use_with freetds)
- $(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)
- "${myconf[@]}"
- )
- econf "${myeconfargs[@]}"
- # 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_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.5.4.ebuild b/dev-libs/apr-util/apr-util-1.5.4.ebuild
deleted file mode 100644
index fca0234d9e7c..000000000000
--- a/dev-libs/apr-util/apr-util-1.5.4.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
-# APR_PV="${PV}"
-APR_PV="1.4.6"
-
-inherit autotools db-use eutils libtool multilib toolchain-funcs
-
-DESCRIPTION="Apache Portable Runtime Utility Library"
-HOMEPAGE="http://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 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="berkdb doc freetds gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
-#RESTRICT="test"
-
-RDEPEND="dev-libs/expat
- >=dev-libs/apr-${APR_PV}:1
- berkdb? ( >=sys-libs/db-4 )
- freetds? ( dev-db/freetds )
- gdbm? ( sys-libs/gdbm )
- ldap? ( =net-nds/openldap-2* )
- mysql? ( =virtual/mysql-5* )
- nss? ( dev-libs/nss )
- odbc? ( dev-db/unixODBC )
- openssl? ( dev-libs/openssl )
- 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)
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-1.5.3-sysroot.patch #385775
- eautoreconf
- elibtoolize
-}
-
-src_configure() {
- local myconf=()
-
- 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 \
- --datadir="${EPREFIX}"/usr/share/apr-util-1 \
- --with-apr="${SYSROOT}${EPREFIX}"/usr \
- --with-expat="${EPREFIX}"/usr \
- --without-sqlite2 \
- $(use_with freetds) \
- $(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) \
- "${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_install() {
- default
-
- find "${ED}" -name "*.la" -delete
- find "${ED}usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete
- use static-libs || find "${ED}" -name "*.a" -delete
-
- use doc && dohtml -r docs/dox/html/*
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- rm -f "${ED}usr/$(get_libdir)/aprutil.exp"
-}
diff --git a/dev-libs/apr-util/apr-util-1.6.1-r3.ebuild b/dev-libs/apr-util/apr-util-1.6.1-r3.ebuild
deleted file mode 100644
index f5a1fba08fe7..000000000000
--- a/dev-libs/apr-util/apr-util-1.6.1-r3.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2019 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 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="berkdb doc gdbm ldap libressl mysql nss odbc openssl postgres sqlite static-libs"
-#RESTRICT="test"
-
-RDEPEND="
- dev-libs/expat
- >=dev-libs/apr-${APR_PV}:1=
- 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
- ) )
- nss? ( dev-libs/nss )
- odbc? ( dev-db/unixODBC )
- openssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl )
- )
- 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
-)
-
-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-drop-my_init.patch b/dev-libs/apr-util/files/apr-util-1.6.1-drop-my_init.patch
new file mode 100644
index 000000000000..741ca65ca325
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.6.1-drop-my_init.patch
@@ -0,0 +1,15 @@
+Was finally removed in >=mysql-8.0.2
+
+--- a/dbd/apr_dbd_mysql.c
++++ b/dbd/apr_dbd_mysql.c
+@@ -1262,9 +1262,6 @@ 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.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-my_bool.patch b/dev-libs/apr-util/files/apr-util-1.6.1-my_bool.patch
new file mode 100644
index 000000000000..eda0cd041287
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.6.1-my_bool.patch
@@ -0,0 +1,15 @@
+--- a/dbd/apr_dbd_mysql.c
++++ b/dbd/apr_dbd_mysql.c
+@@ -41,6 +41,12 @@
+ #endif
+ #endif
+ #include <mysql.h>
++// MariaDB still include definition of my_bool but has a higher version ID
++#ifndef MARIADB_VERSION_ID
++#if MYSQL_VERSION_ID > 80000
++typedef bool my_bool;
++#endif
++#endif
+ #include <errmsg.h>
+ #endif
+
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 fbfc99a2fedd..628ac167792d 100644
--- a/dev-libs/apr-util/metadata.xml
+++ b/dev-libs/apr-util/metadata.xml
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <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="libressl">Use <pkg>dev-libs/libressl</pkg> instead of
- <pkg>dev-libs/openssl</pkg> for 'openssl' USE flag</flag>
<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-r4.ebuild b/dev-libs/apr/apr-1.6.3-r4.ebuild
deleted file mode 100644
index 35740d4ef048..000000000000
--- a/dev-libs/apr/apr-1.6.3-r4.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool multilib 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 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc elibc_FreeBSD older-kernels-compatibility selinux static-libs +urandom"
-
-CDEPEND="elibc_glibc? ( >=sys-apps/util-linux-2.16 )
- elibc_mintlib? ( >=sys-apps/util-linux-2.18 )"
-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
- )
-
- [[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
-
- 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
- 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
-
- # Prallel 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-r1.ebuild b/dev-libs/apr/apr-1.6.5-r1.ebuild
deleted file mode 100644
index 5d7c7debd7d4..000000000000
--- a/dev-libs/apr/apr-1.6.5-r1.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool multilib 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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc elibc_FreeBSD older-kernels-compatibility selinux static-libs +urandom"
-
-CDEPEND="elibc_glibc? ( >=sys-apps/util-linux-2.16 )
- elibc_mintlib? ( >=sys-apps/util-linux-2.18 )"
-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
- )
-
- [[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
-
- 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
- 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
-
- # Prallel 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-r1.ebuild b/dev-libs/apr/apr-1.7.0-r1.ebuild
deleted file mode 100644
index fc5639976512..000000000000
--- a/dev-libs/apr/apr-1.7.0-r1.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools libtool multilib 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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc elibc_FreeBSD older-kernels-compatibility selinux static-libs +urandom"
-
-CDEPEND="elibc_glibc? ( >=sys-apps/util-linux-2.16 )
- elibc_mintlib? ( >=sys-apps/util-linux-2.18 )"
-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
- )
-
- [[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
-
- 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
- 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/apr-1.7.4-r3.ebuild b/dev-libs/apr/apr-1.7.4-r3.ebuild
new file mode 100644
index 000000000000..a7f6b6d58e1d
--- /dev/null
+++ b/dev-libs/apr/apr-1.7.4-r3.ebuild
@@ -0,0 +1,163 @@
+# 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-fix-pkgconfig-libs.patch
+ "${FILESDIR}"/${PN}-1.7.2-respect-flags.patch
+ "${FILESDIR}"/${PN}-1.7.2-autoconf-2.72.patch
+ "${FILESDIR}"/${PN}-1.7.4-config-cross.patch
+ "${FILESDIR}"/${PN}-1.7.4-config-libdir.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.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/files/apr-1.7.4-config-cross.patch b/dev-libs/apr/files/apr-1.7.4-config-cross.patch
new file mode 100644
index 000000000000..5101f455230a
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.4-config-cross.patch
@@ -0,0 +1,19 @@
+The apr-config script can automatically adjust its paths to help with
+cross-compiling, but it only does this if apr itself was originally
+cross-compiled, which may not be the case. Forcing it to consider that
+it might be cross-compiled doesn't do any harm though.
+
+Bug: https://bugs.gentoo.org/931829
+
+diff -Naur a/apr-config.in b/apr-config.in
+--- a/apr-config.in 2023-03-13 10:29:04.000000000 +0000
++++ b/apr-config.in 2024-05-14 10:23:28.429984195 +0100
+@@ -48,7 +48,7 @@
+ # NOTE: the following line is modified during 'make install': alter with care!
+ location=@APR_CONFIG_LOCATION@
+
+-cross_compiling=@APR_CROSS_COMPILING@
++cross_compiling=maybe
+
+ if test "$cross_compiling" != "no"; then
+
diff --git a/dev-libs/apr/files/apr-1.7.4-config-libdir.patch b/dev-libs/apr/files/apr-1.7.4-config-libdir.patch
new file mode 100644
index 000000000000..aed4aba59f9a
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.4-config-libdir.patch
@@ -0,0 +1,17 @@
+Don't add the libdir to the search path or bake the libdir as a runpath when
+doing a native build because we always install to a standard location.
+
+Bug: https://bugs.gentoo.org/385775
+
+diff -Naur a/apr-config.in b/apr-config.in
+--- a/apr-config.in 2023-03-13 10:29:04.000000000 +0000
++++ b/apr-config.in 2024-05-14 10:23:28.429984195 +0100
+@@ -233,7 +233,7 @@
+ ### 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 c6e4003aa6f7..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 bebef16f0f4a..000000000000
--- a/dev-libs/argtable/argtable-2.13-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# 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="amd64 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..bbd3be201745
--- /dev/null
+++ b/dev-libs/argtable/argtable-2.13-r3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/${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..2c929ec0c0ed
--- /dev/null
+++ b/dev-libs/argtable/argtable-2.13-r4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/${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/argtable/metadata.xml b/dev-libs/argtable/metadata.xml
index b1083282f4d3..ee0c406e2a85 100644
--- a/dev-libs/argtable/metadata.xml
+++ b/dev-libs/argtable/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!--maintainer-needed-->
<upstream>
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/asyncresolv/Manifest b/dev-libs/asyncresolv/Manifest
deleted file mode 100644
index 211a72e35f0c..000000000000
--- a/dev-libs/asyncresolv/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST asyncresolv-0.0.3.tar.gz 310716 BLAKE2B 39b751996f5b422d41e5a4e4ede14595b61ef88675503e7b61fe96cf0a98c0d90a890d6505bfe7ce9e878b41a443dcd8fd20cde76c7fe4c22712785ebab79648 SHA512 956eb5d793c58b98ddd95137c74552801131fd07cf97e5f69fec366ad6919f720023115ad50e78186f448b840446108a0f5dac9e66c650ef98fe61f0985572d4
diff --git a/dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild b/dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild
deleted file mode 100644
index f394470b074c..000000000000
--- a/dev-libs/asyncresolv/asyncresolv-0.0.3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-DESCRIPTION="Asynchronous DNS query library written in C++"
-HOMEPAGE="http://asyncresolv.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc x86"
-
-IUSE=""
-DEPEND=""
-RDEPEND=""
-
-src_unpack() {
- unpack ${A}
-
- cd "${S}"
- sed -i -e 's/-Werror//' configure
-}
-
-src_install() {
- make install DESTDIR="${D}" || die "install failed"
-
- dodoc AUTHORS COPYING* ChangeLog INSTALL README TODO
- dohtml doc/index.html
-}
diff --git a/dev-libs/asyncresolv/metadata.xml b/dev-libs/asyncresolv/metadata.xml
deleted file mode 100644
index 437e9d649d85..000000000000
--- a/dev-libs/asyncresolv/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">asyncresolv</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 bf0f54ae861b..effc4ea9ba27 100644
--- a/dev-libs/atcore/atcore-1.0.0.ebuild
+++ b/dev-libs/atcore/atcore-1.0.0.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils kde5-functions
+ECM_TEST="forceoptional"
+QTMIN=5.12.3
+inherit ecm kde.org
DESCRIPTION="API to manage the serial connection between the computer and 3D Printers"
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
@@ -14,32 +16,27 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="doc gui test"
-RDEPEND="
- $(add_qt_dep qtcore)
- $(add_qt_dep qtserialport)
+DEPEND="
+ >=dev-qt/qtserialport-${QTMIN}:5
gui? (
- $(add_qt_dep qtcharts)
- $(add_qt_dep qtgui)
- $(add_qt_dep qtwidgets)
+ >=dev-qt/qtcharts-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
)
"
-DEPEND="${RDEPEND}
- $(add_frameworks_dep extra-cmake-modules)
- $(add_qt_dep linguist-tools)
- doc? ( app-doc/doxygen[dot] )
- test? ( $(add_qt_dep qttest) )
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=dev-qt/linguist-tools-${QTMIN}:5
+ doc? ( app-text/doxygen[dot] )
"
src_prepare() {
- cmake-utils_src_prepare
+ ecm_src_prepare
sed -e "s/${PN}/${PF}/" -i doc/CMakeLists.txt || die
- use gui || punt_bogus_dep Qt5 Charts
- if ! use test; then
- cmake_comment_add_subdirectory unittests
- punt_bogus_dep Qt5 Test
- fi
+ use gui || ecm_punt_qt_module Charts
+ use test || cmake_comment_add_subdirectory unittests
}
src_configure() {
@@ -48,5 +45,5 @@ src_configure() {
-DBUILD_TEST_GUI=$(usex gui)
)
- cmake-utils_src_configure
+ ecm_src_configure
}
diff --git a/dev-libs/atcore/metadata.xml b/dev-libs/atcore/metadata.xml
index 8ded8878afc4..fbb79823ed64 100644
--- a/dev-libs/atcore/metadata.xml
+++ b/dev-libs/atcore/metadata.xml
@@ -1,10 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
<use>
<flag name="gui">Build test GUI</flag>
</use>
diff --git a/dev-libs/atf/atf-0.21-r2.ebuild b/dev-libs/atf/atf-0.21-r2.ebuild
index 11eb225aba6b..52b664460cb5 100644
--- a/dev-libs/atf/atf-0.21-r2.ebuild
+++ b/dev-libs/atf/atf-0.21-r2.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=6
+EAPI=8
DESCRIPTION="Libraries to write tests in C, C++ and shell"
HOMEPAGE="https://github.com/jmmv/atf"
@@ -9,15 +9,15 @@ 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 s390 ~sh sparc x86 ~ppc-macos ~x64-macos ~x86-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=""
-DEPEND="virtual/pkgconfig"
+BDEPEND="virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/${P}-getopt-solaris.patch )
src_install() {
default
- rm -r "${ED%/}"/usr/tests || die
+ rm -r "${ED}"/usr/tests || die
find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/atf/metadata.xml b/dev-libs/atf/metadata.xml
index de09ffd8b089..077cdb6aa203 100644
--- a/dev-libs/atf/metadata.xml
+++ b/dev-libs/atf/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>floppym@gentoo.org</email>
diff --git a/dev-libs/atk/Manifest b/dev-libs/atk/Manifest
index eeb577790df1..f67cac3efa66 100644
--- a/dev-libs/atk/Manifest
+++ b/dev-libs/atk/Manifest
@@ -1,2 +1 @@
-DIST atk-2.28.1.tar.xz 712508 BLAKE2B 71aee8bc937e1e37d40e6a9820d0002bcc763dbf87385ede2484ec6fe17a9924d5753d74dc3a769602746c915d0c46da8eea78cc80c706e3c38faca2e5050364 SHA512 aa61e7718b3f4d9c33ec2b4747e35f894a51550ef39ecc4a7af5705811c029645bd3c728071f446b075a0b7aef0c35c1b73406a210cd30171838f24a8dfc0abb
-DIST atk-2.30.0.tar.xz 290264 BLAKE2B dec44abf3bd4937f417cd0b75bee32fdd073ccca1e44d883293d060afbbc30909aac483007e293231fafe0c5481df94d1113d287a0002a823f4e9c8e7bd647c2 SHA512 03f311378fdb91442f27ed542fa36edd2c9c036837c9f25ff37468bf7f743277d0b9253621563d15894e0da9d37e8df0a0e2c0e47e6aae33a38b13744c3b8b8e
+DIST atk-2.38.0.tar.xz 303952 BLAKE2B c89e13e413ea46667d94a3555a1764ee22be353b90b0940735fceaad823403026503c463b3ad200fa176ee4faee6dd3cf421542bf1e1a9dbc9a4844ae2963874 SHA512 dffd0a0814a9183027c38a985d86cb6544858e9e7d655843e153440467957d6bc1abd9c9479a57078aea018053410438a30a9befb7414dc79020b223cd2c774b
diff --git a/dev-libs/atk/atk-2.28.1.ebuild b/dev-libs/atk/atk-2.28.1.ebuild
deleted file mode 100644
index fdece1deb180..000000000000
--- a/dev-libs/atk/atk-2.28.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2 multilib-minimal
-
-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 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="+introspection nls test"
-
-RDEPEND="
- >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
-"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.25
- >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
- nls? ( >=sys-devel/gettext-0.19.2 )
-"
-
-src_prepare() {
- gnome2_src_prepare
-
- if ! use test; then
- # don't waste time building tests (bug #226353)
- sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
- || die "sed failed"
- fi
-
- # Building out of sources fails, https://bugzilla.gnome.org/show_bug.cgi?id=752507
- multilib_copy_sources
-}
-
-multilib_src_configure() {
-# ECONF_SOURCE=${S} \
- gnome2_src_configure \
- $(multilib_native_use_enable introspection)
-
- # work-around gtk-doc out-of-source brokedness
-# if multilib_is_native_abi; then
-# ln -s "${S}"/docs/html docs/html || die
-# fi
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
diff --git a/dev-libs/atk/atk-2.30.0.ebuild b/dev-libs/atk/atk-2.30.0.ebuild
deleted file mode 100644
index 298e68d20e93..000000000000
--- a/dev-libs/atk/atk-2.30.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome.org meson multilib-minimal 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 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="gtk-doc +introspection"
-
-RDEPEND="
- >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.54.0:= )
-"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- gtk-doc? (
- >=dev-util/gtk-doc-1.25
- app-text/docbook-xml-dtd:4.3 )
- >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
- >=sys-devel/gettext-0.19.8
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-use-basename-instead-of-filename.patch
-)
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddocs=$(multilib_native_usex gtk-doc true false)
- -Dintrospection=$(multilib_native_usex introspection true false)
- )
- meson_src_configure
-}
-
-multilib_src_compile() {
- meson_src_compile
-}
-
-multilib_src_test() {
- meson_src_test
-}
-
-multilib_src_install() {
- meson_src_install
-}
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/files/atk-2.30.0-use-basename-instead-of-filename.patch b/dev-libs/atk/files/atk-2.30.0-use-basename-instead-of-filename.patch
deleted file mode 100644
index 763a15056702..000000000000
--- a/dev-libs/atk/files/atk-2.30.0-use-basename-instead-of-filename.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 14115cc94086fb2a0a5cd32e67c70f623847df64 Mon Sep 17 00:00:00 2001
-From: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Thu, 30 Aug 2018 11:39:25 +0200
-Subject: [PATCH] build: use @basename instead of @filename
-
-Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=789619
----
- atk/atk-enum-types.c.template | 2 +-
- atk/atk-enum-types.h.template | 2 +-
- atk/makefile.msc | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/atk/atk-enum-types.c.template b/atk/atk-enum-types.c.template
-index df2f546..b3c0b13 100644
---- a/atk/atk-enum-types.c.template
-+++ b/atk/atk-enum-types.c.template
-@@ -7,7 +7,7 @@
-
- /*** BEGIN file-production ***/
-
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
-
- /*** BEGIN value-header ***/
-diff --git a/atk/atk-enum-types.h.template b/atk/atk-enum-types.h.template
-index 7b4cec4..8321c24 100644
---- a/atk/atk-enum-types.h.template
-+++ b/atk/atk-enum-types.h.template
-@@ -14,7 +14,7 @@ G_BEGIN_DECLS
-
- /*** BEGIN file-production ***/
-
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
-
- /*** BEGIN value-header ***/
-diff --git a/atk/makefile.msc b/atk/makefile.msc
-index f407b7d..ed4656b 100644
---- a/atk/makefile.msc
-+++ b/atk/makefile.msc
-@@ -104,7 +104,7 @@ atkmarshal.c : atkmarshal.list
- atk-enum-types.h : $(atk_headers) makefile.msc
- $(PERL) $(GLIB)\gobject\glib-mkenums \
- --fhead "#ifndef __ATK_ENUM_TYPES_H__\n#define __ATK_ENUM_TYPES_H__\n" \
-- --fprod "/* enumerations from \"@filename@\" */\n" \
-+ --fprod "/* enumerations from \"@basename@\" */\n" \
- --vhead "GType @enum_name@_get_type (void);\n#define ATK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
- --ftail "#endif /* __ATK_ENUM_TYPES_H__ */" \
- $(atk_headers) > atk-enum-types.h
-@@ -115,7 +115,7 @@ atk-enum-types.h : $(atk_headers) makefile.msc
- atk-enum-types.c: $(atk_headers) makefile.msc
- $(PERL) $(GLIB)\gobject\glib-mkenums \
- --fhead "#include <atk.h>" \
-- --fprod "\n/* enumerations from \"@filename@\" */" \
-+ --fprod "\n/* enumerations from \"@basename@\" */" \
- --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
---
-2.19.2
-
diff --git a/dev-libs/atk/metadata.xml b/dev-libs/atk/metadata.xml
index 39980802b1da..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/avro-c/Manifest
new file mode 100644
index 000000000000..a4ee489479c9
--- /dev/null
+++ b/dev-libs/avro-c/Manifest
@@ -0,0 +1 @@
+DIST avro-c-1.9.1.tar.gz 216954 BLAKE2B a1647c8315eaad5af7aabee01b71638261daa82def48227046d05da89ef66e8697d6c31f1a4a7b2b8010e1b471e50e24b85701ad7870e6f1d3495262dfaf00c6 SHA512 68b1f44f870c9b6f0b2380da9e34d91148ff4398cb300f4bdd4e3e1ad00820acd9084b73232b00d4cd4935fb992b41dc65afdafcbea14a3d87259608688df904
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/avro-c/files/avro-c-1.9.1-fix-libdir.patch b/dev-libs/avro-c/files/avro-c-1.9.1-fix-libdir.patch
new file mode 100644
index 000000000000..84843abaa5a3
--- /dev/null
+++ b/dev-libs/avro-c/files/avro-c-1.9.1-fix-libdir.patch
@@ -0,0 +1,32 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 6f56597..c22e71a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -109,14 +109,14 @@ install(DIRECTORY
+ if (WIN32)
+ install(TARGETS avro-static
+ RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ else(WIN32)
+ install(TARGETS avro-static avro-shared
+ RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ endif(WIN32)
+
+@@ -126,7 +126,7 @@ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(VERSION ${AVRO_VERSION})
+ configure_file(avro-c.pc.in avro-c.pc)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/avro-c.pc
+- DESTINATION lib/pkgconfig)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+ add_executable(avrocat avrocat.c)
+ target_link_libraries(avrocat avro-static)
diff --git a/dev-libs/avro-c/metadata.xml b/dev-libs/avro-c/metadata.xml
new file mode 100644
index 000000000000..db463f3eeb66
--- /dev/null
+++ b/dev-libs/avro-c/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>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/aws-c-cal/Manifest b/dev-libs/aws-c-cal/Manifest
new file mode 100644
index 000000000000..41e867a57137
--- /dev/null
+++ b/dev-libs/aws-c-cal/Manifest
@@ -0,0 +1 @@
+DIST aws-c-cal-0.4.5.tar.gz 51956 BLAKE2B 8e758cf4ba362efb3721c4b25f8264e3859eb0882d5bd1dc65a1ad7fa6ac5deb80872b214f39f389ad2c4cae620cb3d6535f39e8e6cbd63bceeb6b1ad7fd5bd1 SHA512 b6feb72e607bf9bbd927dda21a6d7e7f99771c5078fad778aa2d858aa86b251726a3797b61ad2d927a5293dad10b8ec97192ed60db652ebf8c664923c2484b6f
diff --git a/dev-libs/aws-c-cal/aws-c-cal-0.4.5.ebuild b/dev-libs/aws-c-cal/aws-c-cal-0.4.5.ebuild
new file mode 100644
index 000000000000..7dd18890b23a
--- /dev/null
+++ b/dev-libs/aws-c-cal/aws-c-cal-0.4.5.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Crypto Abstraction Layer: Cross-Platform C99 wrapper for cryptography primitives"
+HOMEPAGE="https://github.com/awslabs/aws-c-cal"
+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 )"
+
+DEPEND="
+ >=dev-libs/aws-c-common-0.4.62:=[static-libs=]
+ >=dev-libs/openssl-1.1.1:=[static-libs=]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake-prefix.patch
+ "${FILESDIR}"/${P}-add_libz_for_static.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-add_libz_for_static.patch b/dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-add_libz_for_static.patch
new file mode 100644
index 000000000000..d5a8aec12451
--- /dev/null
+++ b/dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-add_libz_for_static.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt 2021-03-26 08:23:16.460538851 +0100
++++ b/CMakeLists.txt 2021-03-26 08:25:31.408531072 +0100
+@@ -81,6 +81,9 @@
+ find_package(LibCrypto REQUIRED)
+ set(PLATFORM_LIBS LibCrypto::Crypto dl)
+ endif()
++ if (NOT BUILD_SHARED_LIBS)
++ set(PLATFORM_LIBS ${PLATFORM_LIBS} z)
++ endif()
+ endif()
+
+ file(GLOB CAL_HEADERS
diff --git a/dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-cmake-prefix.patch b/dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-cmake-prefix.patch
new file mode 100644
index 000000000000..7c861ce715f9
--- /dev/null
+++ b/dev-libs/aws-c-cal/files/aws-c-cal-0.4.5-cmake-prefix.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,7 +23,7 @@ elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+ endif()
+
+ # This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
+-set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
++set(AWS_MODULE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake")
+ string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
+ # Append that generated list to the module search path
+ list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
diff --git a/dev-libs/aws-c-cal/metadata.xml b/dev-libs/aws-c-cal/metadata.xml
new file mode 100644
index 000000000000..304f6cf4a68c
--- /dev/null
+++ b/dev-libs/aws-c-cal/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>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>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-cal</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/aws-c-common/Manifest b/dev-libs/aws-c-common/Manifest
new file mode 100644
index 000000000000..9b874b473bc4
--- /dev/null
+++ b/dev-libs/aws-c-common/Manifest
@@ -0,0 +1,2 @@
+DIST aws-c-common-0.4.62.tar.gz 411263 BLAKE2B b9eb8eab8fceb949adcb96bc98987c318dcc70dae2cb8ecdcdf36c306be97158a64208c4bcc2452c83f03708cd7fb5401639558bc9bea946234f4b6b4c8eaec1 SHA512 7f31d739a3376404016bd509b40656d7620bddfb77a7f988306f2dcb2b03a03387855d845c2b9f63194d0bf2182a8d96392dba6c2bf847eaeb008115561d73ba
+DIST aws-c-common-0.5.2.tar.gz 422185 BLAKE2B e2058d523f9739b2d28db6ff26e00326977853a1ccc2468c36ba021619b0e9223e8a5584c06a29b511607741d208ac803023c1e6c17df10cd46227274d885978 SHA512 3e3b639f0387ba0e4ea62a35e57b7f0697a5f829bbffe6758d2e43db45543528615298281b045275c582a8cce9f0f6a36a06b231460ce4e2cc42ac01d7a0e952
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
new file mode 100644
index 000000000000..4301c1e50ee7
--- /dev/null
+++ b/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Core c99 package for AWS SDK for C"
+HOMEPAGE="https://github.com/awslabs/aws-c-common"
+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 )"
+
+BDEPEND="
+ || (
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.57-remove-Werror-CFLAG.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-c-common/aws-c-common-0.5.2.ebuild b/dev-libs/aws-c-common/aws-c-common-0.5.2.ebuild
new file mode 100644
index 000000000000..1427f5278f1e
--- /dev/null
+++ b/dev-libs/aws-c-common/aws-c-common-0.5.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Core c99 package for AWS SDK for C"
+HOMEPAGE="https://github.com/awslabs/aws-c-common"
+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 )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-remove-Werror-CFLAG.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-c-common/files/aws-c-common-0.4.57-remove-Werror-CFLAG.patch b/dev-libs/aws-c-common/files/aws-c-common-0.4.57-remove-Werror-CFLAG.patch
new file mode 100644
index 000000000000..767407062453
--- /dev/null
+++ b/dev-libs/aws-c-common/files/aws-c-common-0.4.57-remove-Werror-CFLAG.patch
@@ -0,0 +1,11 @@
+--- a/cmake/AwsCFlags.cmake 2020-09-29 09:19:28.820584526 +0200
++++ b/cmake/AwsCFlags.cmake 2020-09-29 09:19:36.068584784 +0200
+@@ -48,7 +48,7 @@
+ list(APPEND AWS_C_FLAGS "${_FLAGS}")
+
+ else()
+- list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes)
++ list(APPEND AWS_C_FLAGS -Wall -Wstrict-prototypes)
+
+ if(NOT SET_PROPERTIES_NO_WEXTRA)
+ list(APPEND AWS_C_FLAGS -Wextra)
diff --git a/dev-libs/aws-c-common/files/aws-c-common-0.5.2-remove-Werror-CFLAG.patch b/dev-libs/aws-c-common/files/aws-c-common-0.5.2-remove-Werror-CFLAG.patch
new file mode 100644
index 000000000000..888205f88d61
--- /dev/null
+++ b/dev-libs/aws-c-common/files/aws-c-common-0.5.2-remove-Werror-CFLAG.patch
@@ -0,0 +1,11 @@
+--- a/cmake/AwsCFlags.cmake 2021-03-11 07:42:36.325962577 +0100
++++ b/cmake/AwsCFlags.cmake 2021-03-11 07:42:46.174962928 +0100
+@@ -53,7 +53,7 @@
+ list(APPEND AWS_C_FLAGS "${_FLAGS}")
+
+ else()
+- list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes -fno-omit-frame-pointer)
++ list(APPEND AWS_C_FLAGS -Wall -Wstrict-prototypes -fno-omit-frame-pointer)
+
+ if(NOT SET_PROPERTIES_NO_WEXTRA)
+ list(APPEND AWS_C_FLAGS -Wextra)
diff --git a/dev-libs/aws-c-common/metadata.xml b/dev-libs/aws-c-common/metadata.xml
new file mode 100644
index 000000000000..74ef5bba7d8a
--- /dev/null
+++ b/dev-libs/aws-c-common/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>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>
+ <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.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/aws-c-event-stream/Manifest b/dev-libs/aws-c-event-stream/Manifest
new file mode 100644
index 000000000000..9d963cb1d25d
--- /dev/null
+++ b/dev-libs/aws-c-event-stream/Manifest
@@ -0,0 +1,2 @@
+DIST aws-c-event-stream-0.2.5.tar.gz 61949 BLAKE2B baebd87a916fb8440db56afa2b97bd02229d70e00b55c40a17a2f467ad683422a6c6747aa698adce5272a03ced3fe6957d8cc62040d8080d3ed95409d8182851 SHA512 1421d608d8a5cfa5ec5df3bd905aab9ce9abc913461569a99b895c8415e50305aca0be3595bd4f3ed74cb52cc0e342354d211531066fdde60e14dd60e5629239
+DIST aws-c-event-stream-0.2.7.tar.gz 63942 BLAKE2B 751199efa1889861b647ca2f59f4a323961aedb9184d8c1293ff8a32096bb6e22de43eb2afbe9eb433f43e07ef8be251c815cfd897eb81cf2041e5f7be230ead SHA512 3ecc9fd80cd37d87df34948a7d7ca344a7b5ff2298e5ecc568d945830f8f8cd88721e0d2c4d11dee06af87e14b9ff13c8f13b8abfee74826ae72c8a280109440
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
new file mode 100644
index 000000000000..b74da3e1e090
--- /dev/null
+++ b/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="C99 implementation of the vnd.amazon.eventstream content-type"
+HOMEPAGE="https://github.com/awslabs/aws-c-event-stream"
+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 )"
+
+BDEPEND="
+ || (
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
+ )
+"
+
+DEPEND="
+ >=dev-libs/aws-c-common-0.4.62:=[static-libs=]
+ >=dev-libs/aws-c-io-0.7.0:=[static-libs=]
+ >=dev-libs/aws-checksums-0.1.10:=[static-libs=]
+"
+
+PATCHES=(
+ "${FILESDIR}"/0.1.3-add_missing_cmake_install_prefix.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ if use test; then
+ # (#760585) 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_NET_TESTS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.7.ebuild b/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.7.ebuild
new file mode 100644
index 000000000000..557f3a34b074
--- /dev/null
+++ b/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="C99 implementation of the vnd.amazon.eventstream content-type"
+HOMEPAGE="https://github.com/awslabs/aws-c-event-stream"
+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 )"
+
+DEPEND="
+ >=dev-libs/aws-c-common-0.5.2:=[static-libs=]
+ >=dev-libs/aws-c-io-0.9.2:=[static-libs=]
+ >=dev-libs/aws-checksums-0.1.10:=[static-libs=]
+"
+
+PATCHES=(
+ "${FILESDIR}"/0.1.3-add_missing_cmake_install_prefix.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ if use test; then
+ # (#760585) 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_NET_TESTS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-c-event-stream/files/0.1.3-add_missing_cmake_install_prefix.patch b/dev-libs/aws-c-event-stream/files/0.1.3-add_missing_cmake_install_prefix.patch
new file mode 100644
index 000000000000..0b4280944835
--- /dev/null
+++ b/dev-libs/aws-c-event-stream/files/0.1.3-add_missing_cmake_install_prefix.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2019-09-20 08:43:35.141590222 +0200
++++ b/CMakeLists.txt 2019-09-20 08:43:48.309590263 +0200
+@@ -28,7 +28,7 @@
+ endif()
+
+ # This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
+-set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
++set(AWS_MODULE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake")
+ string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
+ # Append that generated list to the module search path
+ list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
diff --git a/dev-libs/aws-c-event-stream/metadata.xml b/dev-libs/aws-c-event-stream/metadata.xml
new file mode 100644
index 000000000000..0cde327ac057
--- /dev/null
+++ b/dev-libs/aws-c-event-stream/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>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>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-event-stream</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/aws-c-io/Manifest b/dev-libs/aws-c-io/Manifest
new file mode 100644
index 000000000000..c79b9cb32c71
--- /dev/null
+++ b/dev-libs/aws-c-io/Manifest
@@ -0,0 +1,2 @@
+DIST aws-c-io-0.7.0.tar.gz 561762 BLAKE2B ffe8ac5de9fd5f57e7bc18e1d956f28567413d34ec23a7d0869065718039b1ab56aeae82fd8e24bf77f7393df2c1140308195cd8a4c6ff06cbc7843ae62d76c8 SHA512 b858a5a14cfea86c39f96963c4238ca0f90339befcbd6480e6353719d9846079764f8b42fbdc0cec2f99223bfe1c07fa2a014543fa3fe8a6357440e3cd1007f5
+DIST aws-c-io-0.9.2.tar.gz 586055 BLAKE2B 88c1ac516e29af88062f01f5e2e4718964b25d651922b4b54d82b5cef2a7fd997ee31c7b435933fe284b6ed1f80a310fc75d684c3d7969dba1d2fae4902a157c SHA512 09480b2a06ddd8078234c1058223bc04001d3c54d30bb62a150ab4a2776c7a0c805662560d3b086dad047f22a22e97706be44ac8c5b88e2f9d4bb366c68b9fcb
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
new file mode 100644
index 000000000000..27947e20ab2e
--- /dev/null
+++ b/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="AWS SDK for C module, handles IO and TLS work for application protocols"
+HOMEPAGE="https://github.com/awslabs/aws-c-io"
+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 )"
+
+BDEPEND="
+ || (
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
+ )
+"
+
+DEPEND="
+ >=dev-libs/aws-c-cal-0.4.5:=[static-libs=]
+ >=dev-libs/aws-c-common-0.4.62:=[static-libs=]
+ >=dev-libs/s2n-0.10.21:=[static-libs=]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake-prefix.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ 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_NET_TESTS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-c-io/aws-c-io-0.9.2.ebuild b/dev-libs/aws-c-io/aws-c-io-0.9.2.ebuild
new file mode 100644
index 000000000000..c36b3f45da8b
--- /dev/null
+++ b/dev-libs/aws-c-io/aws-c-io-0.9.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="AWS SDK for C module, handles IO and TLS work for application protocols"
+HOMEPAGE="https://github.com/awslabs/aws-c-io"
+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 )"
+
+DEPEND="
+ >=dev-libs/aws-c-cal-0.4.5:=[static-libs=]
+ >=dev-libs/aws-c-common-0.5.2:=[static-libs=]
+ >=dev-libs/s2n-0.10.21:=[static-libs=]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-cmake-prefix.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ 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_NET_TESTS=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-c-io/files/aws-c-io-0.7.0-cmake-prefix.patch b/dev-libs/aws-c-io/files/aws-c-io-0.7.0-cmake-prefix.patch
new file mode 100644
index 000000000000..39cab922b3d9
--- /dev/null
+++ b/dev-libs/aws-c-io/files/aws-c-io-0.7.0-cmake-prefix.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,7 +23,7 @@ elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+ endif()
+
+ # This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
+-set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
++set(AWS_MODULE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake")
+ string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
+ # Append that generated list to the module search path
+ list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
+
diff --git a/dev-libs/aws-c-io/metadata.xml b/dev-libs/aws-c-io/metadata.xml
new file mode 100644
index 000000000000..ccc2c399cc5a
--- /dev/null
+++ b/dev-libs/aws-c-io/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>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>
+ <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.
+
+aws-c-io is an event driven framework for implementing application protocols. It is built on top of cross-platform
+abstractions that allow you as a developer to think only about the state machine and API for your protocols. A typical
+use-case would be to write something like Http on top of asynchronous-io with TLS already baked in. All of the platform
+and security concerns are already handled for you.
+
+It is designed to be light-weight, fast, portable, and flexible for multiple domain use-cases such as: embedded,
+server, client, and mobile.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/aws-checksums/Manifest b/dev-libs/aws-checksums/Manifest
new file mode 100644
index 000000000000..aeb6ae36ca4e
--- /dev/null
+++ b/dev-libs/aws-checksums/Manifest
@@ -0,0 +1 @@
+DIST aws-checksums-0.1.10.tar.gz 70961 BLAKE2B ef0644b8b6f81ca743955170940b9e152bf6b48d8146ea0ebe11b37eac607fe6544a826d9a14b273575837c842a3e539e4829571df1c4fa61bf9008e44872e8c SHA512 a76eb274f668189cb303f7010311e51551b224d19bf54bb152c3d9346ab837c33300fc6c1e9c35b04922101817cca8b3ea7968f6cdecf1166e7933bf0348edb6
diff --git a/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild b/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
new file mode 100644
index 000000000000..e456f93cb20f
--- /dev/null
+++ b/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Cross-Platform HW accelerated CRC32c and CRC32 with software fallbacks"
+HOMEPAGE="https://github.com/awslabs/aws-checksums"
+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 )"
+
+BDEPEND="
+ || (
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
+ )
+"
+
+DEPEND="
+ >=dev-libs/aws-c-common-0.4.62:=[static-libs=]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.1.9-cmake-prefix.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=$(usex !static-libs)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/aws-checksums/files/aws-checksums-0.1.9-cmake-prefix.patch b/dev-libs/aws-checksums/files/aws-checksums-0.1.9-cmake-prefix.patch
new file mode 100644
index 000000000000..9ca2437960fc
--- /dev/null
+++ b/dev-libs/aws-checksums/files/aws-checksums-0.1.9-cmake-prefix.patch
@@ -0,0 +1,26 @@
+From 97b3ba123af200d7dc4fe83e191e77c83ed7aff2 Mon Sep 17 00:00:00 2001
+From: Jakov Smolic <jakov.smolic@sartura.hr>
+Date: Tue, 1 Sep 2020 09:55:46 +0200
+Subject: [PATCH] CMakeLists: Add mising CMAKE_INSTALL_PREFIX
+
+Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 888742b..193a94a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,7 +23,7 @@ elseif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+ endif()
+
+ # This is required in order to append /lib/cmake to each element in CMAKE_PREFIX_PATH
+-set(AWS_MODULE_DIR "/${CMAKE_INSTALL_LIBDIR}/cmake")
++set(AWS_MODULE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake")
+ string(REPLACE ";" "${AWS_MODULE_DIR};" AWS_MODULE_PATH "${CMAKE_PREFIX_PATH}${AWS_MODULE_DIR}")
+ # Append that generated list to the module search path
+ list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH})
+--
+2.26.2
+
diff --git a/dev-libs/aws-checksums/metadata.xml b/dev-libs/aws-checksums/metadata.xml
new file mode 100644
index 000000000000..1bbf8de9f110
--- /dev/null
+++ b/dev-libs/aws-checksums/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">
+ <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>
+ <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
+ bindings for each of our SDKs
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/aws-sdk-cpp/Manifest b/dev-libs/aws-sdk-cpp/Manifest
deleted file mode 100644
index 3e0506583819..000000000000
--- a/dev-libs/aws-sdk-cpp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aws-sdk-cpp-1.5.17.tar.gz 16424254 BLAKE2B 3beeda2085a487b007c088b149a84b7c561ebc75a3a431d2c0139d1f2c6b3c1182e5e00df349436cd5d1f25fbbf60a963db69b562503903cd4a5ccf4db01aac0 SHA512 1a69098c0ddaba46e0d336875029dbdea0d92a3165ee7eed77d1425ea375b401138235f4fa71604fd3df89db633664cd9c36c1fad7989d974f28f7e1785b95c0
diff --git a/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.5.17.ebuild b/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.5.17.ebuild
deleted file mode 100644
index 81c7a27487bf..000000000000
--- a/dev-libs/aws-sdk-cpp/aws-sdk-cpp-1.5.17.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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"
-
-ALL_AWS_TARGETS="access-management acm acm-pca alexaforbusiness apigateway application-autoscaling appstream appsync athena autoscaling autoscaling-plans AWSMigrationHub batch budgets ce cloud9 clouddirectory cloudformation cloudfront cloudhsm cloudhsmv2 cloudsearch cloudsearchdomain cloudtrail codebuild codecommit codedeploy codepipeline codestar cognito-identity cognito-idp cognito-sync comprehend config connect core cur datapipeline dax devicefarm directconnect discovery dms ds dynamodb dynamodbstreams ec2 ecr ecs eks elasticache elasticbeanstalk elasticfilesystem elasticloadbalancing elasticloadbalancingv2 elasticmapreduce elastictranscoder email es events firehose fms gamelift glacier glue greengrass guardduty health iam identity-management importexport inspector iot iot1click-devices iot1click-projects iotanalytics iot-data iot-jobs-data kinesis kinesisanalytics kinesisvideo kinesis-video-archived-media kinesis-video-media kms lambda lex lex-models lightsail logs machinelearning macie marketplacecommerceanalytics marketplace-entitlement mediaconvert medialive mediapackage mediastore mediastore-data mediatailor meteringmarketplace mobile mobileanalytics monitoring mq mturk-requester neptune opsworks opsworkscm organizations pi pinpoint polly pricing queues rds redshift rekognition resource-groups resourcegroupstaggingapi route53 route53domains s3 s3-encryption sagemaker sagemaker-runtime sdb secretsmanager serverlessrepo servicecatalog servicediscovery shield sms snowball sns sqs ssm states storagegateway sts support swf text-to-speech transcribe transfer translate waf waf-regional workdocs workmail workspaces xray"
-
-for module in ${ALL_AWS_TARGETS}; do
- if [ "$module" = "core" ]; then
- IUSE_AWS_TARGETS+=" aws_targets_${module}"
- else
- IUSE_AWS_TARGETS+=" -aws_targets_${module}"
- fi
-done
-IUSE="static-libs test ${IUSE_AWS_TARGETS}"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DCPP_STANDARD=17
- -DENABLE_TESTING=$(usex test)
- -DBUILD_SHARED_LIBS=$(usex !static-libs)
- -DBUILD_ONLY="${AWS_TARGETS// /;}"
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/aws-sdk-cpp/metadata.xml b/dev-libs/aws-sdk-cpp/metadata.xml
deleted file mode 100644
index 4520e67d29ef..000000000000
--- a/dev-libs/aws-sdk-cpp/metadata.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>amit.prakash.ambasta@gmail.com</email>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <use>
- <flag name="aws_targets_access-management">SDK Support for AWS access-management</flag>
- <flag name="aws_targets_acm">SDK Support for AWS acm</flag>
- <flag name="aws_targets_acm-pca">SDK Support for AWS acm-pca</flag>
- <flag name="aws_targets_alexaforbusiness">SDK Support for AWS alexaforbusiness</flag>
- <flag name="aws_targets_apigateway">SDK Support for AWS apigateway</flag>
- <flag name="aws_targets_application-autoscaling">SDK Support for AWS application-autoscaling</flag>
- <flag name="aws_targets_appstream">SDK Support for AWS appstream</flag>
- <flag name="aws_targets_appsync">SDK Support for AWS appsync</flag>
- <flag name="aws_targets_athena">SDK Support for AWS athena</flag>
- <flag name="aws_targets_autoscaling">SDK Support for AWS autoscaling</flag>
- <flag name="aws_targets_autoscaling-plans">SDK Support for AWS autoscaling-plans</flag>
- <flag name="aws_targets_AWSMigrationHub">SDK Support for AWS AWSMigrationHub</flag>
- <flag name="aws_targets_batch">SDK Support for AWS batch</flag>
- <flag name="aws_targets_budgets">SDK Support for AWS budgets</flag>
- <flag name="aws_targets_ce">SDK Support for AWS ce</flag>
- <flag name="aws_targets_cloud9">SDK Support for AWS cloud9</flag>
- <flag name="aws_targets_clouddirectory">SDK Support for AWS clouddirectory</flag>
- <flag name="aws_targets_cloudformation">SDK Support for AWS cloudformation</flag>
- <flag name="aws_targets_cloudfront">SDK Support for AWS cloudfront</flag>
- <flag name="aws_targets_cloudhsm">SDK Support for AWS cloudhsm</flag>
- <flag name="aws_targets_cloudhsmv2">SDK Support for AWS cloudhsmv2</flag>
- <flag name="aws_targets_cloudsearch">SDK Support for AWS cloudsearch</flag>
- <flag name="aws_targets_cloudsearchdomain">SDK Support for AWS cloudsearchdomain</flag>
- <flag name="aws_targets_cloudtrail">SDK Support for AWS cloudtrail</flag>
- <flag name="aws_targets_codebuild">SDK Support for AWS codebuild</flag>
- <flag name="aws_targets_codecommit">SDK Support for AWS codecommit</flag>
- <flag name="aws_targets_codedeploy">SDK Support for AWS codedeploy</flag>
- <flag name="aws_targets_codepipeline">SDK Support for AWS codepipeline</flag>
- <flag name="aws_targets_codestar">SDK Support for AWS codestar</flag>
- <flag name="aws_targets_cognito-identity">SDK Support for AWS cognito-identity</flag>
- <flag name="aws_targets_cognito-idp">SDK Support for AWS cognito-idp</flag>
- <flag name="aws_targets_cognito-sync">SDK Support for AWS cognito-sync</flag>
- <flag name="aws_targets_comprehend">SDK Support for AWS comprehend</flag>
- <flag name="aws_targets_config">SDK Support for AWS config</flag>
- <flag name="aws_targets_connect">SDK Support for AWS connect</flag>
- <flag name="aws_targets_core">SDK Support for AWS core</flag>
- <flag name="aws_targets_cur">SDK Support for AWS cur</flag>
- <flag name="aws_targets_datapipeline">SDK Support for AWS datapipeline</flag>
- <flag name="aws_targets_dax">SDK Support for AWS dax</flag>
- <flag name="aws_targets_devicefarm">SDK Support for AWS devicefarm</flag>
- <flag name="aws_targets_directconnect">SDK Support for AWS directconnect</flag>
- <flag name="aws_targets_discovery">SDK Support for AWS discovery</flag>
- <flag name="aws_targets_dms">SDK Support for AWS dms</flag>
- <flag name="aws_targets_ds">SDK Support for AWS ds</flag>
- <flag name="aws_targets_dynamodb">SDK Support for AWS dynamodb</flag>
- <flag name="aws_targets_dynamodbstreams">SDK Support for AWS dynamodbstreams</flag>
- <flag name="aws_targets_ec2">SDK Support for AWS ec2</flag>
- <flag name="aws_targets_ecr">SDK Support for AWS ecr</flag>
- <flag name="aws_targets_ecs">SDK Support for AWS ecs</flag>
- <flag name="aws_targets_eks">SDK Support for AWS eks</flag>
- <flag name="aws_targets_elasticache">SDK Support for AWS elasticache</flag>
- <flag name="aws_targets_elasticbeanstalk">SDK Support for AWS elasticbeanstalk</flag>
- <flag name="aws_targets_elasticfilesystem">SDK Support for AWS elasticfilesystem</flag>
- <flag name="aws_targets_elasticloadbalancing">SDK Support for AWS elasticloadbalancing</flag>
- <flag name="aws_targets_elasticloadbalancingv2">SDK Support for AWS elasticloadbalancingv2</flag>
- <flag name="aws_targets_elasticmapreduce">SDK Support for AWS elasticmapreduce</flag>
- <flag name="aws_targets_elastictranscoder">SDK Support for AWS elastictranscoder</flag>
- <flag name="aws_targets_email">SDK Support for AWS email</flag>
- <flag name="aws_targets_es">SDK Support for AWS es</flag>
- <flag name="aws_targets_events">SDK Support for AWS events</flag>
- <flag name="aws_targets_firehose">SDK Support for AWS firehose</flag>
- <flag name="aws_targets_fms">SDK Support for AWS fms</flag>
- <flag name="aws_targets_gamelift">SDK Support for AWS gamelift</flag>
- <flag name="aws_targets_glacier">SDK Support for AWS glacier</flag>
- <flag name="aws_targets_glue">SDK Support for AWS glue</flag>
- <flag name="aws_targets_greengrass">SDK Support for AWS greengrass</flag>
- <flag name="aws_targets_guardduty">SDK Support for AWS guardduty</flag>
- <flag name="aws_targets_health">SDK Support for AWS health</flag>
- <flag name="aws_targets_iam">SDK Support for AWS iam</flag>
- <flag name="aws_targets_identity-management">SDK Support for AWS identity-management</flag>
- <flag name="aws_targets_importexport">SDK Support for AWS importexport</flag>
- <flag name="aws_targets_inspector">SDK Support for AWS inspector</flag>
- <flag name="aws_targets_iot">SDK Support for AWS iot</flag>
- <flag name="aws_targets_iot1click-devices">SDK Support for AWS iot1click-devices</flag>
- <flag name="aws_targets_iot1click-projects">SDK Support for AWS iot1click-projects</flag>
- <flag name="aws_targets_iotanalytics">SDK Support for AWS iotanalytics</flag>
- <flag name="aws_targets_iot-data">SDK Support for AWS iot-data</flag>
- <flag name="aws_targets_iot-jobs-data">SDK Support for AWS iot-jobs-data</flag>
- <flag name="aws_targets_kinesis">SDK Support for AWS kinesis</flag>
- <flag name="aws_targets_kinesisanalytics">SDK Support for AWS kinesisanalytics</flag>
- <flag name="aws_targets_kinesisvideo">SDK Support for AWS kinesisvideo</flag>
- <flag name="aws_targets_kinesis-video-archived-media">SDK Support for AWS kinesis-video-archived-media</flag>
- <flag name="aws_targets_kinesis-video-media">SDK Support for AWS kinesis-video-media</flag>
- <flag name="aws_targets_kms">SDK Support for AWS kms</flag>
- <flag name="aws_targets_lambda">SDK Support for AWS lambda</flag>
- <flag name="aws_targets_lex">SDK Support for AWS lex</flag>
- <flag name="aws_targets_lex-models">SDK Support for AWS lex-models</flag>
- <flag name="aws_targets_lightsail">SDK Support for AWS lightsail</flag>
- <flag name="aws_targets_logs">SDK Support for AWS logs</flag>
- <flag name="aws_targets_machinelearning">SDK Support for AWS machinelearning</flag>
- <flag name="aws_targets_macie">SDK Support for AWS macie</flag>
- <flag name="aws_targets_marketplacecommerceanalytics">SDK Support for AWS marketplacecommerceanalytics</flag>
- <flag name="aws_targets_marketplace-entitlement">SDK Support for AWS marketplace-entitlement</flag>
- <flag name="aws_targets_mediaconvert">SDK Support for AWS mediaconvert</flag>
- <flag name="aws_targets_medialive">SDK Support for AWS medialive</flag>
- <flag name="aws_targets_mediapackage">SDK Support for AWS mediapackage</flag>
- <flag name="aws_targets_mediastore">SDK Support for AWS mediastore</flag>
- <flag name="aws_targets_mediastore-data">SDK Support for AWS mediastore-data</flag>
- <flag name="aws_targets_mediatailor">SDK Support for AWS mediatailor</flag>
- <flag name="aws_targets_meteringmarketplace">SDK Support for AWS meteringmarketplace</flag>
- <flag name="aws_targets_mobile">SDK Support for AWS mobile</flag>
- <flag name="aws_targets_mobileanalytics">SDK Support for AWS mobileanalytics</flag>
- <flag name="aws_targets_monitoring">SDK Support for AWS monitoring</flag>
- <flag name="aws_targets_mq">SDK Support for AWS mq</flag>
- <flag name="aws_targets_mturk-requester">SDK Support for AWS mturk-requester</flag>
- <flag name="aws_targets_neptune">SDK Support for AWS neptune</flag>
- <flag name="aws_targets_opsworks">SDK Support for AWS opsworks</flag>
- <flag name="aws_targets_opsworkscm">SDK Support for AWS opsworkscm</flag>
- <flag name="aws_targets_organizations">SDK Support for AWS organizations</flag>
- <flag name="aws_targets_pi">SDK Support for AWS pi</flag>
- <flag name="aws_targets_pinpoint">SDK Support for AWS pinpoint</flag>
- <flag name="aws_targets_polly">SDK Support for AWS polly</flag>
- <flag name="aws_targets_pricing">SDK Support for AWS pricing</flag>
- <flag name="aws_targets_queues">SDK Support for AWS queues</flag>
- <flag name="aws_targets_rds">SDK Support for AWS rds</flag>
- <flag name="aws_targets_redshift">SDK Support for AWS redshift</flag>
- <flag name="aws_targets_rekognition">SDK Support for AWS rekognition</flag>
- <flag name="aws_targets_resource-groups">SDK Support for AWS resource-groups</flag>
- <flag name="aws_targets_resourcegroupstaggingapi">SDK Support for AWS resourcegroupstaggingapi</flag>
- <flag name="aws_targets_route53">SDK Support for AWS route53</flag>
- <flag name="aws_targets_route53domains">SDK Support for AWS route53domains</flag>
- <flag name="aws_targets_s3">SDK Support for AWS s3</flag>
- <flag name="aws_targets_s3-encryption">SDK Support for AWS s3-encryption</flag>
- <flag name="aws_targets_sagemaker">SDK Support for AWS sagemaker</flag>
- <flag name="aws_targets_sagemaker-runtime">SDK Support for AWS sagemaker-runtime</flag>
- <flag name="aws_targets_sdb">SDK Support for AWS sdb</flag>
- <flag name="aws_targets_secretsmanager">SDK Support for AWS secretsmanager</flag>
- <flag name="aws_targets_serverlessrepo">SDK Support for AWS serverlessrepo</flag>
- <flag name="aws_targets_servicecatalog">SDK Support for AWS servicecatalog</flag>
- <flag name="aws_targets_servicediscovery">SDK Support for AWS servicediscovery</flag>
- <flag name="aws_targets_shield">SDK Support for AWS shield</flag>
- <flag name="aws_targets_sms">SDK Support for AWS sms</flag>
- <flag name="aws_targets_snowball">SDK Support for AWS snowball</flag>
- <flag name="aws_targets_sns">SDK Support for AWS sns</flag>
- <flag name="aws_targets_sqs">SDK Support for AWS sqs</flag>
- <flag name="aws_targets_ssm">SDK Support for AWS ssm</flag>
- <flag name="aws_targets_states">SDK Support for AWS states</flag>
- <flag name="aws_targets_storagegateway">SDK Support for AWS storagegateway</flag>
- <flag name="aws_targets_sts">SDK Support for AWS sts</flag>
- <flag name="aws_targets_support">SDK Support for AWS support</flag>
- <flag name="aws_targets_swf">SDK Support for AWS swf</flag>
- <flag name="aws_targets_text-to-speech">SDK Support for AWS text-to-speech</flag>
- <flag name="aws_targets_transcribe">SDK Support for AWS transcribe</flag>
- <flag name="aws_targets_transfer">SDK Support for AWS transfer</flag>
- <flag name="aws_targets_translate">SDK Support for AWS translate</flag>
- <flag name="aws_targets_waf">SDK Support for AWS waf</flag>
- <flag name="aws_targets_waf-regional">SDK Support for AWS waf-regional</flag>
- <flag name="aws_targets_workdocs">SDK Support for AWS workdocs</flag>
- <flag name="aws_targets_workmail">SDK Support for AWS workmail</flag>
- <flag name="aws_targets_workspaces">SDK Support for AWS workspaces</flag>
- <flag name="aws_targets_xray">SDK Support for AWS xray</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 6d71300a1be6..000000000000
--- a/dev-libs/bareos-fastlzlib/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST bareos-fastlzlib-0_pre20140912.zip 379089 BLAKE2B 6a6aa9bfbf54492c6f54f06512ed4c503656d5115ad37cad72fe85e75099093f0093fd20c42d340293ebdb11d59a8fdd38944ba65846af5f6bcaab73783c4d34 SHA512 94b9bd1c599b65d2dc074beb77fb8fe4139647bb047bcfd52b36126dd95ddb3e3e88cdb10464631594ebaff18405446a566fed4eb83ba08e71894de5a47d019f
-DIST bareos-fastlzlib-0_pre20150524.zip 379650 BLAKE2B 0ef9cc815da6926ff2922cd61a0670f3f55ab2094e2986bfe8ae4b6847eae72ba0ccd27821fbf7b1d09eebf405cd5fcd759d074d890b11e62b23d22a45361758 SHA512 cf4b657ce27fad7bf8e0ed5183507f544783f4cf9d72a50754ecdce9784095ec110b51cc22c164610dc037f23a30f945a9c69e38c6cc8e55cf7691ac2b473bc8
diff --git a/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild b/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild
deleted file mode 100644
index b748fee355af..000000000000
--- a/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20140912.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-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"
-
-LICENSE="BSD-1 BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}
- !app-arch/lz4
-"
-
-S="${WORKDIR}/fastlzlib-master"
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete
- find "${D}" -type d -name libfastlz -exec rm -rf {} +
-}
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 b748fee355af..000000000000
--- a/dev-libs/bareos-fastlzlib/bareos-fastlzlib-0_pre20150524.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-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"
-
-LICENSE="BSD-1 BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}
- !app-arch/lz4
-"
-
-S="${WORKDIR}/fastlzlib-master"
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete
- find "${D}" -type d -name libfastlz -exec rm -rf {} +
-}
diff --git a/dev-libs/bareos-fastlzlib/metadata.xml b/dev-libs/bareos-fastlzlib/metadata.xml
deleted file mode 100644
index efb7527f06c0..000000000000
--- a/dev-libs/bareos-fastlzlib/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 ae4a32be92ea..b5d08dbc6268 100644
--- a/dev-libs/bcm2835/Manifest
+++ b/dev-libs/bcm2835/Manifest
@@ -1,2 +1,2 @@
-DIST bcm2835-1.52.tar.gz 258007 BLAKE2B b681617352ee0239c9c4effb5a5e161b2c409514d08e0d60d35e9bb58126f2a00bb9ab1a7f767db4c68a28eab4432f1f8908d5a4372b5b1c05f6f979f27c036d SHA512 5a6c608ed10169b0bcf9dab91dc0193b9fd16814c5c6bb18ea242b36ac803e56c49147721ed48c83ff72892683be6032f2e85bcc76dae523e5d79a5ae52f5154
-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.52.ebuild b/dev-libs/bcm2835/bcm2835-1.52.ebuild
deleted file mode 100644
index df21044d8808..000000000000
--- a/dev-libs/bcm2835/bcm2835-1.52.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="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.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.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/bcm2835/metadata.xml b/dev-libs/bcm2835/metadata.xml
index 6dde16e5c4b6..8539ca0d974d 100644
--- a/dev-libs/bcm2835/metadata.xml
+++ b/dev-libs/bcm2835/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chithanh@gentoo.org</email>
diff --git a/dev-libs/beignet/Manifest b/dev-libs/beignet/Manifest
deleted file mode 100644
index bcfd62e25059..000000000000
--- a/dev-libs/beignet/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST beignet-1.3.2-source.tar.gz 1143573 BLAKE2B e95e9ad352e7e695a0c56a8cea7bff312d7e1e811e17da6c744f16833130ca5339c163504afff3ed61947e752b94dc0465f6702317feb7662fb9676939838f20 SHA512 ed09a895c2f7e9b6e18687a899f1303dfda95e505c3c2d54bf7598cc4eba6c2fb5926589b19dd294384a4ff3f832c43235b1f03f8b7fd295cd558e78bda1400a
diff --git a/dev-libs/beignet/beignet-1.3.2-r3.ebuild b/dev-libs/beignet/beignet-1.3.2-r3.ebuild
deleted file mode 100644
index 132de5924f5f..000000000000
--- a/dev-libs/beignet/beignet-1.3.2-r3.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-CMAKE_BUILD_TYPE="Release"
-
-inherit python-any-r1 cmake-multilib flag-o-matic llvm
-
-DESCRIPTION="OpenCL implementation for Intel Sandy Bridge, Ivy Bridge and Haswell GPUs"
-HOMEPAGE="https://01.org/beignet https://gitlab.freedesktop.org/beignet/beignet"
-SRC_URI="https://01.org/sites/default/files/${P}-source.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="ocl-icd ocl20"
-
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig"
-COMMON="app-eselect/eselect-opencl
- media-libs/mesa[${MULTILIB_USEDEP}]
- <sys-devel/clang-8.0.0:=[static-analyzer,${MULTILIB_USEDEP}]
- >=x11-libs/libdrm-2.4.70[video_cards_intel,${MULTILIB_USEDEP}]
- x11-libs/libXext[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- ocl-icd? ( dev-libs/ocl-icd )"
-RDEPEND="${COMMON}"
-DEPEND="${COMMON}"
-
-LLVM_MAX_SLOT=7
-
-PATCHES=(
- "${FILESDIR}"/no-debian-multiarch.patch
- "${FILESDIR}"/${PN}-1.3.2_disable-doNegAddOptimization.patch
- "${FILESDIR}"/${PN}-1.3.2_cmake-llvm-config-multilib.patch
- "${FILESDIR}"/${PN}-1.3.2_llvm6.patch
- "${FILESDIR}"/${PN}-1.3.2_llvm7.patch
- "${FILESDIR}"/${PN}-1.3.1-oclicd_no_upstream_icdfile.patch
- "${FILESDIR}"/${PN}-1.2.0_no-hardcoded-cflags.patch
- "${FILESDIR}"/llvm-terminfo.patch
-)
-
-DOCS=(
- docs/.
-)
-
-S="${WORKDIR}"/Beignet-${PV}-Source
-
-pkg_setup() {
- llvm_pkg_setup
- python_setup
-}
-
-src_prepare() {
- # See Bug #593968
- append-flags -fPIC
-
- cmake-utils_src_prepare
- # We cannot run tests because they require permissions to access
- # the hardware, and building them is very time-consuming.
- cmake_comment_add_subdirectory utests
-}
-
-multilib_src_configure() {
- VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}"
-
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}${VENDOR_DIR}"
- -DOCLICD_COMPAT=$(usex ocl-icd)
- $(usex ocl20 "" "-DENABLE_OPENCL_20=OFF")
- )
-
- cmake-utils_src_configure
-}
-
-multilib_src_install() {
- VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}"
-
- cmake-utils_src_install
-
- insinto /etc/OpenCL/vendors/
- echo "${EPREFIX}${VENDOR_DIR}/lib/${PN}/libcl.so" > "${PN}-${ABI}.icd" || die "Failed to generate ICD file"
- doins "${PN}-${ABI}.icd"
-
- dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so.1
- dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so
- dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so.1
- dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so
-}
-
-pkg_postinst() {
- elog ""
- elog "Please note that for Broadwell and newer architectures, Beignet has been deprecated upstream in favour of dev-libs/intel-neo."
- elog "It remains the recommended solution for Sandy Bridge, Ivy Bridge and Haswell."
- elog ""
-
- if use ocl-icd; then
- "${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
- else
- "${ROOT}"/usr/bin/eselect opencl set --use-old beignet
- fi
-}
diff --git a/dev-libs/beignet/files/beignet-1.2.0_no-hardcoded-cflags.patch b/dev-libs/beignet/files/beignet-1.2.0_no-hardcoded-cflags.patch
deleted file mode 100644
index 3f9875930b50..000000000000
--- a/dev-libs/beignet/files/beignet-1.2.0_no-hardcoded-cflags.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/CMakeLists.txt 2016-08-30 10:06:31.000000000 +0000
-+++ b/CMakeLists.txt 2016-09-16 06:55:28.975772954 +0000
-@@ -89,8 +89,7 @@
- elseif (COMPILER STREQUAL "ICC")
- set (CMAKE_C_CXX_FLAGS "${CMAKE_C_CXX_FLAGS} -wd2928 -Wall -fPIC -fstrict-aliasing -fp-model fast -msse4.1 -Wl,-E")
- endif ()
--set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_CXX_FLAGS} -std=c++0x -Wno-invalid-offsetof")
--set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_CXX_FLAGS}")
-+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wno-invalid-offsetof")
- set (CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DGBE_DEBUG=1")
- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DGBE_DEBUG=1")
- set (CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG -DGBE_DEBUG=0")
diff --git a/dev-libs/beignet/files/beignet-1.3.1-oclicd_no_upstream_icdfile.patch b/dev-libs/beignet/files/beignet-1.3.1-oclicd_no_upstream_icdfile.patch
deleted file mode 100644
index 7e9e88361b42..000000000000
--- a/dev-libs/beignet/files/beignet-1.3.1-oclicd_no_upstream_icdfile.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -213,11 +213,6 @@
- Find_Package(OCLIcd)
- IF(OCLIcd_FOUND)
- MESSAGE(STATUS "Looking for OCL ICD header file - found")
-- configure_file (
-- "intel-beignet.icd.in"
-- "${ICD_FILE_NAME}"
-- )
-- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${ICD_FILE_NAME} DESTINATION /etc/OpenCL/vendors)
- ELSE(OCLIcd_FOUND)
- MESSAGE(STATUS "Looking for OCL ICD header file - not found")
- MESSAGE(FATAL_ERROR "OCL ICD loader miss. If you really want to disable OCL ICD support, please run cmake with option -DOCLICD_COMPAT=0.")
diff --git a/dev-libs/beignet/files/beignet-1.3.2_cmake-llvm-config-multilib.patch b/dev-libs/beignet/files/beignet-1.3.2_cmake-llvm-config-multilib.patch
deleted file mode 100644
index 5add6a1bbda8..000000000000
--- a/dev-libs/beignet/files/beignet-1.3.2_cmake-llvm-config-multilib.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/CMake/FindLLVM.cmake
-+++ b/CMake/FindLLVM.cmake
-@@ -8,12 +8,12 @@
- # LLVM_FOUND - True if llvm found.
- if (LLVM_INSTALL_DIR)
- find_program(LLVM_CONFIG_EXECUTABLE
-- NAMES llvm-config-37 llvm-config-3.7 llvm-config-36 llvm-config-3.6 llvm-config-38 llvm-config-3.8 llvm-config-39 llvm-config-3.9 llvm-config llvm-config-35 llvm-config-3.5 llvm-config-34 llvm-config-3.4
-+ NAMES $ENV{CHOST}-llvm-config
- DOC "llvm-config executable"
- PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
- else (LLVM_INSTALL_DIR)
- find_program(LLVM_CONFIG_EXECUTABLE
-- NAMES llvm-config-37 llvm-config-3.7 llvm-config-36 llvm-config-3.6 llvm-config-38 llvm-config-3.8 llvm-config-39 llvm-config-3.9 llvm-config llvm-config-35 llvm-config-3.5 llvm-config-34 llvm-config-3.4
-+ NAMES $ENV{CHOST}-llvm-config
- DOC "llvm-config executable")
- endif (LLVM_INSTALL_DIR)
-
diff --git a/dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch b/dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch
deleted file mode 100644
index ae399b17f053..000000000000
--- a/dev-libs/beignet/files/beignet-1.3.2_disable-doNegAddOptimization.patch
+++ /dev/null
@@ -1,66 +0,0 @@
---- b/backend/src/backend/gen_insn_selection_optimize.cpp
-+++ a/backend/src/backend/gen_insn_selection_optimize.cpp
-@@ -74,7 +74,8 @@ namespace gbe
- const GenRegister& replacement) :
- insn(insn), intermedia(intermedia), replacement(replacement)
- {
-- assert(insn.opcode == SEL_OP_MOV || insn.opcode == SEL_OP_ADD);
-+ assert(insn.opcode == SEL_OP_MOV);
-+ assert(&(insn.src(0)) == &replacement);
- assert(&(insn.dst(0)) == &intermedia);
- this->elements = CalculateElements(intermedia, insn.state.execWidth);
- replacementOverwritten = false;
-@@ -101,7 +102,6 @@ namespace gbe
- void doReplacement(ReplaceInfo* info);
- bool CanBeReplaced(const ReplaceInfo* info, const SelectionInstruction& insn, const GenRegister& var);
- void cleanReplaceInfoMap();
-- void doNegAddOptimization(SelectionInstruction &insn);
-
- SelectionBlock &bb;
- const ir::Liveness::LiveOut& liveout;
-@@ -159,13 +159,8 @@ namespace gbe
-
- void SelBasicBlockOptimizer::addToReplaceInfoMap(SelectionInstruction& insn)
- {
-- assert(insn.opcode == SEL_OP_MOV || insn.opcode == SEL_OP_ADD);
-- GenRegister &src = insn.src(0);
-- if (insn.opcode == SEL_OP_ADD) {
-- if (src.file == GEN_IMMEDIATE_VALUE)
-- src = insn.src(1);
-- }
--
-+ assert(insn.opcode == SEL_OP_MOV);
-+ const GenRegister& src = insn.src(0);
- const GenRegister& dst = insn.dst(0);
- if (src.type != dst.type || src.file != dst.file)
- return;
-@@ -254,29 +249,10 @@ namespace gbe
-
- if (insn.opcode == SEL_OP_MOV)
- addToReplaceInfoMap(insn);
--
-- doNegAddOptimization(insn);
- }
- cleanReplaceInfoMap();
- }
-
-- /* LLVM transform Mad(a, -b, c) to
-- Add b, -b, 0
-- Mad val, a, b, c
-- for Gen support negtive modifier, mad(a, -b, c) is native suppoted.
-- Also it can be used for the same like instruction sequence.
-- Do it just like a: mov b, -b, so it is a Mov operation like LocalCopyPropagation
-- */
-- void SelBasicBlockOptimizer::doNegAddOptimization(SelectionInstruction &insn) {
-- if (insn.opcode == SEL_OP_ADD) {
-- GenRegister src0 = insn.src(0);
-- GenRegister src1 = insn.src(1);
-- if ((src0.negation && src1.file == GEN_IMMEDIATE_VALUE && src1.value.f == 0.0f) ||
-- (src1.negation && src0.file == GEN_IMMEDIATE_VALUE && src0.value.f == 0.0f))
-- addToReplaceInfoMap(insn);
-- }
-- }
--
- void SelBasicBlockOptimizer::run()
- {
- for (size_t i = 0; i < MaxTries; ++i) {
diff --git a/dev-libs/beignet/files/beignet-1.3.2_llvm6.patch b/dev-libs/beignet/files/beignet-1.3.2_llvm6.patch
deleted file mode 100644
index be3ccbc44325..000000000000
--- a/dev-libs/beignet/files/beignet-1.3.2_llvm6.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/backend/src/llvm/llvm_to_gen.cpp
-+++ b/backend/src/llvm/llvm_to_gen.cpp
-@@ -322,7 +322,11 @@ namespace gbe
- DataLayout DL(&mod);
-
- gbeDiagnosticContext dc;
-+#if LLVM_VERSION_MAJOR >= 6
-+ mod.getContext().setDiagnosticHandlerCallBack(&gbeDiagnosticHandler,&dc);
-+#else
- mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc);
-+#endif
-
- #if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37
- mod.setDataLayout(DL);
---- a/backend/src/llvm/llvm_unroll.cpp
-+++ b/backend/src/llvm/llvm_unroll.cpp
-@@ -205,7 +205,9 @@ namespace gbe {
- if (parentTripCount != 0 && currTripCount * parentTripCount > 32) {
- //Don't change the unrollID if doesn't force unroll.
- //setUnrollID(parentL, false);
--#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38
-+#if LLVM_VERSION_MAJOR >= 6
-+ loopInfo.erase(parentL);
-+#elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38
- loopInfo.markAsRemoved(parentL);
- #else
- LPM.deleteLoopFromQueue(parentL);
diff --git a/dev-libs/beignet/files/beignet-1.3.2_llvm7.patch b/dev-libs/beignet/files/beignet-1.3.2_llvm7.patch
deleted file mode 100644
index 8990f0f0e48f..000000000000
--- a/dev-libs/beignet/files/beignet-1.3.2_llvm7.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-commit e1b2419a0008e38ef2d9d255d9e9c74e9fba084b
-Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
-Date: Sat Jul 21 20:05:54 2018 +0100
-
- Add preliminary LLVM 7 support
-
- This is preliminary because LLVM 7 has not been released yet:
- it was tested with the snapshot from Debian experimental (svn336894).
-
- 1.Change linking order, as clangCodeGen now links to clangFrontend
- 2.Pass references not pointers to WriteBitcodeToFile and CloneModule
- 3.Add the headers that LoopSimplifyID, LCSSAID and
- some create*Pass have moved to
- 4.Define our DEBUG whether or not we just undefined LLVM's
- (theirs is now LLVM_DEBUG, but we never actually use it)
-
- Signed-off-by: Rebecca N. Palmer <rebecca_palmer@zoho.com>
- Reviewed-by: Yang Rong <rong.r.yang@intel.com>
-
-diff --git a/CMake/FindLLVM.cmake b/CMake/FindLLVM.cmake
-index 5457f248..f882589d 100644
---- a/CMake/FindLLVM.cmake
-+++ b/CMake/FindLLVM.cmake
-@@ -113,10 +113,10 @@ macro(add_one_lib name)
- endmacro()
-
- #Assume clang lib path same as llvm lib path
-+add_one_lib("clangCodeGen")
- add_one_lib("clangFrontend")
- add_one_lib("clangSerialization")
- add_one_lib("clangDriver")
--add_one_lib("clangCodeGen")
- add_one_lib("clangSema")
- add_one_lib("clangStaticAnalyzerFrontend")
- add_one_lib("clangStaticAnalyzerCheckers")
-diff --git a/backend/src/backend/gen_program.cpp b/backend/src/backend/gen_program.cpp
-index 274c99c7..41592349 100644
---- a/backend/src/backend/gen_program.cpp
-+++ b/backend/src/backend/gen_program.cpp
-@@ -454,7 +454,11 @@ namespace gbe {
- #ifdef GBE_COMPILER_AVAILABLE
- std::string str;
- llvm::raw_string_ostream OS(str);
-+#if LLVM_VERSION_MAJOR >= 7
-+ llvm::WriteBitcodeToFile(*((llvm::Module*)prog->module), OS);
-+#else
- llvm::WriteBitcodeToFile((llvm::Module*)prog->module, OS);
-+#endif
- std::string& bin_str = OS.str();
- int llsz = bin_str.size();
- *binary = (char *)malloc(sizeof(char) * (llsz+1) );
-@@ -545,7 +549,11 @@ namespace gbe {
- &modRef);
- src = llvm::unwrap(modRef);
- }
-+#if LLVM_VERSION_MAJOR >= 7
-+ llvm::Module* clone = llvm::CloneModule(*src).release();
-+#else
- llvm::Module* clone = llvm::CloneModule(src).release();
-+#endif
- if (LLVMLinkModules2(wrap(dst), wrap(clone))) {
- #elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37
- if (LLVMLinkModules(wrap(dst), wrap(src), LLVMLinkerPreserveSource_Removed, &errMsg)) {
-diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp
-index c37c5951..b36f7b4a 100644
---- a/backend/src/backend/program.cpp
-+++ b/backend/src/backend/program.cpp
-@@ -794,7 +794,11 @@ namespace gbe {
- llvm::raw_fd_ostream ostream (dumpSPIRBinaryName.c_str(),
- err, llvm::sys::fs::F_None);
- if (!err)
-+#if LLVM_VERSION_MAJOR<7
- llvm::WriteBitcodeToFile(*out_module, ostream);
-+#else
-+ llvm::WriteBitcodeToFile(**out_module, ostream);
-+#endif
- }
- #endif
- return true;
-diff --git a/backend/src/llvm/ExpandLargeIntegers.cpp b/backend/src/llvm/ExpandLargeIntegers.cpp
-index 8515dc13..4aec44ee 100644
---- a/backend/src/llvm/ExpandLargeIntegers.cpp
-+++ b/backend/src/llvm/ExpandLargeIntegers.cpp
-@@ -99,8 +99,8 @@ using namespace llvm;
-
- #ifdef DEBUG
- #undef DEBUG
-- #define DEBUG(...)
- #endif
-+#define DEBUG(...)
- // Break instructions up into no larger than 64-bit chunks.
- static const unsigned kChunkBits = 64;
- static const unsigned kChunkBytes = kChunkBits / CHAR_BIT;
-diff --git a/backend/src/llvm/llvm_bitcode_link.cpp b/backend/src/llvm/llvm_bitcode_link.cpp
-index ef56e4c2..4c3e20e4 100644
---- a/backend/src/llvm/llvm_bitcode_link.cpp
-+++ b/backend/src/llvm/llvm_bitcode_link.cpp
-@@ -340,7 +340,11 @@ namespace gbe
- /* We use beignet's bitcode as dst because it will have a lot of
- lazy functions which will not be loaded. */
- #if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 39
-+#if LLVM_VERSION_MAJOR >= 7
-+ llvm::Module * linked_module = llvm::CloneModule(*(llvm::Module*)mod).release();
-+#else
- llvm::Module * linked_module = llvm::CloneModule((llvm::Module*)mod).release();
-+#endif
- if(LLVMLinkModules2(wrap(clonedLib), wrap(linked_module))) {
- #else
- char* errorMsg;
-diff --git a/backend/src/llvm/llvm_includes.hpp b/backend/src/llvm/llvm_includes.hpp
-index 184553af..ffccf025 100644
---- a/backend/src/llvm/llvm_includes.hpp
-+++ b/backend/src/llvm/llvm_includes.hpp
-@@ -89,6 +89,10 @@
- #include "llvm/CodeGen/IntrinsicLowering.h"
-
- #include "llvm/Transforms/Scalar.h"
-+#if LLVM_VERSION_MAJOR >= 7
-+#include "llvm/Transforms/Utils.h"
-+#include "llvm/Transforms/InstCombine/InstCombine.h"
-+#endif
- #include "llvm/MC/MCAsmInfo.h"
- #include "llvm/MC/MCContext.h"
- #include "llvm/MC/MCInstrInfo.h"
diff --git a/dev-libs/beignet/files/llvm-terminfo.patch b/dev-libs/beignet/files/llvm-terminfo.patch
deleted file mode 100644
index afbbc26a33de..000000000000
--- a/dev-libs/beignet/files/llvm-terminfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/backend/src/CMakeLists.txt 2015-12-18 07:40:03.000000000 +0100
-+++ b/backend/src/CMakeLists.txt 2016-08-01 13:44:31.475875150 +0200
-@@ -153,7 +153,7 @@
-
- add_library(gbeinterp SHARED gbe_bin_interpreter.cpp)
-
--if (LLVM_VERSION_NODOT VERSION_EQUAL 34)
-+if (NOT (LLVM_VERSION_NODOT LESS 34))
- find_library(TERMINFO NAMES tinfo ncurses)
- if (${TERMINFO} STREQUAL TERMINFO-NOTFOUND)
- message(FATAL_ERROR "no libtinfo or libncurses is found in system")
-@@ -161,7 +161,7 @@
- target_link_libraries(gbe ${TERMINFO})
- message(STATUS "use ${TERMINFO} as terminal control library")
- endif (${TERMINFO} STREQUAL TERMINFO-NOTFOUND)
--endif(LLVM_VERSION_NODOT VERSION_EQUAL 34)
-+endif(NOT (LLVM_VERSION_NODOT LESS 34))
-
- link_directories (${LLVM_LIBRARY_DIR} ${DRM_LIBDIR})
-
diff --git a/dev-libs/beignet/files/no-debian-multiarch.patch b/dev-libs/beignet/files/no-debian-multiarch.patch
deleted file mode 100644
index c9aef4d9dafc..000000000000
--- a/dev-libs/beignet/files/no-debian-multiarch.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/CMakeLists.txt 2015-04-17 04:27:51.000000000 +0200
-+++ b/CMakeLists.txt 2015-05-20 20:59:17.895041760 +0200
-@@ -39,14 +39,9 @@
-
- SET(CMAKE_VERBOSE_MAKEFILE "false")
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMake/")
--INCLUDE (GNUInstallDirs OPTIONAL)
--# support old CMake without GNUInstallDirs
--if (NOT CMAKE_INSTALL_FULL_LIBDIR)
-- set (CMAKE_INSTALL_FULL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
-- set (BEIGNET_LIBRARY_ARCHITECTURE "")
--else (NOT CMAKE_INSTALL_FULL_LIBDIR)
-- set (BEIGNET_LIBRARY_ARCHITECTURE "${CMAKE_LIBRARY_ARCHITECTURE}")
--endif (NOT CMAKE_INSTALL_FULL_LIBDIR)
-+
-+set (CMAKE_INSTALL_FULL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
-+set (BEIGNET_LIBRARY_ARCHITECTURE "")
-
- if (NOT LIB_INSTALL_DIR)
- set (LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}")
-@@ -55,17 +50,7 @@
- set (BEIGNET_INSTALL_DIR "${LIB_INSTALL_DIR}/beignet/")
- endif (NOT BEIGNET_INSTALL_DIR)
-
--# allow co-installation of 32- and 64-bit versions:
--# https://wiki.debian.org/Multiarch
--if (BEIGNET_INSTALL_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/lib/beignet/")
-- set (ICD_FILE_NAME "intel-beignet.icd")
--else (BEIGNET_INSTALL_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/lib/beignet/")
-- if (BEIGNET_LIBRARY_ARCHITECTURE STREQUAL "")
-- set (ICD_FILE_NAME "intel-beignet.icd")
-- else (BEIGNET_LIBRARY_ARCHITECTURE STREQUAL "")
-- set (ICD_FILE_NAME "intel-beignet-${BEIGNET_LIBRARY_ARCHITECTURE}.icd")
-- endif (BEIGNET_LIBRARY_ARCHITECTURE STREQUAL "")
--endif (BEIGNET_INSTALL_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/lib/beignet/")
-+set (ICD_FILE_NAME "intel-beignet.icd")
-
- # Force Release with debug info
- if (NOT CMAKE_BUILD_TYPE)
diff --git a/dev-libs/beignet/metadata.xml b/dev-libs/beignet/metadata.xml
deleted file mode 100644
index 917f7f9527a5..000000000000
--- a/dev-libs/beignet/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <use>
- <flag name="ocl-icd">Enable compatibility with the
- <pkg>dev-libs/ocl-icd</pkg> OpenCL ICD loader</flag>
- <flag name="ocl20">Enable experimental OpenCL 2.0 support on Skylake
- and newer architectures</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-libs/bemenu/Manifest b/dev-libs/bemenu/Manifest
new file mode 100644
index 000000000000..b504018a63b4
--- /dev/null
+++ b/dev-libs/bemenu/Manifest
@@ -0,0 +1,4 @@
+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.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-9999.ebuild b/dev-libs/bemenu/bemenu-9999.ebuild
index f9113da669b5..fa785a2d9815 100644
--- a/dev-libs/bemenu/bemenu-9999.ebuild
+++ b/dev-libs/bemenu/bemenu-9999.ebuild
@@ -1,51 +1,62 @@
-# Copyright 2019 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit git-r3 cmake-utils
+inherit toolchain-funcs
DESCRIPTION="dmenu clone for wayland"
HOMEPAGE="https://github.com/Cloudef/bemenu"
-EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
+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"
-KEYWORDS=""
IUSE="doc ncurses wayland X"
# Require at least one backend be built
REQUIRED_USE="|| ( ncurses wayland X )"
-DEPEND="
- ncurses? ( sys-libs/ncurses:0 )
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
wayland? (
dev-libs/wayland
- dev-libs/wayland-protocols
x11-libs/cairo
+ x11-libs/libxkbcommon
x11-libs/pango
)
X? (
- x11-libs/libxcb
- x11-libs/libXext
- x11-libs/libX11
x11-libs/cairo[X]
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libxcb:=
x11-libs/pango[X]
)
"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_configure() {
- local mycmakeargs=(
- -DCURSES_LIBRARY=/usr/$(get_libdir)/libncursesw.so
- -DBEMENU_CURSES_RENDERER=$(usex ncurses ON OFF)
- -DBEMENU_WAYLAND_RENDERER=$(usex wayland ON OFF)
- -DBEMENU_X11_RENDERER=$(usex X ON OFF)
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/scdoc
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ wayland? (
+ dev-libs/wayland-protocols
+ dev-util/wayland-scanner
)
- cmake-utils_src_configure
+"
+
+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() {
- cmake-utils_src_install
+ 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 f8955b2310f3..e96918bf65fc 100644
--- a/dev-libs/bemenu/metadata.xml
+++ b/dev-libs/bemenu/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
- <longdescription lang="en">
- Dynamic menu library and client program inspired by dmenu (for wayland)
- </longdescription>
+ <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
new file mode 100644
index 000000000000..01737b688943
--- /dev/null
+++ b/dev-libs/bglibs/bglibs-2.04-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 toolchain-funcs
+
+DESCRIPTION="Bruce Guenter's Libraries Collection"
+HOMEPAGE="https://untroubled.org/bglibs/"
+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 ~sparc x86"
+IUSE="doc"
+
+BDEPEND="
+ sys-apps/which
+ dev-build/libtool
+ doc? (
+ app-text/doxygen
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ virtual/latex-base
+ )
+"
+
+src_prepare() {
+ default
+ # disable tests as we want them manually
+ sed -i '/^all:/s|selftests||' Makefile || die
+ sed -i '/selftests/d' TARGETS || die
+}
+
+src_configure() {
+ echo "${ED}/usr/bin" > conf-bin || die
+ echo "${ED}/usr/$(get_libdir)/bglibs" > conf-lib || die
+ echo "${ED}/usr/include" > conf-include || die
+ echo "${ED}/usr/share/man" > conf-man || die
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die
+}
+
+src_compile() {
+ default
+ if use doc; then
+ emake -C doc/latex pdf
+ fi
+}
+
+src_test() {
+ einfo "Running selftests"
+ emake selftests
+}
+
+src_install() {
+ default
+
+ # Install .so into LDPATH
+ mv "${ED}"/usr/$(get_libdir)/bglibs/libbg.so.2.0.0 "${ED}"/usr/$(get_libdir)/ || die
+ dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so.2
+ dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so
+ dosym ../libbg.so.2.0.0 /usr/$(get_libdir)/bglibs/libbg.so.2.0.0
+
+ rm "${ED}"/usr/$(get_libdir)/bglibs/libbg.la || die
+
+ dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
+ dodoc -r doc/html/
+ if use doc; then
+ dodoc doc/latex/refman.pdf
+ fi
+}
diff --git a/dev-libs/bglibs/bglibs-2.04-r2.ebuild b/dev-libs/bglibs/bglibs-2.04-r2.ebuild
new file mode 100644
index 000000000000..360365dc3f65
--- /dev/null
+++ b/dev-libs/bglibs/bglibs-2.04-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Bruce Guenter's Libraries Collection"
+HOMEPAGE="https://untroubled.org/bglibs/"
+SRC_URI="https://untroubled.org/bglibs/archive/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv sparc ~x86"
+IUSE="doc"
+
+BDEPEND="
+ sys-apps/which
+ dev-build/libtool
+ doc? (
+ app-text/doxygen
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ virtual/latex-base
+ )
+"
+
+PATCHES=( "${FILESDIR}"/bglibs-2.04-stack-buffers.patch )
+
+src_prepare() {
+ default
+ # disable tests as we want them manually
+ sed -i '/^all:/s|selftests||' Makefile || die
+ sed -i '/selftests/d' TARGETS || die
+}
+
+src_configure() {
+ echo "${ED}/usr/bin" > conf-bin || die
+ echo "${ED}/usr/$(get_libdir)/bglibs" > conf-lib || die
+ echo "${ED}/usr/include" > conf-include || die
+ echo "${ED}/usr/share/man" > conf-man || die
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die
+}
+
+src_compile() {
+ # Parallel build fails, bug #343617
+ MAKEOPTS+=" -j1" default
+
+ if use doc; then
+ emake -C doc/latex pdf
+ fi
+}
+
+src_test() {
+ einfo "Running selftests"
+ emake selftests
+}
+
+src_install() {
+ default
+
+ # Install .so into LDPATH
+ mv "${ED}"/usr/$(get_libdir)/bglibs/libbg.so.2.0.0 "${ED}"/usr/$(get_libdir)/ || die
+ dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so.2
+ dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so
+ dosym ../libbg.so.2.0.0 /usr/$(get_libdir)/bglibs/libbg.so.2.0.0
+
+ rm "${ED}"/usr/$(get_libdir)/bglibs/libbg.la || die
+
+ dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
+ dodoc -r doc/html/
+ if use doc; then
+ dodoc doc/latex/refman.pdf
+ fi
+}
diff --git a/dev-libs/bglibs/bglibs-2.04.ebuild b/dev-libs/bglibs/bglibs-2.04.ebuild
deleted file mode 100644
index 3362b9fa56b5..000000000000
--- a/dev-libs/bglibs/bglibs-2.04.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Bruce Guenter's Libraries Collection"
-HOMEPAGE="https://untroubled.org/bglibs/"
-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 ~sparc x86"
-IUSE="doc"
-
-RDEPEND=""
-DEPEND=""
-BDEPEND="sys-devel/libtool
- doc? (
- app-doc/doxygen
- dev-tex/xcolor
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- virtual/latex-base
- )
-"
-
-src_prepare() {
- default
- # disable tests as we want them manually
- sed -i '/^all:/s|selftests||' Makefile || die
- sed -i '/selftests/d' TARGETS || die
-}
-
-src_configure() {
- echo "${ED}/usr/bin" > conf-bin || die
- echo "${ED}/usr/$(get_libdir)/bglibs" > conf-lib || die
- echo "${ED}/usr/include" > conf-include || die
- echo "${ED}/usr/share/man" > conf-man || die
- echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die
- echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die
-}
-
-src_compile() {
- default
- if use doc; then
- emake -C doc/latex pdf
- fi
-}
-
-src_test() {
- einfo "Running selftests"
- emake selftests
-}
-
-src_install() {
- default
-
- # Install .so into LDPATH
- mv "${ED}"/usr/$(get_libdir)/bglibs/libbg.so.2.0.0 "${ED}"/usr/$(get_libdir)/ || die
- dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so.2
- dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so
- dosym ../libbg.so.2.0.0 /usr/$(get_libdir)/bglibs/libbg.so.2.0.0
-
- rm "${ED}"/usr/$(get_libdir)/bglibs/libbg.la || die
-
- dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
- dodoc -r doc/html/
- if use doc; then
- dodoc doc/latex/refman.pdf
- fi
-}
diff --git a/dev-libs/bglibs/files/bglibs-2.04-stack-buffers.patch b/dev-libs/bglibs/files/bglibs-2.04-stack-buffers.patch
new file mode 100644
index 000000000000..6c6fb1133d4a
--- /dev/null
+++ b/dev-libs/bglibs/files/bglibs-2.04-stack-buffers.patch
@@ -0,0 +1,47 @@
+From 25252211283e05c692c8baf3e8a7c70224821762 Mon Sep 17 00:00:00 2001
+From: Rolf Eike Beer <eike@sf-mail.de>
+Date: Fri, 15 Nov 2019 19:40:22 +0100
+Subject: [PATCH] properly align the HMAC state buffers on the stack
+
+They need to have the same alignment as the contained data type, i.e. up to
+uint64. Otherwise usage of SHA HMACs causes bus errors on sparc.
+---
+ crypto/hmac.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/crypto/hmac.c b/crypto/hmac.c
+index abff0df..f4e48c0 100644
+--- a/crypto/hmac.c
++++ b/crypto/hmac.c
+@@ -34,7 +34,8 @@ void hmac_prepare(const struct hmac_control_block* hcb,
+ void* midstate,
+ const str* secret)
+ {
+- unsigned char state[hcb->state_size];
++ uint64 statebuf[(hcb->state_size + 7) / sizeof(uint64)];
++ unsigned char *state = (unsigned char *)statebuf;
+ unsigned char block[hcb->block_size];
+ unsigned i;
+
+@@ -80,8 +81,9 @@ void hmac_finish(const struct hmac_control_block* hcb,
+ const str* nonce,
+ void* output)
+ {
+- unsigned char state[hcb->state_size];
+-
++ uint64 statebuf[(hcb->state_size + 7) / sizeof(uint64)];
++ unsigned char *state = (unsigned char *)statebuf;
++
+ /* Generate H1 = H(K XOR ipad, nonce) */
+ hcb->inject(state, midstate);
+ hcb->update(state, (const unsigned char*)nonce->s, nonce->len);
+@@ -106,7 +108,8 @@ void hmac(const struct hmac_control_block* hcb,
+ const str* nonce,
+ void* output)
+ {
+- unsigned char midstate[hcb->state_size*2];
++ uint64 statebuf[(hcb->state_size * 2 + 7) / sizeof(uint64)];
++ unsigned char *midstate = (unsigned char *)statebuf;
+
+ hmac_prepare(hcb, midstate, secret);
+ hmac_finish(hcb, midstate, nonce, output);
diff --git a/dev-libs/bglibs/metadata.xml b/dev-libs/bglibs/metadata.xml
index 7a38bb900964..115e9d64a669 100644
--- a/dev-libs/bglibs/metadata.xml
+++ b/dev-libs/bglibs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/bitset/bitset-2.8.4-r1.ebuild b/dev-libs/bitset/bitset-2.8.4-r1.ebuild
deleted file mode 100644
index 420af9b499c2..000000000000
--- a/dev-libs/bitset/bitset-2.8.4-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-utils
-
-DESCRIPTION="A compressed bitset with supporting data structures and algorithms"
-HOMEPAGE="https://github.com/chriso/bitset"
-SRC_URI="https://github.com/chriso/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="jemalloc static-libs tcmalloc"
-KEYWORDS="amd64 ~arm x86"
-
-RDEPEND="tcmalloc? ( dev-util/google-perftools:= )
- jemalloc? ( >=dev-libs/jemalloc-3.2 )"
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="?? ( jemalloc tcmalloc )"
-
-DOCS=( README.md )
-
-src_configure() {
- local tcmalloc_lib_name='tcmalloc'
- has_version dev-util/google-perftools[minimal] && tcmalloc_lib_name='tcmalloc_minimal'
- local myeconfargs=(
- $(use_with jemalloc) \
- $(use_with tcmalloc) \
- $(use_with tcmalloc tcmalloc-lib "${tcmalloc_lib_name}")
- )
- autotools-utils_src_configure
-}
diff --git a/dev-libs/bitset/bitset-2.8.4-r3.ebuild b/dev-libs/bitset/bitset-2.8.4-r3.ebuild
new file mode 100644
index 000000000000..f11f3e06f68d
--- /dev/null
+++ b/dev-libs/bitset/bitset-2.8.4-r3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="A compressed bitset with supporting data structures and algorithms"
+HOMEPAGE="https://github.com/chriso/bitset"
+SRC_URI="https://github.com/chriso/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="jemalloc static-libs tcmalloc"
+KEYWORDS="amd64 ~arm x86"
+
+RDEPEND="
+ tcmalloc? ( dev-util/google-perftools:= )
+ jemalloc? ( >=dev-libs/jemalloc-3.2 )
+"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+DOCS=( README.md )
+
+src_prepare() {
+ default
+
+ # Disable aggressive optimization, which does not respect CFLAGS
+ # with new autoconf, bug #815637
+ sed -i -e '/AX_CC_MAXOPT/d' configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local tcmalloc_lib_name='tcmalloc'
+
+ has_version dev-util/google-perftools[minimal] && tcmalloc_lib_name='tcmalloc_minimal'
+
+ local myeconfargs=(
+ $(use_with jemalloc) \
+ $(use_with tcmalloc) \
+ $(use_with tcmalloc tcmalloc-lib "${tcmalloc_lib_name}")
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/bitset/metadata.xml b/dev-libs/bitset/metadata.xml
index 2ef258274aa2..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/bitshuffle/Manifest
new file mode 100644
index 000000000000..4ac005d2b7cd
--- /dev/null
+++ b/dev-libs/bitshuffle/Manifest
@@ -0,0 +1 @@
+DIST bitshuffle-0.3.5.tar.gz 112312 BLAKE2B e9e70608217743a93d2bf5319af0f48feff391bb2893b161a1a4c391ab630c90fc59483041d7594eb8366a9469feb309f3b8054c8ecc630d070a9170735f61f5 SHA512 4ae371ab2e1adedb5c3a2c047e0583d320c87f0687d9dc1c921ed9e38d8b90a447fb305f399cd591adf48a473471fd5827f4da2777dd7f0fb6d5fd145fdeb36f
diff --git a/dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild b/dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild
new file mode 100644
index 000000000000..964fad44dbd0
--- /dev/null
+++ b/dev-libs/bitshuffle/bitshuffle-0.3.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Bitshuffle C library"
+HOMEPAGE="https://github.com/kiyo-masui/bitshuffle"
+SRC_URI="https://github.com/kiyo-masui/bitshuffle/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
+
+DEPEND="
+ app-arch/lz4
+"
+
+src_prepare() {
+ cp "${FILESDIR}/${P}-Makefile" "Makefile" || die "Failed to copy Makefile"
+ default
+}
+
+src_configure() {
+ tc-export CC
+ export PACKAGE_VERSION="${PV}"
+}
+
+src_install() {
+ local prefix="${EPREFIX}/usr"
+ emake \
+ DESTDIR="${D}" \
+ PREFIX="${prefix}" \
+ LIBDIR="${prefix}/$(get_libdir)" \
+ install
+}
diff --git a/dev-libs/bitshuffle/files/bitshuffle-0.3.5-Makefile b/dev-libs/bitshuffle/files/bitshuffle-0.3.5-Makefile
new file mode 100644
index 000000000000..f38d0cc5f149
--- /dev/null
+++ b/dev-libs/bitshuffle/files/bitshuffle-0.3.5-Makefile
@@ -0,0 +1,50 @@
+# Gentoo custom Makefile for Bitshuffle C library
+# Adapted from GNU Guix:
+# https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python-compression.scm?h=v1.3.0#n346
+# Distributed under the terms of the GNU General Public License v3
+
+# To avoid bundled dependency, the copy of lz4 included
+# in Bitshuffle's source tree is not used
+
+PACKAGE_VERSION ?= 0.3.5
+
+# Upstream has never specified an soname, so we need to conduct downstream
+# soname versioning. The format of soname is "lib${PN}.so.$(ver_cut 1)".
+# No incompatible ABI changes have been observed yet since version 0.2.4,
+# but just in case the upstream recklessly handles ABI compatibility,
+# please try to test ABI compatibility when updating to a new release,
+# using tools like 'abidiff' in dev-util/libabigail or alike.
+SONAME_VERSION := $(shell echo $(PACKAGE_VERSION) | cut -d. -f1)
+SONAME_BASE = libbitshuffle.so
+SONAME := $(SONAME_BASE).$(SONAME_VERSION)
+SOFILE := $(SONAME_BASE).$(PACKAGE_VERSION)
+
+CFLAGS := -O3 -ffast-math -std=c99 -fPIC $(CFLAGS)
+
+OBJS = \
+ src/bitshuffle.o \
+ src/bitshuffle_core.o \
+ src/iochain.o
+
+$(SOFILE): $(OBJS)
+ $(CC) $(CFLAGS) -o $@ -shared $(LDFLAGS) -Wl,-soname,$(SONAME) $^
+
+%.o: %.c
+ $(CC) $(CFLAGS) -Isrc -c $< -o $@
+
+INSTALL = install
+LN_S = ln -s
+
+PREFIX = /usr/local
+LIBDIR = $(PREFIX)/lib
+INCLUDEDIR = $(PREFIX)/include
+
+install: $(SOFILE)
+ $(INSTALL) -dm755 $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -dm755 $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL) -m755 $(SOFILE) $(DESTDIR)$(LIBDIR)
+ $(INSTALL) -m644 src/bitshuffle.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL) -m644 src/bitshuffle_core.h $(DESTDIR)$(INCLUDEDIR)
+ $(INSTALL) -m644 src/iochain.h $(DESTDIR)$(INCLUDEDIR)
+ $(LN_S) $(SOFILE) $(DESTDIR)$(LIBDIR)/$(SONAME_BASE)
+ $(LN_S) $(SOFILE) $(DESTDIR)$(LIBDIR)/$(SONAME)
diff --git a/dev-libs/bitshuffle/metadata.xml b/dev-libs/bitshuffle/metadata.xml
new file mode 100644
index 000000000000..2884af49b9f0
--- /dev/null
+++ b/dev-libs/bitshuffle/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>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kiyo-masui/bitshuffle</remote-id>
+ </upstream>
+</pkgmetadata>
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 54fa56e29d1a..f6492f1a745a 100644
--- a/dev-libs/boehm-gc/Manifest
+++ b/dev-libs/boehm-gc/Manifest
@@ -1,6 +1,2 @@
-DIST gc-7.2e.tar.gz 1291186 BLAKE2B 8c320aac2d9deb8fcca2e93622aa122f96c4152d2b18bd284be32d5a041f357beaf8f3142548685fe167642070471862d04c0e6c3ba1c99bc9c05e63d6854005 SHA512 80d1d50e38714b4f198743cd8cd5ab80a35cfbb7f5f9d66c89f40319604e989125870f010d4499876978594a5823d7b61213224a68da8664b9e4f8e14076c999
-DIST gc-7.4.2.tar.gz 1082597 BLAKE2B 5ca30e786a995941fdf2d803d201e7263bdd7d9974a71f672ff259c75ee36dc5d499a614334e570100ddbcb25fd06176f48429b64bad95fb218c35ba584ad4c6 SHA512 2e21516addf268780641ee55c0cb3ecc2d96fa963faffee5beadcade9c6bf1ee49ee1a75b076b5d49ddde7c839fb94f4c3623ca8412d14c2a5bf6ca30d424a72
-DIST gc-7.6.10.tar.gz 1143650 BLAKE2B 5dce84de2e842c98dc552b4a6fc28311e241f419a792523be2e5cb0f7d5b34a57608f8c40e1d85cf06fb3f9c6212855438a0d20c23e2b2d9ba37485d91d78a3e SHA512 6952ff38ed39203c8ff9aae516d81cf5210f3f17fac030325ba58b89c266d2d6ffa281b996c481b9d821638a0334da68f00c15dc4774759ff1f7b57b4678f08f
-DIST gc-7.6.4.tar.gz 1120784 BLAKE2B e7cad27d2144fd37aebad44093e1a0814fe9a1cc887701e485681cdd01f3ea4477150697d535d0873a1255abff0765084119096c7ed61d3caeda439cf2a7644f SHA512 2c85be3e24b85732b3dc6f08fe98cf1a82b6fb2a22ec73090f80920721c737ef92cee8f0cd7ea7228d686005d164e7da54ce3907c3a1ba5eefa43355a472085e
-DIST gc-8.0.2.tar.gz 1159207 BLAKE2B f3dfcecbc9ba59c2abac868278eb6fdca4bda46a5303393a8fb63717f01bc19fa007b6530a536c32600db30f3a45d8d5558fe72adefecd9b97075dfadb3eddc2 SHA512 b1401abb2e82b143b9a2a9013f5b2efa4015b256e7ea8ef2c897ef3c0d2d41fc893413bf6a49efc1845018e8ab823adb485fb3358eb47715982259ace9ffd7c6
-DIST gc-8.0.4.tar.gz 1160528 BLAKE2B ec42378c964fc573e53f6f58aa22fa63a0b421c91b81336acfeb2e2afdb5c89514edace3a9500699e13ff1cadc4205ea245af4f0dfa5e439ed9b78cabf6058f7 SHA512 57ccca15c6e50048d306a30de06c1a844f36103a84c2d1c17cbccbbc0001e17915488baec79737449982da99ce5d14ce527176afae9ae153cbbb5a19d986366e
+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-7.2e.ebuild b/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
deleted file mode 100644
index 02c94d5ed7c8..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-7.2e.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-MY_P="gc-${PV/_/}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="http://www.hboehm.info/gc/"
-SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
-
-LICENSE="boehm-gc"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx static-libs threads"
-
-DEPEND=">=dev-libs/libatomic_ops-7.2
- virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P/e}"
-
-src_prepare() {
- rm -r libatomic_ops || die
-
- epatch "${FILESDIR}"/${P}-automake-1.13.patch
- eautoreconf
-}
-
-src_configure() {
- local config=(
- --with-libatomic-ops
- $(use_enable cxx cplusplus)
- $(use_enable static-libs static)
- $(use threads || echo --disable-threads)
- )
- econf "${config[@]}"
-}
-
-src_install() {
- default
-
- rm -r "${ED}"/usr/share/gc || die
-
- # dist_noinst_HEADERS
- insinto /usr/include/gc
- doins include/{cord.h,ec.h,javaxfc.h}
- insinto /usr/include/gc/private
- doins include/private/*.h
-
- dodoc README.QUICK doc/README{.environment,.linux,.macros} doc/barrett_diagram
- dohtml doc/*.html
- newman doc/gc.man GC_malloc.1
-
- use static-libs || prune_libtool_files #457872
-}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild b/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
deleted file mode 100644
index 6a945b47e50e..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-7.4.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="http://www.hboehm.info/gc/"
-SRC_URI="http://www.hboehm.info/gc/gc_source/${MY_P}.tar.gz"
-
-LICENSE="boehm-gc"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx static-libs threads"
-
-DEPEND=">=dev-libs/libatomic_ops-7.4
- virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- elibtoolize #594754
-}
-
-src_configure() {
- local config=(
- --with-libatomic-ops
- $(use_enable cxx cplusplus)
- $(use_enable static-libs static)
- $(use threads || echo --disable-threads)
- )
- econf "${config[@]}"
-}
-
-src_compile() {
- # Workaround build errors. #574566
- use ia64 && emake src/ia64_save_regs_in_stack.lo
- use sparc && emake src/sparc_mach_dep.lo
- default
-}
-
-src_install() {
- default
- use static-libs || prune_libtool_files
-
- rm -r "${ED}"/usr/share/gc || die
- dodoc README.QUICK doc/README{.environment,.linux,.macros}
- dohtml doc/*.html
- newman doc/gc.man GC_malloc.1
-}
diff --git a/dev-libs/boehm-gc/boehm-gc-7.6.10.ebuild b/dev-libs/boehm-gc/boehm-gc-7.6.10.ebuild
deleted file mode 100644
index 6ec93331183b..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-7.6.10.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit multilib-minimal libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="http://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 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx static-libs +threads"
-
-DEPEND="
- >=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]
- 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)
- )
-
- ECONF_SOURCE=${S} econf "${config[@]}"
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( doc/*.html )
- 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-7.6.4.ebuild b/dev-libs/boehm-gc/boehm-gc-7.6.4.ebuild
deleted file mode 100644
index 3568a5fa1348..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-7.6.4.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit multilib-minimal libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="http://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 s390 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx static-libs +threads"
-
-DEPEND="
- >=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]
- 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)
- )
-
- ECONF_SOURCE=${S} econf "${config[@]}"
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( doc/*.html )
- 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.2.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.2.ebuild
deleted file mode 100644
index 4a0a28955f20..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.0.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit multilib-minimal libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="http://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 ~s390 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx static-libs +threads"
-
-DEPEND="
- >=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]
- 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)
- )
-
- 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.4.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild
deleted file mode 100644
index 9c7b747a2e59..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 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="http://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-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx static-libs +threads"
-
-DEPEND="
- >=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]
- 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)
- )
-
- 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..cbd54c7969a0
--- /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/files/boehm-gc-7.2e-automake-1.13.patch b/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
deleted file mode 100644
index e987c42a5852..000000000000
--- a/dev-libs/boehm-gc/files/boehm-gc-7.2e-automake-1.13.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index ee6693d..d258252 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -26,7 +26,7 @@ AC_PREREQ(2.64)
- AC_REVISION($Revision: 1.1 $)
- GC_SET_VERSION
- AM_INIT_AUTOMAKE([foreign dist-bzip2 nostdinc])
--AM_CONFIG_HEADER([include/private/config.h])
-+AC_CONFIG_HEADER([include/private/config.h])
- AM_MAINTAINER_MODE
-
- AC_SUBST(PACKAGE)
diff --git a/dev-libs/boehm-gc/metadata.xml b/dev-libs/boehm-gc/metadata.xml
index e396f3755977..590a8b9b0134 100644
--- a/dev-libs/boehm-gc/metadata.xml
+++ b/dev-libs/boehm-gc/metadata.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>toolchain@gentoo.org</email>
- <name>Gentoo Toolchain Project</name>
-</maintainer>
+ <maintainer type="project">
+ <email>toolchain@gentoo.org</email>
+ <name>Gentoo Toolchain Project</name>
+ </maintainer>
+ <use>
+ <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 ac621115d48c..000000000000
--- a/dev-libs/boost-mpl-cartesian_product/boost-mpl-cartesian_product-20161205.ebuild
+++ /dev/null
@@ -1,42 +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"
-
-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 a9b49496236b..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 "http://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-numpy/boost-numpy-9999.ebuild b/dev-libs/boost-numpy/boost-numpy-9999.ebuild
deleted file mode 100644
index d7c8b5b6a0d6..000000000000
--- a/dev-libs/boost-numpy/boost-numpy-9999.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit cmake-utils python-single-r1
-
-DESCRIPTION="Boost.Python interface for NumPy"
-HOMEPAGE="https://github.com/ndarray/Boost.NumPy"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ndarray/Boost.NumPy.git"
-else
- SRC_URI="https://dev.gentoo.org/~heroxbd/${P}.tar.xz"
-fi
-
-LICENSE="Boost-1.0"
-SLOT=0
-KEYWORDS=""
-
-IUSE="doc examples"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-python/numpy[${PYTHON_USEDEP}]
- <dev-libs/boost-1.70[python,${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- # Make sure that new Python ABI names are searched too
- sed -i \
- -e 's/PythonLibsNew/PythonLibs/' \
- -e 's/python3/python/' \
- CMakeLists.txt || die
-
- cmake-utils_src_prepare
-}
-
-src_install() {
- cmake-utils_src_install
-
- use doc && dodoc -r libs/numpy/doc/*
- use examples && dodoc -r libs/numpy/example
-}
diff --git a/dev-libs/boost-numpy/metadata.xml b/dev-libs/boost-numpy/metadata.xml
deleted file mode 100644
index fd7a29272578..000000000000
--- a/dev-libs/boost-numpy/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>heroxbd@gentoo.org</email>
- <name>Benda Xu</name>
- </maintainer>
- <longdescription>It is intended as a replacement for the old numeric support in Boost.Python proper, which is now out-of-date and does not support C/C++ pointer access to the data.</longdescription>
- <upstream>
- <remote-id type="github">ndarray/Boost.NumPy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index 5f5600925747..48f0e20f3193 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,2 +1,2 @@
-DIST boost_1_65_0.tar.bz2 82597718 BLAKE2B 0080956d6ad2f14130ce4a4734b1bd1ce83d3651b226653689e02770baa83cf11811ef4e44948ff68a168d9ce5cbfaea4f758970df2b4e9faa2d410181885f5b SHA512 7142650fb8d61e3ef16ba066fc918e087f19e9bc2ad1d6a11fb10bf0d6b1b5ad05ab032f076a5233a1624b3669e952b2cc38b7dc074bbf53018e2970ee90fcdd
-DIST boost_1_70_0.tar.bz2 97887058 BLAKE2B dc7a974c6dc2662b767dbd87cb832cd1749c24fb745779d1059b73f19f7e52b33b645adfe72b0296c5e098e5cdb3b9f5eddd382374f33fbcd2ad5739287b2206 SHA512 7f2ea9636baf0210e8ed1d21ee798efb6ce23c0710ff8228b285e2214f82193bcd2d912fd435929c554289a59101c7be2e27ce798f93833f307976f0dd070b49
+DIST boost_1_84_0.tar.bz2 123110547 BLAKE2B a872ee00402be0383726020f4d13a7df6c2765c52eac2e09aab1604432931d26dd597503f5dcbbf788d7e7528d13c6d1dbfff1e85d22bf92c7828ef74cf2405d SHA512 5dfeb35198bb096e46cf9e131ef0334cb95bc0bf09f343f291b860b112598b3c36111bd8c232439c401a2b2fb832fa0c399a8d5b96afc60bd359dff070154497
+DIST boost_1_85_0.tar.bz2 124015250 BLAKE2B dd72a9299cd78d2c260e1c94e28ba04daaa352f5bd023d99e43caa3540b1e0f8c09fc04b91f68db0ef8532e4a91fdef0b66a80bf0f9f838303bccaf0729bf581 SHA512 b4489813a4192b57626589457932338cfc47c4ec05c19b3a58b2d8df9e95f022ff2f5f452811ff82d1cec4fb0a490e991c8825bad0fb5a81318d07a8788d8ca0
diff --git a/dev-libs/boost/boost-1.65.0.ebuild b/dev-libs/boost/boost-1.65.0.ebuild
deleted file mode 100644
index 25d033ea698d..000000000000
--- a/dev-libs/boost/boost-1.65.0.ebuild
+++ /dev/null
@@ -1,439 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{5,6}} )
-
-inherit eutils flag-o-matic multiprocessing python-r1 toolchain-funcs versionator multilib-minimal
-
-MY_P="${PN}_$(replace_all_version_separators _)"
-MAJOR_V="$(get_version_component_range 1-2)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-
-IUSE="context debug doc icu +nls mpi python static-libs +threads tools"
-
-RDEPEND="icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
- python? ( ${PYTHON_DEPS} )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- !app-admin/eselect-boost"
-DEPEND="${RDEPEND}
- =dev-util/boost-build-${MAJOR_V}*"
-REQUIRED_USE="
- mpi? ( threads )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-# 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"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.48.0-disable_icu_rpath.patch"
- "${FILESDIR}/${PN}-1.55.0-context-x32.patch"
- "${FILESDIR}/${PN}-1.56.0-build-auto_index-tool.patch"
- "${FILESDIR}/${PN}-1.65.0-fix-python.patch"
-)
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- multilib_is_native_abi && use tools
-}
-
-create_user-config.jam() {
- local compiler compiler_version compiler_executable
-
- if [[ ${CHOST} == *-darwin* ]]; then
- compiler="darwin"
- compiler_version="$(gcc-fullversion)"
- compiler_executable="$(tc-getCXX)"
- else
- compiler="gcc"
- compiler_version="$(gcc-version)"
- compiler_executable="$(tc-getCXX)"
- fi
- local mpi_configuration python_configuration
-
- if use mpi; then
- mpi_configuration="using mpi ;"
- fi
-
- if python_bindings_needed; then
- # boost expects libpython$(pyver) and doesn't allow overrides
- # and the build system is so creepy that it's easier just to
- # provide a symlink (linker's going to use SONAME anyway)
- # TODO: replace it with proper override one day
- ln -f -s "$(python_get_library_path)" "${T}/lib${EPYTHON}$(get_libname)" || die
-
- if tc-is-cross-compiler; then
- python_configuration="using python : ${EPYTHON#python} : : ${SYSROOT:-${EROOT}}/usr/include/${EPYTHON} : ${SYSROOT:-${EROOT}}/usr/$(get_libdir) ;"
- else
- # note: we need to provide version explicitly because of
- # a bug in the build system:
- # https://github.com/boostorg/build/pull/104
- python_configuration="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) : ${T} ;"
- fi
- fi
-
- cat > "${BOOST_ROOT}/user-config.jam" << __EOF__ || die
-using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
-${mpi_configuration}
-${python_configuration}
-__EOF__
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT%/}/etc/site-config.jam" ]]; then
- grep -q gentoorelease "${EROOT%/}/etc/site-config.jam" && grep -q gentoodebug "${EROOT%/}/etc/site-config.jam" ||
- (
- 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
- )
- fi
-}
-
-src_prepare() {
- default
-
- # Do not try to build missing 'wave' tool, bug #522682
- # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
- sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
-
- multilib_copy_sources
-}
-
-ejam() {
- local b2_opts=(
- "--user-config=${BOOST_ROOT}/user-config.jam"
- "$@"
- )
- echo b2 "${b2_opts[@]}"
- 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
- )
-
- 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
- elif [[ ${CHOST} == *-winnt* ]]; then
- compiler=parity
- if [[ $($(tc-getCXX) -v) == *trunk* ]]; then
- compilerVersion=trunk
- else
- compilerVersion=$($(tc-getCXX) -v | sed '1q' \
- | sed -e 's,\([a-z]*\) \([0-9]\.[0-9]\.[0-9][^ \t]*\) .*,\2,')
- fi
- compilerExecutable=$(tc-getCXX)
- fi
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi
-
- # Use C++14 globally as of 1.62
- append-cxxflags -std=c++14
-
- use icu && OPTIONS+=(
- "-sICU_PATH=${EPREFIX}/usr"
- )
- use icu || OPTIONS+=(
- --disable-icu
- boost.locale.icu=off
- )
- use mpi || OPTIONS+=(
- --without-mpi
- )
- use nls || OPTIONS+=(
- --without-locale
- )
- use context || OPTIONS+=(
- --without-context
- --without-coroutine
- --without-fiber
- )
- use threads || OPTIONS+=(
- --without-thread
- )
-
- OPTIONS+=(
- pch=off
- --boost-build="${EPREFIX}"/usr/share/boost-build
- --prefix="${ED%/}/usr"
- --layout=system
- # building with threading=single is currently not possible
- # https://svn.boost.org/trac/boost/ticket/7105
- threading=multi
- link=$(usex static-libs shared,static shared)
- )
-
- [[ ${CHOST} == *-winnt* ]] && OPTIONS+=(
- -sNO_BZIP2=1
- )
-}
-
-multilib_src_compile() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- PYTHON_DIRS=""
- MPI_PYTHON_MODULE=""
-
- building() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost libraries failed"
-
- if python_bindings_needed; then
- if [[ -z "${PYTHON_DIRS}" ]]; then
- PYTHON_DIRS="$(find bin.v2/libs -name python | sort)"
- else
- if [[ "${PYTHON_DIRS}" != "$(find bin.v2/libs -name python | sort)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- local dir
- for dir in ${PYTHON_DIRS}; do
- mv ${dir} ${dir}-${EPYTHON} \
- || die "Renaming of '${dir}' to '${dir}-${EPYTHON}' failed"
- done
-
- if use mpi; then
- if [[ -z "${MPI_PYTHON_MODULE}" ]]; then
- MPI_PYTHON_MODULE="$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)"
- if [[ "$(echo "${MPI_PYTHON_MODULE}" | wc -l)" -ne 1 ]]; then
- die "Multiple mpi.so files found"
- fi
- else
- if [[ "${MPI_PYTHON_MODULE}" != "$(find bin.v2/libs/mpi/build/*/gentoo* -name mpi.so)" ]]; then
- die "Inconsistent structure of build directories"
- fi
- fi
-
- mv stage/lib/mpi.so stage/lib/mpi.so-${EPYTHON} \
- || die "Renaming of 'stage/lib/mpi.so' to 'stage/lib/mpi.so-${EPYTHON}' failed"
- fi
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl building
- else
- building
- fi
-
- if tools_needed; then
- pushd tools >/dev/null || die
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use python; then
- rm -r "${ED%/}"/usr/include/boost/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 /usr/include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-multilib_src_install() {
- local -x BOOST_ROOT="${BUILD_DIR}"
- installation() {
- create_user-config.jam
-
- local PYTHON_OPTIONS
- if python_bindings_needed; then
- local dir
- for dir in ${PYTHON_DIRS}; do
- cp -pr ${dir}-${EPYTHON} ${dir} \
- || die "Copying of '${dir}-${EPYTHON}' to '${dir}' failed"
- done
-
- if use mpi; then
- cp -p stage/lib/mpi.so-${EPYTHON} "${MPI_PYTHON_MODULE}" \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to '${MPI_PYTHON_MODULE}' failed"
- cp -p stage/lib/mpi.so-${EPYTHON} stage/lib/mpi.so \
- || die "Copying of 'stage/lib/mpi.so-${EPYTHON}' to 'stage/lib/mpi.so' failed"
- fi
- PYTHON_OPTIONS=" --python-buildid=${EPYTHON#python}"
- else
- PYTHON_OPTIONS=" --without-python"
- fi
-
- ejam \
- "${OPTIONS[@]}" \
- ${PYTHON_OPTIONS} \
- --includedir="${ED%/}/usr/include" \
- --libdir="${ED%/}/usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- if python_bindings_needed; then
- rm -r ${PYTHON_DIRS} || die
-
- # Move mpi.so Python module to Python site-packages directory.
- # https://svn.boost.org/trac/boost/ticket/2838
- if use mpi; then
- local moddir=$(python_get_sitedir)/boost
- # moddir already includes eprefix
- mkdir -p "${D}${moddir}" || die
- mv "${ED%/}/usr/$(get_libdir)/mpi.so" "${D}${moddir}" || die
- cat << EOF > "${D}${moddir}/__init__.py" || die
-import sys
-if sys.platform.startswith('linux'):
- import DLFCN
- flags = sys.getdlopenflags()
- sys.setdlopenflags(DLFCN.RTLD_NOW | DLFCN.RTLD_GLOBAL)
- from . import mpi
- sys.setdlopenflags(flags)
- del DLFCN, flags
-else:
- from . import mpi
-del sys
-EOF
- fi
-
- python_optimize
- fi
- }
- if python_bindings_needed; then
- python_foreach_impl installation
- else
- installation
- fi
-
- pushd "${ED%/}/usr/$(get_libdir)" >/dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd >/dev/null || die
-
- 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
-}
-
-pkg_preinst() {
- # Yai 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
-}
diff --git a/dev-libs/boost/boost-1.70.0.ebuild b/dev-libs/boost/boost-1.70.0.ebuild
deleted file mode 100644
index 570df6cc8443..000000000000
--- a/dev-libs/boost/boost-1.70.0.ebuild
+++ /dev/null
@@ -1,332 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
-
-MY_P="${PN}_$(ver_rs 1- _)"
-MAJOR_V="$(ver_cut 1-2)"
-
-DESCRIPTION="Boost Libraries for C++"
-HOMEPAGE="https://www.boost.org/"
-SRC_URI="https://downloads.sourceforge.net/project/boost/${PN}/${PV}/${MY_P}.tar.bz2"
-
-LICENSE="Boost-1.0"
-SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt"
-IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd"
-REQUIRED_USE="
- mpi? ( threads )
- 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
- 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-1.14.5[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="=dev-util/boost-build-${MAJOR_V}*"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.48.0-disable_icu_rpath.patch
- "${FILESDIR}"/${PN}-1.69.0-context-x32.patch
- "${FILESDIR}"/${PN}-1.56.0-build-auto_index-tool.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}" ;
- ${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
-
- # Do not try to build missing 'wave' tool, bug #522682
- # Upstream bugreport - https://svn.boost.org/trac/boost/ticket/10507
- sed -i -e 's:wave/build//wave::' tools/Jamfile.v2 || die
-
- 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')
- $(usex mpi '' '--without-mpi')
- $(usex nls '' '--without-locale')
- $(usex context '' '--without-context --without-coroutine --without-fiber')
- $(usex threads '' '--without-thread')
- --without-stacktrace
- --boost-build="${BROOT}"/usr/share/boost-build
- --prefix="${ED}/usr"
- --layout=system
- # CMake has issues working with multiple python impls,
- # disable cmake config generation for the time being
- # https://github.com/boostorg/python/issues/262#issuecomment-483069294
- --no-cmake-config
- # building with threading=single is currently not possible
- # https://svn.boost.org/trac/boost/ticket/7105
- threading=multi
- link=$(usex static-libs shared,static 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
-
- # bug 298489
- if use ppc || use ppc64; then
- [[ $(gcc-version) > 4.3 ]] && append-flags -mno-altivec
- fi
-
- # Use C++14 globally as of 1.62
- append-cxxflags -std=c++14
-}
-
-multilib_src_compile() {
- ejam "${OPTIONS[@]}" || die
-
- if tools_needed; then
- pushd tools >/dev/null || die
- ejam \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if ! use python; then
- 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
-}
-
-multilib_src_install() {
- ejam \
- "${OPTIONS[@]}" \
- --includedir="${ED}/usr/include" \
- --libdir="${ED}/usr/$(get_libdir)" \
- install || die "Installation of Boost libraries failed"
-
- pushd "${ED}/usr/$(get_libdir)" >/dev/null || die
-
- local ext=$(get_libname)
- if use threads; then
- local f
- for f in *${ext}; do
- dosym ${f} /usr/$(get_libdir)/${f/${ext}/-mt${ext}}
- done
- fi
-
- popd >/dev/null || die
-
- 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
-}
-
-pkg_preinst() {
- # Yai 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
-}
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/boost-1.85.0.ebuild b/dev-libs/boost/boost-1.85.0.ebuild
new file mode 100644
index 000000000000..65a78102ceb0
--- /dev/null
+++ b/dev-libs/boost/boost-1.85.0.ebuild
@@ -0,0 +1,343 @@
+# 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
+)
+
+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.48.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
deleted file mode 100644
index 23a87830d109..000000000000
--- a/dev-libs/boost/files/boost-1.48.0-disable_icu_rpath.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/libs/locale/build/Jamfile.v2
-+++ b/libs/locale/build/Jamfile.v2
-@@ -58,8 +58,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
- {
-@@ -117,7 +117,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 ;
-
-
-@@ -176,7 +175,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.55.0-context-x32.patch b/dev-libs/boost/files/boost-1.55.0-context-x32.patch
deleted file mode 100644
index 5bf740625381..000000000000
--- a/dev-libs/boost/files/boost-1.55.0-context-x32.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-https://svn.boost.org/trac/boost/ticket/9445
-
-hack to fix x32 builds
-
---- a/libs/context/src/asm/jump_i386_sysv_elf_gas.S
-+++ b/libs/context/src/asm/jump_i386_sysv_elf_gas.S
-@@ -31,6 +31,10 @@
- * *
- * *****************************************************************/
-
-+#ifdef __x86_64__
-+#include "jump_x86_64_sysv_elf_gas.S"
-+#else
-+
- .text
- .globl jump_fcontext
- .align 2
-@@ -73,3 +77,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
-@@ -31,6 +31,10 @@
- * *
- * *****************************************************************/
-
-+#ifdef __x86_64__
-+#include "make_x86_64_sysv_elf_gas.S"
-+#else
-+
- .text
- .globl make_fcontext
- .align 2
-@@ -78,3 +82,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.56.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch
deleted file mode 100644
index 48ca51388713..000000000000
--- a/dev-libs/boost/files/boost-1.56.0-build-auto_index-tool.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Build auto_index tool with USE="tools"
-Gentoo bug report: https://bugs.gentoo.org/show_bug.cgi?id=529066
-
---- a/tools/Jamfile.v2.orig 2014-12-24 12:57:32.290880067 +0300
-+++ b/tools/Jamfile.v2 2014-12-24 12:58:38.403883250 +0300
-@@ -20,6 +20,7 @@
- use-project /boost/regression : regression/build ;
-
- TOOLS =
-+ auto_index/build//auto_index
- bcp//bcp
- inspect/build//inspect
- quickbook//quickbook
diff --git a/dev-libs/boost/files/boost-1.65.0-fix-python.patch b/dev-libs/boost/files/boost-1.65.0-fix-python.patch
deleted file mode 100644
index 079160218ea2..000000000000
--- a/dev-libs/boost/files/boost-1.65.0-fix-python.patch
+++ /dev/null
@@ -1,272 +0,0 @@
---- a/boostcpp.jam
-+++ b/boostcpp.jam
-@@ -104,7 +104,7 @@
- python-id = [ option.get "python-buildid" ] ;
- if $(python-id)
- {
-- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
-+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
- }
-
-
---- a/libs/mpi/build/Jamfile.v2
-+++ b/libs/mpi/build/Jamfile.v2
-@@ -58,81 +58,50 @@
-
- if [ python.configured ]
- {
-- py2-version = [ py-version 2 ] ;
-- py3-version = [ py-version 3 ] ;
--
-- # These library names are synchronized with those defined by Boost.Python, see libs/python/build/Jamfile.
-- lib_boost_python(2) = boost_python ;
-- lib_boost_python(3) = boost_python3 ;
--
-- lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
-- lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
--
-- lib_boost_mpi_python(2) = boost_mpi_python ;
-- lib_boost_mpi_python(3) = boost_mpi_python3 ;
--
-- lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ;
-- lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ;
--
-- for local N in 2 3
-- {
-- if $(py$(N)-version)
-- {
-- lib $(lib_boost_mpi_python($(py$(N)-version)))
-- : # Sources
-- python/serialize.cpp
-- : # Requirements
-- <library>boost_mpi
-- <library>/mpi//mpi [ mpi.extra-requirements ]
-- <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
-- <link>shared:<define>BOOST_MPI_DYN_LINK=1
-- <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
-- <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
-- <define>BOOST_MPI_PYTHON_SOURCE=1
-- -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
-- <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
-- <python-debugging>on:<define>BOOST_DEBUG_PYTHON
-- <python>$(py$(N)-version)
-- : # Default build
-- <link>shared
-- : # Usage requirements
-- <library>/mpi//mpi [ mpi.extra-requirements ]
-- ;
--
-- python-extension mpi
-- : # Sources
-- python/collectives.cpp
-- python/py_communicator.cpp
-- python/datatypes.cpp
-- python/documentation.cpp
-- python/py_environment.cpp
-- python/py_nonblocking.cpp
-- python/py_exception.cpp
-- python/module.cpp
-- python/py_request.cpp
-- python/skeleton_and_content.cpp
-- python/status.cpp
-- python/py_timer.cpp
-- : # Requirements
-- <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
-- <library>$(lib_boost_mpi_python($(py$(N)-version)))
-- <library>boost_mpi
-- <library>/mpi//mpi [ mpi.extra-requirements ]
-- <link>shared:<define>BOOST_MPI_DYN_LINK=1
-- <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
-- <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
-- <link>shared <runtime-link>shared
-- <python-debugging>on:<define>BOOST_DEBUG_PYTHON
-- <python>$(py$(N)-version)
-- ;
--
-- libraries += $(lib_boost_mpi_python($(py$(N)-version))) ;
-- }
-- else
-- {
-- alias $(lib_boost_mpi_python($(N))) ;
-- }
-- }
-+ lib boost_mpi_python
-+ : # Sources
-+ python/serialize.cpp
-+ : # Requirements
-+ <library>boost_mpi
-+ <library>/mpi//mpi [ mpi.extra-requirements ]
-+ <library>/boost/python//boost_python
-+ <link>shared:<define>BOOST_MPI_DYN_LINK=1
-+ <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
-+ <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
-+ <define>BOOST_MPI_PYTHON_SOURCE=1
-+ -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
-+ <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
-+ : # Default build
-+ <link>shared
-+ : # Usage requirements
-+ <library>/mpi//mpi [ mpi.extra-requirements ]
-+ ;
-+ libraries += boost_mpi_python ;
-+
-+ python-extension mpi
-+ : # Sources
-+ python/collectives.cpp
-+ python/py_communicator.cpp
-+ python/datatypes.cpp
-+ python/documentation.cpp
-+ python/py_environment.cpp
-+ python/py_nonblocking.cpp
-+ python/py_exception.cpp
-+ python/module.cpp
-+ python/py_request.cpp
-+ python/skeleton_and_content.cpp
-+ python/status.cpp
-+ python/py_timer.cpp
-+ : # Requirements
-+ <library>/boost/python//boost_python
-+ <library>boost_mpi_python
-+ <library>boost_mpi
-+ <library>/mpi//mpi [ mpi.extra-requirements ]
-+ <link>shared:<define>BOOST_MPI_DYN_LINK=1
-+ <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
-+ <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
-+ <link>shared <runtime-link>shared
-+ ;
- }
- }
- else if ! ( --without-mpi in [ modules.peek : ARGV ] )
---- a/libs/python/build/Jamfile
-+++ b/libs/python/build/Jamfile
-@@ -31,26 +31,23 @@
- ;
- }
-
--py2-version = [ py-version 2 ] ;
--py3-version = [ py-version 3 ] ;
--
- project boost/python
- : source-location ../src
- ;
-
- rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
- rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
--local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } }
--
--lib_boost_python(2) = boost_python ;
--lib_boost_python(3) = boost_python3 ;
--
--lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
--lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
-
--rule lib_boost_python ( version )
-+rule lib_boost_python
- {
-- lib $(lib_boost_python($(version)))
-+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
-+ local python2 ;
-+ if $(python_major_version) = 2
-+ {
-+ python2 = true ;
-+ }
-+
-+ lib boost_python
- : # sources
- list.cpp
- long.cpp
-@@ -96,7 +93,8 @@
- # python_for_extensions is a target defined by Boost.Build to
- # provide the Python include paths, and on Windows, the Python
- # import library, as usage requirements.
-- [ cond [ python.configured ] : <library>/python//python_for_extensions ]
-+ [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
-+ [ cond [ python.configured ] : <library>/python//python ]
-
- # we prevent building when there is no python available
- # as it's not possible anyway, and to cause dependents to
-@@ -105,13 +103,10 @@
- <dependency>config-warning
-
- <python-debugging>on:<define>BOOST_DEBUG_PYTHON
-- <python>$(version)
-
- -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
- <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
-
-- <conditional>@python.require-py
--
- : # default build
- <link>shared
- : # usage requirements
-@@ -120,68 +115,8 @@
- ;
- }
-
--lib_boost_numpy(2) = boost_numpy ;
--lib_boost_numpy(3) = boost_numpy3 ;
--
--lib_boost_numpy($(py2-version)) = $(lib_boost_numpy(2)) ;
--lib_boost_numpy($(py3-version)) = $(lib_boost_numpy(3)) ;
--
--rule lib_boost_numpy ( version )
--{
-- numpy-include = [ python.numpy-include ] ;
-- lib $(lib_boost_numpy($(version)))
-- : # sources
-- numpy/dtype.cpp
-- numpy/matrix.cpp
-- numpy/ndarray.cpp
-- numpy/numpy.cpp
-- numpy/scalars.cpp
-- numpy/ufunc.cpp
-- : # requirements
-- <link>static:<define>BOOST_NUMPY_STATIC_LIB
-- <define>BOOST_NUMPY_SOURCE
-- [ cond [ python.numpy ] : <library>/python//python_for_extensions ]
-- [ unless [ python.numpy ] : <build>no ]
-- <include>$(numpy-include)
-- <library>$(lib_boost_python($(version)))
-- <python-debugging>on:<define>BOOST_DEBUG_PYTHON
-- <python>$(version)
-+libraries = boost_python ;
-
-- -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
-- <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
--
-- <conditional>@python.require-py
--
-- : # default build
-- <link>shared
-- : # usage requirements
-- <link>static:<define>BOOST_NUMPY_STATIC_LIB
-- <python-debugging>on:<define>BOOST_DEBUG_PYTHON
-- ;
--}
--
--libraries = ;
--
--for local N in 2 3
--{
-- if $(py$(N)-version)
-- {
-- lib_boost_python $(py$(N)-version) ;
-- libraries += $(lib_boost_python($(py$(N)-version))) ;
-- }
-- else
-- {
-- alias $(lib_boost_python($(N))) ;
-- }
-- if $(py$(N)-version) && [ python.numpy ]
-- {
-- lib_boost_numpy $(py$(N)-version) ;
-- libraries += $(lib_boost_numpy($(py$(N)-version))) ;
-- }
-- else
-- {
-- alias $(lib_boost_numpy($(N))) ;
-- }
--}
-+lib_boost_python ;
-
- boost-install $(libraries) ;
diff --git a/dev-libs/boost/files/boost-1.69.0-context-x32.patch b/dev-libs/boost/files/boost-1.69.0-context-x32.patch
deleted file mode 100644
index 9ee3d545d618..000000000000
--- a/dev-libs/boost/files/boost-1.69.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.79.0-build-auto_index-tool.patch b/dev-libs/boost/files/boost-1.79.0-build-auto_index-tool.patch
new file mode 100644
index 000000000000..ca793b9d06eb
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.79.0-build-auto_index-tool.patch
@@ -0,0 +1,13 @@
+Build auto_index tool with USE="tools"
+See also: https://bugs.gentoo.org/529066
+
+--- a/tools/Jamfile.v2
++++ b/tools/Jamfile.v2
+@@ -18,6 +18,7 @@
+ ;
+
+ TOOLS =
++ auto_index/build//auto_index
+ bcp//bcp
+ inspect/build//inspect
+ quickbook//quickbook
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 9d4579b80fb2..ba1a98dcc43b 100644
--- a/dev-libs/boost/metadata.xml
+++ b/dev-libs/boost/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>soap@gentoo.org</email>
@@ -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="threads">Build multi-thread-compatible libraries instead of single-threaded only.</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 67a1a1d250bf..15dd4e0b8776 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,3 +1,10 @@
-DIST Botan-1.10.17.tgz 2706678 BLAKE2B bce65493c702381aaa747c2b935c545f85704b93bb6be4bf225048cc14812999291bbbe86786c2b00865489ec47d63128b12ef1020be8651be57fa1c84006a7c SHA512 a47cab3af113652247c8efc8b0f043eb62175eaa8554833d5fc3016ea94dbdd8aa722ab9b5226cc5f133afbcc088d54362111630eaa4594812c39925cc3c8649
-DIST Botan-2.11.0.tar.xz 5765712 BLAKE2B 5602ef9485363b21f6f622f7370e486d834477730c2fc2f0bb9211db944d2b2a6a03d8ae14845cf871f648c76c77fd3e18804bd598f805a5754e3bfadb114d5d SHA512 a697a7f29788afc561cde35431e65e2f37e40fd45af89a6d060bf9988d28089905c6a1c005f9b23fb377547cd7a96a41f62c8d2f61a7f80d1ca1b9ccf857a2ce
-DIST Botan-2.9.0.tgz 7216373 BLAKE2B 5ad2e15db871ccc3a32b29b7f54a02d69f251f0aca2ce656b557dbbb3814a793053a54905371b3414ad72952a64bece43e2383da91f205f68b0fe31be2f9439c SHA512 b88f3894a4a5b7b2fbff9be6eb0b774bf679a014bd2364811b7e63d4f323e22ca9ef916491afbc2cdf9db68727c1449fbeb6fd417e591560add0955517db3f65
+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-1.10.17-r2.ebuild b/dev-libs/botan/botan-1.10.17-r2.ebuild
deleted file mode 100644
index 132f27c34fb1..000000000000
--- a/dev-libs/botan/botan-1.10.17-r2.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit multilib python-r1 toolchain-funcs
-
-MY_PN="Botan"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tgz"
-
-KEYWORDS="amd64 ~arm hppa ~ia64 ppc ppc64 ~sparc x86 ~ppc-macos"
-SLOT="0"
-LICENSE="BSD"
-IUSE="bindist doc python bzip2 gmp libressl ssl static-libs threads zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}
- bzip2? ( >=app-arch/bzip2-1.0.5 )
- zlib? ( >=sys-libs/zlib-1.2.3 )
- python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
- gmp? ( >=dev-libs/gmp-4.2.2:* )
- ssl? (
- !libressl? ( <dev-libs/openssl-1.1:0=[bindist=] )
- libressl? ( dev-libs/libressl:0= )
- )"
-BDEPEND="dev-lang/python:*
- doc? ( dev-python/sphinx )"
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
- "${FILESDIR}/${P}-libressl.patch"
-)
-
-src_prepare() {
- default
-
- sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
- sed \
- -e "/DOCDIR/d" \
- -e "/^install:/s/ docs//" \
- -i src/build-data/makefile/unix_shr.in || die "sed failed"
-
- # Fix ImportError with Python 3.
- sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
-
- use python && python_copy_sources
-}
-
-src_configure() {
- local disable_modules="proc_walk,unix_procs"
- use threads || disable_modules+=",pthreads"
- use bindist && disable_modules+=",ecdsa"
- elog "Disabling modules: ${disable_modules}"
-
- # Enable v9 instructions for sparc64
- if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
- CHOSTARCH="sparc32-v9"
- else
- CHOSTARCH="${CHOST%%-*}"
- fi
-
- local myos=
- case ${CHOST} in
- *-darwin*) myos=darwin ;;
- *) myos=linux ;;
- esac
-
- # foobared buildsystem, --prefix translates into DESTDIR, see also make
- # install in src_install, we need the correct live-system prefix here on
- # Darwin for a shared lib with correct install_name
- ./configure.py \
- --prefix="${EPREFIX}/usr" \
- --libdir=$(get_libdir) \
- --docdir=share/doc \
- --cc=gcc \
- --os=${myos} \
- --cpu=${CHOSTARCH} \
- --with-endian="$(tc-endian)" \
- --without-sphinx \
- --with-tr1=system \
- $(use_with bzip2) \
- $(use_with gmp gnump) \
- $(use_with python boost-python) \
- $(use_with ssl openssl) \
- $(use_with zlib) \
- --disable-modules=${disable_modules} \
- || die "configure.py failed"
-}
-
-src_compile() {
- emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT=""
-
- if use python; then
- building() {
- rm -fr build/python
- ln -s "${BUILD_DIR}" build/python
- cp Makefile.python build/python
- sed -i \
- -e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
- build/python/Makefile.python
- emake -f build/python/Makefile.python \
- CXX="$(tc-getCXX)" \
- CFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- PYTHON_ROOT="/usr/$(get_libdir)" \
- PYTHON_INC="-I$(python_get_includedir)"
- }
- python_foreach_impl building
- fi
-
- if use doc; then
- einfo "Generation of documentation"
- sphinx-build doc doc_output || die
- fi
-}
-
-src_test() {
- chmod -R ugo+rX "${S}"
- emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
- LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
-}
-
-src_install() {
- emake DESTDIR="${ED}/usr" install
-
- if ! use static-libs; then
- rm "${ED}/usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
- fi
-
- # Add compatibility symlinks.
- [[ -e "${ED}/usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
- [[ -e "${ED}/usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
- dosym botan-config-1.10 /usr/bin/botan-config
- dosym botan-1.10.pc /usr/$(get_libdir)/pkgconfig/botan.pc
-
- if use python; then
- installation() {
- rm -fr build/python
- ln -s "${BUILD_DIR}" build/python
- emake -f Makefile.python \
- PYTHON_SITE_PACKAGE_DIR="${D}$(python_get_sitedir)" \
- install
- }
- python_foreach_impl installation
- fi
-
- if use doc; then
- pushd doc_output > /dev/null
- insinto /usr/share/doc/${PF}/html
- doins -r [a-z]* _static
- popd > /dev/null
- fi
-}
diff --git a/dev-libs/botan/botan-2.11.0.ebuild b/dev-libs/botan/botan-2.11.0.ebuild
deleted file mode 100644
index 0b8587ddfd92..000000000000
--- a/dev-libs/botan/botan-2.11.0.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit multilib python-r1 toolchain-funcs
-
-MY_PN="Botan"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-
-KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
-SLOT="2/$(ver_cut 1-2)" # soname version
-LICENSE="BSD"
-IUSE="bindist doc boost python bzip2 libressl lzma sqlite ssl static-libs zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
- boost? ( >=dev-libs/boost-1.48:= )
- lzma? ( app-arch/xz-utils:= )
- sqlite? ( dev-db/sqlite:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[bindist=] )
- libressl? ( dev-libs/libressl:0= )
- )"
-BDEPEND="dev-lang/python:*
- doc? ( dev-python/sphinx )"
-
-src_configure() {
- local disable_modules=()
- use boost || disable_modules+=( "boost" )
- use bindist && disable_modules+=( "ecdsa" )
- elog "Disabling modules: ${disable_modules[@]}"
-
- # Enable v9 instructions for sparc64
- if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
- CHOSTARCH="sparc32-v9"
- else
- CHOSTARCH="${CHOST%%-*}"
- fi
-
- local myos=
- case ${CHOST} in
- *-darwin*) myos=darwin ;;
- *) myos=linux ;;
- esac
-
- case ${CHOST} in
- hppa*) CHOSTARCH=parisc ;;
- esac
-
- local pythonvers=()
- if use python; then
- append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
- python_foreach_impl append
- fi
-
- CXX="$(tc-getCXX)" AR="$(tc-getAR)" ./configure.py \
- $(use_enable static-libs static-library) \
- $(use_with boost) \
- $(use_with bzip2) \
- $(use_with doc documentation) \
- $(use_with doc sphinx) \
- $(use_with lzma) \
- $(use_with sqlite sqlite3) \
- $(use_with ssl openssl) \
- $(use_with zlib) \
- $(usex hppa --without-stack-protector '') \
- --cc=gcc \
- --cpu=${CHOSTARCH} \
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}" ) \
- --docdir=share/doc \
- --libdir=$(get_libdir) \
- --os=${myos} \
- --prefix="${EPREFIX}/usr" \
- --with-endian="$(tc-endian)" \
- --with-python-version=$(IFS=","; echo "${pythonvers[*]}" ) \
- --without-doxygen \
- || die "configure.py failed"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
- default
- use python && python_foreach_impl python_optimize
-}
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-2.9.0.ebuild b/dev-libs/botan/botan-2.9.0.ebuild
deleted file mode 100644
index 0f61ea3a3a99..000000000000
--- a/dev-libs/botan/botan-2.9.0.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit multilib python-r1 toolchain-funcs
-
-MY_PN="Botan"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="A C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tgz"
-
-KEYWORDS="amd64 ~arm hppa ~ia64 ppc ppc64 ~sparc x86 ~ppc-macos"
-SLOT="2/$(ver_cut 1-2)" # soname version
-LICENSE="BSD"
-IUSE="bindist doc boost python bzip2 libressl lzma sqlite ssl static-libs zlib"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-S="${WORKDIR}/${MY_P}"
-
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}
- bzip2? ( >=app-arch/bzip2-1.0.5:= )
- zlib? ( >=sys-libs/zlib-1.2.3:= )
- boost? ( >=dev-libs/boost-1.48:= )
- lzma? ( app-arch/xz-utils:= )
- sqlite? ( dev-db/sqlite:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:0=[bindist=] )
- libressl? ( dev-libs/libressl:0= )
- )"
-BDEPEND="dev-lang/python:*
- doc? ( dev-python/sphinx )"
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
-)
-
-src_configure() {
- local disable_modules=()
- use boost || disable_modules+=( "boost" )
- use bindist && disable_modules+=( "ecdsa" )
- elog "Disabling modules: ${disable_modules[@]}"
-
- # Enable v9 instructions for sparc64
- if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
- CHOSTARCH="sparc32-v9"
- else
- CHOSTARCH="${CHOST%%-*}"
- fi
-
- local myos=
- case ${CHOST} in
- *-darwin*) myos=darwin ;;
- *) myos=linux ;;
- esac
-
- case ${CHOST} in
- hppa*) CHOSTARCH=parisc ;;
- esac
-
- local pythonvers=()
- if use python; then
- append() {
- pythonvers+=( ${EPYTHON/python/} )
- }
- python_foreach_impl append
- fi
-
- CXX="$(tc-getCXX)" AR="$(tc-getAR)" ./configure.py \
- $(use_enable static-libs static-library) \
- $(use_with boost) \
- $(use_with bzip2) \
- $(use_with doc documentation) \
- $(use_with doc sphinx) \
- $(use_with lzma) \
- $(use_with sqlite sqlite3) \
- $(use_with ssl openssl) \
- $(use_with zlib) \
- $(usex hppa --without-stack-protector '') \
- --cc=gcc \
- --cpu=${CHOSTARCH} \
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}" ) \
- --docdir=share/doc \
- --libdir=$(get_libdir) \
- --os=${myos} \
- --prefix="${EPREFIX}/usr" \
- --with-endian="$(tc-endian)" \
- --with-python-version=$(IFS=","; echo "${pythonvers[*]}" ) \
- --without-doxygen \
- || die "configure.py failed"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
- default
- use python && python_foreach_impl python_optimize
-}
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-1.10.17-build.patch b/dev-libs/botan/files/botan-1.10.17-build.patch
deleted file mode 100644
index 43877972211a..000000000000
--- a/dev-libs/botan/files/botan-1.10.17-build.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c7963d28d03e5f65f4021a5b764dc4bff9417eda Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Wed, 4 Oct 2017 01:50:33 +0300
-Subject: [PATCH] gost_3411: use correct type for build to pass
-
----
- src/hash/gost_3411/gost_3411.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/hash/gost_3411/gost_3411.cpp b/src/hash/gost_3411/gost_3411.cpp
-index 97aa399..7ca22dc 100644
---- a/src/hash/gost_3411/gost_3411.cpp
-+++ b/src/hash/gost_3411/gost_3411.cpp
-@@ -91,7 +91,7 @@ void GOST_34_11::compress_n(const byte input[], size_t blocks)
- // P transformation
- for(size_t k = 0; k != 4; ++k)
- {
-- const uint64_t UVk = U[k] ^ V[k];
-+ const u64bit UVk = U[k] ^ V[k];
- for(size_t l = 0; l != 8; ++l)
- key[4*l+k] = get_byte(l, UVk);
- }
---
-2.13.6
-
diff --git a/dev-libs/botan/files/botan-1.10.17-libressl.patch b/dev-libs/botan/files/botan-1.10.17-libressl.patch
deleted file mode 100644
index 5913bfd30494..000000000000
--- a/dev-libs/botan/files/botan-1.10.17-libressl.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From e61a5f56fb404db3655909be4ce23c3a816cbb60 Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Wed, 4 Oct 2017 22:16:31 +0300
-Subject: [PATCH] openssl: support libressl
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
----
- src/engine/openssl/ossl_bc.cpp | 2 +-
- src/engine/openssl/ossl_md.cpp | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/engine/openssl/ossl_bc.cpp b/src/engine/openssl/ossl_bc.cpp
-index 74660c7b5..cb184c202 100644
---- a/src/engine/openssl/ossl_bc.cpp
-+++ b/src/engine/openssl/ossl_bc.cpp
-@@ -8,7 +8,7 @@
- #include <botan/internal/openssl_engine.h>
- #include <openssl/evp.h>
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
- #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x"
- #endif
-
-diff --git a/src/engine/openssl/ossl_md.cpp b/src/engine/openssl/ossl_md.cpp
-index 2fcb2b0e5..9c43d616e 100644
---- a/src/engine/openssl/ossl_md.cpp
-+++ b/src/engine/openssl/ossl_md.cpp
-@@ -8,7 +8,7 @@
- #include <botan/internal/openssl_engine.h>
- #include <openssl/evp.h>
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
- #error "OpenSSL 1.1 API not supported in Botan 1.10, upgrade to 2.x"
- #endif
-
---
-2.13.6
-
diff --git a/dev-libs/botan/files/botan-2.9.0-build.patch b/dev-libs/botan/files/botan-2.9.0-build.patch
deleted file mode 100755
index 6208ffdbf0ad..000000000000
--- a/dev-libs/botan/files/botan-2.9.0-build.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 86df247e4f090f984e050962ed5a4a536ec63b33 Mon Sep 17 00:00:00 2001
-From: Ralf van der Enden <Ralf.vanderEnden@deltares.nl>
-Date: Fri, 5 Apr 2019 14:58:14 +0200
-Subject: [PATCH] boost 1.70 compatibility
-
-Fixes issue #82
----
- src/cli/tls_http_server.cpp | 8 +++++++-
- src/cli/tls_proxy.cpp | 8 +++++++-
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/src/cli/tls_http_server.cpp b/src/cli/tls_http_server.cpp
-index cc59a71c33..0a6428cd65 100644
---- a/src/cli/tls_http_server.cpp
-+++ b/src/cli/tls_http_server.cpp
-@@ -41,6 +41,12 @@
-
- #include "credentials.h"
-
-+#if BOOST_VERSION >= 107000
-+#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
-+#else
-+#define GET_IO_SERVICE(s) ((s).get_io_service())
-+#endif
-+
- namespace Botan_CLI {
-
- namespace {
-@@ -435,7 +441,7 @@ class TLS_Asio_HTTP_Server final
- session::pointer make_session()
- {
- return session::create(
-- m_acceptor.get_io_service(),
-+ GET_IO_SERVICE(m_acceptor),
- m_session_manager,
- m_creds,
- m_policy);
-diff --git a/src/cli/tls_proxy.cpp b/src/cli/tls_proxy.cpp
-index 49ffbe3766..42ce156b12 100644
---- a/src/cli/tls_proxy.cpp
-+++ b/src/cli/tls_proxy.cpp
-@@ -33,6 +33,12 @@
-
- #include "credentials.h"
-
-+#if BOOST_VERSION >= 107000
-+#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
-+#else
-+#define GET_IO_SERVICE(s) ((s).get_io_service())
-+#endif
-+
- namespace Botan_CLI {
-
- namespace {
-@@ -370,7 +376,7 @@ class tls_proxy_server final
- session::pointer make_session()
- {
- return session::create(
-- m_acceptor.get_io_service(),
-+ GET_IO_SERVICE(m_acceptor),
- m_session_manager,
- m_creds,
- m_policy,
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 dfd9dcf6cba7..aa26e3323953 100644
--- a/dev-libs/botan/metadata.xml
+++ b/dev-libs/botan/metadata.xml
@@ -1,22 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>lloyd@randombit.net</email>
- <name>Jack Lloyd </name>
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
</maintainer>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers Project</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>
</slots>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:botan_project:botan</remote-id>
+ <remote-id type="github">randombit/botan</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/boxfort/Manifest b/dev-libs/boxfort/Manifest
new file mode 100644
index 000000000000..e72f8254858c
--- /dev/null
+++ b/dev-libs/boxfort/Manifest
@@ -0,0 +1,2 @@
+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.1.1.ebuild b/dev-libs/boxfort/boxfort-0.1.1.ebuild
new file mode 100644
index 000000000000..a9bd21264bdc
--- /dev/null
+++ b/dev-libs/boxfort/boxfort-0.1.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit meson 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"
+
+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"
+
+S="${WORKDIR}/BoxFort-${PV}"
+
+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.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/boxfort/metadata.xml b/dev-libs/boxfort/metadata.xml
new file mode 100644
index 000000000000..ca7ba9621fd0
--- /dev/null
+++ b/dev-libs/boxfort/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>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">Snaipe/BoxFort</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/btparser/Manifest b/dev-libs/btparser/Manifest
deleted file mode 100644
index e5fd63b2801b..000000000000
--- a/dev-libs/btparser/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST btparser-0.26.tar.gz 564940 BLAKE2B 979b530764d0ebb413c670c44aeb05bc3ac6dfbce54d35ff62ca851aa671a58aa223972ad3a6880e0d8f2e9c849ff60ee3adbc35cfae0f996aa085e771383375 SHA512 c5520f0aae3217482b97eac7c9cc5ae9be596df936ce958d84cb8e46a67c4b97a9184f9cd4bcab185d35c64f5ea98acd6cfb6f98512b9fa492a3aa9931d6668c
diff --git a/dev-libs/btparser/btparser-0.26.ebuild b/dev-libs/btparser/btparser-0.26.ebuild
deleted file mode 100644
index 73a04ca15ff5..000000000000
--- a/dev-libs/btparser/btparser-0.26.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-GCONF_DEBUG="no"
-GNOME2_LA_PUNT="yes"
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools gnome2 python-single-r1
-
-DESCRIPTION="Parser and analyzer for backtraces produced by GDB"
-HOMEPAGE="https://fedorahosted.org/btparser/"
-SRC_URI="https://github.com/abrt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0/2"
-KEYWORDS="amd64 x86"
-
-IUSE="static-libs"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-libs/glib-2.21:2
-"
-DEPEND="${RDEPEND}"
-
-# Incomplete tarball for tests
-RESTRICT="test"
-
-src_prepare() {
- eautoreconf # to prevent maintainer mode
- gnome2_src_prepare
-}
-
-src_configure() {
- export PYTHON_CFLAGS=$(python_get_CFLAGS)
- export PYTHON_LIBS=$(python_get_LIBS)
-
- gnome2_src_configure \
- $(use_enable static-libs static)
-}
diff --git a/dev-libs/btparser/metadata.xml b/dev-libs/btparser/metadata.xml
deleted file mode 100644
index f7b718373ec3..000000000000
--- a/dev-libs/btparser/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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">abrt/btparser</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/busybee/Manifest b/dev-libs/busybee/Manifest
deleted file mode 100644
index 7d60049d5c81..000000000000
--- a/dev-libs/busybee/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST busybee-0.5.2.tar.gz 359617 BLAKE2B 26f5daebb2d5686de8ca942e127ee0523f9f6c7bfbcd4f92f5597feefc5131180ad603442f0a531bae77b36d70d6edc31fdaa9ab17b8d4925bfe1ef6e0b794f7 SHA512 f6eba1e6d9f78dbb048214766105829eae53d060d247ac316e931ac887454f4fcf2217c01b4b6d61108de8d837d0a6861951aeda5f8a6a93de6b145247aaeac8
-DIST busybee-0.6.0.tar.gz 364241 BLAKE2B 31e4e6b479f6d230e453a7309a6c2f4e7e2480b7f06b9bd542ac004f98353a516ef4b8786bc108f33734f2317e32aa713347ee39638debc85904791d86137c9a SHA512 3c4376d008ae5028773e43bfc9dcf651ed0ed0134370ae763799af0a91e693ab13384915d655a342009520ce346615b0b006b1cbc0cd30b898137bb2567c87af
-DIST busybee-0.7.0.tar.gz 367175 BLAKE2B 29dc5c021dbbc91497d855b26adbeb6464999a92ac9d13af689ec09e76f9779f0ec8d36b210e432eb77ee6eec125f0bfbc7eb0b87f085969a422a2a7e2286002 SHA512 9bf868b6d02b0286d89ff371964e7d32dd373049c1437459b79f0789741421ebb2810d9d58c51d86225cc190d6e23d57c816d079298b0bcfa1e4da815bda2474
diff --git a/dev-libs/busybee/busybee-0.5.2.ebuild b/dev-libs/busybee/busybee-0.5.2.ebuild
deleted file mode 100644
index 8fa8fb05ff36..000000000000
--- a/dev-libs/busybee/busybee-0.5.2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-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"
-
-IUSE=""
-
-DEPEND=">=dev-libs/libpo6-${PV}
- >=dev-libs/libe-${PV}"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/busybee/busybee-0.6.0.ebuild b/dev-libs/busybee/busybee-0.6.0.ebuild
deleted file mode 100644
index 8fa8fb05ff36..000000000000
--- a/dev-libs/busybee/busybee-0.6.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-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"
-
-IUSE=""
-
-DEPEND=">=dev-libs/libpo6-${PV}
- >=dev-libs/libe-${PV}"
-RDEPEND="${DEPEND}"
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 ee89822abdde..000000000000
--- a/dev-libs/busybee/busybee-0.7.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-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"
-
-IUSE=""
-
-DEPEND=">=dev-libs/libpo6-0.8
- >=dev-libs/libe-0.11"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/busybee/metadata.xml b/dev-libs/busybee/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/busybee/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 711561b638cc..e7cb8aa0f471 100644
--- a/dev-libs/c-blosc/Manifest
+++ b/dev-libs/c-blosc/Manifest
@@ -1 +1 @@
-DIST c-blosc-1.11.2.tar.gz 633280 BLAKE2B 426de12ffa0db784fc26316e5758836517f3b3498111cfea64ebd2bc4582ebc6236f64845d41e75db272d3741ab8a7f22a12e0847fb7c98ba10a3ae2c2906e22 SHA512 c1282f60f4ef9d24844be225587e7f46c43ba8a5071f5ee49a7326bce9e84b65312c4f9606e78fd3d1209a4ca50f1c31312a7c377caf9522c9915177c92a4d7b
+DIST c-blosc-1.21.5.gh.tar.gz 2458960 BLAKE2B f56e19146a1522554d5e8de23f580125a6181b50f1898c8e622e8ac50f2f40ab4cdaba62a5a2bc6ff437257550e205090ebe66bb8840202a26567abfc63fbf53 SHA512 01e6d80e1114d76c4bd1b413778c293d0455879ec38e1e1ec46e8e7eaf2997b47cc2de35bc52cdc4c2c70341b6f87d70626a9a9c24ffc8b7b170d760efa60c07
diff --git a/dev-libs/c-blosc/c-blosc-1.11.2.ebuild b/dev-libs/c-blosc/c-blosc-1.11.2.ebuild
deleted file mode 100644
index c06bbca39377..000000000000
--- a/dev-libs/c-blosc/c-blosc-1.11.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Blocking, shuffling and lossless compression library"
-HOMEPAGE="http://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 x86 ~amd64-linux ~x86-linux"
-
-IUSE="cpu_flags_x86_avx2 +lz4 +snappy static-libs test zlib zstd"
-
-RDEPEND="
- lz4? ( >=app-arch/lz4-1.7.5:= )
- snappy? ( app-arch/snappy )
- zlib? ( sys-libs/zlib )
- zstd? ( app-arch/zstd )"
-DEPEND="${RDEPEND}"
-
-DOCS=( README.rst RELEASE_NOTES.rst THOUGHTS_FOR_2.0.txt ANNOUNCE.rst )
-PATCHES=( "${FILESDIR}/${PN}-1.11.2-fix-build-system.patch" )
-
-src_prepare() {
- cmake-utils_src_prepare
- # remove bundled libs
- rm -rf internal-complibs || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_STATIC=$(usex static-libs)
- -DBUILD_TESTS=$(usex test)
- -DBUILD_BENCHMARKS=OFF
- -DDEACTIVATE_AVX2=$(usex !cpu_flags_x86_avx2)
- -DDEACTIVATE_LZ4=$(usex !lz4)
- -DDEACTIVATE_SNAPPY=$(usex !snappy)
- -DDEACTIVATE_ZLIB=$(usex !zlib)
- -DDEACTIVATE_ZSTD=$(usex !zstd)
- -DPREFER_EXTERNAL_LZ4=ON
- -DPREFER_EXTERNAL_SNAPPY=ON
- -DPREFER_EXTERNAL_ZLIB=ON
- -DPREFER_EXTERNAL_ZSTD=ON
- )
- cmake-utils_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.11.2-fix-build-system.patch b/dev-libs/c-blosc/files/c-blosc-1.11.2-fix-build-system.patch
deleted file mode 100644
index d385d5263710..000000000000
--- a/dev-libs/c-blosc/files/c-blosc-1.11.2-fix-build-system.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Make the build system respect CFLAGS
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -244,16 +244,6 @@
- endif()
-
- # flags
--# @TODO: set -Wall
--# @NOTE: -O3 is enabled in Release mode (CMAKE_BUILD_TYPE="Release")
--
--# Set the "-msse2" build flag only if the CMAKE_C_FLAGS is not already set.
--# Probably "-msse2" should be appended to CMAKE_C_FLAGS_RELEASE.
--if(CMAKE_C_COMPILER_ID STREQUAL GNU OR CMAKE_C_COMPILER_ID STREQUAL Clang OR CMAKE_C_COMPILER_ID STREQUAL Intel)
-- if(NOT CMAKE_C_FLAGS AND COMPILER_SUPPORT_SSE2)
-- set(CMAKE_C_FLAGS -msse2 CACHE STRING "C flags." FORCE)
-- endif(NOT CMAKE_C_FLAGS AND COMPILER_SUPPORT_SSE2)
--endif(CMAKE_C_COMPILER_ID STREQUAL GNU OR CMAKE_C_COMPILER_ID STREQUAL Clang OR CMAKE_C_COMPILER_ID STREQUAL Intel)
-
- if(MSVC)
- if(NOT CMAKE_C_FLAGS)
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-blosc/metadata.xml b/dev-libs/c-blosc/metadata.xml
index 4ce6ebd129d5..2ddd39b3ce65 100644
--- a/dev-libs/c-blosc/metadata.xml
+++ b/dev-libs/c-blosc/metadata.xml
@@ -1,10 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
<longdescription lang="en">
Blosc is a compression library designed to transmit data to the
processor cache faster than the traditional non-compressed memory fetch.
@@ -12,10 +16,6 @@
fast. Blosc is meant not only to reduce the size of large datasets on-disk
or in-memory, but also to accelerate memory-bound computations.
</longdescription>
- <use>
- <flag name="lz4">Enable lz4 compression</flag>
- <flag name="snappy">Enable snappy compression</flag>
- </use>
<upstream>
<remote-id type="github">Blosc/c-blosc</remote-id>
</upstream>
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..a2c086f9673c
--- /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/c-capnproto/c-capnproto-0.3.ebuild b/dev-libs/c-capnproto/c-capnproto-0.3.ebuild
index a51bc796601b..143d47a4ac1f 100644
--- a/dev-libs/c-capnproto/c-capnproto-0.3.ebuild
+++ b/dev-libs/c-capnproto/c-capnproto-0.3.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-
-inherit autotools-utils
+EAPI=7
DESCRIPTION="C library/compiler for the Cap'n Proto serialization/RPC protocol"
HOMEPAGE="https://github.com/opensourcerouting/c-capnproto"
@@ -11,10 +9,6 @@ SRC_URI="https://github.com/opensourcerouting/c-capnproto/releases/download/${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-IUSE=""
+KEYWORDS="amd64 arm arm64"
-RDEPEND=""
-DEPEND="${RDEPEND}
- app-arch/xz-utils
-"
+BDEPEND="app-arch/xz-utils"
diff --git a/dev-libs/c-capnproto/metadata.xml b/dev-libs/c-capnproto/metadata.xml
index 6fc9163438cc..9dc2abf58cf7 100644
--- a/dev-libs/c-capnproto/metadata.xml
+++ b/dev-libs/c-capnproto/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/dev-libs/cJSON/Manifest b/dev-libs/cJSON/Manifest
new file mode 100644
index 000000000000..50cc2e280a86
--- /dev/null
+++ b/dev-libs/cJSON/Manifest
@@ -0,0 +1 @@
+DIST cJSON-1.7.17.tar.gz 353748 BLAKE2B 11d47bebc4b6b3a8115234706f1b35af0f450725c2ee36aaf563a5d44e20a7bc0e2b83aaf15aeea3146bdad7467e96bf7d6edcd79ad4f3e5a9ffe40f002cf8d5 SHA512 4feebafa5225297fa3e6a7bf23f8d31b5c3e172f437078c5a07528522ad58ca2e9c72dd9e8611241d2b8321e9aa0a1a9af7743689d1c2001d1d9cb624aae6fa8
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/cJSON/metadata.xml b/dev-libs/cJSON/metadata.xml
new file mode 100644
index 000000000000..f6c7e060f7e8
--- /dev/null
+++ b/dev-libs/cJSON/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>mattst88@gentoo.org</email>
+ <name>Matt Turner</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">DaveGamble/cJSON</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/caliper/Manifest b/dev-libs/caliper/Manifest
deleted file mode 100644
index 379461d0e25e..000000000000
--- a/dev-libs/caliper/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST caliper-1.5.0.tar.gz 167184 BLAKE2B e43b18d1fd59b2a088b8b1fc16a96e1916cd0c195a60c7857d596515fa83dbf874f3754d463b11a1fa861fffb1ebaa06a8f83c6df195d45e05e4e14b4a3d726e SHA512 8f54d453efc4a1d3b6ef5cfd9c07726813850942c694378ebcf03dd9dfb390c67473ff621627cc78209b811e9591e6c8542697dbc23ee05ceef3a1fb8af2bb4e
diff --git a/dev-libs/caliper/caliper-1.5.0.ebuild b/dev-libs/caliper/caliper-1.5.0.ebuild
deleted file mode 100644
index be677d0ac535..000000000000
--- a/dev-libs/caliper/caliper-1.5.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Application Introspection System"
-HOMEPAGE="https://computation.llnl.gov/projects/caliper"
-SRC_URI="https://github.com/LLNL/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- net-misc/curl
- sys-libs/libunwind
- dev-libs/papi
- "
-RDEPEND="${DEPEND}"
-
-#thttps://github.com/LLNL/Caliper/pull/23
-#thttps://github.com/LLNL/Caliper/pull/24
-#thttps://github.com/LLNL/Caliper/pull/25
-PATCHES=( "${FILESDIR}/${P}-cmake.patch"
- "${FILESDIR}/${P}-python2.patch"
- "${FILESDIR}/${P}-multilib.patch"
- )
-
-S="${WORKDIR}/${P^c}"
diff --git a/dev-libs/caliper/files/caliper-1.5.0-cmake.patch b/dev-libs/caliper/files/caliper-1.5.0-cmake.patch
deleted file mode 100644
index 88a142738ced..000000000000
--- a/dev-libs/caliper/files/caliper-1.5.0-cmake.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f3f634a7e3eb76c8206739a362d3926e8a5ff1d7 Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans@lanl.gov>
-Date: Wed, 30 Nov 2016 10:12:31 -0700
-Subject: [PATCH] FindLibcurl.cmake: add path suffix
-
-Most linux distros put curl.h in a subdir curl
----
- cmake/FindLibcurl.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cmake/FindLibcurl.cmake b/cmake/FindLibcurl.cmake
-index c3dcce1..ad0ac5b 100644
---- a/cmake/FindLibcurl.cmake
-+++ b/cmake/FindLibcurl.cmake
-@@ -1,7 +1,7 @@
- #
- # - Find libcurl
- #
--# LIBCURL_INCLUDE_DIR - Path to libcurl.h
-+# LIBCURL_INCLUDE_DIR - Path to curl.h
- # LIBCURL_LIBRARY - List of libraries for using libcurl
- # LIBCURL_FOUND - True if libcurl was found
-
-@@ -9,8 +9,8 @@ if(LIBCURL_INCLUDE_DIR)
- set(LIBCURL_FIND_QUIETLY true)
- endif()
-
--find_path(LIBCURL_INCLUDE_DIR curl.h)
- find_library(LIBCURL_LIBRARY curl)
-+find_path(LIBCURL_INCLUDE_DIR curl.h PATH_SUFFIXES curl)
-
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(Libcurl DEFAULT_MSG LIBCURL_LIBRARY LIBCURL_INCLUDE_DIR)
diff --git a/dev-libs/caliper/files/caliper-1.5.0-multilib.patch b/dev-libs/caliper/files/caliper-1.5.0-multilib.patch
deleted file mode 100644
index 4df5d841ef6c..000000000000
--- a/dev-libs/caliper/files/caliper-1.5.0-multilib.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-From b296fb1d9db532a14c815d6e90ec606a32f570be Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans@lanl.gov>
-Date: Wed, 30 Nov 2016 11:01:58 -0700
-Subject: [PATCH] cmake: add multilib support
-
----
- CMakeLists.txt | 13 ++++++++-----
- src/caliper-stub/CMakeLists.txt | 8 ++++----
- src/caliper/CMakeLists.txt | 6 +++---
- src/common/CMakeLists.txt | 8 ++++----
- src/common/csv/CMakeLists.txt | 2 +-
- src/fortran/CMakeLists.txt | 2 +-
- src/reader/CMakeLists.txt | 6 +++---
- src/services/callpath/CMakeLists.txt | 2 +-
- src/services/mpiwrap/CMakeLists.txt | 4 ++--
- src/services/ompt/CMakeLists.txt | 2 +-
- src/services/papi/CMakeLists.txt | 2 +-
- src/services/recorder/CMakeLists.txt | 2 +-
- src/tools/cali-graph/CMakeLists.txt | 2 +-
- src/tools/cali-query/CMakeLists.txt | 2 +-
- src/tools/cali-stat/CMakeLists.txt | 2 +-
- src/tools/util/CMakeLists.txt | 6 +++---
- 16 files changed, 36 insertions(+), 33 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3088112..e3e2384 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -16,6 +16,9 @@ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")
- include(FindLibunwind)
- include(FindPAPI)
- include(FindLibcurl)
-+
-+include(GNUInstallDirs)
-+
- # Optional Fortran
- option(WITH_FORTRAN "Install Fortran interface and build test programs")
-
-@@ -131,15 +134,15 @@ configure_file(
- @ONLY)
-
- install(FILES ${PROJECT_BINARY_DIR}/caliper-config.cmake
-- DESTINATION share/cmake/caliper)
-+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/caliper)
- install(EXPORT caliper
-- DESTINATION share/cmake/caliper)
-+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/caliper)
-
- install(FILES ${PROJECT_BINARY_DIR}/caliper-config.h
-- DESTINATION include/caliper)
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/caliper)
-
- install(FILES ${PROJECT_BINARY_DIR}/caliper.pc
-- DESTINATION share/pkgconfig)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
- add_subdirectory(src)
- if (WITH_TESTS)
-@@ -149,4 +152,4 @@ endif()
- add_subdirectory(doc)
-
- # Install exports
--#install(EXPORT caliper DESTINATION lib/cmake)
-+#install(EXPORT caliper DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
-diff --git a/src/caliper-stub/CMakeLists.txt b/src/caliper-stub/CMakeLists.txt
-index b796f47..d168875 100644
---- a/src/caliper-stub/CMakeLists.txt
-+++ b/src/caliper-stub/CMakeLists.txt
-@@ -12,9 +12,9 @@ add_library(caliper-stub ${CALIPER_STUB_CXX_SOURCES})
-
- install(TARGETS caliper-stub-c
- EXPORT caliper-stub-c
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- install(TARGETS caliper-stub
- EXPORT caliper-stub
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/src/caliper/CMakeLists.txt b/src/caliper/CMakeLists.txt
-index 4c25990..38b58ac 100644
---- a/src/caliper/CMakeLists.txt
-+++ b/src/caliper/CMakeLists.txt
-@@ -26,9 +26,9 @@ foreach (_extlib ${CALIPER_EXTERNAL_LIBS})
- target_link_libraries(caliper ${_extlib})
- endforeach()
-
--install(FILES ${CALIPER_HEADERS} DESTINATION include/caliper)
-+install(FILES ${CALIPER_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/caliper)
-
- install(TARGETS caliper
- EXPORT caliper
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
-index 73666fb..0c0b441 100644
---- a/src/common/CMakeLists.txt
-+++ b/src/common/CMakeLists.txt
-@@ -36,10 +36,10 @@ add_library(caliper-common
- $<TARGET_OBJECTS:c-util>
- ${CALIPER_COMMON_SOURCES})
-
--install(FILES ${CALIPER_COMMON_HEADERS} DESTINATION include/caliper)
--install(FILES ${CALIPER_UTIL_HEADERS} DESTINATION include/caliper/util)
-+install(FILES ${CALIPER_COMMON_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/caliper)
-+install(FILES ${CALIPER_UTIL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/caliper/util)
-
- install(TARGETS caliper-common
- EXPORT caliper
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/src/common/csv/CMakeLists.txt b/src/common/csv/CMakeLists.txt
-index ef4357a..1f6f506 100644
---- a/src/common/csv/CMakeLists.txt
-+++ b/src/common/csv/CMakeLists.txt
-@@ -13,5 +13,5 @@ if (${BUILD_SHARED_LIBS})
- set_property(TARGET caliper-csv PROPERTY POSITION_INDEPENDENT_CODE TRUE)
- endif()
-
--install(FILES ${CALIPER_CSV_HEADERS} DESTINATION include/caliper/csv)
-+install(FILES ${CALIPER_CSV_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/caliper/csv)
-
-diff --git a/src/fortran/CMakeLists.txt b/src/fortran/CMakeLists.txt
-index c81323c..9c57f47 100644
---- a/src/fortran/CMakeLists.txt
-+++ b/src/fortran/CMakeLists.txt
-@@ -6,4 +6,4 @@ set_target_properties(testf03 PROPERTIES LINKER_LANGUAGE CXX)
-
- target_link_libraries(testf03 caliper)
-
--install(FILES caliper.f90 DESTINATION share/fortran)
-+install(FILES caliper.f90 DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/fortran)
-diff --git a/src/reader/CMakeLists.txt b/src/reader/CMakeLists.txt
-index 5d23d24..3ca79b9 100644
---- a/src/reader/CMakeLists.txt
-+++ b/src/reader/CMakeLists.txt
-@@ -21,9 +21,9 @@ add_library(caliper-reader ${CALIPER_READER_SOURCES})
-
- target_link_libraries(caliper-reader caliper-common)
-
--install(FILES ${CALIPER_READER_HEADERS} DESTINATION include/caliper)
-+install(FILES ${CALIPER_READER_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/caliper)
-
- install(TARGETS caliper-reader
- EXPORT caliper
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/src/services/callpath/CMakeLists.txt b/src/services/callpath/CMakeLists.txt
-index dd47570..1f49f36 100644
---- a/src/services/callpath/CMakeLists.txt
-+++ b/src/services/callpath/CMakeLists.txt
-@@ -3,7 +3,7 @@ include_directories(${LIBUNWIND_INCLUDE_DIR})
- set(CALIPER_CALLPATH_SOURCES
- Callpath.cpp)
-
--# install(TARGETS caliper-callpath DESTINATION lib)
-+# install(TARGETS caliper-callpath DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- add_library(caliper-callpath OBJECT ${CALIPER_CALLPATH_SOURCES})
-
-diff --git a/src/services/mpiwrap/CMakeLists.txt b/src/services/mpiwrap/CMakeLists.txt
-index 53a8377..c381347 100644
---- a/src/services/mpiwrap/CMakeLists.txt
-+++ b/src/services/mpiwrap/CMakeLists.txt
-@@ -27,6 +27,6 @@ target_link_libraries(caliper-mpiwrap ${MPI_C_LIBRARIES})
-
- install(TARGETS caliper-mpiwrap
- EXPORT caliper
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
- add_caliper_service("mpi CALIPER_HAVE_MPI")
-diff --git a/src/services/ompt/CMakeLists.txt b/src/services/ompt/CMakeLists.txt
-index f0e4085..8563eb2 100644
---- a/src/services/ompt/CMakeLists.txt
-+++ b/src/services/ompt/CMakeLists.txt
-@@ -8,7 +8,7 @@ set(CALIPER_OMPT_SOURCES
- # target_link_libraries(caliper-ompt caliper-common)
- # target_link_libraries(caliper-ompt caliper)
-
--# install(TARGETS caliper-ompt DESTINATION lib)
-+# install(TARGETS caliper-ompt DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- add_library(caliper-ompt OBJECT ${CALIPER_OMPT_SOURCES})
-
-diff --git a/src/services/papi/CMakeLists.txt b/src/services/papi/CMakeLists.txt
-index 70dab41..fa971cc 100644
---- a/src/services/papi/CMakeLists.txt
-+++ b/src/services/papi/CMakeLists.txt
-@@ -9,7 +9,7 @@ set(CALIPER_PAPI_SOURCES
- # target_link_libraries(caliper-papi caliper)
- # target_link_libraries(caliper-papi ${PAPI_LIBRARIES})
-
--# install(TARGETS caliper-papi DESTINATION lib)
-+# install(TARGETS caliper-papi DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- add_library(caliper-papi OBJECT ${CALIPER_PAPI_SOURCES})
-
-diff --git a/src/services/recorder/CMakeLists.txt b/src/services/recorder/CMakeLists.txt
-index c0543d4..c5c6ea8 100644
---- a/src/services/recorder/CMakeLists.txt
-+++ b/src/services/recorder/CMakeLists.txt
-@@ -7,7 +7,7 @@ set(CALIPER_RECORDER_SOURCES
- # target_link_libraries(caliper-recorder caliper-common)
- # target_link_libraries(caliper-recorder caliper)
-
--# install(TARGETS caliper-recorder DESTINATION lib)
-+# install(TARGETS caliper-recorder DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- add_service_sources(${CALIPER_RECORDER_SOURCES})
- add_caliper_service("recorder")
-diff --git a/src/tools/cali-graph/CMakeLists.txt b/src/tools/cali-graph/CMakeLists.txt
-index 2b90f51..e3aa7c1 100644
---- a/src/tools/cali-graph/CMakeLists.txt
-+++ b/src/tools/cali-graph/CMakeLists.txt
-@@ -13,4 +13,4 @@ target_link_libraries(cali-graph caliper-common)
- target_link_libraries(cali-graph caliper-tools-util)
- target_link_libraries(cali-graph caliper)
-
--install(TARGETS cali-graph DESTINATION bin)
-+install(TARGETS cali-graph DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/src/tools/cali-query/CMakeLists.txt b/src/tools/cali-query/CMakeLists.txt
-index e013e96..72202be 100644
---- a/src/tools/cali-query/CMakeLists.txt
-+++ b/src/tools/cali-query/CMakeLists.txt
-@@ -13,4 +13,4 @@ target_link_libraries(cali-query caliper-common)
- target_link_libraries(cali-query caliper-tools-util)
- target_link_libraries(cali-query caliper)
-
--install(TARGETS cali-query DESTINATION bin)
-+install(TARGETS cali-query DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/src/tools/cali-stat/CMakeLists.txt b/src/tools/cali-stat/CMakeLists.txt
-index 35395d9..d337abb 100644
---- a/src/tools/cali-stat/CMakeLists.txt
-+++ b/src/tools/cali-stat/CMakeLists.txt
-@@ -13,4 +13,4 @@ target_link_libraries(cali-stat caliper-common)
- target_link_libraries(cali-stat caliper-tools-util)
- target_link_libraries(cali-stat caliper)
-
--install(TARGETS cali-stat DESTINATION bin)
-+install(TARGETS cali-stat DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/src/tools/util/CMakeLists.txt b/src/tools/util/CMakeLists.txt
-index be4e393..652194c 100644
---- a/src/tools/util/CMakeLists.txt
-+++ b/src/tools/util/CMakeLists.txt
-@@ -5,9 +5,9 @@ set(CALIPER_TOOLS_UTIL_HEADERS
-
- add_library(caliper-tools-util ${CALIPER_TOOLS_UTIL_SOURCES})
-
--install(FILES ${CALIPER_TOOLS_UTIL_HEADERS} DESTINATION include/caliper)
-+install(FILES ${CALIPER_TOOLS_UTIL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/caliper)
-
- install(TARGETS caliper-tools-util
- EXPORT caliper
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
---
-2.7.3
-
diff --git a/dev-libs/caliper/files/caliper-1.5.0-python2.patch b/dev-libs/caliper/files/caliper-1.5.0-python2.patch
deleted file mode 100644
index 0fabbe213d92..000000000000
--- a/dev-libs/caliper/files/caliper-1.5.0-python2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 916e2cc2d326575894c651947035afe06a6d936f Mon Sep 17 00:00:00 2001
-From: Christoph Junghans <junghans@lanl.gov>
-Date: Wed, 30 Nov 2016 10:53:58 -0700
-Subject: [PATCH] wrap.py: is not python3 compliant
-
----
- src/services/mpiwrap/wrap.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/services/mpiwrap/wrap.py b/src/services/mpiwrap/wrap.py
-index 7a3122f..86bb2f3 100755
---- a/src/services/mpiwrap/wrap.py
-+++ b/src/services/mpiwrap/wrap.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python2
- #################################################################################################
- # Copyright (c) 2010, Lawrence Livermore National Security, LLC.
- # Produced at the Lawrence Livermore National Laboratory
---
-2.7.3
-
diff --git a/dev-libs/caliper/metadata.xml b/dev-libs/caliper/metadata.xml
deleted file mode 100644
index c7fb0232d8fb..000000000000
--- a/dev-libs/caliper/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
- <upstream>
- <remote-id type="github">LLNL/Caliper</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/capnproto/Manifest b/dev-libs/capnproto/Manifest
index 2ffe04a7ab0b..84e5ab808603 100644
--- a/dev-libs/capnproto/Manifest
+++ b/dev-libs/capnproto/Manifest
@@ -1,3 +1,3 @@
-DIST capnproto-0.6.0.tar.gz 1199198 BLAKE2B 90db934f8fd2affeef8908a9f8aa955892c8d25d556a76003f7d2e8e5634ea76e3759ace94b3bff42235e6da666e97657f69327ecdf620067e13ad2dde2a8105 SHA512 4882b2e5d1544517348e436600705d18b41fc82e6fc141a934ad960556ed73781c974d4a45f8c949a297edd5c95fb156fd75f1d7179666dc7ab881f98ac9e69d
-DIST capnproto-0.6.1.tar.gz 1720489 BLAKE2B 5fad902bb4221fa872bd52311442a4073c4e58e3d21726f24e06430246f1d757bc4d4e7e122df0a7cd9401ff2c47cb48d1791bb0b7ceda8889a819ac52edc02b SHA512 baea7f867bb789d3bf8cdc9c1a4a0d31cdce3beb7ae1fd9464690a006a86eca841aaac5d86599c2a84a39d62c4d01213b29789c2b7385ad6636fef95fc867dd6
-DIST capnproto-0.7.0.tar.gz 1983172 BLAKE2B d88b5f8e3278f8e3aceccdc459001b99328b0440812352dcb6b54bd11e18aa7fee6d337252841c86e9c3eb1afcdbd99884c965156d6cec37e3c0996c9ec1241f SHA512 a3ea278ded6a866759c0517d16b99bd38ffea1c163ce63a3604b752d8bdaafbc38a600de94afe12db35e7f7f06e29cc94c911dc2e0ecec6fe1185452df2a2bd3
+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.6.0.ebuild b/dev-libs/capnproto/capnproto-0.6.0.ebuild
deleted file mode 100644
index 2a6230fa3b94..000000000000
--- a/dev-libs/capnproto/capnproto-0.6.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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/060"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="static-libs test"
-
-RDEPEND=""
-DEPEND="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
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete
-}
diff --git a/dev-libs/capnproto/capnproto-0.6.1.ebuild b/dev-libs/capnproto/capnproto-0.6.1.ebuild
deleted file mode 100644
index 358e6ae7a0c2..000000000000
--- a/dev-libs/capnproto/capnproto-0.6.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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/061"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="static-libs test"
-
-RDEPEND=""
-DEPEND="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
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete
-}
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 59b088483836..000000000000
--- a/dev-libs/capnproto/capnproto-0.7.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 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"
-
-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.9.1.ebuild b/dev-libs/capnproto/capnproto-0.9.1.ebuild
new file mode 100644
index 000000000000..9f31c01fca12
--- /dev/null
+++ b/dev-libs/capnproto/capnproto-0.9.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 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 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 )
+"
+
+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/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/capnproto/metadata.xml b/dev-libs/capnproto/metadata.xml
index 1b4b67541d16..519809a4c7e9 100644
--- a/dev-libs/capnproto/metadata.xml
+++ b/dev-libs/capnproto/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/dev-libs/capstone/Manifest b/dev-libs/capstone/Manifest
index 66b9b56b6b42..3c41eeac7749 100644
--- a/dev-libs/capstone/Manifest
+++ b/dev-libs/capstone/Manifest
@@ -1,3 +1,2 @@
-DIST capstone-3.0.5_rc2.tar.gz 2829338 BLAKE2B dd35fc6c31ec008f78840410ea0d20de56ea8f01c3af1d28488beaceee7fa06ce03c8cd0f56d834eb738d23f528d240693586122b9c1e353365f7348fb6f8362 SHA512 31bafdb0b3183d0c054a4244cc135db9a3c3dc5cb2e2af706bfede0d53cca8cba81d74b74ef9a4adbfd6c79cc408864dd80b8203791e17bd6c98bb69ea4f6894
-DIST capstone-4.0.1.tar.gz 3434276 BLAKE2B 585e0ee19b76d96116c67b021bbe19fd01d8db600b565094ff71a01d8a87b1123a8c5e2f944f1551c411565d5a25dfbfbb3138ca220b1281044a31004002399e SHA512 43c52024065b41b45eff9423341db3f3d5163fa7aa01b360faa30437786740c8f2c34c36faa04dced5308e09d8bd78df3bad0ab9c06f98612169edb176f83c36
-DIST capstone-4.0.tar.gz 3411532 BLAKE2B 3e60a946e81f6d6ea88c314ad066e1855e2401cd9e8e61a67d48071b0fe4b705b2276b0d2b52d0979f472895a69cbe7609f6a2c60b79be668730f41ea98bf92e SHA512 5a10c67e88b246ad905364c62c56b4741df242c22f1b62bdea171e4d1d43e484f42f30b33e17324be6cff4c6fb10365528a9c3f4b2a5339ad24b0564fdd40bdb
+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-3.0.5_rc2-r1.ebuild b/dev-libs/capstone/capstone-3.0.5_rc2-r1.ebuild
deleted file mode 100644
index a371dec0b3b5..000000000000
--- a/dev-libs/capstone/capstone-3.0.5_rc2-r1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit 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"
-
-LICENSE="BSD"
-SLOT="0/3" # libcapstone.so.3
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-IUSE="python"
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-CVE-2017-6952.patch
- "${FILESDIR}"/${P}-FLAGS.patch
-)
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-wrap_python() {
- if use python; then
- pushd bindings/python >/dev/null || die
- distutils-r1_${1} "$@"
- popd >/dev/null
- fi
-}
-
-src_prepare() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_configure() {
- {
- cat <<-EOF
- # Gentoo overrides:
- # verbose build
- V = 1
- # toolchain
- AR = $(tc-getAR)
- CC = $(tc-getCC)
- RANLIB = $(tc-getRANLIB)
- # toolchain flags
- CFLAGS = ${CFLAGS}
- LDFLAGS = ${LDFLAGS}
- # libs
- LIBDIRARCH = $(get_libdir)
- EOF
- } >> config.mk || die
-
- wrap_python ${FUNCNAME}
-}
-
-src_compile() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_test() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_install() {
- default
-
- wrap_python ${FUNCNAME}
-}
diff --git a/dev-libs/capstone/capstone-3.0.5_rc2.ebuild b/dev-libs/capstone/capstone-3.0.5_rc2.ebuild
deleted file mode 100644
index 80fb03207d64..000000000000
--- a/dev-libs/capstone/capstone-3.0.5_rc2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit 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"
-
-LICENSE="BSD"
-SLOT="0/3" # libcapstone.so.3
-KEYWORDS="~amd64 ~arm ~x86"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-CVE-2017-6952.patch
- "${FILESDIR}"/${P}-FLAGS.patch
-)
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-src_configure() {
- {
- cat <<-EOF
- # Gentoo overrides:
- # verbose build
- V = 1
- # toolchain
- AR = $(tc-getAR)
- CC = $(tc-getCC)
- RANLIB = $(tc-getRANLIB)
- # toolchain flags
- CFLAGS = ${CFLAGS}
- LDFLAGS = ${LDFLAGS}
- # libs
- LIBDIRARCH = $(get_libdir)
- EOF
- } >> config.mk || die
-
-}
diff --git a/dev-libs/capstone/capstone-4.0.1.ebuild b/dev-libs/capstone/capstone-4.0.1.ebuild
deleted file mode 100644
index 10fabceeab04..000000000000
--- a/dev-libs/capstone/capstone-4.0.1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit 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"
-
-LICENSE="BSD"
-SLOT="0/4" # libcapstone.so.4
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-IUSE="python"
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.0-FLAGS.patch
- "${FILESDIR}"/${PN}-4.0-no-fuzz-tests.patch
-)
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-wrap_python() {
- if use python; then
- pushd bindings/python >/dev/null || die
- distutils-r1_${1} "$@"
- popd >/dev/null
- fi
-}
-
-src_prepare() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_configure() {
- {
- cat <<-EOF
- # Gentoo overrides:
- # verbose build
- V = 1
- # toolchain
- AR = $(tc-getAR)
- CC = $(tc-getCC)
- RANLIB = $(tc-getRANLIB)
- # toolchain flags
- CFLAGS = ${CFLAGS}
- LDFLAGS = ${LDFLAGS}
- # libs
- LIBDIRARCH = $(get_libdir)
- EOF
- } >> config.mk || die
-
- wrap_python ${FUNCNAME}
-}
-
-src_compile() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_test() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_install() {
- default
-
- wrap_python ${FUNCNAME}
-}
diff --git a/dev-libs/capstone/capstone-4.0.2-r2.ebuild b/dev-libs/capstone/capstone-4.0.2-r2.ebuild
new file mode 100644
index 000000000000..579ef58d9929
--- /dev/null
+++ b/dev-libs/capstone/capstone-4.0.2-r2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake distutils-r1 toolchain-funcs
+
+DESCRIPTION="disassembly/disassembler framework + bindings"
+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
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+
+# A few disassembly outputs need an update
+RESTRICT="test"
+
+IUSE="python static-libs test"
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+#TODO: needs upstream fixes
+#distutils_enable_tests setup.py
+
+S=${WORKDIR}/${P/_rc/-rc}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-libsuffix.patch
+)
+
+wrap_python() {
+ local phase=$1
+ shift
+
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ echo distutils-r1_${phase} "$@"
+ pwd
+ distutils-r1_${phase} "$@"
+ popd >/dev/null
+ fi
+}
+
+src_prepare() {
+ tc-export RANLIB
+ cmake_src_prepare
+
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCAPSTONE_BUILD_TESTS="$(usex test)"
+ -DCAPSTONE_BUILD_STATIC="$(usex static-libs)"
+ )
+ 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}
+}
diff --git a/dev-libs/capstone/capstone-4.0.ebuild b/dev-libs/capstone/capstone-4.0.ebuild
deleted file mode 100644
index 2d3c1f9c4544..000000000000
--- a/dev-libs/capstone/capstone-4.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit 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"
-
-LICENSE="BSD"
-SLOT="0/4" # libcapstone.so.4
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-IUSE="python"
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-FLAGS.patch
- "${FILESDIR}"/${P}-no-fuzz-tests.patch
- "${FILESDIR}"/${P}-double-DESTDIR.patch
-)
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-wrap_python() {
- if use python; then
- pushd bindings/python >/dev/null || die
- distutils-r1_${1} "$@"
- popd >/dev/null
- fi
-}
-
-src_prepare() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_configure() {
- {
- cat <<-EOF
- # Gentoo overrides:
- # verbose build
- V = 1
- # toolchain
- AR = $(tc-getAR)
- CC = $(tc-getCC)
- RANLIB = $(tc-getRANLIB)
- # toolchain flags
- CFLAGS = ${CFLAGS}
- LDFLAGS = ${LDFLAGS}
- # libs
- LIBDIRARCH = $(get_libdir)
- EOF
- } >> config.mk || die
-
- wrap_python ${FUNCNAME}
-}
-
-src_compile() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_test() {
- default
-
- wrap_python ${FUNCNAME}
-}
-
-src_install() {
- default
-
- wrap_python ${FUNCNAME}
-}
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-3.0.5_rc2-CVE-2017-6952.patch b/dev-libs/capstone/files/capstone-3.0.5_rc2-CVE-2017-6952.patch
deleted file mode 100644
index ba16126f7411..000000000000
--- a/dev-libs/capstone/files/capstone-3.0.5_rc2-CVE-2017-6952.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-commit 6fe86eef621b9849f51a5e1e5d73258a93440403
-Author: Quang Nguyễn <quangnh89@users.noreply.github.com>
-Date: Mon Mar 13 22:34:48 2017 +0700
-
- provide a validity check to prevent against Integer overflow conditions (#870)
-
- * provide a validity check to prevent against Integer overflow conditions
-
- * fix some style issues.
-
-diff --git a/windows/winkernel_mm.c b/windows/winkernel_mm.c
-index c127da3a..ecdc1ca2 100644
---- a/windows/winkernel_mm.c
-+++ b/windows/winkernel_mm.c
-@@ -3,6 +3,7 @@
-
- #include "winkernel_mm.h"
- #include <ntddk.h>
-+#include <Ntintsafe.h>
-
- // A pool tag for memory allocation
- static const ULONG CS_WINKERNEL_POOL_TAG = 'kwsC';
-@@ -33,8 +34,16 @@ void * CAPSTONE_API cs_winkernel_malloc(size_t size)
-
- // FP; a use of NonPagedPool is required for Windows 7 support
- #pragma prefast(suppress : 30030) // Allocating executable POOL_TYPE memory
-- CS_WINKERNEL_MEMBLOCK *block = (CS_WINKERNEL_MEMBLOCK *)ExAllocatePoolWithTag(
-- NonPagedPool, size + sizeof(CS_WINKERNEL_MEMBLOCK), CS_WINKERNEL_POOL_TAG);
-+ size_t number_of_bytes = 0;
-+ CS_WINKERNEL_MEMBLOCK *block = NULL;
-+ // A specially crafted size value can trigger the overflow.
-+ // If the sum in a value that overflows or underflows the capacity of the type,
-+ // the function returns NULL.
-+ if (!NT_SUCCESS(RtlSizeTAdd(size, sizeof(CS_WINKERNEL_MEMBLOCK), &number_of_bytes))) {
-+ return NULL;
-+ }
-+ block = (CS_WINKERNEL_MEMBLOCK *)ExAllocatePoolWithTag(
-+ NonPagedPool, number_of_bytes, CS_WINKERNEL_POOL_TAG);
- if (!block) {
- return NULL;
- }
diff --git a/dev-libs/capstone/files/capstone-3.0.5_rc2-FLAGS.patch b/dev-libs/capstone/files/capstone-3.0.5_rc2-FLAGS.patch
deleted file mode 100644
index 4be2ed4ba0e6..000000000000
--- a/dev-libs/capstone/files/capstone-3.0.5_rc2-FLAGS.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Add support for user overridden CFLAGS and LDFLAGS
-diff --git a/cstool/Makefile b/cstool/Makefile
-index 450ac1b..3cf2a81 100644
---- a/cstool/Makefile
-+++ b/cstool/Makefile
-@@ -3,2 +3,3 @@
- include ../functions.mk
-+include ../config.mk
-
-@@ -8,4 +9,4 @@ LIBNAME = capstone
-
--CFLAGS = -I../include
--LDFLAGS = -O3 -Wall -L.. -l$(LIBNAME)
-+CFLAGS += -I../include
-+LDFLAGS += -Wall -L.. -l$(LIBNAME)
-
diff --git a/dev-libs/capstone/files/capstone-4.0-FLAGS.patch b/dev-libs/capstone/files/capstone-4.0-FLAGS.patch
deleted file mode 100644
index 66e855c0c34d..000000000000
--- a/dev-libs/capstone/files/capstone-4.0-FLAGS.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Drop -O3 and allow user to specify their optimizations.
-
---- a/cstool/Makefile
-+++ b/cstool/Makefile
-@@ -1,13 +1,14 @@
- # Makefile for Cstool of Capstone Disassembly Engine
-
- include ../functions.mk
-+include ../config.mk
-
- .PHONY: clean all
-
- LIBNAME = capstone
-
- CFLAGS += -I../include -I.
--LDFLAGS += -O3 -Wall -L.. -l$(LIBNAME)
-+LDFLAGS += -Wall -L.. -l$(LIBNAME)
-
- TARGET = cstool
- SOURCES := $(wildcard *.c)
diff --git a/dev-libs/capstone/files/capstone-4.0-double-DESTDIR.patch b/dev-libs/capstone/files/capstone-4.0-double-DESTDIR.patch
deleted file mode 100644
index 46aca725e40c..000000000000
--- a/dev-libs/capstone/files/capstone-4.0-double-DESTDIR.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-https://github.com/aquynh/capstone/issues/1311
-
-Avoid double DESTDIR in install.
---- a/Makefile
-+++ b/Makefile
-@@ -75,4 +75,4 @@ LIBDIRARCH ?= lib
- #LIBDIRARCH ?= lib64
--LIBDIR = $(DESTDIR)$(PREFIX)/$(LIBDIRARCH)
--BINDIR = $(DESTDIR)$(PREFIX)/bin
-+LIBDIR = $(PREFIX)/$(LIBDIRARCH)
-+BINDIR = $(PREFIX)/bin
-
diff --git a/dev-libs/capstone/files/capstone-4.0-no-fuzz-tests.patch b/dev-libs/capstone/files/capstone-4.0-no-fuzz-tests.patch
deleted file mode 100644
index ae412e9b233c..000000000000
--- a/dev-libs/capstone/files/capstone-4.0-no-fuzz-tests.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-https://github.com/aquynh/capstone/issues/1310
-
-fuzz tests are missing
---- a/Makefile
-+++ b/Makefile
-@@ -463,3 +463,3 @@ TESTS += test_systemz.static test_x86.static test_xcore.static test_m680x.static
- TESTS += test_skipdata test_skipdata.static test_iter.static test_evm.static
--check: $(TESTS) fuzztest fuzzallcorp
-+check: $(TESTS) fuzztest # fuzzallcorp
- test_%:
diff --git a/dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch b/dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch
new file mode 100644
index 000000000000..056140be13df
--- /dev/null
+++ b/dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch
@@ -0,0 +1,12 @@
+cmake does not provide 'LIBSUFFIX' variables, but provides 'LIB_SUFFIX'.
+https://bugs.gentoo.org/730722
+--- a/capstone.pc.in
++++ b/capstone.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${prefix}/lib@LIBSUFFIX@
++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include/capstone
+
+ Name: capstone
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 506ec45bd2c7..6194c61cc422 100644
--- a/dev-libs/capstone/metadata.xml
+++ b/dev-libs/capstone/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
+ <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..a3ce05381dcf
--- /dev/null
+++ b/dev-libs/castxml/Manifest
@@ -0,0 +1,3 @@
+DIST CastXML-0.6.5.tar.gz 121667 BLAKE2B 820a96dfb9f2763c00f22028ff4c232c15bf587f376aa11effd59d8d1014581d8dff4e8a01a6420a8e8e720e72f072da4ed5d0600171718d42e352d0439371eb SHA512 1f6759242fd6097fc97df34b1689ae6660e42d64717be90fa2d2f251847a465e26e17d6ff5318d82c47981005c826dad0fe65b3536b13d9192b9bccf61097f10
+DIST CastXML-0.6.6.tar.gz 122349 BLAKE2B ab2d928386e3128cd05fcc60c02799508e671883cffd33f952eb81167672e4c76057be21d3ba6b3f327051b015894914c83ad66b5ce87e43fa1b251dea5c5371 SHA512 6ba62b91193eb3458cbd0a0838a626528f66972661cc33c6ef87b760f8baa985afe998a467d07fd7d28c1363f5ba74300f5d49c182830d217a4e051a97a4a913
+DIST castxml-0.5.1.tar.gz 106918 BLAKE2B 9268f149ea5a511d24cbbd0c7faec5bff5eade5a511961d3bb120409691bf2b8aca7f2978e048a759419c097d9d97219a61a122bd37d4f835c1d86827bfb07e3 SHA512 1dff8f5cc6932a159e1132c0b283a28414ea6007c942cac4ae15a1c31789f5bd29efd65a6b5b63d7bc48b3d68c3550804f31bee2658e51082269fc5ecc15590e
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.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/castxml-0.6.6.ebuild b/dev-libs/castxml/castxml-0.6.6.ebuild
new file mode 100644
index 000000000000..894410252a94
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.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
+
+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 fc6e4d0e6ef9..3ad50fa1d50a 100644
--- a/dev-libs/cdk/Manifest
+++ b/dev-libs/cdk/Manifest
@@ -1 +1,4 @@
-DIST cdk-5.0-20160131.tgz 516298 BLAKE2B 5e899afea1f034a48e46fef073303d0069e14310194342094392da517fa47793a1ac3ac33774369842daa1966dc9a4ad7404046874bc9cae24ceaa98a3dd7c47 SHA512 f8f7fc5fec3c040cdbfc2a0d886e9d9d9d231e56ed69adae0b91e03243b5edd550c5435f973a93d4cf7ab723bd27b55712af75162c4bfd3ae28b3c16cd68f755
+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.ebuild b/dev-libs/cdk/cdk-5.0.20160131.ebuild
deleted file mode 100644
index 4a42b99812b4..000000000000
--- a/dev-libs/cdk/cdk-5.0.20160131.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 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"
-SRC_URI="ftp://invisible-island.net/cdk/${MY_P}.tgz"
-
-LICENSE="BSD"
-SLOT="0/6" # subslot = soname version
-KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 ~s390 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="examples static-libs unicode"
-
-DEPEND=">=sys-libs/ncurses-5.2:0=[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.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 6f49eba8f496..f683d1054e8f 100644
--- a/dev-libs/cdk/metadata.xml
+++ b/dev-libs/cdk/metadata.xml
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- 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 2c3044a3a9db..c9a1df3ecd14 100644
--- a/dev-libs/cereal/Manifest
+++ b/dev-libs/cereal/Manifest
@@ -1,2 +1 @@
-DIST cereal-1.2.1.tar.gz 301994 BLAKE2B 0fd5649b5e9c12615a0ca68939dd48544c749483ac114c35e3e7238de0ede624b12ded8e0f529df186fbdfd1069bf35821504b04cc1a40d87dbaf7a8ff82b15f SHA512 f0050f27433a4b544e7785aa94fc7b14a57eed6d542e25d3d0fda4d27cf55ea55e796be2138bf80809c96c392436513fe42764b3a456938395bf7f7177dd1c73
-DIST cereal-1.2.2.tar.gz 335759 BLAKE2B 6804b9aabb235a546758c70554502208f1b7b6bcab9b602fa075123335331f0522191a83027fdbac4ee947881c6866f24f48223a00b9490fca5ca961f3e4b260 SHA512 9567b2e19add9446b24f8afd122eea09ba6ecd1a090335cf0ab31fdc8f64c6c97daa3d9eaf0801c36a770737488e0eebf81d96d7b7a65deed30da6130f2d47eb
+DIST cereal-1.3.2.tar.gz 385903 BLAKE2B a52e035f31766846dbea86ecb0071d73450bc481967221268717d46112eab1c6618d9cda627610aa1bf35308940d9408c37bd4ebb73c9ee9358334542d8ed810 SHA512 98d306d6292789129675f1c5c5aedcb90cfcc1029c4482893a8f9b23f3c9755e5ed4762d7a528f215345cae6392e87cd8d89467115b6f031b41c8673d6b4b109
diff --git a/dev-libs/cereal/cereal-1.2.1.ebuild b/dev-libs/cereal/cereal-1.2.1.ebuild
deleted file mode 100644
index 038a8c4469b5..000000000000
--- a/dev-libs/cereal/cereal-1.2.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="header-only C++11 serialization library"
-HOMEPAGE="http://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="test"
-
-DEPEND="test? ( dev-libs/boost )"
-
-src_prepare() {
- sed -i 's/-Werror//' CMakeLists.txt || die
- default
-}
-
-src_configure() {
- mycmakeargs=(
- -DJUST_INSTALL_CEREAL=$(usex !test)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/cereal/cereal-1.2.2.ebuild b/dev-libs/cereal/cereal-1.2.2.ebuild
deleted file mode 100644
index a873eb5bdfc5..000000000000
--- a/dev-libs/cereal/cereal-1.2.2.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
-
-inherit cmake-utils
-
-DESCRIPTION="header-only C++11 serialization library"
-HOMEPAGE="http://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="test"
-
-DEPEND="test? ( dev-libs/boost )"
-
-src_configure() {
- mycmakeargs=(
- -DJUST_INSTALL_CEREAL=$(usex !test)
- -DWITH_WERROR=OFF
- )
- cmake-utils_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/cereal/metadata.xml b/dev-libs/cereal/metadata.xml
index 121a5e6a9585..2a1a09864947 100644
--- a/dev-libs/cereal/metadata.xml
+++ b/dev-libs/cereal/metadata.xml
@@ -1,11 +1,12 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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 type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
</maintainer>
<upstream>
+ <remote-id type="cpe">cpe:/a:usc:cereal</remote-id>
<remote-id type="github">USCiLab/cereal</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/cgicc/Manifest b/dev-libs/cgicc/Manifest
deleted file mode 100644
index 248922171bc3..000000000000
--- a/dev-libs/cgicc/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST cgicc-3.2.16.tar.gz 1409037 BLAKE2B 414f0f9e1cfe8cac0bc55ed34bdd6d745595e2fd55329923fa47d269bb7abb3f1d2761ff9810c96930657c563f5f8aa5285c58943fca072273af3088205629ed SHA512 3334777204f3de57e80f759503db08076fe8e7a12cf779bb50345e7d06c6be4cc612b473bd74eded5debd79684b49c5bb79bcfff1b631a815c7fe9d14960d537
-DIST cgicc-3.2.9.tar.gz 2087796 BLAKE2B ed8049397edb1a232c4636e27bd6e37153df853e08b9a4c9cc34a0f7f196cd1fddb32f968a6bd63bf669e482781f1706ae61c3b5c1e07bc0b5a71a24616f4ba6 SHA512 bd02750a0ad81a64c017e8ccf6cee0c6801506bdc00ea4b0a5e4ea28e35e453122e3e25b3578cb1cb7b22011d5147b99ed79bf7c4702d4c7ab404096aabca623
diff --git a/dev-libs/cgicc/cgicc-3.2.16.ebuild b/dev-libs/cgicc/cgicc-3.2.16.ebuild
deleted file mode 100644
index 55dbede7198b..000000000000
--- a/dev-libs/cgicc/cgicc-3.2.16.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A C++ class library for writing CGI applications"
-HOMEPAGE="https://www.gnu.org/software/cgicc/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3 doc? ( FDL-1.2 )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc examples static-libs"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/3.2.10-fix-pkgconfig.patch"
- "${FILESDIR}/${PN}-3.2.16-fix-doc-building.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable examples demos) \
- $(use_enable doc) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-
- if use examples; then
- docinto examples
- dodoc {contrib,demo}/{*.{cpp,h},*.cgi,README}
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-libs/cgicc/cgicc-3.2.9.ebuild b/dev-libs/cgicc/cgicc-3.2.9.ebuild
deleted file mode 100644
index 393b55599081..000000000000
--- a/dev-libs/cgicc/cgicc-3.2.9.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="A C++ class library for writing CGI applications"
-HOMEPAGE="https://www.gnu.org/software/cgicc/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-3 doc? ( FDL-1.2 )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-src_configure() {
- if ! use doc; then
- sed -i \
- -e 's/^\(SUBDIRS = .*\) doc \(.*\)/\1 \2/' \
- Makefile.in || die
- fi
-
- econf \
- --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
- --disable-dependency-tracking \
- --disable-demos
-}
-
-src_install() {
- default
-
- dodoc AUTHORS BUGS ChangeLog NEWS README* THANKS
-
- if use doc; then
- insinto /usr/share/doc/${PF}/contrib
- doins contrib/*.{cpp,h} contrib/README
-
- insinto /usr/share/doc/${PF}/demo
- doins -r demo/*.{cpp,h} demo/images demo/README
- fi
-}
diff --git a/dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch b/dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch
deleted file mode 100644
index af1c069334e9..000000000000
--- a/dev-libs/cgicc/files/3.2.10-fix-pkgconfig.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/cgicc.pc.in b/cgicc.pc.in
-index 2006be8..e42c9bf 100644
---- a/cgicc.pc.in
-+++ b/cgicc.pc.in
-@@ -7,5 +7,5 @@ Name: cgicc
- Description: GNU cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web.
- Requires:
- Version: @VERSION@
--Libs: -L${libdir}
--Cflags:
-\ No newline at end of file
-+Libs: -L${libdir} -lcgicc
-+Cflags: -I${includedir}
diff --git a/dev-libs/cgicc/files/cgicc-3.2.16-fix-doc-building.patch b/dev-libs/cgicc/files/cgicc-3.2.16-fix-doc-building.patch
deleted file mode 100644
index 4430ffafaf95..000000000000
--- a/dev-libs/cgicc/files/cgicc-3.2.16-fix-doc-building.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Fix build system properly, such that hacking the Makefile.in's
-is not required anymore.
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -77,6 +77,13 @@
- AC_MSG_RESULT($cgicc_demos)
- AM_CONDITIONAL(DEMOS, test "$cgicc_demos" = yes)
-
-+dnl enable/disable the docs, if specified
-+AC_ARG_ENABLE([doc],
-+ AS_HELP_STRING([--disable-doc], [Disable building documentation]))
-+AC_MSG_CHECKING([whether to build the cgicc docs])
-+AC_MSG_RESULT([$enable_doc])
-+AM_CONDITIONAL([DOCS], [test "x$enable_doc" != "xno"])
-+
- if test "$cgicc_demos" = yes; then
- AC_CONFIG_FILES(demo/Makefile)
- AC_CHECK_FUNCS([gethostbyaddr])
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -10,7 +10,11 @@
-
- ACLOCAL_AMFLAGS=
-
--SUBDIRS = cgicc doc support $(DEMO)
-+SUBDIRS = cgicc support $(DEMO)
-+
-+if DOCS
-+SUBDIRS += doc
-+endif
-
- CLEANFILES = *~
-
diff --git a/dev-libs/cgicc/metadata.xml b/dev-libs/cgicc/metadata.xml
deleted file mode 100644
index c65be4a96414..000000000000
--- a/dev-libs/cgicc/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- GNU cgicc is an ANSI C++ compliant class library that greatly
- simplifies the creation of CGI applications for the World Wide
- Web. cgicc performs the following functions:
-
- - Parses both GET and POST form data transparently
- - Provides string, integer, floating-point and single- and multiple-choice retrieval methods for form data
- - Provides methods for saving and restoring CGI environments to aid in application debugging
- - Provides full on-the-fly HTML 4.0 generation capabilities, with support for cookies
- - Supports HTTP file upload
- - Compatible with FastCGI
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/cgilib/cgilib-0.7-r1.ebuild b/dev-libs/cgilib/cgilib-0.7-r1.ebuild
index adb2e501783e..bb5ecf9baa14 100644
--- a/dev-libs/cgilib/cgilib-0.7-r1.ebuild
+++ b/dev-libs/cgilib/cgilib-0.7-r1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="A simple and lightweight interface to the CGI for C and C++ programs"
-HOMEPAGE="http://www.infodrom.org/projects/cgilib/"
-SRC_URI="${HOMEPAGE}download/${P}.tar.gz"
+HOMEPAGE="https://www.infodrom.org/projects/cgilib/"
+SRC_URI="https://www.infodrom.org/projects/cgilib/download/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
IUSE="static-libs"
DOCS=( AUTHORS ChangeLog README cookies.txt )
diff --git a/dev-libs/cgilib/metadata.xml b/dev-libs/cgilib/metadata.xml
index 2c2a7923cfc8..d5af4bcfaf13 100644
--- a/dev-libs/cgilib/metadata.xml
+++ b/dev-libs/cgilib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>netmon@gentoo.org</email>
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/Manifest b/dev-libs/cgreen/Manifest
new file mode 100644
index 000000000000..1ecdc131f83e
--- /dev/null
+++ b/dev-libs/cgreen/Manifest
@@ -0,0 +1 @@
+DIST cgreen-1.3.0.tar.gz 350959 BLAKE2B 467af04aae61745e1a78e872be9c174a0b21db7a470b48a3d96132f4bc97300b0d51fd4617e4588491a2f032b3ba82e665c7bd49be3d360a33dae0e1323716a5 SHA512 3734be08722900b4c6aaa1cd8a7a31ffd876c12742cf81266014158dad0919db46a457fbc742f3d7e9b1fdf75530ee872045962469eeeb6d1fc45fddf2b6d332
diff --git a/dev-libs/cgreen/cgreen-1.3.0.ebuild b/dev-libs/cgreen/cgreen-1.3.0.ebuild
new file mode 100644
index 000000000000..b4427d60ba65
--- /dev/null
+++ b/dev-libs/cgreen/cgreen-1.3.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Unit test and mocking framework for C and C++"
+HOMEPAGE="https://cgreen-devs.github.io/"
+SRC_URI="https://github.com/cgreen-devs/cgreen/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DEPEND="sys-libs/glibc:="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ #Patch to fix git directory detection see https://github.com/cgreen-devs/cgreen/issues/234
+ "${FILESDIR}/${P}-cmake-git.patch"
+)
diff --git a/dev-libs/cgreen/files/cgreen-1.3.0-cmake-git.patch b/dev-libs/cgreen/files/cgreen-1.3.0-cmake-git.patch
new file mode 100644
index 000000000000..283ada2aa70e
--- /dev/null
+++ b/dev-libs/cgreen/files/cgreen-1.3.0-cmake-git.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 350bb89..d496f5a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -62,7 +62,6 @@ execute_process(
+ OUTPUT_VARIABLE GITDIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+-get_filename_component(GITDIR "${GITDIR}" ABSOLUTE)
+
+ # config.h checks
+ include(ConfigureChecks.cmake)
+
diff --git a/dev-libs/cgreen/metadata.xml b/dev-libs/cgreen/metadata.xml
new file mode 100644
index 000000000000..57fde7f7698b
--- /dev/null
+++ b/dev-libs/cgreen/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>jonas.licht@gmail.com</email>
+ <name>Jonas Licht</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cgreen-devs/cgreen</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/check/Manifest b/dev-libs/check/Manifest
index 67762185f55e..4d4b3d818266 100644
--- a/dev-libs/check/Manifest
+++ b/dev-libs/check/Manifest
@@ -1,2 +1 @@
-DIST check-0.10.0.tar.gz 769119 BLAKE2B d5e256bef4aa010322844ce748e620ce884658d74b14e1ea5b0e1bbd4565ef7b0cb7b86d315a36f7a5e4d225e40f242ff9730790bd55fc036757b4296396d153 SHA512 82103a98382c41cf16f172ded66c0399d3da6eceb6728aab11120c028e8796f6d545a98dc4aa5f76ee68c0bfd1f842a4dd371f5d670c8ba84ce4209812bf1ac5
-DIST check-0.12.0-github.tar.gz 281127 BLAKE2B d7dc89c10022594a37e9a4bc6b9fe1e8f355af864a5012c292cc3f1152e9e3e9be01fa34b39e5168f65650e540f36dbc8195952908a871d1c111283429f2f538 SHA512 f7b6452b69f999a90e86a8582d980c0c1b74ba5629ee34455724463ba62bfe3501ad0415aa771170f5c638a7a253f123bf87cbef25aadc6569a7a3a4d10fce90
+DIST check-0.15.2.tar.gz 306136 BLAKE2B e93755b58ddfea7ecc013e5449806611baedb91b362e573d4e3b6f716feeb0012cceec80f7109e44b2808deb980300c4f7825919b97878b160a1bf884357bde3 SHA512 cf81ca63142f33779df2e3542e049b9034d30bc502a663a4379bbfe85c7ee8fd80ce382583e781651d99fe830895122dab5b6793f87425b571c3927f0ba3b60e
diff --git a/dev-libs/check/check-0.10.0-r1.ebuild b/dev-libs/check/check-0.10.0-r1.ebuild
deleted file mode 100644
index 338e7eeda110..000000000000
--- a/dev-libs/check/check-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_PRUNE_LIBTOOL_FILES="all"
-
-inherit autotools autotools-multilib
-
-DESCRIPTION="A unit test framework for C"
-HOMEPAGE="https://sourceforge.net/projects/check/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs subunit"
-
-RDEPEND="
- subunit? ( >=dev-python/subunit-0.0.10-r1[${MULTILIB_USEDEP}] )"
-
-DEPEND="
- ${RDEPEND}
- sys-apps/texinfo
- virtual/pkgconfig"
-
-pkg_setup() {
- # See multilib_src_test(), disable sleep()-based tests because they
- # just take a long time doing pretty much nothing.
- export CPPFLAGS="-DTIMEOUT_TESTS_ENABLED=0 ${CPPFLAGS}"
-}
-
-src_prepare() {
- sed -i -e '/^docdir =/d' {.,doc}/Makefile.am \
- || die 'failed to unset docdir in Makefile.am'
-
- # fix out-of-sourcedir build having inconsistent check.h files, for
- # example breaks USE=subunit.
- rm src/check.h || die 'failed to remove src/check.h'
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-dependency-tracking
- $(use_enable subunit)
- --docdir="${EPREFIX}/usr/share/doc/${PF}"
- )
- autotools-multilib_src_configure
-}
-
-multilib_src_test() {
- elog "-DTIMEOUT_TESTS_ENABLED=0 has been prepended to CPPFLAGS. To run the"
- elog "entire testsuite for dev-libs/check, ensure that"
- elog "-DTIMEOUT_TESTS_ENABLED=1 is in your CPPFLAGS."
- default_src_test
-}
-
-src_install() {
- autotools-multilib_src_install
- dodoc AUTHORS *ChangeLog* NEWS README THANKS TODO
-
- rm -f "${ED}/usr/share/doc/${PF}"/COPYING* || \
- die 'failed to remove COPYING files'
-}
diff --git a/dev-libs/check/check-0.12.0.ebuild b/dev-libs/check/check-0.12.0.ebuild
deleted file mode 100644
index 58717a22bd61..000000000000
--- a/dev-libs/check/check-0.12.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A unit test framework for C"
-HOMEPAGE="https://libcheck.github.io/check/"
-SRC_URI="https://github.com/lib${PN}/${PN}/archive/${PV}.tar.gz -> ${P}-github.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs subunit"
-
-RDEPEND="
- subunit? ( >=dev-python/subunit-0.0.10-r1[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- sys-apps/texinfo
- virtual/pkgconfig
-"
-
-PATCHES=(
- # Fix test failures due to varying floating point behavior across platforms
- # (#648920), patch from Fedora.
- "${FILESDIR}/${PN}-0.12.0-fp.patch"
-)
-
-pkg_setup() {
- # See multilib_src_test(), disable sleep()-based tests because they
- # just take a long time doing pretty much nothing.
- export CPPFLAGS="-DTIMEOUT_TESTS_ENABLED=0 ${CPPFLAGS}"
-}
-
-src_prepare() {
- default
-
- sed -i -e '/^docdir =/d' {.,doc}/Makefile.am \
- || die 'failed to unset docdir in Makefile.am'
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-dependency-tracking
- $(use_enable subunit)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- default
-
- rm -f "${ED}/usr/share/doc/${PF}"/COPYING* || \
- die 'failed to remove COPYING files'
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
-
-multilib_src_test() {
- elog "-DTIMEOUT_TESTS_ENABLED=0 has been prepended to CPPFLAGS. To run the"
- elog "entire testsuite for dev-libs/check, ensure that"
- elog "-DTIMEOUT_TESTS_ENABLED=1 is in your CPPFLAGS."
- default_src_test
-}
diff --git a/dev-libs/check/check-0.15.2-r1.ebuild b/dev-libs/check/check-0.15.2-r1.ebuild
new file mode 100644
index 000000000000..4d353c4293f3
--- /dev/null
+++ b/dev-libs/check/check-0.15.2-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-multilib
+
+DESCRIPTION="A unit test framework for C"
+HOMEPAGE="https://libcheck.github.io/check/"
+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 ~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
+RESTRICT="ppc? ( test )
+ ppc64? ( test )
+ !test? ( test )"
+
+RDEPEND="subunit? ( dev-python/subunit[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ sys-apps/texinfo"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/check-0.14.0-r2-disable-automagic-dep.patch
+ "${FILESDIR}"/${P}-Fix-pkgconfig-file-s-libdir-value.patch
+)
+
+#src_prepare() {
+# cmake_src_prepare
+#}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test ON OFF)
+ -DCHECK_ENABLE_SUBUNIT=$(usex subunit ON OFF)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if use doc && multilib_is_native_abi; then
+ cd "${S}"/doc/ || die "Failed to switch directories."
+ doxygen "." || die "Failed to run doxygen to generate docs."
+ fi
+}
+
+multilib_src_install_all() {
+ use doc && local HTML_DOCS=( "${S}"/doc/html/. )
+ einstalldocs
+
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+}
diff --git a/dev-libs/check/files/check-0.12.0-fp.patch b/dev-libs/check/files/check-0.12.0-fp.patch
deleted file mode 100644
index 7907df989a10..000000000000
--- a/dev-libs/check/files/check-0.12.0-fp.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/tests/check_check_master.c.orig 2018-01-29 20:33:55.033001412 -0700
-+++ b/tests/check_check_master.c 2018-01-29 20:34:31.501879454 -0700
-@@ -214,7 +214,7 @@ static master_test_t master_tests[] = {
- { "Simple Tests", "test_ck_assert_ldouble_ge", CK_FAILURE, CK_MSG_TEXT, "Assertion 'x >= y' failed: x == 2.5, y == 3" },
- { "Simple Tests", "test_ck_assert_ldouble_ge_with_mod", CK_FAILURE, CK_MSG_TEXT, "Assertion '2%d >= 3%f' failed: 2%d == 0, 3%f == 1" },
- { "Simple Tests", "test_ck_assert_ldouble_with_expr", CK_PASS, CK_MSG_TEXT, "Passed" },
-- { "Simple Tests", "test_ck_assert_ldouble_eq_tol", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(y - x) < t' failed: x == 0.001, y == 0.002, t == 0.001" },
-+ { "Simple Tests", "test_ck_assert_ldouble_eq_tol", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(y - x) < t' failed: x == 0.001, y == 0.002, t == 0.0009" },
- { "Simple Tests", "test_ck_assert_ldouble_eq_tol_with_mod", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(2%f - 3%d) < 2%p' failed: 3%d == 1, 2%f == 0, 2%p == 0" },
- { "Simple Tests", "test_ck_assert_ldouble_ne_tol", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(y - x) >= t' failed: x == 0.001, y == 0.002, t == 0.01" },
- { "Simple Tests", "test_ck_assert_ldouble_ne_tol_with_mod", CK_FAILURE, CK_MSG_TEXT, "Assertion 'fabsl(3%f - 3%d) >= 3%p' failed: 3%d == 1, 3%f == 1, 3%p == 1" },
---- a/tests/check_check_sub.c.orig 2017-10-20 06:44:10.000000000 -0600
-+++ b/tests/check_check_sub.c 2018-01-29 20:33:55.034001409 -0700
-@@ -1812,7 +1812,7 @@ START_TEST(test_ck_assert_ldouble_eq_tol
- y*=10.0l;
- t*=10.0l;
- ck_assert_ldouble_eq_tol(x, y, t);
-- t/=10.0l;
-+ t=0.0009l;
- record_failure_line_num(__LINE__);
- ck_assert_ldouble_eq_tol(x, y, t);
- }
diff --git a/dev-libs/check/files/check-0.14.0-r2-disable-automagic-dep.patch b/dev-libs/check/files/check-0.14.0-r2-disable-automagic-dep.patch
new file mode 100644
index 000000000000..0843413ee2e9
--- /dev/null
+++ b/dev-libs/check/files/check-0.14.0-r2-disable-automagic-dep.patch
@@ -0,0 +1,23 @@
+--- a/CMakeLists.txt 2020-03-21 09:42:30.411037664 +0200
++++ b/CMakeLists.txt 2020-03-21 09:49:12.358161439 +0200
+@@ -365,15 +365,16 @@
+ ADD_DEFINITIONS(-DHAVE_LIBRT=1)
+ endif (HAVE_LIBRT)
+
+-check_library_exists(subunit subunit_test_start "" HAVE_SUBUNIT)
+-if (HAVE_SUBUNIT)
++option(CHECK_ENABLE_SUBUNIT "Enable subunit support" ON)
++if (CHECK_ENABLE_SUBUNIT)
+ set(SUBUNIT "subunit")
+ set(ENABLE_SUBUNIT 1)
++ set(HAVE_SUBUNIT 1)
+ add_definitions(-DENABLE_SUBUNIT=1)
+-else(HAVE_SUBUNIT)
++else(CHECK_ENABLE_SUBUNIT)
+ set(ENABLE_SUBUNIT 0)
+ add_definitions(-DENABLE_SUBUNIT=0)
+-endif (HAVE_SUBUNIT)
++endif (CHECK_ENABLE_SUBUNIT)
+
+ ###############################################################################
+ # Generate "config.h" from "cmake/config.h.in"
diff --git a/dev-libs/check/files/check-0.15.2-Fix-pkgconfig-file-s-libdir-value.patch b/dev-libs/check/files/check-0.15.2-Fix-pkgconfig-file-s-libdir-value.patch
new file mode 100644
index 000000000000..195fcfb77599
--- /dev/null
+++ b/dev-libs/check/files/check-0.15.2-Fix-pkgconfig-file-s-libdir-value.patch
@@ -0,0 +1,30 @@
+From a6de6b02e6f8b971149c477eeca04de7d0fa5d3c Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Wed, 10 Mar 2021 17:00:33 -0500
+Subject: [PATCH] Fix pkgconfig file's libdir value
+
+And make a similar fix for includedir while we're here.
+
+Bug: https://bugs.gentoo.org/729642
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 23311d8..9d3ac07 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -439,8 +439,8 @@ if(NOT THIS_IS_SUBPROJECT)
+ set(prefix_save "${PREFIX}")
+ set(prefix "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "\${prefix}")
+- set(libdir "\${exec_prefix}/lib")
+- set(includedir "\${prefix}/include")
++ set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
++ set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
+ set(VERSION "${PROJECT_VERSION}")
+
+ if (HAVE_SUBUNIT)
+--
+2.26.2
+
diff --git a/dev-libs/check/metadata.xml b/dev-libs/check/metadata.xml
index 2f39b9d091bb..f6ec856e7a4f 100644
--- a/dev-libs/check/metadata.xml
+++ b/dev-libs/check/metadata.xml
@@ -1,12 +1,15 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
- <use>
- <flag name="subunit">Enable support for the subunit unit test protocol</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">check</remote-id>
- <remote-id type="github">libcheck/check</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+ <use>
+ <flag name="subunit">Enable support for the subunit unit test protocol</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">check</remote-id>
+ <remote-id type="github">libcheck/check</remote-id>
+ </upstream>
</pkgmetadata>
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 35950dbe8c05..000000000000
--- a/dev-libs/chmlib/chmlib-0.40-r1.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 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 x86"
-IUSE="+examples static-libs"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.39-stdtypes.patch
- "${FILESDIR}"/${P}-headers.patch
-)
-
-my_src_configure() {
- econf \
- $(use_enable examples) \
- $(use_enable static-libs static)
-}
-
-my_src_install_all() {
- einstalldocs
- find "${D}" -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/chmlib/metadata.xml b/dev-libs/chmlib/metadata.xml
index c1744fe7fc5b..beac02a9af14 100644
--- a/dev-libs/chmlib/metadata.xml
+++ b/dev-libs/chmlib/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/cityhash/Manifest b/dev-libs/cityhash/Manifest
deleted file mode 100644
index bc16efca6077..000000000000
--- a/dev-libs/cityhash/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST cityhash-1.0.3.tar.gz 352237 BLAKE2B 1a6eddc58c9e44b76be55666126f02a84d28b9f03afa2f05da8c6fa95d16a6b69df8d93c153c67f0392facdd235a98296183e2787f2211b2502081307cef5bc9 SHA512 1d284755af4adcbb9d235d19a00ea0ab3e20676eec3e455da24a855e254996139d3c123f8d074bcaf7d53de04d34949ace799181d428fc322091c93c39702de0
-DIST cityhash-1.1.0.tar.gz 355571 BLAKE2B 9c0f6d032060c76b6fef724aa1ef79aff56d2a1ee223d2a74e58bbf7e0e7225079f5cdb0367c812f489744cc12a5af1f3163b4e4d96b450e5c13ff9e352b20c4 SHA512 aff5a513fd23c9ec11a02a62151d95e36959ef54fd75a9ae4b94ee72fe93a38295c343c03ed0b0c667c79191ca1119cf2362d7bb8b2f6d6dfa50e5134c9a2654
-DIST cityhash-1.1.1.tar.gz 376456 BLAKE2B 51e8f7cdf4b8f2f1957bb926b649b63087ab6067a916d2fa422c941e1b7911d4ee030cadf310afd349f2c136c0f7b6a8e1128b25021414b9e6be55a73e09e6b5 SHA512 f5476a608fad87770aa6622f3c9ac441db1a0b1731e5235bf8599499943184a1fe5b91329cb9153b363a3e34605f7641b233114440e8895791df7d13452bb4f6
diff --git a/dev-libs/cityhash/cityhash-1.0.3.ebuild b/dev-libs/cityhash/cityhash-1.0.3.ebuild
deleted file mode 100644
index 1216ca30895a..000000000000
--- a/dev-libs/cityhash/cityhash-1.0.3.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Google's CityHash family of hash functions"
-
-HOMEPAGE="https://github.com/google/cityhash"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-#IUSE="sse42" should be added by someone with a modern CPU
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/cityhash/cityhash-1.1.0.ebuild b/dev-libs/cityhash/cityhash-1.1.0.ebuild
deleted file mode 100644
index 1216ca30895a..000000000000
--- a/dev-libs/cityhash/cityhash-1.1.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Google's CityHash family of hash functions"
-
-HOMEPAGE="https://github.com/google/cityhash"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-#IUSE="sse42" should be added by someone with a modern CPU
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/cityhash/cityhash-1.1.1.ebuild b/dev-libs/cityhash/cityhash-1.1.1.ebuild
deleted file mode 100644
index 1216ca30895a..000000000000
--- a/dev-libs/cityhash/cityhash-1.1.1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Google's CityHash family of hash functions"
-
-HOMEPAGE="https://github.com/google/cityhash"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-#IUSE="sse42" should be added by someone with a modern CPU
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/cityhash/metadata.xml b/dev-libs/cityhash/metadata.xml
deleted file mode 100644
index fd584fe3d964..000000000000
--- a/dev-libs/cityhash/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
- <upstream>
- <remote-id type="github">google/cityhash</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/cjose/Manifest b/dev-libs/cjose/Manifest
new file mode 100644
index 000000000000..1365f12734f1
--- /dev/null
+++ b/dev-libs/cjose/Manifest
@@ -0,0 +1,2 @@
+DIST cjose-0.6.2.2.tar.gz 498461 BLAKE2B 4914019652f47ac12745cb3b8914f66cb41cb8da33f83735d866cac816dd8f6475d12fde4a6e3f58456c463cb7c6c6fdfeb4928c232f94e3fa6b1b4c8e5ef132 SHA512 71a087709816f0aac060a7c5f037068e981366b1809f6ee32e39eaded02ad8be061b0e2fa5093515a8acec10c7f4aca232281004426221b4b7e5edbd203eb49c
+DIST cjose-0.6.2.3.tar.gz 500613 BLAKE2B cf5f7f7bcb3e7cfa643a9f9f0e88498874a78cd8799be961a5c1c1ac03f24ef75ec8b0624a7ec4ffa8f9ebedda0e4c35fb0dc72547620b63ada5e719dfe2f778 SHA512 193434afef21fc4889902896d984bf57c64240346de27be94c229491d43e1d309bbb11905be4899fc7f3c1885323ee9480bf30499f37f3174ab9a1e282f5841f
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/cjose-0.6.2.3.ebuild b/dev-libs/cjose/cjose-0.6.2.3.ebuild
new file mode 100644
index 000000000000..e4fd2351b19d
--- /dev/null
+++ b/dev-libs/cjose/cjose-0.6.2.3.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
+
+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
+
+ # Remove -Werror from the build, bug #922461
+ sed -e 's/ -Werror//' -i src/Makefile.{am,in} || die
+
+ 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/Manifest b/dev-libs/cl/Manifest
index 63f8ca59f693..79b4a5298a7c 100644
--- a/dev-libs/cl/Manifest
+++ b/dev-libs/cl/Manifest
@@ -1,2 +1 @@
-DIST cl-1.2.3.tar.gz 137921 BLAKE2B 66e79e60d9e5b16b7ff15ecfbccb928ce293a39ad72b403d885c676cd5eed0d1a08e7359a5f38bdfe22db485aacc314c0956585a04fdf3d2d6c10903b352172e SHA512 aaa19700b1b54921ea8194e1b7fcb2dbb11f22c32108fd99d0cd9796c7524a49653dcc97c8c8b34f7739d0b972cbbc3cf61b929e342429b524b11df93e434863
DIST cl-1.2.4.tar.gz 142258 BLAKE2B 28d72842c092ceb81722769136e2282fdf7062f630eae0fb2097f4b2ae0690e41bb96d3fd947186d90b88a68982f5af03bf0cf0f6375304f6a1d05395f018701 SHA512 f7a7f24abf6c374b42f9aa809984c818ac2514d013ff224b3392b2b5df1ba75f2b393ad0bcd822c4118dd0034ed4e815f83041f0b2350ba71def1b33b42e8801
diff --git a/dev-libs/cl/cl-1.2.3.ebuild b/dev-libs/cl/cl-1.2.3.ebuild
deleted file mode 100644
index 04a7a2574ca8..000000000000
--- a/dev-libs/cl/cl-1.2.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils multilib
-
-DESCRIPTION="OpenCL bindings for Erlang"
-HOMEPAGE="https://github.com/tonyrog/cl"
-SRC_URI="${HOMEPAGE}/archive/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-lang/erlang-16
- virtual/opencl
- dev-util/rebar
-"
-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
-}
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/cl/cl-1.2.4.ebuild b/dev-libs/cl/cl-1.2.4.ebuild
deleted file mode 100644
index 060444f5d50b..000000000000
--- a/dev-libs/cl/cl-1.2.4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils multilib
-
-DESCRIPTION="OpenCL bindings for Erlang"
-HOMEPAGE="https://github.com/tonyrog/cl"
-SRC_URI="${HOMEPAGE}/archive/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-lang/erlang-16
- virtual/opencl
- dev-util/rebar
-"
-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
-}
diff --git a/dev-libs/cl/cl-9999.ebuild b/dev-libs/cl/cl-9999.ebuild
deleted file mode 100644
index da4f1445d486..000000000000
--- a/dev-libs/cl/cl-9999.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils git-r3 multilib
-
-DESCRIPTION="OpenCL bindings for Erlang"
-HOMEPAGE="https://github.com/tonyrog/cl"
-EGIT_REPO_URI="https://github.com/tonyrog/cl.git"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS=""
-
-RDEPEND="
- >=dev-lang/erlang-16
- virtual/opencl
- dev-util/rebar
-"
-DEPEND="${RDEPEND}"
-
-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
-}
diff --git a/dev-libs/cl/metadata.xml b/dev-libs/cl/metadata.xml
index b2f11e650c2a..4e8d28886d1c 100644
--- a/dev-libs/cl/metadata.xml
+++ b/dev-libs/cl/metadata.xml
@@ -1,10 +1,7 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jer@gentoo.org</email>
- <name>Jeroen Roovers</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">tonyrog/cl</remote-id>
</upstream>
diff --git a/dev-libs/clhpp/Manifest b/dev-libs/clhpp/Manifest
deleted file mode 100644
index a7469dbbd762..000000000000
--- a/dev-libs/clhpp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clhpp-2.0.10.tar.gz 129954 BLAKE2B 1beb9b41ce1ad8ec88d0ccfa5f1d7a7af931841fa64d79b9eb9db90538f1b43f3cee5c74dc015ba835ee4ded2e926967bc3aa00dcc6ec0f5b65a04f9618ea1a9 SHA512 4a4898540c55422ca0cc6ba7f0c5495b915fc34df50f8add90e7f06dd5ef1d01a767234ecdee3757292980aa2f938e773177bcc73f28ac9c1b42d386863dea58
diff --git a/dev-libs/clhpp/clhpp-2.0.10.ebuild b/dev-libs/clhpp/clhpp-2.0.10.ebuild
deleted file mode 100644
index d3904087f96e..000000000000
--- a/dev-libs/clhpp/clhpp-2.0.10.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 python3_5 python3_6 python3_7 )
-
-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"
-IUSE=""
-
-inherit python-any-r1 cmake-utils
-
-DEPEND="virtual/opencl"
-RDEPEND="${DEPEND}"
-BDEPEND="${PYTHON_DEPS}"
-
-src_unpack() {
- unpack ${A}
- # create symlink to change name
- ln -s OpenCL-CLHPP-${PV} ${P}
-}
-
-src_prepare() {
- # User patches + QA
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/include"
- -DBUILD_DOCS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_TESTS=OFF
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
-}
diff --git a/dev-libs/clhpp/metadata.xml b/dev-libs/clhpp/metadata.xml
deleted file mode 100644
index 61f42884c3d1..000000000000
--- a/dev-libs/clhpp/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
-<longdescription lang="en">
-Khronos (tm) provided headers for C++ bindings for OpenCL.
-</longdescription>
-</pkgmetadata>
diff --git a/dev-libs/clog/Manifest b/dev-libs/clog/Manifest
new file mode 100644
index 000000000000..4f863c1a0897
--- /dev/null
+++ b/dev-libs/clog/Manifest
@@ -0,0 +1 @@
+DIST cpuinfo-2023.11.04.tar.gz 3516672 BLAKE2B 4f99781081ae7c0736bac35d8f589918be1466763d57d0b0661c7cdf8a24fccee61d87acae314714bad09da2a15d96d9725b7c2b7a6a9945bb320f96c31b3eb7 SHA512 02dd70f0b95c2cb6d8af4e33072f63f5d72d2314796033ae68bb6b37cb7db18d43dd2cdfedafc896dec0614dbeec9ab507f765f3d958fbda8c0ab3e3a191a87c
diff --git a/dev-libs/clog/clog-2023.11.04.ebuild b/dev-libs/clog/clog-2023.11.04.ebuild
new file mode 100644
index 000000000000..c7655a4e2224
--- /dev/null
+++ b/dev-libs/clog/clog-2023.11.04.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=d6860c477c99f1fce9e28eb206891af3c0e1a1d7
+
+DESCRIPTION="C-style (a-la printf) logging library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/cpuinfo/archive/${CommitId}.tar.gz
+ -> cpuinfo-${PV}.tar.gz"
+
+S="${WORKDIR}"/clog
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="!<dev-libs/cpuinfo-${PV}"
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}"/${P}-test.patch )
+
+src_unpack() {
+ unpack "${A}"
+ mv cpuinfo-${CommitId}/deps/clog clog || die
+ rm -r cpuinfo-${CommitId} || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SYSTEM_LIBS=ON
+ -DUSE_SYSTEM_GOOGLETEST=ON
+ -DCLOG_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/clog/files/clog-2023.11.04-test.patch b/dev-libs/clog/files/clog-2023.11.04-test.patch
new file mode 100644
index 000000000000..e8027d5962e4
--- /dev/null
+++ b/dev-libs/clog/files/clog-2023.11.04-test.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2024-05-08 08:34:01.195300008 +0200
++++ b/CMakeLists.txt 2024-05-08 08:34:19.850068094 +0200
+@@ -93,7 +93,7 @@
+
+ ADD_EXECUTABLE(clog-test test/clog.cc)
+ SET_TARGET_PROPERTIES(clog-test PROPERTIES
+- CXX_STANDARD 11
++ CXX_STANDARD 14
+ CXX_EXTENSIONS NO)
+ CLOG_TARGET_RUNTIME_LIBRARY(clog-test)
+ TARGET_LINK_LIBRARIES(clog-test PRIVATE clog gtest gtest_main)
diff --git a/dev-libs/clog/metadata.xml b/dev-libs/clog/metadata.xml
new file mode 100644
index 000000000000..eec896ddc47d
--- /dev/null
+++ b/dev-libs/clog/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/cloog/Manifest b/dev-libs/cloog/Manifest
deleted file mode 100644
index e698e58b590d..000000000000
--- a/dev-libs/cloog/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST cloog-0.18.0.tar.gz 3776262 BLAKE2B fec90c701f2042c0bfdd68099ec6ef66ecc261193ff48c76787d1ad28e689be8d1685dfc99f0ddbe2a1cbf83aebe30eb0571dfeca53c03f6abaf190ca35d492c SHA512 34404984c4269dfc19673712271b08f220b6b49e451e7479cefbc5d2f27ab8e780f5d51fbbc7cecb974dab655673d8348f2a1ece3a60feaeeb9413fccf16eb1d
-DIST cloog-0.18.1.tar.gz 3857324 BLAKE2B 5898cb8d8f36e55dbe38e7866e07c0abaf8ca0b9e619a5ff963ae975148166fc9bb1c77a33aef1ea2014e739e4ea1c37e4bc2ce5e7411d900fb472192e6fed7b SHA512 0b12d9f3c39a2425e28e1d7c0a2b3787287fe3e6e3052f094d2ab6cffeb205ce19044100cbfd805659b3e6b3d21ac2f5a3c92848f476de54edfe6b1cbd2172e9
-DIST cloog-0.18.3.tar.gz 4577597 BLAKE2B 179f13d4cf1f3c13ed5afcbad9226a1fc496aac5c56f6129457516a8e52ec753c8ac3532f7ac975b62e0dc09ed4b84523ebb7146a7bd991bee04d3416558c8c4 SHA512 14fc2af0da62cd17b1a9f5a7a1704da6bfe5dc78639928637588203e61847795a652ff788c313c34b6e7dd85fb329678eb4f72e0e1c9c149be6619ebf046cff8
-DIST cloog-0.18.4.tar.gz 4796456 BLAKE2B 9d1f281abe48d40f726c3fc66c58c0d7cb90f6d3ca47af02c8f00b5cc69c6de6b0362b2dc406a8cb6310e07c6b2991f6de3b6b407ad7db0190b9bc69ac82773f SHA512 d35d67b08ffe13c1a010b65bfe4dd02b0ae013d5b489e330dc950bd3514defca8f734bd37781856dcedf0491ff6122c34eecb4b0fe32a22d7e6bdadea98c8c23
diff --git a/dev-libs/cloog/cloog-0.18.0.ebuild b/dev-libs/cloog/cloog-0.18.0.ebuild
deleted file mode 100644
index b8484bae5fd1..000000000000
--- a/dev-libs/cloog/cloog-0.18.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit eutils
-
-DESCRIPTION="A loop generator for scanning polyhedra"
-HOMEPAGE="http://www.bastoul.net/cloog/"
-SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-DEPEND="dev-libs/gmp
- <dev-libs/isl-0.13
- !dev-libs/cloog-ppl"
-RDEPEND="${DEPEND}"
-
-DOCS=( README )
-
-src_prepare() {
- # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
- # sed to avoid eautoreconf
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
-}
-
-src_configure() {
- econf \
- --with-isl=system \
- --with-polylib=no \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/cloog/cloog-0.18.1.ebuild b/dev-libs/cloog/cloog-0.18.1.ebuild
deleted file mode 100644
index 51d577587042..000000000000
--- a/dev-libs/cloog/cloog-0.18.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A loop generator for scanning polyhedra"
-HOMEPAGE="http://www.bastoul.net/cloog/"
-SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/4"
-KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]
- >=dev-libs/isl-0.12.2:0/10[${MULTILIB_USEDEP}]
- !dev-libs/cloog-ppl"
-DEPEND="${DEPEND}
- virtual/pkgconfig"
-
-DOCS=( README )
-
-src_prepare() {
- # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
- # sed to avoid eautoreconf
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --with-gmp=system \
- --with-isl=system \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/cloog/cloog-0.18.3.ebuild b/dev-libs/cloog/cloog-0.18.3.ebuild
deleted file mode 100644
index afba131ead94..000000000000
--- a/dev-libs/cloog/cloog-0.18.3.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="git://repo.or.cz/cloog.git"
- inherit autotools git-r3
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
- SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
-fi
-
-DESCRIPTION="A loop generator for scanning polyhedra"
-HOMEPAGE="http://www.bastoul.net/cloog/"
-
-LICENSE="LGPL-2.1"
-SLOT="0/4"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]
- >=dev-libs/isl-0.14:0=[${MULTILIB_USEDEP}]
- !dev-libs/cloog-ppl"
-DEPEND="${DEPEND}
- virtual/pkgconfig"
-
-DOCS=( README )
-
-src_prepare() {
- if [[ ${PV} == "9999" ]] ; then
- ./get_submodules.sh
- eautoreconf -i
- else
- # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
- # sed to avoid eautoreconf
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
- fi
-
- epatch "${FILESDIR}"/${P}-isl-0.15.patch
-
- # Make sure we always use the system isl.
- rm -rf isl
-}
-
-multilib_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
-multilib_src_test () {
- echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
- emake -j1 check
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/cloog/cloog-0.18.4.ebuild b/dev-libs/cloog/cloog-0.18.4.ebuild
deleted file mode 100644
index dab39664621a..000000000000
--- a/dev-libs/cloog/cloog-0.18.4.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="git://repo.or.cz/cloog.git"
- inherit autotools git-r3
-else
- KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
- SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
-fi
-
-DESCRIPTION="A loop generator for scanning polyhedra"
-HOMEPAGE="http://www.bastoul.net/cloog/"
-
-LICENSE="LGPL-2.1"
-SLOT="0/4"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-6.0.0[${MULTILIB_USEDEP}]
- >=dev-libs/isl-0.15:0=[${MULTILIB_USEDEP}]
- !dev-libs/cloog-ppl"
-DEPEND="${DEPEND}
- virtual/pkgconfig"
-
-DOCS=( README )
-
-src_prepare() {
- if [[ ${PV} == "9999" ]] ; then
- ./get_submodules.sh
- eautoreconf -i
- else
- # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
- # sed to avoid eautoreconf
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
- fi
-
- # Make sure we always use the system isl.
- rm -rf isl
-}
-
-multilib_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
-multilib_src_test () {
- echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
- emake -j1 check
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/cloog/cloog-9999.ebuild b/dev-libs/cloog/cloog-9999.ebuild
deleted file mode 100644
index 44fb3bc55495..000000000000
--- a/dev-libs/cloog/cloog-9999.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit eutils multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://repo.or.cz/cloog.git"
-else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
- SRC_URI="http://www.bastoul.net/cloog/pages/download/${P}.tar.gz"
-fi
-
-DESCRIPTION="A loop generator for scanning polyhedra"
-HOMEPAGE="http://www.bastoul.net/cloog/"
-
-LICENSE="LGPL-2.1"
-SLOT="0/4"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-6.0.0[${MULTILIB_USEDEP}]
- >=dev-libs/isl-0.15:0=[${MULTILIB_USEDEP}]
- !dev-libs/cloog-ppl"
-DEPEND="${DEPEND}
- virtual/pkgconfig"
-
-DOCS=( README )
-
-src_prepare() {
- default
-
- if [[ ${PV} == "9999" ]] ; then
- ./get_submodules.sh
- eautoreconf -i
- else
- # m4/ax_create_pkgconfig_info.m4 includes LDFLAGS
- # sed to avoid eautoreconf
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die
- fi
-
- # Make sure we always use the system isl.
- rm -rf isl
-}
-
-multilib_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
-multilib_src_test () {
- echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
- emake -j1 check
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete
-}
diff --git a/dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch b/dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch
deleted file mode 100644
index 70ce3b86ec02..000000000000
--- a/dev-libs/cloog/files/cloog-0.18.3-isl-0.15.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-add support for isl-0.15+
-
---- a/source/isl/domain.c
-+++ b/source/isl/domain.c
-@@ -68,25 +68,39 @@
- void cloog_domain_print_constraints(FILE *foo, CloogDomain *domain,
- int print_number)
- {
-+ isl_printer *printer;
- isl_basic_set *bset;
- isl_set *set = isl_set_from_cloog_domain(domain);
-
-- if (print_number)
-- isl_set_print(set, foo, 0, ISL_FORMAT_EXT_POLYLIB);
-- else {
-+ printer = isl_printer_to_file(isl_set_get_ctx(set), foo);
-+ printer = isl_printer_set_indent(printer, 0);
-+ printer = isl_printer_set_prefix(printer, NULL);
-+ printer = isl_printer_set_suffix(printer, NULL);
-+
-+ if (print_number) {
-+ printer = isl_printer_set_output_format(printer, ISL_FORMAT_EXT_POLYLIB);
-+ printer = isl_printer_print_set(printer, set);
-+ } else {
- assert(isl_set_n_basic_set(set) == 1);
- bset = isl_set_copy_basic_set(set);
-- isl_basic_set_print(bset, foo,
-- 0, NULL, NULL, ISL_FORMAT_POLYLIB);
-+ printer = isl_printer_set_output_format(printer, ISL_FORMAT_POLYLIB);
-+ isl_printer_print_basic_set(printer, bset);
- isl_basic_set_free(bset);
- }
-+
-+ isl_printer_free(printer);
- }
-
-
- void cloog_scattering_print_constraints(FILE *foo, CloogScattering *scattering)
- {
-+ isl_printer *printer;
- isl_map *map = isl_map_from_cloog_scattering(scattering);
-- isl_map_print(map, foo, 0, ISL_FORMAT_EXT_POLYLIB);
-+ printer = isl_printer_to_file(isl_map_get_ctx(map), foo);
-+ printer = isl_printer_set_indent(printer, 0);
-+ printer = isl_printer_set_output_format(printer, ISL_FORMAT_EXT_POLYLIB);
-+ printer = isl_printer_print_map(printer, map);
-+ isl_printer_free(printer);
- }
-
-
-@@ -343,6 +357,7 @@
- void cloog_domain_print_structure(FILE *file, CloogDomain *domain, int level,
- const char *name)
- {
-+ isl_printer *printer;
- int i ;
- isl_set *set = isl_set_from_cloog_domain(domain);
-
-@@ -358,7 +373,11 @@
- for (i = 0; i < level+1; ++i)
- fprintf(file, "|\t");
-
-- isl_set_print(set, file, 0, ISL_FORMAT_ISL);
-+ printer = isl_printer_to_file(isl_set_get_ctx(set), file);
-+ printer = isl_printer_set_indent(printer, 0);
-+ printer = isl_printer_set_output_format(printer, ISL_FORMAT_EXT_POLYLIB);
-+ printer = isl_printer_print_set(printer, set);
-+ isl_printer_free(printer);
-
- fprintf(file, "\n");
- }
---- a/source/isl/constraints.c
-+++ b/source/isl/constraints.c
-@@ -450,7 +450,7 @@ CloogConstraintSet *cloog_constraint_set_copy(CloogConstraintSet *constraints)
- {
- isl_basic_set *bset;
- bset = cloog_constraints_set_to_isl(constraints);
-- return cloog_constraint_set_from_isl_basic_set(isl_basic_set_dup(bset));
-+ return cloog_constraint_set_from_isl_basic_set(isl_basic_set_copy(bset));
- }
-
-
diff --git a/dev-libs/cloog/metadata.xml b/dev-libs/cloog/metadata.xml
deleted file mode 100644
index fa331094dd33..000000000000
--- a/dev-libs/cloog/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>toolchain@gentoo.org</email>
- </maintainer>
-</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 4086834d6c40..000000000000
--- a/dev-libs/collada-dom/collada-dom-2.5.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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"
- 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 bb015f58bab1..000000000000
--- a/dev-libs/collada-dom/collada-dom-9999.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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"
- 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/metadata.xml b/dev-libs/collada-dom/metadata.xml
index af5fc1f79217..b29ea7fa60ef 100644
--- a/dev-libs/collada-dom/metadata.xml
+++ b/dev-libs/collada-dom/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/dev-libs/concurrencykit/Manifest b/dev-libs/concurrencykit/Manifest
index d73660a2410d..9da8e6140338 100644
--- a/dev-libs/concurrencykit/Manifest
+++ b/dev-libs/concurrencykit/Manifest
@@ -1,2 +1 @@
-DIST concurrencykit-0.5.2.tar.gz 212783 BLAKE2B d2e3f28a21236c83835dda06fb4c6182b4ae1fe9e14c66d01ab9ccd2c94c4487d06fa668039f9d7d980a100e88bae570edf193a6955ece88cc306cc1c05670fd SHA512 69b4f8618a52e53f2b7c2e47a9d52773370ae74c89ca1de70c6dc7567b5a46b3f57dafa82d61a89525807672697e1cd75b83c3be56cd5a80c10b819e9d9d07b0
-DIST concurrencykit-0.6.0.tar.gz 217198 BLAKE2B 5ba85bd111c06e7be7af5679227350efe187836e5cb2afc19bff4a8f0fbcd97e9631fad64397b0426e8020a6a0f103a0fbe3bf8f83810eaa8a3a1b429a3e8383 SHA512 4c75f1194a6ad9d3e51a4bad4802cc522df70870135e6e2db1e303d0df89d57e5dc7a73e924de49fe9641b3dcdc81b1a74a26aa7297cd06b7acb5cbf46c402f0
+DIST concurrencykit-0.7.2.tar.gz 257817 BLAKE2B e9b58c2e5fc7f39d03a3800117bc215f933cd5b542c293e07934597788e2d33e33cf6d02bbaa54d829b57e2dcaabcf79220398bef3a903a1d39c70bb5553ccb2 SHA512 c3a93a8bbdab2c81ccbfe8f38a17677b912bc157c231c960330cb130e93c35e3aab6b2fd1695d0ea28dbe3e12297851f1b96ef1ee21ca4e4c0065c91b83f51c3
diff --git a/dev-libs/concurrencykit/concurrencykit-0.5.2.ebuild b/dev-libs/concurrencykit/concurrencykit-0.5.2.ebuild
deleted file mode 100644
index 75b0b9bf0c78..000000000000
--- a/dev-libs/concurrencykit/concurrencykit-0.5.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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="http://concurrencykit.org/releases/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# libck.so name collision #616762
-# these packages have nothing in common
-RDEPEND="!sys-cluster/charm"
-
-S="${WORKDIR}/${MY_P}"
diff --git a/dev-libs/concurrencykit/concurrencykit-0.6.0.ebuild b/dev-libs/concurrencykit/concurrencykit-0.6.0.ebuild
deleted file mode 100644
index 75b0b9bf0c78..000000000000
--- a/dev-libs/concurrencykit/concurrencykit-0.6.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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="http://concurrencykit.org/releases/${MY_P}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# libck.so name collision #616762
-# these packages have nothing in common
-RDEPEND="!sys-cluster/charm"
-
-S="${WORKDIR}/${MY_P}"
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..7eda380be3dd
--- /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/concurrencykit/metadata.xml b/dev-libs/concurrencykit/metadata.xml
index 5acb2fa5df31..447352914b72 100644
--- a/dev-libs/concurrencykit/metadata.xml
+++ b/dev-libs/concurrencykit/metadata.xml
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>hydrapolic@gmail.com</email>
- <name>Tomáš Mózes</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
</maintainer>
<upstream>
<remote-id type="github">concurrencykit/ck</remote-id>
diff --git a/dev-libs/confuse/Manifest b/dev-libs/confuse/Manifest
index 49d169abc6b4..63d9544c7df2 100644
--- a/dev-libs/confuse/Manifest
+++ b/dev-libs/confuse/Manifest
@@ -1,2 +1 @@
-DIST confuse-3.0.tar.xz 449144 BLAKE2B c8e913aa8b074d55535c35ddce7de1a0f21dade78839f66723272780345d4b5c5f265c2040a4abc9b473a09e221b50450382dff60103198f72384d28d1ab068e SHA512 12279045b772e94d2e29201ab1d7aef1ef8e698780a22d6a282d12f51ccd9a437e7817a4dd5e39bdfc8dae79700b72aa0783b4b983a935d751403d2cffd1161e
-DIST confuse-3.2.2.tar.xz 473912 BLAKE2B d8df03f4543291afa6d46a36c48f78d25aee7cdcd0fab7a37a639a73cd0562b52a70057075f83f7e4e56bb542a27561a65e3217c458d757345c46a29203e6187 SHA512 c6baea65e064fe7f2d1bde187c6dcbb7f03c31f5d777cb04576f9cc2d94e9c96b7ee202e030e9a2c7eb619deb240d9e76fb12b3528ae5aa0d3abe231354d12c9
+DIST confuse-3.3.tar.xz 485140 BLAKE2B 41f426544341966e4a4148c40951dd7f6771b70b182e9ab9f19ce9be781c3ca42c86615f48e91f3997c8e0654111de2360a09c070afc21047b6edb4a8187755f SHA512 93cc62d98166199315f65a2f6f540a9c0d33592b69a2c6a57fd17f132aecc6ece39b9813b96c9a49ae2b66a99b7eba1188a9ce9e360e1c5fb4b973619e7088a0
diff --git a/dev-libs/confuse/confuse-3.0.ebuild b/dev-libs/confuse/confuse-3.0.ebuild
deleted file mode 100644
index 516a677978e3..000000000000
--- a/dev-libs/confuse/confuse-3.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="a configuration file parser library"
-HOMEPAGE="http://www.nongnu.org/confuse/"
-SRC_URI="https://github.com/martinh/libconfuse/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="ISC"
-SLOT="0/1.0.0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-
-IUSE="nls static-libs"
-
-DEPEND="sys-devel/flex
- sys-devel/libtool
- virtual/pkgconfig
- nls? ( sys-devel/gettext )"
-RDEPEND="nls? ( virtual/libintl[${MULTILIB_USEDEP}] )"
-
-DOCS=( AUTHORS )
-
-src_prepare() {
- eapply_user
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # 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() {
- prune_libtool_files
-
- doman doc/man/man3/*.3
- dodoc -r doc/html
-
- docinto examples
- dodoc examples/*.{c,conf}
-}
diff --git a/dev-libs/confuse/confuse-3.2.2.ebuild b/dev-libs/confuse/confuse-3.2.2.ebuild
deleted file mode 100644
index 52a38f545bfb..000000000000
--- a/dev-libs/confuse/confuse-3.2.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2018 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="${HOMEPAGE}/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="ISC"
-SLOT="0/2.0.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-
-IUSE="nls static-libs"
-
-BDEPEND="
- sys-devel/flex
- sys-devel/libtool
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
-"
-RDEPEND="
- nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
-"
-
-DOCS=( AUTHORS )
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # 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-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
new file mode 100644
index 000000000000..9d524b6a484b
--- /dev/null
+++ b/dev-libs/confuse/confuse-3.3.ebuild
@@ -0,0 +1,53 @@
+# 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/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() {
+ # 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/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 d7752ca1cd39..10287e70c63f 100644
--- a/dev-libs/confuse/metadata.xml
+++ b/dev-libs/confuse/metadata.xml
@@ -1,11 +1,9 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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="github">martinh/libconfuse</remote-id>
+ <remote-id type="cpe">cpe:/a:libconfuse_project: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 4124bc1f9a23..234de934fc2b 100644
--- a/dev-libs/console_bridge/Manifest
+++ b/dev-libs/console_bridge/Manifest
@@ -1,3 +1,5 @@
-DIST console_bridge-0.4.0.tar.gz 230398 BLAKE2B 9f8473402d3df14284530be1285b62201fce6d08db7fca6675725fa104bbf929999a2ef84d7a2b7ea12f5645e609447ed7af6e4babe0832d953b3e181ada6071 SHA512 ebfd2ee31bd27380db750e1c40d9f09f50cc7db72f4aceaac9c5bf94894eb8db8ac7cbf67d82cfc27aa154d0e8f2c25ad80b12d06ee90679b5fd6d10fd8d4037
-DIST console_bridge-0.4.2.tar.gz 254013 BLAKE2B 9a02e1a6748c954783615be3242a90a27dd117940dbd5d9a3b5cb1f265ead3c6dc7891a7db2b9f908ce45bc200c50f9e15b5ef1069721d6cc0c9aebd44eb00fe SHA512 21e5d8eaef03512de48189a678318ddc6cb824a99e06885a3185c8316fb1839596c79be4472795b5ffe4be33bf5896b305410fb1144ee979d071e273f66bf532
-DIST console_bridge-0.4.3.tar.gz 254021 BLAKE2B dc0816c65fb44151c88935058abc1528b1162d5fa8a940956f386031a23eb087e2653954ec60ff08f2f99fc6b3da76b08d8d6db6903955061cc6832d9e2e80ef SHA512 034f69dcfe0c56b93a5bc60095afaaaa275955ff58f0ddee1a0a325eff3981c41703c8b521b43cdca5f6317d6a5775e7caf221cf2d79b5d62045b0f4315cc577
+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-0.4.0.ebuild b/dev-libs/console_bridge/console_bridge-0.4.0.ebuild
deleted file mode 100644
index cab29294793f..000000000000
--- a/dev-libs/console_bridge/console_bridge-0.4.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/console_bridge"
-fi
-
-inherit ${SCM} cmake-utils multilib
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="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="http://wiki.ros.org/console_bridge"
-LICENSE="BSD"
-SLOT="0/4"
-IUSE=""
-
-RDEPEND="dev-libs/boost:=[threads]"
-DEPEND="${RDEPEND}"
diff --git a/dev-libs/console_bridge/console_bridge-0.4.2.ebuild b/dev-libs/console_bridge/console_bridge-0.4.2.ebuild
deleted file mode 100644
index 24c3a5e41f0a..000000000000
--- a/dev-libs/console_bridge/console_bridge-0.4.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/console_bridge"
-fi
-
-inherit ${SCM} cmake-utils multilib
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="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="http://wiki.ros.org/console_bridge"
-LICENSE="BSD"
-SLOT="0/4"
-IUSE=""
-
-RDEPEND="dev-libs/boost:=[threads]"
-DEPEND="${RDEPEND}"
diff --git a/dev-libs/console_bridge/console_bridge-0.4.3.ebuild b/dev-libs/console_bridge/console_bridge-0.4.3.ebuild
deleted file mode 100644
index 24c3a5e41f0a..000000000000
--- a/dev-libs/console_bridge/console_bridge-0.4.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/console_bridge"
-fi
-
-inherit ${SCM} cmake-utils multilib
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="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="http://wiki.ros.org/console_bridge"
-LICENSE="BSD"
-SLOT="0/4"
-IUSE=""
-
-RDEPEND="dev-libs/boost:=[threads]"
-DEPEND="${RDEPEND}"
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 cab29294793f..4a949b96cbe4 100644
--- a/dev-libs/console_bridge/console_bridge-9999.ebuild
+++ b/dev-libs/console_bridge/console_bridge-9999.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=5
+EAPI=7
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -9,21 +9,57 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/ros/console_bridge"
fi
-inherit ${SCM} cmake-utils multilib
+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
- KEYWORDS=""
- SRC_URI=""
+ SRC_URI="${EXTERNAL_PROGS}"
else
KEYWORDS="~amd64 ~arm"
- SRC_URI="https://github.com/ros/console_bridge/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ 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="http://wiki.ros.org/console_bridge"
+HOMEPAGE="https://wiki.ros.org/console_bridge"
LICENSE="BSD"
-SLOT="0/4"
-IUSE=""
+SLOT="0/1"
+IUSE="test"
+RESTRICT="!test? ( test )"
-RDEPEND="dev-libs/boost:=[threads]"
+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/files/tests.patch b/dev-libs/console_bridge/files/tests.patch
new file mode 100644
index 000000000000..0f41a8dd3aa7
--- /dev/null
+++ b/dev-libs/console_bridge/files/tests.patch
@@ -0,0 +1,15 @@
+This test does not make sense since the file is not yet installed.
+
+Index: console_bridge-1.0.1/test/CMakeLists.txt
+===================================================================
+--- console_bridge-1.0.1.orig/test/CMakeLists.txt
++++ console_bridge-1.0.1/test/CMakeLists.txt
+@@ -77,7 +77,7 @@ if(WGET_EXE)
+ "--counting=detailed"
+ "--extensions=cpp,h"
+ "--linelength=100"
+- "--filter=-build/c++11,-runtime/references,-whitespace/braces,-whitespace/indent,-whitespace/parens,-whitespace/semicolon"
++ "--filter=-build/c++11,-runtime/references,-whitespace/braces,-whitespace/indent,-whitespace/parens,-whitespace/semicolon,-build/header_guard"
+ "${PROJECT_SOURCE_DIR}/include/console_bridge/console.h"
+ "${PROJECT_SOURCE_DIR}/src/console.cpp"
+ )
diff --git a/dev-libs/console_bridge/metadata.xml b/dev-libs/console_bridge/metadata.xml
index bffc275210b9..8753f3c660d0 100644
--- a/dev-libs/console_bridge/metadata.xml
+++ b/dev-libs/console_bridge/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>ros@gentoo.org</email>
diff --git a/dev-libs/cowsql/Manifest b/dev-libs/cowsql/Manifest
new file mode 100644
index 000000000000..4479e4197578
--- /dev/null
+++ b/dev-libs/cowsql/Manifest
@@ -0,0 +1 @@
+DIST cowsql-1.15.6.tar.gz 364548 BLAKE2B 67ccb0cc1481c4d542c2a145c76875b514f4920fe2d3647d1871afa67e6cb7a41c729946c89768b1c522ed22357fb0323d58885ca60141db154da54e3a5a5a0a SHA512 78436fc35ab22fed1aef1d1048e41fbd6ec75a7b8fc95f09bc7468cde0ea8d8851e4ef5ee738699810abf3054826ab7cfd21dc06964603acea240b0fc7943c4d
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..de783d5bd04d
--- /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/cpl-stratego/Manifest b/dev-libs/cpl-stratego/Manifest
deleted file mode 100644
index ee2391921b4b..000000000000
--- a/dev-libs/cpl-stratego/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cpl-stratego-0.4.tar.gz 146956 BLAKE2B 72cc0909abe273bbc7e275a874449e8497cd534d88273dc3a1ff070fc4941b4966b76d76c37a5247b22235181cd87b2870a4752db4ac4f0f6e99199e963c4229 SHA512 05253a10b7359bedb99d9c8150018808d3961545f0b3e83a19acb8be94fca12a45503b14f96d02605b6a3453ffbfff542017e1e35e9c5ff48e719640a601f675
diff --git a/dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild b/dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild
deleted file mode 100644
index 60994f6f2508..000000000000
--- a/dev-libs/cpl-stratego/cpl-stratego-0.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit toolchain-funcs
-
-DESCRIPTION="Choice library mostly used by Stratego"
-SRC_URI="ftp://ftp.stratego-language.org/pub/stratego/stratego/${P}.tar.gz"
-HOMEPAGE="http://www.stratego-language.org"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="alpha ia64 ppc sparc x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_compile() {
- econf || die "./configure failed"
- emake CC=$(tc-getCC) CC_DBG=$(tc-getCC) CC_GCC=$(tc-getCC)
- CC_PROF=$(tc-getCC) || die
-}
-
-src_install () {
- make DESTDIR="${D}" install || die
-
- dodoc AUTHORS ChangeLog NEWS README*
-}
diff --git a/dev-libs/cpl-stratego/metadata.xml b/dev-libs/cpl-stratego/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/cpl-stratego/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/cppcodec/cppcodec-0.2.ebuild b/dev-libs/cppcodec/cppcodec-0.2.ebuild
index ed1f2f4c8f3d..3c62cdcdc8e4 100644
--- a/dev-libs/cppcodec/cppcodec-0.2.ebuild
+++ b/dev-libs/cppcodec/cppcodec-0.2.ebuild
@@ -1,9 +1,9 @@
-# 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
-inherit cmake-utils
+inherit cmake
DESCRIPTION="C++11 library to encode/decode base64, base64url, base32, base32hex and hex"
HOMEPAGE="https://github.com/tplgy/cppcodec"
@@ -16,7 +16,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_SUBMODULES=()
else
SRC_URI="https://github.com/tplgy/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64 ~ppc64 x86"
fi
LICENSE="MIT"
@@ -24,12 +24,12 @@ 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() {
local mycmakeargs=(
-DBUILD_TESTING=$(usex test)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/dev-libs/cppcodec/cppcodec-9999.ebuild b/dev-libs/cppcodec/cppcodec-9999.ebuild
index ed1f2f4c8f3d..c378468fac29 100644
--- a/dev-libs/cppcodec/cppcodec-9999.ebuild
+++ b/dev-libs/cppcodec/cppcodec-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake-utils
+inherit cmake
DESCRIPTION="C++11 library to encode/decode base64, base64url, base32, base32hex and hex"
HOMEPAGE="https://github.com/tplgy/cppcodec"
@@ -16,7 +16,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_SUBMODULES=()
else
SRC_URI="https://github.com/tplgy/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64 ~ppc64 x86"
fi
LICENSE="MIT"
@@ -31,5 +31,5 @@ src_configure() {
local mycmakeargs=(
-DBUILD_TESTING=$(usex test)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/dev-libs/cppcodec/metadata.xml b/dev-libs/cppcodec/metadata.xml
index fc886b24e5c5..817ac46e9543 100644
--- a/dev-libs/cppcodec/metadata.xml
+++ b/dev-libs/cppcodec/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>soap@gentoo.org</email>
diff --git a/dev-libs/cpuinfo/Manifest b/dev-libs/cpuinfo/Manifest
new file mode 100644
index 000000000000..11981c5f1443
--- /dev/null
+++ b/dev-libs/cpuinfo/Manifest
@@ -0,0 +1,4 @@
+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
+DIST cpuinfo-2023.11.04.tar.gz 3516672 BLAKE2B 4f99781081ae7c0736bac35d8f589918be1466763d57d0b0661c7cdf8a24fccee61d87acae314714bad09da2a15d96d9725b7c2b7a6a9945bb320f96c31b3eb7 SHA512 02dd70f0b95c2cb6d8af4e33072f63f5d72d2314796033ae68bb6b37cb7db18d43dd2cdfedafc896dec0614dbeec9ab507f765f3d958fbda8c0ab3e3a191a87c
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/cpuinfo-2023.11.04.ebuild b/dev-libs/cpuinfo/cpuinfo-2023.11.04.ebuild
new file mode 100644
index 000000000000..59286c83bde5
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2023.11.04.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
+
+CommitId=d6860c477c99f1fce9e28eb206891af3c0e1a1d7
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${PN}-2023.01.13-test.patch
+)
+
+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/files/cpuinfo-2023.11.04-gentoo.patch b/dev-libs/cpuinfo/files/cpuinfo-2023.11.04-gentoo.patch
new file mode 100644
index 000000000000..4603ab9dee0e
--- /dev/null
+++ b/dev-libs/cpuinfo/files/cpuinfo-2023.11.04-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
+@@ -130,12 +130,6 @@
+ IF(USE_SYSTEM_GOOGLETEST)
+ FIND_PACKAGE(GTest REQUIRED)
+ ELSEIF(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()
+@@ -344,9 +344,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/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 2c2ab2c4bfe1..9cc211885656 100644
--- a/dev-libs/crc32c/Manifest
+++ b/dev-libs/crc32c/Manifest
@@ -1 +1 @@
-DIST crc32c-1.0.6.tar.gz 29596 BLAKE2B 5806e0a48cb3048c9b07abb75eb232491483176bbeb98bc11ad1b0ef7d4ce89929ad20b0354906fd67e8773541f9913f3948f1db9a3f3987fe7e2ca67e9d2467 SHA512 c30f6510d6348f15dcdddc06e375f21a69681cd615483d67628b32de747e5e98200fa49faf7e3fc30a1302991fd1f9c9a706c9eb4e13c9c6c09e74066474ea7b
+DIST crc32c-1.1.2.tar.gz 29819 BLAKE2B f48720e632b6a4aaab9591651ed92b268bc8fc5faacb01888094af86ecc9dec901be6edc419c534aebf94ade5a2ce2347c0ff2962ba57c62627d6d7c420fc23b SHA512 6325c52b5a6850b9f90086e0c0c86798c008af36e7cfd3a0216184a2d37b3bf7323481ddc6bfe4cbd5b31288b3ee6c69772d03085a13094cf95d00a9756a7196
diff --git a/dev-libs/crc32c/crc32c-1.0.6.ebuild b/dev-libs/crc32c/crc32c-1.0.6.ebuild
deleted file mode 100644
index 9b78af3cda5b..000000000000
--- a/dev-libs/crc32c/crc32c-1.0.6.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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 x86"
-IUSE=""
-
-DOCS=( README.md )
-
-src_configure() {
- local mycmakeargs=(
- -DCRC32C_BUILD_TESTS=OFF
- -DCRC32C_BUILD_BENCHMARKS=OFF
- -DCRC32C_USE_GLOG=OFF
- )
-
- cmake-utils_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.1.1-system-testdeps.patch b/dev-libs/crc32c/files/crc32c-1.1.1-system-testdeps.patch
new file mode 100644
index 000000000000..da513c5d4eda
--- /dev/null
+++ b/dev-libs/crc32c/files/crc32c-1.1.1-system-testdeps.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8490728..c7f0952 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -315,15 +315,7 @@ if(CRC32C_BUILD_TESTS)
+ set(install_gmock OFF)
+
+ # This project is tested using GoogleTest.
+- add_subdirectory("third_party/googletest")
+-
+- # GoogleTest triggers a missing field initializers warning.
+- if(CRC32C_HAVE_NO_MISSING_FIELD_INITIALIZERS)
+- set_property(TARGET gtest
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- set_property(TARGET gmock
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- endif(CRC32C_HAVE_NO_MISSING_FIELD_INITIALIZERS)
++ find_package(GTest REQUIRED)
+
+ add_executable(crc32c_tests "")
+ target_sources(crc32c_tests
diff --git a/dev-libs/crc32c/metadata.xml b/dev-libs/crc32c/metadata.xml
index 87e8aaf70c68..c0c1de470854 100644
--- a/dev-libs/crc32c/metadata.xml
+++ b/dev-libs/crc32c/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>perfinion@gentoo.org</email>
- <name>Jason Zaman</name>
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
</maintainer>
- <longdescription lang="en">
- CRC32C implementation with support for CPU-specific acceleration instructions
- </longdescription>
+ <upstream>
+ <remote-id type="github">google/crc32c</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/criterion/Manifest b/dev-libs/criterion/Manifest
new file mode 100644
index 000000000000..1d6bfd0290c2
--- /dev/null
+++ b/dev-libs/criterion/Manifest
@@ -0,0 +1,5 @@
+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-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/metadata.xml b/dev-libs/criterion/metadata.xml
new file mode 100644
index 000000000000..510109cb3665
--- /dev/null
+++ b/dev-libs/criterion/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>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">Snaipe/Criterion</remote-id>
+ </upstream>
+</pkgmetadata>
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 f2987df8d078..9c61857673ce 100644
--- a/dev-libs/crossguid/crossguid-0_pre20150817.ebuild
+++ b/dev-libs/crossguid/crossguid-0_pre20150817.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
+EAPI=7
inherit toolchain-funcs
@@ -19,8 +19,7 @@ HOMEPAGE="https://github.com/graeme-hill/crossguid"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE=""
+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/crossguid/metadata.xml b/dev-libs/crossguid/metadata.xml
index ea03bb762f8a..347a68ebf522 100644
--- a/dev-libs/crossguid/metadata.xml
+++ b/dev-libs/crossguid/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest
index cc7d5a7d796c..efe260be1d24 100644
--- a/dev-libs/crypto++/Manifest
+++ b/dev-libs/crypto++/Manifest
@@ -1,3 +1,2 @@
-DIST cryptopp565.zip 4220843 BLAKE2B 0c42da3564cdd175c2f2c5c4272caf826f21e47d2271c7f54acab86f5f79dcdad8d6cb946bc88f55fde6189bb2d24ad8fb03dda6b3b8c6f105434b55b8b217d0 SHA512 f13718d02ca69b0129aaf9e767c9d2e0333aa7538355f9c63d9eaf1ff369062084a18dc01489439ebf37797b3ea81b01beb072057d47ec962bfb824ddc72abc7
-DIST cryptopp700.zip 7296665 BLAKE2B 1b1a60e240a9d94b4edfea16beef0ec48ec26c61f7f9a3d89d29bd2e77b13a83ce942f81467bb90d3086253560a3c4acd6b89178dcb416ed4328340ad5222dfd SHA512 8fd8d680e5ceaf10b3c32cb1504bda4b32abc9fcaa2c6e61e3b5e67aca805c792579884bc6a749c29a99105304c421d03d7fe7909fc58f750b3155c7c5cec8ec
-DIST cryptopp820.zip 8859815 BLAKE2B 67aa850b887ae7aa869c9485bb18784492f6eec6cb12bf7c7cf84c776731eabf3c31965b47a60287e4e5a79dd3e9f0928dcfb185a0010a76f7cb96d2c3e8c6ae SHA512 753513a4ec8dd0fff2f551853ce6bd265d82219c28b033565b565b5e567fbee17adb419f4cde58a97e62b7d6533f4099aa4996cd0ba4775c6a2e7ae63a879da5
+DIST cryptopp890.zip 9288053 BLAKE2B 95fe0585cff826587a301dd3df863c39cba889d407bb70ae7b35a4f9a0f7f5fef83b1c65cb95923a05f8ae91f18ed20e88738e8bb081a3f9c8c49c2d67d44ecc SHA512 903970c4c0312272e93bae0cc3477be66b273dd38c9329fda9f7157ec44e247a3bc16b9d2b4ad625f258af0eaf2dc2c4210d4d14829b455f180983859a5c4b41
+DIST cryptopp890.zip.sig 659 BLAKE2B 741ec10a01a444573fbcf749258e26461ff131935fede8f47b3f2dd8c51f3b43a9af894e0e31f9ad925baf451bdd747b7e22cc8b178992e4190bba503f9bf648 SHA512 4891cf446a47000453884f36f4f8db2da254e11b573c02690fd5e1de604f01498a479847a732abaf0f75b1cdf3cd5bc104f6be240d0de6c7184a3651c674ac95
diff --git a/dev-libs/crypto++/crypto++-5.6.5-r1.ebuild b/dev-libs/crypto++/crypto++-5.6.5-r1.ebuild
deleted file mode 100644
index 03281fc62859..000000000000
--- a/dev-libs/crypto++/crypto++-5.6.5-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic 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/5.6" # subslot is so version
-KEYWORDS="alpha amd64 ~arm arm64 hppa ppc ppc64 sparc x86 ~x64-macos"
-IUSE="static-libs"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.6.4-nonative.patch"
- "${FILESDIR}/${P}-CVE-2017-9434.patch"
-)
-
-pkg_setup() {
- export CXX="$(tc-getCXX)"
- export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export PREFIX="${EPREFIX}/usr"
-}
-
-src_compile() {
- # higher optimizations cause problems
- replace-flags -O3 -O2
- # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
- [[ ${CHOST} == *-darwin* ]] && append-cxxflags -DCRYPTOPP_DISABLE_ASM
-
- emake -f GNUmakefile all shared
-}
-
-src_install() {
- default
-
- # remove leftovers as build system sucks
- rm -fr "${ED}"/usr/bin "${ED}"/usr/share/cryptopp
- use static-libs || rm -f "${ED}${EPREFIX}"/usr/$(get_libdir)/*.a
-
- # compatibility
- dosym cryptopp "${EPREFIX}"/usr/include/crypto++
- for f in "${ED}${EPREFIX}"/usr/$(get_libdir)/*; do
- ln -s "$(basename "${f}")" "$(echo "${f}" | sed 's/cryptopp/crypto++/')" || die
- done
-}
-
-pkg_preinst() {
- # we switched directory to symlink
- # make sure portage digests that
- rm -fr "${EROOT}/usr/include/crypto++"
- rm -fr "${EROOT}/usr/include/cryptopp"
-}
diff --git a/dev-libs/crypto++/crypto++-7.0.0-r3.ebuild b/dev-libs/crypto++/crypto++-7.0.0-r3.ebuild
deleted file mode 100644
index b9882c54d476..000000000000
--- a/dev-libs/crypto++/crypto++-7.0.0-r3.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
-
-inherit flag-o-matic 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/7" # subslot is so version
-KEYWORDS="alpha amd64 ~arm arm64 hppa ppc ppc64 sparc x86 ~x64-macos"
-IUSE="+asm static-libs"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-config_uncomment() {
- sed -i -e "s://\s*\(#define\s*$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_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_compile() {
- emake -f GNUmakefile all shared libcryptopp.pc
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}${EPREFIX}"/usr/$(get_libdir)/*.a
-}
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 17988c377227..000000000000
--- a/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic 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_sse2 cpu_flags_x86_sse4_2 cpu_flags_x86_ssse3 static-libs"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-PATCHES=(
- "${FILESDIR}/${P}-build.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
- false || 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}${EPREFIX}"/usr/$(get_libdir)/*.a
-}
diff --git a/dev-libs/crypto++/crypto++-8.2.0.ebuild b/dev-libs/crypto++/crypto++-8.2.0.ebuild
deleted file mode 100644
index 25541d774a79..000000000000
--- a/dev-libs/crypto++/crypto++-8.2.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic 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 static-libs"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
-)
-
-config_uncomment() {
- sed -i -e "s://\s*\(#define\s*$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_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_compile() {
- emake -f GNUmakefile all shared libcryptopp.pc
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}${EPREFIX}"/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++-5.6.4-nonative.patch b/dev-libs/crypto++/files/crypto++-5.6.4-nonative.patch
deleted file mode 100644
index 77d74ee729e9..000000000000
--- a/dev-libs/crypto++/files/crypto++-5.6.4-nonative.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: work/GNUmakefile
-===================================================================
---- work.orig/GNUmakefile
-+++ work/GNUmakefile
-@@ -125,23 +125,6 @@ ifeq ($(IS_X86)$(IS_X32)$(IS_CYGWIN)$(IS
- endif
- endif
-
--# Guard use of -march=native
--ifeq ($(GCC42_OR_LATER)$(IS_NETBSD),10)
-- CXXFLAGS += -march=native
--else ifneq ($(CLANG_COMPILER)$(INTEL_COMPILER),00)
-- CXXFLAGS += -march=native
--else
-- # GCC 3.3 and "unknown option -march="
-- # Ubuntu GCC 4.1 compiler crash with -march=native
-- # NetBSD GCC 4.8 compiler and "bad value (native) for -march= switch"
-- # Sun compiler is handled below
-- ifeq ($(SUN_COMPILER)$(IS_X64),01)
-- CXXFLAGS += -m64
-- else ifeq ($(SUN_COMPILER)$(IS_X86),01)
-- CXXFLAGS += -m32
-- endif # X86/X32/X64
--endif
--
- # Aligned access required for -O3 and above due to vectorization
- UNALIGNED_ACCESS := $(shell $(EGREP) -c "^[[:space:]]*//[[:space:]]*\#[[:space:]]*define[[:space:]]*CRYPTOPP_NO_UNALIGNED_DATA_ACCESS" config.h)
- ifneq ($(UNALIGNED_ACCESS),0)
diff --git a/dev-libs/crypto++/files/crypto++-5.6.5-CVE-2017-9434.patch b/dev-libs/crypto++/files/crypto++-5.6.5-CVE-2017-9434.patch
deleted file mode 100644
index 428f48901a31..000000000000
--- a/dev-libs/crypto++/files/crypto++-5.6.5-CVE-2017-9434.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 07dbcc3d9644b18e05c1776db2a57fe04d780965 Mon Sep 17 00:00:00 2001
-From: Jeffrey Walton <noloader@gmail.com>
-Date: Wed, 10 May 2017 18:17:12 -0400
-Subject: [PATCH] Add Inflator::BadDistanceErr exception (Issue 414) The
- improved validation and excpetion clears the Address Sanitizer and Undefined
- Behavior Sanitizer findings
-
----
- zinflate.cpp | 8 +++++++-
- zinflate.h | 4 ++++
- 3 files changed, 14 insertions(+), 4 deletions(-)
-
-diff --git a/zinflate.cpp b/zinflate.cpp
-index 664efe6..fbd7505 100644
---- a/zinflate.cpp
-+++ b/zinflate.cpp
-@@ -550,12 +550,16 @@ bool Inflator::DecodeBody()
- break;
- }
- case DISTANCE_BITS:
-+ if (m_distance >= COUNTOF(distanceExtraBits))
-+ throw BadDistanceErr();
- bits = distanceExtraBits[m_distance];
- if (!m_reader.FillBuffer(bits))
- {
- m_nextDecode = DISTANCE_BITS;
- break;
- }
-+ if (m_distance >= COUNTOF(distanceStarts))
-+ throw BadDistanceErr();
- m_distance = m_reader.GetBits(bits) + distanceStarts[m_distance];
- OutputPast(m_literal, m_distance);
- }
-diff --git a/zinflate.h b/zinflate.h
-index e2fd237..c47d2f6 100644
---- a/zinflate.h
-+++ b/zinflate.h
-@@ -96,6 +96,7 @@ public:
- };
- class UnexpectedEndErr : public Err {public: UnexpectedEndErr() : Err(INVALID_DATA_FORMAT, "Inflator: unexpected end of compressed block") {}};
- class BadBlockErr : public Err {public: BadBlockErr() : Err(INVALID_DATA_FORMAT, "Inflator: error in compressed block") {}};
-+ class BadDistanceErr : public Err {public: BadDistanceErr() : Err(INVALID_DATA_FORMAT, "Inflator: error in bit distance") {}};
-
- //! \brief RFC 1951 Decompressor
- //! \param attachment the filter's attached transformation
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++/metadata.xml b/dev-libs/crypto++/metadata.xml
index 3227b3be7c78..350684939bd1 100644
--- a/dev-libs/crypto++/metadata.xml
+++ b/dev-libs/crypto++/metadata.xml
@@ -1,21 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
- <maintainer type="person">
- <email>noloader@gmail.com</email>
- <name>Jeffrey Walton</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>
- <slots>
- <subslots>so version</subslots>
- </slots>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">weidai11/cryptopp</remote-id>
+ </upstream>
+ <slots>
+ <subslots>so version</subslots>
+ </slots>
</pkgmetadata>
diff --git a/dev-libs/cudnn-frontend/Manifest b/dev-libs/cudnn-frontend/Manifest
new file mode 100644
index 000000000000..87fb519735df
--- /dev/null
+++ b/dev-libs/cudnn-frontend/Manifest
@@ -0,0 +1,5 @@
+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
+DIST cudnn-frontend-1.0.3.tar.gz 423596 BLAKE2B a7bf970dac5e9977a1c80609cdd169ec5764f366880030329372ec0ac49668ddf67ee33a4a19df6b9f799832fa857f62f94e27ea055f3549ac209ab9f564c28a SHA512 2ad346c52e03589e9edcc0ef8ee0fe48fdc6f73aa8136f9f3729796d5ce60718b486fc8a1036fbdcee2cc899c633a11f1fce9204417a0fb14333a4b51a749db0
+DIST cudnn-frontend-1.1.2.tar.gz 436616 BLAKE2B 9749219fd176fa8eba50e3ab6c63940dce95a095a850bfd9747f47cc91e077792c184d8d0629be31865eab6d6cda627c948de744d5f6d6d9522c1a91931d26f5 SHA512 88407f75ec82c2e04fe72148090f0f56a56a088dccd6beab850df6f761ad8ed7527391c80e667dd2073b8313d0416dbd28eca92dd18a538a3fdbc420c13f552c
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/cudnn-frontend-1.0.3.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-1.0.3.ebuild
new file mode 100644
index 000000000000..10648668e6c9
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-1.0.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 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-1.1.2.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-1.1.2.ebuild
new file mode 100644
index 000000000000..10648668e6c9
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-1.1.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 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..48b6ae08078d
--- /dev/null
+++ b/dev-libs/cudnn-frontend/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/cudnn-frontend</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cudnn/Manifest b/dev-libs/cudnn/Manifest
index a0f62215b122..9c34802ba57a 100644
--- a/dev-libs/cudnn/Manifest
+++ b/dev-libs/cudnn/Manifest
@@ -1,8 +1,2 @@
-DIST cudnn-10.0-linux-x64-v7.4.1.5.tgz 422699128 BLAKE2B e13b22428f011a4ad6532bfa35d836f23ea6298ad220eaea6c3a6fac7694f1c6b6920255690fac10d84388fb2bec7cc60a0319bd1816b20eac134c7b112822b9 SHA512 fd065c23b27416e2ace5f0eee854ea4a5e04f6ab4cf3a38cf806bb37a45d29756c3f138dfa01b991e96410de3668e0bb9d3cfc19cb7da7113c1f10d4147fcf67
-DIST cudnn-10.0-linux-x64-v7.4.2.24.tgz 424488399 BLAKE2B 9883cccf146e3ca3a05b8e7ebb2d265da3b7e05949ebb76369a865aa1c2c55c217b21a7847417264712882cc882b25380e5978e58c74279eb208ec593d85e919 SHA512 1e1533a62355bbebc3df62b4c0f306195c7301334390511fae2e0f071d58451edda69b72c3a257fd16470fe3ac5d3ec00aaf208dee2e30d7db0c1f9300a9c663
-DIST cudnn-10.1-linux-x64-v7.5.0.56.tgz 471291852 BLAKE2B 966a84e983631c827d7852e1dee0a87d80b61521a3c7c836c746f6ce5b60afb1da955a692dce5f0166600707c1f060231d7062d78acdf6085deb37c023301b8d SHA512 875e50669f7ab0b8f52e793285041c0a33dfc951a562869258dd22f85c94cc924c87325253f39fa64c4386768eafd3b0fe181188ef6dd5707f57fc88a6495e36
-DIST cudnn-10.1-linux-x64-v7.6.0.64.tgz 500810447 BLAKE2B cfe884dd3b2a5ca4641844a0b5df22420148bcd9092b9ad81a45560f901d36e3ab228e7b5fed85519094f4b68be46cbb631368d67166cbef2546b94185a9058d SHA512 c8d2c6efdb79940f5d475057b1e11246038b894990f58a620635e03d561ec3987806c0bccee8c12d0d3d8c4b5bf5211e46faa2c12918520af61f36bd36eb1738
-DIST cudnn-10.1-linux-x64-v7.6.1.34.tgz 521806738 BLAKE2B 9804ed394cf58f0c415d454ce83503db3faff74181e3746eabbae648cf85718ccfdcc1b64877e30e367a285294665975169fe1f992c27ac12b65d340784079a8 SHA512 81dc9a3d07885996b3b7141ea9785768dd6e266d138a671b934139b38ac1dcab0ffdb97617b308a9f492b5b163cb4dd65972e24de98499a2ecbed2bd261c1244
-DIST cudnn-8.0-linux-x64-v6.0.tgz 201134139 BLAKE2B a7e616c671272a3a0f0c51b93646c8c60302c3dec85b71144e011bc3460d0ce80ff75d39869c05c4ef183d2d09aff31bb470a3fd3fd3d79b581a7a2d5a349279 SHA512 ddeeacb5b449920d942a26b98c353d78fd6f7d7fb3b3ce42a078626473efdda25c7ae641232702d62eb5749e39ecfd03e88346119c920c19348ac3ee82d3ff47
-DIST cudnn-9.1-linux-x64-v7.tgz 343081241 BLAKE2B 22c2fbef38a05e7929ccc28410dfdbff906b2c3e97e0419cf83988c2fc2340005e4a944d43b1a215b0c3458b2cad03480b7e537ae93861924c28ec1010a530fb SHA512 7eadb64a3d5e49aec2761e6f7dc0295c1d356910b114eed450c47081fc81b6e3b7748f3a4153f6a9d957691e3689cd52823bfa12816b1950dfc8794d6f332749
-DIST cudnn-9.2-linux-x64-v7.1.tgz 421083972 BLAKE2B 1a1dd6708132d6ad6f8f541694b1406de4a26b7bb78b6198bc8ec5ddde2172d0cc0dc540c7c446a2f941ad11cfafa562235d17129ab8e6aa641433c35c8d31d6 SHA512 2f67c905976eb041512eb012a7cc98e1f408ec867f6a1d9d440afbcddc622c03c40de10386e44e4ab138c1a4ad040d39b0e9243f68e22975ca27ec297be25c5d
+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-6.0.ebuild b/dev-libs/cudnn/cudnn-6.0.ebuild
deleted file mode 100644
index 233215c6c587..000000000000
--- a/dev-libs/cudnn/cudnn-6.0.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
-
-CUDA_PV=8.0
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${PV}.tgz"
-
-SLOT="0/6"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-
-S="${WORKDIR}"
-
-DEPENDS="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPENDS="${DEPENDS}"
-
-src_install() {
- insinto /opt
- doins -r *
-}
diff --git a/dev-libs/cudnn/cudnn-7.0.5-r1.ebuild b/dev-libs/cudnn/cudnn-7.0.5-r1.ebuild
deleted file mode 100644
index 219fb86f697f..000000000000
--- a/dev-libs/cudnn/cudnn-7.0.5-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-CUDA_PV=9.1
-
-inherit versionator
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-
-MY_PV_MAJOR=$(get_major_version)
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${MY_PV_MAJOR}.tgz"
-
-SLOT="0/7"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-
-S="${WORKDIR}"
-
-DEPEND="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt
- doins -r *
-}
diff --git a/dev-libs/cudnn/cudnn-7.1.4.ebuild b/dev-libs/cudnn/cudnn-7.1.4.ebuild
deleted file mode 100644
index af229d78d73f..000000000000
--- a/dev-libs/cudnn/cudnn-7.1.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CUDA_PV=9.2
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-
-MY_PV_MAJOR=$(ver_cut 1-2)
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${MY_PV_MAJOR}.tgz"
-
-SLOT="0/7"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-QA_PREBUILT="*"
-
-S="${WORKDIR}"
-
-DEPEND="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt
- doins -r *
-}
diff --git a/dev-libs/cudnn/cudnn-7.4.1.5.ebuild b/dev-libs/cudnn/cudnn-7.4.1.5.ebuild
deleted file mode 100644
index 12b9a675c0be..000000000000
--- a/dev-libs/cudnn/cudnn-7.4.1.5.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CUDA_PV=10.0
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-
-MY_PV_MAJOR=$(ver_cut 1-2)
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${PV}.tgz"
-
-SLOT="0/7"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-QA_PREBUILT="*"
-
-S="${WORKDIR}"
-
-DEPEND="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt
- doins -r *
-}
diff --git a/dev-libs/cudnn/cudnn-7.4.2.24.ebuild b/dev-libs/cudnn/cudnn-7.4.2.24.ebuild
deleted file mode 100644
index 12b9a675c0be..000000000000
--- a/dev-libs/cudnn/cudnn-7.4.2.24.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CUDA_PV=10.0
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-
-MY_PV_MAJOR=$(ver_cut 1-2)
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${PV}.tgz"
-
-SLOT="0/7"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-QA_PREBUILT="*"
-
-S="${WORKDIR}"
-
-DEPEND="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt
- doins -r *
-}
diff --git a/dev-libs/cudnn/cudnn-7.5.0.56.ebuild b/dev-libs/cudnn/cudnn-7.5.0.56.ebuild
deleted file mode 100644
index 2f134235f5ae..000000000000
--- a/dev-libs/cudnn/cudnn-7.5.0.56.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
-
-CUDA_PV=10.1
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-
-MY_PV_MAJOR=$(ver_cut 1-2)
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${PV}.tgz"
-
-SLOT="0/7"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-QA_PREBUILT="*"
-
-S="${WORKDIR}"
-
-DEPEND="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt/cuda
- doins cuda/NVIDIA_SLA_cuDNN_Support.txt
-
- insinto /opt/cuda/targets/x86_64-linux/include
- doins -r cuda/include/*
-
- insinto /opt/cuda/targets/x86_64-linux/lib
- doins -r cuda/lib*/*
-}
diff --git a/dev-libs/cudnn/cudnn-7.6.0.64.ebuild b/dev-libs/cudnn/cudnn-7.6.0.64.ebuild
deleted file mode 100644
index 2f134235f5ae..000000000000
--- a/dev-libs/cudnn/cudnn-7.6.0.64.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
-
-CUDA_PV=10.1
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-
-MY_PV_MAJOR=$(ver_cut 1-2)
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${PV}.tgz"
-
-SLOT="0/7"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-QA_PREBUILT="*"
-
-S="${WORKDIR}"
-
-DEPEND="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt/cuda
- doins cuda/NVIDIA_SLA_cuDNN_Support.txt
-
- insinto /opt/cuda/targets/x86_64-linux/include
- doins -r cuda/include/*
-
- insinto /opt/cuda/targets/x86_64-linux/lib
- doins -r cuda/lib*/*
-}
diff --git a/dev-libs/cudnn/cudnn-7.6.1.34.ebuild b/dev-libs/cudnn/cudnn-7.6.1.34.ebuild
deleted file mode 100644
index 2f134235f5ae..000000000000
--- a/dev-libs/cudnn/cudnn-7.6.1.34.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
-
-CUDA_PV=10.1
-
-DESCRIPTION="NVIDIA Accelerated Deep Learning on GPU library"
-HOMEPAGE="https://developer.nvidia.com/cuDNN"
-
-MY_PV_MAJOR=$(ver_cut 1-2)
-SRC_URI="cudnn-${CUDA_PV}-linux-x64-v${PV}.tgz"
-
-SLOT="0/7"
-KEYWORDS="~amd64 ~amd64-linux"
-RESTRICT="fetch"
-LICENSE="NVIDIA-cuDNN"
-QA_PREBUILT="*"
-
-S="${WORKDIR}"
-
-DEPEND="=dev-util/nvidia-cuda-toolkit-${CUDA_PV}*"
-RDEPEND="${DEPEND}"
-
-src_install() {
- insinto /opt/cuda
- doins cuda/NVIDIA_SLA_cuDNN_Support.txt
-
- insinto /opt/cuda/targets/x86_64-linux/include
- doins -r cuda/include/*
-
- insinto /opt/cuda/targets/x86_64-linux/lib
- doins -r cuda/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 8425c0d53cb0..c0cd18916a93 100644
--- a/dev-libs/cudnn/metadata.xml
+++ b/dev-libs/cudnn/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/cutlass/Manifest b/dev-libs/cutlass/Manifest
new file mode 100644
index 000000000000..a597ef5b7303
--- /dev/null
+++ b/dev-libs/cutlass/Manifest
@@ -0,0 +1,2 @@
+DIST cutlass-3.3.0.tar.gz 20850597 BLAKE2B 07dc1f503395cfed1efb51871baa4ca7890fc4c871cb146933590c51599b4114fd38099bfcd84d8b0b76b876cc6e9f3bb8f42a3f9a7c9321185f7d880609a5da SHA512 c950ab718e67ffc972911b81890eae767a27d32dfc13f72b91e21e7c6b98eadfb3a5eebb9683091e61aed61709481451cfcd95d660e723686bf79a155e9f0b17
+DIST cutlass-3.4.1.tar.gz 23351905 BLAKE2B 6524d70a4f65fc28c7150aa44bfbb5cc64c1b5e885e645d0e58d96dd1c03565c564e8f55f6f0275f2c607d7877e9380e90e424da3eaf44cc6e8997271c5d519d SHA512 c2ff60af28de951cf4420b163ba2dfc46d30c98fe9e6e765cd1e0be89bf9292e057542ec7061c043c42225b74d970f95f675d366db64105a5c103bb165183ab5
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/cutlass-3.4.1.ebuild b/dev-libs/cutlass/cutlass-3.4.1.ebuild
new file mode 100644
index 000000000000..7ba922d88c71
--- /dev/null
+++ b/dev-libs/cutlass/cutlass-3.4.1.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/cvector/Manifest b/dev-libs/cvector/Manifest
index a1f798391aa6..2f47d3e9f154 100644
--- a/dev-libs/cvector/Manifest
+++ b/dev-libs/cvector/Manifest
@@ -1,2 +1 @@
DIST CVector-1.0.3.1.tar.gz 19761 BLAKE2B a744e810018c1769a3f9d623c43e86a52d5f1c7b6502761768686e5b52e88c34c32f056d937a395c903a82224d503d2843bb3516c297b61cb87cec589ff9758e SHA512 41300e46873efa8a2cfc44c76788025385fa7b7a108cf9dd95e4e28d515d825d4a44786a7ffb130d727a42907d56e4f62e6f75a02c96333b6afdc06c336d538e
-DIST CVector-1.0.3.tar.gz 41642 BLAKE2B c8e536340a703ea7363efe763d9cbea58af68278d0c21eed926704af52a28082785bdcdd67f2a1c5a47732cabe3ca801c7e4fba204c2a8d7c2d8298e272035cd SHA512 f43030d95aeb6ef230dada13903ad56049acd15379a0c04e08b6ce8d7df7baffa3bac166af0c3c93f018e00058e07680af655e71bc0d542a6da2ad1f18e95788
diff --git a/dev-libs/cvector/cvector-1.0.3-r1.ebuild b/dev-libs/cvector/cvector-1.0.3-r1.ebuild
deleted file mode 100644
index 66e34fe08965..000000000000
--- a/dev-libs/cvector/cvector-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit base eutils toolchain-funcs versionator
-
-MY_PN=CVector
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="An ANSI C implementation of dynamic arrays (Approximation of C++ vectors)"
-HOMEPAGE="http://cvector.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}/${MY_P}/${MY_P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-S="${WORKDIR}"/${MY_P}
-
-PATCHES=(
- "${FILESDIR}"/${PV}-LDFLAGS.patch
- "${FILESDIR}"/${PV}-dynlib.patch
- )
-
-src_compile() {
- emake \
- CC=$(tc-getCC) \
- CXX=$(tc-getCXX) \
- CFLAGS="${CFLAGS}" \
- all || die
-}
-
-src_install() {
- dolib.so *.so.${PV} || die
- dosym libCVector.so.${PV} /usr/$(get_libdir)/libCVector.so.$(get_version_component_range 1-2) || die
- dosym libCVector.so.${PV} /usr/$(get_libdir)/libCVector.so.$(get_major_version) || die
- dosym libCVector.so.${PV} /usr/$(get_libdir)/libCVector.so || die
-
- insinto /usr/include
- doins *.h || die
-
- dodoc README_CVector.txt || die
-}
diff --git a/dev-libs/cvector/cvector-1.0.3.1.ebuild b/dev-libs/cvector/cvector-1.0.3.1.ebuild
index 8ed823a39a98..db39343b5a49 100644
--- a/dev-libs/cvector/cvector-1.0.3.1.ebuild
+++ b/dev-libs/cvector/cvector-1.0.3.1.ebuild
@@ -1,42 +1,40 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit base eutils toolchain-funcs versionator
+inherit toolchain-funcs
MY_PN=CVector
MY_P="${MY_PN}-${PV}"
DESCRIPTION="An ANSI C implementation of dynamic arrays (approximation of C++ vectors)"
HOMEPAGE="http://cvector.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}/${MY_PN}-$(get_version_component_range 1-3)/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${MY_PN}-$(ver_cut 1-3)/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-S="${WORKDIR}"/${MY_P}
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
PATCHES=(
"${FILESDIR}"/${P}-LDFLAGS.patch
"${FILESDIR}"/1.0.3-dynlib.patch
- )
+)
src_compile() {
emake \
- CC=$(tc-getCC) \
- CXX=$(tc-getCXX) \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
CFLAGS="${CFLAGS}" \
all
}
src_install() {
- ln -sf libCVector.so.$(get_version_component_range 1-3) libCVector.so.$(get_major_version) || die
- ln -sf libCVector.so.$(get_version_component_range 1-3) libCVector.so || die
- dolib.so libCVector.so*
+ ln -sf libCVector.so.$(ver_cut 1-3) libCVector.so.$(ver_cut 1) || die
+ ln -sf libCVector.so.$(ver_cut 1-3) libCVector.so || die
+ dolib.so libCVector.so*
doheader *.h
dodoc README_CVector.txt
diff --git a/dev-libs/cvector/files/1.0.3-LDFLAGS.patch b/dev-libs/cvector/files/1.0.3-LDFLAGS.patch
deleted file mode 100644
index 7e54e8120245..000000000000
--- a/dev-libs/cvector/files/1.0.3-LDFLAGS.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- Makefile 2009-07-08 04:02:56.000000000 +0200
-+++ Makefile.new 2009-07-25 11:59:27.000000000 +0200
-@@ -89,10 +89,10 @@
- endif
-
- COMPILE_COMMAND = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
--LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined -rpath $(INSTALL_PREFIX)/lib
--BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
--BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -shared -I $(INSTALL_PREFIX)/include
--BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(INSTALL_PREFIX)/include
-+LIBRARY_LINK_COMMAND = $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -release $(RELEASE) -no-undefined $(LDFLAGS)
-+BUILD_COMMAND_LOCAL = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS)
-+BUILD_COMMAND_DYNAMIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -shared
-+BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -static
- INSTALL_COMMAND = $(LIBTOOL) --mode=install cp
- INSTALL_FINISH_COMMAND = $(LIBTOOL) --mode=finish
-
diff --git a/dev-libs/cvector/files/1.0.3-dynlib.patch b/dev-libs/cvector/files/1.0.3-dynlib.patch
index 219f258136ed..072453e3067e 100644
--- a/dev-libs/cvector/files/1.0.3-dynlib.patch
+++ b/dev-libs/cvector/files/1.0.3-dynlib.patch
@@ -1,5 +1,3 @@
-diff --git a/Makefile b/Makefile
-index 865db81..2691108 100644
--- a/Makefile
+++ b/Makefile
@@ -96,8 +96,8 @@ BUILD_COMMAND_STATIC = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static -I $(IN
diff --git a/dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch b/dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch
index 8bed3ab01546..3bbc65f40789 100644
--- a/dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch
+++ b/dev-libs/cvector/files/cvector-1.0.3.1-LDFLAGS.patch
@@ -1,5 +1,5 @@
---- Makefile 2009-07-08 04:02:56.000000000 +0200
-+++ Makefile.new 2009-07-25 11:59:27.000000000 +0200
+--- a/Makefile
++++ b/Makefile
@@ -89,10 +89,10 @@
endif
diff --git a/dev-libs/cvector/metadata.xml b/dev-libs/cvector/metadata.xml
index 2c5e6c6b7449..51d0f2eebc56 100644
--- a/dev-libs/cvector/metadata.xml
+++ b/dev-libs/cvector/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/dev-libs/cxxopts/Manifest b/dev-libs/cxxopts/Manifest
new file mode 100644
index 000000000000..7c4f5f353d16
--- /dev/null
+++ b/dev-libs/cxxopts/Manifest
@@ -0,0 +1,2 @@
+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-3.0.0-r1.ebuild b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..cfa9beee715a
--- /dev/null
+++ b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
@@ -0,0 +1,37 @@
+# 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 ~riscv ~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
new file mode 100644
index 000000000000..25f5685fac2b
--- /dev/null
+++ b/dev-libs/cxxopts/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>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/Manifest b/dev-libs/cxxtools/Manifest
index 68bcd23d52bf..3c066831411b 100644
--- a/dev-libs/cxxtools/Manifest
+++ b/dev-libs/cxxtools/Manifest
@@ -1 +1 @@
-DIST cxxtools-2.2.1.tar.gz 821324 BLAKE2B 95139a3862a7c2e6652b475527bf0946e0921e0e80fafa0731c3a9ca3dd57a9383ebde080eebdfb80ae572aa5638316ddcf81e032195e162e3aa58289675e643 SHA512 b6dc3f63c39fbbc35af973eea668a44d30673140c72bfa7efbdc21a71816be2983e85312b9213264d4f5162c3e420eedb41974bacb7fe8176f2a069b6f8f6f7b
+DIST cxxtools-3.0.tar.gz 1079247 BLAKE2B 536680373e194dbdb6a79bdb09960830b6aad34c2657a0024b218321154de81653f1e47db13abfcf13f0179fa6f85e0a30a4b97f0e64ca0ac5f1cc7be003270d SHA512 839be18a8bf40c1cbaa016ac50ddacfd879d1f9bea6521209c65790d67d5ee81377519aac2fb373a5de154a293e33185401848e41a697aa57ad6aa42d4854250
diff --git a/dev-libs/cxxtools/cxxtools-2.2.1.ebuild b/dev-libs/cxxtools/cxxtools-2.2.1.ebuild
deleted file mode 100644
index d839e3a06acd..000000000000
--- a/dev-libs/cxxtools/cxxtools-2.2.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~sparc x86"
-IUSE=""
-
-RDEPEND="virtual/libiconv"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- econf \
- --disable-dependency-tracking \
- --disable-demos \
- --disable-unittest
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS ChangeLog
-}
diff --git a/dev-libs/cxxtools/cxxtools-3.0-r1.ebuild b/dev-libs/cxxtools/cxxtools-3.0-r1.ebuild
new file mode 100644
index 000000000000..0ed30bef3c1c
--- /dev/null
+++ b/dev-libs/cxxtools/cxxtools-3.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+
+RDEPEND="virtual/libiconv"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS )
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-demos \
+ --disable-unittest
+
+ eapply "${FILESDIR}/${P}_gcc11.patch"
+
+ default
+}
+
+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/cxxtools-3.0-r2.ebuild b/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
new file mode 100644
index 000000000000..bdbcfe76412b
--- /dev/null
+++ b/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021-2024 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/cxxtools-3.0.ebuild b/dev-libs/cxxtools/cxxtools-3.0.ebuild
new file mode 100644
index 000000000000..23367377184d
--- /dev/null
+++ b/dev-libs/cxxtools/cxxtools-3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+
+RDEPEND="virtual/libiconv"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS )
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-demos \
+ --disable-unittest
+
+ default
+}
+
+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/cxxtools/files/cxxtools-3.0_gcc11.patch b/dev-libs/cxxtools/files/cxxtools-3.0_gcc11.patch
new file mode 100644
index 000000000000..d8fb34886420
--- /dev/null
+++ b/dev-libs/cxxtools/files/cxxtools-3.0_gcc11.patch
@@ -0,0 +1,23 @@
+compilefix gcc 11
+
+based on compile fix from upstream
+https://www.gitmemory.com/issue/maekitalo/cxxtools/30/770247974
+
+Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org> (09 May 2021)
+diff -Naur cxxtools-3.0.orig/include/cxxtools/char.h cxxtools-3.0/include/cxxtools/char.h
+--- cxxtools-3.0.orig/include/cxxtools/char.h 2021-05-09 18:32:41.415653108 +0200
++++ cxxtools-3.0/include/cxxtools/char.h 2021-05-09 18:33:56.117653108 +0200
+@@ -68,9 +68,10 @@
+ typedef int32_t value_type;
+
+ //! Constructs a character with a value of 0.
+- Char()
+- : _value(0)
+- {}
++// Char()
++// : _value(0)
++// {}
++ Char() = default;
+
+ //! Constructs a character using the given value as base for the character value.
+ Char(value_type ch)
diff --git a/dev-libs/cxxtools/metadata.xml b/dev-libs/cxxtools/metadata.xml
index 27f419c289c3..b038c919cd23 100644
--- a/dev-libs/cxxtools/metadata.xml
+++ b/dev-libs/cxxtools/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>vdr@gentoo.org</email>
diff --git a/dev-libs/cyberjack/Manifest b/dev-libs/cyberjack/Manifest
index 9eb7b2b29d1c..bd3b2297ca4b 100644
--- a/dev-libs/cyberjack/Manifest
+++ b/dev-libs/cyberjack/Manifest
@@ -1,3 +1 @@
-DIST pcsc-cyberjack-3.99.5final.SP11.tar.bz2 965662 BLAKE2B 568eb77c9b35557fb9f4c4f038cf6d7cd3700938fe905c8c3587ee6bd4254595d6665f199913bde3c4f03050d8e8c6006dee9222941ad1dfd0190fa33283f15c SHA512 4d63ef0442c7e919456e8b6ab1d571ab621eb45fc34fc9b61a7a024f1ae2115f7474b4aa538ee7fb8bf4ce016067c876d9970b52e6b4e8b531e2d736677ab794
-DIST pcsc-cyberjack-3.99.5final.SP12.tar.bz2 957583 BLAKE2B 02499e2e366a2caaf4881ff3db99600990ef18ef2b4dc202c5d66a2e708f5107b4c76b56021349c8e4169be2e1d12de0317680ea9502a65a89c96969b8341e13 SHA512 53993471c96caa5a802c0aff32595698dfd550f89906f2141f4d89db75da0870da60f62565604485643dfd1af35a06dde7f895b4a9fa6b39634ee8d5692b50fd
-DIST pcsc-cyberjack_3.99.5final.SP13.tar.gz 1617714 BLAKE2B 344f00217fa5dfb18e5318d2b8ccb88a3cc12b86a9c14d41a9800d701d0fc7a0a486a0b3c05188d07d1f7c51c4c514c48a55d987d8d9d2af574f427e550c8654 SHA512 74ac56a0f74a69006c87e2c22e147b65d26582d29753de03d56e4ad76413f4477a031d47f5eb074323b4ffd000b0908a1fb2b12fb7d91e9b3ee67e983e09e968
+DIST pcsc-cyberjack-3.99.5final.SP16.tar.bz2 1787299 BLAKE2B 79345a5c51be99eedb9154737e5d8014c2f6034031ca8acfb419d9fe4ecfda1739a84f1b56e275ee0aabf500b87a789255980ef05f4441f10250c6adceebe86a SHA512 ece83377b935b6f4de065c10b340aea91d69c54ff38f73e058f5e31fd75afe1e2d3fe9be2e1423a5e3a0da17d9afa5db7684e85805af34e751d07188f894b2d7
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p11.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p11.ebuild
deleted file mode 100644
index 72c222da879f..000000000000
--- a/dev-libs/cyberjack/cyberjack-3.99.5_p11.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools versionator eutils linux-info toolchain-funcs udev
-
-MY_PV="${PV/_p/_SP}"
-MY_PV2="${PV/_p/final.SP}"
-MY_P="pcsc-${PN}-${MY_PV2}"
-#MY_P2="${PN}-$(get_version_component_range 4 $MY_PV)"
-
-DESCRIPTION="REINER SCT cyberJack pinpad/e-com USB user space driver library"
-HOMEPAGE="http://www.reiner-sct.de/"
-SRC_URI="http://support.reiner-sct.de/downloads/LINUX/V${MY_PV}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs threads +udev +usb"
-
-# FIXME:
-# xml is actually optional but the code is still used anyway. We'll have to wait
-# until upstream fixed it.
-COMMON_DEPEND="sys-apps/pcsc-lite
- usb? ( virtual/libusb:1 )"
-RDEPEND="${COMMON_DEPEND}
- udev? ( virtual/udev )"
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig"
-
-#S=${WORKDIR}/${MY_P2}
-S=${WORKDIR}/${MY_P}
-
-DOCS="debian/changelog doc/README.txt"
-
-pkg_setup() {
- CONFIG_CHECK="~USB_SERIAL_CYBERJACK"
- linux-info_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-manpages.patch"
- epatch "${FILESDIR}/${PN}-returnvalue.patch"
- eautoreconf
-}
-
-src_configure() {
- econf \
- --sysconfdir=/etc/${PN} \
- --disable-hal \
- --enable-pcsc \
- $(use_enable static-libs static) \
- $(use_enable usb nonserial) \
- $(use_enable threads) \
- --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
-}
-
-src_install() {
- default
-
- prune_libtool_files --all
-
- use udev && udev_newrules "${FILESDIR}"/${PN}-r1.rules 92-${PN}.rules #388329
-}
-
-pkg_postinst() {
- local conf="${EROOT}etc/${PN}/${PN}.conf"
- elog
- elog "To configure logging, key beep behaviour etc. you need to"
- elog "copy ${conf}.default"
- elog "to ${conf}"
- elog "and modify the latter as needed."
- elog
-}
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p12.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p12.ebuild
deleted file mode 100644
index be9c7598650b..000000000000
--- a/dev-libs/cyberjack/cyberjack-3.99.5_p12.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2018 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 linux-info 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"
-
-KEYWORDS="~amd64 ~x86"
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs threads tools +udev +usb xml"
-
-RDEPEND="
- sys-apps/pcsc-lite
- usb? ( virtual/libusb:1 )
- udev? ( virtual/udev )
- xml? ( dev-libs/libxml2:2= )
-"
-
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-CONFIG_CHECK="~USB_SERIAL_CYBERJACK"
-
-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-pcsc
- --enable-release
- --enable-warnings
- --sysconfdir="/etc/cyberjack"
- $(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable udev)
- $(use_enable usb nonserial)
- $(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 debian/libifd-cyberjack6.udev 99-${PN}.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_p13.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p13.ebuild
deleted file mode 100644
index edde80805904..000000000000
--- a/dev-libs/cyberjack/cyberjack-3.99.5_p13.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2019 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 linux-info 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"
-
-KEYWORDS="amd64 x86"
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs threads tools +udev +usb xml"
-
-RDEPEND="
- sys-apps/pcsc-lite
- usb? ( virtual/libusb:1 )
- udev? ( virtual/udev )
- xml? ( dev-libs/libxml2:2= )
-"
-
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P/_/-}"
-
-CONFIG_CHECK="~USB_SERIAL_CYBERJACK"
-
-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-pcsc
- --enable-release
- --enable-warnings
- --sysconfdir="/etc/cyberjack"
- $(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable udev)
- $(use_enable usb nonserial)
- $(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 debian/libifd-cyberjack6.udev 99-${PN}.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/cyberjack/files/cyberjack-3.99.5_p14-gcc10.patch b/dev-libs/cyberjack/files/cyberjack-3.99.5_p14-gcc10.patch
new file mode 100644
index 000000000000..a91ee2e2ba42
--- /dev/null
+++ b/dev-libs/cyberjack/files/cyberjack-3.99.5_p14-gcc10.patch
@@ -0,0 +1,13 @@
+Fixes compilation with GCC10.
+
+--- a/ifd/ifd.cpp
++++ b/ifd/ifd.cpp
+@@ -958,7 +958,7 @@
+ else
+ l_atrLength=0;
+ rj=r->IfdPower(mode, Atr, &l_atrLength);
+- switch (rj) {
++ switch (static_cast<NTSTATUS>(rj)) {
+ case STATUS_SUCCESS:
+ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Success (ATR: %d bytes)\n", (int)l_atrLength);
+ rc=IFD_SUCCESS;
diff --git a/dev-libs/cyberjack/files/cyberjack-manpages.patch b/dev-libs/cyberjack/files/cyberjack-manpages.patch
deleted file mode 100644
index 98568f34910d..000000000000
--- a/dev-libs/cyberjack/files/cyberjack-manpages.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From e5d3ac2ab70cb773671a63dfed45816d6e24d36d Mon Sep 17 00:00:00 2001
-From: Christian Ruppert <idl0r@gentoo.org>
-Date: Thu, 13 Feb 2014 21:40:48 +0100
-Subject: [PATCH 1/3] Fix installation of man pages
-
-Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
----
- doc/Makefile.am | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index a0a68f4..cba2e30 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -6,14 +6,12 @@ DOCFILES=\
- #docfiledir=$(datarootdir)/doc/$(PACKAGE)
- #docfile_DATA=$(DOCFILES)
-
--manpagedir=$(mandir)
--manpage_DATA= \
-- cyberjack.8
-+man8_MANS=cyberjack.8
-
- EXTRA_DIST=\
- README.xml LIESMICH.xml \
- verifypin_ascii.c verifypin_fpin2.c \
-- $(DOCFILES) $(manpage_DATA)
-+ $(DOCFILES) $(man8_MANS)
-
-
- %.ps: %.xml
---
-1.8.3.2
-
diff --git a/dev-libs/cyberjack/files/cyberjack-r1.rules b/dev-libs/cyberjack/files/cyberjack-r1.rules
deleted file mode 100644
index 775ed4cb592d..000000000000
--- a/dev-libs/cyberjack/files/cyberjack-r1.rules
+++ /dev/null
@@ -1,18 +0,0 @@
-# If not adding the device, go away
-ACTION!="add", GOTO="cyberjack_rules_end"
-SUBSYSTEM!="usb", GOTO="cyberjack_rules_end"
-ENV{DEVTYPE}!="usb_device", GOTO="cyberjack_rules_end"
-
-
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0300", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0400", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0401", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0500", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0501", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0502", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0504", MODE="660", GROUP="pcscd"
-ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0505", MODE="660", GROUP="pcscd"
-
-# All done
-LABEL="cyberjack_rules_end"
diff --git a/dev-libs/cyberjack/files/cyberjack-returnvalue.patch b/dev-libs/cyberjack/files/cyberjack-returnvalue.patch
deleted file mode 100644
index 0bdf275ff0c8..000000000000
--- a/dev-libs/cyberjack/files/cyberjack-returnvalue.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b6d3ab6d0324f8b462f57aaa551bd1d4aa1465f3 Mon Sep 17 00:00:00 2001
-From: Christian Ruppert <idl0r@gentoo.org>
-Date: Thu, 13 Feb 2014 22:19:40 +0100
-Subject: [PATCH 2/3] Fix return value of rsct_platform_create_com if
- --disable-nonserial
-
-Return NULL instead of CJ_ERR_OPENING_DEVICE (int).
-
-Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
----
- cjeca32/Platform_unix.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cjeca32/Platform_unix.cpp b/cjeca32/Platform_unix.cpp
-index e3f4997..cbe6876 100644
---- a/cjeca32/Platform_unix.cpp
-+++ b/cjeca32/Platform_unix.cpp
-@@ -54,7 +54,7 @@ CBaseCommunication *rsct_platform_create_com(const char *deviceName, CReader *re
- com=new CUSBUnix(deviceName, reader);
- # else
- /* libusb and libhal not supported for serial devices */
-- return CJ_ERR_OPENING_DEVICE;
-+ return NULL;
- # endif
- else
- com=new CSerialUnix(deviceName, reader);
---
-1.8.3.2
-
diff --git a/dev-libs/cyberjack/files/libifd-cyberjack6.udev-r1 b/dev-libs/cyberjack/files/libifd-cyberjack6.udev-r1
new file mode 100644
index 000000000000..49a447859034
--- /dev/null
+++ b/dev-libs/cyberjack/files/libifd-cyberjack6.udev-r1
@@ -0,0 +1,27 @@
+# If not adding the device, go away
+ACTION!="add", GOTO="cyberjack_rules_end"
+SUBSYSTEM!="usb", GOTO="cyberjack_rules_end"
+ENV{DEVTYPE}!="usb_device", GOTO="cyberjack_rules_end"
+
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0300", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0400", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0401", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0412", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0485", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0500", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0501", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0502", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0503", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0504", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0505", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0506", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0507", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0525", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0580", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="2000", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0551", ENV{PCSCD}="1"
+ATTR{idVendor}=="0c4b", ATTR{idProduct}=="2002", ENV{PCSCD}="1"
+
+# All done
+LABEL="cyberjack_rules_end"
diff --git a/dev-libs/cyberjack/metadata.xml b/dev-libs/cyberjack/metadata.xml
index 52a3a62602d7..6a4a713967a0 100644
--- a/dev-libs/cyberjack/metadata.xml
+++ b/dev-libs/cyberjack/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
REINER SCT cyberJack USB chipcard reader user space driver.
This package includes the IFD driver for the cyberJack
@@ -16,6 +12,5 @@
</longdescription>
<use>
<flag name="tools">Build and install optional management tools.</flag>
- <flag name="usb">Enable support for usb based chipcard reader.</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/cygwin/Manifest b/dev-libs/cygwin/Manifest
deleted file mode 100644
index 21b6496e84b8..000000000000
--- a/dev-libs/cygwin/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST cygwin-1.5.25-15-src.tar.bz2 11486150 BLAKE2B 0fb9119396fc609dc243026a1a706a2a9ff87d34184581802d284a138e575dedce62f176cf31b02ab1bd9c1e218588b4f35e4a72cc554c95fc84af1f5f5bb47a SHA512 464553b06f74ffad464361b0bddb2eacc581abfb68f2154bba8f70334274ec63901b1f46f73cf930b05256467196e1b1ab8003215bb12ea6a42ad73fd9ac229a
-DIST cygwin-1.5.25-15.tar.bz2 1427096 BLAKE2B 7a6a2a5be6eaec21660a8f4ffa3e76f5390f9893a057d2d22ff888989c2fa11137b5516d7dd9698c17a92f5296a11d2c0c5ad8f594196ee29232508d29e10641 SHA512 72f677cd9140d4f61808203a56234e47b8e3a6e18438ff2c8d47d45472d6cc671e4dc42603967e62a1b2293d4bd9d4e1d95652746f939a6d5e1f1ec2f6c96105
-DIST w32api-3.12-1.tar.bz2 1229076 BLAKE2B 1e182fc23c01fa58fb63510351a9aa76aa046dc4971a9cdf402be0100c8765323afbd207a5ba9a92e8f906bcedbbcbf1888685092554bab0238066d490009dee SHA512 739f1f71163cac83ed892dda157f25bb30e70f2c1b134df069a6ece5fb5784e4394d597b078a8a913b8b66fb0f617495aeb94ceab2f1e5a25dab712a010f3f29
diff --git a/dev-libs/cygwin/cygwin-1.5.25.15.ebuild b/dev-libs/cygwin/cygwin-1.5.25.15.ebuild
deleted file mode 100644
index 433361029fd4..000000000000
--- a/dev-libs/cygwin/cygwin-1.5.25.15.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit flag-o-matic toolchain-funcs
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
- export CTARGET=${CATEGORY/cross-}
- fi
-fi
-
-W32API_BIN="3.12-1"
-MY_P="${PN}-${PV%.*}-${PV##*.}"
-DESCRIPTION="Linux-like environment for Windows"
-HOMEPAGE="http://cygwin.com/"
-SRC_URI="!headers-only? ( ftp://sourceware.org/pub/cygwin/release/cygwin/${MY_P}-src.tar.bz2 )
- headers-only? (
- ftp://sourceware.org/pub/cygwin/release/w32api/w32api-${W32API_BIN}.tar.bz2
- ftp://sourceware.org/pub/cygwin/release/cygwin/${MY_P}.tar.bz2
- )"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="headers-only"
-RESTRICT="strip"
-
-DEPEND=""
-
-S=${WORKDIR}
-
-just_headers() {
- use headers-only && [[ ${CHOST} != ${CTARGET} ]]
-}
-
-pkg_setup() {
- if [[ ${CBUILD} == ${CHOST} ]] && [[ ${CHOST} == ${CTARGET} ]] ; then
- die "Invalid configuration; do not emerge this directly"
- fi
-}
-
-src_unpack() {
- unpack ${A}
- if just_headers ; then
- mv usr/lib/w32api/* usr/lib/ || die
- else
- rm -rf ${MY_P}/etc # scrub garbage
- fi
-}
-
-src_compile() {
- if just_headers ; then
- return 0
-
- # steps to install via src pkg
- cd winsup/cygwin
- econf || die
- else
- CHOST=${CTARGET} strip-unsupported-flags
- mkdir "${WORKDIR}"/build
- cd "${WORKDIR}"/build
- ECONF_SOURCE=${S} \
- econf --prefix=/usr/${CTARGET}/usr || die
- emake || die
- fi
-}
-
-src_install() {
- if just_headers ; then
- # cygwin guys do not support bootstrapping. thus the cygwin src pkg
- # blows and cannot be bootstrapped. use the binaries -- the only
- # thing upstream supports.
- insinto /usr/${CTARGET}
- doins -r * || die
- return 0
-
- # steps to install via src pkg
- insinto /usr/${CTARGET}/usr/include
- doins -r winsup/w32api/include/* || die
- doins -r newlib/libc/include/* || die
- dosym usr/include /usr/${CTARGET}/sys-include
- cd winsup/cygwin
- emake install-headers tooldir="${D}"/usr/${CTARGET}/usr || die
- else
- cd "${WORKDIR}"/build
- emake install DESTDIR="${D}" || die
- fi
-}
diff --git a/dev-libs/cygwin/metadata.xml b/dev-libs/cygwin/metadata.xml
deleted file mode 100644
index e396f3755977..000000000000
--- a/dev-libs/cygwin/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>toolchain@gentoo.org</email>
- <name>Gentoo Toolchain Project</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/cyrus-sasl/Manifest b/dev-libs/cyrus-sasl/Manifest
index 5a11cc2bfebd..e6f246ba2943 100644
--- a/dev-libs/cyrus-sasl/Manifest
+++ b/dev-libs/cyrus-sasl/Manifest
@@ -1,2 +1,2 @@
-DIST cyrus-sasl-2.1.26.tar.gz 5220231 BLAKE2B 08fe5c1624e7cccb4b5e562f6987fddd047e1221b671cedbbb684d5a2f39e09a438ad14ffcedb5f398c203ca0b6e23574106c87f43a632028d50a69619c54970 SHA512 78819cb9bb38bea4537d6770d309deeeef09ff44a67526177609d3e1257ff4334d2b5e5131d5a1e4dea7430d8db1918ea9d171f0dee38b5e8337f4b72ed068f0
-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.26-r10.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r10.ebuild
deleted file mode 100644
index ab28a3dd43bd..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r10.ebuild
+++ /dev/null
@@ -1,245 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd
-
-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"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb libressl openldap mysql pam postgres sample selinux sqlite
-srp ssl static-libs urandom"
-
-DEPEND="net-mail/mailbase
- 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? ( virtual/mysql )
- pam? ( >=virtual/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:= )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] )
- )
- java? ( >=virtual/jdk-1.4:= )"
-RDEPEND="${DEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-2.1.25-sasldb_al.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-saslauthd_libtool.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-avoid_pic_overwrite.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-autotools_fixes.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-as_needed.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-missing_header.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-fix_heimdal.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-auxprop.patch
- epatch "${FILESDIR}"/${PN}-2.1.23-gss_c_nt_hostbased_service.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-service_keytabs.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-missing-size_t.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-CVE-2013-4122.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-send-imap-logout.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-fix_dovecot_authentication.patch
-
- # 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.in || 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.in || die
- sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
- saslauthd/configure.in || die
-
- eautoreconf
-}
-
-src_configure() {
- append-flags -fno-strict-aliasing
- append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # Java support.
- multilib_is_native_abi && use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
-
- local myconf=()
-
- # Add authdaemond support (bug #56523).
- if use authdaemond ; then
- myconf+=( --with-authdaemond=/var/lib/courier/authdaemon/socket )
- fi
-
- # Fix for bug #59634.
- if ! use ssl ; then
- myconf+=( --without-des )
- fi
-
- if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
- myconf+=( --enable-sql )
- else
- myconf+=( --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"
- myconf+=( --with-dblib=gdbm )
- elif use berkdb ; then
- einfo "Building with BerkeleyDB as database backend for your SASLdb"
- myconf+=(
- --with-dblib=berkeley
- --with-bdb-incdir="$(db_includedir)"
- )
- else
- einfo "Building without SASLdb support"
- myconf+=( --with-dblib=none )
- fi
-
- # Use /dev/urandom instead of /dev/random (bug #46038).
- if use urandom ; then
- myconf+=( --with-devrandom=/dev/urandom )
- fi
-
- ECONF_SOURCE=${S} \
- econf \
- --enable-login \
- --enable-ntlm \
- --enable-auth-sasldb \
- --disable-cmulocal \
- --disable-krb4 \
- --enable-otp \
- --without-sqlite \
- --with-saslauthd=/run/saslauthd \
- --with-pwcheck=/run/saslauthd \
- --with-configdir=/etc/sasl2 \
- --with-plugindir=/usr/$(get_libdir)/sasl2 \
- --with-dbpath=/etc/sasl2/sasldb2 \
- $(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 java javahome ${JAVA_HOME}) \
- $(multilib_native_use_with mysql mysql /usr) \
- $(multilib_native_use_with postgres pgsql) \
- $(use_with sqlite sqlite3 /usr/$(get_libdir)) \
- $(use_enable srp) \
- $(use_enable static-libs static) \
- "${myconf[@]}"
-}
-
-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 "${D}/usr/$(get_libdir)/libjavasasl.so"
- # hackish, don't wanna dig through makefile
- rm -Rf "${D}/usr/$(get_libdir)/java"
- docinto "java"
- dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
- dodir "/usr/share/doc/${PF}/java/Test"
- insinto "/usr/share/doc/${PF}/java/Test"
- doins "${S}"/java/Test/*.java
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- keepdir /etc/sasl2
-
- dodoc AUTHORS ChangeLog NEWS README doc/TODO doc/*.txt
- newdoc pwcheck/README README.pwcheck
- dohtml doc/*.html
-
- docinto "saslauthd"
- dodoc saslauthd/{AUTHORS,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
-
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
-
- 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"
- systemd_dotmpfilesd "${FILESDIR}/${PN}.conf"
-
- prune_libtool_files --modules
-}
-
-pkg_postinst () {
- # Generate an empty sasldb2 with correct permissions.
- if ( use berkdb || use gdbm ) && [[ ! -f "${ROOT}/etc/sasl2/sasldb2" ]] ; then
- einfo "Generating an empty sasldb2 with correct permissions ..."
- echo "p" | "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -p login \
- || die "Failed to generate sasldb2"
- "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -d login \
- || die "Failed to delete temp user"
- chown root:mail "${ROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chown ${ROOT}/etc/sasl2/sasldb2"
- chmod 0640 "${ROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chmod ${ROOT}/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.26-r12.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r12.ebuild
deleted file mode 100644
index fab53dab97ee..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r12.ebuild
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd
-
-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"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb libressl openldap mysql pam postgres sample selinux sqlite
-srp ssl static-libs urandom"
-
-DEPEND="
- net-mail/mailbase
- 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? ( virtual/mysql )
- pam? ( >=virtual/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] )
- )
- java? ( >=virtual/jdk-1.6:= )"
-
-RDEPEND="
- ${DEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.1.25-sasldb_al.patch"
- "${FILESDIR}/${PN}-2.1.25-saslauthd_libtool.patch"
- "${FILESDIR}/${PN}-2.1.25-avoid_pic_overwrite.patch"
- "${FILESDIR}/${PN}-2.1.25-autotools_fixes.patch"
- "${FILESDIR}/${PN}-2.1.25-as_needed.patch"
- "${FILESDIR}/${PN}-2.1.25-missing_header.patch"
- "${FILESDIR}/${PN}-2.1.25-fix_heimdal.patch"
- "${FILESDIR}/${PN}-2.1.25-auxprop.patch"
- "${FILESDIR}/${PN}-2.1.23-gss_c_nt_hostbased_service.patch"
- "${FILESDIR}/${PN}-2.1.25-service_keytabs.patch"
- "${FILESDIR}/${PN}-2.1.26-missing-size_t.patch"
- "${FILESDIR}/${PN}-2.1.26-CVE-2013-4122.patch"
- "${FILESDIR}/${PN}-2.1.26-send-imap-logout.patch"
- "${FILESDIR}/${PN}-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch"
- "${FILESDIR}/${PN}-2.1.26-fix_dovecot_authentication.patch"
- "${FILESDIR}/${PN}-2.1.26-openssl-1.1.patch" #592528
-)
-
-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.in || 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.in || die
- sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
- saslauthd/configure.in || die
-
- eautoreconf
-}
-
-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
- 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
- $(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 java javahome ${JAVA_HOME})
- $(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/*
- dodir "/usr/share/doc/${PF}/java/Test"
- insinto "/usr/share/doc/${PF}/java/Test"
- doins "${S}"/java/Test/*.java
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- keepdir /etc/sasl2
-
- dodoc AUTHORS ChangeLog NEWS README doc/TODO doc/*.txt
- newdoc pwcheck/README README.pwcheck
-
- docinto html
- dodoc doc/*.html
-
- docinto "saslauthd"
- dodoc saslauthd/{AUTHORS,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
-
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
-
- 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"
- systemd_dotmpfilesd "${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 () {
- # 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.26-r13.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r13.ebuild
deleted file mode 100644
index fd823635a6a8..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r13.ebuild
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd
-
-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"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb libressl openldap mysql pam postgres sample selinux sqlite
-srp ssl static-libs urandom"
-
-DEPEND="
- net-mail/mailbase
- 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? ( >=virtual/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] )
- )
- java? ( >=virtual/jdk-1.6:= )"
-
-RDEPEND="
- ${DEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.1.25-sasldb_al.patch"
- "${FILESDIR}/${PN}-2.1.25-saslauthd_libtool.patch"
- "${FILESDIR}/${PN}-2.1.25-avoid_pic_overwrite.patch"
- "${FILESDIR}/${PN}-2.1.25-autotools_fixes.patch"
- "${FILESDIR}/${PN}-2.1.25-as_needed.patch"
- "${FILESDIR}/${PN}-2.1.25-missing_header.patch"
- "${FILESDIR}/${PN}-2.1.25-fix_heimdal.patch"
- "${FILESDIR}/${PN}-2.1.25-auxprop.patch"
- "${FILESDIR}/${PN}-2.1.23-gss_c_nt_hostbased_service.patch"
- "${FILESDIR}/${PN}-2.1.25-service_keytabs.patch"
- "${FILESDIR}/${PN}-2.1.26-missing-size_t.patch"
- "${FILESDIR}/${PN}-2.1.26-CVE-2013-4122.patch"
- "${FILESDIR}/${PN}-2.1.26-send-imap-logout.patch"
- "${FILESDIR}/${PN}-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch"
- "${FILESDIR}/${PN}-2.1.26-fix_dovecot_authentication.patch"
- "${FILESDIR}/${PN}-2.1.26-openssl-1.1.patch" #592528
-)
-
-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.in || 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.in || die
- sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
- saslauthd/configure.in || die
-
- eautoreconf
-}
-
-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
- 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
- $(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 java javahome ${JAVA_HOME})
- $(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/*
- dodir "/usr/share/doc/${PF}/java/Test"
- insinto "/usr/share/doc/${PF}/java/Test"
- doins "${S}"/java/Test/*.java
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- keepdir /etc/sasl2
-
- dodoc AUTHORS ChangeLog NEWS README doc/TODO doc/*.txt
- newdoc pwcheck/README README.pwcheck
-
- docinto html
- dodoc doc/*.html
-
- docinto "saslauthd"
- dodoc saslauthd/{AUTHORS,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
-
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
-
- 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"
- systemd_dotmpfilesd "${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 () {
- # 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.26-r9.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r9.ebuild
deleted file mode 100644
index 023e07bfe40a..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.26-r9.ebuild
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd
-
-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"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite
-srp ssl static-libs urandom"
-
-DEPEND="net-mail/mailbase
- 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? ( virtual/mysql )
- pam? ( >=virtual/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.4:= )"
-RDEPEND="${DEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-2.1.25-sasldb_al.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-saslauthd_libtool.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-avoid_pic_overwrite.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-autotools_fixes.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-as_needed.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-missing_header.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-fix_heimdal.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-auxprop.patch
- epatch "${FILESDIR}"/${PN}-2.1.23-gss_c_nt_hostbased_service.patch
- epatch "${FILESDIR}"/${PN}-2.1.25-service_keytabs.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-missing-size_t.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-CVE-2013-4122.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-send-imap-logout.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
- epatch "${FILESDIR}"/${PN}-2.1.26-fix_dovecot_authentication.patch
-
- # 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.in || 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.in || die
- sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' \
- saslauthd/configure.in || die
-
- eautoreconf
-}
-
-src_configure() {
- append-flags -fno-strict-aliasing
- append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # Java support.
- multilib_is_native_abi && use java && export JAVAC="${JAVAC} ${JAVACFLAGS}"
-
- local myconf=()
-
- # Add authdaemond support (bug #56523).
- if use authdaemond ; then
- myconf+=( --with-authdaemond=/var/lib/courier/authdaemon/socket )
- fi
-
- # Fix for bug #59634.
- if ! use ssl ; then
- myconf+=( --without-des )
- fi
-
- if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
- myconf+=( --enable-sql )
- else
- myconf+=( --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"
- myconf+=( --with-dblib=gdbm )
- elif use berkdb ; then
- einfo "Building with BerkeleyDB as database backend for your SASLdb"
- myconf+=(
- --with-dblib=berkeley
- --with-bdb-incdir="$(db_includedir)"
- )
- else
- einfo "Building without SASLdb support"
- myconf+=( --with-dblib=none )
- fi
-
- # Use /dev/urandom instead of /dev/random (bug #46038).
- if use urandom ; then
- myconf+=( --with-devrandom=/dev/urandom )
- fi
-
- ECONF_SOURCE=${S} \
- econf \
- --enable-login \
- --enable-ntlm \
- --enable-auth-sasldb \
- --disable-cmulocal \
- --disable-krb4 \
- --enable-otp \
- --without-sqlite \
- --with-saslauthd=/run/saslauthd \
- --with-pwcheck=/run/saslauthd \
- --with-configdir=/etc/sasl2 \
- --with-plugindir=/usr/$(get_libdir)/sasl2 \
- --with-dbpath=/etc/sasl2/sasldb2 \
- $(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 java javahome ${JAVA_HOME}) \
- $(multilib_native_use_with mysql mysql /usr) \
- $(multilib_native_use_with postgres pgsql) \
- $(use_with sqlite sqlite3 /usr/$(get_libdir)) \
- $(use_enable srp) \
- $(use_enable static-libs static) \
- "${myconf[@]}"
-}
-
-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 "${D}/usr/$(get_libdir)/libjavasasl.so"
- # hackish, don't wanna dig through makefile
- rm -Rf "${D}/usr/$(get_libdir)/java"
- docinto "java"
- dodoc "${S}/java/README" "${FILESDIR}/java.README.gentoo" "${S}"/java/doc/*
- dodir "/usr/share/doc/${PF}/java/Test"
- insinto "/usr/share/doc/${PF}/java/Test"
- doins "${S}"/java/Test/*.java
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- keepdir /etc/sasl2
-
- dodoc AUTHORS ChangeLog NEWS README doc/TODO doc/*.txt
- newdoc pwcheck/README README.pwcheck
- dohtml doc/*.html
-
- docinto "saslauthd"
- dodoc saslauthd/{AUTHORS,ChangeLog,LDAP_SASLAUTHD,NEWS,README}
-
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
-
- 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"
- systemd_dotmpfilesd "${FILESDIR}/${PN}.conf"
-
- prune_libtool_files --modules
-}
-
-pkg_postinst () {
- # Generate an empty sasldb2 with correct permissions.
- if ( use berkdb || use gdbm ) && [[ ! -f "${ROOT}/etc/sasl2/sasldb2" ]] ; then
- einfo "Generating an empty sasldb2 with correct permissions ..."
- echo "p" | "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -p login \
- || die "Failed to generate sasldb2"
- "${ROOT}/usr/sbin/saslpasswd2" -f "${ROOT}/etc/sasl2/sasldb2" -d login \
- || die "Failed to delete temp user"
- chown root:mail "${ROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chown ${ROOT}/etc/sasl2/sasldb2"
- chmod 0640 "${ROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chmod ${ROOT}/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-r1.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r1.ebuild
deleted file mode 100644
index 1b0e7ee417d4..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r1.ebuild
+++ /dev/null
@@ -1,256 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd eapi7-ver
-
-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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb libressl openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
-
-CDEPEND="
- net-mail/mailbase
- 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? ( virtual/mysql )
- pam? ( >=virtual/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:=[${MULTILIB_USEDEP}] )
- )
- java? ( >=virtual/jdk-1.6:= )"
-
-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"
-)
-
-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
-}
-
-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
- 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/*
- dodir "/usr/share/doc/${PF}/java/Test"
- 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
-
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
-
- 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"
- systemd_dotmpfilesd "${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 () {
- # 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-r2.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r2.ebuild
deleted file mode 100644
index 459226cf0147..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.27-r2.ebuild
+++ /dev/null
@@ -1,258 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic multilib multilib-minimal autotools pam java-pkg-opt-2 db-use systemd eapi7-ver
-
-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 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb libressl openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
-
-CDEPEND="
- net-mail/mailbase
- 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? ( >=virtual/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:=[${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"
-)
-
-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
-}
-
-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
- 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/*
- dodir "/usr/share/doc/${PF}/java/Test"
- 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
-
- newpamd "${FILESDIR}/saslauthd.pam-include" saslauthd
-
- 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"
- systemd_dotmpfilesd "${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 () {
- # 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..f5eba5bfaf08
--- /dev/null
+++ b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2024 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)"
+
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/894684
+ # https://github.com/cyrusimap/cyrus-sasl/pull/771
+ #
+ # Fixed upstream in git master but not released.
+ use srp && filter-lto
+
+ 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.23-gss_c_nt_hostbased_service.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch
deleted file mode 100644
index beea8eb28d19..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.23-gss_c_nt_hostbased_service.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Gentoo bug #389349
---- a/cmulocal/sasl2.m4
-+++ b/cmulocal/sasl2.m4
-@@ -217,7 +217,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 implimentation 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.25-as_needed.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-as_needed.patch
deleted file mode 100644
index 67b48b4a4993..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-as_needed.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Author: Matthias Klose <doko@ubuntu.com>
-Desription: Fix FTBFS, add $(SASL_DB_LIB) as dependency to libsasldb, and use
-it.
---- a/saslauthd/Makefile.am
-+++ b/saslauthd/Makefile.am
-@@ -16,7 +16,7 @@ EXTRA_saslauthd_sources = getaddrinfo.c
- saslauthd_DEPENDENCIES = saslauthd-main.o @LTLIBOBJS@
- saslauthd_LDADD = @SASL_KRB_LIB@ \
- @GSSAPIBASE_LIBS@ @GSSAPI_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \
-- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@
-+ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@
-
- testsaslauthd_SOURCES = testsaslauthd.c utils.c
- testsaslauthd_LDADD = @LIB_SOCKET@
---- a/sasldb/Makefile.am
-+++ b/sasldb/Makefile.am
-@@ -55,8 +55,8 @@ noinst_LIBRARIES = libsasldb.a
-
- 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)
-
- # Prevent make dist stupidity
- libsasldb_a_SOURCES =
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch
deleted file mode 100644
index 5837921d4f7f..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-autotools_fixes.patch
+++ /dev/null
@@ -1,114 +0,0 @@
---- a/configure.in
-+++ b/configure.in
-@@ -44,6 +44,8 @@ dnl
- AC_INIT(lib/saslint.h)
- AC_PREREQ([2.54])
-
-+AC_CONFIG_MACRO_DIR([cmulocal] [config])
-+
- dnl use ./config.cache as the default cache file.
- dnl we require a cache file to successfully configure our build.
- if test $cache_file = "/dev/null"; then
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -43,6 +43,8 @@ AUTOMAKE_OPTIONS = 1.7
- #
- ################################################################
-
-+ACLOCAL_AMFLAGS = -I cmulocal -I config
-+
- if SASLAUTHD
- SAD = saslauthd
- else
---- a/saslauthd/configure.in
-+++ b/saslauthd/configure.in
-@@ -1,7 +1,8 @@
- AC_INIT(mechanisms.h)
- AC_PREREQ([2.54])
-
--AC_CONFIG_AUX_DIR(config)
-+AC_CONFIG_MACRO_DIR([../cmulocal] [../config])
-+AC_CONFIG_AUX_DIR([config])
- AC_CANONICAL_HOST
-
- dnl Should we enable SASLAUTHd at all?
-@@ -164,30 +165,30 @@ AC_SUBST(LTLIBOBJS)
-
- dnl Checks for which function macros exist
- AC_MSG_CHECKING(whether $CC implements __func__)
--AC_CACHE_VAL(have_func,
-+AC_CACHE_VAL(_cv_have_func,
- [AC_TRY_LINK([#include <stdio.h>],[printf("%s", __func__);],
--have_func=yes,
--have_func=no)])
--AC_MSG_RESULT($have_func)
--if test "$have_func" = yes; then
-+_cv_have_func=yes,
-+_cv_have_func=no)])
-+AC_MSG_RESULT($_cv_have_func)
-+if test "$_cv_have_func" = yes; then
- AC_DEFINE(HAVE_FUNC,[],[Does the compiler understand __func__])
- else
- AC_MSG_CHECKING(whether $CC implements __PRETTY_FUNCTION__)
-- AC_CACHE_VAL(have_pretty_function,
-+ AC_CACHE_VAL(_cv_have_pretty_function,
- [AC_TRY_LINK([#include <stdio.h>],[printf("%s", __PRETTY_FUNCTION__);],
-- have_pretty_function=yes,
-- have_pretty_function=no)])
-- AC_MSG_RESULT($have_pretty_function)
-- if test "$have_pretty_function" = yes; then
-+ _cv_have_pretty_function=yes,
-+ _cv_have_pretty_function=no)])
-+ AC_MSG_RESULT($_cv_have_pretty_function)
-+ if test "$_cv_have_pretty_function" = yes; then
- AC_DEFINE(HAVE_PRETTY_FUNCTION,[],[Does compiler understand __PRETTY_FUNCTION__])
- else
- AC_MSG_CHECKING(whether $CC implements __FUNCTION__)
-- AC_CACHE_VAL(have_function,
-+ AC_CACHE_VAL(_cv_have_function,
- [AC_TRY_LINK([#include <stdio.h>],[printf("%s", __FUNCTION__);],
-- have_function=yes,
-- have_function=no)])
-- AC_MSG_RESULT($have_function)
-- if test "$have_function" = yes; then
-+ _cv_have_function=yes,
-+ _cv_have_function=no)])
-+ AC_MSG_RESULT($_cv_have_function)
-+ if test "$_cv_have_function" = yes; then
- AC_DEFINE(HAVE_FUNCTION,[],[Does compiler understand __FUNCTION__])
- fi
- fi
---- a/saslauthd/Makefile.am
-+++ b/saslauthd/Makefile.am
-@@ -1,4 +1,6 @@
- AUTOMAKE_OPTIONS = 1.7
-+ACLOCAL_AMFLAGS = -I ../cmulocal -I ../config
-+
- sbin_PROGRAMS = saslauthd testsaslauthd
- EXTRA_PROGRAMS = saslcache
-
---- a/config/kerberos_v4.m4
-+++ b/config/kerberos_v4.m4
-@@ -89,18 +89,18 @@ AC_DEFUN([SASL_KERBEROS_V4_CHK], [
- dnl if we were ambitious, we would look more aggressively for the
- dnl krb4 install
- if test -d ${krb4}; then
-- AC_CACHE_CHECK(for Kerberos includes, cyrus_krbinclude, [
-+ AC_CACHE_CHECK(for Kerberos includes, cyrus_cv_krbinclude, [
- for krbhloc in include/kerberosIV include/kerberos include
- do
- if test -f ${krb4}/${krbhloc}/krb.h ; then
-- cyrus_krbinclude=${krb4}/${krbhloc}
-+ cyrus_cv_krbinclude=${krb4}/${krbhloc}
- break
- fi
- done
- ])
-
-- if test -n "${cyrus_krbinclude}"; then
-- CPPFLAGS="$CPPFLAGS -I${cyrus_krbinclude}"
-+ if test -n "${cyrus_cv_krbinclude}"; then
-+ CPPFLAGS="$CPPFLAGS -I${cyrus_cv_krbinclude}"
- fi
- LDFLAGS="$LDFLAGS -L$krb4/lib"
- fi
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.25-avoid_pic_overwrite.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-avoid_pic_overwrite.patch
deleted file mode 100644
index 2e5b1750d00d..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-avoid_pic_overwrite.patch
+++ /dev/null
@@ -1,27 +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.
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -78,7 +78,7 @@ endif
-
- 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 ../sasldb/libsasldb.la ../plugins/lib*.la; do \
- if test ! -f $$i; then continue; fi; . $$i; \
- for j in $$dependency_libs foo; do \
---- a/sasldb/Makefile.am
-+++ b/sasldb/Makefile.am
-@@ -63,6 +63,6 @@ libsasldb_a_SOURCES =
- EXTRA_libsasldb_a_SOURCES =
-
- libsasldb.a: libsasldb.la $(SASL_DB_BACKEND_STATIC)
-- $(AR) cru .libs/$@ $(SASL_DB_BACKEND_STATIC)
-+ $(AR) cru $@ $(SASL_DB_BACKEND_STATIC)
-
-
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch
deleted file mode 100644
index 92be26003488..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-fix_heimdal.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Fix compiling against heimdal
-
---- a/sample/server.c
-+++ b/sample/server.c
-@@ -85,8 +85,10 @@
-
- #ifdef HAVE_GSS_GET_NAME_ATTRIBUTE
- #include <gssapi/gssapi.h>
-+#ifndef KRB5_HEIMDAL
- #include <gssapi/gssapi_ext.h>
- #endif
-+#endif
-
- #include "common.h"
-
---- a/plugins/gssapi.c
-+++ b/plugins/gssapi.c
-@@ -50,6 +50,9 @@
- #else
- #include <gssapi/gssapi.h>
- #endif
-+#ifdef KRB5_HEIMDAL
-+#include <gssapi/gssapi_krb5.h>
-+#endif
-
- #ifdef WIN32
- # include <winsock2.h>
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch
deleted file mode 100644
index a413e00bf428..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-missing_header.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/pwcheck/pwcheck_getspnam.c
-+++ b/pwcheck/pwcheck_getspnam.c
-@@ -24,6 +24,7 @@
- ******************************************************************/
-
- #include <shadow.h>
-+#include <string.h>
-
- extern char *crypt();
-
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch
deleted file mode 100644
index da1a49f1dd66..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-saslauthd_libtool.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Author: Fabian Fagerholm <fabbe@debian.org>
-Description: Enable libtool use.
---- a/saslauthd/configure.in
-+++ b/saslauthd/configure.in
-@@ -25,6 +25,7 @@ AC_PROG_AWK
- AC_PROG_MAKE_SET
- AC_PROG_LN_S
- AC_PROG_INSTALL
-+AC_PROG_LIBTOOL
-
- dnl Checks for build foo
- CMU_C___ATTRIBUTE__
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch
deleted file mode 100644
index 8eff5a8bdd12..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-sasldb_al.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Author: Fabian Fagerholm <fabbe@debian.org>
-Description: Fix linking with libsasldb.a when saslauthd is built with sasldb
-support.
---- a/saslauthd/configure.in
-+++ b/saslauthd/configure.in
-@@ -77,7 +77,7 @@ if test "$authsasldb" != no; then
- AC_DEFINE(AUTH_SASLDB,[],[Include SASLdb Support])
- SASL_DB_PATH_CHECK()
- SASL_DB_CHECK()
-- SASL_DB_LIB="$SASL_DB_LIB ../sasldb/.libs/libsasldb.al"
-+ SASL_DB_LIB="$SASL_DB_LIB ../sasldb/.libs/libsasldb.a"
- fi
-
- AC_ARG_ENABLE(httpform, [ --enable-httpform enable HTTP form authentication [[no]] ],
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch
deleted file mode 100644
index 43b6162a66f0..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.25-service_keytabs.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Bug #445932
---- a/cmulocal/sasl2.m4
-+++ b/cmulocal/sasl2.m4
-@@ -268,7 +268,11 @@
-
- cmu_save_LIBS="$LIBS"
- LIBS="$LIBS $GSSAPIBASE_LIBS"
-- AC_CHECK_FUNCS(gsskrb5_register_acceptor_identity)
-+ AC_CHECK_FUNCS([gsskrb5_register_acceptor_identity], [],
-+ [AC_CHECK_FUNCS([krb5_gss_register_acceptor_identity],
-+ [AC_CHECK_HEADERS([gssapi/gssapi_krb5.h],
-+ [AC_DEFINE([HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY], [1])]
-+ )])])
- AC_CHECK_FUNCS(gss_decapsulate_token)
- AC_CHECK_FUNCS(gss_encapsulate_token)
- AC_CHECK_FUNCS(gss_oid_equal)
---- a/plugins/gssapi.c
-+++ b/plugins/gssapi.c
-@@ -50,7 +50,7 @@
- #else
- #include <gssapi/gssapi.h>
- #endif
--#ifdef KRB5_HEIMDAL
-+#if defined (KRB5_HEIMDAL) || defined (HAVE_GSSAPI_GSSAPI_KRB5_H)
- #include <gssapi/gssapi_krb5.h>
- #endif
-
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch
deleted file mode 100644
index 09c9ce86c9ac..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-CVE-2013-4122.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From dedad73e5e7a75d01a5f3d5a6702ab8ccd2ff40d Mon Sep 17 00:00:00 2001
-From: mancha <mancha1@hush.com>
-Date: Thu, 11 Jul 2013 09:08:07 +0000
-Subject: Handle NULL returns from glibc 2.17+ crypt()
-
-Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
-(w/ NULL return) if the salt violates specifications. Additionally,
-on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
-passed to crypt() fail with EPERM (w/ NULL return).
-
-When using glibc's crypt(), check return value to avoid a possible
-NULL pointer dereference.
-
-Patch by mancha1@hush.com.
----
-diff --git a/pwcheck/pwcheck_getpwnam.c b/pwcheck/pwcheck_getpwnam.c
-index 4b34222..400289c 100644
---- a/pwcheck/pwcheck_getpwnam.c
-+++ b/pwcheck/pwcheck_getpwnam.c
-@@ -32,6 +32,7 @@ char *userid;
- char *password;
- {
- char* r;
-+ char* crpt_passwd;
- struct passwd *pwd;
-
- pwd = getpwnam(userid);
-@@ -41,7 +42,7 @@ char *password;
- else if (pwd->pw_passwd[0] == '*') {
- r = "Account disabled";
- }
-- else if (strcmp(pwd->pw_passwd, crypt(password, pwd->pw_passwd)) != 0) {
-+ else if (!(crpt_passwd = crypt(password, pwd->pw_passwd)) || strcmp(pwd->pw_passwd, (const char *)crpt_passwd) != 0) {
- r = "Incorrect password";
- }
- else {
-diff --git a/pwcheck/pwcheck_getspnam.c b/pwcheck/pwcheck_getspnam.c
-index 2b11286..6d607bb 100644
---- a/pwcheck/pwcheck_getspnam.c
-+++ b/pwcheck/pwcheck_getspnam.c
-@@ -32,13 +32,15 @@ char *userid;
- char *password;
- {
- struct spwd *pwd;
-+ char *crpt_passwd;
-
- pwd = getspnam(userid);
- if (!pwd) {
- return "Userid not found";
- }
-
-- if (strcmp(pwd->sp_pwdp, crypt(password, pwd->sp_pwdp)) != 0) {
-+ crpt_passwd = crypt(password, pwd->sp_pwdp);
-+ if (!crpt_passwd || strcmp(pwd->sp_pwdp, (const char *)crpt_passwd) != 0) {
- return "Incorrect password";
- }
- else {
-diff --git a/saslauthd/auth_getpwent.c b/saslauthd/auth_getpwent.c
-index fc8029d..d4ebe54 100644
---- a/saslauthd/auth_getpwent.c
-+++ b/saslauthd/auth_getpwent.c
-@@ -77,6 +77,7 @@ auth_getpwent (
- {
- /* VARIABLES */
- struct passwd *pw; /* pointer to passwd file entry */
-+ char *crpt_passwd; /* encrypted password */
- int errnum;
- /* END VARIABLES */
-
-@@ -105,7 +106,8 @@ auth_getpwent (
- }
- }
-
-- if (strcmp(pw->pw_passwd, (const char *)crypt(password, pw->pw_passwd))) {
-+ crpt_passwd = crypt(password, pw->pw_passwd);
-+ if (!crpt_passwd || strcmp(pw->pw_passwd, (const char *)crpt_passwd)) {
- if (flags & VERBOSE) {
- syslog(LOG_DEBUG, "DEBUG: auth_getpwent: %s: invalid password", login);
- }
-diff --git a/saslauthd/auth_shadow.c b/saslauthd/auth_shadow.c
-index 677131b..1988afd 100644
---- a/saslauthd/auth_shadow.c
-+++ b/saslauthd/auth_shadow.c
-@@ -210,8 +210,8 @@ auth_shadow (
- RETURN("NO Insufficient permission to access NIS authentication database (saslauthd)");
- }
-
-- cpw = strdup((const char *)crypt(password, sp->sp_pwdp));
-- if (strcmp(sp->sp_pwdp, cpw)) {
-+ cpw = crypt(password, sp->sp_pwdp);
-+ if (!cpw || strcmp(sp->sp_pwdp, (const char *)cpw)) {
- if (flags & VERBOSE) {
- /*
- * This _should_ reveal the SHADOW_PW_LOCKED prefix to an
-@@ -221,10 +221,8 @@ auth_shadow (
- syslog(LOG_DEBUG, "DEBUG: auth_shadow: pw mismatch: '%s' != '%s'",
- sp->sp_pwdp, cpw);
- }
-- free(cpw);
- RETURN("NO Incorrect password");
- }
-- free(cpw);
-
- /*
- * The following fields will be set to -1 if:
-@@ -286,7 +284,7 @@ auth_shadow (
- RETURN("NO Invalid username");
- }
-
-- if (strcmp(upw->upw_passwd, crypt(password, upw->upw_passwd)) != 0) {
-+ if (!(cpw = crypt(password, upw->upw_passwd)) || (strcmp(upw->upw_passwd, (const char *)cpw) != 0)) {
- if (flags & VERBOSE) {
- syslog(LOG_DEBUG, "auth_shadow: pw mismatch: %s != %s",
- password, upw->upw_passwd);
---
-cgit v0.9.0.2
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
deleted file mode 100644
index af382181e046..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-canonuser-ldapdb-garbage-in-out-buffer.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- cyrus-sasl2.orig/plugins/ldapdb.c
-+++ cyrus-sasl2/plugins/ldapdb.c
-@@ -406,6 +406,7 @@ ldapdb_canon_server(void *glob_context,
- if ( len > out_max )
- len = out_max;
- memcpy(out, bvals[0]->bv_val, len);
-+ out[len] = '\0';
- *out_ulen = len;
- ber_bvecfree(bvals);
- }
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch
deleted file mode 100644
index 6fc9de80287e..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-fix_dovecot_authentication.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Bug #510320
---- a/saslauthd/auth_rimap.c
-+++ b/saslauthd/auth_rimap.c
-@@ -371,7 +371,7 @@
- if ( rc>0 ) {
- /* check if there is more to read */
- fd_set perm;
-- int fds, ret;
-+ int fds, ret, loopc;
- struct timeval timeout;
-
- FD_ZERO(&perm);
-@@ -380,6 +380,7 @@
-
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-+ loopc = 0;
- while( select (fds, &perm, NULL, NULL, &timeout ) >0 ) {
- if ( FD_ISSET(s, &perm) ) {
- ret = read(s, rbuf+rc, sizeof(rbuf)-rc);
-@@ -387,6 +388,14 @@
- rc = ret;
- break;
- } else {
-+ if (ret == 0) {
-+ loopc += 1;
-+ } else {
-+ loopc = 0;
-+ }
-+ if (loopc > sizeof(rbuf)) { // arbitrary chosen value
-+ break;
-+ }
- rc += ret;
- }
- }
-@@ -484,7 +493,7 @@
- if ( rc>0 ) {
- /* check if there is more to read */
- fd_set perm;
-- int fds, ret;
-+ int fds, ret, loopc;
- struct timeval timeout;
-
- FD_ZERO(&perm);
-@@ -493,6 +502,7 @@
-
- timeout.tv_sec = 1;
- timeout.tv_usec = 0;
-+ loopc = 0;
- while( select (fds, &perm, NULL, NULL, &timeout ) >0 ) {
- if ( FD_ISSET(s, &perm) ) {
- ret = read(s, rbuf+rc, sizeof(rbuf)-rc);
-@@ -500,6 +510,14 @@
- rc = ret;
- break;
- } else {
-+ if (ret == 0) {
-+ loopc += 1;
-+ } else {
-+ loopc = 0;
-+ }
-+ if (loopc > sizeof(rbuf)) { // arbitrary chosen value
-+ break;
-+ }
- rc += ret;
- }
- }
---- a/lib/checkpw.c
-+++ b/lib/checkpw.c
-@@ -587,16 +587,14 @@
- /* Timeout. */
- errno = ETIMEDOUT;
- return -1;
-- case +1:
-- if (FD_ISSET(fd, &rfds)) {
-- /* Success, file descriptor is readable. */
-- return 0;
-- }
-- return -1;
- case -1:
- if (errno == EINTR || errno == EAGAIN)
- continue;
- default:
-+ if (FD_ISSET(fd, &rfds)) {
-+ /* Success, file descriptor is readable. */
-+ return 0;
-+ }
- /* Error catch-all. */
- return -1;
- }
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.26-openssl-1.1.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-openssl-1.1.patch
deleted file mode 100644
index 3b0ffac24f0c..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-openssl-1.1.patch
+++ /dev/null
@@ -1,353 +0,0 @@
-diff --git a/plugins/ntlm.c b/plugins/ntlm.c
-index 79ea47c..554a00d 100644
---- a/plugins/ntlm.c
-+++ b/plugins/ntlm.c
-@@ -417,6 +417,29 @@ static unsigned char *P24(unsigned char *P24, unsigned char *P21,
- return P24;
- }
-
-+static HMAC_CTX *_plug_HMAC_CTX_new(const sasl_utils_t *utils)
-+{
-+ utils->log(NULL, SASL_LOG_DEBUG, "_plug_HMAC_CTX_new()");
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ return HMAC_CTX_new();
-+#else
-+ return utils->malloc(sizeof(EVP_MD_CTX));
-+#endif
-+}
-+
-+static void _plug_HMAC_CTX_free(HMAC_CTX *ctx, const sasl_utils_t *utils)
-+{
-+ utils->log(NULL, SASL_LOG_DEBUG, "_plug_HMAC_CTX_free()");
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ HMAC_CTX_free(ctx);
-+#else
-+ HMAC_cleanup(ctx);
-+ utils->free(ctx);
-+#endif
-+}
-+
- static unsigned char *V2(unsigned char *V2, sasl_secret_t *passwd,
- const char *authid, const char *target,
- const unsigned char *challenge,
-@@ -424,7 +447,7 @@ static unsigned char *V2(unsigned char *V2, sasl_secret_t *passwd,
- const sasl_utils_t *utils,
- char **buf, unsigned *buflen, int *result)
- {
-- HMAC_CTX ctx;
-+ HMAC_CTX *ctx = NULL;
- unsigned char hash[EVP_MAX_MD_SIZE];
- char *upper;
- unsigned int len;
-@@ -435,6 +458,10 @@ static unsigned char *V2(unsigned char *V2, sasl_secret_t *passwd,
- SETERROR(utils, "cannot allocate NTLMv2 hash");
- *result = SASL_NOMEM;
- }
-+ else if ((ctx = _plug_HMAC_CTX_new(utils)) == NULL) {
-+ SETERROR(utils, "cannot allocate HMAC CTX");
-+ *result = SASL_NOMEM;
-+ }
- else {
- /* NTLMv2hash = HMAC-MD5(NTLMhash, unicode(ucase(authid + domain))) */
- P16_nt(hash, passwd, utils, buf, buflen, result);
-@@ -449,17 +476,18 @@ static unsigned char *V2(unsigned char *V2, sasl_secret_t *passwd,
- HMAC(EVP_md5(), hash, MD4_DIGEST_LENGTH, *buf, 2 * len, hash, &len);
-
- /* V2 = HMAC-MD5(NTLMv2hash, challenge + blob) + blob */
-- HMAC_Init(&ctx, hash, len, EVP_md5());
-- HMAC_Update(&ctx, challenge, NTLM_NONCE_LENGTH);
-- HMAC_Update(&ctx, blob, bloblen);
-- HMAC_Final(&ctx, V2, &len);
-- HMAC_cleanup(&ctx);
-+ HMAC_Init_ex(ctx, hash, len, EVP_md5(), NULL);
-+ HMAC_Update(ctx, challenge, NTLM_NONCE_LENGTH);
-+ HMAC_Update(ctx, blob, bloblen);
-+ HMAC_Final(ctx, V2, &len);
-
- /* the blob is concatenated outside of this function */
-
- *result = SASL_OK;
- }
-
-+ if (ctx) _plug_HMAC_CTX_free(ctx, utils);
-+
- return V2;
- }
-
-diff --git a/plugins/otp.c b/plugins/otp.c
-index dd73065..d1e9bf4 100644
---- a/plugins/otp.c
-+++ b/plugins/otp.c
-@@ -96,6 +96,28 @@ static algorithm_option_t algorithm_options[] = {
- {NULL, 0, NULL}
- };
-
-+static EVP_MD_CTX *_plug_EVP_MD_CTX_new(const sasl_utils_t *utils)
-+{
-+ utils->log(NULL, SASL_LOG_DEBUG, "_plug_EVP_MD_CTX_new()");
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ return EVP_MD_CTX_new();
-+#else
-+ return utils->malloc(sizeof(EVP_MD_CTX));
-+#endif
-+}
-+
-+static void _plug_EVP_MD_CTX_free(EVP_MD_CTX *ctx, const sasl_utils_t *utils)
-+{
-+ utils->log(NULL, SASL_LOG_DEBUG, "_plug_EVP_MD_CTX_free()");
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_MD_CTX_free(ctx);
-+#else
-+ utils->free(ctx);
-+#endif
-+}
-+
- /* Convert the binary data into ASCII hex */
- void bin2hex(unsigned char *bin, int binlen, char *hex)
- {
-@@ -116,17 +138,16 @@ void bin2hex(unsigned char *bin, int binlen, char *hex)
- * swabbing bytes if necessary.
- */
- static void otp_hash(const EVP_MD *md, char *in, size_t inlen,
-- unsigned char *out, int swab)
-+ unsigned char *out, int swab, EVP_MD_CTX *mdctx)
- {
-- EVP_MD_CTX mdctx;
- char hash[EVP_MAX_MD_SIZE];
- unsigned int i;
- int j;
- unsigned hashlen;
-
-- EVP_DigestInit(&mdctx, md);
-- EVP_DigestUpdate(&mdctx, in, inlen);
-- EVP_DigestFinal(&mdctx, hash, &hashlen);
-+ EVP_DigestInit(mdctx, md);
-+ EVP_DigestUpdate(mdctx, in, inlen);
-+ EVP_DigestFinal(mdctx, hash, &hashlen);
-
- /* Fold the result into 64 bits */
- for (i = OTP_HASH_SIZE; i < hashlen; i++) {
-@@ -149,7 +170,9 @@ static int generate_otp(const sasl_utils_t *utils,
- char *secret, char *otp)
- {
- const EVP_MD *md;
-- char *key;
-+ EVP_MD_CTX *mdctx = NULL;
-+ char *key = NULL;
-+ int r = SASL_OK;
-
- if (!(md = EVP_get_digestbyname(alg->evp_name))) {
- utils->seterror(utils->conn, 0,
-@@ -157,23 +180,32 @@ static int generate_otp(const sasl_utils_t *utils,
- return SASL_FAIL;
- }
-
-+ if ((mdctx = _plug_EVP_MD_CTX_new(utils)) == NULL) {
-+ SETERROR(utils, "cannot allocate MD CTX");
-+ r = SASL_NOMEM;
-+ goto done;
-+ }
-+
- if ((key = utils->malloc(strlen(seed) + strlen(secret) + 1)) == NULL) {
- SETERROR(utils, "cannot allocate OTP key");
-- return SASL_NOMEM;
-+ r = SASL_NOMEM;
-+ goto done;
- }
-
- /* initial step */
- strcpy(key, seed);
- strcat(key, secret);
-- otp_hash(md, key, strlen(key), otp, alg->swab);
-+ otp_hash(md, key, strlen(key), otp, alg->swab, mdctx);
-
- /* computation step */
- while (seq-- > 0)
-- otp_hash(md, otp, OTP_HASH_SIZE, otp, alg->swab);
-+ otp_hash(md, otp, OTP_HASH_SIZE, otp, alg->swab, mdctx);
-
-- utils->free(key);
-+ done:
-+ if (key) utils->free(key);
-+ if (mdctx) _plug_EVP_MD_CTX_free(mdctx, utils);
-
-- return SASL_OK;
-+ return r;
- }
-
- static int parse_challenge(const sasl_utils_t *utils,
-@@ -693,7 +725,8 @@ static int strptrcasecmp(const void *arg1, const void *arg2)
-
- /* Convert the 6 words into binary data */
- static int word2bin(const sasl_utils_t *utils,
-- char *words, unsigned char *bin, const EVP_MD *md)
-+ char *words, unsigned char *bin, const EVP_MD *md,
-+ EVP_MD_CTX *mdctx)
- {
- int i, j;
- char *c, *word, buf[OTP_RESPONSE_MAX+1];
-@@ -752,13 +785,12 @@ static int word2bin(const sasl_utils_t *utils,
-
- /* alternate dictionary */
- if (alt_dict) {
-- EVP_MD_CTX mdctx;
- char hash[EVP_MAX_MD_SIZE];
- int hashlen;
-
-- EVP_DigestInit(&mdctx, md);
-- EVP_DigestUpdate(&mdctx, word, strlen(word));
-- EVP_DigestFinal(&mdctx, hash, &hashlen);
-+ EVP_DigestInit(mdctx, md);
-+ EVP_DigestUpdate(mdctx, word, strlen(word));
-+ EVP_DigestFinal(mdctx, hash, &hashlen);
-
- /* use lowest 11 bits */
- x = ((hash[hashlen-2] & 0x7) << 8) | hash[hashlen-1];
-@@ -802,6 +834,7 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- char *response)
- {
- const EVP_MD *md;
-+ EVP_MD_CTX *mdctx = NULL;
- char *c;
- int do_init = 0;
- unsigned char cur_otp[OTP_HASH_SIZE], prev_otp[OTP_HASH_SIZE];
-@@ -815,6 +848,11 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- return SASL_FAIL;
- }
-
-+ if ((mdctx = _plug_EVP_MD_CTX_new(utils)) == NULL) {
-+ SETERROR(utils, "cannot allocate MD CTX");
-+ return SASL_NOMEM;
-+ }
-+
- /* eat leading whitespace */
- c = response;
- while (isspace((int) *c)) c++;
-@@ -824,7 +862,7 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- r = hex2bin(c+strlen(OTP_HEX_TYPE), cur_otp, OTP_HASH_SIZE);
- }
- else if (!strncasecmp(c, OTP_WORD_TYPE, strlen(OTP_WORD_TYPE))) {
-- r = word2bin(utils, c+strlen(OTP_WORD_TYPE), cur_otp, md);
-+ r = word2bin(utils, c+strlen(OTP_WORD_TYPE), cur_otp, md, mdctx);
- }
- else if (!strncasecmp(c, OTP_INIT_HEX_TYPE,
- strlen(OTP_INIT_HEX_TYPE))) {
-@@ -834,7 +872,7 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- else if (!strncasecmp(c, OTP_INIT_WORD_TYPE,
- strlen(OTP_INIT_WORD_TYPE))) {
- do_init = 1;
-- r = word2bin(utils, c+strlen(OTP_INIT_WORD_TYPE), cur_otp, md);
-+ r = word2bin(utils, c+strlen(OTP_INIT_WORD_TYPE), cur_otp, md, mdctx);
- }
- else {
- SETERROR(utils, "unknown OTP extended response type");
-@@ -843,14 +881,14 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- }
- else {
- /* standard response, try word first, and then hex */
-- r = word2bin(utils, c, cur_otp, md);
-+ r = word2bin(utils, c, cur_otp, md, mdctx);
- if (r != SASL_OK)
- r = hex2bin(c, cur_otp, OTP_HASH_SIZE);
- }
-
- if (r == SASL_OK) {
- /* do one more hash (previous otp) and compare to stored otp */
-- otp_hash(md, cur_otp, OTP_HASH_SIZE, prev_otp, text->alg->swab);
-+ otp_hash(md, cur_otp, OTP_HASH_SIZE, prev_otp, text->alg->swab, mdctx);
-
- if (!memcmp(prev_otp, text->otp, OTP_HASH_SIZE)) {
- /* update the secret with this seq/otp */
-@@ -879,23 +917,28 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- *new_resp++ = '\0';
- }
-
-- if (!(new_chal && new_resp))
-- return SASL_BADAUTH;
-+ if (!(new_chal && new_resp)) {
-+ r = SASL_BADAUTH;
-+ goto done;
-+ }
-
- if ((r = parse_challenge(utils, new_chal, &alg, &seq, seed, 1))
- != SASL_OK) {
-- return r;
-+ goto done;
- }
-
-- if (seq < 1 || !strcasecmp(seed, text->seed))
-- return SASL_BADAUTH;
-+ if (seq < 1 || !strcasecmp(seed, text->seed)) {
-+ r = SASL_BADAUTH;
-+ goto done;
-+ }
-
- /* find the MDA */
- if (!(md = EVP_get_digestbyname(alg->evp_name))) {
- utils->seterror(utils->conn, 0,
- "OTP algorithm %s is not available",
- alg->evp_name);
-- return SASL_BADAUTH;
-+ r = SASL_BADAUTH;
-+ goto done;
- }
-
- if (!strncasecmp(c, OTP_INIT_HEX_TYPE, strlen(OTP_INIT_HEX_TYPE))) {
-@@ -903,7 +946,7 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- }
- else if (!strncasecmp(c, OTP_INIT_WORD_TYPE,
- strlen(OTP_INIT_WORD_TYPE))) {
-- r = word2bin(utils, new_resp, new_otp, md);
-+ r = word2bin(utils, new_resp, new_otp, md, mdctx);
- }
-
- if (r == SASL_OK) {
-@@ -914,7 +957,10 @@ static int verify_response(server_context_t *text, const sasl_utils_t *utils,
- memcpy(text->otp, new_otp, OTP_HASH_SIZE);
- }
- }
--
-+
-+ done:
-+ if (mdctx) _plug_EVP_MD_CTX_free(mdctx, utils);
-+
- return r;
- }
-
-@@ -1443,8 +1489,10 @@ int otp_server_plug_init(const sasl_utils_t *utils,
- *pluglist = otp_server_plugins;
- *plugcount = 1;
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- /* Add all digests */
- OpenSSL_add_all_digests();
-+#endif
-
- return SASL_OK;
- }
-@@ -1844,8 +1892,10 @@ int otp_client_plug_init(sasl_utils_t *utils,
- *pluglist = otp_client_plugins;
- *plugcount = 1;
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- /* Add all digests */
- OpenSSL_add_all_digests();
-+#endif
-
- return SASL_OK;
- }
---- a/saslauthd/lak.c
-+++ b/saslauthd/lak.c
-@@ -729,7 +729,7 @@ int lak_init(
- return rc;
- }
-
--#ifdef HAVE_OPENSSL
-+#if defined(HAVE_OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
- OpenSSL_add_all_digests();
- #endif
-
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch
deleted file mode 100644
index d8b4b6efc3f8..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.26-send-imap-logout.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- cyrus-sasl2.orig/saslauthd/auth_rimap.c
-+++ cyrus-sasl2/saslauthd/auth_rimap.c
-@@ -90,6 +90,7 @@ static struct addrinfo *ai = NULL; /* re
- service we connect to. */
- #define TAG "saslauthd" /* IMAP command tag */
- #define LOGIN_CMD (TAG " LOGIN ") /* IMAP login command (with tag) */
-+#define LOGOUT_CMD (TAG " LOGOUT ") /* IMAP logout command (with tag)*/
- #define NETWORK_IO_TIMEOUT 30 /* network I/O timeout (seconds) */
- #define RESP_LEN 1000 /* size of read response buffer */
-
-@@ -307,10 +308,12 @@ auth_rimap (
- int s=-1; /* socket to remote auth host */
- struct addrinfo *r; /* remote socket address info */
- struct iovec iov[5]; /* for sending LOGIN command */
-+ struct iovec iov2[2]; /* for sending LOGOUT command */
- char *qlogin; /* pointer to "quoted" login */
- char *qpass; /* pointer to "quoted" password */
- char *c; /* scratch pointer */
- int rc; /* return code scratch area */
-+ int rcl; /* return code scratch area */
- char rbuf[RESP_LEN]; /* response read buffer */
- char hbuf[NI_MAXHOST], pbuf[NI_MAXSERV];
- int saved_errno;
-@@ -505,6 +508,24 @@ auth_rimap (
- }
- }
- }
-+
-+ /* close remote imap */
-+ iov2[0].iov_base = LOGOUT_CMD;
-+ iov2[0].iov_len = sizeof(LOGOUT_CMD) - 1;
-+ iov2[1].iov_base = "\r\n";
-+ iov2[1].iov_len = sizeof("\r\n") - 1;
-+
-+ if (flags & VERBOSE) {
-+ syslog(LOG_DEBUG, "auth_rimap: sending %s%s %s",
-+ LOGOUT_CMD, qlogin, qpass);
-+ }
-+ alarm(NETWORK_IO_TIMEOUT);
-+ rcl = retry_writev(s, iov2, 2);
-+ alarm(0);
-+ if (rcl == -1) {
-+ syslog(LOG_WARNING, "auth_rimap: writev logout: %m");
-+ }
-+
- (void) close(s); /* we're done with the remote */
- if (rc == -1) {
- syslog(LOG_WARNING, "auth_rimap: read (response): %m");
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/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 bcabb66dbd73..dbb996c4473f 100644
--- a/dev-libs/cyrus-sasl/metadata.xml
+++ b/dev-libs/cyrus-sasl/metadata.xml
@@ -1,15 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<use>
- <flag name="authdaemond">Add Courier-IMAP authdaemond unix socket
- support (<pkg>net-mail/courier-imap</pkg>, <pkg>mail-mta/courier</pkg>)
- </flag>
- <flag name="openldap">Add ldap support for saslauthd</flag>
- <flag name="ldapdb">Enable ldapdb plugin</flag>
- <flag name="sample">Enable sample client and server</flag>
- <flag name="srp">Enable SRP authentication</flag>
- <flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
-</use>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="authdaemond">
+ Add Courier-IMAP authdaemond unix socket
+ support (<pkg>net-mail/courier-imap</pkg>, <pkg>mail-mta/courier</pkg>)
+ </flag>
+ <flag name="openldap">Add ldap support for saslauthd</flag>
+ <flag name="ldapdb">Enable ldapdb plugin</flag>
+ <flag name="sample">Enable sample client and server</flag>
+ <flag name="srp">Enable SRP authentication</flag>
+ <flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
+ </use>
+ <upstream>
+ <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 6a9e06b78e05..91bcca828edd 100644
--- a/dev-libs/d0_blind_id/Manifest
+++ b/dev-libs/d0_blind_id/Manifest
@@ -1,2 +1 @@
-DIST d0_blind_id-0.5.tar.gz 344460 BLAKE2B 9b77061e35b37bcdc009ea82989b0fe18ca6ddaebfcf7c3a4bd35523ae683fc0f05c3886f1c7904afbb5120a013dab2bbb1031c3c5dba9c435258e0b7fe960e9 SHA512 0a7735269a41108f191c4143b52eff2179889d94239be5be0c2406c6ed789b68e2d545250f9964e97f8c86a0653296bacdbe9b8d9db89a79ca6922d7c1a90162
-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-0.5.ebuild b/dev-libs/d0_blind_id/d0_blind_id-0.5.ebuild
deleted file mode 100644
index ad72b64cda06..000000000000
--- a/dev-libs/d0_blind_id/d0_blind_id-0.5.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-utils
-
-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="mirror://github/divVerent/d0_blind_id/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs"
-
-RDEPEND="dev-libs/gmp:0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( d0_blind_id.txt )
-
-src_prepare() {
- # fix out-of-source build
- sed -i \
- -e 's, d0_rijndael.c, "$srcdir/d0_rijndael.c",' \
- configure.ac || die
-
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-rijndael
- --without-openssl
- --without-tommath
- )
- autotools-utils_src_configure
-}
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 e6a95402a2c0..000000000000
--- a/dev-libs/d0_blind_id/d0_blind_id-1.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~x86"
-IUSE="static-libs"
-
-RDEPEND="dev-libs/gmp:0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( d0_blind_id.txt )
-
-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
-
- if ! use static-libs ; then
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
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/metadata.xml b/dev-libs/d0_blind_id/metadata.xml
index 78274e0fa550..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 5a6424dbf094..243675ac6111 100644
--- a/dev-libs/darts/Manifest
+++ b/dev-libs/darts/Manifest
@@ -1 +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 115570f6f76c..000000000000
--- a/dev-libs/darts/darts-0.32.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-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 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE="zlib"
-DEPEND="zlib? ( sys-libs/zlib )"
-
-src_compile() {
- econf `use_with zlib` || die
- emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" || die
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die
-
- dodoc AUTHORS ChangeLog NEWS README || die
- dohtml doc/* || die
-}
diff --git a/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild b/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
new file mode 100644
index 000000000000..7b61be79be20
--- /dev/null
+++ b/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2003-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/s-yata/darts-clone"
+else
+ DARTS_CLONE_GIT_REVISION="e40ce4627526985a7767444b6ed6893ab6ff8983"
+fi
+
+DESCRIPTION="Darts-clone (Double-ARray Trie System) C++ library"
+# Original upstream: http://chasen.org/~taku/software/darts/
+HOMEPAGE="https://github.com/s-yata/darts-clone https://code.google.com/archive/p/darts-clone/"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/s-yata/darts-clone/archive/${DARTS_CLONE_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+if [[ "${PV}" != "9999" ]]; then
+ S="${WORKDIR}/darts-clone-${DARTS_CLONE_GIT_REVISION}"
+fi
+
+src_prepare() {
+ default
+ eaclocal
+ eautoconf
+ eautomake
+}
+
+src_install() {
+ default
+
+ local language source_file target_file
+ for source_file in doc/*/*.md; do
+ language="${source_file#*/}"
+ language="${language%%/*}"
+ target_file="${source_file##*/}"
+ target_file="${target_file%.md}.${language}.md"
+ newdoc "${source_file}" "${target_file}"
+ done
+}
diff --git a/dev-libs/darts/darts-9999.ebuild b/dev-libs/darts/darts-9999.ebuild
new file mode 100644
index 000000000000..556c583634b1
--- /dev/null
+++ b/dev-libs/darts/darts-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2003-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/s-yata/darts-clone"
+else
+ DARTS_CLONE_GIT_REVISION=""
+fi
+
+DESCRIPTION="Darts-clone (Double-ARray Trie System) C++ library"
+# Original upstream: http://chasen.org/~taku/software/darts/
+HOMEPAGE="https://github.com/s-yata/darts-clone https://code.google.com/archive/p/darts-clone/"
+if [[ "${PV}" == "9999" ]]; then
+ SRC_URI=""
+else
+ SRC_URI="https://github.com/s-yata/darts-clone/archive/${DARTS_CLONE_GIT_REVISION}.tar.gz -> ${P}.tar.gz"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+if [[ "${PV}" != "9999" ]]; then
+ S="${WORKDIR}/darts-clone-${DARTS_CLONE_GIT_REVISION}"
+fi
+
+src_prepare() {
+ default
+ eaclocal
+ eautoconf
+ eautomake
+}
+
+src_install() {
+ default
+
+ local language source_file target_file
+ for source_file in doc/*/*.md; do
+ language="${source_file#*/}"
+ language="${language%%/*}"
+ target_file="${source_file##*/}"
+ target_file="${target_file%.md}.${language}.md"
+ newdoc "${source_file}" "${target_file}"
+ done
+}
diff --git a/dev-libs/darts/metadata.xml b/dev-libs/darts/metadata.xml
index c921b96adf6c..a9e4b57c55e4 100644
--- a/dev-libs/darts/metadata.xml
+++ b/dev-libs/darts/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
-</maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">s-yata/darts-clone</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/date/Manifest b/dev-libs/date/Manifest
new file mode 100644
index 000000000000..168710ab4714
--- /dev/null
+++ b/dev-libs/date/Manifest
@@ -0,0 +1 @@
+DIST date-3.0.0.tar.gz 822623 BLAKE2B 438a7a5c153c7c2d695fefc95bbd474ef507af2cd8182d1e7d54d482b0128c3f9c57582ed5b40ef46d8f6f5539228d20322c684b1e1b418e5ade3b4871bf4ec1 SHA512 03ba0faef68e053aba888591b9350af1a043ef543825c80b1ca3f0dc0448697f56286e561f1a2a59e684680d7fc1e51fd24955c4cc222fe28db64f56037dc1aa
diff --git a/dev-libs/date/date-3.0.0.ebuild b/dev-libs/date/date-3.0.0.ebuild
new file mode 100644
index 000000000000..d0a19a986f6b
--- /dev/null
+++ b/dev-libs/date/date-3.0.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+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"
+
+LICENSE="MIT"
+SLOT="0/3.0.0"
+IUSE="only-c-locale test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-c-locale-export.patch
+ "${FILESDIR}"/${P}-version.patch
+)
+
+src_prepare() {
+ # The test cases are implicitly generated with CMake code, that parses
+ # the file names for ".cpp" and ".fail.cpp". Renaming the source files
+ # disables the test.
+
+ # This test case fails due to a stdlibc++ bug.
+ # Upstream bug: https://github.com/HowardHinnant/date/issues/388
+ mv "test/date_test/parse.pass.cpp" "test/date_test/parse.disabled" || ewarn "Can not deactivate test case, test failure expected"
+
+ # This test case fails only when the CMAKE_BUILD_TYPE=Gentoo.
+ # The behaviour seems very strange, but does not appear with a
+ # "valid" build type.
+ # Upstream bug: https://github.com/HowardHinnant/date/issues/604
+ mv "test/clock_cast_test/local_t.pass.cpp" "test/clock_cast_test/local_t.disabled" || ewarn "Can not deactivate test case, test failure expected"
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TZ_LIB=ON
+ -DUSE_SYSTEM_TZ_DB=ON
+ -DENABLE_DATE_TESTING=$(usex test)
+ -DCOMPILE_WITH_C_LOCALE=$(usex only-c-locale)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ninja testit
+}
diff --git a/dev-libs/date/files/date-3.0.0-c-locale-export.patch b/dev-libs/date/files/date-3.0.0-c-locale-export.patch
new file mode 100644
index 000000000000..a4e5a9a93ef0
--- /dev/null
+++ b/dev-libs/date/files/date-3.0.0-c-locale-export.patch
@@ -0,0 +1,90 @@
+Fixes an compilation error when 'ONLY_C_LOCALE' is used to build the project.
+
+Upstream-Bug: https://github.com/HowardHinnant/date/issues/589
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -76,10 +76,25 @@ if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.15)
+ # public headers will get installed:
+ set_target_properties( date PROPERTIES PUBLIC_HEADER include/date/date.h )
+ endif ()
+-target_compile_definitions( date INTERFACE
+- #To workaround libstdc++ issue https://github.com/HowardHinnant/date/issues/388
+- ONLY_C_LOCALE=$<IF:$<BOOL:${COMPILE_WITH_C_LOCALE}>,1,0>
+- $<$<BOOL:${DISABLE_STRING_VIEW}>:HAS_STRING_VIEW=0> )
++
++# These used to be set with generator expressions,
++#
++# ONLY_C_LOCALE=$<IF:$<BOOL:${COMPILE_WITH_C_LOCALE}>,1,0>
++#
++# which expand in the output target file to, e.g.
++#
++# ONLY_C_LOCALE=$<IF:$<BOOL:FALSE>,1,0>
++#
++# This string is then (somtimes?) not correctly interpreted.
++if ( COMPILE_WITH_C_LOCALE )
++ # To workaround libstdc++ issue https://github.com/HowardHinnant/date/issues/388
++ target_compile_definitions( date INTERFACE ONLY_C_LOCALE=1 )
++else()
++ target_compile_definitions( date INTERFACE ONLY_C_LOCALE=0 )
++endif()
++if ( DISABLE_STRING_VIEW )
++ target_compile_definitions( date INTERFACE HAS_STRING_VIEW=0 )
++endif()
+
+ #[===================================================================[
+ tz (compiled) library
+@@ -89,27 +104,40 @@ if( BUILD_TZ_LIB )
+ target_sources( date-tz
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>$<INSTALL_INTERFACE:include>/date/tz.h
+- $<$<BOOL:${IOS}>:$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>$<INSTALL_INTERFACE:include>/date/ios.h>
+ PRIVATE
+ include/date/tz_private.h
+- $<$<BOOL:${IOS}>:src/ios.mm>
+ src/tz.cpp )
++ if ( IOS )
++ target_sources( date-tz
++ PUBLIC
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>$<INSTALL_INTERFACE:include>/date/ios.h
++ PRIVATE
++ src/ios.mm )
++ endif()
+ add_library( date::tz ALIAS date-tz )
+ target_link_libraries( date-tz PUBLIC date )
+ target_include_directories( date-tz PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include> )
+- target_compile_definitions( date-tz
+- PRIVATE
+- AUTO_DOWNLOAD=$<IF:$<OR:$<BOOL:${USE_SYSTEM_TZ_DB}>,$<BOOL:${MANUAL_TZ_DB}>>,0,1>
+- HAS_REMOTE_API=$<IF:$<OR:$<BOOL:${USE_SYSTEM_TZ_DB}>,$<BOOL:${MANUAL_TZ_DB}>>,0,1>
+- $<$<AND:$<BOOL:${WIN32}>,$<BOOL:${BUILD_SHARED_LIBS}>>:DATE_BUILD_DLL=1>
+- $<$<BOOL:${USE_TZ_DB_IN_DOT}>:INSTALL=.>
+- PUBLIC
+- USE_OS_TZDB=$<IF:$<AND:$<BOOL:${USE_SYSTEM_TZ_DB}>,$<NOT:$<BOOL:${WIN32}>>,$<NOT:$<BOOL:${MANUAL_TZ_DB}>>>,1,0>
+- INTERFACE
+- $<$<AND:$<BOOL:${WIN32}>,$<BOOL:${BUILD_SHARED_LIBS}>>:DATE_USE_DLL=1> )
++
++ if ( USE_SYSTEM_TZ_DB OR MANUAL_TZ_DB )
++ target_compile_definitions( date-tz PRIVATE AUTO_DOWNLOAD=0 HAS_REMOTE_API=0 )
++ else()
++ target_compile_definitions( date-tz PRIVATE AUTO_DOWNLOAD=1 HAS_REMOTE_API=1 )
++ endif()
++
++ if ( USE_SYSTEM_TZ_DB AND NOT WIN32 AND NOT MANUAL_TZ_DB )
++ target_compile_definitions( date-tz PRIVATE INSTALL=. PUBLIC USE_OS_TZDB=1 )
++ else()
++ target_compile_definitions( date-tz PUBLIC USE_OS_TZDB=0 )
++ endif()
++
++ if ( WIN32 AND BUILD_SHARED_LIBS )
++ target_compile_definitions( date-tz PUBLIC DATE_BUILD_DLL=1 )
++ endif()
++
+ set(TZ_HEADERS include/date/tz.h)
++
+ if( IOS )
+ list(APPEND TZ_HEADERS include/date/ios.h)
+ endif( )
+--
diff --git a/dev-libs/date/files/date-3.0.0-version.patch b/dev-libs/date/files/date-3.0.0-version.patch
new file mode 100644
index 000000000000..398b2107059c
--- /dev/null
+++ b/dev-libs/date/files/date-3.0.0-version.patch
@@ -0,0 +1,15 @@
+Fixes an oversight in the build-system versioning.
+
+Upstream-Bug: https://github.com/HowardHinnant/date/issues/583
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,7 +17,7 @@
+
+ cmake_minimum_required( VERSION 3.7 )
+
+-project( date VERSION 2.4.1 )
++project( date VERSION 3.0.0 )
+
+ include( GNUInstallDirs )
+
diff --git a/dev-libs/date/metadata.xml b/dev-libs/date/metadata.xml
new file mode 100644
index 000000000000..9cd6469e422f
--- /dev/null
+++ b/dev-libs/date/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">
+ <email>gentoo@jonas-toth.eu</email>
+ <name>Jonas Toth</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="only-c-locale">Build only the C locale</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">HowardHinnant/date</remote-id>
+ <bugs-to>https://github.com/HowardHinnant/date/issues</bugs-to>
+ <changelog>https://github.com/HowardHinnant/date/releases</changelog>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild
deleted file mode 100644
index 89e531716b5d..000000000000
--- a/dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-AUTOTOOLS_PRUNE_LIBTOOL_FILES="modules"
-
-inherit autotools-multilib
-
-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"
-SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="doc ecore glib static-libs test"
-
-RDEPEND="sys-apps/dbus[${MULTILIB_USEDEP}]
- ecore? ( dev-libs/efl )
- glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- dev-util/cppunit[${MULTILIB_USEDEP}]
- virtual/pkgconfig"
-
-S=${WORKDIR}/lib${P}
-
-PATCHES=(
- "${FILESDIR}"/${P}-gcc-4.7.patch #424707
- "${FILESDIR}"/${PN}-gcc7.patch #622790
-)
-
-multilib_src_configure() {
- # not just using autotools-multilib_src_configure because of multilib_native... logic
-
- # TODO : add ecore multilib support if/when it is multilibified
- ECONF_SOURCE="${S}" econf \
- --disable-examples \
- $(multilib_native_use_enable doc doxygen-docs) \
- $(multilib_native_use_enable ecore) \
- $(use_enable glib) \
- $(use_enable static-libs static) \
- $(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
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use doc; then
- dohtml -r "${S}"/doc/html/*
- fi
-}
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
new file mode 100644
index 000000000000..24adb05a6cde
--- /dev/null
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.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
+
+DESCRIPTION="Provides a C++ API for D-BUS"
+HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/"
+SRC_URI="https://downloads.sourceforge.net/dbus-cplusplus/lib${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="doc ecore glib test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ 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 )"
+
+S="${WORKDIR}/lib${P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-4.7.patch #424707
+ "${FILESDIR}"/${PN}-gcc7.patch #622790
+)
+
+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
+}
+
+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++/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..48df7826265a
--- /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="https://downloads.sourceforge.net/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-c++/metadata.xml b/dev-libs/dbus-c++/metadata.xml
index f0a0dc194aa2..23803ee6a1a1 100644
--- a/dev-libs/dbus-c++/metadata.xml
+++ b/dev-libs/dbus-c++/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
- <longdescription>
- dbus-c++ attempts to provide a C++ API for D-BUS.
- </longdescription>
<use>
<flag name="ecore">Use Ecore integration</flag>
<flag name="glib">Use glib integration</flag>
diff --git a/dev-libs/dbus-glib/Manifest b/dev-libs/dbus-glib/Manifest
index 92177545e865..c30e3135cb62 100644
--- a/dev-libs/dbus-glib/Manifest
+++ b/dev-libs/dbus-glib/Manifest
@@ -1 +1,2 @@
DIST dbus-glib-0.110.tar.gz 836497 BLAKE2B d936402bbaa5c354b2730cbace273974ec0133db052503fea2780d70b128e50e4fdf54f6ebfeed024eb5602fa3725a40627e27320a4727647299f74b2eb75c85 SHA512 c40ccf7118d4951f0e09082216ccd26f21ee906bdf96d912611d3cd29badd7ef446bea74e19f26c28ebceb9e19bb659d11c643c3e712dac499df12907be88a54
+DIST dbus-glib-0.112.tar.gz 715340 BLAKE2B 24e1c222f0116b32c109682816f6c35771647f4c63cab93a6621bd68b71ea4dca62fbf9e6bb360386b8658146dbf34b0d7dc471db7525585412d120340c4c969 SHA512 7c9f393f065dfb3d698f35e6554caf15fe539f5dd52d2b2bb6ed1770e130f5dab8e45379232520301455bae9bb77e25a109faf175153fcd4b9dd11d7de4a546e
diff --git a/dev-libs/dbus-glib/dbus-glib-0.110.ebuild b/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
index 4530cd58f357..c77bed76b90f 100644
--- a/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
+++ b/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit bash-completion-r1 eutils multilib-minimal
+EAPI=7
+inherit autotools bash-completion-r1 multilib-minimal toolchain-funcs
DESCRIPTION="D-Bus bindings for glib"
HOMEPAGE="https://dbus.freedesktop.org/"
@@ -10,28 +10,39 @@ 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 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint ~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 )"
-CDEPEND="
+DEPEND="
>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
>=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}]
>=sys-apps/dbus-1.8[${MULTILIB_USEDEP}]
"
-DEPEND="${CDEPEND}
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=dev-libs/expat-2.1.0-r3
+ >=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
-"
-RDEPEND="${CDEPEND}"
+" # CBUILD dependencies are needed to make a native tool while cross-compiling.
DOCS=( AUTHORS ChangeLog HACKING NEWS README )
+PATCHES=( "${FILESDIR}"/${P}-config-glib-genmarshal.conf )
+
set_TBD() {
# out of sources build dir for make check
export TBD="${BUILD_DIR}-tests"
}
+src_prepare() {
+ default
+ eautoreconf
+}
+
multilib_src_configure() {
local myconf=(
--localstatedir="${EPREFIX}"/var
@@ -41,6 +52,15 @@ multilib_src_configure() {
$(use_enable static-libs static)
)
+ # Configure a CBUILD directory to make a native build tool.
+ if tc-is-cross-compiler; then
+ mkdir "${BUILD_DIR}-build" || die
+ cd "${BUILD_DIR}-build" || die
+ ECONF_SOURCE="${S}" econf_build
+ myconf+=( --with-dbus-binding-tool="$PWD/dbus/dbus-binding-tool" )
+ cd - || die
+ fi
+
ECONF_SOURCE="${S}" econf "${myconf[@]}"
ln -s "${S}"/doc/reference/html doc/reference/html || die #460042
@@ -59,6 +79,8 @@ multilib_src_configure() {
}
multilib_src_compile() {
+ tc-is-cross-compiler && emake -C "${BUILD_DIR}-build"
+
emake
if use test; then
@@ -81,5 +103,5 @@ multilib_src_install_all() {
newbashcomp "${ED}"/etc/bash_completion.d/dbus-bash-completion.sh dbus-send
rm -rf "${ED}"/etc/bash_completion.d || die
- prune_libtool_files
+ find "${ED}" -type f -name '*.la' -delete || die
}
diff --git a/dev-libs/dbus-glib/dbus-glib-0.112.ebuild b/dev-libs/dbus-glib/dbus-glib-0.112.ebuild
new file mode 100644
index 000000000000..a0dcd4ce0f8b
--- /dev/null
+++ b/dev-libs/dbus-glib/dbus-glib-0.112.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools bash-completion-r1 multilib-minimal toolchain-funcs
+
+DESCRIPTION="D-Bus bindings for glib"
+HOMEPAGE="https://dbus.freedesktop.org/"
+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 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="debug static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.40:2[${MULTILIB_USEDEP}]
+ >=sys-apps/dbus-1.8[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=dev-libs/expat-2.1.0-r3
+ >=dev-libs/glib-2.40:2
+ >=sys-apps/dbus-1.8
+ >=dev-util/glib-utils-2.40
+ >=dev-build/gtk-doc-am-1.14
+ virtual/pkgconfig
+" # CBUILD dependencies are needed to make a native tool while cross-compiling.
+
+DOCS=( AUTHORS CONTRIBUTING.md NEWS README )
+
+set_TBD() {
+ # out of sources build dir for make check
+ export TBD="${BUILD_DIR}-tests"
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --localstatedir="${EPREFIX}"/var
+ --enable-bash-completion
+ --disable-gtk-doc
+ $(use_enable debug asserts)
+ $(use_enable static-libs static)
+ )
+
+ # Configure a CBUILD directory to make a native build tool.
+ if tc-is-cross-compiler; then
+ mkdir "${BUILD_DIR}-build" || die
+ cd "${BUILD_DIR}-build" || die
+ ECONF_SOURCE="${S}" econf_build
+ myconf+=( --with-dbus-binding-tool="$PWD/dbus/dbus-binding-tool" )
+ cd - || die
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ ln -s "${S}"/doc/reference/html doc/reference/html || die #460042
+
+ if use test; then
+ set_TBD
+ mkdir "${TBD}" || die
+ cd "${TBD}" || die
+ einfo "Running configure in ${TBD}"
+ ECONF_SOURCE="${S}" econf \
+ "${myconf[@]}" \
+ $(use_enable test checks) \
+ $(use_enable test tests) \
+ $(use_enable test asserts)
+ fi
+}
+
+multilib_src_compile() {
+ tc-is-cross-compiler && emake -C "${BUILD_DIR}-build"
+
+ emake
+
+ if use test; then
+ set_TBD
+ cd "${TBD}" || die
+ einfo "Running make in ${TBD}"
+ emake
+ fi
+}
+
+multilib_src_test() {
+ set_TBD
+ cd "${TBD}" || die
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ newbashcomp "${ED}"/etc/bash_completion.d/dbus-bash-completion.sh dbus-send
+ rm -r "${ED}"/etc/bash_completion.d || die
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/dbus-glib/files/dbus-glib-0.110-config-glib-genmarshal.conf b/dev-libs/dbus-glib/files/dbus-glib-0.110-config-glib-genmarshal.conf
new file mode 100644
index 000000000000..463638710ad0
--- /dev/null
+++ b/dev-libs/dbus-glib/files/dbus-glib-0.110-config-glib-genmarshal.conf
@@ -0,0 +1,76 @@
+From 39f0ae6152acfb3d8ca086090a02e0aa8742f050 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Sun, 2 Dec 2018 16:26:07 +0100
+Subject: [PATCH] buildsys: use variable for glib-genmarshal
+
+When doing cross-compilation, the path returned by pkg-config for
+glib-genmarshal can be incorrect (because it is the runtime path,
+not the build-time path).
+
+Change configure.ac to use pkg-config to get the variable.
+
+This allows overridig the path at configure time, by using the configure
+option GLIB_GENMARSHAL=/path/toglib-genmarshal
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+[smcv: Fix typo in commit message]
+Reviewed-by: Simon McVittie <smcv@collabora.com>
+---
+ configure.ac | 4 ++--
+ dbus/Makefile.am | 4 ++--
+ dbus/examples/statemachine/Makefile.am | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e00bc38..8be3147 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -267,8 +267,8 @@ AC_DEFINE([GLIB_VERSION_MIN_REQUIRED], [GLIB_VERSION_2_32],
+ [Warn on use of APIs deprecated before GLib 2.32])
+ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.40, gobject-2.0 >= 2.40, gio-2.0 >= 2.40])
+
+-GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
+-AC_SUBST(GLIB_GENMARSHAL)
++PKG_CHECK_VAR([GLIB_GENMARSHAL], [glib-2.0], [glib_genmarshal],,
++ [AC_MSG_ERROR([cannot find glib-genmarshal])])
+
+ dnl GLib flags
+ AC_SUBST(GLIB_CFLAGS)
+diff --git a/dbus/Makefile.am b/dbus/Makefile.am
+index 37c6334..2e8cb27 100644
+--- a/dbus/Makefile.am
++++ b/dbus/Makefile.am
+@@ -87,10 +87,10 @@ dbus_binding_tool_LDADD= $(builddir)/libdbus-gtool.la $(builddir)/libdbus-glib-1
+ ## we just rebuilt these manually and check them into cvs; easier than
+ ## convincing automake/make to do this properly
+ regenerate-built-sources:
+- @GLIB_GENMARSHAL@ --prefix=_dbus_g_marshal dbus-gmarshal.list --header > dbus-gmarshal.h && \
++ $(GLIB_GENMARSHAL) --prefix=_dbus_g_marshal dbus-gmarshal.list --header > dbus-gmarshal.h && \
+ echo '#include <config.h>' > dbus-gmarshal.c && \
+ echo '#include "dbus-gmarshal.h"' >> dbus-gmarshal.c && \
+- @GLIB_GENMARSHAL@ --prefix=_dbus_g_marshal dbus-gmarshal.list --body >> dbus-gmarshal.c
++ $(GLIB_GENMARSHAL) --prefix=_dbus_g_marshal dbus-gmarshal.list --body >> dbus-gmarshal.c
+
+
+ completiondir = $(sysconfdir)/bash_completion.d
+diff --git a/dbus/examples/statemachine/Makefile.am b/dbus/examples/statemachine/Makefile.am
+index 187b044..c8fe029 100644
+--- a/dbus/examples/statemachine/Makefile.am
++++ b/dbus/examples/statemachine/Makefile.am
+@@ -35,11 +35,11 @@ statemachine-glue.h: statemachine.xml
+
+ sm-marshal.c: Makefile sm-marshal.list
+ echo "#include <config.h>" > $@.tmp
+- @GLIB_GENMARSHAL@ --prefix=sm_marshal $(srcdir)/sm-marshal.list --header --body >> $@.tmp
++ $(GLIB_GENMARSHAL) --prefix=sm_marshal $(srcdir)/sm-marshal.list --header --body >> $@.tmp
+ mv $@.tmp $@
+
+ sm-marshal.h: Makefile sm-marshal.list
+- @GLIB_GENMARSHAL@ --prefix=sm_marshal $(srcdir)/sm-marshal.list --header > $@.tmp && mv $@.tmp $@
++ $(GLIB_GENMARSHAL) --prefix=sm_marshal $(srcdir)/sm-marshal.list --header > $@.tmp && mv $@.tmp $@
+
+ BUILT_SOURCES += sm-marshal.c sm-marshal.h
+
+--
+GitLab
+
diff --git a/dev-libs/dbus-glib/metadata.xml b/dev-libs/dbus-glib/metadata.xml
index 63e7905d8e10..d73e5f1efb02 100644
--- a/dev-libs/dbus-glib/metadata.xml
+++ b/dev-libs/dbus-glib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>freedesktop-bugs@gentoo.org</email>
diff --git a/dev-libs/device-atlas-api-c/Manifest b/dev-libs/device-atlas-api-c/Manifest
deleted file mode 100644
index 036494af0cc7..000000000000
--- a/dev-libs/device-atlas-api-c/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST deviceatlas-enterprise-c-2.1.3.tgz 183663 BLAKE2B e190aa8e9a4b9bc90af76e21eb425c0f040ef70e605c8f9e588bd0c859520a82807aaafddd24402d3365e94bcf3b7a875a65804f2b1b3bed6f0703f28a841440 SHA512 364811d42b2c0d937a12f2bbfee760701a1dee4e93bcc84423c8b236d59257a3440111ffc6072a7822b9694ea65986572550f67d0b1e5d68a784d1339b2b70aa
-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.3.ebuild b/dev-libs/device-atlas-api-c/device-atlas-api-c-2.1.3.ebuild
deleted file mode 100644
index 2177b9530f2d..000000000000
--- a/dev-libs/device-atlas-api-c/device-atlas-api-c-2.1.3.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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 Examples/daexutil.h
- dodoc Examples/example{0,1,2,3,4}.c
- dodoc Examples/util.c
- dodoc Examples/EXAMPLES.USAGE
- fi
-
- einstalldocs
-}
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.3-src-cmakelists.patch b/dev-libs/device-atlas-api-c/files/2.1.3-src-cmakelists.patch
deleted file mode 100644
index 6d1f9ff5586b..000000000000
--- a/dev-libs/device-atlas-api-c/files/2.1.3-src-cmakelists.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Src/CMakeLists.txt
-+++ b/Src/CMakeLists.txt
-@@ -18,6 +18,7 @@ if (NOT MODEL)
- set(MODEL 64)
- endif()
-
-+include(GNUInstallDirs)
- message(STATUS "${CMAKE_BUILD_TYPE} version")
-
- include_directories(${PCRE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
-@@ -37,5 +38,5 @@ set (CMAKE_EXE_LINKER_FLAGS -m32)
- set (CMAKE_SHARED_LINKER_FLAGS -m32)
- endif()
-
--install(FILES libda.so libda.so.${API_VERSION} DESTINATION /usr/local/lib)
--install(FILES dac.h dac_json.h DESTINATION /usr/local/include)
-+install(TARGETS da DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+install(FILES dac.h dac_json.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
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 a1a8f31a03a3..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 "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>bertrand@jacquin.bzh</email>
- <name>Bertrand Jacquin</name>
- </maintainer>
- <maintainer type="project">
- <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 ac5939a008db..000000000000
--- a/dev-libs/dietlibc/dietlibc-0.34_pre20140729-r1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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/dietlibc/metadata.xml b/dev-libs/dietlibc/metadata.xml
index e82600904d53..edbdfc577005 100644
--- a/dev-libs/dietlibc/metadata.xml
+++ b/dev-libs/dietlibc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
diff --git a/dev-libs/ding-libs/Manifest b/dev-libs/ding-libs/Manifest
index 05cb447af809..bed4d6c291c6 100644
--- a/dev-libs/ding-libs/Manifest
+++ b/dev-libs/ding-libs/Manifest
@@ -1,4 +1 @@
-DIST ding-libs-0.4.0.tar.gz 827058 BLAKE2B aa6e1cef9747646ece2643495eaa720254a964ea1adf8695f0a8a2d9c401b141a72e0c81d9d9cd44aaa81feed73118b7c7e52a24121d4ee0f71928dcf4ecf43d SHA512 e062e104f4ad75eea0b59bb113b7a6a4044a42230d96b9b9dda611535835cd0809635b1da1408ae58e97f9ff9a9f4fd48f751365901f9b066b465df3523730a0
-DIST ding-libs-0.5.0.tar.gz 868840 BLAKE2B dc89dbd0951d8505776ae98a10bbfb54f4a2106da0a5b76f3d08556f7df0e85093862813ceb12f0190709ca71fe75eceb2c373dd95a0437f15ceec0bd70cf171 SHA512 d79db6794dbb59b518db15c51c3f981e8873e478a156ca8ae766a61107796968eeed36cf21bd20f5e6f04c5b460d3a40ab114a482754e2f3976c53bb82fe1fcb
-DIST ding-libs-0.6.0.tar.gz 880038 BLAKE2B 97d575fa73e436ae5062c15eb6448a31f3e2758ddc42338556a2c697e83ec4c57aa60867d5d2dc6add935266c8a4404f59d089fe52507d52783aed8bbe967503 SHA512 7218b6825bc078bdc35f149bd17944f427af0e32fa4d94026c00ecd14037598959ad7e1dee46af6fd3736424cdb499720fd8e1a0d1dfd173a5bc0085f8f986b2
-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.4.0.ebuild b/dev-libs/ding-libs/ding-libs-0.4.0.ebuild
deleted file mode 100644
index 8aa0f79aa2c9..000000000000
--- a/dev-libs/ding-libs/ding-libs-0.4.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-multilib
-
-DESCRIPTION="Library set needed for build 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="amd64 ~arm ~hppa ~ppc ~ppc64 x86 ~amd64-linux"
-IUSE="test static-libs"
-
-RDEPEND=""
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? ( dev-libs/check )
- "
diff --git a/dev-libs/ding-libs/ding-libs-0.5.0.ebuild b/dev-libs/ding-libs/ding-libs-0.5.0.ebuild
deleted file mode 100644
index f917de14d1b4..000000000000
--- a/dev-libs/ding-libs/ding-libs-0.5.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit autotools-multilib
-
-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 ~sh ~sparc ~x86 ~amd64-linux"
-IUSE="test static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? ( dev-libs/check )"
diff --git a/dev-libs/ding-libs/ding-libs-0.6.0.ebuild b/dev-libs/ding-libs/ding-libs-0.6.0.ebuild
deleted file mode 100644
index 1f488639729e..000000000000
--- a/dev-libs/ding-libs/ding-libs-0.6.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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 ~sh ~sparc ~x86 ~amd64-linux"
-IUSE="test static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? ( dev-libs/check )"
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
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 9484b437cce3..000000000000
--- a/dev-libs/ding-libs/ding-libs-0.6.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 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 ~sh ~sparc x86 ~amd64-linux"
-IUSE="test static-libs"
-
-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 c5adddd4b3e6..a5ebe852b975 100644
--- a/dev-libs/ding-libs/metadata.xml
+++ b/dev-libs/ding-libs/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>maksbotan@gentoo.org</email>
- <name>Maxim Koltsov</name>
-</maintainer>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">SSSD/ding-libs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/distorm3/Manifest b/dev-libs/distorm3/Manifest
new file mode 100644
index 000000000000..96b5e6f5be6f
--- /dev/null
+++ b/dev-libs/distorm3/Manifest
@@ -0,0 +1 @@
+DIST distorm3-3.5.2.tar.gz 138371 BLAKE2B 76cc9c987d53a5c7336632ee96878df62865a862bba9b3d07fa95cd585aff428a0187033b78e0731f14a24cc37d7d19f290b2ca06a5a3dd6ee8116a0e68678c8 SHA512 bc08a12f87e6bf22ff9bbba8a34b88b0988b80ddec405c669ba5cd863545128f8b3df4b122a69f4849af3d08818c836b368332e6546871bdfee99e611b3f8d19
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/files/distorm3-3.5.2-under.patch b/dev-libs/distorm3/files/distorm3-3.5.2-under.patch
new file mode 100644
index 000000000000..3a7971d55be3
--- /dev/null
+++ b/dev-libs/distorm3/files/distorm3-3.5.2-under.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/797283
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -4,7 +4,7 @@ compile = 1
+ optimize = 1
+
+ [bdist_wininst]
+-user-access-control = auto
++user_access_control = auto
+
+ [egg_info]
+ tag_build =
diff --git a/dev-libs/distorm3/metadata.xml b/dev-libs/distorm3/metadata.xml
new file mode 100644
index 000000000000..228e23190a66
--- /dev/null
+++ b/dev-libs/distorm3/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>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gdabah/distorm</remote-id>
+ <remote-id type="pypi">distorm3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/distorm64/Manifest b/dev-libs/distorm64/Manifest
deleted file mode 100644
index baff47c98a8d..000000000000
--- a/dev-libs/distorm64/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST distorm-3.3.8.tar.gz 219869 BLAKE2B 91be3a56f1ffcff96ab345c8dd42a4f17b22f40299c5c16b77b3074ba2e071d747aa2e91adeea3cb78e3787cc42d5ad4544b89c3ed5b7940d9156168acc8da62 SHA512 bf65fe500089b4aa38d6430eb985f1dc3494b43c829379c56f91b5b4b25d19504fa3781a2fb2b03946f541962f6e564e46d6ec464c469ee21ecb773303b8494e
-DIST distorm-3.4.1.tar.gz 220042 BLAKE2B a845fb3b5a3c98c1b25601896785273668b48c8477dd29c5db4c4ddcf3cdfe73095e3c4c883ca0909820430989a412d9b47c87471450eba2a4d969a9a03d32c1 SHA512 0e9f8b62bc190ef7d516f1902b6003adef9c7d5d4a5f985fb0bdfc5d4838b2805e2b8836b02d5eccdb3401e814417de615dec675aed9e606c93122ca8a0d2083
diff --git a/dev-libs/distorm64/distorm64-3.3.8.ebuild b/dev-libs/distorm64/distorm64-3.3.8.ebuild
deleted file mode 100644
index 26cda2dbaba9..000000000000
--- a/dev-libs/distorm64/distorm64-3.3.8.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
-
-# does not work with python3_4 as-is
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
-
-inherit distutils-r1
-
-DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
-HOMEPAGE="http://www.ragestorm.net/distorm/"
-
-MY_PN=distorm
-MY_P=${MY_PN}-${PV}
-
-SRC_URI="https://github.com/gdabah/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-DEPEND=""
-RDEPEND=""
-
-LICENSE="BSD-4"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
diff --git a/dev-libs/distorm64/distorm64-3.4.1.ebuild b/dev-libs/distorm64/distorm64-3.4.1.ebuild
deleted file mode 100644
index 7642f63664f1..000000000000
--- a/dev-libs/distorm64/distorm64-3.4.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
-
-inherit distutils-r1
-
-DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
-HOMEPAGE="http://www.ragestorm.net/distorm/"
-
-MY_PN=distorm
-MY_P=${MY_PN}-${PV}
-
-SRC_URI="https://github.com/gdabah/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-DEPEND=""
-RDEPEND=""
-
-LICENSE="BSD-4"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
diff --git a/dev-libs/distorm64/metadata.xml b/dev-libs/distorm64/metadata.xml
deleted file mode 100644
index a490a1ed469a..000000000000
--- a/dev-libs/distorm64/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
- <maintainer type="person">
- <email>ikelos@gentoo.org</email>
- <name>Mike Auty</name>
- </maintainer>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
- <upstream>
- <remote-id type="github">gdabah/distorm</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.5.2-r4.ebuild b/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild
deleted file mode 100644
index cfc84a7048d0..000000000000
--- a/dev-libs/dmalloc/dmalloc-5.5.2-r4.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools eutils multilib
-
-DESCRIPTION="A Debug Malloc Library"
-HOMEPAGE="http://dmalloc.com"
-SRC_URI="http://dmalloc.com/releases/${P}.tgz"
-
-LICENSE="CC-BY-SA-3.0"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs threads"
-
-DEPEND="sys-apps/texinfo"
-RDEPEND=""
-
-DOCS=( NEWS README docs/NOTES docs/TODO )
-
-src_prepare() {
- # - Build objects twice, once -fPIC for shared.
- # - Use DESTDIR.
- # - Fix SONAME and NEEDED.
- epatch "${FILESDIR}"/${P}-Makefile.in.patch
- # - Broken test, always returns false.
- epatch "${FILESDIR}"/${P}-cxx.patch
- # - Add threads support.
- use threads && epatch "${FILESDIR}"/${P}-threads.patch
- # Respect CFLAGS/LDFLAGS. #337429
- sed -i Makefile.in \
- -e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
- || die "sed Makefile.in"
- # - Run autoconf for -cxx.patch.
- eautoconf
-}
-
-src_configure() {
- econf --enable-cxx --enable-shlib $(use_enable threads)
-}
-
-src_compile() {
- default
-
- cd docs
- makeinfo dmalloc.texi || die
-}
-
-src_test() {
- emake heavy
-}
-
-src_install() {
- default
-
- newdoc ChangeLog.1 ChangeLog
- insinto /usr/share/doc/${PF}
- doins docs/dmalloc.pdf
- dohtml RELEASE.html docs/dmalloc.html
- doinfo docs/dmalloc.info
-
- # add missing symlinks, lazy
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
-
- for lib in cxx th thcxx; do
- dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
- dosym lib${PN}${lib}.so.${PV} \
- /usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
- done
-
- if ! use static-libs; then
- rm "${D}"/usr/$(get_libdir)/lib${PN}*.a || die
- fi
-}
diff --git a/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild b/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild
deleted file mode 100644
index db39b903e2d4..000000000000
--- a/dev-libs/dmalloc/dmalloc-5.5.2-r6.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils multilib toolchain-funcs
-
-DESCRIPTION="A Debug Malloc Library"
-HOMEPAGE="http://dmalloc.com"
-SRC_URI="http://dmalloc.com/releases/${P}.tgz"
-
-LICENSE="CC-BY-SA-3.0"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs threads"
-
-DEPEND="sys-apps/texinfo"
-RDEPEND=""
-
-DOCS=( NEWS README docs/NOTES docs/TODO )
-
-src_prepare() {
- # - Build objects twice, once -fPIC for shared.
- # - Use DESTDIR.
- # - Fix SONAME and NEEDED.
- epatch "${FILESDIR}"/${P}-Makefile.in.patch
-
- # - Broken test, always returns false.
- epatch "${FILESDIR}"/${P}-cxx.patch
- epatch "${FILESDIR}"/${P}-ar.patch
-
- # - Add threads support.
- use threads && epatch "${FILESDIR}"/${P}-threads.patch
-
- # strdup() strndup() macros
- epatch "${FILESDIR}"/${P}-string-macros.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
-
- cd docs
- makeinfo dmalloc.texi || die
-}
-
-src_test() {
- emake heavy
-}
-
-src_install() {
- default
-
- newdoc ChangeLog.1 ChangeLog
- insinto /usr/share/doc/${PF}
- doins docs/dmalloc.pdf
- dohtml RELEASE.html docs/dmalloc.html
- doinfo docs/dmalloc.info
-
- # add missing symlinks, lazy
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
-
- for lib in cxx th thcxx; do
- dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
- dosym lib${PN}${lib}.so.${PV} \
- /usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
- done
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
- fi
-}
diff --git a/dev-libs/dmalloc/dmalloc-5.5.2-r7.ebuild b/dev-libs/dmalloc/dmalloc-5.5.2-r7.ebuild
new file mode 100644
index 000000000000..63f70913d550
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.5.2-r7.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs
+
+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"
+
+DOCS=( NEWS README docs/NOTES docs/TODO )
+
+PATCHES=(
+ # - Build objects twice, once -fPIC for shared.
+ # - Use DESTDIR.
+ # - Fix SONAME and NEEDED.
+ "${FILESDIR}"/${P}-Makefile.in.patch
+ # - Broken test, always returns false.
+ "${FILESDIR}"/${P}-cxx.patch
+ "${FILESDIR}"/${P}-ar.patch
+ # strdup() strndup() macros
+ "${FILESDIR}"/${P}-string-macros.patch
+)
+
+src_prepare() {
+ default
+
+ # - Add threads support.
+ use threads && eapply "${FILESDIR}"/${P}-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
+
+ cd docs
+ makeinfo dmalloc.texi || die
+}
+
+src_test() {
+ emake heavy
+}
+
+src_install() {
+ default
+
+ newdoc ChangeLog.1 ChangeLog
+ dodoc docs/dmalloc.pdf
+ dodoc RELEASE.html docs/dmalloc.html
+ doinfo docs/dmalloc.info
+
+ # add missing symlinks, lazy
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
+
+ for lib in cxx th thcxx; do
+ dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
+ dosym lib${PN}${lib}.so.${PV} \
+ /usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
+ done
+
+ rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
+}
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/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/metadata.xml b/dev-libs/dmalloc/metadata.xml
index f8bd6f3f34f9..98f616caa8cd 100644
--- a/dev-libs/dmalloc/metadata.xml
+++ b/dev-libs/dmalloc/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jer@gentoo.org</email>
- <name>Jeroen Roovers</name>
- </maintainer>
+ <!-- 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 ca952cd3a5d5..000000000000
--- a/dev-libs/dotconf/dotconf-1.3-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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 sparc x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-DEPEND=">=sys-devel/autoconf-2.58"
-RDEPEND=""
-
-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/dotconf/metadata.xml b/dev-libs/dotconf/metadata.xml
index 681f451b51b2..3d4db14a2313 100644
--- a/dev-libs/dotconf/metadata.xml
+++ b/dev-libs/dotconf/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>williamh@gentoo.org</email>
diff --git a/dev-libs/double-conversion/Manifest b/dev-libs/double-conversion/Manifest
index 50fee14e1ea8..01fff72eb715 100644
--- a/dev-libs/double-conversion/Manifest
+++ b/dev-libs/double-conversion/Manifest
@@ -1,2 +1,2 @@
-DIST double-conversion-3.0.3.tar.gz 7019705 BLAKE2B 65d7729b55dbb9fd0cf31b258738f3e9f3350b4ecf0204d3d2d23de24cb24651788e844aa1a10d6ec452ca6484c43ed1d218d434fc18be7bb1f15bf8ba97102a SHA512 3a8e956da485195753508c90cd6fa3d9fde42103291a8e65a0d95488faa02e98dddff21935625519c0ce49d8911d66d0773ddf6012264094f3edd851b461f62b
-DIST double-conversion-3.1.4.tar.gz 7022872 BLAKE2B 270f318e6b37205ab3da3ccf5c598ca7a02dc2e728a5d8e3467523bc8f21039651bea3f70aeb9f8579505812d63181de9d1e8106997795a79efeb663e1bc22d7 SHA512 715a34ace2ff74b79d80a8c003c16cfbf958ebc92264e28cc572e1a12a786e1df9678abb46f032c2be387495e1a3d02957b12fa4a245ec6cfe19ca637519ac3c
+DIST double-conversion-3.2.1.tar.gz 7032718 BLAKE2B 4f6fe334388b6cb0ba5edbbef761764bfe36feb83cf73281a4f5e8bb64c96923f3e33919678fe29885de0bc3b388a6e0e91f871808c215d8a3e5cc778325fa01 SHA512 d2feb3098a1d4d6baab5f89bcc29ac2e06d314d552b8c747c6eb6dba5dd165a15dc71200191edb7f05d521c349e12d59cddba3c5db101e1623e0e76e19f21a49
+DIST double-conversion-3.3.0.tar.gz 7033266 BLAKE2B 6eebc85f257ff0bd403ecc32f4ee8d297e3883e0d66f28e004fb71d6d2cfff313e0eeef661896e0985d574e354ad45a293238533116b7d78caafd64ae63de9cd SHA512 51e84eb7a5c407f7bc8f8b8ca19932ece5c9d8ac18aedff7b7620fc67369d9b2aa8c5a6b133e7f8633d7cc5e3788bad6e60b0e48ac08d0a4bc5e4abe7cee1334
diff --git a/dev-libs/double-conversion/double-conversion-3.0.3.ebuild b/dev-libs/double-conversion/double-conversion-3.0.3.ebuild
deleted file mode 100644
index cc79bf788840..000000000000
--- a/dev-libs/double-conversion/double-conversion-3.0.3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils multibuild
-
-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/2"
-KEYWORDS="amd64 arm ~arm64 hppa ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="static-libs test"
-
-pkg_setup() {
- MULTIBUILD_VARIANTS=( shared $(usev static-libs) )
-}
-
-src_configure() {
- myconfigure() {
- local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
- if [[ ${MULTIBUILD_VARIANT} = shared ]]; then
- mycmakeargs+=( -DBUILD_SHARED_LIBS=ON )
- fi
- if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then
- mycmakeargs+=( -DBUILD_SHARED_LIBS=OFF )
- fi
-
- cmake-utils_src_configure
- }
-
- multibuild_foreach_variant myconfigure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake-utils_src_compile
-}
-
-src_test() {
- [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake-utils_src_test
-}
-
-src_install() {
- myinstall() {
- [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake-utils_src_install
- [[ ${MULTIBUILD_VARIANT} = static-libs ]] && \
- dolib.a ${BUILD_DIR}/double-conversion/libdouble-conversion.a
- }
-
- multibuild_foreach_variant myinstall
-}
diff --git a/dev-libs/double-conversion/double-conversion-3.1.4-r1.ebuild b/dev-libs/double-conversion/double-conversion-3.1.4-r1.ebuild
deleted file mode 100644
index 9497111c5428..000000000000
--- a/dev-libs/double-conversion/double-conversion-3.1.4-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils multibuild
-
-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 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="static-libs test"
-
-PATCHES=(
- "${FILESDIR}/0001-CMake-install-to-correct-lib-dir.patch"
-)
-
-pkg_setup() {
- MULTIBUILD_VARIANTS=( shared $(usev static-libs) )
-}
-
-src_configure() {
- myconfigure() {
- local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
- if [[ ${MULTIBUILD_VARIANT} = shared ]]; then
- mycmakeargs+=( -DBUILD_SHARED_LIBS=ON )
- fi
- if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then
- mycmakeargs+=( -DBUILD_SHARED_LIBS=OFF )
- fi
-
- cmake-utils_src_configure
- }
-
- multibuild_foreach_variant myconfigure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake-utils_src_compile
-}
-
-src_test() {
- [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake-utils_src_test
-}
-
-src_install() {
- myinstall() {
- [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake-utils_src_install
- [[ ${MULTIBUILD_VARIANT} = static-libs ]] && \
- dolib.a ${BUILD_DIR}/libdouble-conversion.a
- }
-
- multibuild_foreach_variant myinstall
-}
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/double-conversion/double-conversion-3.3.0.ebuild b/dev-libs/double-conversion/double-conversion-3.3.0.ebuild
new file mode 100644
index 000000000000..5f9fe8d05282
--- /dev/null
+++ b/dev-libs/double-conversion/double-conversion-3.3.0.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="Binary-decimal and decimal-binary conversion routines for IEEE doubles"
+HOMEPAGE="https://github.com/google/double-conversion/"
+SRC_URI="
+ https://github.com/google/double-conversion/archive/refs/tags/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/double-conversion/files/0001-CMake-install-to-correct-lib-dir.patch b/dev-libs/double-conversion/files/0001-CMake-install-to-correct-lib-dir.patch
deleted file mode 100644
index 3dbbfafec111..000000000000
--- a/dev-libs/double-conversion/files/0001-CMake-install-to-correct-lib-dir.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 0d65c903c600d983eabfa5be793fa60c346d8303 Mon Sep 17 00:00:00 2001
-From: Jason Zaman <jason@perfinion.com>
-Date: Sun, 14 Apr 2019 16:38:10 +0800
-Subject: [PATCH] CMake: install to correct lib dir
-
-64-bit libraries should be installed in /usr/lib64, not in /usr/lib/
-Make the destination lib dir configurable.
-
-Commit e13e72e17692f5dc0036460d734c637b563f3ac7 removed
-include(GNUInstallDirs) and ${CMAKE_INSTALL_LIBDIR} which broke
-installing on 64-bit systems.
-
-Signed-off-by: Jason Zaman <jason@perfinion.com>
----
- CMakeLists.txt | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d9f4be8..2a06c71 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -40,12 +40,13 @@ endif()
- ####
- # Installation (https://github.com/forexample/package-example)
-
-+include(GNUInstallDirs)
-+
- # Layout. This works for all platforms:
- # * <prefix>/lib/cmake/<PROJECT-NAME>
- # * <prefix>/lib/
- # * <prefix>/include/
--set(config_install_dir "lib/cmake/${PROJECT_NAME}")
--set(include_install_dir "include")
-+set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
-
- set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
-
-@@ -81,17 +82,17 @@ configure_package_config_file(
- install(
- TARGETS double-conversion
- EXPORT "${targets_export_name}"
-- LIBRARY DESTINATION "lib"
-- ARCHIVE DESTINATION "lib"
-- RUNTIME DESTINATION "bin"
-- INCLUDES DESTINATION "${include_install_dir}"
-+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
-+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
-+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
-+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
- )
-
- # Headers:
- # * double-conversion/*.h -> <prefix>/include/double-conversion/*.h
- install(
- FILES ${headers}
-- DESTINATION "${include_install_dir}/double-conversion"
-+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/double-conversion"
- )
-
- # Config
---
-2.21.0
-
diff --git a/dev-libs/double-conversion/metadata.xml b/dev-libs/double-conversion/metadata.xml
index e9ea0aac45f6..87b47ae3b9ce 100644
--- a/dev-libs/double-conversion/metadata.xml
+++ b/dev-libs/double-conversion/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -7,6 +7,7 @@
</maintainer>
<maintainer type="project">
<email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
</maintainer>
<longdescription lang="en">
This library consists of efficient conversion routines that have
diff --git a/dev-libs/dqlite/Manifest b/dev-libs/dqlite/Manifest
new file mode 100644
index 000000000000..0bf7f61c62bb
--- /dev/null
+++ b/dev-libs/dqlite/Manifest
@@ -0,0 +1 @@
+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/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
new file mode 100644
index 000000000000..93aa9821db98
--- /dev/null
+++ b/dev-libs/dqlite/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>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <longdescription>
+ dqlite is a C library that implements an embeddable and replicated SQL
+ database engine with high-availability and automatic failover.
+
+ 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">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/eb/eb-4.4.1-r1.ebuild b/dev-libs/eb/eb-4.4.1-r1.ebuild
index 0942eb7c1545..2b14904002ea 100644
--- a/dev-libs/eb/eb-4.4.1-r1.ebuild
+++ b/dev-libs/eb/eb-4.4.1-r1.ebuild
@@ -1,32 +1,42 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
+
+inherit autotools
DESCRIPTION="EB is a C library and utilities for accessing CD-ROM books"
-HOMEPAGE="http://www.sra.co.jp/people/m-kasahr/eb/"
+HOMEPAGE="https://web.archive.org/web/20120330123930/http://www.sra.co.jp/people/m-kasahr/eb/"
SRC_URI="ftp://ftp.sra.co.jp/pub/misc/eb/${P}.tar.lzma"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
IUSE="ipv6 nls threads"
RDEPEND="
sys-libs/zlib
- nls? ( virtual/libintl )
-"
-DEPEND="
- ${RDEPEND}
- nls? ( sys-devel/gettext )
-"
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( sys-devel/gettext )"
DOCS=( AUTHORS ChangeLog{,.0,.1,.2} NEWS README )
+src_prepare() {
+ default
+ eautoreconf
+}
+
src_configure() {
econf \
$(use_enable ipv6) \
$(use_enable nls) \
$(use_enable threads pthread) \
- --with-pkgdocdir=/usr/share/doc/${PF}/html
+ --with-pkgdocdir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/eb/metadata.xml b/dev-libs/eb/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/eb/metadata.xml
+++ b/dev-libs/eb/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/editline/Manifest b/dev-libs/editline/Manifest
index 3b26b14985fd..ae0a7cb6a6ea 100644
--- a/dev-libs/editline/Manifest
+++ b/dev-libs/editline/Manifest
@@ -1 +1 @@
-DIST editline-1.16.0.tar.xz 250376 BLAKE2B a9e080eb2b105f7c83dfbb26dfaebf07d7d2d664098504f4995b12b14b100420118ab70454afbba63518f4c510e2349b68923fade2412940e190177cfab442df SHA512 99e1070d9d658aaec82582d5148a58e7039182f9d73e755547bc090682821fbfb29af19261f38db9a0f022e304e8f8e779e79f7b21f57ad5c80af5bcf316c6f6
+DIST editline-1.17.1.tar.xz 252196 BLAKE2B ae25ebc8efcc5ddf7d68553b6a5d93738e4fbf67c556b4089ace7386cb70058f36137d99df2385e324b36a285aa319b49e1c2eb82059d99d511c43c70f55ce11 SHA512 9b3f5f4a833e9e38c4f99d2e7f8d2716d4db74b6a2d3362e6c513505ff17a79044496405458835d508efd79cbe9046f3c1db602aaad210926312c22057145d35
diff --git a/dev-libs/editline/editline-1.16.0.ebuild b/dev-libs/editline/editline-1.16.0.ebuild
deleted file mode 100644
index d11555380163..000000000000
--- a/dev-libs/editline/editline-1.16.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="line editing library for UNIX call compatible with the FSF readline"
-HOMEPAGE="http://troglobit.com/projects/editline/"
-SRC_URI="https://github.com/troglobit/editline/releases/download/${PV}/${P}.tar.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-PATCHES=("${FILESDIR}"/${PN}-1.16.0-rename-man.patch)
-
-src_prepare() {
- default
-
- # To avoid collision with dev-libs/libedit
- # we rename man/editline.3 to man/libeditline.3
- mv man/editline.3 man/libeditline.3 || die
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- # package installs .pc file
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/editline/editline-1.17.1.ebuild b/dev-libs/editline/editline-1.17.1.ebuild
new file mode 100644
index 000000000000..0bba672748cf
--- /dev/null
+++ b/dev-libs/editline/editline-1.17.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="line editing library for UNIX call compatible with the FSF readline"
+HOMEPAGE="https://troglobit.com/projects/editline/"
+SRC_URI="https://github.com/troglobit/editline/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=("${FILESDIR}"/${PN}-1.16.0-rename-man.patch)
+
+src_prepare() {
+ default
+
+ # To avoid collision with dev-libs/libedit
+ # we rename man/editline.3 to man/libeditline.3
+ mv man/editline.3 man/libeditline.3 || die
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ # package installs .pc file
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/editline/metadata.xml b/dev-libs/editline/metadata.xml
index 2907abeb0c42..94a7a4cd944f 100644
--- a/dev-libs/editline/metadata.xml
+++ b/dev-libs/editline/metadata.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>slyfox@gentoo.org</email>
-</maintainer>
+ <!-- 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
new file mode 100644
index 000000000000..dd7e8e734711
--- /dev/null
+++ b/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+PYTHON_COMPAT=( python3_{10..11} )
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools gnome2-utils python-any-r1 vala vcs-snapshot virtualx xdg
+
+DESCRIPTION="An easy to use virtual keyboard toolkit"
+HOMEPAGE="https://github.com/ueno/eekboard"
+SRC_URI="https://github.com/ueno/${PN}/archive/e212262f29e022bdf7047861263ceea0c373e916.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +introspection libcanberra static-libs +vala +xtest"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="app-accessibility/at-spi2-core
+ dev-libs/glib:2
+ dev-libs/libcroco
+ virtual/libintl
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libxklavier
+ x11-libs/pango
+ introspection? ( dev-libs/gobject-introspection )
+ libcanberra? ( media-libs/libcanberra[gtk3(+)] )
+ vala? ( $(vala_depend) )
+ xtest? ( x11-libs/libXtst )"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ dev-util/glib-utils
+ dev-util/gtk-doc
+ dev-build/gtk-doc-am
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-python-3.patch
+ "${FILESDIR}"/${PN}-vala.patch
+)
+
+src_prepare() {
+ use vala && vala_src_prepare
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable doc gtk-doc) \
+ $(use_enable introspection) \
+ $(use_enable libcanberra) \
+ $(use_enable static-libs static) \
+ $(use_enable vala) \
+ $(use_enable xtest)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
+
+src_test() {
+ virtx default
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/eekboard/eekboard-1.0.8_p20121001.ebuild b/dev-libs/eekboard/eekboard-1.0.8_p20121001.ebuild
deleted file mode 100644
index 08d074cafb78..000000000000
--- a/dev-libs/eekboard/eekboard-1.0.8_p20121001.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_COMPAT=( python2_7 )
-VALA_USE_DEPEND="vapigen"
-
-inherit autotools gnome2-utils python-any-r1 vala vcs-snapshot virtualx xdg-utils
-
-DESCRIPTION="An easy to use virtual keyboard toolkit"
-HOMEPAGE="https://github.com/ueno/eekboard"
-SRC_URI="https://github.com/ueno/${PN}/archive/e212262f29e022bdf7047861263ceea0c373e916.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc +introspection libcanberra static-libs +vala +xtest"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="app-accessibility/at-spi2-core
- dev-libs/glib:2
- dev-libs/libcroco
- virtual/libintl
- x11-libs/gtk+:3
- x11-libs/libX11
- x11-libs/libxklavier
- x11-libs/pango
- introspection? ( dev-libs/gobject-introspection )
- libcanberra? ( media-libs/libcanberra[gtk3(+)] )
- vala? ( $(vala_depend) )
- xtest? ( x11-libs/libXtst )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- dev-util/glib-utils
- dev-util/gtk-doc
- dev-util/gtk-doc-am
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-vala.patch )
-
-src_prepare() {
- use vala && vala_src_prepare
- default
- eautoreconf
- xdg_environment_reset
-}
-
-src_configure() {
- econf \
- $(use_enable doc gtk-doc) \
- $(use_enable introspection) \
- $(use_enable libcanberra) \
- $(use_enable static-libs static) \
- $(use_enable vala) \
- $(use_enable xtest)
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
-
-src_test() {
- virtx default
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
- gnome2_schemas_savelist
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
- gnome2_schemas_update
-}
diff --git a/dev-libs/eekboard/files/eekboard-python-3.patch b/dev-libs/eekboard/files/eekboard-python-3.patch
new file mode 100644
index 000000000000..1bb75feb76fd
--- /dev/null
+++ b/dev-libs/eekboard/files/eekboard-python-3.patch
@@ -0,0 +1,39 @@
+--- a/eek/gen-keysym-entries.py
++++ b/eek/gen-keysym-entries.py
+@@ -18,17 +18,20 @@
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ # 02110-1301 USA
+
++from __future__ import print_function
+ import sys
+ import re
+
+ if len(sys.argv) != 2:
+- print >> sys.stderr, "Usage: %s TABLE-NAME" % sys.argv[0]
++ print("Usage: %s TABLE-NAME" % sys.argv[0], file=sys.stderr)
+ sys.exit(-1)
+
++py2 = sys.version_info[0] < 3
+ table = dict()
+ for line in sys.stdin:
+- line = line.decode('UTF-8')
+- match = re.match(r'\s*(0x[0-9A-F]+)\s+(\S*)\s+(\S*)', line, re.I)
++ if py2:
++ line = line.decode('UTF-8')
++ match = re.match(r'\s*(0x[0-9A-F]+)\s+(\w*)\s+(\w*)', line, re.I)
+ if match:
+ table[int(match.group(1), 16)] = (match.group(2), match.group(3))
+
+@@ -37,8 +40,10 @@
+
+ for index, (keysym, (l, c)) in enumerate([(keysym, table[keysym])
+ for keysym in sorted(table.keys())]):
+- sys.stdout.write(" { 0x%X, %s, %s }" %
+- (keysym, l.encode('UTF-8'), c.encode('UTF-8')))
++ if py2:
++ l = l.encode('UTF-8')
++ c = c.encode('UTF-8')
++ sys.stdout.write(" { 0x%X, %s, %s }" % (keysym, l, c))
+ if index < len(table) - 1:
+ sys.stdout.write(",")
+ sys.stdout.write("\n")
diff --git a/dev-libs/eekboard/metadata.xml b/dev-libs/eekboard/metadata.xml
index 8b3df112eeb3..fa0b1c63ebab 100644
--- a/dev-libs/eekboard/metadata.xml
+++ b/dev-libs/eekboard/metadata.xml
@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
- </maintainer>
- <longdescription lang="en">
- eekboard is a virtual keyboard software package, including a set of tools
- to implement desktop virtual keyboards.
- </longdescription>
- <use>
- <flag name="libcanberra">Enable support for <pkg>media-libs/libcanberra</pkg></flag>
- <flag name="xtest">Enable support for <pkg>x11-libs/libXtst</pkg></flag>
- </use>
- <upstream>
- <remote-id type="github">ueno/eekboard</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <longdescription lang="en">
+ eekboard is a virtual keyboard software package, including a set of tools
+ to implement desktop virtual keyboards.
+ </longdescription>
+ <use>
+ <flag name="libcanberra">Enable support for <pkg>media-libs/libcanberra</pkg></flag>
+ <flag name="xtest">Enable support for <pkg>x11-libs/libXtst</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ueno/eekboard</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/efl/Manifest b/dev-libs/efl/Manifest
index 0cad8da59725..710720bed01d 100644
--- a/dev-libs/efl/Manifest
+++ b/dev-libs/efl/Manifest
@@ -1,2 +1 @@
-DIST efl-1.21.1.tar.xz 71168368 BLAKE2B 4653e97f7b9a824d8e84dd1463dd6c95c0228bb3a03df1915f604136380343ad52e86e6b485f0aa14f1caef5a36451425b79cf2a5123c83d8e8a6d430ff213bf SHA512 1e26a57fca84ec85e45d707ee57abc50bd18edfa82e478e586300b6ad5ab8b9103a54a656902d29d80425988a6116a40aa01758fb8dd581dd48334ca0f4d5a63
-DIST efl-1.22.2.tar.xz 71320272 BLAKE2B b1eb66228ec5a92f5d89bf38d95439f9bfb0b09a074e418094474d7c7d0de6a4ae998321a02273a5c9bbcfcba260a7ff3d8cef0af445293869c82c57dec2cca0 SHA512 7385b1fdeee0a4565a0765fedbe5cecca81b86b306ee95a703b3064a88427ab0b4967f6f075a92f5c1d5911cefc56a9c2d45c7347572480169e3f53348321734
+DIST efl-1.27.0.tar.xz 168543208 BLAKE2B 082f7089f1a017db8e62f36fb2a51e18c7d00b74b8e865a60d066e49921c69720101deb3184a125633a6c646e241b8765cccc038c906c00d4ca16ecb705faf6f SHA512 5dda2f630463a2504d9246be17449579bbc470904e137b02b3b5c44db033dec2688f6c477885de1485944d875ee62619b6e7c5d4d3657225951f6feaf83b4fa4
diff --git a/dev-libs/efl/efl-1.21.1-r3.ebuild b/dev-libs/efl/efl-1.21.1-r3.ebuild
deleted file mode 100644
index 0efdcf3a7234..000000000000
--- a/dev-libs/efl/efl-1.21.1-r3.ebuild
+++ /dev/null
@@ -1,276 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit gnome2-utils pax-utils 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 ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+bmp dds connman debug drm +eet examples fbcon +fontconfig fribidi gif gles2 glib gnutls gstreamer harfbuzz hyphen +ico ibus jpeg2k libressl libuv luajit neon nls opengl ssl pdf physics postscript +ppm +psd pulseaudio raw scim sdl sound static-libs svg +system-lz4 systemd tga tiff tslib unwind v4l valgrind vlc vnc wayland webp X xcf xim xine xpm xpresent zeroconf"
-
-REQUIRED_USE="
- ?? ( gles2 opengl )
- fbcon? ( !tslib )
- gles2? (
- || ( wayland X )
- !sdl
- )
- ibus? ( glib )
- opengl? ( X )
- pulseaudio? ( sound )
- sdl? ( opengl )
- vnc? ( fbcon X )
- wayland? ( gles2 !opengl )
- xim? ( X )
- xpresent? ( X )
-"
-
-RDEPEND="
- net-misc/curl
- media-libs/libpng:0=
- sys-apps/dbus
- sys-apps/util-linux
- sys-libs/zlib:=
- virtual/jpeg:0=
- connman? ( net-misc/connman )
- drm? (
- dev-libs/libinput
- media-libs/mesa[gbm]
- x11-libs/libdrm
- x11-libs/libxkbcommon
- )
- fontconfig? ( media-libs/fontconfig )
- fribidi? ( dev-libs/fribidi )
- gif? ( media-libs/giflib:= )
- gles2? ( media-libs/mesa[egl,gles2] )
- glib? ( dev-libs/glib:2 )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- harfbuzz? ( media-libs/harfbuzz )
- hyphen? ( dev-libs/hyphen )
- ibus? ( app-i18n/ibus )
- jpeg2k? ( media-libs/openjpeg:= )
- libuv? ( dev-libs/libuv )
- luajit? ( dev-lang/luajit:= )
- !luajit? ( dev-lang/lua:* )
- nls? ( sys-devel/gettext )
- 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
- virtual/opengl
- )
- sound? ( media-libs/libsndfile )
- ssl? (
- gnutls? ( net-libs/gnutls:= )
- !gnutls? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- )
- )
- svg? (
- gnome-base/librsvg
- x11-libs/cairo
- )
- system-lz4? ( app-arch/lz4 )
- systemd? ( sys-apps/systemd )
- tiff? ( media-libs/tiff:0= )
- tslib? ( x11-libs/tslib:= )
- unwind? ( sys-libs/libunwind )
- valgrind? ( dev-util/valgrind )
- vlc? ( media-video/vlc )
- vnc? ( net-libs/libvncserver )
- wayland? (
- dev-libs/wayland
- media-libs/mesa[gles2,wayland]
- x11-libs/libxkbcommon
- )
- webp? ( media-libs/libwebp:= )
- X? (
- media-libs/freetype
- x11-libs/libXcursor
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/libXScrnSaver
- gles2? (
- x11-libs/libX11
- x11-libs/libXrender
- virtual/opengl
- )
- opengl? (
- x11-libs/libX11
- x11-libs/libXrender
- virtual/opengl
- )
- )
- xine? ( media-libs/xine-lib )
- xpm? ( x11-libs/libXpm )
- xpresent? ( x11-libs/libXpresent )
- zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix_evas_preload_segfault.patch"
-)
-
-src_prepare() {
- default
-
- # Upstream still doesnt offer a configure flag. #611108
- if ! use unwind ; then
- sed -i -e 's:libunwind libunwind-generic:xxxxxxxxxxxxxxxx:' \
- configure || die "Sedding configure file with unwind fix failed."
- fi
-
- xdg_environment_reset
-}
-
-src_configure() {
- local myconf=(
- --enable-cserve
- --enable-image-loader-generic
- --enable-image-loader-jpeg
- --enable-image-loader-png
- --enable-libeeze
- --enable-libmount
- --enable-xinput22
-
- --disable-doc
- --disable-eglfs
- --disable-gesture
- --disable-gstreamer
- --disable-image-loader-tgv
- --disable-tizen
- --disable-wayland-ivi-shell
-
- $(use_enable bmp image-loader-bmp)
- $(use_enable bmp image-loader-wbmp)
- $(use_enable dds image-loader-dds)
- $(use_enable drm)
- $(use_enable drm elput)
- $(use_enable eet image-loader-eet)
- $(use_enable examples always-build-examples)
- $(use_enable fbcon fb)
- $(use_enable fontconfig)
- $(use_enable fribidi)
- $(use_enable gif image-loader-gif)
- $(use_enable gles2 egl)
- $(use_enable gstreamer gstreamer1)
- $(use_enable harfbuzz)
- $(use_enable hyphen)
- $(use_enable ico image-loader-ico)
- $(use_enable ibus)
- $(use_enable jpeg2k image-loader-jp2k)
- $(use_enable libuv)
- $(use_enable !luajit lua-old)
- $(use_enable neon)
- $(use_enable nls)
- $(use_enable pdf poppler)
- $(use_enable physics)
- $(use_enable postscript spectre)
- $(use_enable ppm image-loader-pmaps)
- $(use_enable psd image-loader-psd)
- $(use_enable pulseaudio)
- $(use_enable raw libraw)
- $(use_enable scim)
- $(use_enable sdl)
- $(use_enable sound audio)
- $(use_enable static-libs static)
- $(use_enable svg librsvg)
- $(use_enable system-lz4 liblz4)
- $(use_enable systemd)
- $(use_enable tga image-loader-tga)
- $(use_enable tiff image-loader-tiff)
- $(use_enable tslib)
- $(use_enable v4l v4l2)
- $(use_enable valgrind)
- $(use_enable vlc libvlc)
- $(use_enable vnc vnc-server)
- $(use_enable wayland)
- $(use_enable webp image-loader-webp)
- $(use_enable xcf)
- $(use_enable xim)
- $(use_enable xine)
- $(use_enable xpm image-loader-xpm)
- $(use_enable xpresent)
- $(use_enable zeroconf avahi)
-
- --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
- --with-glib=$(usex glib)
- --with-js=none
- --with-net-control=$(usex connman connman none)
- --with-profile=$(usex debug debug release)
- --with-x11=$(usex X xlib none)
-
- $(use_with X x)
- )
-
- use drm && use wayland && myconf+=( --enable-gl-drm )
-
- if use opengl ; then
- myconf+=( --with-opengl=full )
- elif use gles2 ; then
- myconf+=( --with-opengl=es )
- elif use drm && use wayland ; then
- myconf+=( --with-opengl=es )
- else
- myconf+=( --with-opengl=none )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if host-is-pax && use luajit ; then
- # We need to build the lua code first so we can pax-mark it. #547076
- local target='_e_built_sources_target_gogogo_'
- printf '%s: $(BUILT_SOURCES)\n' "${target}" >> src/Makefile || die
- emake -C src "${target}"
- emake -C src bin/elua/elua
- pax-mark m src/bin/elua/.libs/elua
- fi
-
- V=1 emake || die "Compiling EFL failed."
-}
-
-src_install() {
- einstalldocs
-
- V=1 emake install DESTDIR="${D}" || die "Installing EFL files failed."
-
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/dev-libs/efl/efl-1.22.2.ebuild b/dev-libs/efl/efl-1.22.2.ebuild
deleted file mode 100644
index dce1d89b8816..000000000000
--- a/dev-libs/efl/efl-1.22.2.ebuild
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit pax-utils 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="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
-IUSE="+bmp dds connman debug drm +eet elogind examples fbcon +fontconfig fribidi gif gles2 glib gnutls gstreamer harfbuzz hyphen +ico ibus jpeg2k libressl libuv luajit neon nls opengl ssl pdf physics postscript +ppm +psd pulseaudio raw scim sdl sound static-libs svg +system-lz4 systemd tga tiff tslib unwind v4l valgrind vlc vnc wayland webp X xcf xim xine xpm xpresent zeroconf"
-
-REQUIRED_USE="
- ?? ( elogind systemd )
- ?? ( gles2 opengl )
- fbcon? ( !tslib )
- gles2? (
- || ( wayland X )
- !sdl
- )
- ibus? ( glib )
- opengl? ( X )
- pulseaudio? ( sound )
- sdl? ( opengl )
- vnc? ( fbcon X )
- wayland? ( gles2 !opengl )
- xim? ( X )
- xpresent? ( X )
-"
-
-RDEPEND="
- net-misc/curl
- media-libs/libpng:0=
- sys-apps/dbus
- sys-apps/util-linux
- virtual/jpeg:0=
- connman? ( net-misc/connman )
- drm? (
- dev-libs/libinput
- media-libs/mesa[gbm]
- x11-libs/libdrm
- x11-libs/libxkbcommon
- )
- elogind? ( sys-auth/elogind )
- fontconfig? ( media-libs/fontconfig )
- fribidi? ( dev-libs/fribidi )
- gif? ( media-libs/giflib:= )
- gles2? ( media-libs/mesa[egl,gles2] )
- glib? ( dev-libs/glib:2 )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- harfbuzz? ( media-libs/harfbuzz )
- hyphen? ( dev-libs/hyphen )
- ibus? ( app-i18n/ibus )
- jpeg2k? ( media-libs/openjpeg:= )
- libuv? ( dev-libs/libuv )
- luajit? ( dev-lang/luajit:= )
- !luajit? ( dev-lang/lua:* )
- nls? ( sys-devel/gettext )
- 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
- virtual/opengl
- )
- sound? ( media-libs/libsndfile )
- ssl? (
- gnutls? ( net-libs/gnutls:= )
- !gnutls? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
- )
- )
- svg? (
- gnome-base/librsvg
- x11-libs/cairo
- )
- system-lz4? ( app-arch/lz4 )
- systemd? ( sys-apps/systemd:= )
- tiff? ( media-libs/tiff:0= )
- tslib? ( x11-libs/tslib:= )
- unwind? ( sys-libs/libunwind )
- valgrind? ( dev-util/valgrind )
- vlc? ( media-video/vlc )
- vnc? ( net-libs/libvncserver )
- wayland? (
- dev-libs/wayland
- media-libs/mesa[gles2,wayland]
- x11-libs/libxkbcommon
- )
- webp? ( media-libs/libwebp:= )
- X? (
- media-libs/freetype
- x11-libs/libXcursor
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/libXScrnSaver
- gles2? (
- x11-libs/libX11
- x11-libs/libXrender
- virtual/opengl
- )
- opengl? (
- x11-libs/libX11
- x11-libs/libXrender
- virtual/opengl
- )
- )
- xine? ( media-libs/xine-lib )
- xpm? ( x11-libs/libXpm )
- xpresent? ( x11-libs/libXpresent )
- zeroconf? ( net-dns/avahi )
-"
-
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # Upstream still doesnt offer a configure flag. #611108
- if ! use unwind ; then
- sed -i -e 's:libunwind libunwind-generic:xxxxxxxxxxxxxxxx:' \
- configure || die "Sedding configure file with unwind fix failed."
- fi
-}
-
-src_configure() {
- local myconf=(
- --enable-cxx-bindings
- --enable-image-loader-generic
- --enable-image-loader-jpeg
- --enable-image-loader-png
- --enable-libeeze
- --enable-libmount
- --enable-quick-launch
- --enable-threads
- --enable-xinput22
-
- --disable-cancel-ok
- --disable-cocoa
- --disable-csharp-beta
- --disable-csharp-bindings
- --disable-doc
- --disable-ecore-buffer
- --disable-ecore-drm
- --disable-ecore-wayland
- --disable-eglfs
- --disable-g-main-loop
- --disable-gesture
- --disable-gstreamer
- --disable-pixman
- --disable-tizen
- --disable-wayland-ivi-shell
-
- $(use_enable bmp image-loader-bmp)
- $(use_enable bmp image-loader-wbmp)
- $(use_enable dds image-loader-dds)
- $(use_enable drm)
- $(use_enable drm elput)
- $(use_enable eet image-loader-eet)
- $(use_enable elogind)
- $(use_enable examples always-build-examples)
- $(use_enable fbcon fb)
- $(use_enable fontconfig)
- $(use_enable fribidi)
- $(use_enable gif image-loader-gif)
- $(use_enable gles2 egl)
- $(use_enable gstreamer gstreamer1)
- $(use_enable harfbuzz)
- $(use_enable hyphen)
- $(use_enable ico image-loader-ico)
- $(use_enable ibus)
- $(use_enable jpeg2k image-loader-jp2k)
- $(use_enable libuv)
- $(use_enable !luajit lua-old)
- $(use_enable neon)
- $(use_enable nls)
- $(use_enable pdf poppler)
- $(use_enable physics)
- $(use_enable postscript spectre)
- $(use_enable ppm image-loader-pmaps)
- $(use_enable psd image-loader-psd)
- $(use_enable pulseaudio)
- $(use_enable raw libraw)
- $(use_enable scim)
- $(use_enable sdl)
- $(use_enable sound audio)
- $(use_enable static-libs static)
- $(use_enable svg librsvg)
- $(use_enable system-lz4 liblz4)
- $(use_enable systemd)
- $(use_enable tga image-loader-tga)
- $(use_enable tiff image-loader-tiff)
- $(use_enable tslib)
- $(use_enable v4l v4l2)
- $(use_enable valgrind)
- $(use_enable vlc libvlc)
- $(use_enable vnc vnc-server)
- $(use_enable wayland)
- $(use_enable webp image-loader-webp)
- $(use_enable xcf)
- $(use_enable xim)
- $(use_enable xine)
- $(use_enable xpm image-loader-xpm)
- $(use_enable xpresent)
- $(use_enable zeroconf avahi)
-
- --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
- --with-glib=$(usex glib)
- --with-js=none
- --with-net-control=$(usex connman connman none)
- --with-profile=$(usex debug debug release)
- --with-x11=$(usex X xlib none)
-
- $(use_with X x)
- )
-
- use drm && use wayland && myconf+=( --enable-gl-drm )
-
- if use opengl ; then
- myconf+=( --with-opengl=full )
- elif use gles2 ; then
- myconf+=( --with-opengl=es )
- elif use drm && use wayland ; then
- myconf+=( --with-opengl=es )
- else
- myconf+=( --with-opengl=none )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if host-is-pax && use luajit ; then
- # We need to build the lua code first so we can pax-mark it. #547076
- local target='_e_built_sources_target_gogogo_'
- printf '%s: $(BUILT_SOURCES)\n' "${target}" >> src/Makefile || die
- emake -C src "${target}"
- emake -C src bin/elua/elua
- pax-mark m src/bin/elua/.libs/elua
- fi
-
- V=1 emake
-}
-
-src_install() {
- V=1 emake install DESTDIR="${D}"
- einstalldocs
-
- if ! use static-libs ; then
- find "${D}" -name '*.la' -delete || die
- 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.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.21.1-fix_evas_preload_segfault.patch b/dev-libs/efl/files/efl-1.21.1-fix_evas_preload_segfault.patch
deleted file mode 100644
index 8d42cbb0f250..000000000000
--- a/dev-libs/efl/files/efl-1.21.1-fix_evas_preload_segfault.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/lib/evas/cache/evas_cache_image.c 14:09:44.971119099 +0100
-+++ b/src/lib/evas/cache/evas_cache_image.c 14:10:21.521226043 +0100
-@@ -361,6 +361,7 @@
- cache = current->cache;
-
- if ((!current->flags.loaded) &&
-+ (current->info.loader) &&
- current->info.loader->threadable)
- {
- evas_module_task_register(evas_cache_image_cancelled, current);
diff --git a/dev-libs/efl/metadata.xml b/dev-libs/efl/metadata.xml
index 5920ddfb2a91..2a3d3a291099 100644
--- a/dev-libs/efl/metadata.xml
+++ b/dev-libs/efl/metadata.xml
@@ -1,39 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>juippis@gmail.com</email>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <use>
- <flag name="bmp">Enable WBMP image loader</flag>
- <flag name="dds">Enable DDS image loader</flag>
- <flag name="drm">Enable DRM engine</flag>
- <flag name="eet">Enable Eet image loader</flag>
- <flag name="fribidi">Enable bidirectional text support</flag>
- <flag name="gles2">Enable the OpenGL ES GL implementation</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="hyphen">Enable text hyphenation support</flag>
- <flag name="ibus">Enable Intelligent Input Bus</flag>
- <flag name="ico">Enable Ico image loader</flag>
- <flag name="libuv">Enable <pkg>dev-libs/libuv</pkg> support</flag>
- <flag name="luajit">USE <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
- <flag name="physics">Enable Bullet physics effects and support</flag>
- <flag name="ppm">Enable PMAPS image loader</flag>
- <flag name="psd">Enable PSD image loader</flag>
- <flag name="scim">Enable Smart Common Input Method</flag>
- <flag name="system-lz4">Use system liblz4 instead of bundled one</flag>
- <flag name="tga">Enable Tga image loader</flag>
- <flag name="tslib">Enable <pkg>x11-libs/tslib</pkg> for touchscreen events</flag>
- <flag name="unwind">Enable debug support via <pkg>sys-libs/libunwind</pkg></flag>
- <flag name="valgrind">Enable usage of <pkg>dev-util/valgrind</pkg> in debug</flag>
- <flag name="vlc">Enable <pkg>media-video/vlc</pkg> support</flag>
- <flag name="xcf">Enable XCF image loader</flag>
- <flag name="xim">Enable X Input Method</flag>
- <flag name="xpresent">Enable <pkg>x11-libs/libXpresent</pkg> support</flag>
- </use>
+ <maintainer type="person">
+ <email>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+ <use>
+ <flag name="bmp">Enable WBMP image loader</flag>
+ <flag name="dds">Enable DDS image loader</flag>
+ <flag name="drm">Enable DRM engine</flag>
+ <flag name="eet">Enable Eet image loader</flag>
+ <flag name="efl-one">Combine multiple core libraries into one libefl.so</flag>
+ <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="hyphen">Enable text hyphenation support</flag>
+ <flag name="ibus">Enable Intelligent Input Bus</flag>
+ <flag name="ico">Enable Ico image loader</flag>
+ <flag name="json">Enable lottie animation support</flag>
+ <flag name="mono">Enable mono bindings</flag>
+ <flag name="physics">Enable Bullet physics effects and support</flag>
+ <flag name="pmaps">Enable PMAPS image loader</flag>
+ <flag name="psd">Enable PSD image loader</flag>
+ <flag name="scim">Enable Smart Common Input Method</flag>
+ <flag name="system-lz4">Use system liblz4 instead of bundled one</flag>
+ <flag name="tga">Enable Tga image loader</flag>
+ <flag name="tgv">Enable Tgv image loader</flag>
+ <flag name="tslib">Enable <pkg>x11-libs/tslib</pkg> for touchscreen events</flag>
+ <flag name="unwind">Enable debug support via <pkg>sys-libs/libunwind</pkg></flag>
+ <flag name="xcf">Enable XCF image loader</flag>
+ <flag name="xim">Enable X Input Method</flag>
+ <flag name="xpresent">Enable <pkg>x11-libs/libXpresent</pkg> support</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/elfio/Manifest b/dev-libs/elfio/Manifest
deleted file mode 100644
index 0dd5515fac09..000000000000
--- a/dev-libs/elfio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ELFIO-1.0.3.tar.gz 308560 BLAKE2B 60316124f87ac0a3fadd959a6699431b01d79aa071fa18c4b3518f4c42fe9131b867287227694b2a46aca89b9a11347ed936327e6c08760a47738ef71b9ea5c7 SHA512 eb0194ccc9e5194b7ac4ee7dfed06269e5235e72dd72631b63dcc3b0b44c76d44aa30df1332e7424e08ab905d2b243af6e2c183be87766536d588fa6ff719f19
diff --git a/dev-libs/elfio/elfio-1.0.3-r1.ebuild b/dev-libs/elfio/elfio-1.0.3-r1.ebuild
deleted file mode 100644
index 8deb15fb6f8d..000000000000
--- a/dev-libs/elfio/elfio-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-MY_P="ELFIO-${PV}"
-DESCRIPTION="ELF reader and producer implemented as a C++ library"
-HOMEPAGE="http://elfio.sourceforge.net/"
-SRC_URI="mirror://sourceforge/elfio/${MY_P}.tar.gz"
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~x86-fbsd"
-IUSE=""
-
-PATCHES=( "${FILESDIR}/${P}-shared.patch" )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS NEWS README
-}
diff --git a/dev-libs/elfio/files/elfio-1.0.3-shared.patch b/dev-libs/elfio/files/elfio-1.0.3-shared.patch
deleted file mode 100644
index 01e67dfe98bc..000000000000
--- a/dev-libs/elfio/files/elfio-1.0.3-shared.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff -ur ELFIO-1.0.3.orig/configure.in ELFIO-1.0.3/configure.in
---- ELFIO-1.0.3.orig/configure.in 2007-03-06 16:36:26.000000000 +0100
-+++ ELFIO-1.0.3/configure.in 2007-03-06 16:37:08.000000000 +0100
-@@ -7,6 +7,7 @@
- AC_PROG_CXX
- AC_PROG_RANLIB
- AC_PROG_INSTALL
-+AC_PROG_LIBTOOL
-
- dnl Checks for libraries.
-
-diff -ur ELFIO-1.0.3.orig/ELFIO/Makefile.am ELFIO-1.0.3/ELFIO/Makefile.am
---- ELFIO-1.0.3.orig/ELFIO/Makefile.am 2007-03-06 16:36:26.000000000 +0100
-+++ ELFIO-1.0.3/ELFIO/Makefile.am 2007-03-06 16:36:45.000000000 +0100
-@@ -1,6 +1,6 @@
--lib_LIBRARIES = libELFIO.a
-+lib_LTLIBRARIES = libELFIO.la
-
--libELFIO_a_SOURCES = ELFIDynamic.cpp ELFIImpl.cpp ELFINote.cpp ELFIO.cpp \
-+libELFIO_la_SOURCES = ELFIDynamic.cpp ELFIImpl.cpp ELFINote.cpp ELFIO.cpp \
- ELFIOUtils.cpp ELFIRelocation.cpp ELFISection.cpp \
- ELFISegment.cpp ELFIStrings.cpp ELFISymbols.cpp \
- ELFODynamic.cpp ELFOImpl.cpp ELFONote.cpp \
-@@ -10,4 +10,4 @@
- include_HEADERS = ELFI.h ELFIO.h ELFO.h ELFTypes.h
- noinst_HEADERS = ELFIImpl.h ELFOImpl.h ELFIOUtils.h
-
--EXTRA_DIST = ELFIO.dsp ELFIO.dsw ELFIO.mcp
-\ No newline at end of file
-+EXTRA_DIST = ELFIO.dsp ELFIO.dsw ELFIO.mcp
-diff -ur ELFIO-1.0.3.orig/Examples/ELFDump/Makefile.am ELFIO-1.0.3/Examples/ELFDump/Makefile.am
---- ELFIO-1.0.3.orig/Examples/ELFDump/Makefile.am 2007-03-06 16:36:26.000000000 +0100
-+++ ELFIO-1.0.3/Examples/ELFDump/Makefile.am 2007-03-06 16:37:51.000000000 +0100
-@@ -3,6 +3,6 @@
- bin_PROGRAMS = ELFDump
-
- ELFDump_SOURCES = ELFDump.cpp
--ELFDump_LDADD = ../../ELFIO/libELFIO.a
-+ELFDump_LDADD = ../../ELFIO/libELFIO.la
-
- EXTRA_DIST = ELFDump.dsp ELFDump.dsw ELFDump.mcp
-diff -ur ELFIO-1.0.3.orig/Examples/RelocationTable/Makefile.am ELFIO-1.0.3/Examples/RelocationTable/Makefile.am
---- ELFIO-1.0.3.orig/Examples/RelocationTable/Makefile.am 2007-03-06 16:36:26.000000000 +0100
-+++ ELFIO-1.0.3/Examples/RelocationTable/Makefile.am 2007-03-06 16:38:53.000000000 +0100
-@@ -3,6 +3,6 @@
- noinst_PROGRAMS = RelocationTable
-
- RelocationTable_SOURCES = RelocationTable.cpp
--RelocationTable_LDADD = ../../ELFIO/libELFIO.a
-+RelocationTable_LDADD = ../../ELFIO/libELFIO.la
-
- EXTRA_DIST = RelocationTable.mcp
-diff -ur ELFIO-1.0.3.orig/Examples/WriteObj/Makefile.am ELFIO-1.0.3/Examples/WriteObj/Makefile.am
---- ELFIO-1.0.3.orig/Examples/WriteObj/Makefile.am 2007-03-06 16:36:26.000000000 +0100
-+++ ELFIO-1.0.3/Examples/WriteObj/Makefile.am 2007-03-06 16:39:28.000000000 +0100
-@@ -3,6 +3,6 @@
- noinst_PROGRAMS = WriteObj
-
- WriteObj_SOURCES = WriteObj.cpp
--WriteObj_LDADD = ../../ELFIO/libELFIO.a
-+WriteObj_LDADD = ../../ELFIO/libELFIO.la
-
- EXTRA_DIST = WriteObj.dsp WriteObj.dsw WriteObj.mcp
-diff -ur ELFIO-1.0.3.orig/Examples/WriteObj2/Makefile.am ELFIO-1.0.3/Examples/WriteObj2/Makefile.am
---- ELFIO-1.0.3.orig/Examples/WriteObj2/Makefile.am 2007-03-06 16:36:26.000000000 +0100
-+++ ELFIO-1.0.3/Examples/WriteObj2/Makefile.am 2007-03-06 16:39:40.000000000 +0100
-@@ -3,4 +3,4 @@
- noinst_PROGRAMS = WriteObj2
-
- WriteObj2_SOURCES = WriteObj2.cpp
--WriteObj2_LDADD = ../../ELFIO/libELFIO.a
-+WriteObj2_LDADD = ../../ELFIO/libELFIO.la
-diff -ur ELFIO-1.0.3.orig/Examples/Writer/Makefile.am ELFIO-1.0.3/Examples/Writer/Makefile.am
---- ELFIO-1.0.3.orig/Examples/Writer/Makefile.am 2007-03-06 16:36:26.000000000 +0100
-+++ ELFIO-1.0.3/Examples/Writer/Makefile.am 2007-03-06 16:39:10.000000000 +0100
-@@ -3,6 +3,6 @@
- noinst_PROGRAMS = Writer
-
- Writer_SOURCES = Write.cpp
--Writer_LDADD = ../../ELFIO/libELFIO.a
-+Writer_LDADD = ../../ELFIO/libELFIO.la
-
- EXTRA_DIST = Writer.dsp Writer.dsw Writer.mcp
diff --git a/dev-libs/elfio/metadata.xml b/dev-libs/elfio/metadata.xml
deleted file mode 100644
index a797d0ae27c5..000000000000
--- a/dev-libs/elfio/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">elfio</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index 29c6e6f4865a..c9977594e891 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -1,3 +1,4 @@
-DIST elfutils-0.170.tar.bz2 8358001 BLAKE2B 03ea3ba7d3feaac43065312c475f4a3cd9083a6c56c9982fa00c0ed02b28440f6a37bbeca4be18db13749647ea1c8a6f00dae7efcb1c70235110e60ad7d56d06 SHA512 aca0b5e271138eaf86e36505ffb101181207b151e833e6cd7c18986ac50678542a5ecd2250f8dd6923ca497142f197c8b08fd225e4130b16b6203c24013d6d28
-DIST elfutils-0.173.tar.bz2 8684782 BLAKE2B c5905bb864059bdfb2699a0681a0ec576b6b8da444b0641e8184f58735084588910930bcca14583db6be75b24a0e374413911ded5ba2ca893798404fbe7374eb SHA512 7f38e4ce2098b685f15030bf01f0a66a74aa32fbfcead0304c1d0e0a929b348a72f99e685cd4605465f4337393382112f64b8847e6c2f7cc1a57a4fd03d03eb3
-DIST elfutils-0.176.tar.bz2 8646075 BLAKE2B 7f23d59b7f5d74946fea928a7fada7764c1f96a5eefefc4a3a382090eb7cad07c80419218300d853ccbef8f4e2288eb443ff06b3e64bf4511d9fa7aa84f5b794 SHA512 7f032913be363a43229ded85d495dcf7542b3c85974aaaba0d984228dc9ac1721da3dc388d3fa02325a80940161db7e9ad2c9e4521a424ad8a7d050c0902915b
+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.170-r1.ebuild b/dev-libs/elfutils/elfutils-0.170-r1.ebuild
deleted file mode 100644
index 43f88abea483..000000000000
--- a/dev-libs/elfutils/elfutils-0.170-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 lzma nls static-libs test +threads +utils"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
- !dev-libs/libelf"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )
- >=sys-devel/flex-2.5.4a
- sys-devel/m4"
-
-PATCHES=("${FILESDIR}"/${PN}-0.118-PaX-support.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
- sed -i 's:-Werror::' */Makefile.in || die
-}
-
-src_configure() {
- use test && append-flags -g #407135
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- --program-prefix="eu-" \
- --with-zlib \
- $(use_with bzip2 bzlib) \
- $(use_with lzma)
-}
-
-multilib_src_test() {
- env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
- LC_ALL="C" \
- emake check
-}
-
-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.173-r1.ebuild b/dev-libs/elfutils/elfutils-0.173-r1.ebuild
deleted file mode 100644
index d102c9265db0..000000000000
--- a/dev-libs/elfutils/elfutils-0.173-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 lzma nls static-libs test +threads +utils"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
- !dev-libs/libelf"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )
- >=sys-devel/flex-2.5.4a
- sys-devel/m4"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.118-PaX-support.patch
- "${FILESDIR}"/${PN}-0.173-partial-core.patch
- "${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.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
- sed -i 's:-Werror::' */Makefile.in || die
-}
-
-src_configure() {
- use test && append-flags -g #407135
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- --program-prefix="eu-" \
- --with-zlib \
- $(use_with bzip2 bzlib) \
- $(use_with lzma)
-}
-
-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.173-r2.ebuild b/dev-libs/elfutils/elfutils-0.173-r2.ebuild
deleted file mode 100644
index 668001589b8e..000000000000
--- a/dev-libs/elfutils/elfutils-0.173-r2.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 lzma nls static-libs test +threads +utils"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
- !dev-libs/libelf"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )
- >=sys-devel/flex-2.5.4a
- sys-devel/m4"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.118-PaX-support.patch
- "${FILESDIR}"/${PN}-0.173-partial-core.patch
- "${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch
- "${FILESDIR}"/${PN}-0.173-reorder.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
- sed -i 's:-Werror::' */Makefile.in || die
-}
-
-src_configure() {
- use test && append-flags -g #407135
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- --program-prefix="eu-" \
- --with-zlib \
- $(use_with bzip2 bzlib) \
- $(use_with lzma)
-}
-
-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.176-r1.ebuild b/dev-libs/elfutils/elfutils-0.176-r1.ebuild
deleted file mode 100644
index e109d79a18ce..000000000000
--- a/dev-libs/elfutils/elfutils-0.176-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 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"
-
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 lzma nls static-libs test +threads +utils"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
- !dev-libs/libelf"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )
- >=sys-devel/flex-2.5.4a
- sys-devel/m4"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.118-PaX-support.patch
- "${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch
- "${FILESDIR}"/${PN}-0.173-reorder.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() {
- use test && append-flags -g #407135
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- --program-prefix="eu-" \
- --with-zlib \
- $(use_with bzip2 bzlib) \
- $(use_with lzma)
-}
-
-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.176.ebuild b/dev-libs/elfutils/elfutils-0.176.ebuild
deleted file mode 100644
index e8dd597d47f2..000000000000
--- a/dev-libs/elfutils/elfutils-0.176.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 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"
-
-LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 lzma nls static-libs test +threads +utils"
-
-RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
- lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] )
- !dev-libs/libelf"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )
- >=sys-devel/flex-2.5.4a
- sys-devel/m4"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.118-PaX-support.patch
- "${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.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() {
- use test && append-flags -g #407135
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable nls) \
- $(use_enable threads thread-safety) \
- --program-prefix="eu-" \
- --with-zlib \
- $(use_with bzip2 bzlib) \
- $(use_with lzma)
-}
-
-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.118-PaX-support.patch b/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch
deleted file mode 100644
index 0ae359fe7dbb..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.118-PaX-support.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Add support for PaX ELF markings
-
-Patch by Kevin F. Quinn <kevquinn@gentoo.org>
-
-http://bugs.gentoo.org/115100
-
---- a/libelf/elf.h
-+++ b/libelf/elf.h
-@@ -568,6 +568,7 @@
- #define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
- #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
- #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
-+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */
- #define PT_LOSUNW 0x6ffffffa
- #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
- #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
---- a/src/elflint.c
-+++ b/src/elflint.c
-@@ -3187,6 +3187,7 @@
-
- if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME
- && phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO
-+ && phdr->p_type != PT_PAX_FLAGS
- /* Check for a known machine-specific type. */
- && ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL)
- ERROR (gettext ("\
diff --git a/dev-libs/elfutils/files/elfutils-0.173-partial-core.patch b/dev-libs/elfutils/files/elfutils-0.173-partial-core.patch
deleted file mode 100644
index 41ef14d66838..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.173-partial-core.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://sourceware.org/PR24103
-https://bugs.gentoo.org/676794
-
-From da5c5336a1eaf519de246f7d9f0f5585e1d4ac59 Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Sun, 20 Jan 2019 23:05:56 +0100
-Subject: [PATCH] libdwfl: Sanity check partial core file dyn data read.
-
-When reading the dyn data from the core file check if we got everything,
-or just part of the data.
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=24103
-
-Signed-off-by: Mark Wielaard <mark@klomp.org>
----
- libdwfl/dwfl_segment_report_module.c | 6 ++++++
-
---- a/libdwfl/dwfl_segment_report_module.c
-+++ b/libdwfl/dwfl_segment_report_module.c
-@@ -783,6 +783,12 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
- if (dyn_filesz != 0 && dyn_filesz % dyn_entsize == 0
- && ! read_portion (&dyn_data, &dyn_data_size, dyn_vaddr, dyn_filesz))
- {
-+ /* dyn_data_size will be zero if we got everything from the initial
-+ buffer, otherwise it will be the size of the new buffer that
-+ could be read. */
-+ if (dyn_data_size != 0)
-+ dyn_filesz = dyn_data_size;
-+
- void *dyns = malloc (dyn_filesz);
- Elf32_Dyn (*d32)[dyn_filesz / sizeof (Elf32_Dyn)] = dyns;
- Elf64_Dyn (*d64)[dyn_filesz / sizeof (Elf64_Dyn)] = dyns;
---
-2.20.1
diff --git a/dev-libs/elfutils/files/elfutils-0.173-reorder.patch b/dev-libs/elfutils/files/elfutils-0.173-reorder.patch
deleted file mode 100644
index fd3dede7c25a..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.173-reorder.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://bugs.gentoo.org/666954
-https://github.com/rpm-software-management/rpm/issues/423
-https://sourceware.org/ml/elfutils-devel/2019-q2/msg00077.html
-
-From: Mark Wielaard <mark at klomp dot org>
-Subject: [PATCH] libelf: Mark shdr_flags dirty if offset or size changes during update.
-Date: Mon, 13 May 2019 00:13:42 +0200
-Message-Id: <20190512221342.23383-1-mark@klomp.org>
-
-We forgot to mark the shdr_flags dirty when only the sh_size or
-sh_offset changed during elf_update (). This meant that if there were
-no other shdr changes we only wrote out the section data, but didn't
-write out the shdr table to the file.
-
-Signed-off-by: Mark Wielaard <mark@klomp.org>
----
- libelf/elf32_updatenull.c | 5 +-
-
---- a/libelf/elf32_updatenull.c
-+++ b/libelf/elf32_updatenull.c
-@@ -366,12 +366,15 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
- }
-
- /* See whether the section size is correct. */
-+ int size_changed = 0;
- update_if_changed (shdr->sh_size, (GElf_Word) offset,
-- changed);
-+ size_changed);
-+ changed |= size_changed;
-
- if (shdr->sh_type != SHT_NOBITS)
- size += offset;
-
-+ scn->shdr_flags |= (offset_changed | size_changed);
- scn->flags |= changed;
- }
-
diff --git a/dev-libs/elfutils/files/elfutils-0.175-disable-biarch-test-PR24158.patch b/dev-libs/elfutils/files/elfutils-0.175-disable-biarch-test-PR24158.patch
deleted file mode 100644
index 809c3df1efad..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.175-disable-biarch-test-PR24158.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-https://sourceware.org/PR24158
-
-Tets fails when 32-bit elfutils tries to dump 64-bit process.
---- a/tests/run-backtrace-native-biarch.sh
-+++ b/tests/run-backtrace-native-biarch.sh
-@@ -17,2 +17,3 @@
-
-+ELFUTILS_DISABLE_BIARCH=yes # https://sourceware.org/PR24158
- if test -n "$ELFUTILS_DISABLE_BIARCH"; then
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 14c09d810f33..05def2bfd0b3 100644
--- a/dev-libs/elfutils/metadata.xml
+++ b/dev-libs/elfutils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>toolchain@gentoo.org</email>
@@ -7,7 +7,10 @@
</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="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>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/ell/Manifest b/dev-libs/ell/Manifest
index 54d4f86d5e4e..fefe56e5c4eb 100644
--- a/dev-libs/ell/Manifest
+++ b/dev-libs/ell/Manifest
@@ -1,4 +1,3 @@
-DIST ell-0.18.tar.xz 439368 BLAKE2B 9e65ed73119f322fea7177771d21e46ce9ad7d4060e50d8850451939a66bc82dcc1731ddff56458f4cd60c1b6b82b5023bb96adaf3992d3ec982ed845283c8dd SHA512 cc62d01ffaa11a491d1a3ab2898da001f0a418b968350c2bdba2f381df931e53c4281cc4287937264eee72da263844886816af9baea96d7f65309b3e47e42d31
-DIST ell-0.19.tar.xz 439472 BLAKE2B 9d29f49ce401c686b2e2262310bb00552d703455dbe9190acbb479e8fa2be7a03e732250ed63c9721f6079a46841a7bbb954fd0943edf520893eccb1a4fb9b6f SHA512 f7a22d0c385d45661b7c630d39f31b67321d20635c938ef5ad3ddce7194501652381a6bfc39a1b9a404a59108977216e24e2c32f6f30fc00972a0ebca909fcab
-DIST ell-0.20.tar.xz 443196 BLAKE2B 35daff12e43a27b44b60ff0fd0f10c8d6b8ba122a5825ff705394b2bfb401a90174133f63e6673690461ce2d56595186593fc65783dff2f795b83a461c3aa4b5 SHA512 91200ac000dc44ae593618c21012174af2614be0e7b33bd979aefb248e42d7bb0282f0a7ba256514dfb7657231b5fec29969c874417923f413d34c38500d4d97
-DIST ell-0.9.tar.xz 396968 BLAKE2B 566735cedd3525c4fd3fec9cec0e9b089dd60c6b79416a9c254c771729b6db9137af050f4c7f9c4c6dfa1ce33b8c7d41b877c9e3caa582c6ab9be716bd986a8b SHA512 e1208066012b9ff927baae271f94116376ccd2577d7f6510cc1444eee912988aa1c25e8e8c9195cccfa39ed48fc8c2f07bd7a414719e6ce76ee1e5bd2a64b8c3
+DIST ell-0.62.tar.xz 567188 BLAKE2B f7539c5f6eac6150d10b317ec5c5296e2005130c34e43c60cb1ac758fd629b00de81da6ff816031c486986732a707e81eb71ec3dd9dbfafd1e7af53ffd73eca1 SHA512 f0019cddba737879f2567b0295ec4cdf8589b989fdaba70a885253140f742e67e33abfe25fabbf8ecfd5c61336ec9cfe359193e0579b9120a66b13e9593beabf
+DIST ell-0.64.tar.xz 567908 BLAKE2B 8f49441b0775626170a682d88c704292d2141fa7ad6427e410f96f0d863d60298178c4216194c575b83db1dc4c067665fdb89eb6af4afb17a93d1b47c0bcc2ab SHA512 21035965b6c9d5fced834b8ff232e3c2113ed2061c9e07a2e1a2acddd964e861dfa25d115b8a367e5c980ba7e356a557b750e1abd3f19bcc4456840157114928
+DIST ell-0.65.tar.xz 568172 BLAKE2B 5b8d776970666e7746f2461a06c0b005da34767a0eb41460f17fec18b523d6dbd9537cfc3dadde846984da89c95fc0a62cf69367831a6a1508d2e44b2cb16422 SHA512 b63623ba8c1ab747a2674c54af0dca2b18eba7ef453e585a66c522f0eca625d81f59d7b0cef25ab99da9816bd3c60020505e2ad208c76fe790623886c6691f39
diff --git a/dev-libs/ell/ell-0.18.ebuild b/dev-libs/ell/ell-0.18.ebuild
deleted file mode 100644
index cafd42ed2ce6..000000000000
--- a/dev-libs/ell/ell-0.18.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic 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 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-fi
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="glib pie"
-
-RDEPEND="
- glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-multilib_src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable glib)
- $(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.19.ebuild b/dev-libs/ell/ell-0.19.ebuild
deleted file mode 100644
index fd8d023bed3e..000000000000
--- a/dev-libs/ell/ell-0.19.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic 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 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-fi
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="glib pie"
-
-RDEPEND="
- glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-multilib_src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable glib)
- $(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.20.ebuild b/dev-libs/ell/ell-0.20.ebuild
deleted file mode 100644
index cafd42ed2ce6..000000000000
--- a/dev-libs/ell/ell-0.20.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic 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 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-fi
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="glib pie"
-
-RDEPEND="
- glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-multilib_src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable glib)
- $(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-0.65.ebuild b/dev-libs/ell/ell-0.65.ebuild
new file mode 100644
index 000000000000..966be50f1a4d
--- /dev/null
+++ b/dev-libs/ell/ell-0.65.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.9.ebuild b/dev-libs/ell/ell-0.9.ebuild
deleted file mode 100644
index 2368f26df755..000000000000
--- a/dev-libs/ell/ell-0.9.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib-minimal
-
-DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
-HOMEPAGE="https://01.org/ell"
-SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-KEYWORDS="amd64 arm arm64 ppc ppc64 x86"
-IUSE="glib pie"
-
-RDEPEND="
- glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-multilib_src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable glib)
- $(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-9999.ebuild b/dev-libs/ell/ell-9999.ebuild
index e067c9ec27f8..367a5a212600 100644
--- a/dev-libs/ell/ell-9999.ebuild
+++ b/dev-libs/ell/ell-9999.ebuild
@@ -1,46 +1,54 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit flag-o-matic 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 ~mips ~ppc ~ppc64 ~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="glib pie"
+IUSE="pie test"
+RESTRICT="!test? ( test )"
-RDEPEND="
- glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
+DEPEND="test? ( sys-apps/dbus )"
+
+CONFIG_CHECK="
+ ~TIMERFD
+ ~EVENTFD
+ ~CRYPTO_USER_API
+ ~CRYPTO_USER_API_HASH
+ ~CRYPTO_MD5
+ ~CRYPTO_SHA1
+ ~KEY_DH_OPERATIONS
"
-DEPEND="${RDEPEND}"
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 glib)
$(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/ell/metadata.xml b/dev-libs/ell/metadata.xml
index 01db0cd57ae0..85c8ec42b7ca 100644
--- a/dev-libs/ell/metadata.xml
+++ b/dev-libs/ell/metadata.xml
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>bkohler@gentoo.org</email>
+ <name>Ben Kohler</name>
</maintainer>
- <use>
- <flag name="glib">Enable <pkg>dev-libs/glib</pkg> support</flag>
- </use>
</pkgmetadata>
diff --git a/dev-libs/eventlog/eventlog-0.2.12.ebuild b/dev-libs/eventlog/eventlog-0.2.12.ebuild
index 303e1a09d93f..63c44c31efbd 100644
--- a/dev-libs/eventlog/eventlog-0.2.12.ebuild
+++ b/dev-libs/eventlog/eventlog-0.2.12.ebuild
@@ -1,21 +1,24 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit libtool eutils
+EAPI=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"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~m68k-mint"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
IUSE="static-libs"
-DEPEND=""
+DOCS=( AUTHORS CREDITS ChangeLog NEWS PORTS README )
src_prepare() {
+ default
+
elibtoolize
}
@@ -24,7 +27,7 @@ src_configure() {
}
src_install() {
- DOCS="AUTHORS CREDITS ChangeLog NEWS PORTS README" \
- default
- prune_libtool_files
+ default
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/eventlog/metadata.xml b/dev-libs/eventlog/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/eventlog/metadata.xml
+++ b/dev-libs/eventlog/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest
index e69402c23dae..d78c6592adc9 100644
--- a/dev-libs/expat/Manifest
+++ b/dev-libs/expat/Manifest
@@ -1,2 +1,4 @@
-DIST expat-2.2.6.tar.bz2 513322 BLAKE2B 386736da1f2204fa8f15ee4d1b3d11f01ed691efe6951b9f24f2bd30ab5494e75da6a97ceb1ffe4a0a8ecdc80f96f51d21c54f35a2cbc352a9fe9425545bf15b SHA512 dbfb635a5fe7b190722664263a0dd437b512fdf519bc53bd4905567f4bfb4b1e89a021562da63df8cacd48b706d1dea60ccde47f279e57400ad3c846b6e9c4e6
-DIST expat-2.2.7.tar.xz 424264 BLAKE2B acf2fa5cf374a671603f4a12b81239ba3b1634bab66d736e87fb516ce52d599711b3014218bef822640781b8852c7238b6f071b5bd439a13838fcbc7767d06a7 SHA512 bf3af5b5a8e1a1b76658a41f67dbe7b10104e3b724e1882f529fecc509b07c75dde02d8f8b89b1522e05484e8dc417d47651c5f8d4aac1749676ba5c4752c107
+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.2.6.ebuild b/dev-libs/expat/expat-2.2.6.ebuild
deleted file mode 100644
index 1dcb23acd7cc..000000000000
--- a/dev-libs/expat/expat-2.2.6.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-AUTOTOOLS_AUTO_DEPEND=no
-inherit autotools eutils libtool multilib toolchain-funcs 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.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="elibc_FreeBSD examples static-libs unicode"
-DEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
-RDEPEND=""
-
-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
-
- if multilib_is_native_abi ; then
- # libgeom in /lib and ifconfig in /sbin require libexpat on FreeBSD since
- # we stripped the libbsdxml copy starting from freebsd-lib-8.2-r1
- use elibc_FreeBSD && gen_usr_ldscript -a expat
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
- docinto html
- dodoc doc/*.{css,html,png}
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.c
- fi
-
- prune_libtool_files
-}
diff --git a/dev-libs/expat/expat-2.2.7.ebuild b/dev-libs/expat/expat-2.2.7.ebuild
deleted file mode 100644
index 10b55b52b3ce..000000000000
--- a/dev-libs/expat/expat-2.2.7.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-AUTOTOOLS_AUTO_DEPEND=no
-inherit autotools eutils libtool multilib toolchain-funcs 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 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="elibc_FreeBSD 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
-
- if multilib_is_native_abi ; then
- # libgeom in /lib and ifconfig in /sbin require libexpat on FreeBSD since
- # we stripped the libbsdxml copy starting from freebsd-lib-8.2-r1
- use elibc_FreeBSD && gen_usr_ldscript -a expat
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # Note: Use of HTML_DOCS would add unwanted "doc" subfolder
- docinto html
- dodoc doc/*.{css,html,png}
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.c
- 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 173bc1d11186..836db9ed3542 100644
--- a/dev-libs/expat/metadata.xml
+++ b/dev-libs/expat/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>freedesktop-bugs@gentoo.org</email>
@@ -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/fampp2/Manifest b/dev-libs/fampp2/Manifest
deleted file mode 100644
index 0fad63530ee5..000000000000
--- a/dev-libs/fampp2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fampp2-7.0.1.tar.bz2 288073 BLAKE2B f74659c83af82eeed6c5f711a9273f2d8c7704f04c8407992bee7478d2ef20b6d2ecf37c5d292be35c126474052341c49f8a0d30d056c24e2404b17d0123dfd7 SHA512 317a5cfd383418265cafea0840af8b7c714a04b34265ebfba73230ff2492df8f7884797529916693ab489bdbc94799ca83e015cf0bcfffaea6b28b3a7f9ccbd0
diff --git a/dev-libs/fampp2/fampp2-7.0.1-r3.ebuild b/dev-libs/fampp2/fampp2-7.0.1-r3.ebuild
deleted file mode 100644
index 7854cb30ecee..000000000000
--- a/dev-libs/fampp2/fampp2-7.0.1-r3.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="C++ wrapper for fam"
-HOMEPAGE="https://sourceforge.net/projects/fampp/"
-SRC_URI="mirror://sourceforge/fampp/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-libs/ferrisloki-2.0.3
- dev-libs/glib:2
- >=dev-libs/libsigc++-2.6:2
- virtual/fam
- x11-libs/gtk+:2"
-DEPEND="${DEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
- # Fix compat with libsigc++-2.6, #569700
- "${FILESDIR}/${PN}-7.0.1-libsigc++-2.6.patch"
- # Fix completely broken buildsystem
- "${FILESDIR}/${PN}-7.0.1-fix-buildsystem.patch"
- # Fix noexcept(true) for dtors in >=C++11 with GCC 6, #595308
- "${FILESDIR}/${PN}-7.0.1-fix-gcc6.patch"
-)
-
-src_prepare() {
- default
- mv configure.{in,ac} || die
- eautoreconf
-}
-
-src_configure() {
- # libsigc++-2.6 requires building with C++11
- append-cxxflags -std=c++11
-
- # glib and gtk+ are only required for some examples
- econf \
- --disable-static \
- --disable-glibtest \
- --disable-gtktest \
- --disable-stlport \
- $(use_with examples)
-}
-
-src_install() {
- default
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/fampp2/files/fampp2-7.0.1-fix-buildsystem.patch b/dev-libs/fampp2/files/fampp2-7.0.1-fix-buildsystem.patch
deleted file mode 100644
index 34067ff1f539..000000000000
--- a/dev-libs/fampp2/files/fampp2-7.0.1-fix-buildsystem.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Fix buildsystem, to avoid ugly and extremely brittle patching
-of the configure script and Makefile.in in the main ebuild.
-
---- a/configure.in
-+++ b/configure.in
-@@ -1,8 +1,8 @@
-+AC_PREREQ([2.69])
-+AC_INIT([fampp2],[7.0.1])
-
--# require autoconf 2.13
--AC_PREREQ(2.13)
--
--AC_INIT(src/Fampp2.hh)
-+AC_CONFIG_MACRO_DIR([macros])
-+AC_CONFIG_SRCDIR([src/Fampp2.hh])
-
- FAMPPTWO_MAJOR=7
- FAMPPTWO_MINOR=0
-@@ -22,9 +22,8 @@
- VERSION=$FAMPP_VERSION
- PACKAGE=fampp2
-
--AM_CONFIG_HEADER(config.h)
--AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
--AM_MAINTAINER_MODE
-+AC_CONFIG_HEADERS([config.h])
-+AM_INIT_AUTOMAKE
-
- AC_CANONICAL_HOST
- AC_ISC_POSIX
-@@ -33,11 +32,7 @@
- AC_PROG_CPP
- AC_PROG_CXX
-
--AC_STDC_HEADERS
--#AC_ARG_PROGRAM
--AC_DISABLE_FAST_INSTALL
--AC_DISABLE_STATIC
--AM_PROG_LIBTOOL
-+LT_INIT
-
-
- dnl Checks for libraries.
-@@ -58,15 +53,12 @@
- ###############################################################################
-
-
--CFLAGS=" $STLPORT_CFLAGS $LOKI_CFLAGS $SIGC_CFLAGS $CFLAGS -O0 -g "
--CXXFLAGS=" $STLPORT_CFLAGS $CXXFLAGS -O0 -g $LOKI_LIBS $SIGC_CFLAGS "
--LDFLAGS=" $STLPORT_LIBS $SIGC_LIBS $LDFLAGS -Wl,-O1 -Wl,--hash-style=both"
--AC_SUBST(CFLAGS)
--AC_SUBST(CPPFLAGS)
--AC_SUBST(LDFLAGS)
--AC_SUBST(CXXFLAGS)
--AC_SUBST(CXXCPPFLAGS)
-+CFLAGS="${CFLAGS} ${STLPORT_CFLAGS} ${LOKI_CFLAGS} ${SIGC_CFLAGS}"
-+CXXFLAGS="${CXXFLAGS} ${STLPORT_CFLAGS} ${LOKI_CFLAGS} ${SIGC_CFLAGS}"
-+LIBS="${LIBS} ${STLPORT_LIBS} ${LOKI_LIBS} ${SIGC_LIBS}"
-
-+AC_ARG_WITH([examples], [install examples])
-+AM_CONDITIONAL([EXAMPLES], [test "x$with_examples" = "xyes"])
-
- dnl if test "x${prefix}" = 'xNONE'; then
- dnl prefix=${ac_default_prefix};
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,10 @@
- AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects
-
- NULL=
--SUBDIRS = src examples
-+SUBDIRS = src
-+if EXAMPLES
-+SUBDIRS += examples
-+endif
-
- EXTRA_DIST = fampp.spec fampp.spec.in fampp2.pc.in fampp2.pc
-
diff --git a/dev-libs/fampp2/files/fampp2-7.0.1-fix-gcc6.patch b/dev-libs/fampp2/files/fampp2-7.0.1-fix-gcc6.patch
deleted file mode 100644
index 659ecd51bf4c..000000000000
--- a/dev-libs/fampp2/files/fampp2-7.0.1-fix-gcc6.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-C++11 changed destructor semantics to be noexcept(true)
-by default, leading to potentially changed semantics.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=595308
-
---- a/src/Fampp2.cpp
-+++ b/src/Fampp2.cpp
-@@ -105,6 +105,9 @@
- // #include <unistd.h>
-
- FamppRequest::~FamppRequest()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- // cerr << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl;
- // cerr << "FamppRequest::~FamppRequest() this:" << (void*)this << endl;
-@@ -245,6 +248,9 @@
-
-
- FamppImplMethods::~FamppImplMethods()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- if(0 != FAMClose( &theFAMConnection )) {
- throw FamppCloseFailedException();
---- a/src/Fampp2.hh
-+++ b/src/Fampp2.hh
-@@ -168,7 +168,11 @@
- public:
-
-
-- ~FamppRequest();
-+ ~FamppRequest()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+ ;
-
-
- void suspend();
-@@ -216,7 +220,11 @@
- protected:
-
- FamppImplMethods();
-- virtual ~FamppImplMethods();
-+ virtual ~FamppImplMethods()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+ ;
-
-
- public:
-@@ -251,7 +259,11 @@
- public:
- FamppSingletonClass();
- FamppSingletonClass(const std::string appName);
-- ~FamppSingletonClass();
-+ ~FamppSingletonClass()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+ ;
-
-
- void NextEvent();
diff --git a/dev-libs/fampp2/files/fampp2-7.0.1-libsigc++-2.6.patch b/dev-libs/fampp2/files/fampp2-7.0.1-libsigc++-2.6.patch
deleted file mode 100644
index 6b76a1532cbb..000000000000
--- a/dev-libs/fampp2/files/fampp2-7.0.1-libsigc++-2.6.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Remove inclusion of libsigc++ headers obsoleted with version 2.6
-See also: https://bugs.gentoo.org/show_bug.cgi?id=569700
-
---- a/examples/console_test/famppct.cpp
-+++ b/examples/console_test/famppct.cpp
-@@ -30,8 +30,6 @@
-
- #include <sigc++/sigc++.h>
- #include <sigc++/slot.h>
--#include <sigc++/object.h>
--#include <sigc++/object_slot.h>
-
- #include <gtk/gtk.h>
- #include <stdio.h>
---- a/examples/gtk/famppgtk.cpp
-+++ b/examples/gtk/famppgtk.cpp
-@@ -31,8 +31,6 @@
-
- #include <sigc++/sigc++.h>
- #include <sigc++/slot.h>
--#include <sigc++/object.h>
--#include <sigc++/object_slot.h>
-
- #include <gtk/gtk.h>
- #include <stdio.h>
---- a/src/Fampp2.cpp
-+++ b/src/Fampp2.cpp
-@@ -34,8 +34,6 @@
-
- #include <sigc++/sigc++.h>
- #include <sigc++/slot.h>
--#include <sigc++/object.h>
--#include <sigc++/object_slot.h>
-
-
- using namespace std;
---- a/src/FamppEvents.hh
-+++ b/src/FamppEvents.hh
-@@ -36,7 +36,6 @@
-
- #include <fam.h>
- #include <sigc++/signal.h>
--#include <sigc++/object.h>
- #include <SmartPtr.h>
- #include <Singleton.h>
- #include <Factory.h>
diff --git a/dev-libs/fampp2/metadata.xml b/dev-libs/fampp2/metadata.xml
deleted file mode 100644
index ff43a116ec95..000000000000
--- a/dev-libs/fampp2/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">fampp</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 70d50bbaeaaf..000000000000
--- a/dev-libs/faxpp/faxpp-0.4-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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_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
-}
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..ee47a0521254
--- /dev/null
+++ b/dev-libs/faxpp/faxpp-0.4-r2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/${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/faxpp/metadata.xml b/dev-libs/faxpp/metadata.xml
index 9b9d39869aae..885d02f16411 100644
--- a/dev-libs/faxpp/metadata.xml
+++ b/dev-libs/faxpp/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dev-zero@gentoo.org</email>
- <name>Tiziano Müller</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">faxpp</remote-id>
</upstream>
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 3e769cb26ae1..5014a3d10407 100644
--- a/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild
+++ b/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild
@@ -1,51 +1,56 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="4"
+EAPI=7
-inherit eutils autotools multilib
+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 ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-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"
-DEPEND=""
-RDEPEND=""
+S="${WORKDIR}/${PN}-2.4.1-SNAP-0910052249"
-S="${WORKDIR}/fcgi-2.4.1-SNAP-0910052249"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.0-Makefile.patch
+ "${FILESDIR}"/${PN}-2.4.0-clientdata-pointer.patch
+ "${FILESDIR}"/${PN}-2.4.0-html-updates.patch
+ "${FILESDIR}"/${PN}-2.4.1_pre0311112127-gcc44.patch
+ "${FILESDIR}"/${P}-link.patch
+ "${FILESDIR}"/${P}-poll.patch
+)
src_prepare() {
- epatch "${FILESDIR}/fcgi-2.4.0-Makefile.patch"
- epatch "${FILESDIR}/fcgi-2.4.0-clientdata-pointer.patch"
- epatch "${FILESDIR}/fcgi-2.4.0-html-updates.patch"
- epatch "${FILESDIR}"/fcgi-2.4.1_pre0311112127-gcc44.patch
- epatch "${FILESDIR}"/${P}-link.patch
- epatch "${FILESDIR}"/${P}-poll.patch
-
+ default
eautoreconf
}
-src_install() {
- emake DESTDIR="${D}" install LIBRARY_PATH="${ED}/usr/$(get_libdir)"
+src_configure() {
+ econf --disable-static
+}
- dodoc README
+src_install() {
+ emake DESTDIR="${D}" install LIBRARY_PATH="${ED}"/usr/$(get_libdir)
+ einstalldocs
# install the manpages into the right place
doman doc/*.[13]
# Only install the html documentation if USE=html
- if use html ; then
- dohtml "${S}"/doc/*/*
- insinto /usr/share/doc/${PF}/html
- doins -r "${S}/images"
+ if use html; then
+ docinto html
+ dodoc -r doc/*/* images
fi
# install examples in the right place
- insinto /usr/share/doc/${PF}/examples
- doins "${S}/examples/"*.c
+ docinto examples
+ dodoc examples/*.c
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
}
diff --git a/dev-libs/fcgi/metadata.xml b/dev-libs/fcgi/metadata.xml
index 40684197763e..340baf523453 100644
--- a/dev-libs/fcgi/metadata.xml
+++ b/dev-libs/fcgi/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>rafaelmartins@gentoo.org</email>
- <name>Rafael G. Martins</name>
-</maintainer>
+<!-- maintainer-needed -->
<use>
<flag name="html">Install HTML documentation</flag>
</use>
diff --git a/dev-libs/fddl/fddl-20111124-r1.ebuild b/dev-libs/fddl/fddl-20111124-r1.ebuild
index 0e56e742f1f4..b25d4dd8bded 100644
--- a/dev-libs/fddl/fddl-20111124-r1.ebuild
+++ b/dev-libs/fddl/fddl-20111124-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit cmake-utils multilib vcs-snapshot
+inherit cmake vcs-snapshot
DESCRIPTION="Free Decision Diagram Library"
HOMEPAGE="http://itval.sourceforge.net/ https://github.com/atomopawn/FDDL"
@@ -12,12 +12,11 @@ SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
DOCS=( AUTHORS ChangeLog INSTALL RELEASE )
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
# Remove references to files that were not shipped,
# prefer dynamic linking
diff --git a/dev-libs/fddl/fddl-20111124-r2.ebuild b/dev-libs/fddl/fddl-20111124-r2.ebuild
new file mode 100644
index 000000000000..681f180b4619
--- /dev/null
+++ b/dev-libs/fddl/fddl-20111124-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 cmake
+
+DESCRIPTION="Free Decision Diagram Library"
+HOMEPAGE="http://itval.sourceforge.net/ https://github.com/atomopawn/FDDL"
+SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( AUTHORS ChangeLog INSTALL RELEASE )
+
+PATCHES=( "${FILESDIR}/${P}-disambiguate-variable-name.patch" )
+
+S="${WORKDIR}"/FDDL-master
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Remove references to files that were not shipped,
+ # prefer dynamic linking
+ sed -i \
+ -e 's|unaryoperation.cpp||g' \
+ -e 's|unaryoperation.h||g' \
+ -e 's|binaryoperation.cpp||g' \
+ -e 's|binaryoperation.h||g' \
+ -e '/add_library/s/FDDL /FDDL SHARED /' \
+ -e '/add_library/s/FDDL /FDDL SHARED /' \
+ -e "/^install/s:DESTINATION lib:DESTINATION $(get_libdir):" \
+ src/CMakeLists.txt || die
+ # Do not build tests that depend on above files
+ sed -i \
+ {,tests/}CMakeLists.txt \
+ -e '/test_unaryop/d' \
+ -e '/test_binaryop/d' \
+ || die
+}
diff --git a/dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch b/dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch
new file mode 100644
index 000000000000..c357f0574d29
--- /dev/null
+++ b/dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch
@@ -0,0 +1,65 @@
+Disambiguate variable name from std::array.
+
+FAILED: tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o
+/usr/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=x86-64 -mtune=generic -MD -MT tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o -MF tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o.d -o tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o -c /var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp
+/var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp: In function ‘bool test_access()’:
+/var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp:9:11: error: reference to ‘array’ is ambiguous
+ 9 | *(array[0])=50;
+ | ^~~~~
+In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/memory_resource.h:47,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/string:58,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/locale_classes.h:40,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/ios_base.h:41,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/ios:44,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/ostream:40,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/iostream:41,
+ from /var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp:1:
+/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/tuple:2005:45: note: candidates are: ‘template<class _Tp, long unsigned int _Nm> struct std::array’
+ 2005 | template<typename _Tp, size_t _Nm> struct array;
+ | ^~~~~
+/var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp:6:15: note: ‘DynArray<int> array’
+ 6 | DynArray<int> array;
+ | ^~~~~
+
+diff -Nuar a/tests/test_dynarray.cpp b/tests/test_dynarray.cpp
+--- a/tests/test_dynarray.cpp 2024-03-28 14:52:14.811666764 +0000
++++ b/tests/test_dynarray.cpp 2024-03-28 14:51:55.379667423 +0000
+@@ -3,18 +3,18 @@
+
+ using namespace std;
+
+-DynArray<int> array;
++DynArray<int> test_array;
+
+ bool test_access(){
+- *(array[0])=50;
+- if (*(array[0]) != 50)
++ *(test_array[0])=50;
++ if (*(test_array[0]) != 50)
+ return false;
+ return true;
+ }
+
+ bool test_extend(){
+- *(array[1024]) = 9999;
+- if (*(array[1024]) != 9999)
++ *(test_array[1024]) = 9999;
++ if (*(test_array[1024]) != 9999)
+ return false;
+ return true;
+ }
+@@ -23,12 +23,12 @@
+ unsigned int fac = 1;
+ for (unsigned int i=1;i<11;i++){
+ fac = fac * i;
+- *(array[fac]) = i;
++ *(test_array[fac]) = i;
+ }
+ fac = 1;
+ for (unsigned int i=1; i<11;i++){
+ fac = fac * i;
+- if (*(array[fac]) != i){
++ if (*(test_array[fac]) != i){
+ return false;
+ }
+ }
diff --git a/dev-libs/fddl/metadata.xml b/dev-libs/fddl/metadata.xml
index 202a7f4cc6b0..6e901b3d6de1 100644
--- a/dev-libs/fddl/metadata.xml
+++ b/dev-libs/fddl/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
- </maintainer>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</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..cf5e9372e48a
--- /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="https://downloads.sourceforge.net/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/ferrisloki/metadata.xml b/dev-libs/ferrisloki/metadata.xml
index bf7dc7343030..abc4cc4c5c75 100644
--- a/dev-libs/ferrisloki/metadata.xml
+++ b/dev-libs/ferrisloki/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/ffcall/Manifest b/dev-libs/ffcall/Manifest
index d12160d31ce4..956d5f041533 100644
--- a/dev-libs/ffcall/Manifest
+++ b/dev-libs/ffcall/Manifest
@@ -1 +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 f117b8a8f4b4..000000000000
--- a/dev-libs/ffcall/ffcall-2.1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils flag-o-matic toolchain-funcs
-
-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 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
-
-S=${WORKDIR}/${MY_PV}
-
-DEPEND=""
-RDEPEND=""
-
-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
- elog "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
- prune_libtool_files
-}
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..d36c133ead5f
--- /dev/null
+++ b/dev-libs/ffcall/ffcall-2.4-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 flag-o-matic libtool
+
+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
+ elibtoolize
+}
+
+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
new file mode 100644
index 000000000000..1b41ad034e33
--- /dev/null
+++ b/dev-libs/ffcall/ffcall-2.4.ebuild
@@ -0,0 +1,66 @@
+# 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
+)
+
+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/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/ffcall/metadata.xml b/dev-libs/ffcall/metadata.xml
index 5b705d074820..8f3e6241df19 100644
--- a/dev-libs/ffcall/metadata.xml
+++ b/dev-libs/ffcall/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>common-lisp@gentoo.org</email>
diff --git a/dev-libs/flatbuffers/Manifest b/dev-libs/flatbuffers/Manifest
index 7d47aaf0e93f..080fa756df8b 100644
--- a/dev-libs/flatbuffers/Manifest
+++ b/dev-libs/flatbuffers/Manifest
@@ -1 +1 @@
-DIST flatbuffers-1.11.0.tar.gz 894944 BLAKE2B 8eee7165f2dfbed6ee0b0cfbec0df995bc6e8a19600ad42ac70788714635ba90d72f2dc24d0e1edd5ac6a1cf6148948f625245d3079e75861d29117f6fcf34fd SHA512 cbb2e1e6885255cc950e2fa8248b56a8bc2c6e52f6fc7ed9066e6ae5a1d53f1263594b83f4b944a672cf9d0e1e800e51ce7fa423eff45abf5056269879c286fe
+DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-libs/flatbuffers/flatbuffers-1.11.0.ebuild b/dev-libs/flatbuffers/flatbuffers-1.11.0.ebuild
deleted file mode 100644
index 54bfce7666e8..000000000000
--- a/dev-libs/flatbuffers/flatbuffers-1.11.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs 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-utils_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 69ce66602487..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<?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 d362ae2148b2..aac6d5f6b23b 100644
--- a/dev-libs/folks/Manifest
+++ b/dev-libs/folks/Manifest
@@ -1 +1 @@
-DIST folks-0.11.4.tar.xz 1972272 BLAKE2B 69fa21f9baf34a3597f8a7e3f789ab3d03ad508ec74e0e1dfaa8df09865cb99748483b4fa4aa9c219803c512a49a23e95d4c3ded5b285b0a0d2f7416a1d9bf7f SHA512 bd4088322c34b5d6e633d7d5d83dfb61eb3499014adf6fecad27231ec63509401b2867186d019a2f7c92cc3b3f2e6cfbc80e0d4700d84ce7a08d8153af3d2392
+DIST folks-0.15.9.tar.xz 506044 BLAKE2B e239c0ca3b51a5452620f5abaf37b34413b0a5ee867cc682214abd00c21d6375abf1a31755acd69360e47604c61572a63ffbe91f38485be1a83685a98aa34cd0 SHA512 8b1f0afaaf0907a9609863ec913eab75c7f60e3d1fd54e553fdb8d425f33cfb6043171bc5b7cc1dc66b1de702e1a8f5dd229c707d99af47dd3926ec0588c87fd
diff --git a/dev-libs/folks/files/0.11.4-vala-0.42-compat.patch b/dev-libs/folks/files/0.11.4-vala-0.42-compat.patch
deleted file mode 100644
index 21b0e44ab968..000000000000
--- a/dev-libs/folks/files/0.11.4-vala-0.42-compat.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 6a5c9e7e8daf4e1361709a75719c17c8c28a6c4b Mon Sep 17 00:00:00 2001
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Fri, 23 Mar 2018 17:55:11 +0100
-Subject: [PATCH] inspect: Adapt to binding change of
- Signal.add_emission_hook() in vala 0.41
-
-https://git.gnome.org/browse/vala/commit/?id=1d4db9f276c2593f072313864c743c6dd16acf35
-
-Reviewed-by: Philip Withnall <withnall@endlessm.com>
----
- tools/inspect/signal-manager.vala | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/tools/inspect/signal-manager.vala b/tools/inspect/signal-manager.vala
-index 4d1b6480..7c5b17a0 100644
---- a/tools/inspect/signal-manager.vala
-+++ b/tools/inspect/signal-manager.vala
-@@ -430,7 +430,11 @@ public class Folks.Inspect.SignalManager : Object
- return false;
-
- ulong hook_id = Signal.add_emission_hook (signal_id,
-+#if VALA_0_42
-+ detail_quark, this.emission_hook_cb);
-+#else
- detail_quark, this.emission_hook_cb, null);
-+#endif
-
- /* Store the hook ID so we can list or remove it later */
- HashMap<uint, ulong> hook_ids =
---
-2.18.1
-
diff --git a/dev-libs/folks/folks-0.11.4-r1.ebuild b/dev-libs/folks/folks-0.11.4-r1.ebuild
deleted file mode 100644
index e3dd9684ea10..000000000000
--- a/dev-libs/folks/folks-0.11.4-r1.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2 vala virtualx
-
-DESCRIPTION="Library for aggregating people from multiple sources"
-HOMEPAGE="https://wiki.gnome.org/Projects/Folks"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/25" # subslot = libfolks soname version
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-linux"
-
-# TODO: --enable-profiling
-# Vala isn't really optional, https://bugzilla.gnome.org/show_bug.cgi?id=701099
-IUSE="bluetooth debug eds +telepathy test tracker utils"
-REQUIRED_USE="bluetooth? ( eds )"
-
-COMMON_DEPEND="
- $(vala_depend)
- >=dev-libs/glib-2.40:2
- dev-libs/dbus-glib
- >=dev-libs/gobject-introspection-1.30:=
- >=dev-libs/libgee-0.10:0.8[introspection]
- dev-libs/libxml2
- sys-libs/ncurses:0=
- sys-libs/readline:0=
-
- bluetooth? ( >=net-wireless/bluez-5 )
- eds? ( >=gnome-extra/evolution-data-server-3.13.90:=[vala] )
- telepathy? ( >=net-libs/telepathy-glib-0.19.9[vala] )
- tracker? ( >=app-misc/tracker-1:0= )
-"
-# telepathy-mission-control needed at runtime; it is used by the telepathy
-# backend via telepathy-glib's AccountManager binding.
-RDEPEND="${COMMON_DEPEND}
- net-im/telepathy-mission-control
-"
-# folks socialweb backend requires that libsocialweb be built with USE=vala,
-# even when building folks with --disable-vala.
-#
-# FIXME:
-# test? ( bluetooth? ( dbusmock is missing in the tree ) )
-DEPEND="${COMMON_DEPEND}
- >=dev-util/intltool-0.50.0
- sys-devel/gettext
- virtual/pkgconfig
-
- test? (
- sys-apps/dbus
- bluetooth? (
- >=gnome-extra/evolution-data-server-3.9.1
- >=dev-libs/glib-2.40:2 ) )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-vala-0.42-compat.patch
-)
-
-src_prepare() {
- # Force re-generation of introspection files, otherwise it does not match installed libs
- find -name "*.vala" -exec touch {} \; || die
-
- vala_src_prepare
- gnome2_src_prepare
-}
-
-src_configure() {
- # Rebuilding docs needs valadoc, which has no release
- gnome2_src_configure \
- $(use_enable bluetooth bluez-backend) \
- $(use_enable debug) \
- $(use_enable eds eds-backend) \
- $(use_enable eds ofono-backend) \
- $(use_enable telepathy telepathy-backend) \
- $(use_enable tracker tracker-backend) \
- $(use_enable utils inspect-tool) \
- $(use_enable test modular-tests) \
- --enable-vala \
- --enable-import-tool \
- --disable-docs \
- --disable-fatal-warnings \
- --disable-libsocialweb-backend
-}
-
-src_test() {
- dbus-launch virtx emake check
-}
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..4bd9b6d1e108
--- /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 a89e8dcef9f3..96c6f3f743fd 100644
--- a/dev-libs/folks/metadata.xml
+++ b/dev-libs/folks/metadata.xml
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<use>
- <flag name="tracker">Load contacts from <pkg>app-misc/tracker</pkg> index</flag>
- <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
new file mode 100644
index 000000000000..3ead4d9f91d4
--- /dev/null
+++ b/dev-libs/foma/Manifest
@@ -0,0 +1 @@
+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/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/metadata.xml b/dev-libs/foma/metadata.xml
new file mode 100644
index 000000000000..88d2163e2a86
--- /dev/null
+++ b/dev-libs/foma/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>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 1ef0535c56e2..a7a8e79184ae 100644
--- a/dev-libs/freexl/Manifest
+++ b/dev-libs/freexl/Manifest
@@ -1,2 +1,3 @@
-DIST freexl-1.0.1.tar.gz 933371 BLAKE2B ef89bc6779379ee7d8b7251faf1d965001aeaf3d9d1c69c27f4cc0c6c8c2af5e37c9291163c6f1dfee44fade0cec5db105f2f0fe45dd1804ee3a584c7f83f9d8 SHA512 a945d642a7ae9bc7c9dfc48a5bfd61da71290558bbcc73124bc09f08e8eae3bc96ab5e478a5b5205a897ad5d7783269a8232992d5068121436013c51524801c5
-DIST freexl-1.0.2.tar.gz 939064 BLAKE2B 7c1e4f089dfa499aa8966d6e8ddf1a534a8542e1a1f2108d3b13c75e809a3f710bc45a9b01b0eb584dfeba98aa0f416d99a14261c054811208ab46ec415e51f4 SHA512 554ad06905cbac3f88694e798369c1e1c4c64709eb4086b80eb3370dfd3bdc31d1b58441bcbf40b72700f177606ae900f2ab48ead873ac331c82edd718318354
+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.1.ebuild b/dev-libs/freexl/freexl-1.0.1.ebuild
deleted file mode 100644
index 2dec4a0d5b67..000000000000
--- a/dev-libs/freexl/freexl-1.0.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils
-
-DESCRIPTION="Simple XLS data extraction library"
-HOMEPAGE="http://www.gaia-gis.it/gaia-sins/"
-SRC_URI="http://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
-
-LICENSE="MPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ppc64 x86"
-IUSE="static-libs"
-
-DEPEND="virtual/libiconv"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- prune_libtool_files --all
-}
diff --git a/dev-libs/freexl/freexl-1.0.2.ebuild b/dev-libs/freexl/freexl-1.0.2.ebuild
deleted file mode 100644
index a8cf5d9235cb..000000000000
--- a/dev-libs/freexl/freexl-1.0.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils
-
-DESCRIPTION="Simple XLS data extraction library"
-HOMEPAGE="http://www.gaia-gis.it/gaia-sins/"
-SRC_URI="http://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
-
-LICENSE="MPL-1.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="static-libs"
-
-DEPEND="virtual/libiconv"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- prune_libtool_files --all
-}
diff --git a/dev-libs/freexl/freexl-1.0.5.ebuild b/dev-libs/freexl/freexl-1.0.5.ebuild
new file mode 100644
index 000000000000..7726ea2dcb1f
--- /dev/null
+++ b/dev-libs/freexl/freexl-1.0.5.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 x86"
+
+DEPEND="virtual/libiconv"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/freexl/freexl-1.0.6.ebuild b/dev-libs/freexl/freexl-1.0.6.ebuild
new file mode 100644
index 000000000000..04dcf301b20e
--- /dev/null
+++ b/dev-libs/freexl/freexl-1.0.6.ebuild
@@ -0,0 +1,32 @@
+# 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"
+
+LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 ~riscv x86"
+
+DEPEND="virtual/libiconv"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
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/freexl/metadata.xml b/dev-libs/freexl/metadata.xml
index 2761b1b9e5c0..080560a80ec2 100644
--- a/dev-libs/freexl/metadata.xml
+++ b/dev-libs/freexl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-geosciences@gentoo.org</email>
diff --git a/dev-libs/fribidi/Manifest b/dev-libs/fribidi/Manifest
index f2468fa8bddd..0c2bd2c704d2 100644
--- a/dev-libs/fribidi/Manifest
+++ b/dev-libs/fribidi/Manifest
@@ -1 +1 @@
-DIST fribidi-1.0.5.tar.bz2 2082617 BLAKE2B 99b088a37600d1b3e556b4dd978cafb04af0fea9c7db8ed9b0aa90d6a6a60f8ca312c214151ce386d2d61ae382d6ff0e6ae240bd44dfde28eb8c25a5c5f4cd1e SHA512 c8fb32468be4c461832d586d6c6af65fad1cfe9d5b2fed405f247d6974425ccedeb21ad11609fbcabc3ae5d635d78d88c12d201a4d19ef997e9497054afcdeb2
+DIST fribidi-1.0.13.tar.xz 1170100 BLAKE2B 8cc31220304ddbdeb0047b30ed9084921920b32ad3f1bdcf29ecbb2fafbd430c391bc99bb7f205546ff8482aea1ef7ed369da71deb3474aa623fc2aeace1b62a SHA512 09357d842ff9e05b918f826e28e4a25ad996e17f73242ee9ce53fae9f37ec6c639f9cae4271577f6e0269f34265afc893858225c4a94610f0a6ee7580fb1fe07
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/fribidi-1.0.5.ebuild b/dev-libs/fribidi/fribidi-1.0.5.ebuild
deleted file mode 100644
index 9d560ef1b28d..000000000000
--- a/dev-libs/fribidi/fribidi-1.0.5.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal
-
-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.bz2"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
-
-DOCS=( AUTHORS NEWS README ChangeLog THANKS )
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-shared
- $(use_enable static-libs 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/metadata.xml b/dev-libs/fribidi/metadata.xml
index 996e7cacd217..c6ade3b9c98b 100644
--- a/dev-libs/fribidi/metadata.xml
+++ b/dev-libs/fribidi/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</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 2e97c37e0c8a..25c23e7b0a01 100644
--- a/dev-libs/fstrm/Manifest
+++ b/dev-libs/fstrm/Manifest
@@ -1 +1 @@
-DIST fstrm-0.3.0.tar.gz 185153 BLAKE2B 1e1e16792288255c1d963f2831b6f362d08a343cb58ae7ae8e24c5d9a70d870b238c399b9f2cb30da939dbfbf5faa49a61609725036113e579f2c7d63a36e599 SHA512 4134da0ed8579cb6784a419bba76b3be7487ec67b6fad65e0e662b40e668389010381176794d15da9c96339292f0faedc143f87b7ef3815b69bbc8b165af5c4d
+DIST fstrm-0.6.1.tar.gz 135425 BLAKE2B 607852bd6bd18d2dc4e862c7425882274710674da1edb3a525b409f5eff9cb46748f8e5b7b1e88ab180ddfed7a19ee41aaa9551d70331ac80ff178ffa0b4ca98 SHA512 7bf2728e2d0d1fdbd4e93069ddb03a01dc56909dbac57650ed530c80f761170b257c7191a3d789d4661df1f09c15594f20ec93a4eb5e5deb7ea3a7eabe56806c
diff --git a/dev-libs/fstrm/fstrm-0.3.0.ebuild b/dev-libs/fstrm/fstrm-0.3.0.ebuild
deleted file mode 100644
index 4950eecace42..000000000000
--- a/dev-libs/fstrm/fstrm-0.3.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools multilib-minimal
-
-DESCRIPTION="Frame Streams implementation in C"
-HOMEPAGE="https://github.com/farsightsec/fstrm"
-SRC_URI="https://github.com/farsightsec/${PN}/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"
-
-RDEPEND="utils? ( dev-libs/libevent[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
-
-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
-}
diff --git a/dev-libs/fstrm/fstrm-0.6.1.ebuild b/dev-libs/fstrm/fstrm-0.6.1.ebuild
new file mode 100644
index 000000000000..28ec560085ee
--- /dev/null
+++ b/dev-libs/fstrm/fstrm-0.6.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2021 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 ~riscv ~s390 ~sparc x86"
+IUSE="utils"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="utils? ( dev-libs/libevent:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable utils programs)
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/fstrm/metadata.xml b/dev-libs/fstrm/metadata.xml
index a654cee996a0..b32bc9c3ebc0 100644
--- a/dev-libs/fstrm/metadata.xml
+++ b/dev-libs/fstrm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/g-wrap/Manifest b/dev-libs/g-wrap/Manifest
deleted file mode 100644
index 3a706114f43c..000000000000
--- a/dev-libs/g-wrap/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST g-wrap-1.9.13.tar.gz 613577 BLAKE2B 7b91a92e28c5f0757a1de95f7c6324653abfadad69737f96766dcf208d6366e3d525a40e07dde3e5b42a00eeead2a676fef5807281e0ecef564706a3820f6b7e SHA512 56001aa877f706eda5f40ac2d06f7214b52aa3d46a1c5cc64c1d195d3e3d619a0d8dac50dabc5b73453784351512e1e35ed53bc44151a61c4b8a9f6e851f6264
-DIST g-wrap-1.9.14.tar.gz 655812 BLAKE2B c4b937d156b0677e597120ec250537b9667242d0359b41a5e184f226c3cfc0086be9e35e265b02e857fb8e0074642aa93588352a07a10d1df95c55a70bbced5a SHA512 681d85caf24335db9f266e8350488d36c2b20a5ec02346189c866c7c1de9bcd4a942f092827cbf5fc30474dff70064abe8139069752a6d82657e51542000194b
-DIST g-wrap-1.9.15.tar.gz 701601 BLAKE2B 510264580a01c715a6f73647291debb4f4cdda473e394a9da2db7b8e458f620fa2433a4c911a3640c43e314e389e57c6b365bc5c4eae0e0db67ff04511bd8887 SHA512 599d7e5bda7a4fe8a74729a9cac29c8fe34eed4568d1ddcea778035c6695738e8ce545f84142c5876421db58a108347c1a860b9187c36d1af9b272c4219ae2ca
diff --git a/dev-libs/g-wrap/g-wrap-1.9.13.ebuild b/dev-libs/g-wrap/g-wrap-1.9.13.ebuild
deleted file mode 100644
index e204a071fc99..000000000000
--- a/dev-libs/g-wrap/g-wrap-1.9.13.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-DESCRIPTION="A tool for exporting C libraries into Scheme"
-HOMEPAGE="http://www.nongnu.org/g-wrap/"
-SRC_URI="http://download.savannah.gnu.org/releases/g-wrap/old/${P}.tar.gz"
-KEYWORDS="amd64 ~hppa ppc ppc64 x86"
-SLOT="0"
-LICENSE="GPL-2"
-IUSE=""
-
-# guile-lib for srfi-34, srfi-35
-RDEPEND="
- dev-libs/glib:2
- dev-scheme/guile-lib
- dev-scheme/guile[deprecated]
- virtual/libffi"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- dev-util/indent"
-
-MAKEOPTS+=" -j1"
-
-src_configure() {
- econf --disable-Werror --with-glib
-}
diff --git a/dev-libs/g-wrap/g-wrap-1.9.14.ebuild b/dev-libs/g-wrap/g-wrap-1.9.14.ebuild
deleted file mode 100644
index 189c24d4a7ca..000000000000
--- a/dev-libs/g-wrap/g-wrap-1.9.14.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools-utils
-
-DESCRIPTION="A tool for exporting C libraries into Scheme"
-HOMEPAGE="http://www.nongnu.org/g-wrap/"
-SRC_URI="http://download.savannah.gnu.org/releases/g-wrap/old/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="amd64 ~hppa ppc ~ppc64 x86"
-IUSE="static-libs"
-
-# guile-lib for srfi-34, srfi-35
-RDEPEND="
- dev-libs/glib:2
- dev-scheme/guile-lib
- dev-scheme/guile[deprecated]
- virtual/libffi"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- dev-util/indent"
-
-MAKEOPTS+=" -j1"
-
-src_configure() {
- local myeconfargs=( --disable-Werror --with-glib )
- autotools-utils_src_configure
-}
diff --git a/dev-libs/g-wrap/g-wrap-1.9.15.ebuild b/dev-libs/g-wrap/g-wrap-1.9.15.ebuild
deleted file mode 100644
index 5a49fcadfff8..000000000000
--- a/dev-libs/g-wrap/g-wrap-1.9.15.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="A tool for exporting C libraries into Scheme"
-HOMEPAGE="http://www.nongnu.org/g-wrap/"
-SRC_URI="http://download.savannah.gnu.org/releases/g-wrap/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
-IUSE=""
-
-# guile-lib for srfi-34, srfi-35
-RDEPEND="
- dev-libs/glib:2
- dev-scheme/guile-lib
- dev-scheme/guile[deprecated]
- virtual/libffi"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- dev-util/indent"
-
-src_configure() {
- econf --disable-Werror --with-glib
-}
-
-src_install() {
- default
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/g-wrap/metadata.xml b/dev-libs/g-wrap/metadata.xml
deleted file mode 100644
index c240a63719b1..000000000000
--- a/dev-libs/g-wrap/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>scheme@gentoo.org</email>
- <name>Gentoo Scheme Project</name>
- </maintainer>
- <longdescription lang="en">
-G-Wrap is a tool (and Guile library) for generating function wrappers for inter-language calls. It currently only supports generating Guile wrappers for C functions.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/gdl/Manifest b/dev-libs/gdl/Manifest
index 1db740c28757..06039401dce0 100644
--- a/dev-libs/gdl/Manifest
+++ b/dev-libs/gdl/Manifest
@@ -1 +1 @@
-DIST gdl-3.28.0.tar.xz 541252 BLAKE2B 7254a9e15e9e79229c85b12c02ff5307bf99569428b13629ac8b3a5e79383f14a248d6e74f139e44145cd1a2825a2d10859c922a07a22fe1243edfafdb01514b SHA512 d6a697b8cd098abfcb560d8b6c8a326b05f6f22211a3bc92ea458d643170abc514acd4105e372fb61777d2a5dd09709d7e3d6d3ad75215fffdf2809b3df3c471
+DIST gdl-3.40.0.tar.xz 534016 BLAKE2B d403da4040053ce81352e14d538d15a5331423c3bb2aa76f38f4da8ccea22790507ca21fc8e6246e29dae1aa4297ecf470a71a0862475e7767a7fe7c03c8d5f4 SHA512 38cf787a47e7eece445c7bf321cb5aa691cc6bdfcb31bc10fb51c83c525b74fc8374a20989621d79e70f25ef92d9d7cce46f6f0bb993cceba3fb93b9092c1e32
diff --git a/dev-libs/gdl/gdl-3.28.0.ebuild b/dev-libs/gdl/gdl-3.28.0.ebuild
deleted file mode 100644
index efeb11f9b85f..000000000000
--- a/dev-libs/gdl/gdl-3.28.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=6
-inherit gnome2
-
-DESCRIPTION="GNOME docking library"
-HOMEPAGE="https://git.gnome.org/browse/gdl"
-
-LICENSE="LGPL-2.1+"
-SLOT="3/5" # subslot = libgdl-3 soname version
-IUSE="+introspection"
-KEYWORDS="~alpha amd64 hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
-
-RDEPEND="
- dev-libs/glib:2
- >=x11-libs/gtk+-3.0.0:3[introspection?]
- >=dev-libs/libxml2-2.4:2
- introspection? ( >=dev-libs/gobject-introspection-0.6.7:= )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.4
- >=dev-util/intltool-0.40.4
- virtual/pkgconfig
-"
-
-src_configure() {
- gnome2_src_configure \
- $(use_enable introspection) \
- --disable-gtk-doc
-}
diff --git a/dev-libs/gdl/gdl-3.40.0.ebuild b/dev-libs/gdl/gdl-3.40.0.ebuild
new file mode 100644
index 000000000000..6ed8a7bafa1a
--- /dev/null
+++ b/dev-libs/gdl/gdl-3.40.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome2
+
+DESCRIPTION="GNOME docking library"
+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 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+RDEPEND="
+ dev-libs/glib:2
+ >=x11-libs/gtk+-3.0.0:3[introspection?]
+ >=dev-libs/libxml2-2.4:2
+ introspection? ( >=dev-libs/gobject-introspection-0.6.7:= )
+"
+DEPEND="${RDEPEND}
+ >=dev-build/gtk-doc-am-1.4
+"
+BDEPEND="
+ >=dev-util/intltool-0.40.4
+ virtual/pkgconfig
+"
+
+src_configure() {
+ gnome2_src_configure \
+ $(use_enable introspection) \
+ --disable-gtk-doc
+}
diff --git a/dev-libs/gdl/metadata.xml b/dev-libs/gdl/metadata.xml
index 39980802b1da..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/gecode/Manifest b/dev-libs/gecode/Manifest
deleted file mode 100644
index 9ec9a8c1bcd7..000000000000
--- a/dev-libs/gecode/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST gecode-3.7.3.tar.gz 1643336 BLAKE2B bf36fec6ee7f9f76be578de084f6d5c60afb9c01e6d66dcb6e7f35e0105fbf3be9017f8377f09a00502bcd4bc02f97083d23ceb42de16f5361c388fa332f9dba SHA512 292bafeaca3911b8af40d7c0f425cf0263f4408afad47f4f229a821ce89d06dc69ad1feeeef72531a1e711d797d249581b67c2d9cfdc9e544240012c838d2a5b
-DIST gecode-4.4.0.tar.gz 2889186 BLAKE2B b98692f841f8af292371b222c5dd8fda771eee48664e415daa84fd34c6430276fbc96c127491c8eb0fb86c1744f4137ecd1556420ddddc72af70ff0712999bd7 SHA512 5189a3c5f9f34371a0bc94528e8ca65efb0a3078ec158887f47a816d6fe3c879a7e908ee421414bc317754333ecb73806c8fc46b0b6b7d8419cdf6f13a4f8aef
diff --git a/dev-libs/gecode/files/gecode-4.4.0-no-examples.patch b/dev-libs/gecode/files/gecode-4.4.0-no-examples.patch
deleted file mode 100644
index 26535667fa65..000000000000
--- a/dev-libs/gecode/files/gecode-4.4.0-no-examples.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Avoid installing examples to system root.
-
-Patch from Fedora.
-
-Gentoo-bug: 488150
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -953,8 +953,7 @@
- ALLGECODEHDR = \
- $(SUPPORTHDR) $(KERNELHDR) $(SEARCHHDR) \
- $(INTHDR) $(FLOATHDR) $(SETHDR) $(MMHDR) \
-- $(DRIVERHDR) $(ITERHDR) $(GISTHDR) $(FLATZINCHDR) \
-- $(INTEXAMPLEHDR)
-+ $(DRIVERHDR) $(ITERHDR) $(GISTHDR) $(FLATZINCHDR)
- ALLHDR = \
- $(ALLGECODEHDR) $(THIRDHDR)
- ALLOBJ0 = $(ALLSRC:%.cpp=%$(OBJSUFFIX)) \
diff --git a/dev-libs/gecode/gecode-3.7.3-r1.ebuild b/dev-libs/gecode/gecode-3.7.3-r1.ebuild
deleted file mode 100644
index f586564191f5..000000000000
--- a/dev-libs/gecode/gecode-3.7.3-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-DESCRIPTION="An environment for developing constraint-based applications"
-SRC_URI="http://www.gecode.org/download/${P}.tar.gz"
-HOMEPAGE="http://www.gecode.org/"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc examples"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- --disable-examples \
- --disable-gist \
- --disable-qt
-}
-
-src_compile() {
- default
- use doc && emake doc
-}
-
-src_install() {
- default
-
- if use doc; then
- dohtml -r doc/html/
- einfo "HTML documentation has been installed into " \
- "/usr/share/doc/${PF}/html"
- fi
-
- if use examples; then
- dodoc -r examples
- fi
-}
diff --git a/dev-libs/gecode/gecode-4.4.0-r2.ebuild b/dev-libs/gecode/gecode-4.4.0-r2.ebuild
deleted file mode 100644
index 4642b6d3496b..000000000000
--- a/dev-libs/gecode/gecode-4.4.0-r2.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools qmake-utils
-
-DESCRIPTION="An environment for developing constraint-based applications"
-HOMEPAGE="http://www.gecode.org/"
-SRC_URI="http://www.gecode.org/download/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc examples gist gmp"
-
-RDEPEND="
- gist? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- )
- gmp? (
- dev-libs/gmp:0
- dev-libs/mpfr:0
- )"
-DEPEND="${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- doc? (
- app-doc/doxygen
- media-gfx/graphviz
- )"
-
-PATCHES=( "${FILESDIR}/${PN}-4.4.0-no-examples.patch" )
-
-src_prepare() {
- default
-
- sed -i gecode.m4 \
- -e "s/-ggdb//" -e "s/-O3//" -e "s/-pipe//" \
- -e "/AC_CHECK_PROGS(QMAKE/a AC_SUBST(QMAKE,$(qt5_get_bindir)/qmake)" \
- -e "/AC_CHECK_PROGS(MOC/a AC_SUBST(MOC,$(qt5_get_bindir)/moc)" \
- || die
-
- eautoreconf
-}
-
-src_configure() {
- # --disable-examples prevents COMPILING the examples.
- econf \
- --disable-examples \
- $(use_enable doc doc-dot) \
- $(use_enable doc doc-tagfile) \
- $(use_enable gist qt) \
- $(use_enable gist) \
- $(use_enable gmp mpfr)
-}
-
-src_compile() {
- default
- use doc && emake doc
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" emake test
- LD_LIBRARY_PATH="${S}" ./test/test || die "test suite failed"
-}
-
-src_install() {
- default
-
- # The --docdir and --htmldir that we pass to configure don't seem to
- # be respected...
- use doc && dodoc -r doc/html/
-
- if use examples; then
- dodoc -r examples
- fi
-}
diff --git a/dev-libs/gecode/metadata.xml b/dev-libs/gecode/metadata.xml
deleted file mode 100644
index 234da92a34cc..000000000000
--- a/dev-libs/gecode/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <use>
- <flag name="gist">
- Enable Gist, the Gecode Interactive Search Tool
- </flag>
- <flag name="gmp">
- Enable trigonometric and transcendental float
- constraints
- </flag>
- </use>
-</pkgmetadata>
diff --git a/dev-libs/geoip/Manifest b/dev-libs/geoip/Manifest
index 474f1a2b683b..4c43fe25c339 100644
--- a/dev-libs/geoip/Manifest
+++ b/dev-libs/geoip/Manifest
@@ -1,4 +1 @@
-DIST geoip-1.6.10.tar.gz 161506 BLAKE2B 968ae25afe8345def099b82acf5bca4b7bcba05ffdc8d17f164bc2a91db25e2be45319a942fef05f084c6d6463521d481286888cbe7b43c7394e46ea0b47b5ca SHA512 5cd527da9d9a921bcc3020e636b410310e6462832804ac2d594b9cb4ceaacac0c31eb64f97e23e77d468da7b63a704084e140c8b69b838e362a188309756a2bf
-DIST geoip-1.6.11.tar.gz 161934 BLAKE2B 628dd37bbcfffe36970d6bc8cd12ff1d504d9dc7bb760860ce59fbeeac631317556077ca5b50ae42c9cc8567ed41194379ed0743a0c2b0b0bef65504b13e62cb SHA512 9c017a95c7903898b9a2bc10c34e51b390326c181c46e6f99daf3bc4d8f84cfcf640c5cc92d527e4c7428e2b5bfa835cc57040507eb836062139a795726349b9
DIST geoip-1.6.12.tar.gz 160826 BLAKE2B a6cb17141e4e9d00c15d19d7adfecb5492b14591911dc85de403afc9f94801fe1ec92b6106478448074d3679d6c9fa6a44f210b9cc751aba0c0425a5fae699c1 SHA512 d1ed2dae091548f555cde4d26e4b51ae1e8fbb12ef1695fd95963229d9a1bf241e6f09e5d77b151d51edd0cef78ddef490c6a3f3a70ff122bdd9c0ac5500fc7d
-DIST geoip-1.6.9.tar.gz 158576 BLAKE2B 797dce578c0e2b92b02cf125be5448746025e86c6d9a2efd4ec2c99de99b3874c9da0ef20c7c76308121420ea8099a0744c0240640ff9732b961789ce334b8d1 SHA512 a3a34511ba32e6c7d0b46b0e608c5be54411cf5b095c867c3225941b55e5714ec7c68de64e0aefcf4ee2081fbd626480067d6bc9822d775decef1f8e26d7e976
diff --git a/dev-libs/geoip/files/geoipupdate-r7.sh b/dev-libs/geoip/files/geoipupdate-r7.sh
new file mode 100644
index 000000000000..67d26bdc2ed8
--- /dev/null
+++ b/dev-libs/geoip/files/geoipupdate-r7.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+GEOIP_MIRROR="https://mailfud.org/geoip-legacy/"
+GEOIPDIR=@PREFIX@/usr/share/GeoIP
+TMPDIR=
+
+DATABASES="
+ GeoIPv6
+ GeoIPCity
+ GeoIPCityv6
+ GeoIP
+ GeoIPASNum
+ GeoIPASNumv6
+"
+
+if [ "${1}" = -f ] || [ "${1}" = --force ]; then
+ force=true
+fi
+
+if [ -d "${GEOIPDIR}" ]; then
+ cd $GEOIPDIR
+ if [ -n "${DATABASES}" ]; then
+ TMPDIR=$(mktemp -d geoipupdate.XXXXXXXXXX)
+
+ echo "Updating GeoIP databases..."
+
+ for db in $DATABASES; do
+ fname=$(basename $db)
+
+ if [ -f "${GEOIPDIR}/${fname}.dat" ] || [ ${force} ]; then
+ wget --no-verbose -t 3 -T 60 \
+ "${GEOIP_MIRROR}/${db}.dat.gz" \
+ -O "${TMPDIR}/${fname}.dat.gz"
+ if [ $? -eq 0 ]; then
+ gunzip -fdc "${TMPDIR}/${fname}.dat.gz" > "${TMPDIR}/${fname}.dat"
+ mv "${TMPDIR}/${fname}.dat" "${GEOIPDIR}/${fname}.dat"
+ chmod 0644 "${GEOIPDIR}/${fname}.dat"
+ case ${fname} in
+ GeoLite*) ln -sf ${fname}.dat `echo ${fname} | sed 's/GeoLite/GeoIP/'`.dat ;;
+ esac
+ fi
+ fi
+ done
+ [ -d "${TMPDIR}" ] && rm -rf $TMPDIR
+ fi
+fi
diff --git a/dev-libs/geoip/geoip-1.6.10.ebuild b/dev-libs/geoip/geoip-1.6.10.ebuild
deleted file mode 100644
index deb21a6110f6..000000000000
--- a/dev-libs/geoip/geoip-1.6.10.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools eutils
-
-DESCRIPTION="GeoIP Legacy C API"
-HOMEPAGE="https://github.com/maxmind/geoip-api-c"
-SRC_URI="
- https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz
-"
-
-# 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 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
-RESTRICT="test"
-
-DEPEND="
- net-misc/wget
-"
-RDEPEND="
- ${DEPEND}
-"
-
-S="${WORKDIR}/${PN}-api-c-${PV}"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
- sed -e "s|@PREFIX@|${ROOT}|g" "${FILESDIR}"/geoipupdate-r6.sh > geoipupdate.sh || die
-}
-
-src_install() {
- default
-
- dodoc AUTHORS ChangeLog NEWS.md README*
-
- prune_libtool_files
-
- keepdir /usr/share/GeoIP
-
- dosbin geoipupdate.sh
-}
-
-pkg_postinst() {
- ewarn "WARNING: Databases are no longer installed by this ebuild."
- elog "Don't forget to run 'geoipupdate.sh -f' (or geoipupdate from"
- elog "net-misc/geoipupdate) to populate ${ROOT}/usr/share/GeoIP/"
- elog "with geo-located IP address databases."
-}
diff --git a/dev-libs/geoip/geoip-1.6.11.ebuild b/dev-libs/geoip/geoip-1.6.11.ebuild
deleted file mode 100644
index 5ecf50082bde..000000000000
--- a/dev-libs/geoip/geoip-1.6.11.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools eutils
-
-DESCRIPTION="GeoIP Legacy C API"
-HOMEPAGE="https://github.com/maxmind/geoip-api-c"
-SRC_URI="
- https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz
-"
-
-# 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 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
-RESTRICT="test"
-
-DEPEND="
- net-misc/wget
-"
-RDEPEND="
- ${DEPEND}
-"
-
-S="${WORKDIR}/${PN}-api-c-${PV}"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
- sed -e "s|@PREFIX@|${ROOT}|g" "${FILESDIR}"/geoipupdate-r6.sh > geoipupdate.sh || die
-}
-
-src_install() {
- default
-
- dodoc AUTHORS ChangeLog NEWS.md README*
-
- prune_libtool_files
-
- keepdir /usr/share/GeoIP
-
- dosbin geoipupdate.sh
-}
-
-pkg_postinst() {
- ewarn "WARNING: Databases are no longer installed by this ebuild."
- elog "Don't forget to run 'geoipupdate.sh -f' (or geoipupdate from"
- elog "net-misc/geoipupdate) to populate ${ROOT}/usr/share/GeoIP/"
- elog "with geo-located IP address databases."
-}
diff --git a/dev-libs/geoip/geoip-1.6.12-r1.ebuild b/dev-libs/geoip/geoip-1.6.12-r1.ebuild
new file mode 100644
index 000000000000..58c49aba7519
--- /dev/null
+++ b/dev-libs/geoip/geoip-1.6.12-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="GeoIP Legacy C API"
+HOMEPAGE="https://github.com/maxmind/geoip-api-c"
+SRC_URI="https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+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 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+RESTRICT="test"
+
+DEPEND="net-misc/wget"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+ sed -e "s|@PREFIX@|${EPREFIX}|g" "${FILESDIR}"/geoipupdate-r7.sh > geoipupdate.sh || die
+}
+
+src_install() {
+ default
+
+ dodoc AUTHORS ChangeLog NEWS.md README*
+
+ find "${ED}" -name '*.la' -delete || die
+
+ keepdir /usr/share/GeoIP
+
+ dosbin geoipupdate.sh
+}
+
+pkg_postinst() {
+ ewarn "WARNING: Databases are no longer installed by this ebuild."
+ elog "Don't forget to run 'geoipupdate.sh -f' (or geoipupdate from"
+ elog "net-misc/geoipupdate) to populate ${EROOT}/usr/share/GeoIP/"
+ elog "with geo-located IP address databases."
+}
diff --git a/dev-libs/geoip/geoip-1.6.12.ebuild b/dev-libs/geoip/geoip-1.6.12.ebuild
index c5ce219e773e..ba375f0038c0 100644
--- a/dev-libs/geoip/geoip-1.6.12.ebuild
+++ b/dev-libs/geoip/geoip-1.6.12.ebuild
@@ -1,40 +1,33 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit autotools eutils
+EAPI=7
+
+inherit autotools
DESCRIPTION="GeoIP Legacy C API"
HOMEPAGE="https://github.com/maxmind/geoip-api-c"
-SRC_URI="
- https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz
-"
+SRC_URI="https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+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 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="static-libs"
RESTRICT="test"
-DEPEND="
- net-misc/wget
-"
-RDEPEND="
- ${DEPEND}
-"
-
-S="${WORKDIR}/${PN}-api-c-${PV}"
+DEPEND="net-misc/wget"
+RDEPEND="${DEPEND}"
src_prepare() {
default
-
eautoreconf
}
src_configure() {
econf $(use_enable static-libs static)
- sed -e "s|@PREFIX@|${ROOT}|g" "${FILESDIR}"/geoipupdate-r6.sh > geoipupdate.sh || die
+ sed -e "s|@PREFIX@|${EPREFIX}|g" "${FILESDIR}"/geoipupdate-r6.sh > geoipupdate.sh || die
}
src_install() {
@@ -42,7 +35,7 @@ src_install() {
dodoc AUTHORS ChangeLog NEWS.md README*
- prune_libtool_files
+ find "${ED}" -name '*.la' -delete || die
keepdir /usr/share/GeoIP
@@ -52,6 +45,6 @@ src_install() {
pkg_postinst() {
ewarn "WARNING: Databases are no longer installed by this ebuild."
elog "Don't forget to run 'geoipupdate.sh -f' (or geoipupdate from"
- elog "net-misc/geoipupdate) to populate ${ROOT}/usr/share/GeoIP/"
+ elog "net-misc/geoipupdate) to populate ${EROOT}/usr/share/GeoIP/"
elog "with geo-located IP address databases."
}
diff --git a/dev-libs/geoip/geoip-1.6.9-r1.ebuild b/dev-libs/geoip/geoip-1.6.9-r1.ebuild
deleted file mode 100644
index e995cafe4822..000000000000
--- a/dev-libs/geoip/geoip-1.6.9-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools eutils
-
-DESCRIPTION="GeoIP Legacy C API"
-HOMEPAGE="https://github.com/maxmind/geoip-api-c"
-SRC_URI="
- https://github.com/maxmind/${PN}-api-c/archive/v${PV}.tar.gz -> ${P}.tar.gz
-"
-
-# 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 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="static-libs"
-RESTRICT="test"
-
-DEPEND="
- net-misc/wget
-"
-RDEPEND="
- ${DEPEND}
-"
-
-S="${WORKDIR}/${PN}-api-c-${PV}"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
- sed -e "s|@PREFIX@|${ROOT}|g" "${FILESDIR}"/geoipupdate-r6.sh > geoipupdate.sh || die
-}
-
-src_install() {
- default
-
- dodoc AUTHORS ChangeLog NEWS.md README*
-
- prune_libtool_files
-
- keepdir /usr/share/GeoIP
-
- dosbin geoipupdate.sh
-}
-
-pkg_postinst() {
- ewarn "WARNING: Databases are no longer installed by this ebuild."
- elog "Don't forget to run 'geoipupdate.sh -f' (or geoipupdate from"
- elog "net-misc/geoipupdate) to populate ${ROOT}/usr/share/GeoIP/"
- elog "with geo-located IP address databases."
-}
diff --git a/dev-libs/geoip/metadata.xml b/dev-libs/geoip/metadata.xml
index b535fed31a92..2d104382cc27 100644
--- a/dev-libs/geoip/metadata.xml
+++ b/dev-libs/geoip/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>netmon@gentoo.org</email>
diff --git a/dev-libs/gf-complete/Manifest b/dev-libs/gf-complete/Manifest
index 8669d288bcae..ebe521979029 100644
--- a/dev-libs/gf-complete/Manifest
+++ b/dev-libs/gf-complete/Manifest
@@ -1,2 +1 @@
-DIST gf-complete-0.0.0.tar.gz 596339 BLAKE2B add52827288d08e8d546787f8bc42554ce8900a21dfdc47e66aea2990aa48604f8a51d573f84c667e2479a03ddb8412c43a0acae745cb1e3e5aed0bfd0dd0a83 SHA512 7942a29b80972fffab15dc86c560345911db5aa976d2c505804d0eff10c9135f674f3511b579e2bac26342ca53a81d323826a1ff1d790836a4650a07769851a2
DIST gf-complete-2.0.0.tar.gz 122566 BLAKE2B 20cfc2dcf437109f5ed703434c5c383bc910d57127583a4eca6ccea860d0f42c82c93558ba992b9b35d6025d745a8bb39c32ed35809ffc063fa83b11a975e0d9 SHA512 3b0693bf374086417f04cee09dceeb694aafaf7fb3c829b89f303b65634ae509406c8a0de10f57c666b4c78b11043f355bb3c81f95eac061cb16de9db2b71b89
diff --git a/dev-libs/gf-complete/gf-complete-0.0.0.ebuild b/dev-libs/gf-complete/gf-complete-0.0.0.ebuild
deleted file mode 100644
index 473aba33e2fb..000000000000
--- a/dev-libs/gf-complete/gf-complete-0.0.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A Comprehensive Open Source Library for Galois Field Arithmetic"
-HOMEPAGE="http://jerasure.org/"
-SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/${P}.tar.gz"
-S="${WORKDIR}/${PN}.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 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
- eautoreconf
-}
-
-src_install() {
- default
- prune_libtool_files
-}
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
new file mode 100644
index 000000000000..ed99fb6e058e
--- /dev/null
+++ b/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools
+
+DESCRIPTION="A Comprehensive Open Source Library for Galois Field Arithmetic"
+HOMEPAGE="http://jerasure.org"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/${P}.tar.gz"
+S="${WORKDIR}/${PN}.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
+IUSE=""
+
+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
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/gf-complete/gf-complete-2.0.0.ebuild b/dev-libs/gf-complete/gf-complete-2.0.0.ebuild
deleted file mode 100644
index 35c33494f9d4..000000000000
--- a/dev-libs/gf-complete/gf-complete-2.0.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A Comprehensive Open Source Library for Galois Field Arithmetic"
-HOMEPAGE="http://jerasure.org/"
-SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/${P}.tar.gz"
-S="${WORKDIR}/${PN}.git"
-
-LICENSE="BSD"
-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
- eautoreconf
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/gf-complete/metadata.xml b/dev-libs/gf-complete/metadata.xml
index c934e64a9527..119c408e81f6 100644
--- a/dev-libs/gf-complete/metadata.xml
+++ b/dev-libs/gf-complete/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
diff --git a/dev-libs/gf2x/Manifest b/dev-libs/gf2x/Manifest
index 6610085e8a74..bae3b14818aa 100644
--- a/dev-libs/gf2x/Manifest
+++ b/dev-libs/gf2x/Manifest
@@ -1,3 +1 @@
-DIST gf2x-1.0.tar.gz 460810 BLAKE2B 07aa3faabb2616e11c2620cbb8008dede01f0ec2b338656572d8a86c45b9fd3bc61ec5e5ed97c1f9f8b1ba740a939364f113822f7cb810e362474fc1de09eada SHA512 f4658698972e31428d8349b423762e9ef5aaeb52d8081c9831baa4eb066737ab3e9667a700d5df79e0f0df2626db39f2f994df17da14719506d44dbb9b33af40
-DIST gf2x-1.1.tar.gz 496708 BLAKE2B 18135d812c09f8ad0dad80ed7c1f58404461b79187ef8f176c9ad73e75de8b5a4a95a29463f57b86816a80ca21324dd2fd4a139531fb69eb4476f45400a497a7 SHA512 052cb2152773dc114a2a80cc64cd0679c1f57eceabcdc7cc25987b8d2599fa6d4871b5bb6ff71319727411b9b5aca11e431e43eafa474a419cf306d42d22ac2c
-DIST gf2x-1.2.tar.gz 706519 BLAKE2B 4aa45d10646b51e540be51d0fe3691083c48c666d34e67d50d8f53753c49af2bd9664483618eee5a1883106d1f58ddb28cd4eb02031f13eebe8278630de736f6 SHA512 efddad2b99fa103fa77caed4a62f4a763dbff67bc7cf4527bbbf33ca826829e4a4f94e97454ef1a6498bdc2cee8934ff43f9dabf41a4a4f256721527a1dffa30
+DIST gf2x-1.3.0.tar.gz 727717 BLAKE2B 65f6596a09087708e4ae940b067cb375476c1e7b25a28bf12e9318c752cb326516edeb9363d0f98a9b4173f5bcefd204aa62e1cb87b3f27ad9c30b661edc7451 SHA512 4991568032483e0ecb4552a698e5b7d09f80875e54584a0060a9473be1f87e4e8f714e657f08fec0b9fcf493d969408e5a9000f900623b3694aba1ecf6dc239e
diff --git a/dev-libs/gf2x/files/fno-common.patch b/dev-libs/gf2x/files/fno-common.patch
new file mode 100644
index 000000000000..bcb4c255707d
--- /dev/null
+++ b/dev-libs/gf2x/files/fno-common.patch
@@ -0,0 +1,37 @@
+From 5c8737c5c3170358024a4a969e1386cea15932f3 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 26 Apr 2020 09:56:34 -0400
+Subject: [PATCH 1/1] src/tunetoom.c: delete duplicate definition of rp.
+
+The "make tune-toom" command has started failing with gcc-10.x because
+of its new default -fno-common behavior,
+
+ * https://gcc.gnu.org/gcc-10/porting_to.html
+ * https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
+
+This leads to an error involving the FILE pointer "rp" that is declared
+in global scope in both src/tunetoom.c and src/tuning-common.c. In this
+case, the declaration in src/tunetoom.c is simply redundant: that file
+includes src/tuning-common.h which already declares "rp" as extern.
+
+Deleting the redeclaration in src/tunetoom.c makes the build succeed.
+---
+ src/tunetoom.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/tunetoom.c b/src/tunetoom.c
+index 7553e0c..1140606 100644
+--- a/src/tunetoom.c
++++ b/src/tunetoom.c
+@@ -111,8 +111,6 @@ const char * gf2x_utoom_select_string[] = {
+ [GF2X_SELECT_UNB_TC3U] = "TC3U",
+ };
+
+-FILE *rp;
+-
+ void tunetoom(long tablesz)
+ {
+ long high, n;
+--
+2.24.1
+
diff --git a/dev-libs/gf2x/files/gf2x-1.3.0-0001-src-tunefft.c-add-include-statement-for-MIN-and-MAX.patch b/dev-libs/gf2x/files/gf2x-1.3.0-0001-src-tunefft.c-add-include-statement-for-MIN-and-MAX.patch
new file mode 100644
index 000000000000..cc1bd0f46a9d
--- /dev/null
+++ b/dev-libs/gf2x/files/gf2x-1.3.0-0001-src-tunefft.c-add-include-statement-for-MIN-and-MAX.patch
@@ -0,0 +1,29 @@
+From 292b5784d907f420886e50d5683517b8fe1abe3c Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Sat, 5 Jun 2021 18:29:08 +0200
+Subject: [PATCH] src/tunefft.c: add include statement for MIN and MAX
+
+Add #include <sys/param.h> to have MIN and MAX available
+for next_step function.
+
+Bug: https://bugs.gentoo.org/719982
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ src/tunefft.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/tunefft.c b/src/tunefft.c
+index a08d82a..f5abc82 100644
+--- a/src/tunefft.c
++++ b/src/tunefft.c
+@@ -65,6 +65,7 @@
+ #include <float.h> /* for DBL_MAX */
+ #include <time.h>
+ #include <sys/utsname.h> /* for uname */
++#include <sys/param.h> /* for MIN, MAX */
+ #include "gf2x.h"
+ #include "gf2x/gf2x-impl.h"
+ #include "timing.h"
+--
+2.31.1
+
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.0-r1.ebuild b/dev-libs/gf2x/gf2x-1.0-r1.ebuild
deleted file mode 100644
index 98ee76b86153..000000000000
--- a/dev-libs/gf2x/gf2x-1.0-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools-utils
-
-PACKAGEID=27999 # hack
-
-DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
-HOMEPAGE="http://gf2x.gforge.inria.fr/"
-SRC_URI="http://gforge.inria.fr/frs/download.php/${PACKAGEID}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="bindist static-libs"
-
-src_configure() {
- local myeconfargs=(
- ABI=default
- )
-
- if use bindist ; then
- if use x86 ; then
- myeconfargs+=(
- --disable-sse2
- )
- fi
- if use amd64 ; then
- myeconfargs+=(
- --disable-pclmul
- )
- fi
- fi
-
- autotools-utils_src_configure
-}
diff --git a/dev-libs/gf2x/gf2x-1.1.ebuild b/dev-libs/gf2x/gf2x-1.1.ebuild
deleted file mode 100644
index 779fbdb0f804..000000000000
--- a/dev-libs/gf2x/gf2x-1.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools-utils
-
-PACKAGEID=30873 # hack
-
-DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
-HOMEPAGE="http://gf2x.gforge.inria.fr/"
-SRC_URI="http://gforge.inria.fr/frs/download.php/${PACKAGEID}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="bindist static-libs"
-
-src_configure() {
- local myeconfargs=(
- ABI=default
- )
-
- if use bindist ; then
- if use x86 ; then
- myeconfargs+=(
- --disable-sse2
- )
- fi
- if use amd64 ; then
- myeconfargs+=(
- --disable-pclmul
- )
- fi
- fi
-
- autotools-utils_src_configure
-}
diff --git a/dev-libs/gf2x/gf2x-1.2.ebuild b/dev-libs/gf2x/gf2x-1.2.ebuild
deleted file mode 100644
index 69bc4312a405..000000000000
--- a/dev-libs/gf2x/gf2x-1.2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils autotools
-
-PACKAGEID=36934 # inriaforge hardcoded ID
-
-DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
-HOMEPAGE="http://gf2x.gforge.inria.fr/"
-SRC_URI="http://gforge.inria.fr/frs/download.php/${PACKAGEID}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/1"
-KEYWORDS="~amd64 ~ppc ~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_}"
-
-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
- use static-libs || prune_libtool_files --all
-}
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/metadata.xml b/dev-libs/gf2x/metadata.xml
index 3a09b3124827..554525b427bf 100644
--- a/dev-libs/gf2x/metadata.xml
+++ b/dev-libs/gf2x/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
@@ -11,8 +11,12 @@
for irreducible/primitive trinomials.
</longdescription>
<use>
- <flag name="bindist">Disable automatic fine-tuning to local processor features like pclmul or sse2.</flag>
- <flag name="custom-tune">Extra long compile time for tuning hardware specific low-level routines</flag>
- <flag name="fft">Build an FFT API for multiplication of 2 polynomials over GF(2)</flag>
+ <flag name="custom-tune">
+ Extra long compile time for tuning hardware specific low-level
+ routines
+ </flag>
+ <flag name="fft">
+ Build an FFT API for multiplication of 2 polynomials over GF(2)
+ </flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/girara/Manifest b/dev-libs/girara/Manifest
index 7d12ee464b91..7db83ba1feba 100644
--- a/dev-libs/girara/Manifest
+++ b/dev-libs/girara/Manifest
@@ -1,2 +1,2 @@
-DIST girara-0.3.1.tar.xz 58148 BLAKE2B 7945ca0b417bf09a37f4ce7cc6603adc93cd224d7e449c7f4dae00a4abf254b251230fb40e2f985c293bad95c0bd05ff646418bb5f8e0a1c6d5d2df832900256 SHA512 5c4b2972bfb0296cd1b984c9426b67b50e29e2928fb0e9a3aa3f9bc21aebc28dcc93570e888060e0bb02561022b379cdfcfa3317b52e78cac04e7fc1ba476107
-DIST girara-0.3.2.tar.xz 58220 BLAKE2B d5962a2c8425ab49a23a08d9e2e3db44ca5d721f978070c221cbbf0bf5e16fba9121911d932607e14350abe0e6190e74412c52ea7ccbf24f0159721485170e97 SHA512 ce8b1498c2c5e278a4689f945e6773cbf19b3357711636bbe785d96c8d381cf8ba457268ca154f7bd48b06d79cc03296d2e4350784299a13c4972030bcb0dbed
+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.1.ebuild b/dev-libs/girara/girara-0.3.1.ebuild
deleted file mode 100644
index 46f9c356cc93..000000000000
--- a/dev-libs/girara/girara-0.3.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 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 x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify 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"
-}
-
-src_configure() {
- local emesonargs=(
- -Denable-json=true
- -Denable-docs=$(usex doc true false)
- -Denable-notify=$(usex libnotify true false)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/girara/girara-0.3.2.ebuild b/dev-libs/girara/girara-0.3.2.ebuild
deleted file mode 100644
index 8e5a35185bb7..000000000000
--- a/dev-libs/girara/girara-0.3.2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 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 x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify 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"
-}
-
-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 a650dd0c40b7..6b506349dbaa 100644
--- a/dev-libs/girara/girara-9999.ebuild
+++ b/dev-libs/girara/girara-9999.ebuild
@@ -1,52 +1,63 @@
-# 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
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://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~x86"
+ KEYWORDS="~amd64 ~arm ~riscv ~x86"
fi
LICENSE="ZLIB"
SLOT="0"
IUSE="doc libnotify 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"
-}
+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 emesonargs=(
- -Denable-json=true
- -Denable-docs=$(usex doc true false)
- -Denable-notify=$(usex libnotify true false)
- )
- meson_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/metadata.xml b/dev-libs/girara/metadata.xml
index 235fd8541a77..daab629eec23 100644
--- a/dev-libs/girara/metadata.xml
+++ b/dev-libs/girara/metadata.xml
@@ -1,21 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <name>Mikle Kolyada</name>
- <email>zlogene@gentoo.org</email>
+ <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 74251b92231b..0967ffcbbf05 100644
--- a/dev-libs/gjs/Manifest
+++ b/dev-libs/gjs/Manifest
@@ -1,2 +1 @@
-DIST gjs-1.48.7.tar.xz 595324 BLAKE2B eac8b5b2f7e909e94e3fb305cac443da3f433047ee07fa8fbd15905890f77d57449c8689867df61f1ac849b8b4bddc089a9b1ddc3aa79d4b3d054226c58fa909 SHA512 b8c58e068eaecfca2fa40cebe209fa8058e603809be4307099a0f3dbd561752a540d587d546ffa74aef0268a111f2b2846a1e0febda1adcefdac8c02e716e2dd
-DIST gjs-1.54.3.tar.xz 647704 BLAKE2B 792225afd9828755ef67b3e7221d4c53535d79d879e0aef0c7c56f06e02313a966776b5dddf9876649984a1599eb44a27d6288f9216bb929a66ad9e14cb632e5 SHA512 f19e667963fa3feecd23a9e4cc263a55d9d1311de7d10905969966f74e26ff982839c192c555cbc059e4fd65ff7c89d18944ca6bf8ffbb65ec91081036d19505
+DIST gjs-1.78.5.tar.xz 656168 BLAKE2B e1458d000998b66fda90e448ca487e591729e003c3e11a939dc474958b6de55783d41db8de5b243a329361f12acc15a8e84f4131650705becb046b68c54a24a2 SHA512 bb25e52dff53bfbde6d2329027d4ff68849740cf753da58f9bdf5a19ea7b029e2517d67978f461f16660dd1aa48b223798e9c0a24cde0ccb62060e4a0c83a02e
diff --git a/dev-libs/gjs/gjs-1.48.7.ebuild b/dev-libs/gjs/gjs-1.48.7.ebuild
deleted file mode 100644
index 7766348989c3..000000000000
--- a/dev-libs/gjs/gjs-1.48.7.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2 pax-utils 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 test"
-KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
-
-RDEPEND="
- >=dev-libs/glib-2.52.1
- >=dev-libs/gobject-introspection-1.52.1:=
-
- sys-libs/readline:0=
- dev-lang/spidermonkey:38
- virtual/libffi:=
- cairo? ( x11-libs/cairo[X] )
- gtk? ( >=x11-libs/gtk+-3.20:3 )
-"
-DEPEND="${RDEPEND}
- gnome-base/gnome-common
- sys-devel/gettext
- virtual/pkgconfig
- test? ( sys-apps/dbus )
-"
-
-#PATCHES=(
- # Disable unittest failing without pt_BR locale, upstream bug #????
-# "${FILESDIR}"/1.48.6-disable-unittest.patch
-#)
-
-src_configure() {
- # FIXME: add systemtap/dtrace support, like in glib:2
- # FIXME: --enable-systemtap installs files in ${D}/${D} for some reason
- # XXX: Do NOT enable coverage, completely useless for portage installs
- gnome2_src_configure \
- --disable-systemtap \
- --disable-dtrace \
- --disable-code-coverage \
- $(use_with cairo cairo) \
- $(use_with gtk) \
- $(use_with test dbus-tests) \
- $(use_with test xvfb-tests)
-}
-
-src_install() {
- # installation sometimes fails in parallel, bug #???
- gnome2_src_install -j1
-
- if use examples; then
- insinto /usr/share/doc/"${PF}"/examples
- doins "${S}"/examples/*
- fi
-
- # Required for gjs-console to run correctly on PaX systems
- pax-mark mr "${ED}/usr/bin/gjs-console"
-}
diff --git a/dev-libs/gjs/gjs-1.54.3.ebuild b/dev-libs/gjs/gjs-1.54.3.ebuild
deleted file mode 100644
index 86eced5fe04f..000000000000
--- a/dev-libs/gjs/gjs-1.54.3.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 gnome2 pax-utils 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 test"
-KEYWORDS="alpha amd64 arm arm64 ~ia64 ppc ppc64 ~sparc x86"
-
-RDEPEND="
- >=dev-libs/glib-2.54.0
- >=dev-libs/gobject-introspection-1.53.4:=
-
- readline? ( sys-libs/readline:0= )
- dev-lang/spidermonkey:60
- virtual/libffi:=
- cairo? ( x11-libs/cairo[X] )
- gtk? ( >=x11-libs/gtk+-3.20:3 )
-"
-DEPEND="${RDEPEND}
- gnome-base/gnome-common
- sys-devel/gettext
- virtual/pkgconfig
- test? ( sys-apps/dbus )
-"
-
-RESTRICT="!test? ( test )"
-
-src_configure() {
- # FIXME: add systemtap/dtrace support, like in glib:2
- # FIXME: --enable-systemtap installs files in ${D}/${D} for some reason
- # XXX: Do NOT enable coverage, completely useless for portage installs
- gnome2_src_configure \
- --disable-systemtap \
- --disable-dtrace \
- --enable-profiler \
- --disable-code-coverage \
- $(use_with cairo cairo) \
- $(use_with gtk) \
- $(use_enable readline) \
- $(use_with test dbus-tests) \
- $(use_with test xvfb-tests)
-}
-
-src_install() {
- # installation sometimes fails in parallel, bug #???
- gnome2_src_install -j1
-
- if use examples; then
- insinto /usr/share/doc/"${PF}"/examples
- doins "${S}"/examples/*
- fi
-
- # Required for gjs-console to run correctly on PaX systems
- pax-mark mr "${ED}/usr/bin/gjs-console"
-}
-
-src_test() {
- virtx default
-}
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 4cbddcaa19ad..cc6371730cc6 100644
--- a/dev-libs/gjs/metadata.xml
+++ b/dev-libs/gjs/metadata.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
+ <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 aa0ad833c867..c46b7e68014f 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -1,2 +1,4 @@
-DIST glib-2.58.3.tar.xz 4863648 BLAKE2B 4269bd6e80869f39d567917438f750561debb1b45d40ecea487d2e76e2468e07dc8d80a23678699f7b8f7778c2ed9d29e866ae5e33770f51ed00709dd5fe97eb SHA512 1e1cb5b607367dcbadb95563d463e81702cf396b28f1173f6d933707f4f3d5595a70225423e918807a05994a24f16fa3ac87d2ec67e4b670244ea99836634cce
-DIST pkg-config-0.28.tar.gz 1931203 BLAKE2B bafdd4e838623965c6bd454421ddd9051fc43fc29948e1615b49fef463c3c3a18807aabe6416f96cfdf58d6b1c9e114d77f97bd985facee7c14284a8a64a768b SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320
+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
+DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da
diff --git a/dev-libs/glib/files/glib-2.58.2-external-gdbus-codegen.patch b/dev-libs/glib/files/glib-2.58.2-external-gdbus-codegen.patch
deleted file mode 100644
index 7615dbb248bd..000000000000
--- a/dev-libs/glib/files/glib-2.58.2-external-gdbus-codegen.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 69da419c33c24a05126d21fb3098139d30ba9093 Mon Sep 17 00:00:00 2001
-From: Mart Raudsepp <leio@gentoo.org>
-Date: Wed, 19 Dec 2018 14:01:43 +0200
-Subject: [PATCH] build: don't build gdbus-codegen and rely on external
- gdbus-codegen for tests
-
----
- configure.ac | 1 -
- docs/reference/gio/Makefile.am | 1 -
- gio/Makefile.am | 2 +-
- gio/tests/Makefile.am | 22 ++++++-------------
- .../gdbus-object-manager-example/Makefile.am | 6 ++---
- 5 files changed, 10 insertions(+), 22 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4b15b69b8..9187a12bb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3481,7 +3481,6 @@ gobject/glib-mkenums
- gobject/tests/Makefile
- gthread/Makefile
- gio/Makefile
--gio/gdbus-2.0/codegen/Makefile
- gio/gdbus-2.0/codegen/config.py
- gio/gnetworking.h
- gio/xdgmime/Makefile
-diff --git a/docs/reference/gio/Makefile.am b/docs/reference/gio/Makefile.am
-index 08093e8a0..9ce11f824 100644
---- a/docs/reference/gio/Makefile.am
-+++ b/docs/reference/gio/Makefile.am
-@@ -212,7 +212,6 @@ man_MANS += \
- gsettings.1 \
- gresource.1 \
- gdbus.1 \
-- gdbus-codegen.1 \
- gio.1 \
- $(NULL)
-
-diff --git a/gio/Makefile.am b/gio/Makefile.am
-index 05b20cdef..ed5d7d4cb 100644
---- a/gio/Makefile.am
-+++ b/gio/Makefile.am
-@@ -1,6 +1,6 @@
- include $(top_srcdir)/glib.mk
-
--SUBDIRS = gdbus-2.0/codegen
-+SUBDIRS =
-
- if OS_UNIX
- SUBDIRS += xdgmime
-diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
-index c4e7a9257..4b538b1e9 100644
---- a/gio/tests/Makefile.am
-+++ b/gio/tests/Makefile.am
-@@ -253,9 +253,7 @@ gdbus-daemon-impl.c: $(top_srcdir)/gio/gdbusdaemon.c
- # These files are only generated on Windows builds inside GIO,
- # but we want them on non-Windows builds for the tests
- gdbus-daemon-generated.h gdbus-daemon-generated.c: $(top_srcdir)/gio/dbus-daemon.xml $(GDBUS_PYTHON_DEPS)
-- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
-- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
-- $(PYTHON) $(top_srcdir)/gio/gdbus-2.0/codegen/gdbus-codegen.in \
-+ $(AM_V_GEN) gdbus-codegen \
- --interface-prefix org. \
- --generate-c-code gdbus-daemon-generated \
- --c-namespace _G \
-@@ -494,10 +492,8 @@ gnotification_SOURCES = $(gdbus_sessionbus_sources) gnotifica
-
- BUILT_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h gdbus-test-codegen-generated-interface-info.c gdbus-test-codegen-generated-interface-info.h
- gdbus-test-codegen.o: gdbus-test-codegen-generated.h gdbus-test-codegen-generated-interface-info.h
--gdbus-test-codegen-generated.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
-- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
-- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
-- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
-+gdbus-test-codegen-generated.h: test-codegen.xml Makefile
-+ $(AM_V_GEN) gdbus-codegen \
- --interface-prefix org.project. \
- --generate-c-code gdbus-test-codegen-generated \
- --c-generate-object-manager \
-@@ -516,10 +512,8 @@ gdbus-test-codegen-generated.h: test-codegen.xml Makefile $(top_builddir)/gio/gd
- $(NULL)
- gdbus-test-codegen-generated.c: gdbus-test-codegen-generated.h
- @: # Generated as side-effect of .h
--gdbus-test-codegen-generated-interface-info.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
-- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
-- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
-- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
-+gdbus-test-codegen-generated-interface-info.h: test-codegen.xml Makefile
-+ $(AM_V_GEN) gdbus-codegen \
- --interface-info-header \
- --annotate "org.project.Bar" Key1 Value1 \
- --annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
-@@ -532,10 +526,8 @@ gdbus-test-codegen-generated-interface-info.h: test-codegen.xml Makefile $(top_b
- --output $@ \
- $(srcdir)/test-codegen.xml \
- $(NULL)
--gdbus-test-codegen-generated-interface-info.c: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
-- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
-- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
-- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
-+gdbus-test-codegen-generated-interface-info.c: test-codegen.xml Makefile
-+ $(AM_V_GEN) gdbus-codegen \
- --interface-info-body \
- --annotate "org.project.Bar" Key1 Value1 \
- --annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
-diff --git a/gio/tests/gdbus-object-manager-example/Makefile.am b/gio/tests/gdbus-object-manager-example/Makefile.am
-index 1d0464c5c..0603d9b0a 100644
---- a/gio/tests/gdbus-object-manager-example/Makefile.am
-+++ b/gio/tests/gdbus-object-manager-example/Makefile.am
-@@ -11,10 +11,8 @@ GDBUS_GENERATED = \
- gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml \
- $(NULL)
-
--$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
-- $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
-- UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
-- $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
-+$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile
-+ $(AM_V_GEN) gdbus-codegen \
- --interface-prefix org.gtk.GDBus.Example.ObjectManager. \
- --c-namespace Example \
- --c-generate-object-manager \
---
-2.17.0
-
diff --git a/dev-libs/glib/files/glib-2.64.1-mark-gdbus-server-auth-test-flaky.patch b/dev-libs/glib/files/glib-2.64.1-mark-gdbus-server-auth-test-flaky.patch
new file mode 100644
index 000000000000..d1a41ecb793c
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.64.1-mark-gdbus-server-auth-test-flaky.patch
@@ -0,0 +1,32 @@
+From 95b22035f6151ab465c37fe5e3e340713cb74e23 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Tue, 24 Mar 2020 18:44:54 -0700
+Subject: [PATCH] Mark gdbus-server-auth test flaky
+
+See https://gitlab.gnome.org/GNOME/glib/-/issues/1954
+---
+ gio/tests/meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gio/tests/meson.build b/gio/tests/meson.build
+index 788cf978b..7f45d0191 100644
+--- a/gio/tests/meson.build
++++ b/gio/tests/meson.build
+@@ -122,12 +122,13 @@ if dbus1_dep.found()
+ },
+ 'gdbus-server-auth' : {
+ 'dependencies' : [dbus1_dep],
++ 'suite' : ['flaky'],
+ },
+ }
+ else
+ # We can build a cut-down version of this test without libdbus
+ gio_tests += {
+- 'gdbus-server-auth' : {},
++ 'gdbus-server-auth' : {'suite' : ['flaky']},
+ }
+ endif
+
+--
+2.24.1
+
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.58.3.ebuild b/dev-libs/glib/glib-2.58.3.ebuild
deleted file mode 100644
index c06063efcc31..000000000000
--- a/dev-libs/glib/glib-2.58.3.ebuild
+++ /dev/null
@@ -1,310 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-GNOME2_EAUTORECONF=yes
-
-inherit autotools bash-completion-r1 epunt-cxx flag-o-matic gnome2 libtool linux-info \
- multilib multilib-minimal pax-utils python-any-r1 toolchain-funcs virtualx
-
-# Until bug #537330 glib is a reverse dependency of pkgconfig and, then
-# adding new dependencies end up making stage3 to grow. Every addition needs
-# then to be think very closely.
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-SRC_URI="${SRC_URI}
- https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-IUSE="dbus debug fam gtk-doc kernel_linux +mime selinux static-libs systemtap test utils xattr"
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-
-# Added util-linux multilib dependency to have libmount support (which
-# is always turned on on linux systems, unless explicitly disabled, but
-# this ebuild does not do that anyway) (bug #599586)
-
-RDEPEND="
- !<dev-util/gdbus-codegen-${PV}
- >=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
- >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
- >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
- selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
- xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
- fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
- utils? (
- >=dev-util/gdbus-codegen-${PV}
- virtual/libelf:0=
- )
-"
-DEPEND="${RDEPEND}
- app-text/docbook-xml-dtd:4.1.2
- app-text/docbook-xsl-stylesheets
- >=dev-libs/libxslt-1.0
- >=sys-devel/gettext-0.11
- gtk-doc? ( >=dev-util/gtk-doc-1.20 )
- systemtap? ( >=dev-util/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? (
- sys-devel/gdb
- >=dev-util/gdbus-codegen-${PV}
- >=sys-apps/dbus-1.2.14 )
-"
-# configure.ac has gtk-doc-am stuff behind m4_ifdef, so we don't need a gtk-doc-am build dep
-
-# Migration of glib-genmarshal, glib-mkenums and gtester-report to a separate
-# python depending package, which can be buildtime depended in packages that
-# need these tools, without pulling in python at runtime.
-RDEPEND="${RDEPEND}
- >=dev-util/glib-utils-${PV}"
-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)
-)
-
-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() {
- # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
- mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
-
- if use test; then
- # 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/Makefile.am || die
- else
- # Don't build tests, also prevents extra deps, bug #512022
- sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
- fi
-
- # gdbus-codegen is a separate package
- eapply "${FILESDIR}"/${PN}-2.58.2-external-gdbus-codegen.patch
-
- # Tarball doesn't come with gtk-doc.make and we can't unconditionally depend on dev-util/gtk-doc due
- # to circular deps during bootstramp. If actually not building gtk-doc, an almost empty file will do
- # fine as well - this is also what upstream autogen.sh does if gtkdocize is not found. If gtk-doc is
- # installed, eautoreconf will call gtkdocize, which overwrites the empty gtk-doc.make with a full copy.
- cat > gtk-doc.make << EOF
-EXTRA_DIST =
-CLEANFILES =
-EOF
-
- gnome2_src_prepare
- epunt_cxx
-}
-
-multilib_src_configure() {
- # Avoid circular depend with dev-util/pkgconfig and
- # native builds (cross-compiles won't need pkg-config
- # in the target ROOT to work here)
- if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
- if has_version sys-apps/dbus; then
- export DBUS1_CFLAGS="-I/usr/include/dbus-1.0 -I/usr/$(get_libdir)/dbus-1.0/include"
- export DBUS1_LIBS="-ldbus-1"
- fi
- export LIBFFI_CFLAGS="-I$(echo /usr/$(get_libdir)/libffi-*/include)"
- export LIBFFI_LIBS="-lffi"
- export PCRE_CFLAGS=" " # test -n "$PCRE_CFLAGS" needs to pass
- export PCRE_LIBS="-lpcre"
- fi
-
- # These configure tests don't work when cross-compiling.
- if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- case ${CHOST} in
- hppa*|metag*) export glib_cv_stack_grows=yes ;;
- *) export glib_cv_stack_grows=no ;;
- esac
- # https://bugzilla.gnome.org/show_bug.cgi?id=756474
- export glib_cv_uscore=no
- # https://bugzilla.gnome.org/show_bug.cgi?id=756475
- export ac_cv_func_posix_get{pwuid,grgid}_r=yes
- fi
-
- local myconf
-
- case "${CHOST}" in
- *-mingw*) myconf="${myconf} --with-threads=win32" ;;
- *) myconf="${myconf} --with-threads=posix" ;;
- esac
-
- # libelf used only by the gresource bin
- ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
- $(usex debug --enable-debug=yes ' ') \
- $(use_enable xattr) \
- $(use_enable fam) \
- $(multilib_native_use_enable gtk-doc) \
- $(use_enable kernel_linux libmount) \
- $(use_enable selinux) \
- $(use_enable static-libs static) \
- $(use_enable systemtap dtrace) \
- $(use_enable systemtap systemtap) \
- $(multilib_native_use_enable utils libelf) \
- --with-python=${EPYTHON} \
- --disable-compile-warnings \
- --enable-man \
- --with-pcre=system \
- --with-xml-catalog="${EPREFIX}/etc/xml/catalog"
-
- if multilib_is_native_abi; then
- local d
- for d in glib gio gobject; do
- ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
- done
- fi
-}
-
-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"
-
- # Hardened: gdb needs this, bug #338891
- if host-is-pax ; then
- pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
- || die "Hardened adjustment failed"
- fi
-
- # Need X for dbus-launch session X11 initialization
- virtx emake check
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" completiondir="$(get_bashcompdir)" install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # 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 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
-
- # Do not install charset.alias even if generated, leave it to libiconv
- rm -f "${ED}/usr/$(get_libdir)/charset.alias"
-
- # Don't install gdb python macros, bug 291328
- rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
-
- # Completely useless with or without USE static-libs, people need to use pkg-config
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- gnome2_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() {
- # force (re)generation of gschemas.compiled
- GNOME2_ECLASS_GLIB_SCHEMAS="force"
-
- gnome2_pkg_postinst
-
- 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
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-
- 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..356bd10b8796
--- /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 20 --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..356bd10b8796
--- /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 20 --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..f3dbbeb1f18b
--- /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 20 --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.6.ebuild b/dev-libs/glib/glib-2.78.6.ebuild
new file mode 100644
index 000000000000..339ee604f85f
--- /dev/null
+++ b/dev-libs/glib/glib-2.78.6.ebuild
@@ -0,0 +1,320 @@
+# 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
+)
+
+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 20 --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 b88ccebb54c6..30120d5d64c7 100644
--- a/dev-libs/glib/metadata.xml
+++ b/dev-libs/glib/metadata.xml
@@ -1,31 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="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="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="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 9fba5407438d..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.3.tar.xz 2217320 BLAKE2B 29c8004636b27acd1dfd102d45bad39c09c677475c5e063e73b26ed242070b66ce1030d6ecfbf16d76d83ff403685bd62bcad832b94883fc5b3c770d9f800fa8 SHA512 abaf9059baf0c045d5b62757953ee2fa0779462eb32142bb41be40c376fc7ac2b3e4a56fd66177fbbe1dca35c6168a251542b14a844125c2cfcc9a99888179b4
+DIST gmime-3.2.14.tar.xz 2231340 BLAKE2B bbe147151349c626d92890783a3fccd4b1156b5a9fc305812447f28ec34d5d7694a702f99865ad5ef41737eb4e0d0c08d879e4525f58c272972531c51d436fd6 SHA512 d6127a8567f96784b3f975452cd43a4ef6c8921845feb11974f785576f7ef138f25d20d0f309022893ca445fffb000b4dc98bf65ff3a781ececd5c16b1f0e9c6
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-2.6.23.ebuild b/dev-libs/gmime/gmime-2.6.23.ebuild
deleted file mode 100644
index f3ba278aac5b..000000000000
--- a/dev-libs/gmime/gmime-2.6.23.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit mono-env gnome2 vala flag-o-matic
-
-DESCRIPTION="Utilities for creating and parsing messages using MIME"
-HOMEPAGE="http://spruce.sourceforge.net/gmime/ https://developer.gnome.org/gmime/stable/"
-
-SLOT="2.6"
-LICENSE="LGPL-2.1"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
-IUSE="doc mono smime static-libs test vala"
-
-RDEPEND="
- >=dev-libs/glib-2.32.0:2
- sys-libs/zlib
- mono? (
- dev-lang/mono
- >=dev-dotnet/gtk-sharp-2.12.21:2 )
- 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
-
-pkg_setup() {
- use mono && mono-env_pkg_setup
-}
-
-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 \
- $(use_enable mono) \
- $(use_enable smime) \
- $(use_enable static-libs static) \
- $(use_enable vala)
-}
-
-src_compile() {
- MONO_PATH="${S}" gnome2_src_compile
- if use doc; then
- emake -C docs/tutorial html
- fi
-}
-
-src_install() {
- GACUTIL_FLAGS="/root '${ED}/usr/$(get_libdir)' /gacdir '${EPREFIX}/usr/$(get_libdir)' /package ${PN}" \
- gnome2_src_install
-
- if use doc ; then
- docinto tutorial
- dodoc -r 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.3.ebuild b/dev-libs/gmime/gmime-3.2.3.ebuild
deleted file mode 100644
index b81300b696c9..000000000000
--- a/dev-libs/gmime/gmime-3.2.3.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2019 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="http://spruce.sourceforge.net/gmime/ https://developer.gnome.org/gmime/stable/"
-
-SLOT="3.0"
-LICENSE="LGPL-2.1+"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
-IUSE="crypt doc idn static-libs test vala"
-
-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 3faea473b958..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 71954ddbaf3d..9ad925e475bf 100644
--- a/dev-libs/gmp/Manifest
+++ b/dev-libs/gmp/Manifest
@@ -1,3 +1,2 @@
-DIST gmp-4.3.2.tar.bz2 1897483 BLAKE2B 0efecd60c7a585f94ec8cbee77541d409c8e3bdeabaca09f7971560fb0fd504ae8e405256913acbef1434146868885c98068ff59efec92c92fdb73b853cf9396 SHA512 2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf
-DIST gmp-6.1.2.tar.xz 1946336 BLAKE2B 2a864e80799471037a71c10d871f9782c37fe3a0a1734872e90f14a874ecd6551099d67b2ebd07f82a43b0522249a6b46e79952db11a278f87ca8013198f7604 SHA512 9f098281c0593b76ee174b722936952671fab1dae353ce3ed436a31fe2bc9d542eca752353f6645b7077c1f395ab4fdd355c58e08e2a801368f1375690eee2c6
-DIST gmp-man-6.1.2.pdf 825720 BLAKE2B b96340da5f534353b140b361fc1ff74757168024e8039d97a0ed1f14d874ff5fbc50abae2ff3505adc51d72e4acf2882ae6ca6405ae37b594f7b248e1ca05247 SHA512 85de10b2c03f7381881c3e95aa7fc53d8e018115028496ffbb5a79ab4967106c69ed7e97a5e434e6bb39752498aade8c2caa7cf77a8942b7ffd9150368a0d9c3
+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-4.1.4-noexecstack.patch b/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch
deleted file mode 100644
index 093bec1a5dca..000000000000
--- a/dev-libs/gmp/files/gmp-4.1.4-noexecstack.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-fixed executable stack
-
-http://bugs.gentoo.org/115038
-
---- gmp-4.1.4/configure
-+++ gmp-4.1.4/configure
-@@ -21689,6 +21689,13 @@
- fi
- echo "')" >> $gmp_configm4
- echo "define(\`__CONFIG_M4_INCLUDED__')" >> $gmp_configm4
-+# Gentoo hack
-+case $host_os in
-+ *linux*)
-+ echo '.section .note.GNU-stack,"",%progbits' >> $gmp_configm4
-+ echo '.previous' >> $gmp_configm4
-+ ;;
-+esac
-
- # Create Makefiles
- # FIXME: Upcoming version of autoconf/automake may not like broken lines.
diff --git a/dev-libs/gmp/files/gmp-4.2.1-s390.diff b/dev-libs/gmp/files/gmp-4.2.1-s390.diff
deleted file mode 100644
index 82dbb722eb14..000000000000
--- a/dev-libs/gmp/files/gmp-4.2.1-s390.diff
+++ /dev/null
@@ -1,68 +0,0 @@
-stolen from SuSE
-
---- configure.in
-+++ configure.in
-@@ -1050,6 +1050,9 @@
- ;;
-
-
-+ s390x-*-*)
-+ path="s390x" ;;
-+
- # IBM s/370 and similar
- [s3[6-9]0*-*-*])
- gcc_cflags="-O2 $fomit_frame_pointer"
---- configure
-+++ configure
-@@ -1050,6 +1050,9 @@
- ;;
-
-
-+ s390x-*-*)
-+ path="s390x" ;;
-+
- # IBM s/370 and similar
- s3[6-9]0*-*-*)
- gcc_cflags="-O2 $fomit_frame_pointer"
---- mpn/s390/gmp-mparam.h
-+++ mpn/s390/gmp-mparam.h
-@@ -20,7 +20,8 @@
- MA 02110-1301, USA. */
-
-
--/* BITS_PER_MP_LIMB etc generated by configure */
-+#define BITS_PER_MP_LIMB 32
-+#define BYTES_PER_MP_LIMB 4
-
-
- /* Generated by tuneup.c, 2001-12-03, gcc 2.95 */
---- mpn/s390x/gmp-mparam.h
-+++ mpn/s390x/gmp-mparam.h
-@@ -0,0 +1,27 @@
-+/* gmp-mparam.h -- Compiler/machine parameter header file.
-+
-+Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
-+
-+This file is part of the GNU MP Library.
-+
-+The GNU MP Library is free software; you can redistribute it and/or modify
-+it under the terms of the GNU Library General Public License as published by
-+the Free Software Foundation; either version 2 of the License, or (at your
-+option) any later version.
-+
-+The GNU MP 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 Library General Public
-+License for more details.
-+
-+You should have received a copy of the GNU Library General Public License
-+along with the GNU MP Library; see the file COPYING.LIB. If not, write to
-+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-+MA 02111-1307, USA. */
-+
-+#define BITS_PER_MP_LIMB 64
-+#define BYTES_PER_MP_LIMB 8
-+#define BITS_PER_LONGINT 64
-+#define BITS_PER_INT 32
-+#define BITS_PER_SHORTINT 16
-+#define BITS_PER_CHAR 8
diff --git a/dev-libs/gmp/files/gmp-6.2.1-no-zarch.patch b/dev-libs/gmp/files/gmp-6.2.1-no-zarch.patch
new file mode 100644
index 000000000000..6ba7c8aa561b
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-6.2.1-no-zarch.patch
@@ -0,0 +1,20 @@
+configure.ac decides whether udiv_w_sdiv.c fallback is needed
+based on $CHOST value (without $CFLAGS). longlong.h relies
+on compiler macros (relies on $CFLAGS implicitly).
+
+That leads to use of undefined macros. The workaround makes
+udiv_w_sdiv.c a no-on for -mzarch.
+
+https://bugs.gentoo.org/761310
+--- a/mpn/generic/udiv_w_sdiv.c
++++ b/mpn/generic/udiv_w_sdiv.c
+@@ -1,3 +1,4 @@
++#if !defined(__zarch__)
+ /* mpn_udiv_w_sdiv -- implement udiv_qrnnd on machines with only signed
+ division.
+
+@@ -139,3 +140,4 @@ mpn_udiv_w_sdiv (mp_limb_t *rp, mp_limb_t a1, mp_limb_t a0, mp_limb_t d)
+ *rp = r;
+ return q;
+ }
++#endif
diff --git a/dev-libs/gmp/gmp-4.3.2-r1.ebuild b/dev-libs/gmp/gmp-4.3.2-r1.ebuild
deleted file mode 100644
index 119a7b9dd487..000000000000
--- a/dev-libs/gmp/gmp-4.3.2-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# this ebuild is only for the libgmp.so.3 ABI SONAME
-
-EAPI="5"
-
-inherit eutils libtool toolchain-funcs multilib-minimal
-
-DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
-HOMEPAGE="https://gmplib.org/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-3"
-SLOT="3"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
-IUSE=""
-
-DEPEND="sys-devel/m4"
-RDEPEND=""
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
- epatch "${FILESDIR}"/${PN}-4.2.1-s390.diff
-
- # note: we cannot run autotools here as gcc depends on this package
- elibtoolize
-
- # 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
- #!/bin/sh
- exec env ABI="${GMPABI}" "$0.wrapped" "$@"
- EOF
- chmod a+rx configure
-}
-
-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
- ECONF_SOURCE="${S}" econf \
- --localstatedir=/var/state/gmp \
- --disable-mpfr \
- --disable-mpbsd \
- --disable-static \
- --disable-cxx
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install-libLTLIBRARIES
- rm "${D}"/usr/*/libgmp.{la,so} || die
-}
diff --git a/dev-libs/gmp/gmp-6.1.2-r1.ebuild b/dev-libs/gmp/gmp-6.1.2-r1.ebuild
deleted file mode 100644
index 090c6d82458f..000000000000
--- a/dev-libs/gmp/gmp-6.1.2-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic eutils libtool multilib-minimal
-
-MY_PV=${PV/_p*}
-MY_PV=${MY_PV/_/-}
-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-${MY_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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm doc cxx static-libs"
-
-DEPEND="sys-devel/m4
- app-arch/xz-utils"
-RDEPEND=""
-
-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
-)
-
-src_prepare() {
- default
-
- # note: we cannot run autotools here as gcc depends on this package
- elibtoolize
-
- # https://bugs.gentoo.org/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
-
- #367719
- if [[ ${CHOST} == *-mint* ]]; then
- filter-flags -O?
- fi
-
- tc-export CC
- ECONF_SOURCE="${S}" econf \
- --localstatedir="${EPREFIX}"/var/state/gmp \
- --enable-shared \
- $(use_enable asm assembly) \
- $(use_enable cxx) \
- $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- emake
-}
-
-multilib_src_test() {
- emake check
-}
-
-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"
- use static-libs \
- && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
- || rm -f "${la}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${ED}"/usr/share/doc/${PF}/
-}
diff --git a/dev-libs/gmp/gmp-6.1.2.ebuild b/dev-libs/gmp/gmp-6.1.2.ebuild
deleted file mode 100644
index f7a77a47e8ca..000000000000
--- a/dev-libs/gmp/gmp-6.1.2.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit flag-o-matic eutils libtool multilib-minimal
-
-MY_PV=${PV/_p*}
-MY_PV=${MY_PV/_/-}
-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-${MY_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 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm doc cxx static-libs"
-
-DEPEND="sys-devel/m4
- app-arch/xz-utils"
-RDEPEND=""
-
-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 )
-
-src_prepare() {
- [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
-
- # note: we cannot run autotools here as gcc depends on this package
- elibtoolize
-
- epatch "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
-
- # https://bugs.gentoo.org/536894
- if [[ ${CHOST} == *-darwin* ]] ; then
- epatch "${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}
- epatch_user
-}
-
-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
-
- #367719
- if [[ ${CHOST} == *-mint* ]]; then
- filter-flags -O?
- fi
-
- tc-export CC
- ECONF_SOURCE="${S}" econf \
- --localstatedir="${EPREFIX}"/var/state/gmp \
- --enable-shared \
- $(use_enable asm assembly) \
- $(use_enable cxx) \
- $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- emake
-}
-
-multilib_src_test() {
- emake check
-}
-
-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"
- use static-libs \
- && sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
- || rm -f "${la}"
-}
-
-multilib_src_install_all() {
- einstalldocs
- use doc && cp "${DISTDIR}"/gmp-man-${MY_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 5fa58802c03b..c85682bf90a4 100644
--- a/dev-libs/gmp/metadata.xml
+++ b/dev-libs/gmp/metadata.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="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>
-</use>
+ <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 1511b43e91f2..66669df08883 100644
--- a/dev-libs/gnulib/Manifest
+++ b/dev-libs/gnulib/Manifest
@@ -1,3 +1,2 @@
-DIST gnulib-3a0b7b74982f44c735f4cfc2dccf538c3c4ef9e2.tar.gz 6192393 BLAKE2B 6c7409242c0421dd260369e7ca0b1c27ee46eb34c332d349545a5020e31fd476127b770739dc2578b3aa23e3a569e7d1467f41055bf449799d78b6ec48943fe8 SHA512 9076d0476aef4a7425fb6db038c2a4657ae1a5619a0ddce07a68a97883924f07635edc59818b532564128fbe23b06b39c98b4c544d4fc670dfc4ebd34e2e52c5
-DIST gnulib-b451121ab45497e78cb6f612c8673a9705193391.tar.gz 6666079 BLAKE2B e7d3b9478697067b57ab198e044f3c854128d5fe390d30947829ce4f34c695a748668c33ae19690e9927fff6df3e194a3160cb4adb7cf47235c603241c66889a SHA512 f6e165cfc0a3999c778d9f43ffc90ff9b569a77ff1e54ff5c50b12b0eddf262c24da8cd2719548574e0397535bb0eb835eef603cc74769f7876ef9db101bebec
-DIST gnulib-f583f328bec489dd59b54ecc1cc640843ea261cf.tar.gz 6486622 BLAKE2B 725fcb598262d12c8b0f04d4341cc59c18a915ce34f5239c587121a7f297d2b86dd49f98f19900c49400166789f6eea22f6719c76a78c0b107ba2fc550568145 SHA512 303d8d5eafd210854b803e9add2575de314a28cfc530dae49d1f738d73fbaaf3e3c18267ecf0367b8e16b11a2e403454f37b586f0e7718297ca6cdac9984258b
+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-2016.12.21.08.39.01.ebuild b/dev-libs/gnulib/gnulib-2016.12.21.08.39.01.ebuild
deleted file mode 100644
index a008b1478d0b..000000000000
--- a/dev-libs/gnulib/gnulib-2016.12.21.08.39.01.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GIT_TAG="3a0b7b74982f44c735f4cfc2dccf538c3c4ef9e2"
-
-DESCRIPTION="Gnulib is a library of common routines intended to be shared at the source level"
-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="~ppc-aix ~x86-fbsd ~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-2017.12.19.15.53.47.ebuild b/dev-libs/gnulib/gnulib-2017.12.19.15.53.47.ebuild
deleted file mode 100644
index 3018a94c51d0..000000000000
--- a/dev-libs/gnulib/gnulib-2017.12.19.15.53.47.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-GIT_TAG="f583f328bec489dd59b54ecc1cc640843ea261cf"
-
-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="~ppc-aix ~x86-fbsd ~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-2019.03.17.09.24.57.ebuild b/dev-libs/gnulib/gnulib-2019.03.17.09.24.57.ebuild
deleted file mode 100644
index 131a859af492..000000000000
--- a/dev-libs/gnulib/gnulib-2019.03.17.09.24.57.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
-
-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="~ppc-aix ~x86-fbsd ~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/gnulib/metadata.xml b/dev-libs/gnulib/metadata.xml
index d33cce94b0d4..76983c31094e 100644
--- a/dev-libs/gnulib/metadata.xml
+++ b/dev-libs/gnulib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>prefix@gentoo.org</email>
diff --git a/dev-libs/go-fuse/Manifest b/dev-libs/go-fuse/Manifest
deleted file mode 100644
index 62131e278ed4..000000000000
--- a/dev-libs/go-fuse/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST go-fuse-0_p20140812.tar.gz 111389 BLAKE2B 13cc74fb8844b0486e593ab62e5564111d0a01361edfb3be4c8b0ae3bc298d0043ad80a33318a407236e74f0d9bcea2f87ba4681db4d34ad8818a32b8fa0e459 SHA512 d951094e290bc914b418c165106368d6b73634ffb177b770ce53baaca4cd6026967f11d602b3e687e59a49323c7af1af74913ec1a911093e4e32503025842cb3
-DIST go-fuse-0_p20150422.tar.gz 110741 BLAKE2B 4c01af2a86a97ea9d0309066bc032aa41847b74edc18bc91483fbc789e143f297c90c7fe89f7c376ec0f12859d337a271122884bab79b4e9a94f95bacb63e426 SHA512 a0c9fa666ab39632db258baa5bf6ba1546aa847beb0d4a4b812a96e66d8573e3c0a0600ad24e16e314fbd8082b36027a3e1bc2092667766f611b1321aaea70c5
diff --git a/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild b/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild
deleted file mode 100644
index b697e9c46d3b..000000000000
--- a/dev-libs/go-fuse/go-fuse-0_p20140812-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-GO_PN=github.com/hanwen/${PN}
-EGIT_COMMIT="8c85ded140ac1889372a0e22d8d21e3d10a303bd"
-
-HOMEPAGE="https://${GO_PN}"
-DESCRIPTION="FUSE bindings for Go"
-SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=">=dev-lang/go-1.3"
-RDEPEND=""
-
-RESTRICT="strip"
-
-S=${WORKDIR}
-
-src_unpack() {
- default_src_unpack
- mkdir -p src/${GO_PN%/*} || die
- mv ${PN}-${EGIT_COMMIT} src/${GO_PN} || die
-}
-
-src_prepare() {
- sed -e "s:\(go \${target}\)\(.*\)$:\\1 -x \\2:" \
- -e 's:^for target in "clean" "install" ; do$:for target in "install" ; do:' \
- -e '17,26d' \
- src/${GO_PN}/all.bash > src/${GO_PN}/all.bash.patched || die
-}
-
-src_compile() {
- # Create a filtered GOROOT tree out of symlinks,
- # excluding go-fuse, for bug #503324.
- cp -sR /usr/lib/go goroot || die
- rm -rf goroot/src/${GO_PN} || die
- rm -rf goroot/pkg/linux_${ARCH}/${GO_PN} || die
- CGO_CFLAGS="${CFLAGS}" GOROOT="${WORKDIR}/goroot" GOPATH="${WORKDIR}" \
- bash src/${GO_PN}/all.bash.patched || die
-}
-
-src_install() {
- insopts -m0644 -p # preserve timestamps for bug 551486
- insinto /usr/lib/go
- doins -r pkg
- insinto /usr/lib/go/src
- rm src/${GO_PN}/all.bash.patched || die
- egit_clean src/${GO_PN}
- doins -r src/*
-}
diff --git a/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild b/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild
deleted file mode 100644
index 894c8c631d8b..000000000000
--- a/dev-libs/go-fuse/go-fuse-0_p20150422.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-GO_PN=github.com/hanwen/${PN}
-EGIT_COMMIT="ffed29ec8b88f61c1b8954134cc48ef03bb26ce1"
-
-HOMEPAGE="https://${GO_PN}"
-DESCRIPTION="FUSE bindings for Go"
-SRC_URI="https://${GO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND=">=dev-lang/go-1.3"
-RDEPEND=""
-
-RESTRICT="strip"
-
-src_unpack() {
- default_src_unpack
- mkdir -p "${S}/src/${GO_PN%/*}" || die
- mv ${PN}-${EGIT_COMMIT} "${S}/src/${GO_PN}" || die
- egit_clean
-}
-
-call_go() {
- local d
- for d in fuse fuse/pathfs zipfs unionfs; do
- GOROOT="${GOROOT}" GOPATH="${S}" \
- go "${1}" -v -x -work ${GO_PN}/${d} || die
- done
-}
-
-src_compile() {
- # Create a filtered GOROOT tree out of symlinks,
- # excluding go-fuse, for bug #503324.
- GOROOT="${WORKDIR}/goroot"
- cp -sR /usr/lib/go "${GOROOT}" || die
- rm -rf "${GOROOT}/src/${GO_PN}" || die
- rm -rf "${GOROOT}/pkg/linux_${ARCH}/${GO_PN}" || die
- call_go build
-}
-
-src_install() {
- call_go install
- insopts -m0644 -p # preserve timestamps for bug 551486
- insinto /usr/lib/go
- doins -r pkg src
-}
diff --git a/dev-libs/go-fuse/go-fuse-9999.ebuild b/dev-libs/go-fuse/go-fuse-9999.ebuild
deleted file mode 100644
index 2627a21a5a42..000000000000
--- a/dev-libs/go-fuse/go-fuse-9999.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit git-r3
-
-DESCRIPTION="native bindings for the FUSE kernel module"
-HOMEPAGE="https://github.com/hanwen/go-fuse"
-EGIT_REPO_URI="https://github.com/hanwen/go-fuse.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE=""
-
-DEPEND=">=dev-lang/go-1.3"
-RDEPEND=""
-
-RESTRICT="strip"
-
-GO_PN="github.com/hanwen/${PN}"
-EGIT_CHECKOUT_DIR="${S}/src/${GO_PN}"
-
-export GOPATH="${S}"
-
-src_compile() {
- local d
-#no examples right now
-# example/hello example/loopback example/zipfs \
-# example/multizip example/unionfs example/memfs \
-# example/autounionfs ; \
-#or tests
-#fuse/test
- for d in fuse fuse/pathfs zipfs unionfs; do
- go build -v -x -work ${GO_PN}/${d} || die
- done
-}
-
-src_install() {
- local d
- for d in fuse fuse/pathfs zipfs unionfs; do
- go install -v -x -work ${GO_PN}/${d} || die
- done
-
- insinto /usr/lib/go/
- doins -r "${S}/pkg"
- insinto "/usr/lib/go/src/${GO_PN}/"
- #for this ebuild, to fix bug #503324 I have limited what is installed
- #another possible solution would have been using adddeny to the
- #hide installed filed during build
- egit_clean "${S}/src/${GO_PN}"
- doins -r "${S}/src/${GO_PN}/fuse"
- doins -r "${S}/src/${GO_PN}/splice"
-}
diff --git a/dev-libs/go-fuse/metadata.xml b/dev-libs/go-fuse/metadata.xml
deleted file mode 100644
index 90487b3d8399..000000000000
--- a/dev-libs/go-fuse/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zerochaos@gentoo.org</email>
- <name>Rick Farina</name>
- </maintainer>
- <upstream>
- <remote-id type="github">hanwen/go-fuse</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/go-usb/go-usb-9999.ebuild b/dev-libs/go-usb/go-usb-9999.ebuild
deleted file mode 100644
index e634c7ea3b82..000000000000
--- a/dev-libs/go-usb/go-usb-9999.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit git-r3 multilib
-
-DESCRIPTION="CGO bindings for libusb"
-HOMEPAGE="https://github.com/hanwen/usb"
-EGIT_REPO_URI="https://github.com/hanwen/usb.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE=""
-
-DEPEND=">=dev-lang/go-1.4"
-RDEPEND=""
-
-# Tests require a connected mtp device
-RESTRICT="test"
-
-GO_PN="/usr/lib/go/src/github.com/hanwen/usb"
-
-src_install() {
- insinto "${GO_PN}"
- doins *.go LICENSE || die "Install failed"
-}
-
-src_test() {
- go test -ldflags '-extldflags=-fno-PIC' ${GO_PN} || die
-}
diff --git a/dev-libs/go-usb/metadata.xml b/dev-libs/go-usb/metadata.xml
deleted file mode 100644
index ac4b8fcb74df..000000000000
--- a/dev-libs/go-usb/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zerochaos@gentoo.org</email>
- <name>Rick Farina</name>
- </maintainer>
- <upstream>
- <remote-id type="github">hanwen/usb</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/gobject-introspection-common/Manifest b/dev-libs/gobject-introspection-common/Manifest
index 14e60bd688bd..dcf0501a11b1 100644
--- a/dev-libs/gobject-introspection-common/Manifest
+++ b/dev-libs/gobject-introspection-common/Manifest
@@ -1,2 +1,2 @@
-DIST gobject-introspection-1.56.1.tar.xz 1397812 BLAKE2B 070597f3bd6e4e58d1ae1964cf6e8d7881daa68aeeddc5e9b64bc410fad6d435f2041171f4dfc2a6b477d39f2d7e9181b9917d1244fcb45b3a37491726381649 SHA512 2bfcd45b8c5ad68a3f6550c2f80a6804db0e1a72ffaf4fdd3cec3d8acc23e79ad14bb5bf612fe26fc896691839ab19ca8dd1c9994db14d730e56fa79df9d973d
-DIST gobject-introspection-1.58.3.tar.xz 1378068 BLAKE2B 3ae0328892da30aeefcfb8f6d343312d4967345cc202ef137f29690fbd7a35fa9310f87b134fbdfd4fd753b68b47203cd306689d9892eccf17e303d1e7bcccd4 SHA512 0811cd08e224975b3aa55ae89d648fc65f3105cae8a077a5671593d84743b1db28e9fbffe53fc86a2b3e82ea98c35f3daae033d3df07c7020cc3bf8b5d94f796
+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.56.1.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.56.1.ebuild
deleted file mode 100644
index b586888ca2a6..000000000000
--- a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.56.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND="!<${CATEGORY}/${PN/-common}-${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() {
- dodir /usr/share/aclocal
- insinto /usr/share/aclocal
- doins m4/introspection.m4
-
- dodir /usr/share/gobject-introspection-1.0
- insinto /usr/share/gobject-introspection-1.0
- doins Makefile.introspection
-}
diff --git a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.58.3.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.58.3.ebuild
deleted file mode 100644
index db31c21bfd7e..000000000000
--- a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.58.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND="!<${CATEGORY}/${PN/-common}-${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() {
- dodir /usr/share/aclocal
- insinto /usr/share/aclocal
- doins m4/introspection.m4
-
- dodir /usr/share/gobject-introspection-1.0
- 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 39980802b1da..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 14e60bd688bd..dcf0501a11b1 100644
--- a/dev-libs/gobject-introspection/Manifest
+++ b/dev-libs/gobject-introspection/Manifest
@@ -1,2 +1,2 @@
-DIST gobject-introspection-1.56.1.tar.xz 1397812 BLAKE2B 070597f3bd6e4e58d1ae1964cf6e8d7881daa68aeeddc5e9b64bc410fad6d435f2041171f4dfc2a6b477d39f2d7e9181b9917d1244fcb45b3a37491726381649 SHA512 2bfcd45b8c5ad68a3f6550c2f80a6804db0e1a72ffaf4fdd3cec3d8acc23e79ad14bb5bf612fe26fc896691839ab19ca8dd1c9994db14d730e56fa79df9d973d
-DIST gobject-introspection-1.58.3.tar.xz 1378068 BLAKE2B 3ae0328892da30aeefcfb8f6d343312d4967345cc202ef137f29690fbd7a35fa9310f87b134fbdfd4fd753b68b47203cd306689d9892eccf17e303d1e7bcccd4 SHA512 0811cd08e224975b3aa55ae89d648fc65f3105cae8a077a5671593d84743b1db28e9fbffe53fc86a2b3e82ea98c35f3daae033d3df07c7020cc3bf8b5d94f796
+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.56.1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.56.1.ebuild
deleted file mode 100644
index a1a2c4ebd051..000000000000
--- a/dev-libs/gobject-introspection/gobject-introspection-1.56.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-PYTHON_REQ_USE="xml"
-
-inherit gnome2 python-single-r1 toolchain-funcs
-
-DESCRIPTION="Introspection system for GObject-based libraries"
-HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
-
-LICENSE="LGPL-2+ GPL-2+"
-SLOT="0"
-IUSE="cairo doctool test"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- test? ( cairo )
-"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# virtual/pkgconfig needed at runtime, bug #505408
-# We force glib and g-i to be in sync by this way as explained in bug #518424
-RDEPEND="
- >=dev-libs/gobject-introspection-common-${PV}
- >=dev-libs/glib-2.56.1:2
- doctool? ( dev-python/mako[${PYTHON_USEDEP}] )
- virtual/libffi:=
- virtual/pkgconfig
- !<dev-lang/vala-0.20.0
- ${PYTHON_DEPS}
-"
-# Wants real bison, not virtual/yacc
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.19
- sys-devel/bison
- sys-devel/flex
- test? ( x11-libs/cairo[glib] )
-"
-# PDEPEND to avoid circular dependencies, bug #391213; but needed for tests, thus test DEPEND as well
-PDEPEND="cairo? ( x11-libs/cairo[glib] )"
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_configure() {
- if ! has_version "x11-libs/cairo[glib]"; then
- # Bug #391213: enable cairo-gobject support even if it's not installed
- # We only PDEPEND on cairo to avoid circular dependencies
- export CAIRO_LIBS="-lcairo -lcairo-gobject"
- export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo"
- fi
-
- # To prevent crosscompiling problems, bug #414105
- gnome2_src_configure \
- --disable-static \
- CC="$(tc-getCC)" \
- YACC="$(type -p yacc)" \
- $(use_with cairo) \
- $(use_enable doctool)
-}
-
-src_install() {
- gnome2_src_install
-
- # 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.58.3.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.58.3.ebuild
deleted file mode 100644
index 67e3dff2f105..000000000000
--- a/dev-libs/gobject-introspection/gobject-introspection-1.58.3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-PYTHON_REQ_USE="xml"
-
-inherit gnome2 python-single-r1 toolchain-funcs
-
-DESCRIPTION="Introspection system for GObject-based libraries"
-HOMEPAGE="https://wiki.gnome.org/Projects/GObjectIntrospection"
-
-LICENSE="LGPL-2+ GPL-2+"
-SLOT="0"
-IUSE="cairo doctool test"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- test? ( cairo )
-"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# virtual/pkgconfig needed at runtime, bug #505408
-# We force glib and g-i to be in sync by this way as explained in bug #518424
-RDEPEND="
- >=dev-libs/gobject-introspection-common-${PV}
- >=dev-libs/glib-2.58.0:2
- doctool? ( dev-python/mako[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}] )
- virtual/libffi:=
- virtual/pkgconfig
- !<dev-lang/vala-0.20.0
- ${PYTHON_DEPS}
-"
-# Wants real bison, not virtual/yacc
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.19
- sys-devel/bison
- sys-devel/flex
- test? ( x11-libs/cairo[glib] )
-" # autoreconf needs autoconf-archive
-# PDEPEND to avoid circular dependencies, bug #391213; but needed for tests, thus test DEPEND as well
-PDEPEND="cairo? ( x11-libs/cairo[glib] )"
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_configure() {
- if ! has_version "x11-libs/cairo[glib]"; then
- # Bug #391213: enable cairo-gobject support even if it's not installed
- # We only PDEPEND on cairo to avoid circular dependencies
- export CAIRO_LIBS="-lcairo -lcairo-gobject"
- export CAIRO_CFLAGS="-I${EPREFIX}/usr/include/cairo"
- fi
-
- # To prevent crosscompiling problems, bug #414105
- gnome2_src_configure \
- --disable-static \
- CC="$(tc-getCC)" \
- YACC="$(type -p yacc)" \
- $(use_with cairo) \
- $(use_enable doctool)
-}
-
-src_install() {
- gnome2_src_install
-
- # 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 ed75a827c8a9..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/gom/Manifest
index 4e42e95052de..c60d37e387af 100644
--- a/dev-libs/gom/Manifest
+++ b/dev-libs/gom/Manifest
@@ -1 +1 @@
-DIST gom-0.3.2.tar.xz 410300 BLAKE2B c0c79c1c3f8a28a0ee992fa4c316538eb87ec26c77def353e8b2038e32f30f9daed433c6d6f6c81069e05e46a980f7d944c955182d973d42f3bd84a341c5a34d SHA512 a7bfb263e5ff6f89768d8fcbdcc949d4ec9b82ecbb80952becd357a3d5781a60e52a327e865e39e46d542b2a2c5e5c861e5302d7ae3c3a2258d3c3f698263675
+DIST gom-0.4.tar.xz 102744 BLAKE2B 8116ac388a56e85effbb37c3d5ea5036f6de2f4ad7ee8fe119bd058e1ac3e293eab612a739cdba7467202bc9e258f7cd65b1f116e146577d3a103fc03afba37f SHA512 d847928ce09c53a3f64777c313cb843052e5e001873f29d3f7acf02772cadf0e4b133fb0137aa0463b4ff95dd54810bde87062d8e396ff4fc6d142ba59c8e9c8
diff --git a/dev-libs/gom/files/0.3.2-fix-pkgconfig.patch b/dev-libs/gom/files/0.3.2-fix-pkgconfig.patch
deleted file mode 100644
index 447c91421cc9..000000000000
--- a/dev-libs/gom/files/0.3.2-fix-pkgconfig.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 07c35149964c7258e52effa374d877a8f2f102e8 Mon Sep 17 00:00:00 2001
-From: Alexander Tsoy <alexander@tsoy.me>
-Date: Fri, 29 Jul 2016 03:18:03 +0300
-Subject: [PATCH] build: Replace hardcoded values in pkg-config file
-
-https://bugzilla.gnome.org/show_bug.cgi?id=769291
----
- data/gom-1.0.pc.in | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/data/gom-1.0.pc.in b/data/gom-1.0.pc.in
-index ce19de6..6edc841 100644
---- a/data/gom-1.0.pc.in
-+++ b/data/gom-1.0.pc.in
-@@ -1,11 +1,11 @@
- prefix=@prefix@
--exec_prefix=${prefix}
--libdir=${exec_prefix}/lib
--includedir=${exec_prefix}/include
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-
- Name: Gom
- Description: GObject Data Mapper
- Version: @VERSION@
--Libs: -L${libdir} -lgom-1.0
--Cflags: -I${includedir}/gom-1.0
-+Libs: -L${libdir} -lgom-@GOM_API_VERSION@
-+Cflags: -I${includedir}/gom-@GOM_API_VERSION@
- Requires: gobject-2.0
---
-2.17.0
-
diff --git a/dev-libs/gom/gom-0.3.2-r1.ebuild b/dev-libs/gom/gom-0.3.2-r1.ebuild
deleted file mode 100644
index 9f3a26b1dc48..000000000000
--- a/dev-libs/gom/gom-0.3.2-r1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-GCONF_DEBUG="yes"
-PYTHON_COMPAT=( python{3_5,3_6} )
-
-inherit epatch gnome2 python-r1
-
-DESCRIPTION="GObject to SQLite object mapper library"
-HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
-IUSE="+introspection python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} introspection )"
-
-RDEPEND="
- >=dev-db/sqlite-3.7:3
- >=dev-libs/glib-2.36:2
- introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
- python? (
- ${PYTHON_DEPS}
- >=dev-python/pygobject-3.16:3[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.14
- >=dev-util/intltool-0.40.0
- sys-devel/gettext
- virtual/pkgconfig
- x11-libs/gdk-pixbuf:2
-"
-# TODO: make gdk-pixbuf properly optional with USE=test
-
-pkg_setup() {
- use python && python_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PV}-fix-pkgconfig.patch
- gnome2_src_prepare
-
- use python && python_copy_sources
-}
-
-src_configure() {
- # glibtest is a relic from AM_PATH_GLIB macro
- local myconf=(
- --disable-static
- --disable-glibtest
- )
-
- gnome2_src_configure \
- ${myconf[@]} \
- --disable-python \
- $(use_enable introspection)
-
- if use python ; then
- python_foreach_impl run_in_build_dir \
- gnome2_src_configure \
- ${myconf[@]} \
- --enable-python
- fi
-}
-
-src_install() {
- gnome2_src_install
-
- if use python ; then
- docinto examples
- dodoc examples/*.py
-
- python_foreach_impl run_in_build_dir \
- emake DESTDIR="${D}" install-overridesPYTHON
- fi
-}
diff --git a/dev-libs/gom/gom-0.4.ebuild b/dev-libs/gom/gom-0.4.ebuild
new file mode 100644
index 000000000000..586b7eb92c0f
--- /dev/null
+++ b/dev-libs/gom/gom-0.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GCONF_DEBUG="yes"
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit gnome.org meson python-r1
+
+DESCRIPTION="GObject to SQLite object mapper library"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+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} )"
+
+RDEPEND="
+ >=dev-db/sqlite-3.7:3
+ >=dev-libs/glib-2.36:2
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+ python? ( ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.16:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ gtk-doc? ( dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3 )
+ virtual/pkgconfig
+ test? ( x11-libs/gdk-pixbuf:2 )
+"
+
+src_prepare() {
+ default
+ sed -i -e '/subdir.*python/d' bindings/meson.build || die
+ # drop test building and deps if not enabled
+ if ! use test; then
+ sed -i -e '/gdkpixbuf_dep/d' meson.build || die
+ sed -i -e '/subdir(.*tests.*)/d' meson.build || die
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use introspection enable-introspection)
+ $(meson_use gtk-doc enable-gtk-doc)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ docinto examples
+ dodoc examples/*.py
+
+ meson_src_install
+
+ if use python; then
+ python_foreach_impl python_domodule bindings/python/gi
+ fi
+}
diff --git a/dev-libs/gom/metadata.xml b/dev-libs/gom/metadata.xml
index 39980802b1da..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 9bbc3fae649a..76ae036375c7 100644
--- a/dev-libs/gost-engine/Manifest
+++ b/dev-libs/gost-engine/Manifest
@@ -1 +1,4 @@
-DIST gost-engine-1.1.0.3_p20181031.tar.gz 473151 BLAKE2B fb8dc737c3bda181de168d918744d6e036886753e70cfcd0516499dd5d9a1ba3af0d44d26fc50570318375a142adfec532327dc57fac5996266b12551631b5fd SHA512 9f0df3c48191aea75d3fee5b5886ba32451889bdbb97c5e540f14a57d8d41606d858769a70b51c0c2c958565b347c5a613004e7c3f81658281d6a3eecd030707
+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-r1.ebuild b/dev-libs/gost-engine/gost-engine-1.1.0.3_p20181031-r1.ebuild
deleted file mode 100644
index 9bcff53af420..000000000000
--- a/dev-libs/gost-engine/gost-engine-1.1.0.3_p20181031-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=6
-
-inherit cmake-utils
-
-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
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 1d7a11fbc17e..a66a0b40c861 100644
--- a/dev-libs/gost-engine/gost-engine-9999.ebuild
+++ b/dev-libs/gost-engine/gost-engine-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils
+inherit cmake
DESCRIPTION="A reference implementation of the Russian GOST crypto algorithms for OpenSSL"
HOMEPAGE="https://github.com/gost-engine/engine"
@@ -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,12 +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"
- SRC_URI="https://github.com/gost-engine/engine/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ 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/metadata.xml b/dev-libs/gost-engine/metadata.xml
index bf5591b8aef9..7cef6efdbc4f 100644
--- a/dev-libs/gost-engine/metadata.xml
+++ b/dev-libs/gost-engine/metadata.xml
@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
- <longdescription>
- A reference implementation of the Russian GOST crypto algorithms for OpenSSL.
- </longdescription>
<upstream>
<remote-id type="github">gost-engine/engine</remote-id>
</upstream>
diff --git a/dev-libs/granite/Manifest b/dev-libs/granite/Manifest
index e957f18e4c48..abee51b5481a 100644
--- a/dev-libs/granite/Manifest
+++ b/dev-libs/granite/Manifest
@@ -1 +1 @@
-DIST granite-0.5.0.tar.gz 365015 BLAKE2B 47b88d0b08a300fecc561161e1722cc1a544f58580d21244b6584f6aba7756afe6548dd663620fe9a09406fc0be2766b1d1093a21d262a5ab001992f309239ed SHA512 6042f40c1338768281ab3e6ad0bfdd8c5c69fc4951a069b0779a22b8999b35110ea8f09cf025dd88bafef7eca6cc0d076a608d55f01c078186e150908f8e4650
+DIST granite-6.2.0.tar.gz 462780 BLAKE2B bb0df3649eab212e36a20ebd365521fc4ad87d1d10e54155905585fdb39874525b3a59ec2b9a1fd19a427c9a67a94bc6e4df433560a6208370dd90d27125e24f SHA512 4d9c21a653505812c8d99508166b411d1931bd251bf51c4bff8e6a0d905b5efc60832f3e7fbf6f8d52b67b55edf299969865542db33a8276b90e05b3b4731a87
diff --git a/dev-libs/granite/granite-0.5.0.ebuild b/dev-libs/granite/granite-0.5.0.ebuild
deleted file mode 100644
index abb46af52627..000000000000
--- a/dev-libs/granite/granite-0.5.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-VALA_MIN_API_VERSION=0.32
-
-inherit gnome2-utils vala cmake-utils versionator
-
-DESCRIPTION="Elementary OS library that extends Gtk+"
-HOMEPAGE="https://github.com/elementary/granite"
-SRC_URI="https://github.com/elementary/${PN}/archive/$(get_version_component_range 1-2).tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="demo nls test"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/libgee:0.8[introspection]
- >=x11-libs/gtk+-3.14:3[introspection]"
-DEPEND="${RDEPEND}
- $(vala_depend)
- virtual/pkgconfig
- nls? ( sys-devel/gettext )"
-
-S="${WORKDIR}"/"${PN}"-"$(get_version_component_range 1-2)"
-
-src_prepare() {
-
- # Disable building of the demo application (if needed)
- use demo || cmake_comment_add_subdirectory demo
-
- # Disable generation of the translations (if needed)
- use nls || cmake_comment_add_subdirectory po
-
- cmake-utils_src_prepare
- vala_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DVALA_EXECUTABLE=${VALAC}
- )
-
- cmake-utils_src_configure
-}
-
-pkg_preinst() {
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- gnome2_icon_cache_update
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/dev-libs/granite/granite-6.2.0.ebuild b/dev-libs/granite/granite-6.2.0.ebuild
new file mode 100644
index 000000000000..ea04f52fa625
--- /dev/null
+++ b/dev-libs/granite/granite-6.2.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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/${PV}"
+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/metadata.xml b/dev-libs/granite/metadata.xml
index 6ae6a460b068..b44c37948b52 100644
--- a/dev-libs/granite/metadata.xml
+++ b/dev-libs/granite/metadata.xml
@@ -1,16 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
- <!--maintainer-needed-->
- <longdescription lang="en">
- Granite is a companion library for GTK+ and GLib. Among other things,
- it provides complex widgets and convenience functions designed for
- use in apps built for elementary OS.
- </longdescription>
- <use>
- <flag name="demo">Build the Granite demo application (to present all available UI features provided by the library)</flag>
- </use>
- <upstream>
- <remote-id type="github">elementary/granite</remote-id>
- </upstream>
+ <!-- maintainer-needed -->
+ <longdescription>
+ Granite is a companion library for GTK+ and GLib.
+ Among other things, it provides complex widgets and convenience
+ functions designed for use in apps built for elementary OS.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">elementary/granite</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/grantlee/Manifest b/dev-libs/grantlee/Manifest
index 78e73378a73c..6e84d3fdb86d 100644
--- a/dev-libs/grantlee/Manifest
+++ b/dev-libs/grantlee/Manifest
@@ -1 +1 @@
-DIST grantlee-5.1.0.tar.gz 1175380 BLAKE2B 6468c0131a334c3ac52b841a64171093a41605686e4ec2af1a60bbb829f652d388fb48e501a0c1f5eef54ff3253c10b0d6ebd5a4439ed2852f8746188011f9e4 SHA512 2b806a0770b9c6d02f207d5b4939ae8cae325de4fa01901320ffef5c8442ef0f1c10dd799966d0bf0d223e6541f93db8568aaf922ea1b334bcb2f85f6373a936
+DIST grantlee-5.3.0.tar.gz 1176075 BLAKE2B a3418250845b39c4766dd19a1f423f18ca7393f675d0045477b345e589d5649f1cc332f9c228e9e9317bdf356992e533cfabe62bcfb50c40ffa38be9b5009013 SHA512 8018c92e1001e039243b4a22a790907b53bff21e062c7e3ee63d1e2de4ce7bccc4a7580fc4ec2e61dc2f7131ac336d46f76e2f03a7314c1547b8744842c0a02a
diff --git a/dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch b/dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch
index a25f52b3c63d..b35dc46586e5 100644
--- a/dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch
+++ b/dev-libs/grantlee/files/grantlee-0.3.0-nonfatal-warnings.patch
@@ -1,6 +1,9 @@
-diff -ruN grantlee-0.3.0.orig/CMakeLists.txt grantlee-0.3.0/CMakeLists.txt
---- grantlee-0.3.0.orig/CMakeLists.txt 2012-11-01 21:14:18.000000000 +0100
-+++ grantlee-0.3.0/CMakeLists.txt 2013-03-09 12:25:56.498096399 +0100
+Do not make linker warnings fatal.
+
+Gentoo-bug: 430968
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
@@ -62,8 +62,8 @@
endif()
diff --git a/dev-libs/grantlee/files/grantlee-5.1.0-qt-5.13.patch b/dev-libs/grantlee/files/grantlee-5.1.0-qt-5.13.patch
deleted file mode 100644
index 67a92c1f869b..000000000000
--- a/dev-libs/grantlee/files/grantlee-5.1.0-qt-5.13.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0cee029ee03ab4906c6d19b57458b5036852b0f8 Mon Sep 17 00:00:00 2001
-From: Michael Pyne <mpyne@kde.org>
-Date: Tue, 18 Dec 2018 17:47:21 -0500
-Subject: [PATCH] Fix build with Qt 5.13 / GCC 8.2.
-
-At this point Grantlee doesn't build for me because QList is an
-incomplete type. I think the compiler is right to complain, so I fix by
-including the appropriate header.
-
-Fixes issue #47.
----
- templates/lib/lexer_p.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/templates/lib/lexer_p.h b/templates/lib/lexer_p.h
-index 275aeea..1ae451a 100644
---- a/templates/lib/lexer_p.h
-+++ b/templates/lib/lexer_p.h
-@@ -24,7 +24,7 @@
- #include "textprocessingmachine_p.h"
- #include "token.h"
-
--template <typename T> class QList;
-+#include <QList>
-
- namespace Grantlee
- {
diff --git a/dev-libs/grantlee/files/grantlee-5.1.0-slot.patch b/dev-libs/grantlee/files/grantlee-5.1.0-slot.patch
deleted file mode 100644
index 5b0d61d5c1eb..000000000000
--- a/dev-libs/grantlee/files/grantlee-5.1.0-slot.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Install headers to a custom location to permit slotting with Qt4 version.
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1324566..f98d5da 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -100,7 +100,7 @@ set (LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (eg. '6
- set( LIB_INSTALL_DIR lib${LIB_SUFFIX} )
- set( PLUGIN_INSTALL_DIR ${LIB_INSTALL_DIR}/grantlee/${Grantlee5_MAJOR_MINOR_VERSION_STRING} )
- set( BIN_INSTALL_DIR bin )
--set( INCLUDE_INSTALL_DIR include )
-+set( INCLUDE_INSTALL_DIR include/grantlee5 )
- set( DATA_INSTALL_DIR share/apps )
-
- # set up RPATH/install_name_dir
-diff --git a/templates/lib/CMakeLists.txt b/templates/lib/CMakeLists.txt
-index dad2ef8..434d163 100644
---- a/templates/lib/CMakeLists.txt
-+++ b/templates/lib/CMakeLists.txt
-@@ -107,6 +107,7 @@ if (Qt5Script_FOUND)
-
- target_sources(Grantlee_Templates PRIVATE ${scriptabletags_SRCS})
- target_include_directories(Grantlee_Templates PRIVATE ../scriptabletags)
-+ target_include_directories(Grantlee_Templates INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
- target_link_libraries(Grantlee_Templates
- LINK_PRIVATE Qt5::Script
- )
-diff --git a/textdocument/lib/CMakeLists.txt b/textdocument/lib/CMakeLists.txt
-index 557d262..d2dbaa1 100644
---- a/textdocument/lib/CMakeLists.txt
-+++ b/textdocument/lib/CMakeLists.txt
-@@ -42,6 +42,7 @@ if (CMAKE_GENERATOR MATCHES "Visual Studio")
- )
- endforeach()
- endif()
-+target_include_directories(Grantlee_TextDocument INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
-
- target_link_libraries(Grantlee_TextDocument
- LINK_PUBLIC Qt5::Gui
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.1.0.ebuild b/dev-libs/grantlee/grantlee-5.1.0.ebuild
deleted file mode 100644
index d8de4e45a9f6..000000000000
--- a/dev-libs/grantlee/grantlee-5.1.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-VIRTUALX_REQUIRED="test"
-inherit cmake-utils 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 x86"
-IUSE="debug doc test"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtscript:5
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen[dot] )
- test? ( dev-qt/qttest:5 )
-"
-
-# bug 682258
-RESTRICT="test"
-
-DOCS=( AUTHORS CHANGELOG README.md )
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.3.0-nonfatal-warnings.patch"
- "${FILESDIR}/${P}-slot.patch"
- "${FILESDIR}/${P}-qt-5.13.patch"
-)
-
-src_prepare() {
- cmake-utils_src_prepare
- sed -e '/testfilters/d' \
- -i templates/tests/CMakeLists.txt || die # bug 661900
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- use doc && cmake-utils_src_compile docs
-}
-
-src_test() {
- virtx cmake-utils_src_test
-}
-
-src_install() {
- use doc && HTML_DOCS=("${BUILD_DIR}/apidox/")
-
- cmake-utils_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/grantlee/metadata.xml b/dev-libs/grantlee/metadata.xml
index 060fd39bc3e2..11bde0988c06 100644
--- a/dev-libs/grantlee/metadata.xml
+++ b/dev-libs/grantlee/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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>
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.ebuild b/dev-libs/gtx/gtx-0.2.2.ebuild
deleted file mode 100644
index cee2d664b5c9..000000000000
--- a/dev-libs/gtx/gtx-0.2.2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=yes
-
-inherit autotools-utils
-
-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 doc static-libs"
-
-RDEPEND="dev-libs/glib:2"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-docdir.patch
- "${FILESDIR}"/${P}-debug.patch
- "${FILESDIR}"/${P}-glib.h.patch )
-
-src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- )
- autotools-utils_src_configure
-}
diff --git a/dev-libs/gtx/metadata.xml b/dev-libs/gtx/metadata.xml
deleted file mode 100644
index 81f29a75bedc..000000000000
--- a/dev-libs/gtx/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 3587bf94f754..5ec776128dff 100644
--- a/dev-libs/gumbo/gumbo-0.10.1.ebuild
+++ b/dev-libs/gumbo/gumbo-0.10.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
inherit autotools
@@ -11,34 +11,36 @@ SRC_URI="https://github.com/google/gumbo-parser/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~ppc-macos ~x64-macos ~x86-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 )"
-S="${WORKDIR}/gumbo-parser-${PV}"
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="doc? ( app-text/doxygen )"
-DEPEND="test? ( dev-cpp/gtest )
- doc? ( app-doc/doxygen )"
+S="${WORKDIR}/gumbo-parser-${PV}"
src_prepare() {
+ default
eautoreconf
}
+src_configure() {
+ econf --disable-static
+}
+
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/*
- if use doc; then
- dohtml -r docs/html/.
- for page in docs/man/man3/* ; do
- doman ${page}
- done
- fi
+ find "${ED}" -name '*.la' -delete || die
}
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 41768660a942..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/half/Manifest
new file mode 100644
index 000000000000..9ef15247c41f
--- /dev/null
+++ b/dev-libs/half/Manifest
@@ -0,0 +1 @@
+DIST half-1.12.0.tar.gz 108704 BLAKE2B f0084f380b10485b30da3ff38c5e3098044cc21fe00b084b2b9dd69b9a5c06b2ddedae1cefa61197d74a14552da2e5648db3e3108044b5fc5f7975fa1e10c6d4 SHA512 152f9c08a4493662aed96ddce5d45ece94836727766a66060640f8f1f43ee6ecdb174e7e17421ba83f2a01ba836bb1cba9fe60d83aea517f4772b9038173274b
diff --git a/dev-libs/half/half-1.12.0.ebuild b/dev-libs/half/half-1.12.0.ebuild
new file mode 100644
index 000000000000..ac2051bdc10b
--- /dev/null
+++ b/dev-libs/half/half-1.12.0.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Half-precision floating-point library"
+HOMEPAGE="http://half.sourceforge.net/"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/half/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1)"
+
+src_install() {
+ cd include || die
+ doheader half.hpp
+}
diff --git a/dev-libs/half/metadata.xml b/dev-libs/half/metadata.xml
new file mode 100644
index 000000000000..b71bc2af0234
--- /dev/null
+++ b/dev-libs/half/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>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>gentoo@holzke.net</email>
+ <name>Wilfried Holzke</name>
+ </maintainer>
+ <maintainer type="person">
+ <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/hashit/Manifest b/dev-libs/hashit/Manifest
deleted file mode 100644
index f1b54bb6db39..000000000000
--- a/dev-libs/hashit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hashit-0.9.8.tar.bz2 18127 BLAKE2B 63a36e644dced8dfbf0bb049adc811ac526c519c4fe85f47ae631eba8d989b06325199fafa43abd0e98d014c7adc90c97bde75fbaacd5a215384a9e6e2f6b505 SHA512 b6a85cb8a7c97d2214fe91409006973de1b452dc7f5b412ad870a5a8d2b937957947ca47c314fd4d05b2683b20a9b8eb4241e0cbbc57e3b68b5cdfa024b80dce
diff --git a/dev-libs/hashit/hashit-0.9.8.ebuild b/dev-libs/hashit/hashit-0.9.8.ebuild
deleted file mode 100644
index f6272eea360f..000000000000
--- a/dev-libs/hashit/hashit-0.9.8.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Generic C hash library which supports multiple collision handling methods"
-HOMEPAGE="http://www.pleyades.net/david/projects/hashit"
-SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-IUSE="debug"
diff --git a/dev-libs/hashit/metadata.xml b/dev-libs/hashit/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/hashit/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</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 df86bf7b54d4..3bece08534c5 100644
--- a/dev-libs/hidapi/Manifest
+++ b/dev-libs/hidapi/Manifest
@@ -1 +1,2 @@
-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/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.ebuild b/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719.ebuild
deleted file mode 100644
index 7ff87779c0e7..000000000000
--- a/dev-libs/hidapi/hidapi-0.8.0_rc1_p20140719.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=yes
-
-inherit eutils versionator autotools-multilib #git-2
-
-# If github is desired, the following may be used.
-#EGIT_REPO_URI="https://github.com/signal11/hidapi.git"
-#EGIT_BRANCH="master"
-EGIT_COMMIT="d17db57b9d4354752e0af42f5f33007a42ef2906"
-
-# S is only needed for the debian_package
-S=${WORKDIR}/${PN}-${DEBIAN_PV}
-
-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="mirror://github/signal11/${PN}/${P}.zip"
-
-LICENSE="|| ( BSD GPL-3 HIDAPI )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-IUSE="doc fox static-libs"
-
-RDEPEND="virtual/libusb:1[${MULTILIB_USEDEP}]
- virtual/libudev:0[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
- fox? ( x11-libs/fox )"
-
-S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
-
-src_prepare() {
- 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
-
- autotools-multilib_src_prepare
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(multilib_native_use_enable fox testgui)
- )
-
- autotools-utils_src_configure
-}
-
-src_compile() {
- autotools-multilib_src_compile
-
- if use doc; then
- doxygen doxygen/Doxyfile || die
- fi
-}
-
-src_install() {
- autotools-multilib_src_install
-
- if use doc; then
- dohtml -r html/.
- fi
-}
diff --git a/dev-libs/hidapi/metadata.xml b/dev-libs/hidapi/metadata.xml
index d5b410c9655d..2493acc7ce5b 100644
--- a/dev-libs/hidapi/metadata.xml
+++ b/dev-libs/hidapi/metadata.xml
@@ -1,22 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
- </maintainer>
- <maintainer type="person">
- <email>luke-jr+gentoobugs@utopios.org</email>
- <name>Luke Dashjr</name>
- </maintainer>
- <maintainer type="project">
- <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/hiredict/Manifest b/dev-libs/hiredict/Manifest
new file mode 100644
index 000000000000..2f0539354c7c
--- /dev/null
+++ b/dev-libs/hiredict/Manifest
@@ -0,0 +1 @@
+DIST hiredict-1.3.1.tar.gz 118800 BLAKE2B 8d051ff9aa0f3f50acca96fa85c40369665769f4ddc2d5275eb19a279196a5ec571f6099f32b820447cdf89c95f88a0350ca70ed58acedfce82bd4d3cd41ded4 SHA512 208672d4dbdcc8bf21cff494ea2191b97b9d67b2c4b5a4f94e2c165613315b28b09e9e03de0495a069320df671e3f9d22a43209f175c2aae71550b0d832c0112
diff --git a/dev-libs/hiredict/files/hiredict-1.3.1-disable-network-tests.patch b/dev-libs/hiredict/files/hiredict-1.3.1-disable-network-tests.patch
new file mode 100644
index 000000000000..94562b57e3ad
--- /dev/null
+++ b/dev-libs/hiredict/files/hiredict-1.3.1-disable-network-tests.patch
@@ -0,0 +1,16 @@
+diff --git a/test.c b/test.c
+index 48d53e9..91bc794 100644
+--- a/test.c
++++ b/test.c
+@@ -2459,9 +2467,11 @@ int main(int argc, char **argv) {
+ }
+ #endif /* HIREDICT_TEST_ASYNC */
+
++#if 0
+ cfg.type = CONN_TCP;
+ printf("\nTesting asynchronous API using polling_adapter TCP (%s:%d):\n", cfg.tcp.host, cfg.tcp.port);
+ test_async_polling(cfg);
++#endif
+ if (test_unix_socket) {
+ cfg.type = CONN_UNIX;
+ printf("\nTesting asynchronous API using polling_adapter UNIX (%s):\n", cfg.unix_sock.path);
diff --git a/dev-libs/hiredict/hiredict-1.3.1.ebuild b/dev-libs/hiredict/hiredict-1.3.1.ebuild
new file mode 100644
index 000000000000..bd7927c958a2
--- /dev/null
+++ b/dev-libs/hiredict/hiredict-1.3.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 toolchain-funcs
+
+DESCRIPTION="Minimalistic C client library for the Redict database"
+HOMEPAGE="https://codeberg.org/redict/hiredict"
+SRC_URI="https://codeberg.org/redict/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+S=${WORKDIR}/${PN}
+
+LICENSE="BSD LGPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="shim ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ssl? ( dev-libs/openssl:= )
+ shim? ( !dev-libs/hiredis )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ dev-db/redict
+ dev-libs/libevent
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.1-disable-network-tests.patch
+)
+
+_build() {
+ tc-export AR CC
+ local myconf=(
+ AR="${AR}"
+ CC="${CC}"
+ CFLAGS="${CFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ DESTDIR="${ED}"
+ PREFIX="/usr"
+ LIBRARY_PATH="$(get_libdir)"
+ USE_SSL=$(usex ssl 1 0)
+ TEST_ASYNC=$(usex test 1 0)
+ DEBUG_FLAGS=
+ OPTIMIZATION=
+ USE_WERROR=0
+ )
+ emake "${myconf[@]}" "$@"
+}
+
+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 hiredict{,_ssl}.pc
+}
+
+src_test() {
+ # Compare with https://codeberg.org/redict/hiredict/src/tag/1.3.1/Makefile#L37
+ local REDICT_PID="${T}"/hiredict.pid
+ local REDICT_SOCK="${T}"/hiredict.sock
+ local REDICT_PORT=56379
+ local REDICT_TEST_CONFIG="
+ daemonize yes
+ pidfile ${REDICT_PID}
+ port ${REDICT_PORT}
+ bind 127.0.0.1
+ unixsocket //${REDICT_SOCK}
+ "
+
+ _build hiredict-test
+
+ "${EPREFIX}"/usr/bin/redict-server - <<< "${REDICT_TEST_CONFIG}" || die
+ ./hiredict-test -h 127.0.0.1 -p ${REDICT_PORT} -s ${REDICT_SOCK}
+ local ret=$?
+
+ kill "$(<"${REDICT_PID}")" || die
+ [[ ${ret} != "0" ]] && die "tests failed"
+}
+
+src_install() {
+ _build install
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ if ! use shim; then
+ find "${ED}" -type d -name 'hiredis' -exec rm -r {} + || die
+ find "${ED}" -name 'hiredis*.pc' -delete || die
+ fi
+}
diff --git a/dev-libs/hiredict/metadata.xml b/dev-libs/hiredict/metadata.xml
new file mode 100644
index 000000000000..8184c9d384cc
--- /dev/null
+++ b/dev-libs/hiredict/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>navi@vlhl.dev</email>
+ <name>Anna (navi) Figueiredo Gomes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <slots>
+ <subslots>Reflect ABI of libhiredict.so.</subslots>
+ </slots>
+ <upstream>
+ <remote-id type="codeberg">redict/hiredict</remote-id>
+ </upstream>
+ <use>
+ <flag name="shim">
+ Install header shims for the hiredis api.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/hiredis/Manifest b/dev-libs/hiredis/Manifest
index f34a3040d703..54d9108948d7 100644
--- a/dev-libs/hiredis/Manifest
+++ b/dev-libs/hiredis/Manifest
@@ -1,2 +1,3 @@
-DIST hiredis-0.13.3.tar.gz 58291 BLAKE2B 2af5853475a48b1f05c17100197633af61663a23a1259c702545938367b6a5b9fc09b886e12f57d27f23db3f5c636bb42d7e58887cc1481b7016cea405345ddb SHA512 0d8b71d5ee4105e8aaeeee308795afc2c1f60a04b0bfe8ae873d800a0c157882ec307efa04a8d0e63b538fd3fc3f88eedf4d46cb87c8937e2403927aeb7e434c
-DIST hiredis-0.14.0.tar.gz 63061 BLAKE2B 1923a63317f5f4a5bcbc9f8fd35e11fda15c30bb766d377f3be1eaf961cf34339e16b9b7c468b5bf07e513db4913c564e49eb29a2684b945db6c914b07d01905 SHA512 57a81a35b4750f0ca9dba830789483667f8ca1559f13b0ebdc3fab3e34ad16b2809f9734cf88157041263784e11447556b7a748bfb7ef318a60bb5dda3e358a0
+DIST hiredis-1.0.2.tar.gz 98139 BLAKE2B 86d872cfec3d4e925d5d68e4f4faf1301aa6d706bd0406a8080471e14afc2c25db13b9a0937d29baccd457611af8e46922b5379183c7470c9ae1860aac3af096 SHA512 86497a1c21869bbe535378885eee6dbd594ef96325966511a3513f81e501af0f5ac7fed864f3230372f3ac7a23c05bad477fa5aa90b9747c9fb1408028174f9b
+DIST hiredis-1.1.0.tar.gz 122002 BLAKE2B 74c23816e59ea241c68640f99970ae68536a1cd605ac1a7146bf52e355f5f74b3d39fb81be02741cf776c06b47b9d5acc7ec66bfdcf802dec3ed68fb28a82b1b SHA512 9dad012c144ed24de6aa413a3a10d19a9d0d9ece18dbc388406cd86c5b98cb66c76c586cb559c601ed13a75051d8921dc2882534cc3605513fde47d57276c3bb
+DIST hiredis-1.2.0.tar.gz 126216 BLAKE2B 3f0b74205fb4ceb42fb4c1700a9bf95cf2ad2d9880ee1f2da9cbed6096cde5e918b01465ce9d6ec1b29b5934cfa6ab41000ed344a9983cebe6bd1bf64ac0ede1 SHA512 f8984abb29c09e7e6b56e656616c5155f36c53da4161a2d4c85688486411cadcdf20aa1adb9bda208c500b401c750871be1c8d58ba9df5328634d00e9d1b6589
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-1.0.0-disable-network-tests.patch b/dev-libs/hiredis/files/hiredis-1.0.0-disable-network-tests.patch
new file mode 100644
index 000000000000..c8a5822c8ef0
--- /dev/null
+++ b/dev-libs/hiredis/files/hiredis-1.0.0-disable-network-tests.patch
@@ -0,0 +1,53 @@
+diff --git a/test.c b/test.c
+index c0eeca7..5d70471 100644
+--- a/test.c
++++ b/test.c
+@@ -641,6 +641,7 @@ static void test_blocking_connection_errors(void) {
+ struct addrinfo *ai_tmp = NULL;
+
+ int rv = getaddrinfo(HIREDIS_BAD_DOMAIN, "6379", &hints, &ai_tmp);
++ #if 0
+ if (rv != 0) {
+ // Address does *not* exist
+ test("Returns error when host cannot be resolved: ");
+@@ -662,6 +663,7 @@ static void test_blocking_connection_errors(void) {
+ printf("Skipping NXDOMAIN test. Found evil ISP!\n");
+ freeaddrinfo(ai_tmp);
+ }
++ #endif
+
+ #ifndef _WIN32
+ test("Returns error when the port is not open: ");
+@@ -670,10 +672,12 @@ static void test_blocking_connection_errors(void) {
+ strcmp(c->errstr,"Connection refused") == 0);
+ redisFree(c);
+
++ #if 0
+ test("Returns error when the unix_sock socket path doesn't accept connections: ");
+ c = redisConnectUnix((char*)"/tmp/idontexist.sock");
+ test_cond(c->err == REDIS_ERR_IO); /* Don't care about the message... */
+ redisFree(c);
++ #endif
+ #endif
+ }
+
+diff --git a/test.c b/test.c
+index 1e8fce1..91625ca 100644
+--- a/test.c
++++ b/test.c
+@@ -1324,6 +1324,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);
+@@ -1332,6 +1333,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): ", cfg.unix_sock.path);
+ if (test_unix_socket) {
diff --git a/dev-libs/hiredis/files/hiredis-1.1.0-disable-network-tests.patch b/dev-libs/hiredis/files/hiredis-1.1.0-disable-network-tests.patch
new file mode 100644
index 000000000000..0bfc281757f8
--- /dev/null
+++ b/dev-libs/hiredis/files/hiredis-1.1.0-disable-network-tests.patch
@@ -0,0 +1,19 @@
+Gentoo specific patch which disables test requiring non-localhost IP
+address.
+
+diff --git a/test.c b/test.c
+index c1065ff..ca21c30 100644
+--- a/test.c
++++ b/test.c
+@@ -2151,7 +2151,7 @@ static void test_async_polling(struct config config) {
+ assert(astest.ac == NULL);
+ test_cond(astest.disconnect_status == REDIS_OK);
+
+- if (config.type == CONN_TCP || config.type == CONN_SSL) {
++ if (0) { /* disabled because of blackhole ip */
+ /* timeout can only be simulated with network */
+ test("Async connect timeout: ");
+ config.tcp.host = "192.168.254.254"; /* blackhole ip */
+--
+2.43.2
+
diff --git a/dev-libs/hiredis/files/hiredis-1.2.0-conditional-werror.patch b/dev-libs/hiredis/files/hiredis-1.2.0-conditional-werror.patch
new file mode 100644
index 000000000000..2ab7cf86e089
--- /dev/null
+++ b/dev-libs/hiredis/files/hiredis-1.2.0-conditional-werror.patch
@@ -0,0 +1,24 @@
+From bff171c9fc83f8abed9a283a3da2dc91a5671419 Mon Sep 17 00:00:00 2001
+From: Romain Geissler <romain.geissler@amadeus.com>
+Date: Thu, 13 Jul 2023 12:39:45 +0000
+Subject: [PATCH] Allow disabling the -Werror flag.
+
+Upstream-commit: https://github.com/redis/hiredis/commit/bff171c9fc83f8abed9a283a3da2dc91a5671419
+
+diff --git a/Makefile b/Makefile
+index bd2106b1d..56e3d59be 100644
+--- a/Makefile
++++ b/Makefile
+@@ -39,7 +39,11 @@ export REDIS_TEST_CONFIG
+ CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
+ CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
+ OPTIMIZATION?=-O3
+-WARNINGS=-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
++WARNINGS=-Wall -Wextra -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
++USE_WERROR?=1
++ifeq ($(USE_WERROR),1)
++ WARNINGS+=-Werror
++endif
+ DEBUG_FLAGS?= -g -ggdb
+ REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CPPFLAGS) $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(PLATFORM_FLAGS)
+ REAL_LDFLAGS=$(LDFLAGS)
diff --git a/dev-libs/hiredis/hiredis-0.13.3.ebuild b/dev-libs/hiredis/hiredis-0.13.3.ebuild
deleted file mode 100644
index f9c5caf202ac..000000000000
--- a/dev-libs/hiredis/hiredis-0.13.3.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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.13"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ppc ppc64 s390 sparc x86 ~x86-fbsd ~x64-solaris"
-IUSE="examples static-libs test"
-
-DEPEND="test? ( dev-db/redis )"
-
-src_prepare() {
- local PATCHES=( "${FILESDIR}/${PN}-0.13.3-disable-network-tests.patch" )
- 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)" \
- ARCH= \
- DEBUG= \
- OPTIMIZATION="${CPPFLAGS}" \
- "$@"
-}
-
-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
-
- /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
- rm "${ED%/}/usr/$(get_libdir)/libhiredis.a" || 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-0.14.0.ebuild b/dev-libs/hiredis/hiredis-0.14.0.ebuild
deleted file mode 100644
index ab120cee20da..000000000000
--- a/dev-libs/hiredis/hiredis-0.14.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2018 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 ~x86-fbsd ~x64-solaris"
-IUSE="examples static-libs test"
-
-DEPEND="test? ( dev-db/redis )"
-
-src_prepare() {
- local PATCHES=( "${FILESDIR}/${PN}-0.13.3-disable-network-tests.patch" )
- 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)" \
- ARCH= \
- DEBUG= \
- OPTIMIZATION="${CPPFLAGS}" \
- "$@"
-}
-
-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
-
- /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
- rm "${ED%/}/usr/$(get_libdir)/libhiredis.a" || 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..178cf593343d
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 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_PORT} -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..3359fd46452f
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 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.1.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_PORT} -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.2.0.ebuild b/dev-libs/hiredis/hiredis-1.2.0.ebuild
new file mode 100644
index 000000000000..10071f0716a4
--- /dev/null
+++ b/dev-libs/hiredis/hiredis-1.2.0.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 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.1.0-disable-network-tests.patch
+ "${FILESDIR}"/${PN}-1.2.0-conditional-werror.patch # bug 930336
+)
+
+_build() {
+ local myconf=(
+ 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=
+ USE_WERROR=0
+ )
+ emake "${myconf[@]}" "$@"
+}
+
+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_PORT} -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/metadata.xml b/dev-libs/hiredis/metadata.xml
index babc01fd3f4a..2d34d4aec8d5 100644
--- a/dev-libs/hiredis/metadata.xml
+++ b/dev-libs/hiredis/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
<slots>
<subslots>Reflect ABI of libhiredis.so.</subslots>
</slots>
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 cf26377ad274..000000000000
--- a/dev-libs/http-fetcher/http-fetcher-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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 \
- $(use_enable debug)
-}
-
-src_install() {
- default
- dodoc -r docs/html/*.html docs/index.html README ChangeLog CREDITS INSTALL
-}
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..f8a27b05eb80
--- /dev/null
+++ b/dev-libs/http-fetcher/http-fetcher-1.1.0-r2.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
+
+MY_P="${P/-/_}"
+
+DESCRIPTION="Library for downloading files via HTTP using the GET method"
+HOMEPAGE="http://http-fetcher.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/${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 a4818674ffd6..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/hyperleveldb/Manifest b/dev-libs/hyperleveldb/Manifest
deleted file mode 100644
index 959e39fc4b87..000000000000
--- a/dev-libs/hyperleveldb/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hyperleveldb-1.2.2.tar.gz 584955 BLAKE2B de578b83ae3ea4e3802bee9936d5917af421baf2513da9e4575b8965a8bcc53565fd56105eea70a0c0c62ddefc3c5c11bb3511b52c6c09e68c5a416d6aa06ac0 SHA512 6fb7a84ec237a5a1a3f5f7c90965a0b0661a6143722a159a189c4c54231d8c5746dcbb76713fbe9b8b2529467f287365d30dd7115fb5c1ef54f864686a709eb2
diff --git a/dev-libs/hyperleveldb/files/snappy.patch b/dev-libs/hyperleveldb/files/snappy.patch
deleted file mode 100644
index f926e3f6a38c..000000000000
--- a/dev-libs/hyperleveldb/files/snappy.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- Makefile.am 2014-07-29 14:44:37.851568232 +0800
-+++ Makefile.am.new 2014-07-29 14:44:54.687855718 +0800
-@@ -196,7 +196,7 @@
- TESTS = $(check_PROGRAMS)
-
- benchmark_SOURCES = benchmark.cc
--benchmark_LDADD = libhyperleveldb.la -lpthread -le -lpopt -lygor
-+benchmark_LDADD = libhyperleveldb.la -lpthread -le -lpopt -lygor -lsnappy
- benchmark_LDFLAGS = -no-install
-
- db_bench_SOURCES = db/db_bench.cc $(TESTUTIL)
-
-@@ -200,7 +200,7 @@
- benchmark_LDFLAGS = -no-install
-
- db_bench_SOURCES = db/db_bench.cc $(TESTUTIL)
--db_bench_LDADD = libhyperleveldb.la -lpthread
-+db_bench_LDADD = libhyperleveldb.la -lpthread -lsnappy
-
- db_bench_sqlite3_SOURCES = doc/bench/db_bench_sqlite3.cc $(TESTUTIL)
- db_bench_sqlite3_LDADD = -lsqlite3
-@@ -215,7 +215,7 @@
- leveldb_dump_all_LDADD = libhyperleveldb.la -lpthread
-
- leveldb_verify_SOURCES = leveldb-verify.cc
--leveldb_verify_LDADD = libhyperleveldb.la -lpthread
-+leveldb_verify_LDADD = libhyperleveldb.la -lpthread -lsnappy
-
- autocompact_test_SOURCES = db/autocompact_test.cc $(TESTHARNESS)
- autocompact_test_LDADD = libhyperleveldb.la -lpthread
-
diff --git a/dev-libs/hyperleveldb/hyperleveldb-1.2.2-r1.ebuild b/dev-libs/hyperleveldb/hyperleveldb-1.2.2-r1.ebuild
deleted file mode 100644
index b9f1cd0e7a48..000000000000
--- a/dev-libs/hyperleveldb/hyperleveldb-1.2.2-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-WANT_AUTOMAKE="1.11"
-
-inherit eutils autotools
-
-DESCRIPTION="Hyperdex fork/extension of leveldb"
-HOMEPAGE="http://hyperdex.org/"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- dev-libs/leveldb:=[snappy]
- "
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}/snappy.patch"
- eautoreconf
-}
diff --git a/dev-libs/hyperleveldb/metadata.xml b/dev-libs/hyperleveldb/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/hyperleveldb/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/hyperscan/Manifest b/dev-libs/hyperscan/Manifest
deleted file mode 100644
index 7ae5f01f02bb..000000000000
--- a/dev-libs/hyperscan/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST hyperscan-4.6.0.tar.gz 1557704 BLAKE2B 978b6b3aa83962602df9d3cd5eaf433d15875694fbb34868f594fb930260d57e52f2ac6183ca588096de42ac54a4a68c420b4e7fb2a2c4c50e1e078254e6785e SHA512 17bddc0f8085615df633f5d050e21a448bda781512990a1efe59286002114322372d59d165a113dfe5548f77102576208e1c667454ab40e46c0a96208a4fdd57
-DIST hyperscan-4.7.0.tar.gz 1738159 BLAKE2B 88bcfab979b0eb6177404e65cc1124d6fc9f4615346823fd6d5156794134e344d0141be41aeb4d850620947f53471cc8b78ed4833efaa7c075ec3c88d8670ee7 SHA512 ec32cecc98165ab590cefe37c31aa9cbad813aedd6bec72760574a8ece2a8aefecc229b1d76a2e90c54a51302d1db70620278dbb96d47091ebf846e9f8c4ff08
-DIST hyperscan-5.1.0.tar.gz 1810559 BLAKE2B 0946b3afe00cdce51b82852515ffe674729854d762854c252ba90fc73cbdc23205fe75f8e6c4e976efb31bf10950076b5790bd9692768dabcbd642d53e739c32 SHA512 5e6d11429e61dc061dd31e6b311a8c1dbfcd03af6e24d97b95eb2cef24dcd33d593064e5faa7c22807d785a8921bc410a69a43c4e5b3d7b4774f37c4a12a025d
diff --git a/dev-libs/hyperscan/hyperscan-4.6.0.ebuild b/dev-libs/hyperscan/hyperscan-4.6.0.ebuild
deleted file mode 100644
index 7de8f427c25b..000000000000
--- a/dev-libs/hyperscan/hyperscan-4.6.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="High-performance regular expression matching library"
-SRC_URI="https://github.com/01org/hyperscan/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="https://01.org/hyperscan"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="cpu_flags_x86_ssse3 static-libs"
-
-DEPEND="dev-util/ragel
- =dev-lang/python-2*
- dev-libs/boost
- net-libs/libpcap"
-
-REQUIRED_USE="cpu_flags_x86_ssse3"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
- -DBUILD_STATIC_AND_SHARED=$(usex static-libs ON OFF)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/hyperscan/hyperscan-4.7.0.ebuild b/dev-libs/hyperscan/hyperscan-4.7.0.ebuild
deleted file mode 100644
index 11e8e448c187..000000000000
--- a/dev-libs/hyperscan/hyperscan-4.7.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="High-performance regular expression matching library"
-SRC_URI="https://github.com/01org/hyperscan/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="https://01.org/hyperscan"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="cpu_flags_x86_ssse3 static-libs"
-
-DEPEND="dev-util/ragel
- =dev-lang/python-2*
- dev-libs/boost
- net-libs/libpcap"
-
-REQUIRED_USE="cpu_flags_x86_ssse3"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
- -DBUILD_STATIC_AND_SHARED=$(usex static-libs ON OFF)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/hyperscan/hyperscan-5.1.0.ebuild b/dev-libs/hyperscan/hyperscan-5.1.0.ebuild
deleted file mode 100644
index ce2fc792b977..000000000000
--- a/dev-libs/hyperscan/hyperscan-5.1.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils python-r1
-
-DESCRIPTION="High-performance regular expression matching library"
-HOMEPAGE="https://01.org/hyperscan"
-
-SRC_URI="https://github.com/01org/hyperscan/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="cpu_flags_x86_ssse3 static-libs"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-util/ragel
- >=dev-libs/boost-1.57:=
- net-libs/libpcap"
-
-DEPEND="${RDEPEND}"
-
-REQUIRED_USE="cpu_flags_x86_ssse3"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
- -DBUILD_STATIC_AND_SHARED=$(usex static-libs ON OFF)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/hyperscan/metadata.xml b/dev-libs/hyperscan/metadata.xml
deleted file mode 100644
index fa9f4a3de1e9..000000000000
--- a/dev-libs/hyperscan/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>c@roessner.co</email>
- <name>Christian Roessner</name>
- </maintainer>
- <maintainer type="project">
- <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 185c29e311bc..000000000000
--- a/dev-libs/hyphen/hyphen-2.8.8-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
-
-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 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="app-text/hunspell"
-DEPEND="${RDEPEND}
- 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
- rm "${ED}"/usr/lib*/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..cdc8be439f21
--- /dev/null
+++ b/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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/hyphen-2.8.8.ebuild b/dev-libs/hyphen/hyphen-2.8.8.ebuild
deleted file mode 100644
index 44863f737714..000000000000
--- a/dev-libs/hyphen/hyphen-2.8.8.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="app-text/hunspell"
-DEPEND="${RDEPEND}
- dev-lang/perl
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README{,_hyph_en_US.txt,.nonstandard,.hyphen,.compound} THANKS TODO )
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- docinto pdf
- dodoc doc/*.pdf
-
- rm -f "${ED}"usr/lib*/libhyphen.la
-}
diff --git a/dev-libs/hyphen/metadata.xml b/dev-libs/hyphen/metadata.xml
index 99d138c6b1a0..eae9e8117d60 100644
--- a/dev-libs/hyphen/metadata.xml
+++ b/dev-libs/hyphen/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>office@gentoo.org</email>
@@ -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
new file mode 100644
index 000000000000..381ce67ae809
--- /dev/null
+++ b/dev-libs/icinga-php-library/Manifest
@@ -0,0 +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.6.1-r1.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..1b34dada2f29
--- /dev/null
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.6.1-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2021 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-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-library/metadata.xml b/dev-libs/icinga-php-library/metadata.xml
new file mode 100644
index 000000000000..5c76f7a3fc67
--- /dev/null
+++ b/dev-libs/icinga-php-library/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>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/icinga-php-thirdparty/Manifest b/dev-libs/icinga-php-thirdparty/Manifest
new file mode 100644
index 000000000000..af9673e72790
--- /dev/null
+++ b/dev-libs/icinga-php-thirdparty/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..4bbb21e3af1a
--- /dev/null
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.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.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/icinga-php-thirdparty/metadata.xml b/dev-libs/icinga-php-thirdparty/metadata.xml
new file mode 100644
index 000000000000..5c76f7a3fc67
--- /dev/null
+++ b/dev-libs/icinga-php-thirdparty/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>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/icu-layoutex/Manifest b/dev-libs/icu-layoutex/Manifest
index 8e3d05e0d4d0..7a7475da110d 100644
--- a/dev-libs/icu-layoutex/Manifest
+++ b/dev-libs/icu-layoutex/Manifest
@@ -1 +1,4 @@
-DIST icu4c-64_2-src.tgz 24013250 BLAKE2B 4a286e7a952f5faa74d942f6b6a73147a46aa10fe6d54d024e2d18d1e01056444d56118ded04b4fe084d6a0f9058d7d9e76973960ac8fe5bd9ee105d9e214318 SHA512 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
+DIST icu4c-75_1-src.tgz 26568378 BLAKE2B 2772b52bf59407188511359ec54bea432bc70ba81610015bb51192f7aff33d5e4b08840cf3bfed3de7f9a91b430b6a6efe9dd75fdc53327d4c9f8fbf54d96d18 SHA512 70ea842f0d5f1f6c6b65696ac71d96848c4873f4d794bebc40fd87af2ad4ef064c61a786bf7bc430ce4713ec6deabb8cc1a8cc0212eab148cee2d498a3683e45
+DIST icu4c-75_1-src.tgz.asc 659 BLAKE2B d884a9ddb2afc1a8aa00e66568d2f4f76de2b2d15b5ac4ca5a464e2d1dd22aef2406cbd1391c31c8987f1b95d9325c37359f081d2ad69ca313a9d656d3dd7ec1 SHA512 a69d47d74e28a3dcc2f5b83bb0094b7e52e737c83ad484aec64ce76a6f1ad719b1de651ad4024df6cc1bb74992a8540dec09cec2814c45a3e7aaa365afd96628
diff --git a/dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch b/dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch
deleted file mode 100644
index ef60ce4569b8..000000000000
--- a/dev-libs/icu-layoutex/files/icu-layoutex-58.1-remove-bashisms.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-diff -ruN a/config/Makefile.inc.in b/config/Makefile.inc.in
---- a/config/Makefile.inc.in 2016-09-09 23:28:18.000000000 +0200
-+++ b/config/Makefile.inc.in 2016-11-05 19:43:07.688466668 +0100
-@@ -124,12 +124,6 @@
- # with usually. Many applications will want to add $(ICULIBS_I18N) as well.
- ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA)
-
--# Proper echo newline handling is needed in icu-config
--ECHO_N=@ICU_ECHO_N@
--ECHO_C=@ICU_ECHO_C@
--# Not currently being used but good to have for proper tab handling
--ECHO_T=@ICU_ECHO_T@
--
- ##################################################################
- ##################################################################
- #
-diff -ruN a/config/icu-config-bottom b/config/icu-config-bottom
---- a/config/icu-config-bottom 2016-09-09 23:28:18.000000000 +0200
-+++ b/config/icu-config-bottom 2016-11-05 19:49:00.854481361 +0100
-@@ -218,65 +218,65 @@
- ;;
-
- --cflags)
-- echo $ECHO_N "${CFLAGS} ${ECHO_C}"
-+ printf "%s" "${CFLAGS} "
- ;;
-
- --cc)
-- echo $ECHO_N "${CC} ${ECHO_C}"
-+ printf "%s" "${CC} "
- ;;
-
- --cxx)
-- echo $ECHO_N "${CXX} ${ECHO_C}"
-+ printf "%s" "${CXX} "
- ;;
-
- --cxxflags)
-- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}"
-+ printf "%s" "${CXXFLAGS} "
- ;;
-
- --cppflags)
- # Don't echo the -I. - it's unneeded.
-- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //'
-+ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //'
- ;;
-
- --cppflags-searchpath)
-- echo $ECHO_N "-I${prefix}/include ${ECHO_C}"
-+ printf "%s" "-I${prefix}/include "
- ;;
-
- --cppflags-dynamic)
-- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}"
-+ printf "%s" "${SHAREDLIBCPPFLAGS} "
- ;;
-
- --cxxflags-dynamic)
-- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}"
-+ printf "%s" "${SHAREDLIBCXXFLAGS} "
- ;;
-
- --cflags-dynamic)
-- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}"
-+ printf "%s" "${SHAREDLIBCFLAGS} "
- ;;
-
- --ldflags-system)
-- echo $ECHO_N "${LIBS} ${ECHO_C}"
-+ printf "%s" "${LIBS} "
- ;;
-
- --ldflags)
-- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}"
-+ printf "%s" "${LDFLAGS} ${ICULIBS} "
- # $RPATH_LDFLAGS
- ;;
-
- --ldflags-libsonly)
-- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}"
-+ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
- ;;
-
- --ldflags-icuio)
-- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}"
-+ printf "%s" " ${ICULIBS_ICUIO} "
- ;;
-
- --ldflags-obsolete)
-- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}"
-+ printf "%s" "${ICULIBS_OBSOLETE} "
- ;;
-
- --ldflags-toolutil)
-- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}"
-+ printf "%s" " ${ICULIBS_TOOLUTIL} "
- ;;
-
- --ldflags-layout)
-@@ -285,7 +285,7 @@
- ;;
-
- --ldflags-searchpath)
-- echo $ECHO_N "-L${libdir} ${ECHO_C}"
-+ printf "%s" "-L${libdir} "
- ;;
-
- --detect-prefix)
-@@ -321,47 +321,47 @@
- ;;
-
- --shared-datadir)
-- echo $ECHO_N "${datadir} ${ECHO_C}"
-+ printf "%s" "${datadir} "
- ;;
-
- --incfile)
-- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}"
-+ printf "%s" "${pkglibdir}/Makefile.inc "
- ;;
-
- --incpkgdatafile)
-- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}"
-+ printf "%s" "${pkglibdir}/pkgdata.inc "
- ;;
-
- --icudata)
-- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}"
-+ printf "%s" "${ICUDATA_NAME} "
- ;;
-
- --icudata-mode)
-- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}"
-+ printf "%s" "${PKGDATA_MODE} "
- ;;
-
- --icudata-install-dir)
-- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}"
-+ printf "%s" "${ICUPKGDATA_DIR} "
- ;;
-
- --icudatadir)
-- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}"
-+ printf "%s" "${ICUDATA_DIR} "
- ;;
-
- --shlib-c)
-- echo $ECHO_N "${SHLIB_c} ${ECHO_C}"
-+ printf "%s" "${SHLIB_c} "
- ;;
-
- --shlib-cc)
-- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}"
-+ printf "%s" "${SHLIB_cc} "
- ;;
-
- --version)
-- echo $ECHO_N $VERSION
-+ printf "%s" "$VERSION"
- ;;
-
- --unicode-version)
-- echo $ECHO_N $UNICODE_VERSION
-+ printf "%s" "$UNICODE_VERSION"
- ;;
-
- --host)
-diff -ruN a/configure.ac b/configure.ac
---- a/configure.ac 2016-10-04 21:30:20.000000000 +0200
-+++ b/configure.ac 2016-11-05 19:43:07.688466668 +0100
-@@ -22,24 +22,6 @@
- PACKAGE="icu"
- AC_SUBST(PACKAGE)
-
--# Use custom echo test for newline option
--# Current autoconf (2.65) gives incorrect echo newline option
--# for icu-config
--# This may be removed later - mow (June 17, 2010)
--ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T=
--case `/bin/sh -c "echo -n x"` in
---n*)
-- case `/bin/sh -c "echo 'x\c'"` in
-- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character.
-- *) ICU_ECHO_C='\c';;
-- esac;;
--*)
-- ICU_ECHO_N='-n';;
--esac
--AC_SUBST(ICU_ECHO_N)
--AC_SUBST(ICU_ECHO_C)
--AC_SUBST(ICU_ECHO_T)
--
- AC_MSG_CHECKING(for ICU version numbers)
-
- # Get the ICU version from uversion.h or other headers
-diff -ruN a/icudefs.mk.in b/icudefs.mk.in
---- a/icudefs.mk.in 2016-09-09 23:28:18.000000000 +0200
-+++ b/icudefs.mk.in 2016-11-05 19:43:07.688466668 +0100
-@@ -157,11 +157,6 @@
- ENABLE_STATIC = @ENABLE_STATIC@
- ENABLE_SHARED = @ENABLE_SHARED@
-
--# Echo w/o newline
--
--#ECHO_N = @ICU_ECHO_N@
--#ECHO_C = @ICU_ECHO_C@
--
- # Commands to compile
- COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
- COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
-diff -ruN a/test/hdrtst/Makefile.in b/test/hdrtst/Makefile.in
---- a/test/hdrtst/Makefile.in 2016-09-28 06:17:24.000000000 +0200
-+++ b/test/hdrtst/Makefile.in 2016-11-05 19:43:07.688466668 +0100
-@@ -35,9 +35,6 @@
- include $(shell icu-config --incfile)
- DIRS=$(prefix)/include/unicode
- LDIRS=$(prefix)/include/layout
--ECHO_T=@ECHO_T@
--ECHO_C=@ECHO_C@
--ECHO_N=@ECHO_N@
-
- all:
- @echo Please read this Makefile for more information.
diff --git a/dev-libs/icu-layoutex/files/icu-layoutex-64.1-data_archive_generation.patch b/dev-libs/icu-layoutex/files/icu-layoutex-64.1-data_archive_generation.patch
deleted file mode 100644
index 3bb7673f254a..000000000000
--- a/dev-libs/icu-layoutex/files/icu-layoutex-64.1-data_archive_generation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://bugs.gentoo.org/682170
-
---- a/data/Makefile.in
-+++ b/data/Makefile.in
-@@ -148,7 +148,8 @@
- # and convert it to the current type.
- ifneq ($(ICUDATA_ARCHIVE),)
- ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
--$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)
-+$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE)
-+ $(MKINSTALLDIRS) $(OUTDIR)
- $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
- endif
- else
diff --git a/dev-libs/icu-layoutex/files/icu-layoutex-65.1-remove-bashisms.patch b/dev-libs/icu-layoutex/files/icu-layoutex-65.1-remove-bashisms.patch
new file mode 100644
index 000000000000..f052a06dc62c
--- /dev/null
+++ b/dev-libs/icu-layoutex/files/icu-layoutex-65.1-remove-bashisms.patch
@@ -0,0 +1,207 @@
+--- a/config/icu-config-bottom
++++ b/config/icu-config-bottom
+@@ -218,65 +218,65 @@
+ ;;
+
+ --cflags)
+- echo $ECHO_N "${CFLAGS} ${ECHO_C}"
++ printf "%s" "${CFLAGS} "
+ ;;
+
+ --cc)
+- echo $ECHO_N "${CC} ${ECHO_C}"
++ printf "%s" "${CC} "
+ ;;
+
+ --cxx)
+- echo $ECHO_N "${CXX} ${ECHO_C}"
++ printf "%s" "${CXX} "
+ ;;
+
+ --cxxflags)
+- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}"
++ printf "%s" "${CXXFLAGS} "
+ ;;
+
+ --cppflags)
+ # Don't echo the -I. - it's unneeded.
+- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //'
++ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //'
+ ;;
+
+ --cppflags-searchpath)
+- echo $ECHO_N "-I${prefix}/include ${ECHO_C}"
++ printf "%s" "-I${prefix}/include "
+ ;;
+
+ --cppflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCPPFLAGS} "
+ ;;
+
+ --cxxflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCXXFLAGS} "
+ ;;
+
+ --cflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCFLAGS} "
+ ;;
+
+ --ldflags-system)
+- echo $ECHO_N "${LIBS} ${ECHO_C}"
++ printf "%s" "${LIBS} "
+ ;;
+
+ --ldflags)
+- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}"
++ printf "%s" "${LDFLAGS} ${ICULIBS} "
+ # $RPATH_LDFLAGS
+ ;;
+
+ --ldflags-libsonly)
+- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}"
++ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
+ ;;
+
+ --ldflags-icuio)
+- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}"
++ printf "%s" " ${ICULIBS_ICUIO} "
+ ;;
+
+ --ldflags-obsolete)
+- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}"
++ printf "%s" "${ICULIBS_OBSOLETE} "
+ ;;
+
+ --ldflags-toolutil)
+- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}"
++ printf "%s" " ${ICULIBS_TOOLUTIL} "
+ ;;
+
+ --ldflags-layout)
+@@ -285,7 +285,7 @@
+ ;;
+
+ --ldflags-searchpath)
+- echo $ECHO_N "-L${libdir} ${ECHO_C}"
++ printf "%s" "-L${libdir} "
+ ;;
+
+ --detect-prefix)
+@@ -321,47 +321,47 @@
+ ;;
+
+ --shared-datadir)
+- echo $ECHO_N "${datadir} ${ECHO_C}"
++ printf "%s" "${datadir} "
+ ;;
+
+ --incfile)
+- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}"
++ printf "%s" "${pkglibdir}/Makefile.inc "
+ ;;
+
+ --incpkgdatafile)
+- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}"
++ printf "%s" "${pkglibdir}/pkgdata.inc "
+ ;;
+
+ --icudata)
+- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}"
++ printf "%s" "${ICUDATA_NAME} "
+ ;;
+
+ --icudata-mode)
+- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}"
++ printf "%s" "${PKGDATA_MODE} "
+ ;;
+
+ --icudata-install-dir)
+- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}"
++ printf "%s" "${ICUPKGDATA_DIR} "
+ ;;
+
+ --icudatadir)
+- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}"
++ printf "%s" "${ICUDATA_DIR} "
+ ;;
+
+ --shlib-c)
+- echo $ECHO_N "${SHLIB_c} ${ECHO_C}"
++ printf "%s" "${SHLIB_c} "
+ ;;
+
+ --shlib-cc)
+- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}"
++ printf "%s" "${SHLIB_cc} "
+ ;;
+
+ --version)
+- echo $ECHO_N $VERSION
++ printf "%s" "$VERSION"
+ ;;
+
+ --unicode-version)
+- echo $ECHO_N $UNICODE_VERSION
++ printf "%s" "$UNICODE_VERSION"
+ ;;
+
+ --host)
+--- a/config/Makefile.inc.in
++++ b/config/Makefile.inc.in
+@@ -124,12 +124,6 @@
+ # with usually. Many applications will want to add $(ICULIBS_I18N) as well.
+ ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA)
+
+-# Proper echo newline handling is needed in icu-config
+-ECHO_N=@ICU_ECHO_N@
+-ECHO_C=@ICU_ECHO_C@
+-# Not currently being used but good to have for proper tab handling
+-ECHO_T=@ICU_ECHO_T@
+-
+ ##################################################################
+ ##################################################################
+ #
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,24 +26,6 @@
+ PACKAGE="icu"
+ AC_SUBST(PACKAGE)
+
+-# Use custom echo test for newline option
+-# Current autoconf (2.65) gives incorrect echo newline option
+-# for icu-config
+-# This may be removed later - mow (June 17, 2010)
+-ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T=
+-case `/bin/sh -c "echo -n x"` in
+--n*)
+- case `/bin/sh -c "echo 'x\c'"` in
+- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character.
+- *) ICU_ECHO_C='\c';;
+- esac;;
+-*)
+- ICU_ECHO_N='-n';;
+-esac
+-AC_SUBST(ICU_ECHO_N)
+-AC_SUBST(ICU_ECHO_C)
+-AC_SUBST(ICU_ECHO_T)
+-
+ AC_MSG_CHECKING(for ICU version numbers)
+
+ # Get the ICU version from uversion.h or other headers
+--- a/icudefs.mk.in
++++ b/icudefs.mk.in
+@@ -161,11 +161,6 @@
+ ENABLE_STATIC = @ENABLE_STATIC@
+ ENABLE_SHARED = @ENABLE_SHARED@
+
+-# Echo w/o newline
+-
+-#ECHO_N = @ICU_ECHO_N@
+-#ECHO_C = @ICU_ECHO_C@
+-
+ # Commands to compile
+ COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
+ COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
diff --git a/dev-libs/icu-layoutex/icu-layoutex-64.2.ebuild b/dev-libs/icu-layoutex/icu-layoutex-64.2.ebuild
deleted file mode 100644
index 1d7fda5ab6fb..000000000000
--- a/dev-libs/icu-layoutex/icu-layoutex-64.2.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2019 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="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
-IUSE="debug static-libs"
-
-BDEPEND="
- virtual/pkgconfig[${MULTILIB_USEDEP}]
-"
-DEPEND="
- ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
- dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN/-layoutex}/source"
-
-PATCHES=(
- "${FILESDIR}/${PN}-58.1-remove-bashisms.patch"
- "${FILESDIR}/${PN}-64.1-data_archive_generation.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/icu-layoutex-75.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild
new file mode 100644
index 000000000000..f87314194366
--- /dev/null
+++ b/dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild
@@ -0,0 +1,131 @@
+# 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%.*}"
+#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"
+
+ 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() {
+ # https://unicode-org.atlassian.net/browse/ICU-22001
+ filter-lto
+
+ 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 1e2a3b43bac3..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/icu-le-hb-1.0.3.ebuild b/dev-libs/icu-le-hb/icu-le-hb-1.0.3.ebuild
deleted file mode 100644
index f6029e446bf0..000000000000
--- a/dev-libs/icu-le-hb/icu-le-hb-1.0.3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 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}
- virtual/pkgconfig[${MULTILIB_USEDEP}]
-"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
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 29a8001dfe99..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 8e3d05e0d4d0..7a7475da110d 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -1 +1,4 @@
-DIST icu4c-64_2-src.tgz 24013250 BLAKE2B 4a286e7a952f5faa74d942f6b6a73147a46aa10fe6d54d024e2d18d1e01056444d56118ded04b4fe084d6a0f9058d7d9e76973960ac8fe5bd9ee105d9e214318 SHA512 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
+DIST icu4c-75_1-src.tgz 26568378 BLAKE2B 2772b52bf59407188511359ec54bea432bc70ba81610015bb51192f7aff33d5e4b08840cf3bfed3de7f9a91b430b6a6efe9dd75fdc53327d4c9f8fbf54d96d18 SHA512 70ea842f0d5f1f6c6b65696ac71d96848c4873f4d794bebc40fd87af2ad4ef064c61a786bf7bc430ce4713ec6deabb8cc1a8cc0212eab148cee2d498a3683e45
+DIST icu4c-75_1-src.tgz.asc 659 BLAKE2B d884a9ddb2afc1a8aa00e66568d2f4f76de2b2d15b5ac4ca5a464e2d1dd22aef2406cbd1391c31c8987f1b95d9325c37359f081d2ad69ca313a9d656d3dd7ec1 SHA512 a69d47d74e28a3dcc2f5b83bb0094b7e52e737c83ad484aec64ce76a6f1ad719b1de651ad4024df6cc1bb74992a8540dec09cec2814c45a3e7aaa365afd96628
diff --git a/dev-libs/icu/files/icu-58.1-remove-bashisms.patch b/dev-libs/icu/files/icu-58.1-remove-bashisms.patch
deleted file mode 100644
index ef60ce4569b8..000000000000
--- a/dev-libs/icu/files/icu-58.1-remove-bashisms.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-diff -ruN a/config/Makefile.inc.in b/config/Makefile.inc.in
---- a/config/Makefile.inc.in 2016-09-09 23:28:18.000000000 +0200
-+++ b/config/Makefile.inc.in 2016-11-05 19:43:07.688466668 +0100
-@@ -124,12 +124,6 @@
- # with usually. Many applications will want to add $(ICULIBS_I18N) as well.
- ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA)
-
--# Proper echo newline handling is needed in icu-config
--ECHO_N=@ICU_ECHO_N@
--ECHO_C=@ICU_ECHO_C@
--# Not currently being used but good to have for proper tab handling
--ECHO_T=@ICU_ECHO_T@
--
- ##################################################################
- ##################################################################
- #
-diff -ruN a/config/icu-config-bottom b/config/icu-config-bottom
---- a/config/icu-config-bottom 2016-09-09 23:28:18.000000000 +0200
-+++ b/config/icu-config-bottom 2016-11-05 19:49:00.854481361 +0100
-@@ -218,65 +218,65 @@
- ;;
-
- --cflags)
-- echo $ECHO_N "${CFLAGS} ${ECHO_C}"
-+ printf "%s" "${CFLAGS} "
- ;;
-
- --cc)
-- echo $ECHO_N "${CC} ${ECHO_C}"
-+ printf "%s" "${CC} "
- ;;
-
- --cxx)
-- echo $ECHO_N "${CXX} ${ECHO_C}"
-+ printf "%s" "${CXX} "
- ;;
-
- --cxxflags)
-- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}"
-+ printf "%s" "${CXXFLAGS} "
- ;;
-
- --cppflags)
- # Don't echo the -I. - it's unneeded.
-- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //'
-+ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //'
- ;;
-
- --cppflags-searchpath)
-- echo $ECHO_N "-I${prefix}/include ${ECHO_C}"
-+ printf "%s" "-I${prefix}/include "
- ;;
-
- --cppflags-dynamic)
-- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}"
-+ printf "%s" "${SHAREDLIBCPPFLAGS} "
- ;;
-
- --cxxflags-dynamic)
-- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}"
-+ printf "%s" "${SHAREDLIBCXXFLAGS} "
- ;;
-
- --cflags-dynamic)
-- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}"
-+ printf "%s" "${SHAREDLIBCFLAGS} "
- ;;
-
- --ldflags-system)
-- echo $ECHO_N "${LIBS} ${ECHO_C}"
-+ printf "%s" "${LIBS} "
- ;;
-
- --ldflags)
-- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}"
-+ printf "%s" "${LDFLAGS} ${ICULIBS} "
- # $RPATH_LDFLAGS
- ;;
-
- --ldflags-libsonly)
-- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}"
-+ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
- ;;
-
- --ldflags-icuio)
-- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}"
-+ printf "%s" " ${ICULIBS_ICUIO} "
- ;;
-
- --ldflags-obsolete)
-- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}"
-+ printf "%s" "${ICULIBS_OBSOLETE} "
- ;;
-
- --ldflags-toolutil)
-- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}"
-+ printf "%s" " ${ICULIBS_TOOLUTIL} "
- ;;
-
- --ldflags-layout)
-@@ -285,7 +285,7 @@
- ;;
-
- --ldflags-searchpath)
-- echo $ECHO_N "-L${libdir} ${ECHO_C}"
-+ printf "%s" "-L${libdir} "
- ;;
-
- --detect-prefix)
-@@ -321,47 +321,47 @@
- ;;
-
- --shared-datadir)
-- echo $ECHO_N "${datadir} ${ECHO_C}"
-+ printf "%s" "${datadir} "
- ;;
-
- --incfile)
-- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}"
-+ printf "%s" "${pkglibdir}/Makefile.inc "
- ;;
-
- --incpkgdatafile)
-- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}"
-+ printf "%s" "${pkglibdir}/pkgdata.inc "
- ;;
-
- --icudata)
-- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}"
-+ printf "%s" "${ICUDATA_NAME} "
- ;;
-
- --icudata-mode)
-- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}"
-+ printf "%s" "${PKGDATA_MODE} "
- ;;
-
- --icudata-install-dir)
-- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}"
-+ printf "%s" "${ICUPKGDATA_DIR} "
- ;;
-
- --icudatadir)
-- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}"
-+ printf "%s" "${ICUDATA_DIR} "
- ;;
-
- --shlib-c)
-- echo $ECHO_N "${SHLIB_c} ${ECHO_C}"
-+ printf "%s" "${SHLIB_c} "
- ;;
-
- --shlib-cc)
-- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}"
-+ printf "%s" "${SHLIB_cc} "
- ;;
-
- --version)
-- echo $ECHO_N $VERSION
-+ printf "%s" "$VERSION"
- ;;
-
- --unicode-version)
-- echo $ECHO_N $UNICODE_VERSION
-+ printf "%s" "$UNICODE_VERSION"
- ;;
-
- --host)
-diff -ruN a/configure.ac b/configure.ac
---- a/configure.ac 2016-10-04 21:30:20.000000000 +0200
-+++ b/configure.ac 2016-11-05 19:43:07.688466668 +0100
-@@ -22,24 +22,6 @@
- PACKAGE="icu"
- AC_SUBST(PACKAGE)
-
--# Use custom echo test for newline option
--# Current autoconf (2.65) gives incorrect echo newline option
--# for icu-config
--# This may be removed later - mow (June 17, 2010)
--ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T=
--case `/bin/sh -c "echo -n x"` in
---n*)
-- case `/bin/sh -c "echo 'x\c'"` in
-- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character.
-- *) ICU_ECHO_C='\c';;
-- esac;;
--*)
-- ICU_ECHO_N='-n';;
--esac
--AC_SUBST(ICU_ECHO_N)
--AC_SUBST(ICU_ECHO_C)
--AC_SUBST(ICU_ECHO_T)
--
- AC_MSG_CHECKING(for ICU version numbers)
-
- # Get the ICU version from uversion.h or other headers
-diff -ruN a/icudefs.mk.in b/icudefs.mk.in
---- a/icudefs.mk.in 2016-09-09 23:28:18.000000000 +0200
-+++ b/icudefs.mk.in 2016-11-05 19:43:07.688466668 +0100
-@@ -157,11 +157,6 @@
- ENABLE_STATIC = @ENABLE_STATIC@
- ENABLE_SHARED = @ENABLE_SHARED@
-
--# Echo w/o newline
--
--#ECHO_N = @ICU_ECHO_N@
--#ECHO_C = @ICU_ECHO_C@
--
- # Commands to compile
- COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
- COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
-diff -ruN a/test/hdrtst/Makefile.in b/test/hdrtst/Makefile.in
---- a/test/hdrtst/Makefile.in 2016-09-28 06:17:24.000000000 +0200
-+++ b/test/hdrtst/Makefile.in 2016-11-05 19:43:07.688466668 +0100
-@@ -35,9 +35,6 @@
- include $(shell icu-config --incfile)
- DIRS=$(prefix)/include/unicode
- LDIRS=$(prefix)/include/layout
--ECHO_T=@ECHO_T@
--ECHO_C=@ECHO_C@
--ECHO_N=@ECHO_N@
-
- all:
- @echo Please read this Makefile for more information.
diff --git a/dev-libs/icu/files/icu-64.1-data_archive_generation.patch b/dev-libs/icu/files/icu-64.1-data_archive_generation.patch
deleted file mode 100644
index 3bb7673f254a..000000000000
--- a/dev-libs/icu/files/icu-64.1-data_archive_generation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://bugs.gentoo.org/682170
-
---- a/data/Makefile.in
-+++ b/data/Makefile.in
-@@ -148,7 +148,8 @@
- # and convert it to the current type.
- ifneq ($(ICUDATA_ARCHIVE),)
- ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
--$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)
-+$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE)
-+ $(MKINSTALLDIRS) $(OUTDIR)
- $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
- endif
- else
diff --git a/dev-libs/icu/files/icu-64.2-darwin.patch b/dev-libs/icu/files/icu-64.2-darwin.patch
index e6af282bd0ef..d0029fa0fe5e 100644
--- a/dev-libs/icu/files/icu-64.2-darwin.patch
+++ b/dev-libs/icu/files/icu-64.2-darwin.patch
@@ -22,7 +22,7 @@ forward-ported from v58.2 to v64.2
LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET))
else
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
-+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
++LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET))
endif
## Compiler switch to embed a runtime search path
diff --git a/dev-libs/icu/files/icu-64.2-extern_c.patch b/dev-libs/icu/files/icu-64.2-extern_c.patch
deleted file mode 100644
index 9a757e12037b..000000000000
--- a/dev-libs/icu/files/icu-64.2-extern_c.patch
+++ /dev/null
@@ -1,789 +0,0 @@
-From 26bdef634585eb24946dba035611266e9431873b Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Sat, 30 Mar 2019 09:59:46 +0300
-Subject: [PATCH] ICU-20530 Fix header issues based on test/hdrtst
-
-Remove explicit extern "C++" scope.
-
-Remove C++ macros in C mode.
-
-Fix issues detected by make -C test/hdrtst.
-
-Run test/hdrtest during CI to detect future breakage.
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
-Closes: https://github.com/unicode-org/icu/pull/613
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
-diff --git a/icu4c/source/common/unicode/ucptrie.h b/icu4c/source/common/unicode/ucptrie.h
-index 2718c984e4..ce7340b890 100644
---- a/icu4c/source/common/unicode/ucptrie.h
-+++ b/icu4c/source/common/unicode/ucptrie.h
-@@ -216,25 +216,6 @@ ucptrie_openFromBinary(UCPTrieType type, UCPTrieValueWidth valueWidth,
- U_CAPI void U_EXPORT2
- ucptrie_close(UCPTrie *trie);
-
--#if U_SHOW_CPLUSPLUS_API
--
--U_NAMESPACE_BEGIN
--
--/**
-- * \class LocalUCPTriePointer
-- * "Smart pointer" class, closes a UCPTrie via ucptrie_close().
-- * For most methods see the LocalPointerBase base class.
-- *
-- * @see LocalPointerBase
-- * @see LocalPointer
-- * @draft ICU 63
-- */
--U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close);
--
--U_NAMESPACE_END
--
--#endif
--
- /**
- * Returns the trie type.
- *
-@@ -642,5 +623,25 @@ ucptrie_internalU8PrevIndex(const UCPTrie *trie, UChar32 c,
- U_CDECL_END
-
- #endif // U_IN_DOXYGEN
-+
-+#if U_SHOW_CPLUSPLUS_API
-+
-+U_NAMESPACE_BEGIN
-+
-+/**
-+ * \class LocalUCPTriePointer
-+ * "Smart pointer" class, closes a UCPTrie via ucptrie_close().
-+ * For most methods see the LocalPointerBase base class.
-+ *
-+ * @see LocalPointerBase
-+ * @see LocalPointer
-+ * @draft ICU 63
-+ */
-+U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close);
-+
-+U_NAMESPACE_END
-+
-+#endif // U_SHOW_CPLUSPLUS_API
-+
- #endif // U_HIDE_DRAFT_API
- #endif
-diff --git a/icu4c/source/common/unicode/udata.h b/icu4c/source/common/unicode/udata.h
-index a0286e1e42..325ffcf17d 100644
---- a/icu4c/source/common/unicode/udata.h
-+++ b/icu4c/source/common/unicode/udata.h
-@@ -264,25 +264,6 @@ udata_openChoice(const char *path, const char *type, const char *name,
- U_STABLE void U_EXPORT2
- udata_close(UDataMemory *pData);
-
--#if U_SHOW_CPLUSPLUS_API
--
--U_NAMESPACE_BEGIN
--
--/**
-- * \class LocalUDataMemoryPointer
-- * "Smart pointer" class, closes a UDataMemory via udata_close().
-- * For most methods see the LocalPointerBase base class.
-- *
-- * @see LocalPointerBase
-- * @see LocalPointer
-- * @stable ICU 4.4
-- */
--U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
--
--U_NAMESPACE_END
--
--#endif
--
- /**
- * Get the pointer to the actual data inside the data memory.
- * The data is read-only.
-@@ -434,4 +415,23 @@ udata_setFileAccess(UDataFileAccess access, UErrorCode *status);
-
- U_CDECL_END
-
-+#if U_SHOW_CPLUSPLUS_API
-+
-+U_NAMESPACE_BEGIN
-+
-+/**
-+ * \class LocalUDataMemoryPointer
-+ * "Smart pointer" class, closes a UDataMemory via udata_close().
-+ * For most methods see the LocalPointerBase base class.
-+ *
-+ * @see LocalPointerBase
-+ * @see LocalPointer
-+ * @stable ICU 4.4
-+ */
-+U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
-+
-+U_NAMESPACE_END
-+
-+#endif // U_SHOW_CPLUSPLUS_API
-+
- #endif
-diff --git a/icu4c/source/common/unicode/uversion.h b/icu4c/source/common/unicode/uversion.h
-index 4aaa8b4d60..5700f62cbf 100644
---- a/icu4c/source/common/unicode/uversion.h
-+++ b/icu4c/source/common/unicode/uversion.h
-@@ -62,26 +62,22 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
- /* C++ namespace if supported. Versioned unless versioning is disabled. */
- /*===========================================================================*/
-
-+/* Define C++ namespace symbols. */
-+#ifdef __cplusplus
-+
- /**
- * \def U_NAMESPACE_BEGIN
-- * This is used to begin a declaration of a public ICU C++ API.
-- * When not compiling for C++, it does nothing.
-- * When compiling for C++, it begins an extern "C++" linkage block (to protect
-- * against cases in which an external client includes ICU header files inside
-- * an extern "C" linkage block).
-+ * This is used to begin a declaration of a public ICU C++ API within
-+ * versioned-ICU-namespace block.
- *
-- * It also begins a versioned-ICU-namespace block.
- * @stable ICU 2.4
- */
-
- /**
- * \def U_NAMESPACE_END
- * This is used to end a declaration of a public ICU C++ API.
-- * When not compiling for C++, it does nothing.
-- * When compiling for C++, it ends the extern "C++" block begun by
-- * U_NAMESPACE_BEGIN.
-+ * It ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN.
- *
-- * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN.
- * @stable ICU 2.4
- */
-
-@@ -89,9 +85,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
- * \def U_NAMESPACE_USE
- * This is used to specify that the rest of the code uses the
- * public ICU C++ API namespace.
-- * This is invoked by default; we recommend that you turn it off:
-- * See the "Recommended Build Options" section of the ICU4C readme
-- * (http://source.icu-project.org/repos/icu/icu/trunk/readme.html#RecBuild)
- * @stable ICU 2.4
- */
-
-@@ -105,8 +98,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
- * @stable ICU 2.4
- */
-
--/* Define C++ namespace symbols. */
--#ifdef __cplusplus
- # if U_DISABLE_RENAMING
- # define U_ICU_NAMESPACE icu
- namespace U_ICU_NAMESPACE { }
-@@ -116,8 +107,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
- namespace icu = U_ICU_NAMESPACE;
- # endif
-
--# define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE {
--# define U_NAMESPACE_END } }
-+# define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
-+# define U_NAMESPACE_END }
- # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
- # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
-
-@@ -133,12 +124,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
- # if U_USING_ICU_NAMESPACE
- U_NAMESPACE_USE
- # endif
--#else
--# define U_NAMESPACE_BEGIN
--# define U_NAMESPACE_END
--# define U_NAMESPACE_USE
--# define U_NAMESPACE_QUALIFIER
--#endif
-+#endif /* __cplusplus */
-
- /*===========================================================================*/
- /* General version helper functions. Definitions in putil.c */
-diff --git a/icu4c/source/i18n/unicode/reldatefmt.h b/icu4c/source/i18n/unicode/reldatefmt.h
-index 16ae91ad03..1e164a581a 100644
---- a/icu4c/source/i18n/unicode/reldatefmt.h
-+++ b/icu4c/source/i18n/unicode/reldatefmt.h
-@@ -246,6 +246,7 @@ class SharedPluralRules;
- class SharedBreakIterator;
- class NumberFormat;
- class UnicodeString;
-+class FormattedRelativeDateTime;
- class FormattedRelativeDateTimeData;
-
- #ifndef U_HIDE_DRAFT_API
-diff --git a/icu4c/source/i18n/unicode/uspoof.h b/icu4c/source/i18n/unicode/uspoof.h
-index d15ba4b242..ceb8484b6b 100644
---- a/icu4c/source/i18n/unicode/uspoof.h
-+++ b/icu4c/source/i18n/unicode/uspoof.h
-@@ -353,6 +353,8 @@
- * @stable ICU 4.6
- */
-
-+U_CDECL_BEGIN
-+
- struct USpoofChecker;
- /**
- * @stable ICU 4.2
-@@ -674,25 +676,6 @@ uspoof_openFromSource(const char *confusables, int32_t confusablesLen,
- U_STABLE void U_EXPORT2
- uspoof_close(USpoofChecker *sc);
-
--#if U_SHOW_CPLUSPLUS_API
--
--U_NAMESPACE_BEGIN
--
--/**
-- * \class LocalUSpoofCheckerPointer
-- * "Smart pointer" class, closes a USpoofChecker via uspoof_close().
-- * For most methods see the LocalPointerBase base class.
-- *
-- * @see LocalPointerBase
-- * @see LocalPointer
-- * @stable ICU 4.4
-- */
--U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckerPointer, USpoofChecker, uspoof_close);
--
--U_NAMESPACE_END
--
--#endif
--
- /**
- * Clone a Spoof Checker. The clone will be set to perform the same checks
- * as the original source.
-@@ -901,54 +884,6 @@ U_STABLE const USet * U_EXPORT2
- uspoof_getAllowedChars(const USpoofChecker *sc, UErrorCode *status);
-
-
--#if U_SHOW_CPLUSPLUS_API
--/**
-- * Limit the acceptable characters to those specified by a Unicode Set.
-- * Any previously specified character limit is
-- * is replaced by the new settings. This includes limits on
-- * characters that were set with the uspoof_setAllowedLocales() function.
-- *
-- * The USPOOF_CHAR_LIMIT test is automatically enabled for this
-- * USoofChecker by this function.
-- *
-- * @param sc The USpoofChecker
-- * @param chars A Unicode Set containing the list of
-- * characters that are permitted. Ownership of the set
-- * remains with the caller. The incoming set is cloned by
-- * this function, so there are no restrictions on modifying
-- * or deleting the UnicodeSet after calling this function.
-- * @param status The error code, set if this function encounters a problem.
-- * @stable ICU 4.2
-- */
--U_STABLE void U_EXPORT2
--uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status);
--
--
--/**
-- * Get a UnicodeSet for the characters permitted in an identifier.
-- * This corresponds to the limits imposed by the Set Allowed Characters /
-- * UnicodeSet functions. Limitations imposed by other checks will not be
-- * reflected in the set returned by this function.
-- *
-- * The returned set will be frozen, meaning that it cannot be modified
-- * by the caller.
-- *
-- * Ownership of the returned set remains with the Spoof Detector. The
-- * returned set will become invalid if the spoof detector is closed,
-- * or if a new set of allowed characters is specified.
-- *
-- *
-- * @param sc The USpoofChecker
-- * @param status The error code, set if this function encounters a problem.
-- * @return A UnicodeSet containing the characters that are permitted by
-- * the USPOOF_CHAR_LIMIT test.
-- * @stable ICU 4.2
-- */
--U_STABLE const icu::UnicodeSet * U_EXPORT2
--uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status);
--#endif
--
--
- /**
- * Check the specified string for possible security issues.
- * The text to be checked will typically be an identifier of some sort.
-@@ -1027,43 +962,6 @@ uspoof_checkUTF8(const USpoofChecker *sc,
- UErrorCode *status);
-
-
--#if U_SHOW_CPLUSPLUS_API
--/**
-- * Check the specified string for possible security issues.
-- * The text to be checked will typically be an identifier of some sort.
-- * The set of checks to be performed is specified with uspoof_setChecks().
-- *
-- * \note
-- * Consider using the newer API, {@link uspoof_check2UnicodeString}, instead.
-- * The newer API exposes additional information from the check procedure
-- * and is otherwise identical to this method.
-- *
-- * @param sc The USpoofChecker
-- * @param id A identifier to be checked for possible security issues.
-- * @param position Deprecated in ICU 51. Always returns zero.
-- * Originally, an out parameter for the index of the first
-- * string position that failed a check.
-- * This parameter may be NULL.
-- * @param status The error code, set if an error occurred while attempting to
-- * perform the check.
-- * Spoofing or security issues detected with the input string are
-- * not reported here, but through the function's return value.
-- * @return An integer value with bits set for any potential security
-- * or spoofing issues detected. The bits are defined by
-- * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS)
-- * will be zero if the input string passes all of the
-- * enabled checks.
-- * @see uspoof_check2UnicodeString
-- * @stable ICU 4.2
-- */
--U_STABLE int32_t U_EXPORT2
--uspoof_checkUnicodeString(const USpoofChecker *sc,
-- const icu::UnicodeString &id,
-- int32_t *position,
-- UErrorCode *status);
--#endif
--
--
- /**
- * Check the specified string for possible security issues.
- * The text to be checked will typically be an identifier of some sort.
-@@ -1135,39 +1033,6 @@ uspoof_check2UTF8(const USpoofChecker *sc,
- USpoofCheckResult* checkResult,
- UErrorCode *status);
-
--#if U_SHOW_CPLUSPLUS_API
--/**
-- * Check the specified string for possible security issues.
-- * The text to be checked will typically be an identifier of some sort.
-- * The set of checks to be performed is specified with uspoof_setChecks().
-- *
-- * @param sc The USpoofChecker
-- * @param id A identifier to be checked for possible security issues.
-- * @param checkResult An instance of USpoofCheckResult to be filled with
-- * details about the identifier. Can be NULL.
-- * @param status The error code, set if an error occurred while attempting to
-- * perform the check.
-- * Spoofing or security issues detected with the input string are
-- * not reported here, but through the function's return value.
-- * @return An integer value with bits set for any potential security
-- * or spoofing issues detected. The bits are defined by
-- * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS)
-- * will be zero if the input string passes all of the
-- * enabled checks. Any information in this bitmask will be
-- * consistent with the information saved in the optional
-- * checkResult parameter.
-- * @see uspoof_openCheckResult
-- * @see uspoof_check2
-- * @see uspoof_check2UTF8
-- * @stable ICU 58
-- */
--U_STABLE int32_t U_EXPORT2
--uspoof_check2UnicodeString(const USpoofChecker *sc,
-- const icu::UnicodeString &id,
-- USpoofCheckResult* checkResult,
-- UErrorCode *status);
--#endif
--
- /**
- * Create a USpoofCheckResult, used by the {@link uspoof_check2} class of functions to return
- * information about the identifier. Information includes:
-@@ -1199,32 +1064,6 @@ uspoof_openCheckResult(UErrorCode *status);
- U_STABLE void U_EXPORT2
- uspoof_closeCheckResult(USpoofCheckResult *checkResult);
-
--#if U_SHOW_CPLUSPLUS_API
--
--U_NAMESPACE_BEGIN
--
--/**
-- * \class LocalUSpoofCheckResultPointer
-- * "Smart pointer" class, closes a USpoofCheckResult via `uspoof_closeCheckResult()`.
-- * For most methods see the LocalPointerBase base class.
-- *
-- * @see LocalPointerBase
-- * @see LocalPointer
-- * @stable ICU 58
-- */
--
--/**
-- * \cond
-- * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER.
-- * For now, suppress with a Doxygen cond
-- */
--U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckResultPointer, USpoofCheckResult, uspoof_closeCheckResult);
--/** \endcond */
--
--U_NAMESPACE_END
--
--#endif
--
- /**
- * Indicates which of the spoof check(s) have failed. The value is a bitwise OR of the constants for the tests
- * in question: USPOOF_RESTRICTION_LEVEL, USPOOF_CHAR_LIMIT, and so on.
-@@ -1355,36 +1194,6 @@ uspoof_areConfusableUTF8(const USpoofChecker *sc,
-
-
-
--#if U_SHOW_CPLUSPLUS_API
--/**
-- * A version of {@link uspoof_areConfusable} accepting UnicodeStrings.
-- *
-- * @param sc The USpoofChecker
-- * @param s1 The first of the two identifiers to be compared for
-- * confusability. The strings are in UTF-8 format.
-- * @param s2 The second of the two identifiers to be compared for
-- * confusability. The strings are in UTF-8 format.
-- * @param status The error code, set if an error occurred while attempting to
-- * perform the check.
-- * Confusability of the identifiers is not reported here,
-- * but through this function's return value.
-- * @return An integer value with bit(s) set corresponding to
-- * the type of confusability found, as defined by
-- * enum USpoofChecks. Zero is returned if the identifiers
-- * are not confusable.
-- *
-- * @stable ICU 4.2
-- *
-- * @see uspoof_areConfusable
-- */
--U_STABLE int32_t U_EXPORT2
--uspoof_areConfusableUnicodeString(const USpoofChecker *sc,
-- const icu::UnicodeString &s1,
-- const icu::UnicodeString &s2,
-- UErrorCode *status);
--#endif
--
--
- /**
- * Get the "skeleton" for an identifier.
- * Skeletons are a transformation of the input identifier;
-@@ -1463,38 +1272,6 @@ uspoof_getSkeletonUTF8(const USpoofChecker *sc,
- char *dest, int32_t destCapacity,
- UErrorCode *status);
-
--#if U_SHOW_CPLUSPLUS_API
--/**
-- * Get the "skeleton" for an identifier.
-- * Skeletons are a transformation of the input identifier;
-- * Two identifiers are confusable if their skeletons are identical.
-- * See Unicode UAX #39 for additional information.
-- *
-- * Using skeletons directly makes it possible to quickly check
-- * whether an identifier is confusable with any of some large
-- * set of existing identifiers, by creating an efficiently
-- * searchable collection of the skeletons.
-- *
-- * @param sc The USpoofChecker.
-- * @param type Deprecated in ICU 58. You may pass any number.
-- * Originally, controlled which of the Unicode confusable data
-- * tables to use.
-- * @param id The input identifier whose skeleton will be computed.
-- * @param dest The output identifier, to receive the skeleton string.
-- * @param status The error code, set if an error occurred while attempting to
-- * perform the check.
-- * @return A reference to the destination (skeleton) string.
-- *
-- * @stable ICU 4.2
-- */
--U_I18N_API icu::UnicodeString & U_EXPORT2
--uspoof_getSkeletonUnicodeString(const USpoofChecker *sc,
-- uint32_t type,
-- const icu::UnicodeString &id,
-- icu::UnicodeString &dest,
-- UErrorCode *status);
--#endif /* U_SHOW_CPLUSPLUS_API */
--
- /**
- * Get the set of Candidate Characters for Inclusion in Identifiers, as defined
- * in http://unicode.org/Public/security/latest/xidmodifications.txt
-@@ -1525,8 +1302,243 @@ uspoof_getInclusionSet(UErrorCode *status);
- U_STABLE const USet * U_EXPORT2
- uspoof_getRecommendedSet(UErrorCode *status);
-
-+/**
-+ * Serialize the data for a spoof detector into a chunk of memory.
-+ * The flattened spoof detection tables can later be used to efficiently
-+ * instantiate a new Spoof Detector.
-+ *
-+ * The serialized spoof checker includes only the data compiled from the
-+ * Unicode data tables by uspoof_openFromSource(); it does not include
-+ * include any other state or configuration that may have been set.
-+ *
-+ * @param sc the Spoof Detector whose data is to be serialized.
-+ * @param data a pointer to 32-bit-aligned memory to be filled with the data,
-+ * can be NULL if capacity==0
-+ * @param capacity the number of bytes available at data,
-+ * or 0 for preflighting
-+ * @param status an in/out ICU UErrorCode; possible errors include:
-+ * - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for serialization
-+ * - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad
-+ * @return the number of bytes written or needed for the spoof data
-+ *
-+ * @see utrie2_openFromSerialized()
-+ * @stable ICU 4.2
-+ */
-+U_STABLE int32_t U_EXPORT2
-+uspoof_serialize(USpoofChecker *sc,
-+ void *data, int32_t capacity,
-+ UErrorCode *status);
-+
-+U_CDECL_END
-+
- #if U_SHOW_CPLUSPLUS_API
-
-+U_NAMESPACE_BEGIN
-+
-+/**
-+ * \class LocalUSpoofCheckerPointer
-+ * "Smart pointer" class, closes a USpoofChecker via uspoof_close().
-+ * For most methods see the LocalPointerBase base class.
-+ *
-+ * @see LocalPointerBase
-+ * @see LocalPointer
-+ * @stable ICU 4.4
-+ */
-+/**
-+ * \cond
-+ * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER.
-+ * For now, suppress with a Doxygen cond
-+ */
-+U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckerPointer, USpoofChecker, uspoof_close);
-+/** \endcond */
-+
-+/**
-+ * \class LocalUSpoofCheckResultPointer
-+ * "Smart pointer" class, closes a USpoofCheckResult via `uspoof_closeCheckResult()`.
-+ * For most methods see the LocalPointerBase base class.
-+ *
-+ * @see LocalPointerBase
-+ * @see LocalPointer
-+ * @stable ICU 58
-+ */
-+
-+/**
-+ * \cond
-+ * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER.
-+ * For now, suppress with a Doxygen cond
-+ */
-+U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckResultPointer, USpoofCheckResult, uspoof_closeCheckResult);
-+/** \endcond */
-+
-+U_NAMESPACE_END
-+
-+/**
-+ * Limit the acceptable characters to those specified by a Unicode Set.
-+ * Any previously specified character limit is
-+ * is replaced by the new settings. This includes limits on
-+ * characters that were set with the uspoof_setAllowedLocales() function.
-+ *
-+ * The USPOOF_CHAR_LIMIT test is automatically enabled for this
-+ * USoofChecker by this function.
-+ *
-+ * @param sc The USpoofChecker
-+ * @param chars A Unicode Set containing the list of
-+ * characters that are permitted. Ownership of the set
-+ * remains with the caller. The incoming set is cloned by
-+ * this function, so there are no restrictions on modifying
-+ * or deleting the UnicodeSet after calling this function.
-+ * @param status The error code, set if this function encounters a problem.
-+ * @stable ICU 4.2
-+ */
-+U_STABLE void U_EXPORT2
-+uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status);
-+
-+
-+/**
-+ * Get a UnicodeSet for the characters permitted in an identifier.
-+ * This corresponds to the limits imposed by the Set Allowed Characters /
-+ * UnicodeSet functions. Limitations imposed by other checks will not be
-+ * reflected in the set returned by this function.
-+ *
-+ * The returned set will be frozen, meaning that it cannot be modified
-+ * by the caller.
-+ *
-+ * Ownership of the returned set remains with the Spoof Detector. The
-+ * returned set will become invalid if the spoof detector is closed,
-+ * or if a new set of allowed characters is specified.
-+ *
-+ *
-+ * @param sc The USpoofChecker
-+ * @param status The error code, set if this function encounters a problem.
-+ * @return A UnicodeSet containing the characters that are permitted by
-+ * the USPOOF_CHAR_LIMIT test.
-+ * @stable ICU 4.2
-+ */
-+U_STABLE const icu::UnicodeSet * U_EXPORT2
-+uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status);
-+
-+/**
-+ * Check the specified string for possible security issues.
-+ * The text to be checked will typically be an identifier of some sort.
-+ * The set of checks to be performed is specified with uspoof_setChecks().
-+ *
-+ * \note
-+ * Consider using the newer API, {@link uspoof_check2UnicodeString}, instead.
-+ * The newer API exposes additional information from the check procedure
-+ * and is otherwise identical to this method.
-+ *
-+ * @param sc The USpoofChecker
-+ * @param id A identifier to be checked for possible security issues.
-+ * @param position Deprecated in ICU 51. Always returns zero.
-+ * Originally, an out parameter for the index of the first
-+ * string position that failed a check.
-+ * This parameter may be NULL.
-+ * @param status The error code, set if an error occurred while attempting to
-+ * perform the check.
-+ * Spoofing or security issues detected with the input string are
-+ * not reported here, but through the function's return value.
-+ * @return An integer value with bits set for any potential security
-+ * or spoofing issues detected. The bits are defined by
-+ * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS)
-+ * will be zero if the input string passes all of the
-+ * enabled checks.
-+ * @see uspoof_check2UnicodeString
-+ * @stable ICU 4.2
-+ */
-+U_STABLE int32_t U_EXPORT2
-+uspoof_checkUnicodeString(const USpoofChecker *sc,
-+ const icu::UnicodeString &id,
-+ int32_t *position,
-+ UErrorCode *status);
-+
-+/**
-+ * Check the specified string for possible security issues.
-+ * The text to be checked will typically be an identifier of some sort.
-+ * The set of checks to be performed is specified with uspoof_setChecks().
-+ *
-+ * @param sc The USpoofChecker
-+ * @param id A identifier to be checked for possible security issues.
-+ * @param checkResult An instance of USpoofCheckResult to be filled with
-+ * details about the identifier. Can be NULL.
-+ * @param status The error code, set if an error occurred while attempting to
-+ * perform the check.
-+ * Spoofing or security issues detected with the input string are
-+ * not reported here, but through the function's return value.
-+ * @return An integer value with bits set for any potential security
-+ * or spoofing issues detected. The bits are defined by
-+ * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS)
-+ * will be zero if the input string passes all of the
-+ * enabled checks. Any information in this bitmask will be
-+ * consistent with the information saved in the optional
-+ * checkResult parameter.
-+ * @see uspoof_openCheckResult
-+ * @see uspoof_check2
-+ * @see uspoof_check2UTF8
-+ * @stable ICU 58
-+ */
-+U_STABLE int32_t U_EXPORT2
-+uspoof_check2UnicodeString(const USpoofChecker *sc,
-+ const icu::UnicodeString &id,
-+ USpoofCheckResult* checkResult,
-+ UErrorCode *status);
-+
-+/**
-+ * A version of {@link uspoof_areConfusable} accepting UnicodeStrings.
-+ *
-+ * @param sc The USpoofChecker
-+ * @param s1 The first of the two identifiers to be compared for
-+ * confusability. The strings are in UTF-8 format.
-+ * @param s2 The second of the two identifiers to be compared for
-+ * confusability. The strings are in UTF-8 format.
-+ * @param status The error code, set if an error occurred while attempting to
-+ * perform the check.
-+ * Confusability of the identifiers is not reported here,
-+ * but through this function's return value.
-+ * @return An integer value with bit(s) set corresponding to
-+ * the type of confusability found, as defined by
-+ * enum USpoofChecks. Zero is returned if the identifiers
-+ * are not confusable.
-+ *
-+ * @stable ICU 4.2
-+ *
-+ * @see uspoof_areConfusable
-+ */
-+U_STABLE int32_t U_EXPORT2
-+uspoof_areConfusableUnicodeString(const USpoofChecker *sc,
-+ const icu::UnicodeString &s1,
-+ const icu::UnicodeString &s2,
-+ UErrorCode *status);
-+
-+/**
-+ * Get the "skeleton" for an identifier.
-+ * Skeletons are a transformation of the input identifier;
-+ * Two identifiers are confusable if their skeletons are identical.
-+ * See Unicode UAX #39 for additional information.
-+ *
-+ * Using skeletons directly makes it possible to quickly check
-+ * whether an identifier is confusable with any of some large
-+ * set of existing identifiers, by creating an efficiently
-+ * searchable collection of the skeletons.
-+ *
-+ * @param sc The USpoofChecker.
-+ * @param type Deprecated in ICU 58. You may pass any number.
-+ * Originally, controlled which of the Unicode confusable data
-+ * tables to use.
-+ * @param id The input identifier whose skeleton will be computed.
-+ * @param dest The output identifier, to receive the skeleton string.
-+ * @param status The error code, set if an error occurred while attempting to
-+ * perform the check.
-+ * @return A reference to the destination (skeleton) string.
-+ *
-+ * @stable ICU 4.2
-+ */
-+U_I18N_API icu::UnicodeString & U_EXPORT2
-+uspoof_getSkeletonUnicodeString(const USpoofChecker *sc,
-+ uint32_t type,
-+ const icu::UnicodeString &id,
-+ icu::UnicodeString &dest,
-+ UErrorCode *status);
-+
- /**
- * Get the set of Candidate Characters for Inclusion in Identifiers, as defined
- * in http://unicode.org/Public/security/latest/xidmodifications.txt
-@@ -1559,34 +1571,6 @@ uspoof_getRecommendedUnicodeSet(UErrorCode *status);
-
- #endif /* U_SHOW_CPLUSPLUS_API */
-
--/**
-- * Serialize the data for a spoof detector into a chunk of memory.
-- * The flattened spoof detection tables can later be used to efficiently
-- * instantiate a new Spoof Detector.
-- *
-- * The serialized spoof checker includes only the data compiled from the
-- * Unicode data tables by uspoof_openFromSource(); it does not include
-- * include any other state or configuration that may have been set.
-- *
-- * @param sc the Spoof Detector whose data is to be serialized.
-- * @param data a pointer to 32-bit-aligned memory to be filled with the data,
-- * can be NULL if capacity==0
-- * @param capacity the number of bytes available at data,
-- * or 0 for preflighting
-- * @param status an in/out ICU UErrorCode; possible errors include:
-- * - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for serialization
-- * - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad
-- * @return the number of bytes written or needed for the spoof data
-- *
-- * @see utrie2_openFromSerialized()
-- * @stable ICU 4.2
-- */
--U_STABLE int32_t U_EXPORT2
--uspoof_serialize(USpoofChecker *sc,
-- void *data, int32_t capacity,
-- UErrorCode *status);
--
--
--#endif
-+#endif /* UCONFIG_NO_NORMALIZATION */
-
- #endif /* USPOOF_H */
---
-2.21.0
-
diff --git a/dev-libs/icu/files/icu-65.1-remove-bashisms.patch b/dev-libs/icu/files/icu-65.1-remove-bashisms.patch
new file mode 100644
index 000000000000..f052a06dc62c
--- /dev/null
+++ b/dev-libs/icu/files/icu-65.1-remove-bashisms.patch
@@ -0,0 +1,207 @@
+--- a/config/icu-config-bottom
++++ b/config/icu-config-bottom
+@@ -218,65 +218,65 @@
+ ;;
+
+ --cflags)
+- echo $ECHO_N "${CFLAGS} ${ECHO_C}"
++ printf "%s" "${CFLAGS} "
+ ;;
+
+ --cc)
+- echo $ECHO_N "${CC} ${ECHO_C}"
++ printf "%s" "${CC} "
+ ;;
+
+ --cxx)
+- echo $ECHO_N "${CXX} ${ECHO_C}"
++ printf "%s" "${CXX} "
+ ;;
+
+ --cxxflags)
+- echo $ECHO_N "${CXXFLAGS} ${ECHO_C}"
++ printf "%s" "${CXXFLAGS} "
+ ;;
+
+ --cppflags)
+ # Don't echo the -I. - it's unneeded.
+- echo $ECHO_N "${CPPFLAGS} ${ECHO_C}" | sed -e 's/-I. //'
++ printf "%s" "${CPPFLAGS} " | sed -e 's/-I. //'
+ ;;
+
+ --cppflags-searchpath)
+- echo $ECHO_N "-I${prefix}/include ${ECHO_C}"
++ printf "%s" "-I${prefix}/include "
+ ;;
+
+ --cppflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCPPFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCPPFLAGS} "
+ ;;
+
+ --cxxflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCXXFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCXXFLAGS} "
+ ;;
+
+ --cflags-dynamic)
+- echo $ECHO_N "${SHAREDLIBCFLAGS} ${ECHO_C}"
++ printf "%s" "${SHAREDLIBCFLAGS} "
+ ;;
+
+ --ldflags-system)
+- echo $ECHO_N "${LIBS} ${ECHO_C}"
++ printf "%s" "${LIBS} "
+ ;;
+
+ --ldflags)
+- echo $ECHO_N "${LDFLAGS} ${ICULIBS} ${ECHO_C}"
++ printf "%s" "${LDFLAGS} ${ICULIBS} "
+ # $RPATH_LDFLAGS
+ ;;
+
+ --ldflags-libsonly)
+- echo $ECHO_N "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} ${ECHO_C}"
++ printf "%s" "${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
+ ;;
+
+ --ldflags-icuio)
+- echo $ECHO_N " ${ICULIBS_ICUIO} ${ECHO_C}"
++ printf "%s" " ${ICULIBS_ICUIO} "
+ ;;
+
+ --ldflags-obsolete)
+- echo $ECHO_N "${ICULIBS_OBSOLETE} ${ECHO_C}"
++ printf "%s" "${ICULIBS_OBSOLETE} "
+ ;;
+
+ --ldflags-toolutil)
+- echo $ECHO_N " ${ICULIBS_TOOLUTIL} ${ECHO_C}"
++ printf "%s" " ${ICULIBS_TOOLUTIL} "
+ ;;
+
+ --ldflags-layout)
+@@ -285,7 +285,7 @@
+ ;;
+
+ --ldflags-searchpath)
+- echo $ECHO_N "-L${libdir} ${ECHO_C}"
++ printf "%s" "-L${libdir} "
+ ;;
+
+ --detect-prefix)
+@@ -321,47 +321,47 @@
+ ;;
+
+ --shared-datadir)
+- echo $ECHO_N "${datadir} ${ECHO_C}"
++ printf "%s" "${datadir} "
+ ;;
+
+ --incfile)
+- echo $ECHO_N "${pkglibdir}/Makefile.inc ${ECHO_C}"
++ printf "%s" "${pkglibdir}/Makefile.inc "
+ ;;
+
+ --incpkgdatafile)
+- echo $ECHO_N "${pkglibdir}/pkgdata.inc ${ECHO_C}"
++ printf "%s" "${pkglibdir}/pkgdata.inc "
+ ;;
+
+ --icudata)
+- echo $ECHO_N "${ICUDATA_NAME} ${ECHO_C}"
++ printf "%s" "${ICUDATA_NAME} "
+ ;;
+
+ --icudata-mode)
+- echo $ECHO_N "${PKGDATA_MODE} ${ECHO_C}"
++ printf "%s" "${PKGDATA_MODE} "
+ ;;
+
+ --icudata-install-dir)
+- echo $ECHO_N "${ICUPKGDATA_DIR} ${ECHO_C}"
++ printf "%s" "${ICUPKGDATA_DIR} "
+ ;;
+
+ --icudatadir)
+- echo $ECHO_N "${ICUDATA_DIR} ${ECHO_C}"
++ printf "%s" "${ICUDATA_DIR} "
+ ;;
+
+ --shlib-c)
+- echo $ECHO_N "${SHLIB_c} ${ECHO_C}"
++ printf "%s" "${SHLIB_c} "
+ ;;
+
+ --shlib-cc)
+- echo $ECHO_N "${SHLIB_cc} ${ECHO_C}"
++ printf "%s" "${SHLIB_cc} "
+ ;;
+
+ --version)
+- echo $ECHO_N $VERSION
++ printf "%s" "$VERSION"
+ ;;
+
+ --unicode-version)
+- echo $ECHO_N $UNICODE_VERSION
++ printf "%s" "$UNICODE_VERSION"
+ ;;
+
+ --host)
+--- a/config/Makefile.inc.in
++++ b/config/Makefile.inc.in
+@@ -124,12 +124,6 @@
+ # with usually. Many applications will want to add $(ICULIBS_I18N) as well.
+ ICULIBS = $(ICULIBS_BASE) $(ICULIBS_I18N) $(ICULIBS_COMMON) $(ICULIBS_DATA)
+
+-# Proper echo newline handling is needed in icu-config
+-ECHO_N=@ICU_ECHO_N@
+-ECHO_C=@ICU_ECHO_C@
+-# Not currently being used but good to have for proper tab handling
+-ECHO_T=@ICU_ECHO_T@
+-
+ ##################################################################
+ ##################################################################
+ #
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,24 +26,6 @@
+ PACKAGE="icu"
+ AC_SUBST(PACKAGE)
+
+-# Use custom echo test for newline option
+-# Current autoconf (2.65) gives incorrect echo newline option
+-# for icu-config
+-# This may be removed later - mow (June 17, 2010)
+-ICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T=
+-case `/bin/sh -c "echo -n x"` in
+--n*)
+- case `/bin/sh -c "echo 'x\c'"` in
+- *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character.
+- *) ICU_ECHO_C='\c';;
+- esac;;
+-*)
+- ICU_ECHO_N='-n';;
+-esac
+-AC_SUBST(ICU_ECHO_N)
+-AC_SUBST(ICU_ECHO_C)
+-AC_SUBST(ICU_ECHO_T)
+-
+ AC_MSG_CHECKING(for ICU version numbers)
+
+ # Get the ICU version from uversion.h or other headers
+--- a/icudefs.mk.in
++++ b/icudefs.mk.in
+@@ -161,11 +161,6 @@
+ ENABLE_STATIC = @ENABLE_STATIC@
+ ENABLE_SHARED = @ENABLE_SHARED@
+
+-# Echo w/o newline
+-
+-#ECHO_N = @ICU_ECHO_N@
+-#ECHO_C = @ICU_ECHO_C@
+-
+ # Commands to compile
+ COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
+ COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
diff --git a/dev-libs/icu/files/icu-68.1-nonunicode.patch b/dev-libs/icu/files/icu-68.1-nonunicode.patch
new file mode 100644
index 000000000000..e02c1413d996
--- /dev/null
+++ b/dev-libs/icu/files/icu-68.1-nonunicode.patch
@@ -0,0 +1,12 @@
+diff -ruN a/common/unicode/platform.h b/common/unicode/platform.h
+--- a/common/unicode/platform.h 2020-10-28 23:21:12.000000000 +0200
++++ b/common/unicode/platform.h 2020-11-28 20:48:53.223629867 +0200
+@@ -649,7 +649,7 @@
+ /* Use the predefined value. */
+ #elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED || \
+ U_PLATFORM == U_PF_EMSCRIPTEN
+-# define U_CHARSET_IS_UTF8 1
++# define U_CHARSET_IS_UTF8 0
+ #else
+ # define U_CHARSET_IS_UTF8 0
+ #endif
diff --git a/dev-libs/icu/icu-64.2.ebuild b/dev-libs/icu/icu-64.2.ebuild
deleted file mode 100644
index 64c1aa0d19ac..000000000000
--- a/dev-libs/icu/icu-64.2.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs
-
-DESCRIPTION="International Components for Unicode"
-HOMEPAGE="http://www.icu-project.org/"
-SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz"
-
-LICENSE="BSD"
-
-SLOT="0/${PV}"
-
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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}-58.1-remove-bashisms.patch"
- "${FILESDIR}/${PN}-64.2-darwin.patch"
- "${FILESDIR}/${PN}-64.1-data_archive_generation.patch"
-)
-
-src_prepare() {
- default
- eapply -p3 "${FILESDIR}/${PN}-64.2-extern_c.patch"
-
- 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
- )
-
- # 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-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/icu-75.1.ebuild b/dev-libs/icu/icu-75.1.ebuild
new file mode 100644
index 000000000000..e9aa58d8a42e
--- /dev/null
+++ b/dev-libs/icu/icu-75.1.ebuild
@@ -0,0 +1,179 @@
+# 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%.*}"
+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
+
+ 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 13ce236ee519..607468902fd7 100644
--- a/dev-libs/icu/metadata.xml
+++ b/dev-libs/icu/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="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/igraph/Manifest b/dev-libs/igraph/Manifest
index 545b292f7865..4c0c33ccd640 100644
--- a/dev-libs/igraph/Manifest
+++ b/dev-libs/igraph/Manifest
@@ -1 +1,4 @@
-DIST igraph-0.7.1.tar.gz 2967134 BLAKE2B 27f0a2f51e561a3ea2e2e6d31853fe10ffd66f9f67603d77f2c0449a4c2bcd4d45c98516b526fb0f23a871ebe3db1fcf0c691551714d044124778faa147bd30f SHA512 ac7d7e3fbc6d27ae69079224881ca03db2c7e0b50d016706f3e167c614e2c9332c675d2fcd3cde12874e13a8fc402d42222308c6195afadee15152cec93f94dd
+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.12.tar.gz 4373463 BLAKE2B b7fdd7046185bf501c9302721f6606e6affc0d91c16d195c6bd69e0b32f9dca7af701a963fd4a8b8558ac843fe4a5136c7fce2fe5595db469818e514db2325ac SHA512 1a7b055ab2148fdf04187d785895b930ae2a54ae0240ea9656e129a38347b1caeb28dda5a3a7e34282462363150d7afd25acf8cd335577ed441b8a5cecc0dd25
+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.7.1-unbundle.patch b/dev-libs/igraph/files/igraph-0.7.1-unbundle.patch
deleted file mode 100644
index 755e749c1868..000000000000
--- a/dev-libs/igraph/files/igraph-0.7.1-unbundle.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index acf76cd..a9db7bd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -167,7 +167,8 @@ if test "x$enable_gmp" != "xno"; then
- AC_CHECK_HEADER([gmp.h], [
- AC_DEFINE([HAVE_GMP], [1], [Define to 1 if you have the GMP library])
- gmp_support=yes
-- LDFLAGS="${LDFLAGS} -lgmp"
-+ GMP_LIBS="-lgmp"
-+ AC_SUBST(GMP_LIBS)
- PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -lgmp"
- ])
- ])
-@@ -231,24 +232,16 @@ else
- fi
-
- if test "$internal_blas" = "no"; then
-- AC_CHECK_LIB([blas], [daxpy_], [],
-- AC_CHECK_LIB([blas], [daxpy], [],
-- AC_CHECK_LIB([blas], [DAXPY_], [],
-- AC_CHECK_LIB([blas], [DAXPY], [],
-- [AC_MSG_RESULT(not found, trying to use -lblas anyway.)]))))
-- LDFLAGS="${LDFLAGS} -lblas"
-+ PKG_CHECK_MODULES([BLAS],[blas])
-+ CPPFLAGS="${CPPFLAGS} ${BLAS_CFLAGS}"
- PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -lblas"
- else
- AC_DEFINE([INTERNAL_BLAS], [1], [Define to 1 if you use the internal BLAS library])
- fi
-
- if test "$internal_lapack" = "no"; then
-- AC_CHECK_LIB([lapack], [dlarnv_], [],
-- AC_CHECK_LIB([lapack], [dlarnv], [],
-- AC_CHECK_LIB([lapack], [DLARNV_], [],
-- AC_CHECK_LIB([lapack], [DLARNV], [],
-- [AC_MSG_RESULT(not found, trying to use -llapack anyway.)]))))
-- LDFLAGS="${LDFLAGS} -llapack"
-+ PKG_CHECK_MODULES([LAPACK],[lapack])
-+ CPPFLAGS="${CPPFLAGS} ${LAPACK_CFLAGS}"
- PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -llapack"
- else
- AC_DEFINE([INTERNAL_LAPACK], [1], [Define to 1 if you use the internal LAPACK library])
-@@ -258,17 +251,15 @@ if test "$internal_arpack" = "no"; then
- if test "$tls_support" = "yes"; then
- AC_MSG_ERROR([Thread-local storage only supported with internal ARPACK library])
- fi
-- AC_CHECK_LIB([arpack], [dsaupd_], [],
-- AC_CHECK_LIB([arpack], [dsaupd], [],
-- AC_CHECK_LIB([arpack], [DSAUPD_], [],
-- AC_CHECK_LIB([arpack], [DSAUPD], [],
-- [AC_MSG_RESULT(not found, trying to use -larpack anyway.)]))))
-- LDFLAGS="${LDFLAGS} -larpack"
-+ PKG_CHECK_MODULES([ARPACK],[arpack])
-+ CPPFLAGS="${CPPFLAGS} ${ARPACK_CFLAGS}"
- PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -larpack"
- else
- AC_DEFINE([INTERNAL_ARPACK], [1], [Define to 1 if you use the internal ARPACK library])
- fi
-
-+PKG_CHECK_MODULES([CS],[cxsparse])
-+
- glpk_support=no
- AC_ARG_ENABLE(glpk, AC_HELP_STRING([--disable-glpk], [Compile without the GLPK library]))
- if test "x$enable_glpk" != "xno"; then
-@@ -283,7 +274,8 @@ if test "x$enable_glpk" != "xno"; then
- ], [
- AC_DEFINE([HAVE_GLPK], [1], [Define to 1 if you have the GLPK library])
- glpk_support=yes
-- LDFLAGS="${LDFLAGS} -lglpk"
-+ GLPK_LIBS="-lglpk"
-+ AC_SUBST(GLPK_LIBS)
- PKGCONFIG_LIBS_PRIVATE="${PKGCONFIG_LIBS_PRIVATE} -lglpk"
- ])
- ])
-diff --git a/examples/simple/igraph_arpack_rnsolve.out b/examples/simple/igraph_arpack_rnsolve.out
-index ec38497..6603034 100644
---- a/examples/simple/igraph_arpack_rnsolve.out
-+++ b/examples/simple/igraph_arpack_rnsolve.out
-@@ -16,7 +16,7 @@
- ---
- 22.0483 0
- -21.3281 0
---3.00735 -19.2957
-+-3.00735 19.2957
- ---
- 0.373224 0.226696 0.204213 0.0473383
- -0.289145 -0.296079 -0.0479785 0.156365
-@@ -31,7 +31,7 @@
- ---
- -21.3281 0
- -12.4527 0
---3.00735 -19.2957
-+-3.00735 19.2957
- ---
- -0.226696 0.695866 -0.204213 -0.0473383
- 0.296079 0.120213 0.0479785 -0.156365
-@@ -46,7 +46,7 @@
- ---
- -3.00735 19.2957
- -3.00735 -19.2957
--12.1099 6.27293
-+12.1099 -6.27293
- ---
- 0.0768616 -0.195028 -0.152389 0.21912
- 0.147607 0.0704569 0.346547 0.125122
-diff --git a/examples/simple/igraph_layout_merge2.out b/examples/simple/igraph_layout_merge2.out
-index dfe2c22..9fe81bf 100644
---- a/examples/simple/igraph_layout_merge2.out
-+++ b/examples/simple/igraph_layout_merge2.out
-@@ -1,13 +1,13 @@
---2.73912 -2.95429
---0.479512 -4.00008
--1.96326 -3.51798
--3.65613 -1.69214
--3.95248 0.780051
--2.73912 2.95429
--0.479512 4.00008
---1.96326 3.51798
---3.65613 1.69214
---3.95248 -0.780051
-+-2.55311 -3.13964
-+-0.22007 -4.0407
-+2.19703 -3.39835
-+3.77493 -1.45795
-+3.91094 1.03935
-+2.55311 3.13964
-+0.22007 4.0407
-+-2.19703 3.39835
-+-3.77493 1.45795
-+-3.91094 -1.03935
- -1.6061 6.30088
- -4.92661 5.80435
- -3.69637 8.92826
-diff --git a/examples/simple/igraph_sparsemat2.c b/examples/simple/igraph_sparsemat2.c
-index c39d0e5..fdfd264 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_sparsemat.h>
- #include <igraph_blas_internal.h>
-diff --git a/examples/simple/igraph_sparsemat3.c b/examples/simple/igraph_sparsemat3.c
-index 630bf1a..b23cbe1 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>
- #include <igraph_sparsemat.h>
-
-diff --git a/examples/simple/igraph_sparsemat4.c b/examples/simple/igraph_sparsemat4.c
-index 4d85bde..7497faf 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>
- #include <igraph_sparsemat.h>
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index e7085c5..194f4a0 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
-@@ -255,7 +250,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 \
-@@ -274,8 +269,8 @@ libigraph_la_SOURCES = $(SOURCES) $(HEADERS_PRIVATE)
- libigraph_la_CFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS)
- libigraph_la_CXXFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(WARNING_CFLAGS)
- libigraph_la_LDFLAGS = -no-undefined
--libigraph_la_LIBADD = -lm $(XML2_LIBS) $(F2C_LIB) $(BLAS_LIB) \
-- $(LAPACK_LIB) $(ARPACK_LIB) $(GLPK_LIB) $(PRPACK_LIB) \
-+libigraph_la_LIBADD = -lm $(XML2_LIBS) $(F2C_LIB) $(BLAS_LIBS) $(GMP_LIBS) \
-+ $(LAPACK_LIBS) $(ARPACK_LIBS) $(GLPK_LIBS) $(PRPACK_LIB) $(CS_LIBS) \
- $(PLFIT_LIB)
-
- if INTERNAL_GLPK
-diff --git a/src/sparsemat.c b/src/sparsemat.c
-index f96d022..6990c91 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 6da83b2..c0b82d6 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..9558d6f 100644
---- a/tests/mt.at
-+++ b/tests/mt.at
-@@ -29,5 +29,5 @@ 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/tests/types.at b/tests/types.at
-index f80a6a2..29ac739 100644
---- a/tests/types.at
-+++ b/tests/types.at
-@@ -133,7 +133,7 @@ AT_CLEANUP
- AT_SETUP([Sparse matrix, multiplications (igraph_sparsemat_t): ])
- AT_KEYWORDS([sparse matrix igraph_sparsemat_t])
- AT_COMPILE_CHECK([simple/igraph_sparsemat2.c], [simple/igraph_sparsemat2.out],
-- [], [INTERNAL], [-lblas])
-+ [], [INTERNAL], [$(${PKG_CONFIG} --libs blas)])
- AT_CLEANUP
-
- AT_SETUP([Sparse matrix, indexing (igraph_sparsemat_t): ])
---
-2.0.0
-
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..7f5111f0726e
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.10.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="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)
+ -DIGRAPH_WARNINGS_AS_ERRORS=OFF
+ -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..280105ef5c8d
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.11.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="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)
+ -DIGRAPH_WARNINGS_AS_ERRORS=OFF
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.10.12.ebuild b/dev-libs/igraph/igraph-0.10.12.ebuild
new file mode 100644
index 000000000000..30a8f524a0b5
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.12.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="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)
+ -DIGRAPH_WARNINGS_AS_ERRORS=OFF
+ -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..a8d0b8c64efd
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.4-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake 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)
+ -DIGRAPH_WARNINGS_AS_ERRORS=OFF
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.7.1-r2.ebuild b/dev-libs/igraph/igraph-0.7.1-r2.ebuild
deleted file mode 100644
index 83c2185d5b3e..000000000000
--- a/dev-libs/igraph/igraph-0.7.1-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="Creating and manipulating undirected and directed graphs"
-HOMEPAGE="http://www.igraph.org/"
-SRC_URI="http://www.igraph.org/nightly/get/c/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug gmp"
-
-RDEPEND="
- dev-libs/libxml2
- >=sci-libs/arpack-3
- virtual/blas
- virtual/lapack
- >=sci-libs/cxsparse-3
- sci-mathematics/glpk
- gmp? ( dev-libs/gmp:0 )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${P}-unbundle.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- tc-export PKG_CONFIG
- econf \
- $(use_enable gmp) \
- $(use_enable debug) \
- --disable-tls \
- --with-external-arpack \
- --with-external-blas \
- --with-external-lapack \
- --with-external-f2c \
- --with-external-glpk
-}
diff --git a/dev-libs/igraph/metadata.xml b/dev-libs/igraph/metadata.xml
index 6ba23eeb564f..ba6444db0beb 100644
--- a/dev-libs/igraph/metadata.xml
+++ b/dev-libs/igraph/metadata.xml
@@ -1,14 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
<longdescription lang="en">
-igraph is a free software package for creating and manipulating undirected and
-directed graphs. It includes implementations for classic graph theory problems
-like minimum spanning trees and network flow, and also implements algorithms for
-some recent network analysis methods, like community structure search.
-</longdescription>
+ igraph is a free software package for creating and manipulating undirected and
+ directed graphs. It includes implementations for classic graph theory problems
+ like minimum spanning trees and network flow, and also implements algorithms for
+ some recent network analysis methods, like community structure search.
+ </longdescription>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </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 9865b314e4a5..000000000000
--- a/dev-libs/iksemel/iksemel-1.4-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# 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 ppc ~ppc64 x86 ~x86-fbsd"
-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/iksemel/metadata.xml b/dev-libs/iksemel/metadata.xml
index 0d3b06fcb7e5..bb9dd8b1cfda 100644
--- a/dev-libs/iksemel/metadata.xml
+++ b/dev-libs/iksemel/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/ilbc-rfc3951/Manifest b/dev-libs/ilbc-rfc3951/Manifest
deleted file mode 100644
index 3dc92b229c1e..000000000000
--- a/dev-libs/ilbc-rfc3951/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ilbc-rfc3951.tar.gz 330306 BLAKE2B cf8c56d9fc3dd2dc6a2dd241f3b0cddb7e7f6cea126056d2ab94aaf8add382f1bc1d9b03c9a91110197e0d82253ca8e824cf37bc1622af26fdf0939204736c35 SHA512 7828a9c5a193ebdfcb383d1edad0868afdee0f71d1a8a878c7d9ea2078fd63f57d31b34ae2cf4890d5abc28c8f5f4ee940c665a126f0512d1e79c4f76a72fbcf
diff --git a/dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch b/dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch
deleted file mode 100644
index 8cc197d20626..000000000000
--- a/dev-libs/ilbc-rfc3951/files/ilbc-rfc3951-asneeded.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Makefile.am.orig 2006-07-11 01:18:20.000000000 +1000
-+++ src/Makefile.am 2006-07-11 01:21:20.000000000 +1000
-@@ -10,6 +10,8 @@
- doCPLC.c gainquant.c hpOutput.c iLBC_define.h lsf.c syntFilter.c \
- doCPLC.h gainquant.h hpOutput.h iLBC_encode.c lsf.h syntFilter.h
-
-+libilbc_la_LIBADD=-lm
-+
- ilbc_includedir=$(includedir)/ilbc
- ilbc_include_HEADERS=iLBC_decode.h iLBC_encode.h iLBC_define.h
-
diff --git a/dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild b/dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild
deleted file mode 100644
index d6f2d5ee5d01..000000000000
--- a/dev-libs/ilbc-rfc3951/ilbc-rfc3951-0-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils autotools
-
-DESCRIPTION="iLBC is a speech codec suitable for robust voice communication over IP"
-HOMEPAGE="https://webrtc.org/license/ilbc-freeware/"
-SRC_URI="http://simon.morlat.free.fr/download/1.1.x/source/ilbc-rfc3951.tar.gz"
-
-# relicensed under 3-clause BSD license, bug 390797
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ia64 ppc ppc64 sparc x86"
-IUSE=""
-
-S="${WORKDIR}/${PN}"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}"/${PN}-asneeded.patch
- eautoreconf
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die
-}
diff --git a/dev-libs/ilbc-rfc3951/metadata.xml b/dev-libs/ilbc-rfc3951/metadata.xml
deleted file mode 100644
index 9e1628707c92..000000000000
--- a/dev-libs/ilbc-rfc3951/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="person">
-<email>chainsaw@gentoo.org</email>
-<name>Tony Vroon</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/imath/Manifest b/dev-libs/imath/Manifest
new file mode 100644
index 000000000000..e3a201e2cc3d
--- /dev/null
+++ b/dev-libs/imath/Manifest
@@ -0,0 +1,3 @@
+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/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.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
new file mode 100644
index 000000000000..2f3f4ae00b0c
--- /dev/null
+++ b/dev-libs/imath/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>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <description>Gentoo Proxy Maintainers</description>
+ </maintainer>
+ <longdescription>
+ Basic, light-weight C++ library for efficient representation of 2D
+ and 3D vectors and matrices and data type common to computer graphics
+ applications.
+ </longdescription>
+ <use>
+ <flag name="large-stack">
+ Enables code to take advantage of large stack support
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">AcademySoftwareFoundation/Imath</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/inih/Manifest b/dev-libs/inih/Manifest
new file mode 100644
index 000000000000..52b0f107e155
--- /dev/null
+++ b/dev-libs/inih/Manifest
@@ -0,0 +1,2 @@
+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-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/inih/metadata.xml b/dev-libs/inih/metadata.xml
new file mode 100644
index 000000000000..d07fe526d52f
--- /dev/null
+++ b/dev-libs/inih/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>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>hurikhan77+bgo@gmail.com</email>
+ <name>Kai Krakow</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/benhoyt/inih/issues</bugs-to>
+ <remote-id type="github">benhoyt/inih</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/iniparser/files/iniparser-3.0-autotools.patch b/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
index 89c7f63d29af..361c96a7d4fb 100644
--- a/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
+++ b/dev-libs/iniparser/files/iniparser-3.0-autotools.patch
@@ -1,5 +1,5 @@
--- /dev/null
-+++ Makefile.am
++++ b/Makefile.am
@@ -0,0 +1,8 @@
+ACLOCAL_AMFLAGS = -I config
+
@@ -10,7 +10,7 @@
+
+include_HEADERS = src/dictionary.h src/iniparser.h
--- /dev/null
-+++ configure.ac
++++ b/configure.ac
@@ -0,0 +1,24 @@
+AC_PREREQ([2.65])
+AC_INIT([iniparser], [3.0], [ndevilla@free.fr])
diff --git a/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch b/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
index cb331b813093..b7cd17d2d226 100644
--- a/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
+++ b/dev-libs/iniparser/files/iniparser-3.0b-cpp.patch
@@ -1,9 +1,8 @@
-diff -ur iniparser3.0b/src/dictionary.c iniparser3.0b-patched/src/dictionary.c
---- iniparser3.0b/src/dictionary.c 2007-11-24 05:39:18.000000000 +0800
-+++ iniparser3.0b-patched/src/dictionary.c 2009-04-01 21:38:09.000000000 +0800
-@@ -38,6 +38,9 @@
+--- a/src/dictionary.c
++++ b/src/dictionary.c
+@@ -32,6 +32,9 @@
/*---------------------------------------------------------------------------
- Private functions
+ Private functions
---------------------------------------------------------------------------*/
+#ifdef __cplusplus
+extern "C" {
@@ -11,9 +10,9 @@ diff -ur iniparser3.0b/src/dictionary.c iniparser3.0b-patched/src/dictionary.c
/* Doubles the allocated size associated to a pointer */
/* 'size' is the current allocated size. */
-@@ -401,5 +404,10 @@
- dictionary_del(d);
- return 0 ;
+@@ -394,5 +397,10 @@
+ dictionary_del(d);
+ return 0 ;
}
+
+#ifdef __cplusplus
@@ -22,12 +21,11 @@ diff -ur iniparser3.0b/src/dictionary.c iniparser3.0b-patched/src/dictionary.c
+
#endif
/* vim: set ts=4 et sw=4 tw=75 */
-diff -ur iniparser3.0b/src/iniparser.h iniparser3.0b-patched/src/iniparser.h
---- iniparser3.0b/src/iniparser.h 2007-11-24 05:38:19.000000000 +0800
-+++ iniparser3.0b-patched/src/iniparser.h 2009-04-01 21:38:02.000000000 +0800
-@@ -41,6 +41,10 @@
- #define iniparser_getstr(d, k) iniparser_getstring(d, k, NULL)
- #define iniparser_setstr iniparser_setstring
+--- a/src/iniparser.h
++++ b/src/iniparser.h
+@@ -49,6 +49,10 @@
+ int iniparser_getnsec(dictionary * d);
+
+#ifdef __cplusplus
+extern "C" {
@@ -35,8 +33,8 @@ diff -ur iniparser3.0b/src/iniparser.h iniparser3.0b-patched/src/iniparser.h
+
/*-------------------------------------------------------------------------*/
/**
- @brief Get number of sections in a dictionary
-@@ -277,4 +281,8 @@
+ @brief Get name for section n in a dictionary.
+@@ -304,4 +308,8 @@
/*--------------------------------------------------------------------------*/
void iniparser_freedict(dictionary * d);
diff --git a/dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch b/dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch
new file mode 100644
index 000000000000..f6488810ac12
--- /dev/null
+++ b/dev-libs/iniparser/files/iniparser-4.0-out-of-bounds-read.patch
@@ -0,0 +1,11 @@
+--- a/src/iniparser.c
++++ b/src/iniparser.c
+@@ -663,7 +663,7 @@
+ while (fgets(line+last, ASCIILINESZ-last, in)!=NULL) {
+ lineno++ ;
+ len = (int)strlen(line)-1;
+- if (len==0)
++ if (len<=0)
+ continue;
+ /* Safety check against buffer overflows */
+ if (line[len]!='\n') {
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-r1.ebuild b/dev-libs/iniparser/iniparser-3.1-r1.ebuild
deleted file mode 100644
index 5a02a6f91bcf..000000000000
--- a/dev-libs/iniparser/iniparser-3.1-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-utils autotools-multilib
-
-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 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )
- sys-devel/libtool"
-RDEPEND=""
-
-# the tests are rather examples than tests, no point in running them
-RESTRICT="test"
-
-S="${WORKDIR}/${PN}"
-
-DOCS=( AUTHORS README )
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.0b-cpp.patch"
- "${FILESDIR}/${PN}-3.0-autotools.patch"
-)
-
-src_install() {
- autotools-multilib_src_install
-
- if use doc; then
- emake -C doc
- dohtml -r html/*
- fi
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins test/*.{c,ini,py}
- fi
-}
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-3.1.ebuild b/dev-libs/iniparser/iniparser-3.1.ebuild
deleted file mode 100644
index 93933b43ee75..000000000000
--- a/dev-libs/iniparser/iniparser-3.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-utils
-
-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 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="doc examples static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )
- sys-devel/libtool"
-RDEPEND=""
-
-# the tests are rather examples than tests, no point in running them
-RESTRICT="test"
-
-S="${WORKDIR}/${PN}"
-
-DOCS=( AUTHORS README )
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.0b-cpp.patch"
- "${FILESDIR}/${PN}-3.0-autotools.patch"
-)
-
-src_install() {
- autotools-utils_src_install
-
- if use doc; then
- emake -C doc
- dohtml -r html/*
- fi
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins test/*.{c,ini,py}
- fi
-}
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 5f364a2aa3c0..000000000000
--- a/dev-libs/iniparser/iniparser-4.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib 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 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-DOCS=( AUTHORS README.md )
-
-_newlib_so_with_symlinks() {
- local source="${1}" base="${2}" current="${3}" revision="${4}" age="${5}"
- local libdir="$(get_libdir)"
-
- newlib.so ${source} ${base}.so.${current}.${revision}.${age}
- for i in ".${current}" '' ; do
- dosym ${base}.so.${current}.${revision}.${age} /usr/${libdir}/${base}.so${i}
- done
-}
-
-src_prepare() {
- rm -R html || die
- eapply_user
-}
-
-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() {
- use static-libs && newlib.a lib${PN}.a lib${PN}${SLOT}.a
- _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
- local examplesdir="/usr/share/doc/${PF}/examples"
- insinto "${examplesdir}"
- doins example/*
- docompress -x "${examplesdir}"
- fi
-
- einstalldocs
-}
diff --git a/dev-libs/iniparser/metadata.xml b/dev-libs/iniparser/metadata.xml
index 8089cd3614e6..3b48e648fba0 100644
--- a/dev-libs/iniparser/metadata.xml
+++ b/dev-libs/iniparser/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<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/injeqt-1.2.0.ebuild b/dev-libs/injeqt/injeqt-1.2.0.ebuild
deleted file mode 100644
index 3d9de6be309d..000000000000
--- a/dev-libs/injeqt/injeqt-1.2.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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" )
-
-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 ccbbf94ee474..000000000000
--- a/dev-libs/injeqt/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/input-pad/files/input-pad-Wreturn-type.patch b/dev-libs/input-pad/files/input-pad-Wreturn-type.patch
new file mode 100644
index 000000000000..2e50f8bce2b0
--- /dev/null
+++ b/dev-libs/input-pad/files/input-pad-Wreturn-type.patch
@@ -0,0 +1,23 @@
+--- a/input-pad/window-gtk.c
++++ b/input-pad/window-gtk.c
+@@ -5462,7 +5462,7 @@
+
+ app = INPUT_PAD_GTK_APPLICATION (window_data);
+
+- g_return_if_fail (app->window != NULL);
++ g_return_val_if_fail (app->window != NULL, 0);
+
+ return gtk_widget_get_visible (GTK_WIDGET (app->window));
+ }
+@@ -5661,8 +5661,9 @@
+ {
+ InputPadGtkApplication *app;
+
+- g_return_if_fail (window_data != NULL &&
+- INPUT_PAD_IS_GTK_APPLICATION (window_data));
++ g_return_val_if_fail (window_data != NULL &&
++ INPUT_PAD_IS_GTK_APPLICATION (window_data),
++ -1);
+
+ app = INPUT_PAD_GTK_APPLICATION (window_data);
+
diff --git a/dev-libs/input-pad/files/input-pad-man.patch b/dev-libs/input-pad/files/input-pad-man.patch
new file mode 100644
index 000000000000..f54580f776ed
--- /dev/null
+++ b/dev-libs/input-pad/files/input-pad-man.patch
@@ -0,0 +1,23 @@
+--- a/input-pad/Makefile.am
++++ b/input-pad/Makefile.am
+@@ -226,19 +226,15 @@
+ endif
+
+ man_one_in_files = input-pad.1.in
+-man_one_files = $(man_one_in_files:.1.in=.1)
+-man_one_DATA =$(man_one_files:.1=.1.gz)
++man_one_DATA = $(man_one_in_files:.1.in=.1)
+ man_onedir = $(mandir)/man1
+ %.1: %.1.in
+ $(AM_V_GEN) sed \
+ -e 's|@VERSION[@]|$(VERSION)|g' $< > $@.tmp && \
+ mv $@.tmp $@
+-%.1.gz: %.1
+- $(AM_V_GEN) gzip -c $< > $@.tmp && mv $@.tmp $@
+
+ CLEANFILES += \
+ $(BUILT_SOURCES) \
+- $(man_one_files) \
+ $(man_one_DATA) \
+ $(NULL)
+
diff --git a/dev-libs/input-pad/input-pad-1.0.99_pre20140916.ebuild b/dev-libs/input-pad/input-pad-1.0.99_pre20140916.ebuild
index f884a5d7fb2b..2294addb77a2 100644
--- a/dev-libs/input-pad/input-pad-1.0.99_pre20140916.ebuild
+++ b/dev-libs/input-pad/input-pad-1.0.99_pre20140916.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="7"
-inherit ltprune xdg-utils
+inherit autotools
MY_P="${P/_pre/.}"
MY_PV="${PV/_pre/.}"
@@ -27,15 +27,20 @@ RDEPEND="dev-libs/glib:2
eekboard? ( dev-libs/eekboard )
introspection? ( dev-libs/gobject-introspection )
xtest? ( x11-libs/libXtst )"
-DEPEND="${RDEPEND}
- dev-util/intltool
+DEPEND="${RDEPEND}"
+BDEPEND="dev-util/intltool
sys-devel/gettext
virtual/pkgconfig"
S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-Wreturn-type.patch
+ "${FILESDIR}"/${PN}-man.patch
+)
+
src_prepare() {
default
- xdg_environment_reset
+ eautoreconf
}
src_configure() {
@@ -48,5 +53,5 @@ src_configure() {
src_install() {
default
- prune_libtool_files
+ use static-libs || find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/input-pad/metadata.xml b/dev-libs/input-pad/metadata.xml
index fc144ccafd3d..8fde2285886f 100644
--- a/dev-libs/input-pad/metadata.xml
+++ b/dev-libs/input-pad/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>cjk@gentoo.org</email>
diff --git a/dev-libs/intel-compute-runtime/Manifest b/dev-libs/intel-compute-runtime/Manifest
new file mode 100644
index 000000000000..bd9666305d2e
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/Manifest
@@ -0,0 +1,2 @@
+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-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-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-compute-runtime/metadata.xml b/dev-libs/intel-compute-runtime/metadata.xml
new file mode 100644
index 000000000000..276e8daabc8a
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/metadata.xml
@@ -0,0 +1,34 @@
+<?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>
+ The Intel Graphics Compute Runtime for for oneAPI Level Zero and
+ OpenCL Driver, informally known as NEO, is an open source project providing
+ compute API support (Level Zero, OpenCL) for Intel graphics hardware
+ architectures (HD Graphics, Xe).
+ For OpenCL, NEO supports Intel Core processors with Gen8 graphics devices
+ (Broadwell architecture) and newer, as well as Intel Atom processors with Gen9
+ graphics devices (Apollo Lake, Gemini Lake).
+ Level Zero support is more limited and as of April 2020 still in early stages,
+ please consult upstream release notices for details.
+ </longdescription>
+ <use>
+ <flag name="l0">Install the oneAPI Level Zero driver alongside the OpenCL one</flag>
+ <flag name="vaapi">Support the sharing of surfaces with Video Acceleration API (OpenCL Extension #36)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">intel/compute-runtime</remote-id>
+ </upstream>
+</pkgmetadata>
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-neo/Manifest b/dev-libs/intel-neo/Manifest
deleted file mode 100644
index 67d09584a1a1..000000000000
--- a/dev-libs/intel-neo/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST intel-neo-19.16.12873.tar.gz 2370395 BLAKE2B 2efc76c9729d3ec000455270e923df1e3d0ec5d0a5c31cd156401b37c63ba01ee2a6051f487a98c4db10f61c2a70434f994f15472f54741ef4a80a71b036636f SHA512 1ec8b7883bfeefc1ed2095eac6111803a44e3c88e8bd1a478fb89a5baa4484fc96894f7ef0c01f4b6b9cb94731cdfc633f38ef2f636fdeb2d5e4344ca4aaa2ae
-DIST intel-neo-19.22.13062.tar.gz 2402939 BLAKE2B e47f19fa602444cb260a2cdd9b676201ec8e4c50fe55c4216f779b8edab3497b5249071edcf5d162457be4f72cd33868cf7a971d99b1ae60e7a5e3714a795e82 SHA512 81ad69d051add3eb8d64373ad2ede0b323a4330c9f18010130e9b3db4d78d6e30e2e37f01c0cb7a77e378af62d9d6dd62755a21b153ae753417a6a2556d61b66
diff --git a/dev-libs/intel-neo/files/intel-neo-19.16.12873_cmake_no_libva_automagic.patch b/dev-libs/intel-neo/files/intel-neo-19.16.12873_cmake_no_libva_automagic.patch
deleted file mode 100644
index fbfdfd32dffe..000000000000
--- a/dev-libs/intel-neo/files/intel-neo-19.16.12873_cmake_no_libva_automagic.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -374,9 +374,9 @@
- endif()
-
- # LibVA detection
--if(UNIX)
-+if(UNIX AND ENABLE_VAAPI_MEDIA_SHARING)
- set(IGDRCL__LIBVA_IS_REQUIRED "")
-- if(IGDRCL_FORCE_USE_LIBVA)
-+ if(IGDRCL_FORCE_USE_LIBVA OR ENABLE_VAAPI_MEDIA_SHARING)
- set(IGDRCL__LIBVA_IS_REQUIRED "REQUIRED")
- endif()
-
diff --git a/dev-libs/intel-neo/intel-neo-19.16.12873.ebuild b/dev-libs/intel-neo/intel-neo-19.16.12873.ebuild
deleted file mode 100644
index ac08c8c0ab25..000000000000
--- a/dev-libs/intel-neo/intel-neo-19.16.12873.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-MY_PN="compute-runtime"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Intel Graphics Compute Runtime for OpenCL, for Gen8 (Broadwell) and beyond"
-HOMEPAGE="https://github.com/intel/compute-runtime"
-SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="vaapi"
-
-COMMON="dev-libs/ocl-icd
- dev-util/intel-graphics-compiler
- >=media-libs/gmmlib-19.0.0
- vaapi? (
- x11-libs/libdrm[video_cards_intel]
- >=x11-libs/libva-2.0.0
- )"
-DEPEND="${COMMON}
- virtual/pkgconfig"
-RDEPEND="${COMMON}"
-
-DOCS=(
- README.md
- documentation/FAQ.md
- documentation/LIMITATIONS.md
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-19.16.12873_cmake_no_libva_automagic.patch
-)
-
-S="${WORKDIR}"/${MY_P}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_VAAPI_MEDIA_SHARING=$(usex vaapi "ON" "OFF")
- # 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-utils_src_configure
-}
-
-pkg_postinst() {
- "${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
-}
diff --git a/dev-libs/intel-neo/intel-neo-19.22.13062.ebuild b/dev-libs/intel-neo/intel-neo-19.22.13062.ebuild
deleted file mode 100644
index fa2b3c8393e5..000000000000
--- a/dev-libs/intel-neo/intel-neo-19.22.13062.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-MY_PN="compute-runtime"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Intel Graphics Compute Runtime for OpenCL, for Gen8 (Broadwell) and beyond"
-HOMEPAGE="https://github.com/intel/compute-runtime"
-SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="vaapi"
-
-BDEPEND="virtual/pkgconfig"
-COMMON="dev-libs/ocl-icd
- dev-util/intel-graphics-compiler
- >=media-libs/gmmlib-19.0.0
- vaapi? (
- x11-libs/libdrm[video_cards_intel]
- >=x11-libs/libva-2.0.0
- )"
-DEPEND="${COMMON}
- media-libs/mesa" # for Khronos OpenGL headers
-RDEPEND="${COMMON}"
-
-DOCS=(
- README.md
- documentation/FAQ.md
- documentation/LIMITATIONS.md
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-19.16.12873_cmake_no_libva_automagic.patch
-)
-
-S="${WORKDIR}"/${MY_P}
-
-src_configure() {
- local mycmakeargs=(
- -DKHRONOS_GL_HEADERS_DIR="${EPREFIX}/usr/include"
- -DENABLE_VAAPI_MEDIA_SHARING=$(usex vaapi "ON" "OFF")
- # 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-utils_src_configure
-}
-
-pkg_postinst() {
- "${ROOT}"/usr/bin/eselect opencl set --use-old ocl-icd
-}
diff --git a/dev-libs/intel-neo/metadata.xml b/dev-libs/intel-neo/metadata.xml
deleted file mode 100644
index 2c902f213320..000000000000
--- a/dev-libs/intel-neo/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <longdescription>The Intel Graphics Compute Runtime for OpenCL, informally
- known as NEO, is an open source project to converge Intel's development
- efforts on OpenCL compute stacks supporting Gen8 graphics devices
- (Broadwell architecture) and newer.
- For OpenCL support on Sandy Bridge, Ivy Bridge and Haswell architectures
- please have a look at <pkg>dev-libs/beignet</pkg> instead.</longdescription>
- <use>
- <flag name="vaapi">Support the sharing of surfaces with Video Acceleration API
- (OpenCL Extension #36)</flag>
- </use>
- <upstream>
- <remote-id type="github">intel/compute-runtime</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
new file mode 100644
index 000000000000..bfbf741347fa
--- /dev/null
+++ b/dev-libs/isa-l/Manifest
@@ -0,0 +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-no-D.patch b/dev-libs/isa-l/files/isa-l-2.30.0_makefile-no-D.patch
new file mode 100644
index 000000000000..98c37f3cc42f
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.30.0_makefile-no-D.patch
@@ -0,0 +1,16 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -142,11 +142,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) ${D}
++AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${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.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
new file mode 100644
index 000000000000..e80e64915e67
--- /dev/null
+++ b/dev-libs/isa-l/isa-l-2.30.0-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 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.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 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/isa-l-2.31.0.ebuild b/dev-libs/isa-l/isa-l-2.31.0.ebuild
new file mode 100644
index 000000000000..a8bd9bde2c95
--- /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/metadata.xml b/dev-libs/isa-l/metadata.xml
new file mode 100644
index 000000000000..79b2a15f343d
--- /dev/null
+++ b/dev-libs/isa-l/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 is a collection of optimized low-level functions targeting storage applications. ISA-L includes:
+ * Erasure codes - Fast block Reed-Solomon type erasure codes for any encode/decode matrix in GF(2^8).
+ * CRC - Fast implementations of cyclic redundancy check. Six different polynomials supported.
+ * iscsi32, ieee32, t10dif, ecma64, iso64, jones64.
+ * Raid - calculate and operate on XOR and P+Q parity found in common RAID implementations.
+ * Compression - Fast deflate-compatible data compression.
+ * De-compression - Fast inflate-compatible data compression.
+ * igzip - A command line application like gzip, accelerated with ISA-L.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">intel/isa-l</remote-id>
+ </upstream>
+</pkgmetadata>
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 33262140120e..0d86e71006ab 100644
--- a/dev-libs/isl/Manifest
+++ b/dev-libs/isl/Manifest
@@ -1,11 +1 @@
-DIST isl-0.12.2.tar.bz2 1319434 BLAKE2B 53f009dc8093fb3d7d2db40db8f6fd9d7de630777e0308ac3c5918c2c106eda0edd7451df18c954ed6c9fc3ed7d18c73708d7b1f94c8c5c55aa94f8845f5b219 SHA512 b5dea4d6b504fac22f2d8cd9c47d6896994d3966635a514d45010243db44cfbc009574b808f3587f35d91de629110bc11b52941d4075e21f8646c59656e62aea
-DIST isl-0.13.tar.bz2 1351299 BLAKE2B f2fe57b42d639a5125655067996e508cb16d03d7f054b15f22e4bfb624c26bc5c422742060be81af91fc59f719e7b6cf9e1c40790f51fca9ddedab175d998a10 SHA512 ac94cc6448ce8ed5ccf987fb29d86ddd5a63c904a83df3f24f66cde25e5657180a3f2b55b207635d43930e92c860d1043d3f14e9e715d593d53c956eb8346743
-DIST isl-0.14.1.tar.xz 1248204 BLAKE2B d4728a17a91131da65d61dc36293a5633712d4372a93721d428d0edc76835e3e9783b64cedd04fee3e1d94d37a6dee51856ef754d29316a4675cf1b02bd0610a SHA512 ccae0464771db50c498fd1f9f1006c9bc183fd77a0716507daeb5da6d435fdcffffa0942efc4589464f205615f9e46242a066f61790c40206be02f6cf8506635
-DIST isl-0.14.tar.xz 1247052 BLAKE2B f75a78b98c5662d0f67e9700b10cf70214ef27fb2ed775e678e4f60e05db9923aea51d1dec489d94d341e4c64a60d91ef0a7229bed737f6cdf616fb61d9b53c2 SHA512 cf43868d466d6ff08c5e15345d222ad153e8c4e86831f9854df716eb914c6c15f4c44b73aa6e0b16eb556d1a4d3c26af6f71e85421bf464cbbd053d5f3c515ee
-DIST isl-0.15.tar.xz 1406988 BLAKE2B baa3a7d8c77e7d8416a1c9215c35fc1d6d0034c1c2cdf2bd1da752aa564c0d946e4a6e0e26196209459e4a2309dcbd6ea1731564494374b95c657c7c58aeee02 SHA512 5e72816da133714fb752ddd10fbe9e8f18deef496445672c0a77429679e50f1def22e05e5ebe9acb5534fc8939a6e6a452ffa3607d479671864a76b6789bdab4
-DIST isl-0.16.1.tar.xz 1449164 BLAKE2B 8c048ad398d7c3de79f4d6a6c3d906b4086bbcf59c4c014a1f02cff472dc7ce92d8fec518dd3f13d389a8ffefda431ee335084c68191ec1350e78c12cf8cda03 SHA512 6faff2fe07267ba05c156158c36c25aa9beec6058f949b7bb9b8f042c5d01b7a3a17a6117c2c2a13ad6180308c8d03cfd469b237abf85290411599dde614788f
-DIST isl-0.17.1.tar.xz 1440564 BLAKE2B ab2dfd50a4c5adc5ebba172ab969475adf15f541305e63bed273e6a30d6087bcb9383cce16207bbcf89578bd98527f56df86b2a264c078dc9d730e3d59c326d2 SHA512 03d73e81db2a01c5dd31bec12816975988bf731f29b95637bc15ea24abf0becad6e8d650ca0bad45eaad4197cb0a1f5ca189aec638db162c56092a001e35d86b
-DIST isl-0.18.tar.xz 1475708 BLAKE2B 216d4d75e2bc03b3027c67ac7ab373aca6040ead12b2844504890d6fe6dd80e82c66d0f89eb1fc7451a23470445d2656f704971d3b8bfa2916154973e9b52038 SHA512 3606609765fc34740ab3014e2256d6bba7ff730463b014a0e4f5fcfb2e3dbef974503dff1f3702b307ef79ff86c5bc2c3ce3c3c8511533971fd5d53ab45f6eea
-DIST isl-0.19.tar.xz 1515156 BLAKE2B 1be213df736f59123072778b9721db06130c935edf0805fd489d74c9effeb9eaf5b191de0a28e8a5138f79dc23ac9ebb213c57c020d0411afb305788b5f312cd SHA512 eeda0405d38f77a18c6e69128948dc29af7e44ce827e9fb538d3844c6e22db3b4126287ca0937d9bee7b528bbab7aad8d3729db36e74864196f57e81943dade4
-DIST isl-0.20.tar.xz 1539064 BLAKE2B f1347c0126ba3ae9b5fa073d0f206a7f48d53edb40d87ddff18005d94754ea4d1fd3801ee913d3b7234124b6c1447990e5d299fad6c6b7ff1d022ede82bba9b2 SHA512 394bccd22d8e63cb052a60ad8b1a75f4ec43916a9482c66f5167b534b538161179c47919815983b7fbc20dfaa1a590e88b251850aa092bbffc2891635bf30dc4
-DIST isl-0.21.tar.xz 1621680 BLAKE2B ffd0c8aa7d489283ac958c280c05fe0c9ad621a10bd157d0522ac209a58e9bb6a8aad76c7a49b42d5e1c0f3605d0fb05a41ed6f2bb9aabb4f06060a5bbb65de5 SHA512 87ebc2fd6d4325cdfa82295a659ed6dbd70760a776b733e5503bbf8baa8fe80d905879728e9c7f23d2f3bcd7e78c00a66ab166c013ae97b603f7c460c69668ec
+DIST isl-0.26.tar.xz 2035560 BLAKE2B 2cfe2e0774a991d2385e66f58490c5454382cabc82d74eb4bbe5a603293b7bdc34ca3b087f0884f9da319c447747edc76275ecaf2f171237939f9c7d3c52ced7 SHA512 9b5ec16d14e48f9ac9bf9cd379d3022959cfc617ade9e0d4caf2862299564fecba09d67dbdf1a4071f2f743a4fd0fabd0b0c3d15f5cddfe7226cdd5d6c2a0c66
diff --git a/dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch b/dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch
deleted file mode 100644
index 58e80b29687e..000000000000
--- a/dev-libs/isl/files/isl-0.07-gdb-autoload-dir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Install python module into gdb auto-load directory.
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -2189,9 +2189,9 @@ install-data-local: $(srcdir)/isl.py
- case $$libisl in \
- '') echo Cannot find isl library name. GDB bindings not installed.;; \
- *) echo $(INSTALL_DATA) $(srcdir)/isl.py \
-- $(DESTDIR)$(libdir)/$$libisl-gdb.py; \
-- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"; \
-- $(INSTALL_DATA) $(srcdir)/isl.py $(DESTDIR)$(libdir)/$$libisl-gdb.py; esac
-+ $(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)/isl.py $(DESTDIR)$(prefix)/share/gdb/auto-load$(libdir)/$$libisl-gdb.py; esac
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
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-gdb-autoload-dir.patch b/dev-libs/isl/files/isl-0.24-gdb-autoload-dir.patch
new file mode 100644
index 000000000000..6751d5755fbe
--- /dev/null
+++ b/dev-libs/isl/files/isl-0.24-gdb-autoload-dir.patch
@@ -0,0 +1,35 @@
+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/Makefile.am b/Makefile.am
+index 96cac65..8bb6aa2 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -639,10 +639,10 @@ install-data-local: $(srcdir)/libisl-gdb.py
+ 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-respect-flags.patch b/dev-libs/isl/files/isl-0.24-respect-flags.patch
new file mode 100644
index 000000000000..e00748b24330
--- /dev/null
+++ b/dev-libs/isl/files/isl-0.24-respect-flags.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/815700
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,7 +22,6 @@ AC_PROG_CC
+ AC_PROG_CXX
+ AX_PROG_CC_FOR_BUILD
+
+-AX_CC_MAXOPT
+ AX_GCC_WARN_UNUSED_RESULT
+ AX_C___ATTRIBUTE__
+
+--
+
diff --git a/dev-libs/isl/isl-0.12.2.ebuild b/dev-libs/isl/isl-0.12.2.ebuild
deleted file mode 100644
index ebc4308be9d0..000000000000
--- a/dev-libs/isl/isl-0.12.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0/10"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.13.ebuild b/dev-libs/isl/isl-0.13.ebuild
deleted file mode 100644
index c023fa026d54..000000000000
--- a/dev-libs/isl/isl-0.13.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0/13"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.14.1.ebuild b/dev-libs/isl/isl-0.14.1.ebuild
deleted file mode 100644
index 0378477e7605..000000000000
--- a/dev-libs/isl/isl-0.14.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/14"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.14.ebuild b/dev-libs/isl/isl-0.14.ebuild
deleted file mode 100644
index 0378477e7605..000000000000
--- a/dev-libs/isl/isl-0.14.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/14"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.15.ebuild b/dev-libs/isl/isl-0.15.ebuild
deleted file mode 100644
index 9d9ec2c2bdad..000000000000
--- a/dev-libs/isl/isl-0.15.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/15"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.16.1.ebuild b/dev-libs/isl/isl-0.16.1.ebuild
deleted file mode 100644
index b2dd215071ee..000000000000
--- a/dev-libs/isl/isl-0.16.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/15"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.17.1.ebuild b/dev-libs/isl/isl-0.17.1.ebuild
deleted file mode 100644
index b2dd215071ee..000000000000
--- a/dev-libs/isl/isl-0.17.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/15"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.18.ebuild b/dev-libs/isl/isl-0.18.ebuild
deleted file mode 100644
index b2dd215071ee..000000000000
--- a/dev-libs/isl/isl-0.18.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/15"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.07-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/isl/isl-0.19.ebuild b/dev-libs/isl/isl-0.19.ebuild
deleted file mode 100644
index 2aba05792855..000000000000
--- a/dev-libs/isl/isl-0.19.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal preserve-libs
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/19"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.19-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
-
-pkg_preinst() {
- preserve_old_lib \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15)
-}
diff --git a/dev-libs/isl/isl-0.20.ebuild b/dev-libs/isl/isl-0.20.ebuild
deleted file mode 100644
index 2aba05792855..000000000000
--- a/dev-libs/isl/isl-0.20.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib-minimal preserve-libs
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/19"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.19-gdb-autoload-dir.patch
-
- # m4/ax_create_pkgconfig_info.m4 is broken but avoid eautoreconf
- # https://groups.google.com/group/isl-development/t/37ad876557e50f2c
- sed -i -e '/Libs:/s:@LDFLAGS@ ::' configure || die #382737
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
-
-pkg_preinst() {
- preserve_old_lib \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15)
-}
diff --git a/dev-libs/isl/isl-0.21.ebuild b/dev-libs/isl/isl-0.21.ebuild
deleted file mode 100644
index 89604d8e331d..000000000000
--- a/dev-libs/isl/isl-0.21.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils multilib-minimal preserve-libs
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/21"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19-gdb-autoload-dir.patch
-)
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete
-}
-
-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)
-}
-
-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)
-}
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/isl/metadata.xml b/dev-libs/isl/metadata.xml
index 04fc72b6cec6..5c9940dd9b61 100644
--- a/dev-libs/isl/metadata.xml
+++ b/dev-libs/isl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>toolchain@gentoo.org</email>
diff --git a/dev-libs/ivykis/Manifest b/dev-libs/ivykis/Manifest
index 0ee958213d40..8c0abd3b537c 100644
--- a/dev-libs/ivykis/Manifest
+++ b/dev-libs/ivykis/Manifest
@@ -1,3 +1,2 @@
-DIST ivykis-0.42.2.tar.gz 653885 BLAKE2B e4a5310ce6fd15aea79091edd56221f77c64a68472fa9bd44715da8c21b4b54f55c2e8c886491afcb8c206107b78b20cd7ad727a96690e8c718f2a2aaeb32aac SHA512 0a166869b434668219c379a8acf7b2da17cb1e29aef74f9dde869a322d3b34e36c84bd67800f7fb234a29bf9372061329189f02ab6d7f85bb2622b4c43185270
-DIST ivykis-0.42.3.tar.gz 654302 BLAKE2B 75a143b71bf69371b0b58c8ce342f404c8b67604480523e91b37541c74305950996696dae1c8b03277c240c7ff259560ce26a2899c52fb804f0114b8575918ed SHA512 d67560775d236dd205ef0f5de42bb7fedf52855ff0624f8abcb4ac80a75d4695650fcfbdf88b0e7339bf5c250df741428941881c3d7a2551ffe987cc31dff514
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/files/ivykis-fix-segfault-glibc-2.28.patch b/dev-libs/ivykis/files/ivykis-fix-segfault-glibc-2.28.patch
deleted file mode 100644
index 5d7352669f21..000000000000
--- a/dev-libs/ivykis/files/ivykis-fix-segfault-glibc-2.28.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# https://github.com/buytenh/ivykis/issues/15
-# https://github.com/buytenh/ivykis/pull/16
-
-diff --git a/configure.ac b/configure.ac
-index e9b10c0..56440d1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -88,6 +88,8 @@ esac
- # link in libpthread_nonshared.a if it is available.
- #
- AC_CHECK_LIB([pthread_nonshared], [pthread_atfork])
-+# the lib is gone in glibc 2.28, things are now in c_nonshared
-+AC_CHECK_LIB([c_nonshared], [pthread_atfork])
-
- # Checks for header files.
- AC_CHECK_HEADERS([process.h])
-diff --git a/src/pthr.h b/src/pthr.h
-index a41eaf3..32c1af2 100644
---- a/src/pthr.h
-+++ b/src/pthr.h
-@@ -42,7 +42,7 @@ static inline int pthreads_available(void)
- * symbol because that causes it to be undefined even if you link
- * libpthread_nonshared.a in explicitly.
- */
--#ifndef HAVE_LIBPTHREAD_NONSHARED
-+#if !defined(HAVE_LIBPTHREAD_NONSHARED) && !defined(HAVE_LIBC_NONSHARED)
- #pragma weak pthread_atfork
- #endif
-
diff --git a/dev-libs/ivykis/ivykis-0.42.2.ebuild b/dev-libs/ivykis/ivykis-0.42.2.ebuild
deleted file mode 100644
index b8f906e5f996..000000000000
--- a/dev-libs/ivykis/ivykis-0.42.2.ebuild
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ppc ppc64 sparc x86"
diff --git a/dev-libs/ivykis/ivykis-0.42.3-r1.ebuild b/dev-libs/ivykis/ivykis-0.42.3-r1.ebuild
deleted file mode 100644
index c08ded2a2c9b..000000000000
--- a/dev-libs/ivykis/ivykis-0.42.3-r1.ebuild
+++ /dev/null
@@ -1,35 +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 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 ~mips ppc ppc64 ~riscv ~s390 ~sh sparc x86"
-IUSE="static-libs"
-
-PATCHES=(
- "${FILESDIR}/${PN}-fix-segfault-glibc-2.28.patch" # Bug 675338
-)
-
-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/ivykis/ivykis-0.42.4.ebuild b/dev-libs/ivykis/ivykis-0.42.4.ebuild
index 01d96ca954e5..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-2019 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 ~sh ~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/ivykis/metadata.xml b/dev-libs/ivykis/metadata.xml
index 4f289fcb4a9d..379eff5a7fe1 100644
--- a/dev-libs/ivykis/metadata.xml
+++ b/dev-libs/ivykis/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>hydrapolic@gmail.com</email>
<name>Tomáš Mózes</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/dev-libs/jansson/Manifest b/dev-libs/jansson/Manifest
index cbe7f39fe408..24fa3b4d26fe 100644
--- a/dev-libs/jansson/Manifest
+++ b/dev-libs/jansson/Manifest
@@ -1,3 +1 @@
-DIST jansson-2.10.tar.gz 487855 BLAKE2B b1d83ad1a37e66cb7c497284a7958882d5a7e13cec2260d9cc2b5eaef648feea66b70305dec9193f10cf77f37bdda17605277ea41735708ca6a9898b79fef807 SHA512 e331d5c097b4acb0b1df7d90d1d3453c26bd34bfe2e06af0027665bee9efecc2bc61cc7ab5b70dab1262bf80a3315ffb53b4176874fe07e20eee4b9ea7071d44
-DIST jansson-2.11.tar.gz 483686 BLAKE2B 873283a1b41eef1c57fbcb3d4cdb8c33b850d95ee93c800cbcc009e3e9c9e87278beff11800e63894087e51c767dcbd555fbde48163376d53be2bf72b2eac72d SHA512 0ae77cf7ec264536313639458ba20b66e221078cddd209df3ce45c895b897799954abc1ca4b0d5993b974135652804be6bede2825503469d56303470888382f8
-DIST jansson-2.12.tar.gz 489154 BLAKE2B cf6bc6d03daba921ec5e033bf57ff0055741cc935adb14d5d4a5f04056fa93c292bf88367db071ef7bb32fbc5d2d6f5f2ce658815a17939bd38ed5c0676ad091 SHA512 e40bdafdfa1fa663f71e00c06d7bfc98cff4ed3581a147894e5272e50fa5f9b9a7af6aaca41ff423a2ddd2554a192b36efcc32f6a3c98c727e9f819b955357cb
+DIST jansson-2.14.tar.bz2 434481 BLAKE2B b7b7e98360fd73f7925b88e3729a7a18307b4f05fed4b37659d24ddc03208469471d508dcd245534f73af3b5e93f595e49e3cb2c99733955b03d471bd5a32f15 SHA512 1a659c0f41b0672757c13ebd16bd10ad7d6484366aefda078aa816266ce4f5638bc121f1ce8c4234b0b9f201ea73c227b9084125857452cbcba058a111e4a6fd
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/files/jansson-2.14-test-symbols.patch b/dev-libs/jansson/files/jansson-2.14-test-symbols.patch
new file mode 100644
index 000000000000..a5bf53347218
--- /dev/null
+++ b/dev-libs/jansson/files/jansson-2.14-test-symbols.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/814944
+https://github.com/akheron/jansson/commit/0677666f65b988b2dd44d02966a08fea490d5883
+
+From 0677666f65b988b2dd44d02966a08fea490d5883 Mon Sep 17 00:00:00 2001
+From: Petri Lehtinen <petri@digip.org>
+Date: Thu, 9 Sep 2021 21:53:11 +0300
+Subject: [PATCH] Fix the check-exports tests for versioned symbols
+
+---
+ test/suites/api/check-exports | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/suites/api/check-exports b/test/suites/api/check-exports
+index 2b6b3c79..5c82064c 100755
+--- a/test/suites/api/check-exports
++++ b/test/suites/api/check-exports
+@@ -15,7 +15,7 @@ grep 'json_\|jansson_' $top_srcdir/src/jansson.def \
+ nm -D $SOFILE >/dev/null >$test_log/symbols 2>/dev/null \
+ || exit 77 # Skip if "nm -D" doesn't seem to work
+
+-grep ' [DT] ' $test_log/symbols | cut -d' ' -f3 | grep -v '^_' | sort >$test_log/output
++grep ' [DT] ' $test_log/symbols | cut -d' ' -f3 | grep -v '^_' | sed 's/@@libjansson.*//' | sort >$test_log/output
+
+ if ! cmp -s $test_log/exports $test_log/output; then
+ diff -u $test_log/exports $test_log/output >&2
diff --git a/dev-libs/jansson/jansson-2.10.ebuild b/dev-libs/jansson/jansson-2.10.ebuild
deleted file mode 100644
index e8868fe3c1c0..000000000000
--- a/dev-libs/jansson/jansson-2.10.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 autotools multilib-minimal
-
-DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE="http://www.digip.org/jansson/"
-SRC_URI="http://www.digip.org/jansson/releases/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( >=dev-python/sphinx-1.0.4 )"
-RDEPEND=""
-
-src_prepare() {
- default
- sed -ie 's/-Werror//' src/Makefile.am || die
- eautoreconf
-}
-
-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
-}
diff --git a/dev-libs/jansson/jansson-2.11.ebuild b/dev-libs/jansson/jansson-2.11.ebuild
deleted file mode 100644
index 8e268e68cdc1..000000000000
--- a/dev-libs/jansson/jansson-2.11.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal
-
-DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE="http://www.digip.org/jansson/"
-SRC_URI="http://www.digip.org/jansson/releases/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( >=dev-python/sphinx-1.0.4 )"
-RDEPEND=""
-
-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.12.ebuild b/dev-libs/jansson/jansson-2.12.ebuild
deleted file mode 100644
index 5fee180dfaaa..000000000000
--- a/dev-libs/jansson/jansson-2.12.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2019 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="http://www.digip.org/jansson/"
-SRC_URI="http://www.digip.org/jansson/releases/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd"
-IUSE="doc static-libs"
-
-BDEPEND="doc? ( >=dev-python/sphinx-1.0.4 )"
-RDEPEND=""
-
-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/metadata.xml b/dev-libs/jansson/metadata.xml
index a4a2e61b9e7e..bbfcf37ef5f2 100644
--- a/dev-libs/jansson/metadata.xml
+++ b/dev-libs/jansson/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>zero-one@zer0-one.net</email>
<name>David Zero</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<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 ff71053391be..1f6abdde6487 100644
--- a/dev-libs/jemalloc/Manifest
+++ b/dev-libs/jemalloc/Manifest
@@ -1,6 +1 @@
-DIST jemalloc-3.6.0.tar.bz2 338964 BLAKE2B a5edacc85c5bebf3b373e7fc8bafd9449273ff58c2e44e94eb9900f54b11f2d8b837a3a8ee76cce46777ccc40dea23905b7ff81eef5af39ea1d3f98017b27111 SHA512 ebe7c64558a87a735b5906d5cb7527c241664eeae7328538675a12eabe7a1004be0f8766a3bd2a78e61334b196ca7ffc0ee8b8ff59167922a35f126cd1e76e43
-DIST jemalloc-4.4.0.tar.bz2 440144 BLAKE2B 6acb91c5be6c5b17c209341dd08e6973e3ad5ecdfe7ebe5d8c78181cddca1fccba3c11628e736d66acd7698f7813f38077033d39093bf2e4bd704c8b4de60e7b SHA512 2f88fb17ede3bf87e334e9c80949870e0dd85b5adcdd89a1750ccf6df5240f35293159ac0a360d3a29cf0b1d17edf86dcc7997c6bf3190ae7da7442d3a3cc14e
-DIST jemalloc-4.5.0.tar.bz2 449992 BLAKE2B 6141c71f7f5f9cee91a59eeed9c69b0a69b3cc39666aa608445073c11ee3ca9b4777a851c5cb5adac80d42bfbf10a6726e5dc1340ffe85ea1ee884d87c7865da SHA512 76953363fe1007952232220afa1a91da4c1c33c02369b5ad239d8dd1d0792141197c15e8489a8f4cd301b08494e65cadd8ecd34d025cb0285700dd78d7248821
-DIST jemalloc-5.0.1.tar.bz2 499300 BLAKE2B 551933fcd93315968cbf89bfadc40313717ff216141af8a131f2333d10090438ddf36fbfdc0ee831cbec6f930ae15aa9cfaafae72ed4f38dd97b00712ca918e8 SHA512 8cb5957a5724eb2bbad120cf0028ea8b2b14b4a416c1751b7c967351a7fd51135058ea0d3c4dc1d127c86f3aa7e9fd5ef101857110aabfdb7789427791c432c3
-DIST jemalloc-5.1.0.tar.bz2 515622 BLAKE2B 3c8b35d30fca0018e3e32452e6fa41c7ac59f9f2f7d4bc243237fde95025ab5a7562fb86b5afe2ca9b7bb072f7baf6ac7589a4862d9ebaafddae187d93e20da0 SHA512 d9abebe54d303ca931b8c31c1033f23ff5fb060f2377ec8386f4d79c352e65c78ed34f680c352dac14f7d7115d10245782d553d988bc13df2eb34a2f0942ef6f
-DIST jemalloc-5.2.0.tar.bz2 543892 BLAKE2B 042dd32452713d0524ae8aedbd3aa96a420037ae3ff0345bbf56a7839ae6ba9e0c700034fab9d5c7b6f4cbb43e2d8199b412901afce16c2785a816d439166e6d SHA512 e3be4d534770126caf10f2684aed9fe4ba1422dd47625fe50343cfb750f26eff869fcc7d1e30a96dd6c73f6614c4bbcd560fd24fc26b55ac731c43e60fd05234
+DIST jemalloc-5.3.0.tar.bz2 736023 BLAKE2B 9ff51616c3fb086d7cc021c59b83e5f0304d886993f4b5194a6956ffaf742cc509d08a2cf81ead6966c39a44f35621b57550f4a5c726c4508fd2c86c7c056ab0 SHA512 22907bb052096e2caffb6e4e23548aecc5cc9283dce476896a2b1127eee64170e3562fa2e7db9571298814a7a2c7df6e8d1fbe152bd3f3b0c1abec22a2de34b1
diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch
deleted file mode 100644
index 30cbd501ec5d..000000000000
--- a/dev-libs/jemalloc/files/jemalloc-3.5.1-no-pprof.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -urN a/Makefile.in b/Makefile.in
---- a/Makefile.in 2014-02-25 18:49:15.000000000 -0600
-+++ b/Makefile.in 2014-03-07 18:24:10.978141932 -0600
-@@ -73,7 +73,6 @@
- LIBJEMALLOC := $(LIBPREFIX)jemalloc$(install_suffix)
-
- # Lists of files.
--BINS := $(srcroot)bin/pprof $(objroot)bin/jemalloc.sh
- C_HDRS := $(objroot)include/jemalloc/jemalloc$(install_suffix).h
- C_SRCS := $(srcroot)src/jemalloc.c $(srcroot)src/arena.c \
- $(srcroot)src/atomic.c $(srcroot)src/base.c $(srcroot)src/bitmap.c \
-@@ -273,13 +272,6 @@
- build_lib_static: $(STATIC_LIBS)
- build_lib: build_lib_shared build_lib_static
-
--install_bin:
-- install -d $(BINDIR)
-- @for b in $(BINS); do \
-- echo "install -m 755 $$b $(BINDIR)"; \
-- install -m 755 $$b $(BINDIR); \
--done
--
- install_include:
- install -d $(INCLUDEDIR)/jemalloc
- @for h in $(C_HDRS); do \
diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch
deleted file mode 100644
index cc8736b84123..000000000000
--- a/dev-libs/jemalloc/files/jemalloc-3.5.1-strip-optimization.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -urN a/configure.ac b/configure.ac
---- a/configure.ac 2014-02-25 18:49:15.000000000 -0600
-+++ b/configure.ac 2014-03-07 18:19:53.718147847 -0600
-@@ -639,23 +639,6 @@
- AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
- fi
-
--dnl Only optimize if not debugging.
--if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then
-- dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS.
-- optimize="no"
-- echo "$CFLAGS $EXTRA_CFLAGS" | grep '\-O' >/dev/null || optimize="yes"
-- if test "x${optimize}" = "xyes" ; then
-- if test "x$GCC" = "xyes" ; then
-- JE_CFLAGS_APPEND([-O3])
-- JE_CFLAGS_APPEND([-funroll-loops])
-- elif test "x$je_cv_msvc" = "xyes" ; then
-- JE_CFLAGS_APPEND([-O2])
-- else
-- JE_CFLAGS_APPEND([-O])
-- fi
-- fi
--fi
--
- dnl Enable statistics calculation by default.
- AC_ARG_ENABLE([stats],
- [AS_HELP_STRING([--disable-stats],
diff --git a/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch b/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch
deleted file mode 100644
index 1ce5ad2ede95..000000000000
--- a/dev-libs/jemalloc/files/jemalloc-3.5.1_fix_html_install.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN a/Makefile.in b/Makefile.in
---- a/Makefile.in 2014-02-25 18:49:15.000000000 -0600
-+++ b/Makefile.in 2014-03-07 18:26:23.074138895 -0600
-@@ -317,7 +317,7 @@
- install -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 install_doc
-
diff --git a/dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch b/dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch
deleted file mode 100644
index 159702e6230c..000000000000
--- a/dev-libs/jemalloc/files/jemalloc-4.5.0-fix_html_install.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c04d0b954adef2d3f1a30d91dc687f6a03b108eb Mon Sep 17 00:00:00 2001
-From:
-Date: Mon, 29 May 2017 00:58:32 -0500
-Subject: [PATCH 2/2] Do not install html doc
-
----
- Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index e49a871..733932a 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -381,7 +381,7 @@ install_doc_man:
- $(INSTALL) -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 install_doc
-
---
-2.13.0
-
diff --git a/dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch
deleted file mode 100644
index 8b346be86c06..000000000000
--- a/dev-libs/jemalloc/files/jemalloc-4.5.0-strip-optimization.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c568271163445e380679788388f1cb1edbdeaf88 Mon Sep 17 00:00:00 2001
-From:
-Date: Mon, 29 May 2017 00:57:15 -0500
-Subject: [PATCH 1/2] Strip all optimization, let portage handle.
-
----
- configure.ac | 12 ------------
- 1 file changed, 12 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 20a8a64..d8af618 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -851,18 +851,6 @@ if test "x$enable_ivsalloc" = "x1" ; then
- AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
- fi
-
--dnl Only optimize if not debugging.
--if test "x$enable_debug" = "x0" ; then
-- if test "x$GCC" = "xyes" ; then
-- JE_CFLAGS_ADD([-O3])
-- JE_CFLAGS_ADD([-funroll-loops])
-- elif test "x$je_cv_msvc" = "xyes" ; then
-- JE_CFLAGS_ADD([-O2])
-- else
-- JE_CFLAGS_ADD([-O])
-- fi
--fi
--
- dnl Enable statistics calculation by default.
- AC_ARG_ENABLE([stats],
- [AS_HELP_STRING([--disable-stats],
---
-2.13.0
-
diff --git a/dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch b/dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch
deleted file mode 100644
index 523badf5775b..000000000000
--- a/dev-libs/jemalloc/files/jemalloc-5.0.1-strip-optimization.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 1551ded8..2f470672 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -976,21 +976,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/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-3.6.0.ebuild b/dev-libs/jemalloc/jemalloc-3.6.0.ebuild
deleted file mode 100644
index aed756dbaa7f..000000000000
--- a/dev-libs/jemalloc/jemalloc-3.6.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-multilib eutils flag-o-matic toolchain-funcs
-
-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"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="debug static-libs stats"
-
-HTML_DOCS=( doc/jemalloc.html )
-
-PATCHES=( "${FILESDIR}/${PN}-3.5.1-strip-optimization.patch"
- "${FILESDIR}/${PN}-3.5.1-no-pprof.patch"
- "${FILESDIR}/${PN}-3.5.1_fix_html_install.patch"
-)
-
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
-
-# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
-# but jemalloc doesn't implement them in its configure; need this here to
-# supress the warnings until automagic is removed from the eclass
-QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
-src_configure() {
- myeconfargs=(
- $(use_enable debug)
- $(use_enable stats)
- )
- use sparc && append-cppflags -DLG_QUANTUM=4 -mcpu=ultrasparc
- # The configure test for page shift requires running code which fails
- # when cross-compiling. Since it uses _SC_PAGESIZE, and the majority
- # of systems use 4096 as the base page size, just hardcode 12 here.
- tc-is-cross-compiler && export je_cv_static_page_shift=12
- autotools-multilib_src_configure
-}
-
-src_install() {
- autotools-multilib_src_install
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fixup install_name, #437362
- install_name_tool \
- -id "${EPREFIX}"/usr/$(get_libdir)/libjemalloc.1.dylib \
- "${ED}"/usr/$(get_libdir)/libjemalloc.1.dylib || die
- fi
- use static-libs || find "${ED}" -name '*.a' -delete
-}
diff --git a/dev-libs/jemalloc/jemalloc-4.4.0.ebuild b/dev-libs/jemalloc/jemalloc-4.4.0.ebuild
deleted file mode 100644
index 399d51c93202..000000000000
--- a/dev-libs/jemalloc/jemalloc-4.4.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs multilib-build 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="debug hardened static-libs stats"
-HTML_DOCS=( doc/jemalloc.html )
-PATCHES=( "${FILESDIR}/${PN}-3.5.1-strip-optimization.patch"
- "${FILESDIR}/${PN}-3.5.1_fix_html_install.patch"
-)
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
-# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
-# but jemalloc doesn't implement them in its configure; need this here to
-# supress the warnings until automagic is removed from the eclass
-QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
-
-multilib_src_configure() {
- local myconf=()
-
- if use hardened ; then
- myconf+=( --disable-syscall )
- fi
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable debug) \
- $(use_enable stats) \
- "${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.1.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-4.5.0.ebuild b/dev-libs/jemalloc/jemalloc-4.5.0.ebuild
deleted file mode 100644
index 5938140f4ee8..000000000000
--- a/dev-libs/jemalloc/jemalloc-4.5.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="debug hardened static-libs stats"
-HTML_DOCS=( doc/jemalloc.html )
-PATCHES=( "${FILESDIR}/${PN}-4.5.0-strip-optimization.patch"
- "${FILESDIR}/${PN}-4.5.0-fix_html_install.patch"
-)
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
-# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
-# but jemalloc doesn't implement them in its configure; need this here to
-# supress the warnings until automagic is removed from the eclass
-QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local myconf=()
-
- if use hardened ; then
- myconf+=( --disable-syscall )
- fi
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable debug) \
- $(use_enable stats) \
- "${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.1.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.0.1.ebuild b/dev-libs/jemalloc/jemalloc-5.0.1.ebuild
deleted file mode 100644
index f5ad09f06a68..000000000000
--- a/dev-libs/jemalloc/jemalloc-5.0.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE="debug hardened +hugepages lazy-lock static-libs stats xmalloc"
-HTML_DOCS=( doc/jemalloc.html )
-PATCHES=( "${FILESDIR}/${PN}-5.0.1-strip-optimization.patch"
- "${FILESDIR}/${PN}-4.5.0-fix_html_install.patch"
-)
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
-# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
-# but jemalloc doesn't implement them in its configure; need this here to
-# supress the warnings until automagic is removed from the eclass
-QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local myconf=()
-
- if use hardened ; then
- myconf+=( --disable-syscall )
- fi
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable debug) \
- $(use_enable lazy-lock) \
- $(use_enable hugepages thp) \
- $(use_enable stats) \
- $(use_enable xmalloc) \
- "${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
- use static-libs || find "${ED}" -name '*.a' -delete
-}
diff --git a/dev-libs/jemalloc/jemalloc-5.1.0.ebuild b/dev-libs/jemalloc/jemalloc-5.1.0.ebuild
deleted file mode 100644
index 7eda36ea909c..000000000000
--- a/dev-libs/jemalloc/jemalloc-5.1.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE="debug hardened lazy-lock static-libs stats xmalloc"
-HTML_DOCS=( doc/jemalloc.html )
-PATCHES=( "${FILESDIR}/${PN}-5.0.1-strip-optimization.patch"
- "${FILESDIR}/${PN}-4.5.0-fix_html_install.patch"
-)
-MULTILIB_WRAPPED_HEADERS=( /usr/include/jemalloc/jemalloc.h )
-# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
-# but jemalloc doesn't implement them in its configure; need this here to
-# supress the warnings until automagic is removed from the eclass
-QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local myconf=()
-
- if use hardened ; then
- myconf+=( --disable-syscall )
- fi
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable debug) \
- $(use_enable lazy-lock) \
- $(use_enable stats) \
- $(use_enable xmalloc) \
- "${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
- use static-libs || find "${ED}" -name '*.a' -delete
-}
diff --git a/dev-libs/jemalloc/jemalloc-5.2.0.ebuild b/dev-libs/jemalloc/jemalloc-5.2.0.ebuild
deleted file mode 100644
index 16ced36e7579..000000000000
--- a/dev-libs/jemalloc/jemalloc-5.2.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools toolchain-funcs 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 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE="debug hardened lazy-lock 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 )
-# autotools-utils.eclass auto-adds configure options when static-libs is in IUSE
-# but jemalloc doesn't implement them in its configure; need this here to
-# supress the warnings until automagic is removed from the eclass
-QA_CONFIGURE_OPTIONS="--enable-static --disable-static --enable-shared --disable-shared"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local myconf=()
-
- if use hardened ; then
- myconf+=( --disable-syscall )
- fi
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable debug) \
- $(use_enable lazy-lock) \
- $(use_enable stats) \
- $(use_enable xmalloc) \
- "${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
- 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 848a0a7987dd..022926696913 100644
--- a/dev-libs/jemalloc/metadata.xml
+++ b/dev-libs/jemalloc/metadata.xml
@@ -1,16 +1,13 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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>
- <longdescription lang="en">
- Jemalloc is a general-purpose scalable concurrent allocator
- </longdescription>
<use>
- <flag name="hugepages">Enable transparent huge page support</flag>
<flag name="lazy-lock">Enable lazy locking (only lock when multi-threaded)</flag>
+ <flag name="prof">Enable allocation profiling</flag>
<flag name="stats">Enable statistics calculation/reporting</flag>
<flag name="xmalloc">Add support for xmalloc (abort-on-out-of-memory)</flag>
</use>
diff --git a/dev-libs/jerasure/jerasure-2.0.0-r1.ebuild b/dev-libs/jerasure/jerasure-2.0.0-r1.ebuild
deleted file mode 100644
index caf3b4bc365f..000000000000
--- a/dev-libs/jerasure/jerasure-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A Library in C Facilitating Erasure Coding for Storage Applications"
-HOMEPAGE="http://jerasure.org/"
-SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/${P}.tar.gz"
-S="${WORKDIR}/${PN}.git"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-IUSE=""
-
-DEPEND="dev-libs/gf-complete"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i -e 's/ $(SIMD_FLAGS)//g' src/Makefile.am Examples/Makefile.am || die
- eautoreconf
-}
-
-src_install() {
- default
- # because stupid
- insinto /usr/include
- doins include/{cauchy,galois,liberation,reed_sol}.h
- prune_libtool_files
-}
diff --git a/dev-libs/jerasure/jerasure-2.0.0-r2.ebuild b/dev-libs/jerasure/jerasure-2.0.0-r2.ebuild
new file mode 100644
index 000000000000..3a578be0a36e
--- /dev/null
+++ b/dev-libs/jerasure/jerasure-2.0.0-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit autotools
+
+DESCRIPTION="A Library in C Facilitating Erasure Coding for Storage Applications"
+HOMEPAGE="http://jerasure.org"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/${P}.tar.gz"
+S="${WORKDIR}/${PN}.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
+IUSE=""
+
+DEPEND="dev-libs/gf-complete"
+RDEPEND="${DEPEND}"
+
+DOCS=( Manual.pdf README README.txt README.nd )
+
+src_prepare() {
+ sed -i -e 's/ $(SIMD_FLAGS)//g' src/Makefile.am Examples/Makefile.am || die
+ eapply_user
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ einstalldocs
+ doheader include/{cauchy,galois,liberation,reed_sol}.h
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/jerasure/metadata.xml b/dev-libs/jerasure/metadata.xml
index c934e64a9527..119c408e81f6 100644
--- a/dev-libs/jerasure/metadata.xml
+++ b/dev-libs/jerasure/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
diff --git a/dev-libs/json-c/Manifest b/dev-libs/json-c/Manifest
index 40602e756dd0..31bdc97c1853 100644
--- a/dev-libs/json-c/Manifest
+++ b/dev-libs/json-c/Manifest
@@ -1,2 +1 @@
-DIST json-c-0.12.tar.gz 501419 BLAKE2B 24f035792ff1ba5c39e55bca6ee4ba2509ab71d0374c70b520791f38e1ec4ff2245a282f234fde9f4a02cd9eaaaaa998ce307563a20702c04ee972fdf51f2539 SHA512 c959804362386f6b77e9d04b5fedf6d6aff1fcd0ab50250edb25f759b510b402e7ad4b33d1cbadc3337b63a3145d19f310812a9ee351748348304b384dc2dc35
-DIST json-c-0.13.1.tar.gz 639425 BLAKE2B 1da310309f9ce03306a9fd4a161670e460cf0b2222348df7c006902390f74a4cf100aab1ce6ac8a361a278dd917c114a278de5b3445817f3a40ae287478add46 SHA512 e984db2a42b9c95b52c798b2e8dd1b79951a8dcba27370af30c43b9549fbb00008dbcf052a535c528209aaee38e6d1f760168b706905ae72f3e704ed20f8a1a1
+DIST json-c-0.17.tar.gz 390045 BLAKE2B 26be25141447f2b652fa09d7096141a8bf7992469bcc53b275c1bc0108fc36a8898a8185c381218d3146d00fa03bdd0b837be073410fc93af943b5f083dbaa69 SHA512 4cbedd559502bf9014cfcd1d0bb8bb80d2abac4e969d95d4170123cd9cbafb0756b913fdbb83f666d14f674d6539a60ed1c5d0eb03c36b8037a2e00dc1636e19
diff --git a/dev-libs/json-c/json-c-0.12.ebuild b/dev-libs/json-c/json-c-0.12.ebuild
deleted file mode 100644
index 9074dc523491..000000000000
--- a/dev-libs/json-c/json-c-0.12.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=true
-
-inherit autotools-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/2"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc static-libs"
-
-RDEPEND=""
-
-# tests break otherwise
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-src_prepare() {
- sed -i -e "s:-Werror::" Makefile.am.inc || die
- autotools-multilib_src_prepare
-}
-
-src_test() {
- export USE_VALGRIND=0 VERBOSE=1
- autotools-multilib_src_test
-}
-
-src_install() {
- use doc && HTML_DOCS=( "${S}"/doc/html )
- autotools-multilib_src_install
-
- # add symlink for projects not using pkgconfig
- dosym ../json-c /usr/include/json-c/json
-}
diff --git a/dev-libs/json-c/json-c-0.13.1-r1.ebuild b/dev-libs/json-c/json-c-0.13.1-r1.ebuild
deleted file mode 100644
index c03181cc1584..000000000000
--- a/dev-libs/json-c/json-c-0.13.1-r1.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 autotools multilib-minimal ltprune
-
-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/4"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc static-libs"
-
-src_prepare() {
- default
- sed -i -e "s:-Werror::" configure.ac || die
- eautoreconf
-
- # tests break otherwise
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf $(use_enable static-libs static)
-}
-
-multilib_src_test() {
- export USE_VALGRIND=0 VERBOSE=1
- default
-}
-
-multilib_src_install_all() {
- use doc && HTML_DOCS=( "${S}"/doc/html/. )
- einstalldocs
-
- # add symlink for projects not using pkgconfig
- dosym ../json-c /usr/include/json-c/json
-
- prune_libtool_files
-}
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
new file mode 100644
index 000000000000..2ee46fcafda5
--- /dev/null
+++ b/dev-libs/json-c/json-c-9999.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-multilib git-r3 multibuild
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+EGIT_REPO_URI="https://github.com/json-c/json-c.git"
+
+LICENSE="MIT"
+SLOT="0/5"
+IUSE="cpu_flags_x86_rdrand doc static-libs threads"
+
+BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )"
+
+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_compile() {
+ cmake_src_compile
+ 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() {
+ if multilib_is_native_abi; then
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ einstalldocs
+ fi
+}
diff --git a/dev-libs/json-c/metadata.xml b/dev-libs/json-c/metadata.xml
index 1eb1c472b30c..0bb1a4787f74 100644
--- a/dev-libs/json-c/metadata.xml
+++ b/dev-libs/json-c/metadata.xml
@@ -1,15 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>luka.perkov@sartura.hr</email>
+ <name>Luka Perkov</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<longdescription lang="en">
-"A JSON implementation in C" is probably the better description, and then
-"JSON-C implements a reference counting object model that allows you to
-easily construct JSON objects in C, output them as JSON formatted
-strings and parse JSON formatted strings back into the C
-representation of JSON objects.
+ JSON-C is a JSON implementation written in C. It implements a
+ reference counting object model that allows you to easily
+ construct JSON objects in C, output them as JSON formatted strings
+ and parse JSON formatted strings back into the C representation of
+ JSON objects.
</longdescription>
<upstream>
<remote-id type="github">json-c/json-c</remote-id>
+ <remote-id type="cpe">cpe:/a:json-c_project:json-c</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/json-glib/Manifest b/dev-libs/json-glib/Manifest
index 3318e9c31dab..d0d6ff42a81d 100644
--- a/dev-libs/json-glib/Manifest
+++ b/dev-libs/json-glib/Manifest
@@ -1 +1 @@
-DIST json-glib-1.4.4.tar.xz 165584 BLAKE2B 0cdb518cd139b8dbdbf31c9bc00ddedca6385d7132843455a7898f3544fb43b62d6626d49944e83ef10ab9a555cf21c7e4548df7d784bcb4020f4026e0f3045e SHA512 cf56a99dce3938b5c0075810f105719836fac65392da33a49b26ebf33aee1fab89ca9fac58059a2008d688ecc75a3e524de60621a5b027d566963541f38b971f
+DIST json-glib-1.8.0.tar.xz 157300 BLAKE2B eef0344c353bb9288efb700a6041342379627b924a042263e011f21140166b57b108f6816e80ac692159b49943f9c1afeb722efafa34e8c60f2fcdf53a0dc034 SHA512 e4fe16bb7c5b72fcf9c0966ac1903ff0cd74ec8eab891db4b94e92353bdcb57b24613b6c2cce7bfa1996603c367d1b4939c12209369dfb915aac0f3804a3a900
diff --git a/dev-libs/json-glib/json-glib-1.4.4.ebuild b/dev-libs/json-glib/json-glib-1.4.4.ebuild
deleted file mode 100644
index 1f39af78a738..000000000000
--- a/dev-libs/json-glib/json-glib-1.4.4.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome.org meson multilib-minimal 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 s390 sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="gtk-doc +introspection"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
-"
-# TODO: Can we use a newer docbook-xml-dtd, or is one needed at all?
-DEPEND="${RDEPEND}
- ~app-text/docbook-xml-dtd-4.1.2
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gtk-doc-1.20 )
- >=sys-devel/gettext-0.18
- virtual/pkgconfig[${MULTILIB_USEDEP}]
-"
-
-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=(
- -Dintrospection=$(multilib_native_usex introspection true false)
- -Ddocs=$(multilib_native_usex gtk-doc true false)
- -Dman=true
- )
- meson_src_configure
-}
-
-multilib_src_compile() {
- meson_src_compile
-}
-
-multilib_src_install() {
- meson_src_install
-}
-
-multilib_src_test() {
- meson_src_test
-}
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 0aa1782a946f..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/jsoncpp/Manifest
index 9630bf72f26f..32bbef99f8fd 100644
--- a/dev-libs/jsoncpp/Manifest
+++ b/dev-libs/jsoncpp/Manifest
@@ -1,3 +1 @@
-DIST jsoncpp-1.8.4.tar.gz 200226 BLAKE2B bbfa8cf7b6cfa6af34762b54de2da0e919849c65b1093b29f7a7ac437524d8b3cf07b42926b250489e9a289105df971fad798f3e73f908fac3e2f52a4e5467b3 SHA512 f70361a3263dd8b9441374a9a409462be1426c0d6587c865171a80448ab73b3f69de2b4d70d2f0c541764e1e6cccc727dd53178347901f625ec6fb54fb94f4f1
-DIST jsoncpp-1.9.0.tar.gz 203176 BLAKE2B 81026de1f4f1882b504598879c7425586ad4fed8e005116509c85e03431d879f92040d802a3a0a9a369d652a076a60221e7d3b32027e3ea2ff4633fb7275c7a9 SHA512 b1da96c12d9ad4c7e002ed84b6c0ff24a7c86034f462a4eb29d93be2f81d7961a03d6f7aa3e7fa58366a2ed76242f6c72e8c3c6d34bdf562c86ca9951f5f3785
-DIST jsoncpp-1.9.1.tar.gz 203067 BLAKE2B 654f39b1265b344bb24d3fefb34d4d8b44f69ec819f333f00033ef90acfd5b926fdcc743badf403af797a6f58fe58d195ec0cdf4a1514629f8a1e75c20a6e2f6 SHA512 4a8352e1d32c0ba8a0aea4df1663279cb2256b334643c5b62be37dfb5951e06900ba38c010d1201511fcf7de09137d6a4b886edbb2b99160d2f62b5f4679f766
+DIST jsoncpp-1.9.5.tar.gz 216055 BLAKE2B 744275297647be8f1ac7bbf6c818e5106fc122591b3fb68c37cf33f5b3b7d6666e8429bb7ca2ae693202a5a83c274303804e21ebb27f05ba235568bf75a9b375 SHA512 1d06e044759b1e1a4cc4960189dd7e001a0a4389d7239a6d59295af995a553518e4e0337b4b4b817e70da5d9731a4c98655af90791b6287870b5ff8d73ad8873
diff --git a/dev-libs/jsoncpp/jsoncpp-1.8.4.ebuild b/dev-libs/jsoncpp/jsoncpp-1.8.4.ebuild
deleted file mode 100644
index caab49d63485..000000000000
--- a/dev-libs/jsoncpp/jsoncpp-1.8.4.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils python-any-r1
-
-DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp"
-SRC_URI="https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( public-domain MIT )"
-SLOT="0/19"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-fbsd"
-IUSE="doc test"
-
-DEPEND="
- doc? (
- app-doc/doxygen
- ${PYTHON_DEPS}
- )
- test? (
- ${PYTHON_DEPS}
- )"
-RDEPEND=""
-
-RESTRICT="!test? ( test )"
-
-pkg_setup() {
- if use doc || use test; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DJSONCPP_WITH_TESTS=$(usex test)
- -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF
- -DJSONCPP_WITH_CMAKE_PACKAGE=ON
-
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_LIBS=OFF
-
- # Follow Debian, Ubuntu, Arch convention for headers location
- # bug #452234
- -DCMAKE_INSTALL_INCLUDEDIR=include/jsoncpp
-
- # Disable implicit ccache use
- -DCCACHE_FOUND=OFF
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- if use doc; then
- "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
- HTML_DOCS=( dist/doxygen/jsoncpp*/. )
- fi
-}
-
-src_test() {
- cmake-utils_src_make jsoncpp_check
-}
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.0.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.0.ebuild
deleted file mode 100644
index 14eea97be973..000000000000
--- a/dev-libs/jsoncpp/jsoncpp-1.9.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils python-any-r1
-
-DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp"
-SRC_URI="https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( public-domain MIT )"
-SLOT="0/21"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd"
-IUSE="doc test"
-
-DEPEND="
- doc? (
- app-doc/doxygen
- ${PYTHON_DEPS}
- )
- test? (
- ${PYTHON_DEPS}
- )"
-RDEPEND=""
-
-RESTRICT="!test? ( test )"
-
-pkg_setup() {
- if use doc || use test; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DJSONCPP_WITH_TESTS=$(usex test)
- -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF
- -DJSONCPP_WITH_CMAKE_PACKAGE=ON
-
- -DBUILD_SHARED_LIBS=ON
-
- # Follow Debian, Ubuntu, Arch convention for headers location
- # bug #452234
- -DCMAKE_INSTALL_INCLUDEDIR=include/jsoncpp
-
- # Disable implicit ccache use
- -DCCACHE_FOUND=OFF
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- if use doc; then
- "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
- HTML_DOCS=( dist/doxygen/jsoncpp*/. )
- fi
-}
-
-src_test() {
- cmake-utils_src_make jsoncpp_check
-}
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.1.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.1.ebuild
deleted file mode 100644
index 14eea97be973..000000000000
--- a/dev-libs/jsoncpp/jsoncpp-1.9.1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit cmake-utils python-any-r1
-
-DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp"
-SRC_URI="https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( public-domain MIT )"
-SLOT="0/21"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd"
-IUSE="doc test"
-
-DEPEND="
- doc? (
- app-doc/doxygen
- ${PYTHON_DEPS}
- )
- test? (
- ${PYTHON_DEPS}
- )"
-RDEPEND=""
-
-RESTRICT="!test? ( test )"
-
-pkg_setup() {
- if use doc || use test; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DJSONCPP_WITH_TESTS=$(usex test)
- -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF
- -DJSONCPP_WITH_CMAKE_PACKAGE=ON
-
- -DBUILD_SHARED_LIBS=ON
-
- # Follow Debian, Ubuntu, Arch convention for headers location
- # bug #452234
- -DCMAKE_INSTALL_INCLUDEDIR=include/jsoncpp
-
- # Disable implicit ccache use
- -DCCACHE_FOUND=OFF
- )
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- if use doc; then
- "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
- HTML_DOCS=( dist/doxygen/jsoncpp*/. )
- fi
-}
-
-src_test() {
- cmake-utils_src_make jsoncpp_check
-}
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
new file mode 100644
index 000000000000..308182dcfcfd
--- /dev/null
+++ b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
@@ -0,0 +1,51 @@
+# 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="C++ JSON reader and writer"
+HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/"
+SRC_URI="
+ https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="|| ( public-domain MIT )"
+SLOT="0/25"
+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-text/doxygen )
+"
+
+src_configure() {
+ local emesonargs=(
+ # Follow Debian, Ubuntu, Arch convention for headers location
+ # bug #452234
+ --includedir include/jsoncpp
+ -Dtests=$(usex test true false)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+
+ if use doc; then
+ echo "${PV}" > version || die
+ "${EPYTHON}" doxybuild.py --doxygen="${EPREFIX}"/usr/bin/doxygen || die
+ HTML_DOCS=( dist/doxygen/jsoncpp*/. )
+ fi
+}
+
+src_test() {
+ # increase test timeout due to failures on slower hardware
+ meson_src_test -t 2
+}
diff --git a/dev-libs/jsoncpp/metadata.xml b/dev-libs/jsoncpp/metadata.xml
index 3b5c6cff10f1..f95a91798792 100644
--- a/dev-libs/jsoncpp/metadata.xml
+++ b/dev-libs/jsoncpp/metadata.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
<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 c58fc4e5e2be..5178283368c0 100644
--- a/dev-libs/jsonrpc-glib/Manifest
+++ b/dev-libs/jsonrpc-glib/Manifest
@@ -1 +1 @@
-DIST jsonrpc-glib-3.30.1.tar.xz 41516 BLAKE2B c0b73c06682fd0a1bca2fb000d7909460c496e73364c24905e1a4c88cce64252ac024825ab89650ee0b3b5de1cd1686fc7a231ffb5b0bb7e1c66262eafce026f SHA512 f1ae34faf9b3902b45b01bfafc87fd8d30051bbb11cf247cf8af9dc2bae8b2f3c93564a17a9f047dbb61240662a0ffbc2c2b764f8e254305c7aee1b32fd8a86b
+DIST jsonrpc-glib-3.44.0.tar.xz 42580 BLAKE2B 7a72aefc092eb0a17c6935323e9157c7bc07cfec766ede11c369651da95b5ff77ead09977f38b7c91b4bbcd04e7adb81d95e9eefe976f739502c1720a477efec SHA512 85962af18cb62af7c4dfa37289cf53ba9c905ee00994cc6bcc2679f1e0f79ea0b134386179dd2417e6166777d65f025959d6d258aa279bbfb1f4cacceeede7af
diff --git a/dev-libs/jsonrpc-glib/jsonrpc-glib-3.30.1.ebuild b/dev-libs/jsonrpc-glib/jsonrpc-glib-3.30.1.ebuild
deleted file mode 100644
index b2389e9e9c9e..000000000000
--- a/dev-libs/jsonrpc-glib/jsonrpc-glib-3.30.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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}
- vala? ( $(vala_depend) )
- 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 15582ff4dce7..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 0f3556d96b53..000000000000
--- a/dev-libs/jthread/jthread-1.3.3.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib
-
-DESCRIPTION="JThread provides some classes to make use of threads easy on different platforms"
-HOMEPAGE="http://research.edm.uhasselt.be/jori/page/CS/Jthread.html"
-SRC_URI="http://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-utils_src_prepare
-}
diff --git a/dev-libs/jthread/metadata.xml b/dev-libs/jthread/metadata.xml
index 5b159fbcadd1..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 e811fb653b65..000000000000
--- a/dev-libs/judy/judy-1.0.5-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools ltprune 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
- prune_libtool_files
-}
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..ea62e281eca7
--- /dev/null
+++ b/dev-libs/judy/judy-1.0.5-r4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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 190567cb4957..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 35be4833481f..000000000000
--- a/dev-libs/kasync/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kasync-0.2.0.tar.xz 28952 BLAKE2B 1ca17023a9350024195b3a840cbcea8e180fea9ac1a4ea1601c30d70c68a613bb677a65ca8a4c36552bf998a14098342f66855f84a603d2853d4df43f3466e3e SHA512 cf0d59c4ed6978552599a1d36c08df180357e112867f3730f57b13673943eb365acd16892450f100e9e5f122220a06df64ee006a0d3651d0f05d78cb5195094d
diff --git a/dev-libs/kasync/kasync-0.2.0.ebuild b/dev-libs/kasync/kasync-0.2.0.ebuild
deleted file mode 100644
index 2a0fc33b2de3..000000000000
--- a/dev-libs/kasync/kasync-0.2.0.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-KDE_TEST="forceoptional"
-inherit kde5
-
-DESCRIPTION="C++ library for controlling asynchronous tasks"
-SRC_URI="mirror://kde/unstable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-KEYWORDS="~amd64"
-IUSE=""
diff --git a/dev-libs/kasync/metadata.xml b/dev-libs/kasync/metadata.xml
deleted file mode 100644
index 2fdbf33d963d..000000000000
--- a/dev-libs/kasync/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/kdiagram/Manifest b/dev-libs/kdiagram/Manifest
index 7df13b11de13..2d062d7d8781 100644
--- a/dev-libs/kdiagram/Manifest
+++ b/dev-libs/kdiagram/Manifest
@@ -1 +1,2 @@
-DIST kdiagram-2.6.1.tar.xz 674016 BLAKE2B 323fcc1101f4bba527426923652ee53a1986edff1c7a0d17a478585019c97f731675fa30477064f1e5375ef0a3da27ba1918ee21cf6758ac445ea0d7f1b7611c SHA512 caa1f6f8bffb4b311224edfed115f189fa9c88e4b9d8bc9d4b7bc963c6b8c896813b438ad89fa9e91e4cde2f55ae822cfc7ba559bbdad517c60a037591dc5128
+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/files/kdiagram-2.6.1-fix-horizontal-bars.patch b/dev-libs/kdiagram/files/kdiagram-2.6.1-fix-horizontal-bars.patch
deleted file mode 100644
index fae29982773e..000000000000
--- a/dev-libs/kdiagram/files/kdiagram-2.6.1-fix-horizontal-bars.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From d3783f643367b264800e853c7c55c515f17c2a3d Mon Sep 17 00:00:00 2001
-From: Dag Andersen <danders@get2net.dk>
-Date: Thu, 23 Aug 2018 10:47:05 +0200
-Subject: Fix painting bar diagrams with horizontal bars
-
----
- .../Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp | 5 +++--
- .../Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp | 4 ++--
- .../Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp | 4 ++--
- 3 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp b/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp
-index 0a262ee..d2343ee 100644
---- a/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp
-+++ b/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp
-@@ -158,13 +158,13 @@ void NormalLyingBarDiagram::paint( PaintContext* ctx )
- }
- }
-
-- for ( int column = 0; column < colCount; column++ ) {
-+ for ( int column = colCount-1; column >= 0; --column ) {
- // paint one group
- const CartesianDiagramDataCompressor::CachePosition position( row, column );
- const CartesianDiagramDataCompressor::DataPoint point = compressor().data( position );
- const QModelIndex sourceIndex = attributesModel()->mapToSource( point.index );
-
-- QPointF dataPoint( 0, rowCount - ( point.key + 0.5 ) );
-+ QPointF dataPoint( 0, ( point.key + 0.5 ) );
- const QPointF topLeft = ctx->coordinatePlane()->translate( dataPoint );
- dataPoint.rx() += point.value;
- const QPointF bottomRight = ctx->coordinatePlane()->translate( dataPoint ) +
-@@ -173,6 +173,7 @@ void NormalLyingBarDiagram::paint( PaintContext* ctx )
- const QRectF rect = QRectF( topLeft, bottomRight ).translated( 1.0, offset );
- m_private->addLabel( &lpc, sourceIndex, 0, PositionPoints( rect ), Position::North,
- Position::South, point.value );
-+
- paintBars( ctx, sourceIndex, rect, maxDepth );
-
- offset += barWidth + spaceBetweenBars;
-diff --git a/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp b/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp
-index fee53d3..10dca65 100644
---- a/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp
-+++ b/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp
-@@ -192,11 +192,11 @@ void PercentLyingBarDiagram::paint( PaintContext* ctx )
-
- QPointF point, previousPoint;
- if ( sumValuesVector.at( curRow ) != 0 && value > 0 ) {
-- QPointF dataPoint( ( stackedValues / sumValuesVector.at( curRow ) * maxValue ), rowCount - key );
-+ QPointF dataPoint( ( stackedValues / sumValuesVector.at( curRow ) * maxValue ), key + 1 );
- point = ctx->coordinatePlane()->translate( dataPoint );
- point.ry() += offset / 2 + threeDOffset;
-
-- previousPoint = ctx->coordinatePlane()->translate( QPointF( ( ( stackedValues - value) / sumValuesVector.at( curRow ) * maxValue ), rowCount - key ) );
-+ previousPoint = ctx->coordinatePlane()->translate( QPointF( ( ( stackedValues - value) / sumValuesVector.at( curRow ) * maxValue ), key + 1 ) );
- }
-
- const qreal barHeight = point.x() - previousPoint.x();
-diff --git a/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp b/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp
-index 70cbba0..1a5b003 100644
---- a/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp
-+++ b/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp
-@@ -184,9 +184,9 @@ void StackedLyingBarDiagram::paint( PaintContext* ctx )
- stackedValues += point.value;
- key = point.key;
- }
-- QPointF point = ctx->coordinatePlane()->translate( QPointF( stackedValues, rowCount - key ) );
-+ QPointF point = ctx->coordinatePlane()->translate( QPointF( stackedValues, key + 1 ) );
- point.ry() += offset / 2 + threeDOffset;
-- const QPointF previousPoint = ctx->coordinatePlane()->translate( QPointF( stackedValues - value, rowCount - key ) );
-+ const QPointF previousPoint = ctx->coordinatePlane()->translate( QPointF( stackedValues - value, key + 1 ) );
- const qreal barHeight = point.x() - previousPoint.x();
- point.rx() -= barHeight;
-
---
-cgit v1.1
diff --git a/dev-libs/kdiagram/kdiagram-2.6.1-r1.ebuild b/dev-libs/kdiagram/kdiagram-2.6.1-r1.ebuild
deleted file mode 100644
index d03b24c8394f..000000000000
--- a/dev-libs/kdiagram/kdiagram-2.6.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
-
-KDE_EXAMPLES="true"
-KDE_QTHELP="true"
-KDE_TEST="true"
-VIRTUALX_REQUIRED="test"
-inherit kde5
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- KEYWORDS="amd64 ~arm64 x86"
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
-fi
-
-DESCRIPTION="Powerful libraries (KChart, KGantt) for creating business diagrams"
-HOMEPAGE="https://kde.org/ https://www.kdab.com/development-resources/qt-tools/kd-chart/"
-IUSE=""
-
-REQUIRED_USE="test? ( examples )"
-
-BDEPEND="
- $(add_qt_dep linguist-tools)
-"
-DEPEND="
- $(add_qt_dep qtgui)
- $(add_qt_dep qtprintsupport)
- $(add_qt_dep qtsvg)
- $(add_qt_dep qtwidgets)
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-fix-horizontal-bars.patch" )
diff --git a/dev-libs/kdiagram/kdiagram-2.8.0.ebuild b/dev-libs/kdiagram/kdiagram-2.8.0.ebuild
new file mode 100644
index 000000000000..38d7c295dada
--- /dev/null
+++ b/dev-libs/kdiagram/kdiagram-2.8.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 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"
+QTMIN=5.15.1
+VIRTUALX_REQUIRED="test"
+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="5"
+
+REQUIRED_USE="test? ( examples )"
+
+DEPEND="
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=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/kdiagram/metadata.xml b/dev-libs/kdiagram/metadata.xml
index 2fdbf33d963d..d925f2439758 100644
--- a/dev-libs/kdiagram/metadata.xml
+++ b/dev-libs/kdiagram/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="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/keybinder/Manifest b/dev-libs/keybinder/Manifest
index 0beccc09035b..2802f6b4666f 100644
--- a/dev-libs/keybinder/Manifest
+++ b/dev-libs/keybinder/Manifest
@@ -1,2 +1 @@
-DIST keybinder-0.3.1.tar.gz 391730 BLAKE2B ea286ab5bbd864709a1290ffd8d7d45468b1d525b4fdb8967159bbcf32ca8dc3d057ba39ad35dc19f5f68f67160fc48d805e107fcaea22f81fdd8bd1125db908 SHA512 aec4070b3d3b6c00900c3cb814e4b6a98beea09817eba3c3f7e6d5ce1ff68c091d183583f09b475e3e56bac67c94c1d912ebbe079dcece8195ac0ed9379d5f82
DIST keybinder-3.0-0.3.2.tar.gz 378942 BLAKE2B f998430a14e881b5b1802747ec15967d60bedf8e076e5ace886a665ad168eb297679f30289b6cae835f4b291a0744c12331e420dcafbfca7e63cc5e807e9cd46 SHA512 14171875e03ade88165f28c7267b66cf9efe34259d7a3072a786ba49dacf8f8d6d84753b1aeedec5dfb0a24028be86bceeebee2f6b1bf5ef2eb79ee45f909b11
diff --git a/dev-libs/keybinder/keybinder-0.3.1-r201.ebuild b/dev-libs/keybinder/keybinder-0.3.1-r201.ebuild
deleted file mode 100644
index e081ae83d7f7..000000000000
--- a/dev-libs/keybinder/keybinder-0.3.1-r201.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-inherit python-single-r1
-
-DESCRIPTION="A library for registering global keyboard shortcuts"
-HOMEPAGE="https://github.com/engla/keybinder"
-SRC_URI="https://github.com/engla/keybinder/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 x86"
-IUSE="+introspection lua python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=x11-libs/gtk+-2.20:2
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrender
- introspection? ( dev-libs/gobject-introspection )
- lua? ( >=dev-lang/lua-5.1 )
- python? ( ${PYTHON_DEPS}
- >=dev-python/pygobject-2.15.3:2[${PYTHON_USEDEP}]
- >=dev-python/pygtk-2.12[${PYTHON_USEDEP}]
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local myconf=(
- $(use_enable introspection)
- $(use_enable python)
- )
- # upstream failed at AC_ARG_ENABLE
- use lua || myconf+=( --disable-lua )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/keybinder/keybinder-0.3.2-r300.ebuild b/dev-libs/keybinder/keybinder-0.3.2-r300.ebuild
index de5cd8598a0a..2c67fe8c2a15 100644
--- a/dev-libs/keybinder/keybinder-0.3.2-r300.ebuild
+++ b/dev-libs/keybinder/keybinder-0.3.2-r300.ebuild
@@ -1,27 +1,26 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
MY_P=${PN}-3.0-${PV}
DESCRIPTION="A library for registering global keyboard shortcuts"
-HOMEPAGE="https://github.com/engla/keybinder"
-SRC_URI="https://github.com/engla/keybinder/releases/download/${PN}-3.0-v${PV}/${MY_P}.tar.gz"
+HOMEPAGE="https://github.com/kupferlauncher/keybinder"
+SRC_URI="https://github.com/kupferlauncher/keybinder/releases/download/${PN}-3.0-v${PV}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="3"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv x86"
IUSE="+introspection"
RDEPEND="x11-libs/gtk+:3[X]
x11-libs/libX11
x11-libs/libXext
- x11-libs/libXrender
+ x11-libs/libXrender"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
introspection? ( dev-libs/gobject-introspection )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S=${WORKDIR}/${MY_P}
src_configure() {
local myconf=(
@@ -39,7 +38,7 @@ src_install() {
pkg_preinst() {
# remove old symlink as otherwise the files will be installed
# in the wrong directory
- if [[ -h ${EROOT%/}/usr/share/gtk-doc/html/keybinder-3.0 ]]; then
- rm "${EROOT%/}/usr/share/gtk-doc/html/keybinder-3.0" || die
+ if [[ -h ${EROOT}/usr/share/gtk-doc/html/keybinder-3.0 ]]; then
+ rm "${EROOT}/usr/share/gtk-doc/html/keybinder-3.0" || die
fi
}
diff --git a/dev-libs/keybinder/metadata.xml b/dev-libs/keybinder/metadata.xml
index c363c085d028..4d1b4ebf73bd 100644
--- a/dev-libs/keybinder/metadata.xml
+++ b/dev-libs/keybinder/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
diff --git a/dev-libs/keystone/Manifest b/dev-libs/keystone/Manifest
index f661bedc4b73..e2b37e04da49 100644
--- a/dev-libs/keystone/Manifest
+++ b/dev-libs/keystone/Manifest
@@ -1 +1 @@
-DIST keystone-0.9.1.tar.gz 4326151 BLAKE2B 2d41388f4beeff3c424386c77cb75eeca613c66f80e807035f709822f241ef74f64085260678772580cb82bcceda83b4b3c31b92393f8d70f24d54f77f7ba224 SHA512 3bd9c3793d5862a0a8628b52da381625e62445f661dbd5ed715723e7d9db01ce3f9586e5ca0a5cc71e8ceb6c912050f5c28e3ccd540e72c8abcfd2f0d1bbae17
+DIST keystone-0.9.2.tar.gz 4433222 BLAKE2B 5654ae6a66ccf6832fbdbb8c1083a2318e413bb833a0fadc4e1374f0de601e3dad9f354b1dec92d9a944621923458e432510299c1b55579ac9bb6b6e90a818de SHA512 5d4dd30410410bc7848e75a2e31e8ecef6241ad25e21963aa7a07bbea21d95b75e235c80573129014102684c9647710ace3c0776a8401844d7e4b45cab7bd04b
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.1.ebuild b/dev-libs/keystone/keystone-0.9.1.ebuild
deleted file mode 100644
index 856671cc5809..000000000000
--- a/dev-libs/keystone/keystone-0.9.1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DISTUTILS_OPTIONAL=1
-CMAKE_MIN_VERSION=3.8.7
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit cmake-utils distutils-r1 llvm
-
-DESCRIPTION="assembly/assembler framework + bindings"
-HOMEPAGE="http://www.keystone-engine.org/"
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
- inherit git-r3
- KEYWORDS=""
-else
- SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P/-rc/_rc}.tar.gz"
- KEYWORDS="~amd64 ~arm ~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="${PYTHON_DEPS}
-"
-DEPEND="${RDEPEND}"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )
-"
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
-llvm_check_deps() {
- has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
-}
-
-wrap_python() {
- if use python; then
- pushd bindings/python >/dev/null || die
- distutils-r1_${EBUILD_PHASE_FUNC} "$@"
- popd >/dev/null || die
- fi
-}
-
-src_prepare() {
- default
- cmake-utils_src_prepare
- wrap_python
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_HOST_TRIPLE="${CHOST}"
- )
-
- cmake-utils_src_configure
- wrap_python
-}
-
-src_compile() {
- cmake-utils_src_compile
- wrap_python
-}
-
-src_install() {
- cmake-utils_src_install
- wrap_python
-}
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-9999.ebuild b/dev-libs/keystone/keystone-9999.ebuild
index 74cfb58dfa96..c1e7b73fa5d4 100644
--- a/dev-libs/keystone/keystone-9999.ebuild
+++ b/dev-libs/keystone/keystone-9999.ebuild
@@ -1,47 +1,55 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
-CMAKE_MIN_VERSION=3.8.7
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake-utils distutils-r1
+inherit cmake distutils-r1 flag-o-matic
DESCRIPTION="assembly/assembler framework + bindings"
-HOMEPAGE="http://www.keystone-engine.org/"
+HOMEPAGE="https://www.keystone-engine.org/"
if [[ ${PV} == 9999* ]]; then
EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
inherit git-r3
- KEYWORDS=""
else
SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~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[*]}"
-RDEPEND="sys-devel/llvm:=[${LLVM_TARGET_USEDEPS// /,}]
- ${PYTHON_DEPS}
+IUSE="python"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
"
DEPEND="${RDEPEND}"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- || ( ${ALL_LLVM_TARGETS[*]} )
+BDEPEND="
+ python?
+ (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ )
"
-S=${WORKDIR}/${P/_rc/-rc}
+RESTRICT=test # only regression tests
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
-CMAKE_BUILD_TYPE=RelWithDebInfo
+# Upstream doesn't flag patch releases (bug 858395)
+QA_PKGCONFIG_VERSION="$(ver_cut 1-2)"
wrap_python() {
if use python; then
@@ -51,31 +59,41 @@ wrap_python() {
fi
}
+pkg_setup() {
+ python_setup
+}
+
src_prepare() {
- default
- cmake-utils_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="${LLVM_TARGETS// /;}"
+ -DLLVM_TARGETS_TO_BUILD="${KEYSTONE_TARGETS// /;}"
-DLLVM_HOST_TRIPLE="${CHOST}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
)
- cmake-utils_src_configure
+ cmake_src_configure
wrap_python ${FUNCNAME}
}
src_compile() {
- cmake-utils_src_compile
+ cmake_src_compile
wrap_python ${FUNCNAME}
}
src_install() {
- cmake-utils_src_install
+ cmake_src_install
wrap_python ${FUNCNAME}
}
diff --git a/dev-libs/keystone/metadata.xml b/dev-libs/keystone/metadata.xml
index 4283547f970d..3ce5bd725949 100644
--- a/dev-libs/keystone/metadata.xml
+++ b/dev-libs/keystone/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>nemunaire@nemunai.re</email>
- <name>Pierre-Olivier Mercier</name>
+ <maintainer type="person" proxied="yes">
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/dev-libs/kirigami-addons/Manifest b/dev-libs/kirigami-addons/Manifest
new file mode 100644
index 000000000000..eb5ec2b12aba
--- /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.2.0.tar.xz 1156176 BLAKE2B c620597853c6fa75080f41b9c0e863899c63ea10b4cee436063c0b26ccf7b7422a20c2736dd8dc46e566a33b2f21a7eda31b1d05cb191b2d603e863860fc48e6 SHA512 608c56f21953b9ed451377ea234aafd53529f1b278c2f720f3143a0c1fa8364c4d4701cad1deb063cd0363aeb5bf73d1c9d40c0e7652fea9e74f54963399c993
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.2.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.2.0.ebuild
new file mode 100644
index 000000000000..6dbb76533a46
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-1.2.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.2.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/klibc/Manifest b/dev-libs/klibc/Manifest
deleted file mode 100644
index d2bab8e8ae01..000000000000
--- a/dev-libs/klibc/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST klibc-2.0.4.tar.xz 469348 BLAKE2B 5975e3d25f72b70c4cbaa56ea5363417407e8dace1e02e2da0b835bbb2cad56648b0084e5404528206ef3facf4ffd3611e8bd729eadd80b00e30d1a70b3057cf SHA512 7a01d1744b49f3de64111fefc522b1d63f054199acf671254bc046d6f1d0b6ca68e050c99025bf8303751c2466a5e034677555649ae5909c40997858d393db8d
-DIST klibc_2.0.4-9.debian.tar.xz 28628 BLAKE2B aaad6fafb7372152987eebda5951b9f3de2e33da583e0ea7597f666461977f461303566f9e363e9c96994c7b0eb6213c6a17b2fab72df7460db3cfbc0c2e1cf8 SHA512 0fe9a6642be962fa631919850d7eeed5a87c10682766ee10fe31dec2b19a6179e0067602acb26bdc2aa8ceecfd39b1dc95a76f3b0a9bc813b172c0ffe9f0ff53
-DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
diff --git a/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch b/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch
deleted file mode 100644
index a5bb91765287..000000000000
--- a/dev-libs/klibc/files/klibc-1.4.11-interp-flags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
-index c2bfd2f..8066bda 100644
---- a/usr/klibc/Kbuild
-+++ b/usr/klibc/Kbuild
-@@ -152,7 +152,7 @@ # build interp.o
- targets += interp.o
-
- quiet_cmd_interp = BUILD $@
-- cmd_interp = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \
-+ cmd_interp = $(KLIBCCC) $(klibccflags) $(EXTRA_KLIBCAFLAGS) -D__ASSEMBLY__ \
- -DLIBDIR=\"$(SHLIBDIR)\" \
- -DSOHASH=\"$(SOLIBHASH)\" \
- -c -o $@ $<
diff --git a/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch b/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch
deleted file mode 100644
index 94a0caee2526..000000000000
--- a/dev-libs/klibc/files/klibc-1.5.7-strip-fix-dash-s.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naurp klibc-1.5.7-orig/klcc/klcc.in klibc-1.5.7/klcc/klcc.in
---- klibc-1.5.7-orig/klcc/klcc.in 2007-12-03 01:17:26.000000000 +0100
-+++ klibc-1.5.7/klcc/klcc.in 2007-12-03 01:18:39.000000000 +0100
-@@ -259,7 +259,7 @@ if ( $operation ne '' ) {
- unlink(@rmobjs);
-
- if ( $strip && !$rv ) {
-- $rv = mysystem($STRIP, @STRIPFLAGS, $output);
-+ $rv = mysystem($STRIP, @STRIPFLAGS, $output || 'a.out');
- }
- }
-
diff --git a/dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch b/dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch
deleted file mode 100644
index 3ddf834d46da..000000000000
--- a/dev-libs/klibc/files/klibc-2.0.2-mkfifo.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Nuar --exclude '*.g' --exclude '*.cmd' klibc-2.0.2-r1/work/klibc-2.0.2/usr/utils/mkfifo.c klibc-2.0.2.orig/work/klibc-2.0.2/usr/utils/mkfifo.c
---- a/usr/utils/mkfifo.c 2012-10-03 09:41:43.000000000 -0700
-+++ b/usr/utils/mkfifo.c 2013-12-26 13:19:34.270949780 -0800
-@@ -13,6 +13,11 @@
-
- char *progname;
-
-+int mkfifo (const char *__p, mode_t __m)
-+{
-+ return mknod(__p, (__m & ~S_IFMT) | S_IFIFO, (dev_t) 0);
-+}
-+
- static int make_fifo(char *dir)
- {
- if (mkfifo(dir, leaf_mode)) {
diff --git a/dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch b/dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch
deleted file mode 100644
index 7d253977e998..000000000000
--- a/dev-libs/klibc/files/klibc-2.0.3-kernel-uapi.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-Update header locations for uapi & generated
-
-In the v3.6 kernel, many of the headers were split out into a uapi variant.
-klibc should be using those variants to compile.
-
-There is also a generated subdir, to seperate out generated headers.
-
-The old kernel header location needs to be included as well, because
-linux/compiler.h is available only in the base include directory.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-
-diff -Nuar klibc-2.0.3.orig/scripts/Kbuild.klibc klibc-2.0.3/scripts/Kbuild.klibc
---- klibc-2.0.3.orig/scripts/Kbuild.klibc 2013-12-03 10:53:46.000000000 -0800
-+++ klibc-2.0.3/scripts/Kbuild.klibc 2013-12-26 14:39:07.113906101 -0800
-@@ -77,7 +77,10 @@
- KLIBCCFLAGS :=
-
- # Defaults for arch to override
--KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include
-+KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/generated/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/generated \
-+ -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include
-
- # Arch specific definitions for klibc
- include $(srctree)/$(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG
-@@ -116,6 +119,9 @@
--KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)/include \
-+KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)/include/uapi \
-+ -I$(KLIBCKERNELSRC)/include/generated/uapi \
-+ -I$(KLIBCKERNELSRC)/include/generated \
-+ -I$(KLIBCKERNELSRC)/include \
- $(if $(KBUILD_SRC),-I$(KLIBCKERNELOBJ)/include2 \
- -I$(KLIBCKERNELOBJ)/include -I$(srctree)/include) \
- $(KLIBCARCHINCFLAGS)
-
- # klibc definitions
-diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/i386/MCONFIG klibc-2.0.3/usr/klibc/arch/i386/MCONFIG
---- klibc-2.0.3.orig/usr/klibc/arch/i386/MCONFIG 2013-12-03 10:53:46.000000000 -0800
-+++ klibc-2.0.3/usr/klibc/arch/i386/MCONFIG 2013-12-26 14:44:56.349161344 -0800
-@@ -34,3 +34,6 @@
-
- # Asm includes for i386 are in the merged x86 tree
--KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include
-+KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated \
-+ -I$(KLIBCKERNELOBJ)/arch/x86/include
-diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/ppc/MCONFIG klibc-2.0.3/usr/klibc/arch/ppc/MCONFIG
---- klibc-2.0.3.orig/usr/klibc/arch/ppc/MCONFIG 2013-12-03 10:53:46.000000000 -0800
-+++ klibc-2.0.3/usr/klibc/arch/ppc/MCONFIG 2013-12-26 14:44:56.350161362 -0800
-@@ -24,6 +24,9 @@
-
- # The kernel so far has both asm-ppc* and asm-powerpc.
--KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include
-+KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated \
-+ -I$(KLIBCKERNELOBJ)/arch/powerpc/include
-
- # The asm include files live in asm-powerpc
- KLIBCASMARCH = powerpc
-diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/ppc64/MCONFIG klibc-2.0.3/usr/klibc/arch/ppc64/MCONFIG
---- klibc-2.0.3.orig/usr/klibc/arch/ppc64/MCONFIG 2013-12-03 10:53:46.000000000 -0800
-+++ klibc-2.0.3/usr/klibc/arch/ppc64/MCONFIG 2013-12-26 14:44:56.350161362 -0800
-@@ -22,6 +22,9 @@
-
- # The kernel so far has both asm-ppc* and asm-powerpc.
--KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include
-+KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated \
-+ -I$(KLIBCKERNELOBJ)/arch/powerpc/include
-
- # The asm include files live in asm-powerpc
- KLIBCASMARCH = powerpc
-diff -Nuar klibc-2.0.3.orig/usr/klibc/arch/x86_64/MCONFIG klibc-2.0.3/usr/klibc/arch/x86_64/MCONFIG
---- klibc-2.0.3.orig/usr/klibc/arch/x86_64/MCONFIG 2013-12-03 10:53:46.000000000 -0800
-+++ klibc-2.0.3/usr/klibc/arch/x86_64/MCONFIG 2013-12-26 14:44:54.522128579 -0800
-@@ -37,3 +37,6 @@
-
- # Asm includes for x86_64 are in the merged x86 tree
--KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include
-+KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated/uapi \
-+ -I$(KLIBCKERNELOBJ)/arch/x86/include/generated \
-+ -I$(KLIBCKERNELOBJ)/arch/x86/include
diff --git a/dev-libs/klibc/files/klibc.m4 b/dev-libs/klibc/files/klibc.m4
deleted file mode 100644
index 389226974506..000000000000
--- a/dev-libs/klibc/files/klibc.m4
+++ /dev/null
@@ -1,94 +0,0 @@
-# klibc.m4 serial 99
-## Copyright (C) 1995-2003 Free Software Foundation, Inc.
-## This file is free software, distributed under the terms of the GNU
-## General Public License. As a special exception to the GNU General
-## Public License, this file may be distributed as part of a program
-## that contains a configuration script generated by Autoconf, under
-## the same distribution terms as the rest of that program.
-##
-## This file can can be used in projects which are not available under
-## the GNU General Public License or the GNU Library General Public
-## License but which still want to provide support for the GNU gettext
-## functionality.
-## Please note that the actual code of the KLIBC Library is partly covered
-## by the GNU Library General Public License, and party copyrighted by the
-## Regents of The University of California, and the rest is covered by a
-## MIT style license.
-
-# Authors:
-# Martin Schlemmer <azarah@nosferatu.za.org>, 2005.
-
-
-# AC_CHECK_KLIBC
-# --------------
-# Check if the user wants KLIBC support enabled. If so, set KLIBC=yes and
-# fill in KLIBC_PREFIX, KLIBC_BINDIR, KLIBC_SBINDIR, KLIBC_LIBDIR and
-# KLIBC_INCLUDEDIR. CC is also set to the proper klcc executable.
-# NOTE: This should be called before AC_PROG_CC, and before header, function
-# or type checks.
-AC_DEFUN([AC_CHECK_KLIBC],
-[AC_BEFORE([$0], [AC_PROG_CC])
-AC_REQUIRE([AC_CANONICAL_HOST])
-AC_ARG_ENABLE([klibc],
- [AS_HELP_STRING([--enable-klibc],
- [Enable linking to klibc [no]. You need at
- least klibc-1.0 or later for this. Set KLCC
- to the absolute file name of klcc if not in
- the PATH])],
- [KLIBC=$enableval], [KLIBC=no])
-AC_ARG_ENABLE([klibc-layout],
- [AS_HELP_STRING([--enable-klibc-layout],
- [Enable installing binaries, libraries and
- headers into the klibc prefix [yes] ])],
- [if test "X$KLIBC" != Xno; then
- KLIBC_LAYOUT=$enableval
- else
- KLIBC_LAYOUT=no
- fi],
- [if test "X$KLIBC" != Xno; then
- KLIBC_LAYOUT=yes
- else
- KLIBC_LAYOUT=no
- fi])
-
-if test "X$KLIBC" != Xno; then
- # Basic cross compiling support. I do not think it is wise to use
- # AC_CHECK_TOOL, because if we are cross compiling, we do not want
- # just 'klcc' to be returned ...
- if test "${host_alias}" != "${build_alias}"; then
- AC_CHECK_PROGS([KLCC], [${host_alias}-klcc], [no])
- else
- AC_CHECK_PROGS([KLCC], [klcc], [no])
- fi
- if test "X$KLCC" = Xno; then
- AC_MSG_ERROR([cannot find klibc frontend 'klcc'!])
- fi
-
- CC="$KLCC"
- CFLAGS="-Os"
-
- KLIBC_KCROSS="$($KLCC -print-klibc-kcross 2>/dev/null)"
- KLIBC_PREFIX="$($KLCC -print-klibc-prefix 2>/dev/null)"
- KLIBC_BIN_DIR="$($KLCC -print-klibc-bindir 2>/dev/null)"
- KLIBC_SBIN_DIR="${KLIBC_PREFIX}/${KLIBC_KCROSS}sbin"
- KLIBC_LIB_DIR="$($KLCC -print-klibc-libdir 2>/dev/null)"
- KLIBC_INCLUDE_DIR="$($KLCC -print-klibc-includedir 2>/dev/null)"
-
- if test "X$KLIBC_LAYOUT" != Xno; then
- prefix="$KLIBC_PREFIX"
- bindir="$KLIBC_BIN_DIR"
- sbindir="$KLIBC_SBIN_DIR"
- libdir="$KLIBC_LIB_DIR"
- includedir="$KLIBC_INCLUDE_DIR"
- fi
-
- # At least KLIBC_LIB_DIR should be valid, else klibc is too old or
- # something went wrong
- if test ! -d "$KLIBC_LIB_DIR"; then
- AC_MSG_ERROR([your klibc installation is too old or not functional!])
- fi
-fi
-
-AC_SUBST(KLIBC)
-])# AC_CHECK_KLIBC
-
diff --git a/dev-libs/klibc/klibc-2.0.4-r3.ebuild b/dev-libs/klibc/klibc-2.0.4-r3.ebuild
deleted file mode 100644
index 9e4d06a4c598..000000000000
--- a/dev-libs/klibc/klibc-2.0.4-r3.ebuild
+++ /dev/null
@@ -1,319 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Robin H. Johnson <robbat2@gentoo.org>, 12 Nov 2007:
-# This still needs major work.
-# But it is significently better than the previous version.
-# In that it will now build on biarch systems, such as ppc64-32ul.
-
-# NOTES:
-# ======
-# We need to bring in the kernel sources seperately
-# Because they have to be configured in a way that differs from the copy in
-# /usr/src/. The sys-kernel/linux-headers are too stripped down to use
-# unfortunately.
-# This will be able to go away once the klibc author updates his code
-# to build again the headers provided by the kernel's 'headers_install' target.
-
-EAPI=6
-K_TARBALL_SUFFIX="xz"
-
-inherit eutils toolchain-funcs flag-o-matic
-
-DESCRIPTION="A minimal libc subset for use with initramfs"
-HOMEPAGE="https://www.zytor.com/mailman/listinfo/klibc/ https://www.kernel.org/pub/linux/libs/klibc/"
-KV_MAJOR="4" KV_MINOR="x" KV_SUB="14"
-PKV_EXTRA=""
-if [[ ${PKV_EXTRA} ]]; then
- if [[ ${KV_MAJOR} == 2 ]]; then
- PKV="${KV_MAJOR}.${KV_MINOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
- else
- PKV="${KV_MAJOR}.$((${KV_SUB}+1))-${PKV_EXTRA}"
- fi
- PATCH_URI="mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PKV}.${K_TARBALL_SUFFIX}"
-fi
-if [[ ${KV_MAJOR} == 2 ]]; then
- OKV="${KV_MAJOR}.${KV_MINOR}.${KV_SUB}"
-else
- OKV="${KV_MAJOR}.${KV_SUB}"
-fi
-KERNEL_URI="
- mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/linux-${OKV}.tar.${K_TARBALL_SUFFIX}
- mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/testing/linux-${OKV}.tar.${K_TARBALL_SUFFIX}"
-DEBIAN_PV=2.0.4
-DEBIAN_PR=9
-DEBIAN_A="${PN}_${DEBIAN_PV}-${DEBIAN_PR}.debian.tar.xz"
-SRC_URI="
- mirror://kernel/linux/libs/klibc/${PV:0:3}/${P}.tar.${K_TARBALL_SUFFIX}
- mirror://debian/pool/main/k/klibc/${DEBIAN_A}
- ${PATCH_URI}
- ${KERNEL_URI}"
-
-LICENSE="|| ( GPL-2 LGPL-2 )"
-KEYWORDS="~alpha amd64 ~arm ia64 -mips ~ppc ~ppc64 ~sparc x86"
-SLOT="0"
-IUSE="debug test custom-cflags"
-
-RDEPEND="dev-lang/perl"
-DEPEND="${RDEPEND}
- sys-devel/bc"
-
-KS="${WORKDIR}/linux-${OKV}"
-
-# Klibc has no PT_GNU_STACK support, so scanning for execstacks is moot
-QA_EXECSTACK="*"
-# Do not strip
-RESTRICT="strip"
-
-kernel_asm_arch() {
- a="${1:${ARCH}}"
- case ${a} in
- # Merged arches
- x86) echo i386 ;; # for build on x86 userspace & 64bit kernel
- amd64) echo x86 ;;
- ppc*) echo powerpc ;;
- # Non-merged
- alpha|arm|arm64|ia64|m68k|mips|sh|sparc*) echo ${1} ;;
- *) die "TODO: Update the code for your asm-ARCH symlink" ;;
- esac
-}
-
-# For a given Gentoo ARCH,
-# specify the kernel defconfig most relevant
-kernel_defconfig() {
- a="${1:${ARCH}}"
- # most, but not all arches have a sanely named defconfig
- case ${a} in
- ppc64) echo ppc64_defconfig ;;
- ppc) echo pmac32_defconfig ;;
- sh*) die "TODO: Your arch is not supported by the klibc ebuild. Please suggest a defconfig in a bug." ;;
- *) echo defconfig ;;
- esac
-}
-
-src_unpack() {
- unpack linux-${OKV}.tar.${K_TARBALL_SUFFIX} ${P}.tar.${K_TARBALL_SUFFIX} ${DEBIAN_A}
-}
-
-PATCHES=(
- # Build interp.o with EXTRA_KLIBCAFLAGS (.S source)
- "${FILESDIR}"/${PN}-1.4.11-interp-flags.patch
- # Fix usage of -s, bug #201006
- "${FILESDIR}"/klibc-1.5.7-strip-fix-dash-s.patch
- # The inline definition from sys/stat.h does not seem to get used
- # So just copy it to make this compile for now
- "${FILESDIR}"/klibc-2.0.2-mkfifo.patch
- # Newer kernels have some headers in the uapi dir
- "${FILESDIR}"/klibc-2.0.3-kernel-uapi.patch
-)
-
-src_prepare() {
- [[ ${PKV} ]] && eapply "${DISTDIR}"/patch-${PKV}.${K_TARBALL_SUFFIX}
-
- # Symlink /usr/src/linux to ${S}/linux
- ln -snf "${KS}" linux
- #ln -snf "/usr" linux
-
- # Borrow the debian fixes too
- for p in $(<"${WORKDIR}"/debian/patches/series) ; do
- PATCHES+=( "${WORKDIR}/debian/patches/${p}" )
- done
-
- default
-}
-
-# klibc has it's own ideas of arches
-# They reflect userspace strictly.
-# This functions maps from a Gentoo ARCH, to an arch that klibc expects
-# Look at klibc-${S}/usr/klibc/arch for a list of these arches
-klibc_arch() {
- a="${1:${ARCH}}"
- case ${a} in
- amd64) echo x86_64;;
- mips) die 'TODO: Use the $ABI' ;;
- x86) echo i386;;
- *) echo ${a} ;;
- esac
-}
-
-src_compile() {
- local myargs="all"
- local myARCH="${ARCH}" myABI="${ABI}"
- # TODO: For cross-compiling
- # You should set ARCH and ABI here
- CC="$(tc-getCC)"
- LD="$(tc-getLD)"
- HOSTCC="$(tc-getBUILD_CC)"
- HOSTLD="$(tc-getBUILD_LD)"
- KLIBCARCH="$(klibc_arch ${ARCH})"
- KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
- libdir="$(get_libdir)"
- # This should be the defconfig corresponding to your userspace!
- # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
- defconfig=$(kernel_defconfig ${ARCH})
- unset ABI ARCH # Unset these, because they interfere
- unset KBUILD_OUTPUT # we are using a private copy
-
- cd "${KS}"
- emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "No defconfig"
- if [[ "${KLIBCARCH/arm}" != "${KLIBCARCH}" ]] && \
- [[ "${CHOST/eabi}" != "${CHOST}" ]]; then
- # The delete and insert are seperate statements
- # so that they are reliably used.
- sed -i \
- -e '/CONFIG_AEABI/d' \
- -e '1iCONFIG_AEABI=y' \
- -e '/CONFIG_OABI_COMPAT/d' \
- -e '1iCONFIG_OABI_COMPAT=y' \
- -e '1iCONFIG_ARM_UNWIND=y' \
- "${KS}"/.config \
- "${S}"/defconfig
- fi
- emake prepare CC="${CC}" HOSTCC="${HOSTCC}" ARCH="${KLIBCASMARCH}" || die "Failed to prepare kernel sources for header usage"
-
- cd "${S}"
-
- use debug && myargs="${myargs} V=1"
- use test && myargs="${myargs} test"
- append-ldflags -z noexecstack
- append-flags -nostdlib
-
- # Parallel build intermittantly fails when doing `LIST usr/klibc/syscalls/klib.list'
- emake -j1 \
- EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
- EXTRA_KLIBCLDFLAGS="-z noexecstack" \
- HOSTLDFLAGS="-z noexecstack" \
- KLIBCOPTFLAGS='-nostdlib' \
- HOSTCC="${HOSTCC}" CC="${CC}" \
- HOSTLD="${HOSTLD}" LD="${LD}" \
- INSTALLDIR="/usr/${libdir}/klibc" \
- KLIBCARCH=${KLIBCARCH} \
- KLIBCASMARCH=${KLIBCASMARCH} \
- SHLIBDIR="/${libdir}" \
- libdir="/usr/${libdir}" \
- mandir="/usr/share/man" \
- T="${T}" \
- $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
- $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
- $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
- ${myargs} || die "Compile failed!"
-
- #SHLIBDIR="/${libdir}" \
-
- ARCH="${myARCH}" ABI="${myABI}"
-}
-
-src_install() {
- local myargs
- local myARCH="${ARCH}" myABI="${ABI}"
- # TODO: For cross-compiling
- # You should set ARCH and ABI here
- CC="$(tc-getCC)"
- HOSTCC="$(tc-getBUILD_CC)"
- KLIBCARCH="$(klibc_arch ${ARCH})"
- KLIBCASMARCH="$(kernel_asm_arch ${ARCH})"
- libdir="$(get_libdir)"
- # This should be the defconfig corresponding to your userspace!
- # NOT your kernel. PPC64-32ul would choose 'ppc' for example.
- defconfig=$(kernel_defconfig ${ARCH})
-
- use debug && myargs="${myargs} V=1"
-
- local klibc_prefix
- if tc-is-cross-compiler ; then
- klibc_prefix=$("${S}/klcc/${KLIBCARCH}-klcc" -print-klibc-prefix)
- else
- klibc_prefix=$("${S}/klcc/klcc" -print-klibc-prefix)
- fi
-
- unset ABI ARCH # Unset these, because they interfere
- unset KBUILD_OUTPUT # we are using a private copy
-
- emake \
- EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" \
- EXTRA_KLIBCLDFLAGS="-z noexecstack" \
- HOSTLDFLAGS="-z noexecstack" \
- KLIBCOPTFLAGS='-nostdlib' \
- HOSTCC="${HOSTCC}" CC="${CC}" \
- HOSTLD="${HOSTLD}" LD="${LD}" \
- INSTALLDIR="/usr/${libdir}/klibc" \
- INSTALLROOT="${D}" \
- KLIBCARCH=${KLIBCARCH} \
- KLIBCASMARCH=${KLIBCASMARCH} \
- SHLIBDIR="/${libdir}" \
- libdir="/usr/${libdir}" \
- mandir="/usr/share/man" \
- T="${T}" \
- $(use custom-cflags || echo SKIP_)HOSTCFLAGS="${CFLAGS}" \
- $(use custom-cflags || echo SKIP_)HOSTLDFLAGS="${LDFLAGS}" \
- $(use custom-cflags || echo SKIP_)KLIBCOPTFLAGS="${CFLAGS}" \
- ${myargs} \
- install || die "Install failed!"
-
- #SHLIBDIR="/${libdir}" \
-
- # klibc doesn't support prelinking, so we need to mask it
- cat > "${T}/70klibc" <<-EOF
- PRELINK_PATH_MASK="/usr/${libdir}/klibc"
- EOF
-
- doenvd "${T}"/70klibc
-
- # Fix the permissions (bug #178053) on /usr/${libdir}/klibc/include
- # Actually I have no idea, why the includes have those weird-ass permissions
- # on a particular system, might be due to inherited permissions from parent
- # directory
- # NOTE: This totally violates sandbox <asturm@gentoo.org>
- # find "${D}"/usr/${libdir}/klibc/include | xargs chmod o+rX
- find "${D}"/usr/${libdir}/klibc/include -type f \
- \( -name '.install' -o -name '..install.cmd' \) -delete || die
-
- # Hardlinks becoming copies
- for x in gunzip zcat ; do
- rm -f "${D}/${klibc_prefix}/bin/${x}"
- dosym gzip "${klibc_prefix}/bin/${x}"
- done
-
- # Restore now, so we can use the tc- functions
- ARCH="${myARCH}" ABI="${myABI}"
- if ! tc-is-cross-compiler ; then
- cd "${S}"
- insinto /usr/share/aclocal
- doins contrib/klibc.m4
-
- dodoc README usr/klibc/CAVEATS
- docinto gzip; dodoc usr/gzip/README
- fi
-
- # Fix up the symlink
- # Mainly for merged arches
- linkname="${D}/usr/${libdir}/klibc/include/asm"
- if [ -L "${linkname}" ] && [ ! -e "${linkname}" ] ; then
- ln -snf asm-${KLIBCASMARCH} "${linkname}"
- fi
-}
-
-src_test() {
- if ! tc-is-cross-compiler ; then
- cd "${S}"/usr/klibc/tests
- ALL_TESTS="$(ls *.c |sed 's,\.c$,,g')"
- BROKEN_TESTS="fcntl fnmatch testrand48"
- failed=0
- for t in $ALL_TESTS ; do
- if has $t $BROKEN_TESTS ; then
- echo "=== $t SKIP"
- else
- echo -n "=== $t "
- ./$t </dev/null >/dev/null
- rc=$?
- if [ $rc -eq 0 ]; then
- echo PASS
- else
- echo FAIL
- failed=1
- fi
- fi
- done
- [ $failed -ne 0 ] && die "Some tests failed."
- fi
-}
diff --git a/dev-libs/klibc/metadata.xml b/dev-libs/klibc/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/klibc/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/kopeninghours/Manifest b/dev-libs/kopeninghours/Manifest
new file mode 100644
index 000000000000..32e382728b50
--- /dev/null
+++ b/dev-libs/kopeninghours/Manifest
@@ -0,0 +1,2 @@
+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-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-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
new file mode 100644
index 000000000000..4dee22b2e449
--- /dev/null
+++ b/dev-libs/kopeninghours/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/kopeninghours</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/kosmindoormap/Manifest b/dev-libs/kosmindoormap/Manifest
new file mode 100644
index 000000000000..47921034114d
--- /dev/null
+++ b/dev-libs/kosmindoormap/Manifest
@@ -0,0 +1,2 @@
+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-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
new file mode 100644
index 000000000000..51bb95c924f5
--- /dev/null
+++ b/dev-libs/kosmindoormap/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>
+ <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>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/kpathsea/Manifest b/dev-libs/kpathsea/Manifest
index b417eca96f4a..847ee8136b74 100644
--- a/dev-libs/kpathsea/Manifest
+++ b/dev-libs/kpathsea/Manifest
@@ -1,11 +1,7 @@
-DIST kpathsea-texmf.d-8.tar.xz 11456 BLAKE2B e631ebcae97494b963dbe4bc03d7ba19ce0a38392dca8c171a40738cd7c6ea46ee821f993ab3ce8f4beb068cc485cb1c84adc7a07dd13c58c68bf9a0c17dff5e SHA512 496ef6e3134f1b0507b15729416de86d72f41b518f4d382c78c2f39b0d603d3d44f8c8befdab2351d38d2a26fd87e5a73570a67b11dbb3f307b006f409a6f036
-DIST kpathsea-texmf.d-9.tar.xz 12120 BLAKE2B 80069cdb1c8e1edf8ae0b5af2de825afdf234840f9365c0033d7fb080a1e5e5692ae9ba4c191b83422724f35523a21551102ef91e8642f5cbd4df9e251357b11 SHA512 5718ef60d33013159b5913f198330f9ecb098ac4333dd536068e8c48bf6eb208039a9b29afba331b3e4942c0c77c46e6add1c116d273f1f53550116ac06e69aa
-DIST texlive-20160523-source.tar.xz 45941100 BLAKE2B 8752212d41d6bbabc725d9b1dcc187dd4dbb34df4271c768e83c13a2dd4e7170aa162d01a15d87fa02bc1b5abee648a2d35e3aa1380569851cc21d6f33f2f109 SHA512 915fa2f5e2099dd385ef81033db7aafdf09558c0c200fed0748a8a42fd61f69d3eaac9decea334e30981af739dd81061a9b1d6853c7f6d00285fe0be40e26c3e
-DIST texlive-20170524-source.tar.xz 63483372 BLAKE2B 44669d1228f5be27e9d93672a4f4ead40f7f4c6cf386f2db6fef54d64f8b8a743a485fe1170904d8117b9745f71ec77db8434caa6cdd79359b1f3f387130a3b4 SHA512 18c18940992ab94ce22e22ccd4ad798253ea14ac2ab296a10ea5e9a8da9f33989f2e2641b42b564d1d5fb53bd371da3e68726b676d706b469016ad146cd19daa
-DIST texlive-20190410-source.tar.xz 53783408 BLAKE2B 8e34c7c2b74eab1c4d16ddbf7eddd8566593e6d68c42a2634760f11d86e68970698d8b9deddcf3297966968ede11ecf30e0b04ec19b708dc3e6d0a2abcc3799d SHA512 7759d8e668e53c0c73e48907096da9d8fb6384dd9c3342ddfb05e17d077054c5351d35256cf4e63a6da502de2f09f521979bede7209cdd5bd8ae80eba0efed2e
-DIST texlive-module-kpathsea-2016.tar.xz 30696 BLAKE2B 066f5586c93b07db1c07ee0e9a31465e24564faa30b0abf40e31212a1048527a54c58d516c5af139931df2f7d32b6c9c679080acc93f71f05245b2c4f0bb9530 SHA512 330254cf76fd30bf3686dd48710f21c4804f2f6ea9b14e6033b2741c3e6ba627e51efe96da9a1089120d474e36aad1c052285a7ea394b76ee2d4d335b86095fd
-DIST texlive-module-kpathsea-2017.tar.xz 30956 BLAKE2B f9f7d70a6d814996a211a5f3d9c6ee1f477497f84e4716af915bf1171018243094f11d131d2f51930575129b6e16e5fe5e907c0d74be1a182ba7e573be0eadb5 SHA512 df4bc2175394bb6e9726b2c09ccf04e2787f73d584dd6944a25b3aab1eb6e8b4bdcd14ca043b7fe4f6e240ede1bd7e9003b83e34dd3df8c685658b8dcddc83c9
-DIST texlive-module-kpathsea-2019.tar.xz 31480 BLAKE2B 897ceb8cb536f2d4a54ead2529da891eba83e4480b9ca527ab99337ed030f680bc25a12d4286e101965d146567720e3bb5fb8ff18a240365be9eeb7471c970bc SHA512 12676ea4b26af792c1abc2a3189c103357b6af4994d3131d8d98e507af24f5d9666bfe4d8abba0ec984eec1ba8c99ab7a6d35813c8e053c79c82a7baa88c973d
-DIST texlive-module-kpathsea.doc-2016.tar.xz 1128872 BLAKE2B e3b2e5c2c14e2d67fba3c89d31169b2af13bd6767983302ca302369ee8cf790655b248cc1069cfd59e4044562627eb83bca6ffe368d5c1b38832e08fcc53b678 SHA512 1cfbb4b5a8647bf5da46b04c9bc911091aa3322b154d65544aa3a1163e24b6906d7e5420549ab0ba023250e6dfa90e75d3a20dffd2e7360fba068a5c3cece885
-DIST texlive-module-kpathsea.doc-2017.tar.xz 1128868 BLAKE2B d1f6bb2f9a893616cc9e090671a7a3c2aaab0f942eed0824a60826b75ee0a62ded33cad197d0bb953100a02ecead1f8d84bf7374889bdba9fc36a26b23440a9c SHA512 af829f666c815da49b59bbe678a2c1e9fe45cbc528f484dfb6e43a1e52bbf0245a4e571505f5be2cc7cf7f5ebcdb06b862ac6e9f9b5390489f0fab10a11fd997
-DIST texlive-module-kpathsea.doc-2019.tar.xz 1068236 BLAKE2B 19ecf7d3e5dc1c7a537f59ad45188bb2cd23127682382e719d8bfced05a7f46704606be55c1ff3fe1374587b99866f441b67cb1b555dbf2e33f332d147e30dda SHA512 bd13bb8a5740df0abda5d5f546138504bf3b6bd54caa95e5f1758cc540af4bbbd055e3868c494f65e9bebe108038205d8537fcffbc821a8f17bc51119e5d479c
+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/insecure_tmp_mktexlsr.patch b/dev-libs/kpathsea/files/insecure_tmp_mktexlsr.patch
deleted file mode 100644
index 36d2094cddf0..000000000000
--- a/dev-libs/kpathsea/files/insecure_tmp_mktexlsr.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugzilla.redhat.com/show_bug.cgi?id=1181167
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=775139
-https://bugs.gentoo.org/show_bug.cgi?id=536454
-
-Index: kpathsea/mktexlsr
-===================================================================
---- kpathsea.orig/mktexlsr
-+++ kpathsea/mktexlsr
-@@ -73,7 +73,7 @@ if tty -s; then verbose=true; else verbo
- dry_run=false
- trees=
-
--treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.tmp"
-+treefile=`mktemp --tmpdir mktexlsrtrees.XXXXXXXXXX` || exit 1
- trap 'cd /; rm -f $treefile; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp";
- exit' 0 1 2 3 7 13 15
-
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/files/kpathsea.conf b/dev-libs/kpathsea/files/kpathsea.conf
new file mode 100644
index 000000000000..f68f5d5e125c
--- /dev/null
+++ b/dev-libs/kpathsea/files/kpathsea.conf
@@ -0,0 +1 @@
+d /var/cache/fonts 1777 root root -
diff --git a/dev-libs/kpathsea/kpathsea-6.2.2_p20160523.ebuild b/dev-libs/kpathsea/kpathsea-6.2.2_p20160523.ebuild
deleted file mode 100644
index 5b99104d2fe6..000000000000
--- a/dev-libs/kpathsea/kpathsea-6.2.2_p20160523.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit texlive-common eutils libtool prefix
-
-TEXMFD_VERSION="8"
-
-DESCRIPTION="Path searching library for TeX-related files"
-HOMEPAGE="http://tug.org/texlive/"
-SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
- mirror://gentoo/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/${PV%_p*}"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc source static-libs"
-
-DEPEND="!<app-text/texlive-core-2013
- !app-text/ptex"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
-
-TL_VERSION=2016
-EXTRA_TL_MODULES="kpathsea"
-EXTRA_TL_DOC_MODULES="kpathsea.doc"
-
-for i in ${EXTRA_TL_MODULES} ; do
- SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
-done
-
-SRC_URI="${SRC_URI} doc? ( "
-for i in ${EXTRA_TL_DOC_MODULES} ; do
- SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
-done
-SRC_URI="${SRC_URI} ) "
-
-TEXMF_PATH=/usr/share/texmf-dist
-
-src_prepare() {
- epatch "${FILESDIR}/insecure_tmp_mktexlsr.patch"
- cd "${WORKDIR}/texlive-${PV#*_p}-source"
- S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
- cp "${FILESDIR}/texmf-update-r2" "${S}"/texmf-update
- 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
-
- 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
-
- # The default configuration expects it to be world writable, bug #266680
- # People can still change it with texconfig though.
- dodir /var/cache/fonts
- fperms 1777 /var/cache/fonts
-
- # 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"
-
- 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"
-
- 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
-}
-
-pkg_postinst() {
- etexmf-update
-}
-
-pkg_postrm() {
- etexmf-update
-}
diff --git a/dev-libs/kpathsea/kpathsea-6.2.3_p20170524.ebuild b/dev-libs/kpathsea/kpathsea-6.2.3_p20170524.ebuild
deleted file mode 100644
index c5c3c142508a..000000000000
--- a/dev-libs/kpathsea/kpathsea-6.2.3_p20170524.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit texlive-common eutils libtool prefix
-
-TEXMFD_VERSION="8"
-
-DESCRIPTION="Path searching library for TeX-related files"
-HOMEPAGE="http://tug.org/texlive/"
-SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
- mirror://gentoo/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/${PV%_p*}"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc source static-libs"
-
-DEPEND="!<app-text/texlive-core-2013
- !app-text/ptex"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
-
-TL_VERSION=2017
-EXTRA_TL_MODULES="kpathsea"
-EXTRA_TL_DOC_MODULES="kpathsea.doc"
-
-for i in ${EXTRA_TL_MODULES} ; do
- SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
-done
-
-SRC_URI="${SRC_URI} doc? ( "
-for i in ${EXTRA_TL_DOC_MODULES} ; do
- SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
-done
-SRC_URI="${SRC_URI} ) "
-
-TEXMF_PATH=/usr/share/texmf-dist
-
-src_prepare() {
- epatch "${FILESDIR}/insecure_tmp_mktexlsr.patch"
- cd "${WORKDIR}/texlive-${PV#*_p}-source"
- S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
- cp "${FILESDIR}/texmf-update-r2" "${S}"/texmf-update
- 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
-
- 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
-
- # The default configuration expects it to be world writable, bug #266680
- # People can still change it with texconfig though.
- dodir /var/cache/fonts
- fperms 1777 /var/cache/fonts
-
- # 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"
-
- 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"
-
- 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
-}
-
-pkg_postinst() {
- etexmf-update
-}
-
-pkg_postrm() {
- etexmf-update
-}
diff --git a/dev-libs/kpathsea/kpathsea-6.3.1_p20190410.ebuild b/dev-libs/kpathsea/kpathsea-6.3.1_p20190410.ebuild
deleted file mode 100644
index bb7bc257e980..000000000000
--- a/dev-libs/kpathsea/kpathsea-6.3.1_p20190410.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit texlive-common libtool prefix
-
-TEXMFD_VERSION="9"
-
-DESCRIPTION="Path searching library for TeX-related files"
-HOMEPAGE="http://tug.org/texlive/"
-SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz
- mirror://gentoo/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0/${PV%_p*}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc source static-libs"
-
-S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
-
-TL_VERSION=2019
-EXTRA_TL_MODULES="kpathsea"
-EXTRA_TL_DOC_MODULES="kpathsea.doc"
-
-for i in ${EXTRA_TL_MODULES} ; do
- SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${TL_VERSION}.tar.xz"
-done
-
-SRC_URI="${SRC_URI} doc? ( "
-for i in ${EXTRA_TL_DOC_MODULES} ; do
- SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${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 #sane .so versionning on gfbsd
- 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
-
- 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
-
- # The default configuration expects it to be world writable, bug #266680
- # People can still change it with texconfig though.
- dodir /var/cache/fonts
- fperms 1777 /var/cache/fonts
-
- # 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"
-
- 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"
-
- 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
-}
-
-pkg_postinst() {
- etexmf-update
-}
-
-pkg_postrm() {
- etexmf-update
-}
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.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 c4b55593420b..08ee5edcf6b4 100644
--- a/dev-libs/kpathsea/metadata.xml
+++ b/dev-libs/kpathsea/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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/Manifest b/dev-libs/kpeoplevcard/Manifest
new file mode 100644
index 000000000000..94934aa3fa95
--- /dev/null
+++ b/dev-libs/kpeoplevcard/Manifest
@@ -0,0 +1 @@
+DIST kpeoplevcard-0.1.tar.xz 13424 BLAKE2B 567b5f081283da8af26e03c3e46c50bf67524146171a6f8afa938ac9609d11bfe32ad8de39a29ec0431af135f33825149fb8e98a28141941fd418539a8f03c30 SHA512 9f11ee768d1ddce1f03f41b604180078c0315eb8b9f0118dd99eba65333400b0a0ed12ab1e08ebce3c6c0a2c93563e5c3e832a0cd458d6ea296bd64eeb9413e7
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/metadata.xml b/dev-libs/kpeoplevcard/metadata.xml
new file mode 100644
index 000000000000..d925f2439758
--- /dev/null
+++ b/dev-libs/kpeoplevcard/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>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/kproperty/kproperty-3.2.0.ebuild b/dev-libs/kproperty/kproperty-3.2.0.ebuild
index ed6db995cc72..5772edfe9e63 100644
--- a/dev-libs/kproperty/kproperty-3.2.0.ebuild
+++ b/dev-libs/kproperty/kproperty-3.2.0.ebuild
@@ -1,29 +1,34 @@
-# 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
-KDE_QTHELP="true"
-KDE_TEST="true" # build system adds autotests dir based on BUILD_TESTING value
-inherit kde5
+ECM_QTHELP="true"
+ECM_TEST="true" # build system adds autotests dir based on BUILD_TESTING value
+KFMIN=5.60.0
+QTMIN=5.12.3
+inherit ecm kde.org
DESCRIPTION="Property editing framework with editor widget similar to Qt Designer"
-[[ ${KDE_BUILD_TYPE} != live ]] && SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
+HOMEPAGE="https://community.kde.org/KProperty"
+
+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"
-KEYWORDS="amd64 x86"
-IUSE=""
+
+# tests require installed headers, bug 636108
+RESTRICT="test"
DEPEND="
- $(add_frameworks_dep kconfig)
- $(add_frameworks_dep kcoreaddons)
- $(add_frameworks_dep kguiaddons)
- $(add_frameworks_dep kwidgetsaddons)
- $(add_qt_dep qtgui)
- $(add_qt_dep qtwidgets)
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
"
RDEPEND="${DEPEND}"
-
-# tests require installed headers, bug 636108
-RESTRICT+=" test"
diff --git a/dev-libs/kproperty/metadata.xml b/dev-libs/kproperty/metadata.xml
index 2fdbf33d963d..d925f2439758 100644
--- a/dev-libs/kproperty/metadata.xml
+++ b/dev-libs/kproperty/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="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/kpublictransport/Manifest b/dev-libs/kpublictransport/Manifest
new file mode 100644
index 000000000000..11edbabf08c1
--- /dev/null
+++ b/dev-libs/kpublictransport/Manifest
@@ -0,0 +1,2 @@
+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-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
new file mode 100644
index 000000000000..30e480919694
--- /dev/null
+++ b/dev-libs/kpublictransport/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/kpublictransport</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/kqoauth/kqoauth-0.98-r2.ebuild b/dev-libs/kqoauth/kqoauth-0.98-r2.ebuild
deleted file mode 100644
index dbfc65327cd6..000000000000
--- a/dev-libs/kqoauth/kqoauth-0.98-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit qmake-utils
-
-DESCRIPTION="Library for Qt that implements the OAuth 1.0 authentication specification"
-HOMEPAGE="https://github.com/kypeli/kQOAuth"
-SRC_URI="https://github.com/kypeli/kQOAuth/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/kQOAuth-${PV}"
-
-src_prepare() {
- default
-
- # prevent tests from beeing built at src_compile
- sed -i -e '/SUBDIRS/s/ tests//' ${PN}.pro || die "sed on ${PN}.pro failed"
- # respect libdir
- sed -e 's:{INSTALL_PREFIX}/lib:[QT_INSTALL_LIBS]:g' -i src/src.pro || die "sed on src.pro failed"
-
- sed \
- -e "s/TARGET = kqoauth/TARGET = kqoauth-qt5/g" \
- -i src/src.pro || die
-}
-
-src_configure() {
- eqmake5
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
-}
diff --git a/dev-libs/kqoauth/kqoauth-0.98-r3.ebuild b/dev-libs/kqoauth/kqoauth-0.98-r3.ebuild
new file mode 100644
index 000000000000..2da85d77ce6d
--- /dev/null
+++ b/dev-libs/kqoauth/kqoauth-0.98-r3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils
+
+DESCRIPTION="Library for Qt that implements the OAuth 1.0 authentication specification"
+HOMEPAGE="https://github.com/kypeli/kQOAuth"
+SRC_URI="https://github.com/kypeli/kQOAuth/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtxml:5
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/kQOAuth-${PV}"
+
+src_prepare() {
+ default
+
+ # prevent tests from beeing built at src_compile
+ sed -i -e '/SUBDIRS/s/ tests//' ${PN}.pro || die "sed on ${PN}.pro failed"
+ # respect libdir
+ sed -e 's:{INSTALL_PREFIX}/lib:[QT_INSTALL_LIBS]:g' -i src/src.pro || die "sed on src.pro failed"
+
+ sed \
+ -e "s/TARGET = kqoauth/TARGET = kqoauth-qt5/g" \
+ -i src/src.pro || die
+
+ # upstream .pc is aimed at Qt4
+ sed \
+ -e "/^Libs/s/lkqoauth/&-qt5/" \
+ -e "/^libdir/s/lib$/$(get_libdir)/" \
+ -e "/^Requires/s/Qt/Qt5/g" \
+ -i src/pcfile.sh || die
+}
+
+src_configure() {
+ eqmake5
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+}
diff --git a/dev-libs/kqoauth/metadata.xml b/dev-libs/kqoauth/metadata.xml
index 47acb0dadc7b..d4ebbef4cd20 100644
--- a/dev-libs/kqoauth/metadata.xml
+++ b/dev-libs/kqoauth/metadata.xml
@@ -1,11 +1,11 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>0xd34df00d@gmail.com</email>
<name>Georg Rudoy</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
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-gcc10.patch b/dev-libs/kreport/files/kreport-3.2.0-gcc10.patch
new file mode 100644
index 000000000000..8d5b26bee064
--- /dev/null
+++ b/dev-libs/kreport/files/kreport-3.2.0-gcc10.patch
@@ -0,0 +1,120 @@
+From 5d3053ea78b349b81b7a562974ad78f93d169791 Mon Sep 17 00:00:00 2001
+From: Jaroslaw Staniek <staniek@kde.org>
+Date: Tue, 16 Jun 2020 21:59:12 +0200
+Subject: [PATCH] Fix build with GCC 10 (make KReportGroupTracker use C++ file)
+
+BUG:422886
+CCMAIL:adam@piggz.co.uk
+
+FIXED-IN:3.2.1
+---
+ src/CMakeLists.txt | 5 +---
+ .../scripting/KReportGroupTracker.cpp | 26 +++++++++++++++++++
+ src/renderer/scripting/KReportGroupTracker.h | 25 +++++++++++++++---
+ 3 files changed, 48 insertions(+), 8 deletions(-)
+ create mode 100644 src/renderer/scripting/KReportGroupTracker.cpp
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1cf0b389..65bcf6e5 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -106,6 +106,7 @@ set(kreport_TARGET_INCLUDE_DIRS
+
+ if(KREPORT_SCRIPTING)
+ list(APPEND kreport_LIB_SRCS
++ renderer/scripting/KReportGroupTracker.cpp
+ renderer/scripting/KReportScriptHandler.cpp
+ renderer/scripting/KReportScriptConstants.cpp
+ renderer/scripting/KReportScriptDebug.cpp
+@@ -133,10 +134,6 @@ if(KREPORT_SCRIPTING)
+ items/text/KReportScriptText.cpp
+ )
+
+- qt_wrap_cpp(KReport kreport_LIB_SRCS
+- renderer/scripting/KReportGroupTracker.h
+- )
+-
+ list(APPEND kreport_INCLUDE_DIRS
+ ${CMAKE_CURRENT_SOURCE_DIR}/renderer/scripting
+ )
+diff --git a/src/renderer/scripting/KReportGroupTracker.cpp b/src/renderer/scripting/KReportGroupTracker.cpp
+new file mode 100644
+index 00000000..9274d4a5
+--- /dev/null
++++ b/src/renderer/scripting/KReportGroupTracker.cpp
+@@ -0,0 +1,26 @@
++/* This file is part of the KDE project
++ * Copyright (C) 2015 by Adam Pigg (adam@piggz.co.uk)
++ *
++ * 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, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "KReportGroupTracker.h"
++
++KReportGroupTracker::KReportGroupTracker()
++{
++}
++
++KReportGroupTracker::~KReportGroupTracker()
++{
++}
+diff --git a/src/renderer/scripting/KReportGroupTracker.h b/src/renderer/scripting/KReportGroupTracker.h
+index e434e05a..4c0852ea 100644
+--- a/src/renderer/scripting/KReportGroupTracker.h
++++ b/src/renderer/scripting/KReportGroupTracker.h
+@@ -1,3 +1,20 @@
++/* This file is part of the KDE project
++ * Copyright (C) 2015 by Adam Pigg (adam@piggz.co.uk)
++ *
++ * 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, see <http://www.gnu.org/licenses/>.
++ */
++
+ #ifndef KREPORTGROUPTRACKER_H
+ #define KREPORTGROUPTRACKER_H
+
+@@ -7,16 +24,16 @@
+ /*!
+ * @brief Keeps track of groups as the data for the group changes
+ */
+-class KREPORT_EXPORT KReportGroupTracker : public QObject {
++class KREPORT_EXPORT KReportGroupTracker : public QObject
++{
+ Q_OBJECT
+
+ protected:
+- KReportGroupTracker() {}
+- ~KReportGroupTracker() override{}
++ KReportGroupTracker();
++ ~KReportGroupTracker() override;
+
+ public:
+ Q_SLOT virtual void setGroupData(const QMap<QString, QVariant> &groupData) = 0;
+ };
+
+ #endif // KREPORTGROUPTRACKER_H
+-
+--
+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-r3.ebuild b/dev-libs/kreport/kreport-3.2.0-r3.ebuild
new file mode 100644
index 000000000000..d616a54c4a74
--- /dev/null
+++ b/dev-libs/kreport/kreport-3.2.0-r3.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"
+PYTHON_COMPAT=( python3_{9..12} )
+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/kreport/kreport-3.2.0.ebuild b/dev-libs/kreport/kreport-3.2.0.ebuild
deleted file mode 100644
index 97555f856932..000000000000
--- a/dev-libs/kreport/kreport-3.2.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-KDE_QTHELP="true"
-KDE_TEST="true"
-PYTHON_COMPAT=( python2_7 python3_{6,7} )
-VIRTUALX_REQUIRED="test"
-inherit kde5 python-any-r1
-
-DESCRIPTION="Framework for creation and generation of reports in multiple formats"
-[[ ${KDE_BUILD_TYPE} != live ]] && SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="5/4"
-KEYWORDS="amd64 x86"
-IUSE="marble +scripting webkit"
-
-RDEPEND="
- $(add_frameworks_dep kconfig)
- $(add_frameworks_dep kcoreaddons)
- $(add_frameworks_dep kguiaddons)
- $(add_frameworks_dep kwidgetsaddons)
- $(add_qt_dep qtgui)
- $(add_qt_dep qtprintsupport)
- $(add_qt_dep qtwidgets)
- $(add_qt_dep qtxml)
- >=dev-libs/kproperty-3.1.0:5=
- marble? ( $(add_kdeapps_dep marble '' '' '5=') )
- scripting? ( $(add_qt_dep qtdeclarative) )
- webkit? ( >=dev-qt/qtwebkit-5.212.0_pre20180120:5 )
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
- kde5_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- $(cmake-utils_use_find_package marble Marble)
- $(cmake-utils_use_find_package webkit Qt5WebKitWidgets)
- -DKREPORT_SCRIPTING=$(usex scripting)
- )
- kde5_src_configure
-}
diff --git a/dev-libs/kreport/metadata.xml b/dev-libs/kreport/metadata.xml
index b26b44c64033..b6696f2d87b7 100644
--- a/dev-libs/kreport/metadata.xml
+++ b/dev-libs/kreport/metadata.xml
@@ -1,10 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
<use>
<flag name="marble">Enable displaying of maps using <pkg>kde-apps/marble</pkg></flag>
<flag name="scripting">Support Qml scripting using <pkg>dev-qt/qtdeclarative</pkg></flag>
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/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 7680d7d718e9..7ca6271a9449 100644
--- a/dev-libs/leatherman/Manifest
+++ b/dev-libs/leatherman/Manifest
@@ -1,3 +1,2 @@
-DIST leatherman-1.3.0.tar.gz 434229 BLAKE2B e0c19bca2378afc4928554ac0862543504ba725aadc6cffd78220f7f7f1b725cad960fc6d9fdd2d54a43c233b35959ebcb9c71d1191a5535703599fa32e3301e SHA512 5e06be7add652f69b0d4a8d778e33dfb68183c4d598217cc6542d2431f7984f0af989c27bd69e89b77ab03d6dd2adab9d70f68cd87dae20d8e24ae05923fbe9b
-DIST leatherman-1.6.0.tar.gz 814463 BLAKE2B 1c990c261ded1fd32bb5b1912f84a4bef8ac3ccfae9172e0496f90283e1a2ac210bf9dc1c7e88bcb8776798674d93c1313359135051b4c7f023e1e3080104e2e SHA512 d0d22b60db2c164183268d29fe1bc1ee9ed16797d38174849eaa74841f801869d038e5672664aae89517487811a70f689a345a2c87d3a2f0a04d55214e7f9eaa
-DIST leatherman-1.6.1.tar.gz 814463 BLAKE2B b3370eaf1312894dadb9e754869cf72d498c452ef4c740acc9550d1c3fd881a673439f35fcfe2475635869910df52e81d0cc9b97a7a2fc62227a14376297f55b SHA512 0803b985b57bd5e34ba31137b31fdfece53cb545dffb6a9447aa3de0353c9300e2d9e41b2b4f761b7683e02ed6577decfb1938d238314fd8439eccb16aa9475a
+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/1.12.2-shared_nowide.patch b/dev-libs/leatherman/files/1.12.2-shared_nowide.patch
new file mode 100644
index 000000000000..bac6fe7eb2dc
--- /dev/null
+++ b/dev-libs/leatherman/files/1.12.2-shared_nowide.patch
@@ -0,0 +1,108 @@
+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>
+ #include <stdexcept>
+
+ 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..8f059cdc447e
--- /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.3.0.ebuild b/dev-libs/leatherman/leatherman-1.3.0.ebuild
deleted file mode 100644
index 5161ca2346ca..000000000000
--- a/dev-libs/leatherman/leatherman-1.3.0.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 cmake-utils multilib
-
-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"
-IUSE="debug test"
-KEYWORDS="amd64 ~arm hppa ppc ppc64 sparc x86"
-
-RDEPEND="net-misc/curl"
-DEPEND=">=dev-libs/boost-1.54[nls]
- net-misc/curl
- >=sys-devel/gcc-4.8:*"
-
-PATCHES=( "${FILESDIR}"/portage-sandbox-test-fix.patch )
-
-src_prepare() {
- sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_BUILD_TYPE=None
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_INSTALL_SYSCONFDIR=/etc
- -DCMAKE_INSTALL_LOCALSTATEDIR=/var
- )
- if use debug; then
- mycmakeargs+=(
- -DCMAKE_BUILD_TYPE=Debug
- )
- fi
- cmake-utils_src_configure
-}
-
-src_test() {
- "${WORKDIR}/${P}"_build/bin/leatherman_test
-}
-
-src_install() {
- cmake-utils_src_install
-}
diff --git a/dev-libs/leatherman/leatherman-1.6.0.ebuild b/dev-libs/leatherman/leatherman-1.6.0.ebuild
deleted file mode 100644
index 3e365ff23fc8..000000000000
--- a/dev-libs/leatherman/leatherman-1.6.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils multilib
-
-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"
-IUSE="debug static-libs test"
-KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc x86"
-SLOT="0/${PV}"
-
-RDEPEND="net-misc/curl"
-DEPEND=">=dev-libs/boost-1.54:=[nls]
- net-misc/curl
- >=sys-devel/gcc-4.8:*"
-
-PATCHES=( "${FILESDIR}"/portage-sandbox-test-fix.patch )
-
-src_prepare() {
- sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_BUILD_TYPE=None
- -DCMAKE_INSTALL_PREFIX=/usr
- )
- if ! use static-libs; then
- mycmakeargs+=(
- -DLEATHERMAN_SHARED=ON
- )
- else
- mycmakeargs+=(
- -DLEATHERMAN_SHARED=OFF
- )
- fi
- if use debug; then
- mycmakeargs+=(
- -DCMAKE_BUILD_TYPE=Debug
- )
- fi
- cmake-utils_src_configure
-}
-
-src_test() {
- "${WORKDIR}/${P}"_build/bin/leatherman_test
-}
-
-src_install() {
- cmake-utils_src_install
-}
diff --git a/dev-libs/leatherman/leatherman-1.6.1.ebuild b/dev-libs/leatherman/leatherman-1.6.1.ebuild
deleted file mode 100644
index 335426971404..000000000000
--- a/dev-libs/leatherman/leatherman-1.6.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils multilib
-
-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"
-IUSE="debug static-libs test"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86"
-SLOT="0/${PV}"
-
-RDEPEND="net-misc/curl"
-DEPEND=">=dev-libs/boost-1.54:=[nls]
- net-misc/curl
- >=sys-devel/gcc-4.8:*"
-
-PATCHES=( "${FILESDIR}"/portage-sandbox-test-fix.patch )
-
-src_prepare() {
- sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_BUILD_TYPE=None
- -DCMAKE_INSTALL_PREFIX=/usr
- )
- if ! use static-libs; then
- mycmakeargs+=(
- -DLEATHERMAN_SHARED=ON
- )
- else
- mycmakeargs+=(
- -DLEATHERMAN_SHARED=OFF
- )
- fi
- if use debug; then
- mycmakeargs+=(
- -DCMAKE_BUILD_TYPE=Debug
- )
- fi
- cmake-utils_src_configure
-}
-
-src_test() {
- "${WORKDIR}/${P}"_build/bin/leatherman_test
-}
-
-src_install() {
- cmake-utils_src_install
-}
diff --git a/dev-libs/leatherman/metadata.xml b/dev-libs/leatherman/metadata.xml
index 942d1e749b9c..cd2a3e5c1221 100644
--- a/dev-libs/leatherman/metadata.xml
+++ b/dev-libs/leatherman/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
@@ -8,7 +8,4 @@
<upstream>
<remote-id type="github">puppetlabs/leatherman</remote-id>
</upstream>
- <longdescription lang="en">
- A set of C++ Libraries.
- </longdescription>
</pkgmetadata>
diff --git a/dev-libs/legousbtower/Manifest b/dev-libs/legousbtower/Manifest
deleted file mode 100644
index 20af45c52e43..000000000000
--- a/dev-libs/legousbtower/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST legousbtower-0.5.4.tar.gz 22782 BLAKE2B a77f1e2fbadc7b7ecc93ce1726d4dbc47048cdf9edb7627cc08a4fb571657b0e601f7cd9b7a8026892a596ffaf8c3c9d26e4074c7aef57a78964087e905e38de SHA512 169cf31d4585bf3b7bd9aded76d202bb14e285f644f8aa10a6f4bf6d99e6f28efc33c65922388cdfa17a1bfc0dbc777edc1fb45484155543a42117eaba6fb7e7
diff --git a/dev-libs/legousbtower/files/20-lego.rules b/dev-libs/legousbtower/files/20-lego.rules
deleted file mode 100644
index ddd5470b9315..000000000000
--- a/dev-libs/legousbtower/files/20-lego.rules
+++ /dev/null
@@ -1 +0,0 @@
-SYSFS{product}=="LEGO USB Tower", NAME="usb/%k", SYMLINK="usb/lego%n", GROUP="usb"
diff --git a/dev-libs/legousbtower/legousbtower-0.5.4-r1.ebuild b/dev-libs/legousbtower/legousbtower-0.5.4-r1.ebuild
deleted file mode 100644
index 51fdecaf027b..000000000000
--- a/dev-libs/legousbtower/legousbtower-0.5.4-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit udev
-
-DESCRIPTION="The lego mindstorms usb tower headers and/or modules"
-SRC_URI="mirror://sourceforge/legousb/${P}.tar.gz"
-HOMEPAGE="http://legousb.sourceforge.net/"
-
-SLOT="0"
-LICENSE="MPL-1.0"
-KEYWORDS="amd64 ppc x86"
-IUSE=""
-
-src_configure() { :; }
-src_compile() { :; }
-
-src_install() {
- insinto /usr/include/LegoUSB
- doins include/legousbtower.h
- udev_dorules "${FILESDIR}"/20-lego.rules
- dodoc README
-}
-
-pkg_postinst() {
- elog "This package only provides the header file."
- elog "You need to enable the lego usb tower option in the kernel."
- elog "The kernel 2.4 module is no longer built or supported"
-}
diff --git a/dev-libs/legousbtower/metadata.xml b/dev-libs/legousbtower/metadata.xml
deleted file mode 100644
index 9f152df2ec1a..000000000000
--- a/dev-libs/legousbtower/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">legousb</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/level-zero/Manifest b/dev-libs/level-zero/Manifest
new file mode 100644
index 000000000000..5e25f887f0d1
--- /dev/null
+++ b/dev-libs/level-zero/Manifest
@@ -0,0 +1,4 @@
+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
+DIST level-zero-1.16.15.tar.gz 1001798 BLAKE2B 176a2152f9dbc292d221b3a75f7fbf28b863eb2fc3d83e54d3b0b7d504cde866ce376bd57d30b64f4619297732480c7a9add60538953a0cb600af43e465eaf65 SHA512 37f1770f1bfa71fa08d56afed53a4dd1107ff36d8790f7bb0f921237d9d0e90076ef22349e8f289cf8f154ca0e1e0fff6a7dcd55b71468989322b9892962b874
+DIST level-zero-1.17.0.tar.gz 1003951 BLAKE2B 10b7f7513b42e9f4c7671957959c0f7ff1ba3a05c2f39f23964b415e1b1984ae40d13be92c1a2587711181ac35b46d9f1132637aa41c2dfceef2f39f96ac35f6 SHA512 97b9d06b5cd84b1644ca252ac5009d1350f8c72aeb908a3b93bf8e07f91354589ce4fffdd8069b301eac6b704489ca04022aa4a44a7269bc0da3ace7103b5802
diff --git a/dev-libs/level-zero/files/level-zero-1.16.14-spdlog-libfmt.patch b/dev-libs/level-zero/files/level-zero-1.16.14-spdlog-libfmt.patch
new file mode 100644
index 000000000000..4d9264e0c49c
--- /dev/null
+++ b/dev-libs/level-zero/files/level-zero-1.16.14-spdlog-libfmt.patch
@@ -0,0 +1,60 @@
+Find the system copy of spdlog which then tells us how to link
+against both it & libfmt correctly, rather than accidentally
+picking up system spdlog headers and nothing else (defines, needed
+libraries, etc) when (for some reason?) FetchContent fails and we don't
+realise it.
+
+TODO: Figure out why FetchContent(?) failing doesn't kill the build
+TODO: Add a proper option for this to use the system copy/not
+
+Bug: https://bugs.gentoo.org/930157
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -57,9 +57,6 @@ elseif(Git_FOUND)
+ endif()
+ endif()
+
+-include(FetchContent)
+-set(SPDLOG_ROOT "${FETCHCONTENT_BASE_DIR}/spdlog-src")
+-
+ # Update other relevant variables to include the patch
+ set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+ set(CMAKE_PROJECT_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
+@@ -166,7 +163,6 @@ endif()
+
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/source/wrapper/include)
+-include_directories(${SPDLOG_ROOT}/include)
+
+ include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
+
+diff --git a/source/utils/CMakeLists.txt b/source/utils/CMakeLists.txt
+index cb6cfb1..4e486d8 100644
+--- a/source/utils/CMakeLists.txt
++++ b/source/utils/CMakeLists.txt
+@@ -1,23 +1,11 @@
+ # Copyright (C) 2024 Intel Corporation
+ # SPDX-License-Identifier: MIT
+
+-include(FetchContent)
+-set(SPDLOG_REPO https://github.com/gabime/spdlog)
+-set(SPDLOG_TAG v1.13.0)
+-FetchContent_Declare(
+- spdlog
+- GIT_REPOSITORY ${SPDLOG_REPO}
+- GIT_TAG ${SPDLOG_TAG}
+-)
+-FetchContent_makeAvailable(spdlog)
++find_package(spdlog)
+
+ add_library(utils
+- STATIC
+ "logging.h"
+ "logging.cpp"
+ )
+
+-target_include_directories(utils
+- PUBLIC
+- ${FETCHCONTENT_BASE_DIR}/spdlog-src/include
+-)
++target_link_libraries(utils spdlog::spdlog)
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-r1.ebuild b/dev-libs/level-zero/level-zero-1.16.14-r1.ebuild
new file mode 100644
index 000000000000..64493a4f0926
--- /dev/null
+++ b/dev-libs/level-zero/level-zero-1.16.14-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
+
+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"
+
+RDEPEND="
+ dev-libs/libfmt:=
+ dev-libs/spdlog:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.16.14-spdlog-libfmt.patch" )
+
+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.15.ebuild b/dev-libs/level-zero/level-zero-1.16.15.ebuild
new file mode 100644
index 000000000000..64493a4f0926
--- /dev/null
+++ b/dev-libs/level-zero/level-zero-1.16.15.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="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"
+
+RDEPEND="
+ dev-libs/libfmt:=
+ dev-libs/spdlog:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.16.14-spdlog-libfmt.patch" )
+
+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.17.0.ebuild b/dev-libs/level-zero/level-zero-1.17.0.ebuild
new file mode 100644
index 000000000000..64493a4f0926
--- /dev/null
+++ b/dev-libs/level-zero/level-zero-1.17.0.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="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"
+
+RDEPEND="
+ dev-libs/libfmt:=
+ dev-libs/spdlog:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.16.14-spdlog-libfmt.patch" )
+
+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/metadata.xml b/dev-libs/level-zero/metadata.xml
new file mode 100644
index 000000000000..5ac25a46553c
--- /dev/null
+++ b/dev-libs/level-zero/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>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">oneapi-src/level-zero</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/leveldb/Manifest b/dev-libs/leveldb/Manifest
index 4820c8ff4b4e..26c4a7fc073c 100644
--- a/dev-libs/leveldb/Manifest
+++ b/dev-libs/leveldb/Manifest
@@ -1,5 +1,2 @@
-DIST leveldb-1.15.0.tar.gz 205691 BLAKE2B 29ebe99ba8b2c44943a2c07c6c0e3a2136c53e15cbbb1fb807cb198b8849433c84ee5c4976fd898a84f2bddb38e543a0e45aedfabc1a46029ca23d39f8b0103e SHA512 af5b18a7750ac553659075c1c34aa2fddf6322b6837f096589cf5908c7050fd19053cd98d19fd7097e0840392b318f0166360d3a0595adcaaabcfdf393246775
-DIST leveldb-1.17.tar.gz 207037 BLAKE2B edeb366b9b17fec1a2bc0c0ca8636068bdd65dd1c017a4508c787714da0a202912d1283de9c77c94c9d34784fe552ab344e671fa351ec14f775b1e1037ffbef0 SHA512 d35401a92fa2b59c46e97ab94a9c70d0d5f97dbc7868a75354e088489338c078f47feaa3371489c481317b45ace6bd207d29676f5c18076ced86aa3f9fa44e58
-DIST leveldb-1.18.tar.gz 209376 BLAKE2B 08d63fe8aed45d38befd29caddee5a229ff847d254b30be55715793a621e840641d53af47e4fd93286ff0445d6001be26aa00063c075681659f7ceb692184249 SHA512 3d9c55a7bf8692914784ec33c273704ce9978496b071c7b661708f049d0d4ccd51a44441f50c3e536725caeb9896575192f52708a4bb1c0222cecdeec89919a3
DIST leveldb-1.20.tar.gz 223141 BLAKE2B 57ab5cb191679b8fbfaa28fa0a61ee1dcd757bb9c70215dd325daebfd93b30aa9bbe3c993a1758aa9804a7cd6f2c31df7cf98bdf98320cd1aebc14f5eb77d9a5 SHA512 c59258f2f58ce2d5680e9ab3da4ab0923d91cd4648dcf63cdaa26cdde92bf45e094544539ad11d8e09a4a4813435286143ed0e86c21c6c31a0596903ed4744d2
-DIST leveldb-1.9.0.tar.gz 203872 BLAKE2B 5fa6d361d82bd386a722b24f52b851791555c6cf77939bd6b55feaa75f0db0e216f84b2b3d23f4cac3bf522fb5fcbbf8b7adb46e4731d0ba161c82124cde9abf SHA512 47b0a3272eef2d677ddeb8d0c973e59a1be4bff580528c3bc3f83a654f41485ecc86892d9124ce21ef747c220f98cdad687436849dc978adfd42f8c8c05b9160
+DIST leveldb-1.23.tar.gz 242925 BLAKE2B ef9ac853cdc2f376b9b4299c1017db8c262cb318ad771f40fe81c9fb71ea06ee56ac533b3e8af4e6fdd28577a2f87cfd103ecb49098187d099ccd6019b8ca1d2 SHA512 ac15eac29387b9f702a901b6567d47a9f8c17cf5c7d8700a77ec771da25158c83b04959c33f3d4de7a3f033ef08f545d14ba823a8d527e21889c4b78065b0f84
diff --git a/dev-libs/leveldb/files/leveldb-1.18-mips.patch b/dev-libs/leveldb/files/leveldb-1.18-mips.patch
deleted file mode 100644
index 379223d210b6..000000000000
--- a/dev-libs/leveldb/files/leveldb-1.18-mips.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-https://github.com/google/leveldb/pull/272
-
-From f216400e702a51c900f2ce0285fdd6a21d3dd87b Mon Sep 17 00:00:00 2001
-From: Ben Chan <benchan@chromium.org>
-Date: Thu, 11 Sep 2014 21:38:48 -0700
-Subject: [PATCH] CHROMIUMOS: Add memory barrier implementation for MIPS.
-
-This CL is based on the patch authored by David Turner <digit@google.com>,
-see https://code.google.com/p/leveldb/issues/detail?id=109
-
-BUG=chromium:413517
-TEST=`emerge-{x86,amd64,arm,mipsel-o32}-generic leveldb`
-
-Reviewed-on: https://chromium-review.googlesource.com/217834
----
- port/atomic_pointer.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/port/atomic_pointer.h b/port/atomic_pointer.h
-index 35ae550..341909e 100644
---- a/port/atomic_pointer.h
-+++ b/port/atomic_pointer.h
-@@ -36,6 +36,8 @@
- #define ARCH_CPU_X86_FAMILY 1
- #elif defined(__ARMEL__)
- #define ARCH_CPU_ARM_FAMILY 1
-+#elif defined(__mips__)
-+#define ARCH_CPU_MIPS_FAMILY 1
- #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
- #define ARCH_CPU_PPC_FAMILY 1
- #endif
-@@ -83,6 +85,13 @@ inline void MemoryBarrier() {
- }
- #define LEVELDB_HAVE_MEMORY_BARRIER
-
-+// MIPS
-+#elif defined(ARCH_CPU_MIPS_FAMILY) && defined(__GNUC__)
-+inline void MemoryBarrier() {
-+ __asm__ __volatile__("sync" : : : "memory");
-+}
-+#define LEVELDB_HAVE_MEMORY_BARRIER
-+
- #endif
-
- // AtomicPointer built using platform-specific MemoryBarrier()
---
-2.3.0
-
diff --git a/dev-libs/leveldb/files/leveldb-1.23-remove-benchmark-dep.patch b/dev-libs/leveldb/files/leveldb-1.23-remove-benchmark-dep.patch
new file mode 100644
index 000000000000..be5ce7386ed4
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.23-remove-benchmark-dep.patch
@@ -0,0 +1,44 @@
+Only one test executable is using benchmark, and that is only for a badly
+placed benchmark.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -323,7 +323,7 @@ if(LEVELDB_BUILD_TESTS)
+
+ "${test_file}"
+ )
+- target_link_libraries("${test_target_name}" leveldb gmock gtest benchmark)
++ target_link_libraries("${test_target_name}" leveldb gmock gtest)
+ target_compile_definitions("${test_target_name}"
+ PRIVATE
+ ${LEVELDB_PLATFORM_NAME}=1
+--- a/db/db_test.cc
++++ b/db/db_test.cc
+@@ -9,7 +9,6 @@
+ #include <string>
+
+ #include "gtest/gtest.h"
+-#include "benchmark/benchmark.h"
+ #include "db/db_impl.h"
+ #include "db/filename.h"
+ #include "db/version_set.h"
+@@ -2301,6 +2300,7 @@ std::string MakeKey(unsigned int num) {
+ return std::string(buf);
+ }
+
++#if 0
+ static void BM_LogAndApply(benchmark::State& state) {
+ const int num_base_files = state.range(0);
+
+@@ -2357,10 +2357,10 @@ static void BM_LogAndApply(benchmark::State& state) {
+ }
+
+ BENCHMARK(BM_LogAndApply)->Arg(1)->Arg(100)->Arg(10000)->Arg(100000);
++#endif
+ } // namespace leveldb
+
+ int main(int argc, char** argv) {
+ testing::InitGoogleTest(&argc, argv);
+- benchmark::RunSpecifiedBenchmarks();
+ return RUN_ALL_TESTS();
+ }
diff --git a/dev-libs/leveldb/files/leveldb-1.23-system-testdeps.patch b/dev-libs/leveldb/files/leveldb-1.23-system-testdeps.patch
new file mode 100644
index 000000000000..8165050048c9
--- /dev/null
+++ b/dev-libs/leveldb/files/leveldb-1.23-system-testdeps.patch
@@ -0,0 +1,24 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -296,20 +296,11 @@
+ set(build_gmock ON)
+
+ # This project is tested using GoogleTest.
+- add_subdirectory("third_party/googletest")
++ find_package(GTest REQUIRED)
+
+ # This project uses Google benchmark for benchmarking.
+ set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "" FORCE)
+ set(BENCHMARK_ENABLE_EXCEPTIONS OFF CACHE BOOL "" FORCE)
+- add_subdirectory("third_party/benchmark")
+-
+- # GoogleTest triggers a missing field initializers warning.
+- if(LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS)
+- set_property(TARGET gtest
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- set_property(TARGET gmock
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- endif(LEVELDB_HAVE_NO_MISSING_FIELD_INITIALIZERS)
+
+ function(leveldb_test test_file)
+ get_filename_component(test_target_name "${test_file}" NAME_WE)
diff --git a/dev-libs/leveldb/files/leveldb-1.9.0-configure.patch b/dev-libs/leveldb/files/leveldb-1.9.0-configure.patch
deleted file mode 100644
index d25fe01f6835..000000000000
--- a/dev-libs/leveldb/files/leveldb-1.9.0-configure.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/build_detect_platform b/build_detect_platform
-index 5801d20..4b4bb0d 100755
---- a/build_detect_platform
-+++ b/build_detect_platform
-@@ -169,20 +169,30 @@ EOF
-
- # Test whether Snappy library is installed
- # http://code.google.com/p/snappy/
-+if [ "${USE_SNAPPY:-auto}" = "auto" ]; then
- $CXX $CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
- #include <snappy.h>
- int main() {}
- EOF
- if [ "$?" = 0 ]; then
-+ USE_SNAPPY="yes"
-+ fi
-+fi
-+ if [ "$USE_SNAPPY" = "yes" ]; then
- COMMON_FLAGS="$COMMON_FLAGS -DSNAPPY"
- PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy"
- fi
-
- # Test whether tcmalloc is available
-+if [ "${USE_TCMALLOC:-auto}" = "auto" ]; then
- $CXX $CXXFLAGS -x c++ - -o /dev/null -ltcmalloc 2>/dev/null <<EOF
- int main() {}
- EOF
- if [ "$?" = 0 ]; then
-+ USE_TCMALLOC="yes"
-+ fi
-+fi
-+ if [ "$USE_TCMALLOC" = "yes" ]; then
- PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc"
- fi
- fi
diff --git a/dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch b/dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch
deleted file mode 100644
index 1c21dbe09ff5..000000000000
--- a/dev-libs/leveldb/files/leveldb-1.9.0-forwardcompat.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-diff -ur leveldb-1.9.0.orig/db/db_test.cc leveldb-1.9.0/db/db_test.cc
---- leveldb-1.9.0.orig/db/db_test.cc 2013-01-07 21:07:29.000000000 +0000
-+++ leveldb-1.9.0/db/db_test.cc 2014-03-28 22:58:59.000000000 +0000
-@@ -139,7 +139,7 @@
-
- Status s = target()->NewWritableFile(f, r);
- if (s.ok()) {
-- if (strstr(f.c_str(), ".sst") != NULL) {
-+ if (strstr(f.c_str(), ".sst") != NULL || strstr(f.c_str(), ".ldb") != NULL) {
- *r = new SSTableFile(this, *r);
- } else if (strstr(f.c_str(), "MANIFEST") != NULL) {
- *r = new ManifestFile(this, *r);
-diff -ur leveldb-1.9.0.orig/db/filename.cc leveldb-1.9.0/db/filename.cc
---- leveldb-1.9.0.orig/db/filename.cc 2013-01-07 21:07:29.000000000 +0000
-+++ leveldb-1.9.0/db/filename.cc 2014-03-28 23:07:48.000000000 +0000
-@@ -34,6 +34,11 @@
- return MakeFileName(name, number, "sst");
- }
-
-+std::string LDBTableFileName(const std::string& name, uint64_t number) {
-+ assert(number > 0);
-+ return MakeFileName(name, number, "ldb");
-+}
-+
- std::string DescriptorFileName(const std::string& dbname, uint64_t number) {
- assert(number > 0);
- char buf[100];
-@@ -106,7 +111,7 @@
- Slice suffix = rest;
- if (suffix == Slice(".log")) {
- *type = kLogFile;
-- } else if (suffix == Slice(".sst")) {
-+ } else if (suffix == Slice(".sst") || suffix == Slice(".ldb")) {
- *type = kTableFile;
- } else if (suffix == Slice(".dbtmp")) {
- *type = kTempFile;
-diff -ur leveldb-1.9.0.orig/db/filename.h leveldb-1.9.0/db/filename.h
---- leveldb-1.9.0.orig/db/filename.h 2013-01-07 21:07:29.000000000 +0000
-+++ leveldb-1.9.0/db/filename.h 2014-03-28 23:07:43.000000000 +0000
-@@ -36,6 +36,7 @@
- // in the db named by "dbname". The result will be prefixed with
- // "dbname".
- extern std::string TableFileName(const std::string& dbname, uint64_t number);
-+extern std::string LDBTableFileName(const std::string& dbname, uint64_t number);
-
- // Return the name of the descriptor file for the db named by
- // "dbname" and the specified incarnation number. The result will be
-diff -ur leveldb-1.9.0.orig/db/repair.cc leveldb-1.9.0/db/repair.cc
---- leveldb-1.9.0.orig/db/repair.cc 2013-01-07 21:07:29.000000000 +0000
-+++ leveldb-1.9.0/db/repair.cc 2014-03-28 23:13:28.000000000 +0000
-@@ -263,6 +263,14 @@
- std::string fname = TableFileName(dbname_, t->meta.number);
- int counter = 0;
- Status status = env_->GetFileSize(fname, &t->meta.file_size);
-+ if (!status.ok()) {
-+ // Try alternate file name.
-+ fname = LDBTableFileName(dbname_, t->meta.number);
-+ Status s2 = env_->GetFileSize(fname, &t->meta.file_size);
-+ if (s2.ok()) {
-+ status = Status::OK();
-+ }
-+ }
- if (status.ok()) {
- Iterator* iter = table_cache_->NewIterator(
- ReadOptions(), t->meta.number, t->meta.file_size);
-diff -ur leveldb-1.9.0.orig/db/table_cache.cc leveldb-1.9.0/db/table_cache.cc
---- leveldb-1.9.0.orig/db/table_cache.cc 2013-01-07 21:07:29.000000000 +0000
-+++ leveldb-1.9.0/db/table_cache.cc 2014-03-28 23:12:39.000000000 +0000
-@@ -54,6 +54,12 @@
- RandomAccessFile* file = NULL;
- Table* table = NULL;
- s = env_->NewRandomAccessFile(fname, &file);
-+ if (!s.ok()) {
-+ std::string ldb_fname = LDBTableFileName(dbname_, file_number);
-+ if (env_->NewRandomAccessFile(ldb_fname, &file).ok()) {
-+ s = Status::OK();
-+ }
-+ }
- if (s.ok()) {
- s = Table::Open(*options_, file, file_size, &table);
- }
diff --git a/dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch b/dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch
deleted file mode 100644
index 0df587a3f9c9..000000000000
--- a/dev-libs/leveldb/files/leveldb-1.9.0-memenv-so.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- leveldb-1.9.0.orig/Makefile 2013-01-07 21:07:29.000000000 +0000
-+++ leveldb-1.9.0/Makefile 2014-03-28 22:11:05.000000000 +0000
-@@ -61,37 +61,45 @@
- # Should we build shared libraries?
- ifneq ($(PLATFORM_SHARED_EXT),)
-
-+SHARED1 = $(PLATFORM_SHARED_EXT)
-+
- ifneq ($(PLATFORM_SHARED_VERSIONED),true)
--SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
- SHARED2 = $(SHARED1)
- SHARED3 = $(SHARED1)
--SHARED = $(SHARED1)
-+SHARED=%.$(SHARED1)
- else
- # Update db.h if you change these.
- SHARED_MAJOR = 1
- SHARED_MINOR = 9
--SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT)
- SHARED2 = $(SHARED1).$(SHARED_MAJOR)
- SHARED3 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR)
--SHARED = $(SHARED1) $(SHARED2) $(SHARED3)
--$(SHARED1): $(SHARED3)
-- ln -fs $(SHARED3) $(SHARED1)
--$(SHARED2): $(SHARED3)
-- ln -fs $(SHARED3) $(SHARED2)
-+SHARED=%.$(SHARED1) %.$(SHARED2) %.$(SHARED3)
-+%.$(SHARED1): %.$(SHARED3)
-+ ln -fs $< $@
-+%.$(SHARED2): %.$(SHARED3)
-+ ln -fs $< $@
- endif
-
--$(SHARED3):
-- $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SOURCES) -o $(SHARED3) $(LIBS)
-+%.SHARED: $(SHARED)
-+ @true
-+
-+%.$(SHARED3):
-+ $(CXX) $(LDFLAGS) $(PLATFORM_SHARED_LDFLAGS)$*.$(SHARED2) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $^ -o $@ $(LIBS)
-+
-+libleveldb.$(SHARED3): $(SOURCES)
-+libmemenv.$(SHARED3): $(MEMENV_SOURCES)
-+
-+.SECONDARY: $(subst %,libleveldb,$(SHARED)) $(subst %,libmemenv,$(SHARED))
-
- endif # PLATFORM_SHARED_EXT
-
--all: $(SHARED) $(LIBRARY)
-+all: libleveldb.SHARED $(LIBRARY)
-
- check: all $(PROGRAMS) $(TESTS)
- for t in $(TESTS); do echo "***** Running $$t"; ./$$t || exit 1; done
-
- clean:
-- -rm -f $(PROGRAMS) $(BENCHMARKS) $(LIBRARY) $(SHARED) $(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk
-+ -rm -f $(PROGRAMS) $(BENCHMARKS) $(LIBRARY) $(subst %,libleveldb,$(SHARED)) $(MEMENVLIBRARY) */*.o */*/*.o ios-x86/*/*.o ios-arm/*/*.o build_config.mk
- -rm -rf ios-x86/* ios-arm/*
-
- $(LIBRARY): $(LIBOBJECTS)
diff --git a/dev-libs/leveldb/leveldb-1.15.0-r1.ebuild b/dev-libs/leveldb/leveldb-1.15.0-r1.ebuild
deleted file mode 100644
index f2ea73b72f90..000000000000
--- a/dev-libs/leveldb/leveldb-1.15.0-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+snappy static-libs +tcmalloc"
-
-DEPEND="tcmalloc? ( dev-util/google-perftools )
- snappy? (
- app-arch/snappy
- static-libs? ( app-arch/snappy[static-libs] )
- )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- cp "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" "${S}/patch"
- sed -i 's/\(^ SHARED_MINOR =\).*/\1 15/' "${S}/patch"
- epatch "${S}/patch"
-}
-
-src_configure() {
- # These vars all get picked up by build_detect_platform
- # which the Makefile runs for us automatically.
- tc-export AR CC CXX
- export OPT="-DNDEBUG ${CPPFLAGS}"
- # Probably needs more filling out
- export TARGET_OS
- case ${CHOST} in
- *) TARGET_OS="Linux";;
- esac
- export USE_SNAPPY=$(usex snappy)
- export USE_TCMALLOC=no
-}
-
-src_compile() {
- emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a libmemenv.SHARED
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- insinto /usr/include
- doins -r include/* helpers/memenv/memenv.h
- dolib.so libleveldb*$(get_libname)*
- use static-libs && dolib.a libleveldb.a
- dolib.a libmemenv.a
- dolib.so libmemenv*$(get_libname)*
-}
diff --git a/dev-libs/leveldb/leveldb-1.15.0.ebuild b/dev-libs/leveldb/leveldb-1.15.0.ebuild
deleted file mode 100644
index 0b1c19884483..000000000000
--- a/dev-libs/leveldb/leveldb-1.15.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+snappy static-libs +tcmalloc"
-
-DEPEND="tcmalloc? ( dev-util/google-perftools )
- snappy? (
- app-arch/snappy
- static-libs? ( app-arch/snappy[static-libs] )
- )"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- # These vars all get picked up by build_detect_platform
- # which the Makefile runs for us automatically.
- tc-export AR CC CXX
- export OPT="-DNDEBUG ${CPPFLAGS}"
- # Probably needs more filling out
- export TARGET_OS
- case ${CHOST} in
- *) TARGET_OS="Linux";;
- esac
- export USE_SNAPPY=$(usex snappy)
- export USE_TCMALLOC=no
-}
-
-src_compile() {
- emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- insinto /usr/include
- doins -r include/* helpers/memenv/memenv.h
- dolib.so libleveldb*$(get_libname)*
- use static-libs && dolib.a libleveldb.a
- dolib.a libmemenv.a
-}
diff --git a/dev-libs/leveldb/leveldb-1.17.ebuild b/dev-libs/leveldb/leveldb-1.17.ebuild
deleted file mode 100644
index 932d7cd196df..000000000000
--- a/dev-libs/leveldb/leveldb-1.17.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs versionator
-
-GITCRAP="e353fbc7ea81"
-
-DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-#SRC_URI="https://${PN}.googlecode.com/archive/${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+snappy static-libs +tcmalloc"
-
-DEPEND="tcmalloc? ( dev-util/google-perftools )
- snappy? (
- app-arch/snappy
- static-libs? ( app-arch/snappy[static-libs] )
- )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-${GITCRAP}"
-
-src_prepare() {
- local SHARED_MINOR=$(get_version_component_range 2)
- cp "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" "${S}/patch"
- sed -i "s/\(^ SHARED_MINOR =\).*/\1 ${SHARED_MINOR}/" "${S}/patch"
- epatch "${S}/patch"
-
- # lacks execution bit
- chmod +x "${S}"/build_detect_platform || die
-}
-
-src_configure() {
- # These vars all get picked up by build_detect_platform
- # which the Makefile runs for us automatically.
- tc-export AR CC CXX
- export OPT="-DNDEBUG ${CPPFLAGS}"
- # Probably needs more filling out
- export TARGET_OS
- case ${CHOST} in
- *) TARGET_OS="Linux";;
- esac
- export USE_SNAPPY=$(usex snappy)
- export USE_TCMALLOC=no
-}
-
-src_compile() {
- emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a libmemenv.SHARED
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- insinto /usr/include
- doins -r include/* helpers/memenv/memenv.h
- dolib.so libleveldb*$(get_libname)*
- use static-libs && dolib.a libleveldb.a
- dolib.a libmemenv.a
- dolib.so libmemenv*$(get_libname)*
-}
diff --git a/dev-libs/leveldb/leveldb-1.18-r2.ebuild b/dev-libs/leveldb/leveldb-1.18-r2.ebuild
deleted file mode 100644
index 3cc929118ec6..000000000000
--- a/dev-libs/leveldb/leveldb-1.18-r2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs versionator
-
-DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="http://leveldb.org/ https://github.com/google/leveldb"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~mips ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="+snappy static-libs +tcmalloc kernel_FreeBSD"
-
-DEPEND="tcmalloc? ( dev-util/google-perftools )
- snappy? (
- app-arch/snappy:=
- static-libs? ( app-arch/snappy[static-libs] )
- )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-1.18-mips.patch
- epatch "${FILESDIR}"/${PN}-1.18-configure.patch #541186
-
- local SHARED_MINOR=$(get_version_component_range 2)
- sed \
- -e "s/\(^ SHARED_MINOR =\).*/\1 ${SHARED_MINOR}/" \
- "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" > memenv-so.patch
- epatch memenv-so.patch
-}
-
-src_configure() {
- # These vars all get picked up by build_detect_platform
- # which the Makefile runs for us automatically.
- tc-export AR CC CXX
- export OPT="-DNDEBUG ${CPPFLAGS}"
- local targetos
- if use kernel_FreeBSD; then
- targetos="FreeBSD"
- else
- targetos="Linux"
- fi
-
- TARGET_OS=${targetos} \
- USE_SNAPPY=$(usex snappy) \
- USE_TCMALLOC=no \
- TMPDIR=${T} \
- sh -x ./build_detect_platform build_config.mk ./
-}
-
-src_compile() {
- emake $(usex static-libs 'libmemenv.a' 'LIBRARY=') all libmemenv.SHARED
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- insinto /usr/include
- doins -r include/*
- # This matches the path Debian picked. Upstream provides no guidance.
- insinto /usr/include/leveldb/helpers
- doins helpers/memenv/memenv.h
-
- dolib.so libleveldb*$(get_libname)*
- use static-libs && dolib.a libleveldb.a libmemenv.a
- dolib.so libmemenv*$(get_libname)*
-}
diff --git a/dev-libs/leveldb/leveldb-1.18.ebuild b/dev-libs/leveldb/leveldb-1.18.ebuild
deleted file mode 100644
index 4d12e3776624..000000000000
--- a/dev-libs/leveldb/leveldb-1.18.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs versionator
-
-DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+snappy static-libs +tcmalloc"
-
-DEPEND="tcmalloc? ( dev-util/google-perftools )
- snappy? (
- app-arch/snappy
- static-libs? ( app-arch/snappy[static-libs] )
- )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-1.18-mips.patch
-
- local SHARED_MINOR=$(get_version_component_range 2)
- sed \
- -e "s/\(^ SHARED_MINOR =\).*/\1 ${SHARED_MINOR}/" \
- "${FILESDIR}/${PN}-1.9.0-memenv-so.patch" > memenv-so.patch
- epatch memenv-so.patch
-
- # lacks execution bit
- chmod +x build_detect_platform || die
-}
-
-src_configure() {
- # These vars all get picked up by build_detect_platform
- # which the Makefile runs for us automatically.
- tc-export AR CC CXX
- export OPT="-DNDEBUG ${CPPFLAGS}"
- # Probably needs more filling out
- export TARGET_OS
- case ${CHOST} in
- *) TARGET_OS="Linux";;
- esac
- export USE_SNAPPY=$(usex snappy)
- export USE_TCMALLOC=no
-}
-
-src_compile() {
- emake $(usex static-libs 'libmemenv.a' 'LIBRARY=') all libmemenv.SHARED
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- insinto /usr/include
- doins -r include/* helpers/memenv/memenv.h
- dolib.so libleveldb*$(get_libname)*
- use static-libs && dolib.a libleveldb.a libmemenv.a
- dolib.so libmemenv*$(get_libname)*
-}
diff --git a/dev-libs/leveldb/leveldb-1.20.ebuild b/dev-libs/leveldb/leveldb-1.20.ebuild
index 148679ff2a54..6961f094c8cc 100644
--- a/dev-libs/leveldb/leveldb-1.20.ebuild
+++ b/dev-libs/leveldb/leveldb-1.20.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,14 +6,15 @@ EAPI=7
inherit multilib toolchain-funcs
DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="http://leveldb.org/ https://github.com/google/leveldb"
+HOMEPAGE="https://github.com/google/leveldb"
SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
# https://github.com/google/leveldb/issues/536
SLOT="0/1"
-KEYWORDS="amd64 arm ~arm64 ~mips ppc ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="+snappy static-libs kernel_FreeBSD +tcmalloc test"
+KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+snappy static-libs +tcmalloc test"
+RESTRICT="!test? ( test )"
DEPEND="tcmalloc? ( dev-util/google-perftools )
snappy? (
@@ -33,7 +34,7 @@ src_configure() {
tc-export AR CC CXX
export OPT="-DNDEBUG ${CPPFLAGS}"
- TARGET_OS=$(usex kernel_FreeBSD FreeBSD Linux) \
+ TARGET_OS=Linux \
USE_SNAPPY=$(usex snappy) \
USE_TCMALLOC=no \
TMPDIR=${T} \
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/leveldb-1.9.0-r5.ebuild b/dev-libs/leveldb/leveldb-1.9.0-r5.ebuild
deleted file mode 100644
index 6a25a27fc933..000000000000
--- a/dev-libs/leveldb/leveldb-1.9.0-r5.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm ~ppc ~ppc64 x86"
-IUSE="+snappy static-libs"
-
-DEPEND="
- snappy? (
- app-arch/snappy
- static-libs? ( app-arch/snappy[static-libs] )
- )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-1.9.0-configure.patch
-}
-
-src_configure() {
- # These vars all get picked up by build_detect_platform
- # which the Makefile runs for us automatically.
- tc-export AR CC CXX
- export OPT="-DNDEBUG ${CPPFLAGS}"
- # Probably needs more filling out
- export TARGET_OS
- case ${CHOST} in
- *) TARGET_OS="Linux";;
- esac
- export USE_SNAPPY=$(usex snappy)
- export USE_TCMALLOC=no
-}
-
-src_compile() {
- emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- insinto /usr/include
- doins -r include/* helpers/memenv/memenv.h
- dolib.so libleveldb*$(get_libname)*
- use static-libs && dolib.a libleveldb.a
- dolib.a libmemenv.a
-}
diff --git a/dev-libs/leveldb/leveldb-1.9.0-r6.ebuild b/dev-libs/leveldb/leveldb-1.9.0-r6.ebuild
deleted file mode 100644
index 397354b0f635..000000000000
--- a/dev-libs/leveldb/leveldb-1.9.0-r6.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="a fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm ~ppc ~ppc64 x86"
-IUSE="+snappy static-libs"
-
-DEPEND="
- snappy? (
- app-arch/snappy
- static-libs? ( app-arch/snappy[static-libs] )
- )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-1.9.0-configure.patch
- epatch "${FILESDIR}"/${PN}-1.9.0-forwardcompat.patch
-}
-
-src_configure() {
- # These vars all get picked up by build_detect_platform
- # which the Makefile runs for us automatically.
- tc-export AR CC CXX
- export OPT="-DNDEBUG ${CPPFLAGS}"
- # Probably needs more filling out
- export TARGET_OS
- case ${CHOST} in
- *) TARGET_OS="Linux";;
- esac
- export USE_SNAPPY=$(usex snappy)
- export USE_TCMALLOC=no
-}
-
-src_compile() {
- emake $(usex static-libs '' 'LIBRARY=') all libmemenv.a
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- insinto /usr/include
- doins -r include/* helpers/memenv/memenv.h
- dolib.so libleveldb*$(get_libname)*
- use static-libs && dolib.a libleveldb.a
- dolib.a libmemenv.a
-}
diff --git a/dev-libs/leveldb/metadata.xml b/dev-libs/leveldb/metadata.xml
index 056bf21ff538..0c3bde759c88 100644
--- a/dev-libs/leveldb/metadata.xml
+++ b/dev-libs/leveldb/metadata.xml
@@ -1,15 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
- <use>
- <flag name="snappy">support the snappy compression library</flag>
- </use>
- <upstream>
- <remote-id type="github">google/leveldb</remote-id>
- <bugs-to>https://github.com/google/leveldb/issues</bugs-to>
- </upstream>
+ <maintainer type="person">
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/leveldb</remote-id>
+ <bugs-to>https://github.com/google/leveldb/issues</bugs-to>
+ </upstream>
</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 3c1dfb2b048f..000000000000
--- a/dev-libs/libIDL/libIDL-0.8.14-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 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 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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/libIDL/metadata.xml b/dev-libs/libIDL/metadata.xml
index 39980802b1da..7b343b06be8a 100644
--- a/dev-libs/libIDL/metadata.xml
+++ b/dev-libs/libIDL/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
diff --git a/dev-libs/libaio/Manifest b/dev-libs/libaio/Manifest
index 9fdec3bf4ca5..9c1b05bdcfc7 100644
--- a/dev-libs/libaio/Manifest
+++ b/dev-libs/libaio/Manifest
@@ -1,3 +1 @@
-DIST libaio-0.3.110.tar.gz 42270 BLAKE2B e774e5888106ffcf4db08569a8b3dc6722f4e0e8278e9f2fafe865e282c0568059e8dbb37aab7a33719ab4d80f42404bfb1d4ab03f5c066d9eb75301676f525e SHA512 664295d330d6e9adc005e2331e77582619625b479ffc2b81728ba6a682487380ee936079c4a69d35144b458bbe35c612f4ed9b32e913bd7e109b824345763eb3
-DIST libaio-0.3.111.tar.gz 44557 BLAKE2B dc2f44599218de0ca80cfc17f604eb85c9b1241ce7221f49f1a4ee8c5bd3fa135c29ac8d97f6f97550a508e27b0dc92eb709256ffd803c1feca255016a4d674d SHA512 259b89647e22ba47edd4076b8d6aa8ab89af197b64930aa5b01b69fc1969b13b4a5e91c449ccdc9b2746c9eae3160211ce1fe110d252efeca5f2c56d0ea66e2e
-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.109-install.patch b/dev-libs/libaio/files/libaio-0.3.109-install.patch
deleted file mode 100644
index 9c049fcbf5cd..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.109-install.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 2e34caef82a2367a85de4f06daf5e5a92f61e845 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 17 Jan 2010 17:10:14 -0500
-Subject: [PATCH] fix up install paths
-
-This is similar to the Fedora patch, but this uses more common conventions
-like "DESTDIR" instead of "destdir".
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- src/Makefile | 11 ++++++-----
- 1 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 687c7be..ee431a1 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -1,6 +1,7 @@
- prefix=/usr
- includedir=$(prefix)/include
- libdir=$(prefix)/lib
-+usrlibdir=$(libdir)
-
- CFLAGS ?= -g -fomit-frame-pointer -O2
- CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
-@@ -53,11 +54,11 @@ $(libname): $(libaio_sobjs) libaio.map
- $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname,$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
-
- install: $(all_targets)
-- install -D -m 644 libaio.h $(includedir)/libaio.h
-- install -D -m 644 libaio.a $(libdir)/libaio.a
-- install -D -m 755 $(libname) $(libdir)/$(libname)
-- ln -sf $(libname) $(libdir)/$(soname)
-- ln -sf $(libname) $(libdir)/libaio.so
-+ install -D -m 644 libaio.h $(DESTDIR)$(includedir)/libaio.h
-+ install -D -m 644 libaio.a $(DESTDIR)$(usrlibdir)/libaio.a
-+ install -D -m 755 $(libname) $(DESTDIR)$(libdir)/$(libname)
-+ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/$(soname)
-+ ln -sf $(libname) $(DESTDIR)$(usrlibdir)/libaio.so
-
- $(libaio_objs): libaio.h
-
---
-1.7.3.1
-
diff --git a/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch b/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch
deleted file mode 100644
index de66f2110f22..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Do not ignore return value of ftruncate(): testcases are compiled with -Werror,
-and ftruncate is declared with attribute warn_unused_result.
---- harness/cases/8.t.orig 2012-03-09 16:40:04.074168070 +0100
-+++ harness/cases/8.t 2012-03-09 16:40:57.777278646 +0100
-@@ -9,12 +9,13 @@
- {
- long long min = 0, max = 9223372036854775807LL;
- char c = 0;
-+ int ret;
-
- while (max - min > 1) {
- if (pwrite64(fd, &c, 1, (min + max) / 2) == -1)
- max = (min + max) / 2;
- else {
-- ftruncate(fd, 0);
-+ ret = ftruncate(fd, 0); assert(ret == 0);
- min = (min + max) / 2;
- }
- }
diff --git a/dev-libs/libaio/files/libaio-0.3.109-x32.patch b/dev-libs/libaio/files/libaio-0.3.109-x32.patch
deleted file mode 100644
index 1d2c2a9050fa..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.109-x32.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f5c071d93c9e6f57930bce56b1e4f009c160a826
-
-Upstream-Status: Pending
-
-Properly load arguments 5 an 6 for x86-64 syscall
-Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64
-syscall so that it works with both x32 and x86-64.
-
-Received this patch from H.J. Lu <hjl.tools@gmail.com>
-
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
-2011/12/02
-
---- libaio-0.3.109/src/syscall-x86_64.h.x32 2009-10-09 11:17:02.000000000 -0700
-+++ libaio-0.3.109/src/syscall-x86_64.h 2011-12-02 09:09:07.537603224 -0800
-@@ -1,8 +1,18 @@
-+#ifndef __NR_io_setup
- #define __NR_io_setup 206
-+#endif
-+#ifndef __NR_io_destroy
- #define __NR_io_destroy 207
-+#endif
-+#ifndef __NR_io_getevents
- #define __NR_io_getevents 208
-+#endif
-+#ifndef __NR_io_submit
- #define __NR_io_submit 209
-+#endif
-+#ifndef __NR_io_cancel
- #define __NR_io_cancel 210
-+#endif
-
- #define __syscall_clobber "r11","rcx","memory"
- #define __syscall "syscall"
-@@ -42,10 +52,11 @@ return __res; \
- type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
- { \
- long __res; \
--__asm__ volatile ("movq %5,%%r10 ;" __syscall \
-+register long __a4 asm ("r10") = (long) arg4; \
-+__asm__ volatile (__syscall \
- : "=a" (__res) \
- : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
-- "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \
-+ "d" ((long)(arg3)),"r" (__a4)); \
- return __res; \
- }
-
-@@ -54,10 +65,11 @@ return __res; \
- type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
- { \
- long __res; \
--__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall \
-+register long __a4 asm ("r10") = (long) arg4; \
-+register long __a5 asm ("r8") = (long) arg5; \
-+__asm__ volatile ( __syscall \
- : "=a" (__res) \
- : "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)), \
-- "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) : \
-- __syscall_clobber,"r8","r10" ); \
-+ "d" ((long)(arg3)),"r" (__a4),"r" (__a5)); \
- return __res; \
- }
diff --git a/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch b/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch
deleted file mode 100644
index 4567ac946681..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.110-cppflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3bf96bb62370035dba18d4b25459406b32365cfc Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Wed, 26 Mar 2014 23:10:18 -0400
-Subject: [PATCH] respect env CPPFLAGS
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- src/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Makefile b/src/Makefile
-index 49f448f..b918c8b 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -5,6 +5,7 @@ usrlibdir=$(libdir)
-
- CFLAGS ?= -g -fomit-frame-pointer -O2
- CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
-+CFLAGS += $(CPPFLAGS)
- SO_CFLAGS=-shared $(CFLAGS)
- L_CFLAGS=$(CFLAGS)
- LINK_FLAGS=
---
-1.9.1
-
diff --git a/dev-libs/libaio/files/libaio-0.3.110-link-stdlib.patch b/dev-libs/libaio/files/libaio-0.3.110-link-stdlib.patch
deleted file mode 100644
index 696a928f24d8..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.110-link-stdlib.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Gokturk Yuksek <gokturk@binghamton.edu>
-Subject: [PATCH] Link against stdlib to resolve fortified functions
-
-When '-fstack-protector-strong' is included in CFLAGS, the function
-'__stack_chk_fail_local' needs to be pulled from libc. However, upstream
-uses '-nostdlib' to avoid linking against any C library or gcc libs. Remove
-'-nostdlib' and '-nostartfiles' to pull the required symbols from libc.
-
-Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=558406
-
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -4,7 +4,7 @@
- usrlibdir=$(libdir)
-
- CFLAGS ?= -g -fomit-frame-pointer -O2
--CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC
-+CFLAGS += -Wall -I. -fPIC
- CFLAGS += $(CPPFLAGS)
- SO_CFLAGS=-shared $(CFLAGS)
- L_CFLAGS=$(CFLAGS)
diff --git a/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch b/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch
deleted file mode 100644
index 2933cf5244bc..000000000000
--- a/dev-libs/libaio/files/libaio-0.3.110-optional-werror.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 0cc7dc108d0b2288b40d82bb2fd1fd8bdc08f764 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Wed, 26 Mar 2014 23:07:58 -0400
-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 2a88e71..cf8c90d 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 -O
-+CFLAGS_WERROR?=-Werror
-+CFLAGS+=-Wall $(CFLAGS_WERROR) -I../src -g -O
- #-lpthread -lrt
-
- all: $(PROGS)
---
-1.9.1
-
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.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.110.ebuild b/dev-libs/libaio/libaio-0.3.110.ebuild
deleted file mode 100644
index 5b5e2acaf55e..000000000000
--- a/dev-libs/libaio/libaio-0.3.110.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib-minimal toolchain-funcs flag-o-matic
-
-DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
-HOMEPAGE="http://lse.sourceforge.net/io/aio.html"
-SRC_URI="mirror://debian/pool/main/liba/${PN}/${PN}_${PV}.orig.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs test"
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/${PN}-0.3.109-install.patch \
- "${FILESDIR}"/${PN}-0.3.109-x32.patch \
- "${FILESDIR}"/${PN}-0.3.109-testcase-8.patch \
- "${FILESDIR}"/${PN}-0.3.110-cppflags.patch \
- "${FILESDIR}"/${PN}-0.3.110-optional-werror.patch \
- "${FILESDIR}"/${PN}-0.3.110-link-stdlib.patch #558406
-
- 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.111.ebuild b/dev-libs/libaio/libaio-0.3.111.ebuild
deleted file mode 100644
index f0f972624dcf..000000000000
--- a/dev-libs/libaio/libaio-0.3.111.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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://pagure.io/${PN}/archive/${P}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="static-libs test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.109-install.patch
- "${FILESDIR}"/${PN}-0.3.110-cppflags.patch
- "${FILESDIR}"/${PN}-0.3.111-optional-werror.patch
- "${FILESDIR}"/${PN}-0.3.110-link-stdlib.patch #558406
-)
-
-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.112.ebuild b/dev-libs/libaio/libaio-0.3.112.ebuild
deleted file mode 100644
index b6ff5d1d4215..000000000000
--- a/dev-libs/libaio/libaio-0.3.112.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="static-libs test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.112-cppflags.patch
- "${FILESDIR}"/${PN}-0.3.111-optional-werror.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 b6ff5d1d4215..9066780e1381 100644
--- a/dev-libs/libaio/libaio-9999.ebuild
+++ b/dev-libs/libaio/libaio-9999.ebuild
@@ -1,26 +1,29 @@
-# 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
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 ~sh ~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"
+RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.112-cppflags.patch
- "${FILESDIR}"/${PN}-0.3.111-optional-werror.patch
+ "${FILESDIR}"/${PN}-0.3.113-respect-LDFLAGS.patch
)
src_prepare() {
@@ -29,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
@@ -51,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 "$@"
}
@@ -65,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"
}
@@ -77,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 5870dfd12814..9a4bc45597b3 100644
--- a/dev-libs/libaio/metadata.xml
+++ b/dev-libs/libaio/metadata.xml
@@ -1,10 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<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
new file mode 100644
index 000000000000..00486a178c58
--- /dev/null
+++ b/dev-libs/libansilove/Manifest
@@ -0,0 +1 @@
+DIST libansilove-1.4.1.tar.gz 62359 BLAKE2B dd08b0167088ed312dd1f78e7e862ff4e19961670bd5e130bc584b7a4764cd3754cf9890679b8719e1ac4128b884872776e6f8ec3534f585944e791d1b3f04a6 SHA512 2e299aa0eaf1df457d26bde1a8e0d5df1670e7a48e492cd3d2600e546d365e159da5bf6dda68d4056886d01b426747380428f3575c29b4c0ff759be3790fdf77
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
new file mode 100644
index 000000000000..dd28dd03edd7
--- /dev/null
+++ b/dev-libs/libansilove/libansilove-9999.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="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/metadata.xml b/dev-libs/libansilove/metadata.xml
new file mode 100644
index 000000000000..97728a514b7a
--- /dev/null
+++ b/dev-libs/libansilove/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>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <upstream>
+ <changelog>
+ https://github.com/ansilove/libansilove/blob/master/ChangeLog
+ </changelog>
+ <bugs-to>https://github.com/ansilove/libansilove/issues</bugs-to>
+ <remote-id type="github">ansilove/libansilove</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libappindicator/Manifest b/dev-libs/libappindicator/Manifest
index 883177ca882e..ba1472b33390 100644
--- a/dev-libs/libappindicator/Manifest
+++ b/dev-libs/libappindicator/Manifest
@@ -1 +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-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-r201.ebuild b/dev-libs/libappindicator/libappindicator-12.10.0-r201.ebuild
deleted file mode 100644
index 40fe8964c862..000000000000
--- a/dev-libs/libappindicator/libappindicator-12.10.0-r201.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools eutils multilib-minimal python-single-r1 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="2"
-KEYWORDS="amd64 ~arm x86"
-
-IUSE="+introspection python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-libs/dbus-glib-0.98[${MULTILIB_USEDEP}]
- >=dev-libs/glib-2.26:2[${MULTILIB_USEDEP}]
- >=dev-libs/libdbusmenu-0.6.2[gtk,${MULTILIB_USEDEP}]
- >=dev-libs/libindicator-12.10.0:0[${MULTILIB_USEDEP}]
- x11-libs/gtk+:2[${MULTILIB_USEDEP},introspection?]
- introspection? ( >=dev-libs/gobject-introspection-1:= )
- python? (
- ${PYTHON_DEPS}
- dev-python/pygtk[${PYTHON_USEDEP}]
- )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig[${MULTILIB_USEDEP}]
- introspection? ( $(vala_depend) )
-"
-
-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
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- export MAKEOPTS+=" -j1" #638782
-}
-
-src_prepare() {
- default
-
- xdg_environment_reset
-
- # 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=2 \
- $(multilib_native_use_enable introspection) \
- $(multilib_native_use_enable python)
-}
-
-multilib_src_install() {
- emake -j1 DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --modules
-
- # installed by slot 3 as well
- rm -r "${D}"usr/share/gtk-doc || die
-}
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 03668d4c29df..000000000000
--- a/dev-libs/libappindicator/libappindicator-12.10.0-r301.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit autotools eutils 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 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[${MULTILIB_USEDEP}]
-"
-
-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
-)
-
-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
- prune_libtool_files
-}
diff --git a/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild b/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild
new file mode 100644
index 000000000000..c21d074835d9
--- /dev/null
+++ b/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VALA_USE_DEPEND="vapigen"
+
+inherit autotools multilib-minimal vala
+
+DESCRIPTION="A library to allow applications to export a menu into the Unity Menu bar"
+HOMEPAGE="https://launchpad.net/libappindicator"
+
+MY_PV="${PV%_p*}"
+PATCH_VERSION="${PV#*_p}"
+SRC_URI="mirror://ubuntu/pool/main/liba/${PN}/${PN}_${MY_PV}+20.10.${PATCH_VERSION}.1.orig.tar.gz"
+
+LICENSE="LGPL-2.1 LGPL-3"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="+introspection test"
+
+RDEPEND="
+ >=dev-libs/dbus-glib-0.98[${MULTILIB_USEDEP}]
+ >=dev-libs/glib-2.35.4:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libdbusmenu-0.6.2[gtk3,${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.2:3[${MULTILIB_USEDEP},introspection?]
+ introspection? ( >=dev-libs/gobject-introspection-1:= )
+"
+DEPEND="${RDEPEND}"
+# dev-util/gtk-doc needed for eautoreconf
+BDEPEND="
+ introspection? ( $(vala_depend) )
+ >=dev-util/gtk-doc-1.14
+ >=dev-build/gtk-doc-am-1.14
+ virtual/pkgconfig
+ test? ( dev-util/dbus-test-runner )
+"
+
+S="${WORKDIR}"
+
+# FIXME: tests keep trying to access dirs they don't have access, feel free
+# to report a bug about how to avoid that
+RESTRICT="test"
+
+src_prepare() {
+ default
+ 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_compile() {
+ # Was initially reported in 638782, then fixed, and then fix disappeared.
+ # But I facing it every time I (mva) trying to rebuild it on my machine even now (Sep'21)
+ emake -j1
+}
+
+multilib_src_test() {
+ # Prevent tests from trying to write on /dev/fuse
+ GVFS_DISABLE_FUSE=1 dbus-run-session emake check
+}
+
+multilib_src_install() {
+ # Fails in parallel, bug #795444
+ emake -j1 DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libappindicator/metadata.xml b/dev-libs/libappindicator/metadata.xml
index d3453a21683f..77ed12f2f4b4 100644
--- a/dev-libs/libappindicator/metadata.xml
+++ b/dev-libs/libappindicator/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/libarcus/Manifest b/dev-libs/libarcus/Manifest
deleted file mode 100644
index 4f2a7a62cceb..000000000000
--- a/dev-libs/libarcus/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libarcus-3.4.1.tar.gz 29699 BLAKE2B 73f132ff9d908468f1d67c54b7430ac84c0aebb5dd12282dc894b877a91da3f9822e4db8bf16cb53f313396598d3890be9e06e50737b0a50edfc84543285f251 SHA512 63ed8d8da389641b91ed955624c04ca5488f98d3ef409c4a94ad1962155d6aedd8d61ca0231543cfe4e92ae10beb00001f957eb48f74b0c21447a1bd9b66d85d
-DIST libarcus-3.6.0.tar.gz 29469 BLAKE2B c032dd51631b10c04e69dac4425c8a5d180cf8c983b896330b2dcd5d479467d6a2e94827ef8accad25399167457e5ae9e96f1a363c986be33de8255c3e80b1fb SHA512 1bc50a08cbec61edefd78f3c347cca08f6bc40a308472bf6788c2c8962b03ea81b32357be18a3c34847c121eb52ee6836da22cea65b1a8f64b7c924bda290430
diff --git a/dev-libs/libarcus/libarcus-3.4.1.ebuild b/dev-libs/libarcus/libarcus-3.4.1.ebuild
deleted file mode 100644
index d0e49ef66b98..000000000000
--- a/dev-libs/libarcus/libarcus-3.4.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-
-inherit cmake-utils 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 ~x86"
-IUSE="examples python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-python/sip[${PYTHON_USEDEP}]
- dev-libs/protobuf
- python? ( dev-python/protobuf-python[${PYTHON_USEDEP}] )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_EXAMPLES=$(usex examples ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- )
- use python && mycmakeargs+=( -DPYTHON_SITE_PACKAGES_DIR="$(python_get_sitedir)" )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libarcus/libarcus-3.6.0.ebuild b/dev-libs/libarcus/libarcus-3.6.0.ebuild
deleted file mode 100644
index 3714aa3353b2..000000000000
--- a/dev-libs/libarcus/libarcus-3.6.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-
-inherit cmake-utils 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 ~x86"
-IUSE="examples python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-python/sip[${PYTHON_USEDEP}]
- dev-libs/protobuf
- python? ( dev-python/protobuf-python[${PYTHON_USEDEP}] )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_EXAMPLES=$(usex examples ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- )
- use python && mycmakeargs+=( -DPYTHON_SITE_PACKAGES_DIR="$(python_get_sitedir)" )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libarcus/metadata.xml b/dev-libs/libarcus/metadata.xml
deleted file mode 100644
index dce895cd5780..000000000000
--- a/dev-libs/libarcus/metadata.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <maintainer type="person">
- <email>perlovka@gmail.com</email>
- <name>Michael Perlov</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <remote-id type="github">Ultimaker/libArcus</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libassuan/Manifest b/dev-libs/libassuan/Manifest
index 84660959bff7..368e73babfb3 100644
--- a/dev-libs/libassuan/Manifest
+++ b/dev-libs/libassuan/Manifest
@@ -1,2 +1,4 @@
-DIST libassuan-2.4.3.tar.bz2 559867 BLAKE2B b80f73573449aa1705ac3b4f12f89cac6a19bf4b2ed8f46d5576164196300baeaeb782c997078ac252a564b9f6067df87a340b46c68058d4a28c8291bbecf96b SHA512 2b0f58682b408fc58fa0ec2980b36e54ba66701bf504cf6c98ec652af43501bc7c18573bc78c5b83260f5a3bdb0ec8f4e0662bafd9bba3fe7287e77598e8e4c1
-DIST libassuan-2.5.1.tar.bz2 564857 BLAKE2B dc046b9551183ec543d2a186c3c593471c80445b48aec1366d0b997386c57187f9b7a848973d0930ca8d2be3f138e83c22ef9292e4c8bf5614a99ea3065c7827 SHA512 c8829925221780f175cee8c4084060b0d661229f583a50d400a1903ab7303b2724b99ff9c0fa242881d4c5d779036756e1da54d9143acc0fcd92f302ecb5882d
+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.4.3-r1.ebuild b/dev-libs/libassuan/libassuan-2.4.3-r1.ebuild
deleted file mode 100644
index b7f485950915..000000000000
--- a/dev-libs/libassuan/libassuan-2.4.3-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool ltprune
-
-DESCRIPTION="IPC library used by GnuPG and GPGME"
-HOMEPAGE="http://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 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-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() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- # ppl need to use libassuan-config for --cflags and --libs
- prune_libtool_files
-}
diff --git a/dev-libs/libassuan/libassuan-2.5.1-r1.ebuild b/dev-libs/libassuan/libassuan-2.5.1-r1.ebuild
deleted file mode 100644
index 85f19d540d72..000000000000
--- a/dev-libs/libassuan/libassuan-2.5.1-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 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="http://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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-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() {
- econf \
- $(use_enable static-libs static) \
- GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config" \
- $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
-}
-
-src_install() {
- default
- # ppl need to use libassuan-config for --cflags and --libs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libassuan/libassuan-2.5.1.ebuild b/dev-libs/libassuan/libassuan-2.5.1.ebuild
deleted file mode 100644
index aa43cb719793..000000000000
--- a/dev-libs/libassuan/libassuan-2.5.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool ltprune
-
-DESCRIPTION="IPC library used by GnuPG and GPGME"
-HOMEPAGE="http://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 s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-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() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- # ppl need to use libassuan-config for --cflags and --libs
- prune_libtool_files
-}
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..3ed1f248fe89
--- /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 fe0789259056..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
-</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/Manifest b/dev-libs/libatasmart/Manifest
index 4d371de4ba6c..fc6fc6b74d98 100644
--- a/dev-libs/libatasmart/Manifest
+++ b/dev-libs/libatasmart/Manifest
@@ -1,2 +1,2 @@
-DIST libatasmart-0.19.tar.xz 251204 BLAKE2B 7e2a9823c27eee5a41f93464b28236239891349639162c5fdc114c241a70fb39a3046c3de16ce402787cd86e13609fff0578bd26f7a2c994fefe3c9756d45968 SHA512 ec9edb019c477873b01289ba365ad0ed0946505d651c1f6f83a63ef61b3976a5db6439c8a0c74d9a55325db9a3a587ad6f655f8d1af9387b0d08356eccabdb62
-DIST libatasmart_0.19-2.debian.tar.gz 6511 BLAKE2B d283dd1db988b95436a99cf804790b6c9b22d48b41d561a6fd2b9aff0948241ab5e775c5c35691692103acd5e73ad2e46278b9d37f886cd48c91cc69353a1564 SHA512 78e86b0c1d2a56dddc8d9ac97ee325871e319ad2226f1fbd5a048d792cd05e5d8162d282c1f767086da5329cd1ee67b37fbb5a2fd3c950f84e9efab11abcf754
+DIST libatasmart_0.19-5.debian.tar.xz 6452 BLAKE2B 09bde3d5d79062d4df82e5582e932b6b566a91607086ddd805925d1966cdee4cb4ba43863f4b7d26a98588479b117841050f762d23c6719448635bf1e681b315 SHA512 434b6ef3ea377485ce745e147da8bb72851b2eeabe6f418379511650f0161f15a9ee21f4f0b5f9beb218b99eb417c1aeafdea4640995efbaf45024f40ce71802
+DIST libatasmart_0.19.orig.tar.xz 251204 BLAKE2B 7e2a9823c27eee5a41f93464b28236239891349639162c5fdc114c241a70fb39a3046c3de16ce402787cd86e13609fff0578bd26f7a2c994fefe3c9756d45968 SHA512 ec9edb019c477873b01289ba365ad0ed0946505d651c1f6f83a63ef61b3976a5db6439c8a0c74d9a55325db9a3a587ad6f655f8d1af9387b0d08356eccabdb62
diff --git a/dev-libs/libatasmart/libatasmart-0.19-r1.ebuild b/dev-libs/libatasmart/libatasmart-0.19-r1.ebuild
deleted file mode 100644
index f2820bf64e2b..000000000000
--- a/dev-libs/libatasmart/libatasmart-0.19-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils
-
-PATCH_LEVEL=2
-
-DESCRIPTION="A small and lightweight parser library for ATA S.M.A.R.T. hard disks"
-HOMEPAGE="http://0pointer.de/blog/projects/being-smart.html"
-SRC_URI="http://0pointer.de/public/${P}.tar.xz
- mirror://debian/pool/main/liba/${PN}/${PN}_${PV}-${PATCH_LEVEL}.debian.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86"
-IUSE="static-libs"
-
-RDEPEND="virtual/udev"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS="README"
-
-src_prepare() {
- # https://bugs.gentoo.org/470874
- local d="${WORKDIR}"/debian/patches
- sed -i -e '/#/d' "${d}"/series || die
- EPATCH_SOURCE="${d}" epatch $(<"${d}"/series)
-}
-
-src_configure() {
- econf \
- --docdir=/usr/share/doc/${PF} \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files --all
-}
diff --git a/dev-libs/libatasmart/libatasmart-0.19-r2.ebuild b/dev-libs/libatasmart/libatasmart-0.19-r2.ebuild
deleted file mode 100644
index 059a6224249e..000000000000
--- a/dev-libs/libatasmart/libatasmart-0.19-r2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils
-
-PATCH_LEVEL=2
-
-DESCRIPTION="A small and lightweight parser library for ATA S.M.A.R.T. hard disks"
-HOMEPAGE="http://0pointer.de/blog/projects/being-smart.html"
-SRC_URI="http://0pointer.de/public/${P}.tar.xz
- mirror://debian/pool/main/liba/${PN}/${PN}_${PV}-${PATCH_LEVEL}.debian.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/4"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86"
-IUSE="static-libs"
-
-RDEPEND="virtual/libudev:="
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- # https://bugs.gentoo.org/470874
- local d="${WORKDIR}"/debian/patches
- sed -i -e '/#/d' \
- -e "s|^|${d}/|" "${d}"/series || die
- eapply $(<"${d}"/series)
- eapply_user
-}
-
-src_configure() {
- econf \
- --docdir="${EPREFIX}"/usr/share/doc/${PF} \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files --all
-}
diff --git a/dev-libs/libatasmart/libatasmart-0.19_p5.ebuild b/dev-libs/libatasmart/libatasmart-0.19_p5.ebuild
new file mode 100644
index 000000000000..488991a76989
--- /dev/null
+++ b/dev-libs/libatasmart/libatasmart-0.19_p5.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A small and lightweight parser library for ATA S.M.A.R.T. hard disks"
+HOMEPAGE="https://salsa.debian.org/utopia-team/libatasmart"
+SRC_URI="mirror://debian/pool/main/liba/${PN}/${PN}_${PV/_p*}.orig.tar.xz
+ mirror://debian/pool/main/liba/${PN}/${PN}_${PV/_p/-}.debian.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/4"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="static-libs"
+
+RDEPEND="virtual/libudev:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${P/_p*}"
+
+src_prepare() {
+ # https://bugs.gentoo.org/470874
+ local d="${WORKDIR}/debian/patches"
+ sed -i -e '/#/d' \
+ -e "s|^|${d}/|" "${d}"/series || die
+ eapply $(<"${d}"/series)
+ eapply_user
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ tc-export_build_env
+ emake -C strpool strpool \
+ CFLAGS="${BUILD_CFLAGS}" \
+ CPPFLAGS="${BUILD_CPPFLAGS}" \
+ LDFLAGS="${BUILD_LDFLAGS}"
+ fi
+ emake
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libatasmart/metadata.xml b/dev-libs/libatasmart/metadata.xml
index f3cab85cf603..d0b58801b31a 100644
--- a/dev-libs/libatasmart/metadata.xml
+++ b/dev-libs/libatasmart/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>freedesktop-bugs@gentoo.org</email>
diff --git a/dev-libs/libatomic_ops/Manifest b/dev-libs/libatomic_ops/Manifest
index 16fd2169cebb..4de74f9694cb 100644
--- a/dev-libs/libatomic_ops/Manifest
+++ b/dev-libs/libatomic_ops/Manifest
@@ -1,3 +1 @@
-DIST libatomic_ops-7.6.10.tar.gz 503734 BLAKE2B 5ee4adc3b2e9afe22d52a4b390927f79dfce139e9975c75aedd379fcbb34a1f0de82ca98ddc58a386e193080ba75eb1b6161bea75b62b8f3b4941979248290af SHA512 4661445503ef4303e873559af319ad799a7eddad3df45ad602cf338c594a642ad4333a36fa91722f0d8c48acd38bbf45c60a468c7375d14824520a83c1109ec9
-DIST libatomic_ops-7.6.6.tar.gz 498187 BLAKE2B 343ebda3a37aef6541efae9e646778cf8b1ea74e722979de4336d6819007f3fb37121d53c7e789f69fe6411c05ca2557a18d10db47c68e95e59c92c991bf9fa7 SHA512 ea6e4e2f8f369f5af18435a6ab8ee18c28832c367d24875cccc5e743761109036894260b4296feec5e269a74934df24a90f0fc4868937e1f36605fca082fbde8
-DIST libatomic_ops-7.6.8.tar.gz 503550 BLAKE2B ce8e8757cd20fc5d8e5b62fae0a619f3866e496f552e04c1cca6c63a6d954bf256927fe1fe62192cb24b9f7a9fd1727e108098b09d0f22e0987983ccce035274 SHA512 bc448fadcf8e2936fa933a5872d5550ecdff04b0df27120d3182dcbb2147a6594ec6bfc5b214e21b37ffa1b5100c1c56d301ba9cae7df26cee5e6b999dcda14c
+DIST libatomic_ops-7.8.2.tar.gz 524637 BLAKE2B 1faaedc52106b9d240085beb364a257de28ba5dba4141d2b6a7660a93c59ed7b4e1371ea4a8212b32a11805a15992c7b5ba4e748b2d194e8cc06fe20d91d5e14 SHA512 0559087c99b941990f189ea4ed5b3b371faf086bc1d517da6b878ba609c200eef24358768fd4361900101cdb474e28cea8408eb0b0222d23ef3154ce77f6acc0
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.6.10.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.6.10.ebuild
deleted file mode 100644
index 3711c398d448..000000000000
--- a/dev-libs/libatomic_ops/libatomic_ops-7.6.10.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2019 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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-shared
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.6.6.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.6.6.ebuild
deleted file mode 100644
index e52cef0612a4..000000000000
--- a/dev-libs/libatomic_ops/libatomic_ops-7.6.6.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf
-}
-
-multilib_src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.6.8.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.6.8.ebuild
deleted file mode 100644
index 331540a7867e..000000000000
--- a/dev-libs/libatomic_ops/libatomic_ops-7.6.8.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2019 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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-shared
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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/libatomic_ops/metadata.xml b/dev-libs/libatomic_ops/metadata.xml
index 35de889df5bc..aa9df7526bef 100644
--- a/dev-libs/libatomic_ops/metadata.xml
+++ b/dev-libs/libatomic_ops/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sound@gentoo.org</email>
diff --git a/dev-libs/libax25/Manifest b/dev-libs/libax25/Manifest
index 1e477925c87d..8a06ae2c6e3f 100644
--- a/dev-libs/libax25/Manifest
+++ b/dev-libs/libax25/Manifest
@@ -1 +1 @@
-DIST libax25-0.0.12-rc4.tar.gz 335535 BLAKE2B 604b78851ba7946ad49e51525f88503a148ceadc2e4276df263c127d1022001a80b36e91ff919b027b049c357383fab40708646194b4a4e8c7826ca7cd2e1bff SHA512 d11ed19cf72b8eed22c6cbaa5f45f0eb3b96672a6c9334a095da36b622a0453b0d7b72f75f7aa5753c9cf10636d5b10c36fe9b445481e04f7cba711609f7a812
+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_rc4.ebuild b/dev-libs/libax25/libax25-0.0.12_rc4.ebuild
deleted file mode 100644
index 4912d3abd96c..000000000000
--- a/dev-libs/libax25/libax25-0.0.12_rc4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools-utils versionator
-
-MY_P=${PN}-$(replace_version_separator 3 '-')
-
-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"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="static-libs"
-
-S=${WORKDIR}/${MY_P}
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-src_install() {
- autotools-utils_src_install installconf
-}
diff --git a/dev-libs/libax25/libax25-0.0.12_rc5.ebuild b/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
new file mode 100644
index 000000000000..3eea73794bff
--- /dev/null
+++ b/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
@@ -0,0 +1,35 @@
+# 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.xz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+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)
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -type f -delete || die
+ emake DESTDIR="${D}" installconf
+}
diff --git a/dev-libs/libax25/metadata.xml b/dev-libs/libax25/metadata.xml
index d187eed5ac80..ca25d4d1f76c 100644
--- a/dev-libs/libax25/metadata.xml
+++ b/dev-libs/libax25/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tomjbe@gentoo.org</email>
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 0e3869afeccc..fba6447a9e17 100644
--- a/dev-libs/libb64/Manifest
+++ b/dev-libs/libb64/Manifest
@@ -1 +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
new file mode 100644
index 000000000000..488d25f845a4
--- /dev/null
+++ b/dev-libs/libb64/libb64-2.0.0.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Fast Base64 encoding/decoding routines"
+HOMEPAGE="https://github.com/libb64/libb64/"
+SRC_URI="
+ https://github.com/libb64/libb64/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="CC-PD"
+# static library, so always rebuild
+SLOT="0/${PVR}"
+KEYWORDS="amd64 x86"
+
+BDEPEND="app-arch/unzip"
+
+src_compile() {
+ # override -O3, -Werror non-sense
+ emake -C src CFLAGS="${CFLAGS} -I../include"
+}
+
+src_install() {
+ dolib.a src/libb64.a
+ insinto /usr/include
+ doins -r include/b64
+ einstalldocs
+}
diff --git a/dev-libs/libb64/metadata.xml b/dev-libs/libb64/metadata.xml
index b3cb29f1a0db..ef169bc83ade 100644
--- a/dev-libs/libb64/metadata.xml
+++ b/dev-libs/libb64/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
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/libbase58-0.1.4.ebuild b/dev-libs/libbase58/libbase58-0.1.4.ebuild
deleted file mode 100644
index 78152ff985e9..000000000000
--- a/dev-libs/libbase58/libbase58-0.1.4.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
-inherit autotools
-
-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="tools"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-static \
- $(use_enable tools tool)
-}
diff --git a/dev-libs/libbase58/metadata.xml b/dev-libs/libbase58/metadata.xml
index 7beabae51605..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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">
- <email>luke_gentoo_bitcoin@dashjr.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/libbegemot/Manifest b/dev-libs/libbegemot/Manifest
deleted file mode 100644
index 57e77f7c38f6..000000000000
--- a/dev-libs/libbegemot/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libbegemot-1.11.tar.gz 266310 BLAKE2B c76b2b5e6fe6af0b55da779d6a98d52f1f519b717472338ce17bd2fd709bf397b3801782e1be89dbe2ba289ba9fe19c5527f544f1709770f019f2ad745ffbbd1 SHA512 ea5b0b548ad4240aa945ee9376e13a8ec5848bd9675f7fdc57c3daf1e79735e442c44a550430617a1048d5a0cef06adc9b48d45f42cca9f6049e3f3d0571e627
diff --git a/dev-libs/libbegemot/libbegemot-1.11.ebuild b/dev-libs/libbegemot/libbegemot-1.11.ebuild
deleted file mode 100644
index 804f2f6846af..000000000000
--- a/dev-libs/libbegemot/libbegemot-1.11.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit libtool
-
-DESCRIPTION="begemot utility function library"
-HOMEPAGE="http://people.freebsd.org/~harti/"
-SRC_URI="http://people.freebsd.org/~harti/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~amd64-fbsd ~x86-fbsd"
-IUSE=""
-
-DEPEND=""
-
-src_compile() {
- elibtoolize
- econf || die "econf failed"
- emake -j1 || die "emake failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
-
- dodoc README
-}
diff --git a/dev-libs/libbegemot/metadata.xml b/dev-libs/libbegemot/metadata.xml
deleted file mode 100644
index a00f3aeb1f81..000000000000
--- a/dev-libs/libbegemot/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>bsd@gentoo.org</email>
- <name>BSD Project</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest
index 54697cb1a746..2cbf2e2cd5bc 100644
--- a/dev-libs/libbpf/Manifest
+++ b/dev-libs/libbpf/Manifest
@@ -1 +1,4 @@
-DIST libbpf-0.0.3.tar.gz 127328 BLAKE2B eaa1be54f0a7fcc6fd41eb2adaad2f405f76db3bd7c7466a5484ead1cca5a9fe775e331838cd5645d7399cb5b1a5b2fcb3814fb45643660fd3f7d84b9986bae6 SHA512 ee489d968cd9a20a1f091dcd2696d3807ab0db2a001613684402de2c696391eea033f3bd961eaf1d0df95c1e15f4f0ccfb7003ff98c3f08f24a7e9a8db22cdad
+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/files/libbpf-0.0.3-paths.patch b/dev-libs/libbpf/files/libbpf-0.0.3-paths.patch
deleted file mode 100644
index 8f905819f656..000000000000
--- a/dev-libs/libbpf/files/libbpf-0.0.3-paths.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/Makefile b/src/Makefile
-index 82a650c..549779d 100644
---- a/Makefile
-+++ b/src/Makefile
-@@ -36,7 +36,10 @@ OBJDIR ?= .
- OBJS := $(addprefix $(OBJDIR)/,bpf.o btf.o libbpf.o libbpf_errno.o netlink.o \
- nlattr.o str_error.o libbpf_probes.o bpf_prog_linfo.o xsk.o)
-
--LIBS := $(OBJDIR)/libbpf.a
-+ifdef BUILD_STATIC
-+ LIBS := $(OBJDIR)/libbpf.a
-+endif
-+
- ifndef BUILD_STATIC_ONLY
- LIBS += $(OBJDIR)/libbpf.so \
- $(OBJDIR)/libbpf.so.$(VERSION) \
-@@ -63,7 +66,7 @@ endif
- PREFIX ?= /usr
- LIBDIR ?= $(PREFIX)/$(LIBSUBDIR)
- INCLUDEDIR ?= $(PREFIX)/include
--UAPIDIR ?= $(PREFIX)/include
-+UAPIDIR ?= $(PREFIX)/include/bpf/uapi
-
- all: $(LIBS) $(PC_FILE)
-
-@@ -84,6 +87,7 @@ $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION): $(OBJS)
- $(OBJDIR)/libbpf.pc:
- sed -e "s|@PREFIX@|$(PREFIX)|" \
- -e "s|@LIBDIR@|$(LIBDIR)|" \
-+ -e "s|@UAPIDIR@|$(UAPIDIR)|" \
- -e "s|@VERSION@|$(LIBBPF_VERSION)|" \
- < libbpf.pc.template > $@
-
-diff --git a/libbpf.pc.template b/src/libbpf.pc.template
-index ac17fce..6d385d9 100644
---- a/libbpf.pc.template
-+++ b/src/libbpf.pc.template
-@@ -3,10 +3,11 @@
- prefix=@PREFIX@
- libdir=@LIBDIR@
- includedir=${prefix}/include
-+uapidir=@UAPIDIR@
-
- Name: libbpf
- Description: BPF library
- Version: @VERSION@
- Libs: -L${libdir} -lbpf
- Requires.private: libelf
--Cflags: -I${includedir}
-+Cflags: -I${includedir} -I${uapidir}
diff --git a/dev-libs/libbpf/files/libbpf-9999-paths.patch b/dev-libs/libbpf/files/libbpf-9999-paths.patch
new file mode 100644
index 000000000000..ff087bb38712
--- /dev/null
+++ b/dev-libs/libbpf/files/libbpf-9999-paths.patch
@@ -0,0 +1,34 @@
+--- a/Makefile
++++ b/Makefile
+@@ -76,7 +76,7 @@ endif
+ PREFIX ?= /usr
+ LIBDIR ?= $(PREFIX)/$(LIBSUBDIR)
+ INCLUDEDIR ?= $(PREFIX)/include
+-UAPIDIR ?= $(PREFIX)/include
++UAPIDIR ?= $(PREFIX)/include/bpf/uapi
+
+ TAGS_PROG := $(if $(shell which etags 2>/dev/null),etags,ctags)
+
+@@ -101,6 +101,7 @@ $(OBJDIR)/libbpf.so.$(LIBBPF_VERSION): $(SHARED_OBJS)
+ $(OBJDIR)/libbpf.pc:
+ $(Q)sed -e "s|@PREFIX@|$(PREFIX)|" \
+ -e "s|@LIBDIR@|$(LIBDIR_PC)|" \
++ -e "s|@UAPIDIR@|$(UAPIDIR)|" \
+ -e "s|@VERSION@|$(LIBBPF_VERSION)|" \
+ < libbpf.pc.template > $@
+
+--- a/libbpf.pc.template
++++ b/libbpf.pc.template
+@@ -3,10 +3,11 @@
+ prefix=@PREFIX@
+ libdir=@LIBDIR@
+ includedir=${prefix}/include
++uapidir=@UAPIDIR@
+
+ Name: libbpf
+ Description: BPF library
+ Version: @VERSION@
+ Libs: -L${libdir} -lbpf
+ Requires.private: libelf zlib
+-Cflags: -I${includedir}
++Cflags: -I${includedir} -I${uapidir}
diff --git a/dev-libs/libbpf/libbpf-0.0.3.ebuild b/dev-libs/libbpf/libbpf-0.0.3.ebuild
deleted file mode 100644
index b455107a4012..000000000000
--- a/dev-libs/libbpf/libbpf-0.0.3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-HOMEPAGE="https://github.com/libbpf/libbpf"
-DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2 LGPL-2.1 BSD-2"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="+static-libs"
-
-COMMON_DEPEND="virtual/libelf
- !<=dev-util/bcc-0.7.0"
-DEPEND="${COMMON_DEPEND}
- sys-kernel/linux-headers"
-RDEPEND="${COMMON_DEPEND}"
-
-S="${WORKDIR}/${P}/src"
-
-PATCHES=(
- "${FILESDIR}/libbpf-0.0.3-paths.patch"
-)
-
-src_compile() {
- emake \
- BUILD_SHARED=y \
- LIBSUBDIR="$(get_libdir)" \
- $(usex static-libs 'BUILD_STATIC=y' '' '' '') \
- CC="$(tc-getCC)"
-}
-
-src_install() {
- emake \
- BUILD_SHARED=y \
- LIBSUBDIR="$(get_libdir)" \
- DESTDIR="${D}" \
- $(usex static-libs 'BUILD_STATIC=y' '' '' '') \
- install install_uapi_headers
-
- 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
new file mode 100644
index 000000000000..a666bd28bfd5
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-9999.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)"
+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/metadata.xml b/dev-libs/libbpf/metadata.xml
index 401d77a76ee2..74bcfa4911ec 100644
--- a/dev-libs/libbpf/metadata.xml
+++ b/dev-libs/libbpf/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chutzpah@gentoo.org</email>
</maintainer>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
<upstream>
<remote-id type="github">libbpf/libbpf</remote-id>
</upstream>
diff --git a/dev-libs/libbrahe/Manifest b/dev-libs/libbrahe/Manifest
deleted file mode 100644
index e08a023139f4..000000000000
--- a/dev-libs/libbrahe/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libbrahe-1.1.0.tar.gz 344264 BLAKE2B 84d32344ce9a8f8447b2963d88352a48ec286d1f9c7f39f9ac0da019198cb06f5cc9909eef891ae1e324bfc4a29eea9df4c9a6685f388098ece0888fbeeb4c70 SHA512 54f2d0c9c1c04429fab59d365d6a4144eed29a400edccd7ed9e5d19876565071ac76686da73e7f84c857057c8c52e1b85d2e257203724cbd9f1877d76024927f
diff --git a/dev-libs/libbrahe/files/1.1.0-missing_libs.patch b/dev-libs/libbrahe/files/1.1.0-missing_libs.patch
deleted file mode 100644
index 7466f917f9da..000000000000
--- a/dev-libs/libbrahe/files/1.1.0-missing_libs.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- src/Makefile.am.orig 2008-05-01 02:21:34.000000000 +0200
-+++ src/Makefile.am 2008-05-01 02:21:47.000000000 +0200
-@@ -14,3 +14,4 @@
-
- AM_CFLAGS = -std=gnu99 -pedantic -Wall -Wno-format
- DEFS = -I. -I$(srcdir)
-+LIBS = -lm
diff --git a/dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild b/dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild
deleted file mode 100644
index 4d2e451c2a30..000000000000
--- a/dev-libs/libbrahe/libbrahe-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-utils
-
-DESCRIPTION="A Heterogenous C Library of Numeric Functions"
-HOMEPAGE="http://www.coyotegulch.com/products/brahe/"
-SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
-
-IUSE="static-libs"
-
-DOCS=( AUTHORS ChangeLog NEWS )
-PATCHES=( "${FILESDIR}/${PV}-missing_libs.patch" )
diff --git a/dev-libs/libbrahe/metadata.xml b/dev-libs/libbrahe/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libbrahe/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/libbsd/Manifest b/dev-libs/libbsd/Manifest
index 0979330cdd41..5feead1ee32f 100644
--- a/dev-libs/libbsd/Manifest
+++ b/dev-libs/libbsd/Manifest
@@ -1,3 +1,4 @@
-DIST libbsd-0.8.6.tar.xz 371112 BLAKE2B adab6c17267e0cff128351efccf5c1225b7dd85dc61dd8168bf212ba5aff8d726fa5be687c041821af9a427ddad9dfcd3630cac9134b9e81c86ab2599e43aef9 SHA512 ece01ced324f840c2cee6321c7dcf97ff123d55ea9f203c1ce35e1b46643dc7b34ef6dc6c8d128252b36848624850b40823411cc96b99a66a401eb1e9d8cea6b
-DIST libbsd-0.8.7.tar.xz 371772 BLAKE2B aa4aa1c19872edf9e7e6ed270275199366345531a48ee28c25e209f17c5403a22269b91ab1c806cb1b54ba33a8464f4b035fe7ee2bc5dddd0a4fda09c540b058 SHA512 605a14eb5d33c0e45c3bd29e585ebc15832e2ed1efa9356291a0562622168da96db1a20766e9dae8910ea0c1516429f43905edc8d4f2a40a5a341a689d08fcc3
-DIST libbsd-0.9.1.tar.xz 387180 BLAKE2B 40dd82ca1088ee7aae8b3d7685e8514eec702bf7ada7ef98f7177cad92b7e0fccc22a953b35f0f27202eb56833b31a81bef1324d43864d1b80887ba7c58684d5 SHA512 435822b8f2495a5e2705e5ab5c834a4f0f3a177b3e5c46a7c6162924507ca984e957e94a512b5ebd0067ecb413bac458fade357709ef199e9b75edf0315de91c
+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/files/libbsd-0.8.6-sparc.patch b/dev-libs/libbsd/files/libbsd-0.8.6-sparc.patch
deleted file mode 100644
index d2c35d8dc4ed..000000000000
--- a/dev-libs/libbsd/files/libbsd-0.8.6-sparc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 0b65d43963fc1bea195e94e3af922a7893bf6fcd Mon Sep 17 00:00:00 2001
-From: James Clarke <jrtc27@jrtc27.com>
-Date: Sun, 4 Mar 2018 23:44:52 +0100
-Subject: Add support for ELF machine EM_SPARC32PLUS
-
-32-bit SPARC on V8+ uses a different ELF machine type.
-
-Fixes: https://bugs.gentoo.org/634550
-Signed-off-by: Guillem Jover <guillem@hadrons.org>
----
- src/local-elf.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/local-elf.h b/src/local-elf.h
-index 1faf182..f7cbd83 100644
---- a/src/local-elf.h
-+++ b/src/local-elf.h
-@@ -186,7 +186,11 @@
- #define ELF_TARG_MACH EM_SPARCV9
- #define ELF_TARG_CLASS ELFCLASS64
- #else
-+#if defined(__sparc_v9__)
-+#define ELF_TARG_MACH EM_SPARC32PLUS
-+#else
- #define ELF_TARG_MACH EM_SPARC
-+#endif
- #define ELF_TARG_CLASS ELFCLASS32
- #endif
- #define ELF_TARG_DATA ELFDATA2MSB
---
-cgit v1.1
-
diff --git a/dev-libs/libbsd/files/libbsd-0.9.1-missing-header.patch b/dev-libs/libbsd/files/libbsd-0.9.1-missing-header.patch
deleted file mode 100644
index 7ca2b881a388..000000000000
--- a/dev-libs/libbsd/files/libbsd-0.9.1-missing-header.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 13c32916b4baab58d93940d57fea9ff0777f1931 Mon Sep 17 00:00:00 2001
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Tue, 5 Jun 2018 19:21:46 +0300
-Subject: flopen: Add missing <fcntl.h> include
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commit 993828d84ee (Add flopenat() function from FreeBSD) dropped the
-fcntl.h header. This breaks the build with musl libc:
-
-flopen.c: In function ‘vflopenat’:
-flopen.c:60:14: error: ‘O_CREAT’ undeclared (first use in this function)
- if (flags & O_CREAT) {
- ^~~~~~~
-
-Restore the fcntl.h header include to fix the build.
-
-Fixes: commit 993828d84eed0468c6c15b2818e534e6b134b8e4
-Submitted-also-by: parazyd <parazyd@dyne.org>
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
-Signed-off-by: Guillem Jover <guillem@hadrons.org>
----
- src/flopen.c | 1 +
- 1 file changed, 1 insertion(+)
-
-(limited to 'src/flopen.c')
-
-diff --git a/src/flopen.c b/src/flopen.c
-index b9972c9..ff20d07 100644
---- a/src/flopen.c
-+++ b/src/flopen.c
-@@ -32,6 +32,7 @@
- #include <sys/stat.h>
-
- #include <errno.h>
-+#include <fcntl.h>
- #include <stdarg.h>
- #include <unistd.h>
-
---
-cgit v1.1
-
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/libbsd-0.8.6.ebuild b/dev-libs/libbsd/libbsd-0.8.6.ebuild
deleted file mode 100644
index 1d417a410989..000000000000
--- a/dev-libs/libbsd/libbsd-0.8.6.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit multilib-minimal
-
-DESCRIPTION="An 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 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-DEPEND=">=sys-kernel/linux-headers-3.17"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.8.6-sparc.patch"
-)
-
-pkg_setup() {
- local f="${EROOT}/usr/$(get_libdir)/${PN}.a"
- local m="You need to remove ${f} by hand or re-emerge sys-libs/glibc first."
- if ! has_version ${CATEGORY}/${PN}; then
- if [[ -e ${f} ]]; then
- eerror "${m}"
- die "${m}"
- 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}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/libbsd/libbsd-0.8.7.ebuild b/dev-libs/libbsd/libbsd-0.8.7.ebuild
deleted file mode 100644
index 8fe9b46741c7..000000000000
--- a/dev-libs/libbsd/libbsd-0.8.7.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit multilib-minimal
-
-DESCRIPTION="An 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 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-DEPEND=">=sys-kernel/linux-headers-3.17"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.8.6-sparc.patch"
-)
-
-pkg_setup() {
- local f="${EROOT}/usr/$(get_libdir)/${PN}.a"
- local m="You need to remove ${f} by hand or re-emerge sys-libs/glibc first."
- if ! has_version ${CATEGORY}/${PN}; then
- if [[ -e ${f} ]]; then
- eerror "${m}"
- die "${m}"
- 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}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/libbsd/libbsd-0.9.1.ebuild b/dev-libs/libbsd/libbsd-0.9.1.ebuild
deleted file mode 100644
index 858d6676ad1f..000000000000
--- a/dev-libs/libbsd/libbsd-0.9.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit multilib-minimal
-
-DESCRIPTION="An 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 ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-DEPEND=">=sys-kernel/linux-headers-3.17"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}/${P}-missing-header.patch"
-)
-
-pkg_setup() {
- local f="${EROOT}/usr/$(get_libdir)/${PN}.a"
- local m="You need to remove ${f} by hand or re-emerge sys-libs/glibc first."
- if ! has_version ${CATEGORY}/${PN}; then
- if [[ -e ${f} ]]; then
- eerror "${m}"
- die "${m}"
- 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}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/libbsd/metadata.xml b/dev-libs/libbsd/metadata.xml
index 0f6db5621bcb..f7d2c3e6ba07 100644
--- a/dev-libs/libbsd/metadata.xml
+++ b/dev-libs/libbsd/metadata.xml
@@ -1,8 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="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 0fd2d28f7f96..761865c04ae0 100644
--- a/dev-libs/libbson/Manifest
+++ b/dev-libs/libbson/Manifest
@@ -1,14 +1,2 @@
-DIST libbson-0.98.0.tar.gz 4451923 BLAKE2B 2d53cdc0cf1afa189eb1597ccc46a604c98011cc54b6f77c5848e10f044bf5edb9fd57f6a3dce6907ddcec76de043def6d488c8e1b7eda42d7b420b1026c58f5 SHA512 9bae7593198c8ac358978bd6a065d65fb872a15fd43d11839ad5dff1ffbe0362b06cd4bde08032a2c11e8633789328b5d504cd032b7636dc525f6df3e6fd641d
-DIST libbson-1.1.10.tar.gz 4431658 BLAKE2B 1e542797c6617296c0ca7cb6dbbd34be5b31789a39130fb61000f11dfce6f7e3584f884c9350234b9704143d6a3280635cd32572b35e83010a7e9ddcc3f86ff8 SHA512 636178bafb19e7b103b5192866dbda0c70b8d7173560b0466f88b3a85cce3292a7caac9521808fa8c09d187f8c96564dcd9fb787e855d1619610f813583379bc
-DIST libbson-1.1.2.tar.gz 4492014 BLAKE2B 684c5053faf5a7f3afe6063e34247cfe7709afe0c17e8f387cfb337e6cc62e7b79c3cbf018e245bc189899e094858e1caff156344e126ba889964b1112820d21 SHA512 03e2ee337445286c14b846cd7545707959b1d351fa466c6292379a85e48ea1a171dae37dd7aff092212239ad59aac6f1ab216ee5de74ef00a8a2a124559e34da
-DIST libbson-1.10.3.tar.gz 5616159 BLAKE2B 368e273aedc21ec79b804625276a49f7b670f027b410595b1e6455228dc776f0ed629d6ee599d16b9d0db08ec08a8e4dac2bdf06fa931ef1578849bf86d85726 SHA512 47af1baad1ad74bbbdf2fd22a437034d317a2f3ec02fee485e983ae6829b3f01af2649a09577f08144a88385fa940dfa211ea02bfa3c0e25b59dbe2090269603
-DIST libbson-1.11.0.tar.gz 5681593 BLAKE2B 43f70943cc7f1a9f6285c71136b1284be7ef0f223b777d5884d795102910aedb8d4f516d5d50cdecfa9219835a884b237aa98ab3742067c36944f0abdc67a8e4 SHA512 d20d83c9470972641407550bf835701df28c196b1cf19097450a062fd3c560c452c658aa5080bb28066079cea27888731f3670e81bd1b0cd5be1b97a2988074e
-DIST libbson-1.12.0.tar.gz 5708175 BLAKE2B 113db7ec95f8e9b65433fc20def7224ee8d54c9ddb14cfc68ccf7ccb1995808f4c4c372806e85e1c8bb8b8541bb8b8b5236fd06d7605b78a4bbcee6560642bec SHA512 e4688da8a94fc499893b6001fc444b97fc05c89672fd9700bf30c6af7f1bbb02b1a658aa74470e0e5d5e72bc28a5753aa7dcda14dba7e75fbce0b4bb94b7373f
-DIST libbson-1.13.0.tar.gz 5734887 BLAKE2B ce5c78dde31edc753a6678e90889a0da7129cd1fcf1dce7222df4d25ca109b1bfbb545c755abf8e4cc39dd40dde7ba4c50dd51dcfc67c970e2b8eb278bd543fc SHA512 d2f5b04b3d2dbdeba4547ec1fe8a0da7bad5214de92fff480ef0ff7d97ea45d5e6347c11c249867d4905b1dd81b76c7cfbb9094a58df586dae881955ee246907
-DIST libbson-1.13.1.tar.gz 5740487 BLAKE2B 92184df6f15f951564a7df14d8ec52eb0199a49af102d44c8fb7678db82a41f915c984e95f5301f533dde63139221cb6e161fa5053b9fcc33080abe1095d9c35 SHA512 454670a145a5f2272daa5ca88f2e7d7e42c9b7df62dfc29b3c4b602ef8f819a740890c40872fa47dc411cc5ef9a34b55a6feea3657a802a5be378c4dbe79f42d
-DIST libbson-1.14.0.tar.gz 6573651 BLAKE2B 0b1157473554a5aa49e61cf1c85dc7b1f1917581e661a4295876d4c93e72137b4c7c04e1b7545ba7272706499dbe868a36f1c888d2d07a8176f1c4dc01f9fa5f SHA512 99ca4001341d044a8ffc02a5d7175d40f8a998bdaad15a668a7db0558fa616ec18152faeda6da7f28b34c5d2cf4b649180c9390d2229e1342b6c4f6742816994
-DIST libbson-1.3.5.tar.gz 4547720 BLAKE2B e5e258344aea0969ac74d88d040a464b72d460a13776c5c8c639e569ed3208fabd2641e850bf035c6889b466ddcc33d487da0aeab58f308bee7446b5fd0a31a1 SHA512 b55ae1d424f786aabed6567a77cd09aa26c74ab0a09392e88faef8c156b1650c026f86f245bc8431a0ebcf404c4f80eb1b22e978a24289d32692c84375a66596
-DIST libbson-1.3.6.tar.gz 4546329 BLAKE2B fa9102cd02e40e0ddb7518d34502f6ff63109b91af18a2285422530dae8c6cc04041b7589f340f2e6ed7a80e2474fea2684001b7ced5e8c911d4ba51e1a6edcc SHA512 a7da914ed0f03212d4fb01879543f0b2c7629923e33200fe30335a9a90a1082ffa2566c7a556b90a6c7ffbef5665a45ec67f87ffff2a5fcb89830769b1df5130
-DIST libbson-1.6.2.tar.gz 4835257 BLAKE2B ebe20a6c9ac8a4fcbd8e838d1a7cd319a6b31956690aa2dfca2be42eaafb646405ea01fe2bf20b2dc21bf933c0eafc330fd45409f7c902a7bf0c0641cfe0891d SHA512 f95f5bb829cff3aac6c1d95a159e38396d8fccef66d3026dac8085ba13ec376274cddeb92277d711ac4d40cafd8b89b73e9a9d1cf29e22f7f79aa9422c69488b
-DIST libbson-1.8.2.tar.gz 4885188 BLAKE2B bd867dc2b93fbc45d155e0433cf20202ccabc8fc20414cf0dec9401242ed4469f89f067c56a9c1e304bd2e806c94682fd9b7a26300f56f7da690338b8df72811 SHA512 a0d9e0e3acdeb03f2de4507330cda36b2bcdeb2420ab4a0b342fe666799113f4384859af70d02d3c01ef1e4e0b8f2a06732ed14f86b386452508c680acb9b94d
-DIST libbson-1.9.3.tar.gz 4957319 BLAKE2B a4e4ebc96f876e52173fbf41e9cb995824683f6eaef7d49dd71ad834f313bf182bec456ca8e78d697d1688a54c497702783a18424bf32b485a205a9ad7044453 SHA512 ad2fdba2138c3197d236740ed2765848737afc847cb7b9e9a418c1fb98eceabccc561dab040aab1b7d67160f5969930c51caa17962667a35102475d909b4cbb7
+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/files/libbson-1.13.0-no-uninstall.patch b/dev-libs/libbson/files/libbson-1.13.0-no-uninstall.patch
deleted file mode 100644
index 64a90bbe3ece..000000000000
--- a/dev-libs/libbson/files/libbson-1.13.0-no-uninstall.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f7a0dfe..22d1f4f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -271,7 +271,6 @@ if (ENABLE_MONGOC)
- VERSION_CURRENT
- VERSION_RELEASED
- # This sub-directory is added later, so manually include here
-- generate_uninstall/CMakeLists.txt
- )
-
- set_local_dist (top_DIST ${top_DIST_local})
-@@ -341,14 +340,8 @@ if (WIN32)
- else ()
- set (UNINSTALL_PROG "uninstall.sh")
- endif ()
--set (UNINSTALL_PROG_DIR "${CMAKE_INSTALL_FULL_DATADIR}/mongo-c-driver")
-
- # Create uninstall program and associated uninstall target
- #
- # This needs to be last (after all other add_subdirectory calls) to ensure that
- # the generated uninstall program is complete and correct
--add_subdirectory (generate_uninstall)
--
--add_custom_target (uninstall
-- COMMAND "${UNINSTALL_PROG_DIR}/${UNINSTALL_PROG}"
--)
diff --git a/dev-libs/libbson/libbson-0.98.0.ebuild b/dev-libs/libbson/libbson-0.98.0.ebuild
deleted file mode 100644
index 9d2c7204d9e9..000000000000
--- a/dev-libs/libbson/libbson-0.98.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~x86"
-IUSE="debug examples static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS NEWS README )
-
-src_prepare() {
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-hardening \
- --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- doman doc/*.3
-
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins examples/*.c
- fi
-}
diff --git a/dev-libs/libbson/libbson-1.1.10.ebuild b/dev-libs/libbson/libbson-1.1.10.ebuild
deleted file mode 100644
index 6904ae31ae57..000000000000
--- a/dev-libs/libbson/libbson-1.1.10.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~x86"
-IUSE="debug examples static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS NEWS README )
-
-src_prepare() {
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-hardening \
- --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- doman doc/*.3
-
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins examples/*.c
- fi
-}
diff --git a/dev-libs/libbson/libbson-1.1.2.ebuild b/dev-libs/libbson/libbson-1.1.2.ebuild
deleted file mode 100644
index 6904ae31ae57..000000000000
--- a/dev-libs/libbson/libbson-1.1.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~x86"
-IUSE="debug examples static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS NEWS README )
-
-src_prepare() {
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-hardening \
- --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- doman doc/*.3
-
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins examples/*.c
- fi
-}
diff --git a/dev-libs/libbson/libbson-1.10.3.ebuild b/dev-libs/libbson/libbson-1.10.3.ebuild
deleted file mode 100644
index e229e5ac1bdd..000000000000
--- a/dev-libs/libbson/libbson-1.10.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86"
-IUSE="examples static-libs"
-
-DEPEND="dev-python/sphinx"
-
-S="${WORKDIR}/mongo-c-driver-${PV}"
-
-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)"
- )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc src/libbson/examples/*.c
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/libbson/libbson-1.11.0.ebuild b/dev-libs/libbson/libbson-1.11.0.ebuild
deleted file mode 100644
index e229e5ac1bdd..000000000000
--- a/dev-libs/libbson/libbson-1.11.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86"
-IUSE="examples static-libs"
-
-DEPEND="dev-python/sphinx"
-
-S="${WORKDIR}/mongo-c-driver-${PV}"
-
-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)"
- )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc src/libbson/examples/*.c
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/libbson/libbson-1.12.0.ebuild b/dev-libs/libbson/libbson-1.12.0.ebuild
deleted file mode 100644
index e229e5ac1bdd..000000000000
--- a/dev-libs/libbson/libbson-1.12.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86"
-IUSE="examples static-libs"
-
-DEPEND="dev-python/sphinx"
-
-S="${WORKDIR}/mongo-c-driver-${PV}"
-
-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)"
- )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc src/libbson/examples/*.c
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/libbson/libbson-1.13.0.ebuild b/dev-libs/libbson/libbson-1.13.0.ebuild
deleted file mode 100644
index 2ea5452eeaca..000000000000
--- a/dev-libs/libbson/libbson-1.13.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc x86"
-IUSE="examples static-libs"
-
-DEPEND="dev-python/sphinx"
-
-PATCHES=(
- "${FILESDIR}/${P}-no-uninstall.patch"
-)
-
-S="${WORKDIR}/mongo-c-driver-${PV}"
-
-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)"
- )
-
- cmake-utils_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc src/libbson/examples/*.c
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/libbson/libbson-1.13.1.ebuild b/dev-libs/libbson/libbson-1.13.1.ebuild
deleted file mode 100644
index f0095e641c58..000000000000
--- a/dev-libs/libbson/libbson-1.13.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86"
-IUSE="examples static-libs"
-
-DEPEND="dev-python/sphinx"
-
-S="${WORKDIR}/mongo-c-driver-${PV}"
-
-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-utils_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc src/libbson/examples/*.c
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/libbson/libbson-1.14.0.ebuild b/dev-libs/libbson/libbson-1.14.0.ebuild
deleted file mode 100644
index a21a401d4d66..000000000000
--- a/dev-libs/libbson/libbson-1.14.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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 ~hppa ~ppc ~x86"
-IUSE="examples static-libs"
-
-DEPEND="dev-python/sphinx"
-
-PATCHES=( "${FILESDIR}/libbson-1.14.0-no-docs.patch" )
-
-S="${WORKDIR}/mongo-c-driver-${PV}"
-
-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-utils_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc src/libbson/examples/*.c
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/libbson/libbson-1.18.0.ebuild b/dev-libs/libbson/libbson-1.18.0.ebuild
new file mode 100644
index 000000000000..6d3d8b168b13
--- /dev/null
+++ b/dev-libs/libbson/libbson-1.18.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+
+DEPEND="dev-python/sphinx"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.14.0-no-docs.patch"
+)
+
+S="${WORKDIR}/mongo-c-driver-${PV}"
+
+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/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/libbson-1.3.5.ebuild b/dev-libs/libbson/libbson-1.3.5.ebuild
deleted file mode 100644
index 76bd281fa631..000000000000
--- a/dev-libs/libbson/libbson-1.3.5.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~x86"
-IUSE="debug examples static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS NEWS README )
-
-src_prepare() {
- default_src_prepare
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-hardening \
- --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default_src_install
- if [[ -f "${D}usr/share/doc/${P}/COPYING" ]] ; then
- rm "${D}usr/share/doc/${P}/COPYING" || die
- fi
- # Installing all the manuals conflicts with man-pages
- doman doc/man/bson_*.3
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins examples/*.c
- fi
-}
diff --git a/dev-libs/libbson/libbson-1.3.6.ebuild b/dev-libs/libbson/libbson-1.3.6.ebuild
deleted file mode 100644
index e2a4483d6d6d..000000000000
--- a/dev-libs/libbson/libbson-1.3.6.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
-IUSE="debug examples static-libs"
-
-DOCS=( AUTHORS NEWS README )
-
-src_prepare() {
- default_src_prepare
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-hardening \
- --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- if [[ -f "${D}usr/share/doc/${P}/COPYING" ]] ; then
- rm "${D}usr/share/doc/${P}/COPYING" || die
- fi
-
- # Installing all the manuals conflicts with man-pages
- doman doc/man/bson_*.3
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins examples/*.c
- fi
-
- einstalldocs
-}
diff --git a/dev-libs/libbson/libbson-1.6.2.ebuild b/dev-libs/libbson/libbson-1.6.2.ebuild
deleted file mode 100644
index 53d3018c63c9..000000000000
--- a/dev-libs/libbson/libbson-1.6.2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86"
-IUSE="debug examples static-libs"
-
-DOCS=( AUTHORS NEWS README )
-
-src_prepare() {
- default_src_prepare
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/bson/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # Installing all the manuals conflicts with man-pages
- doman doc/man/bson_*.3
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-
- if use examples; then
- docinto examples
- dodoc examples/*.c
- fi
-
- einstalldocs
-}
-
-src_test() {
- emake test
-}
diff --git a/dev-libs/libbson/libbson-1.8.2.ebuild b/dev-libs/libbson/libbson-1.8.2.ebuild
deleted file mode 100644
index d730cc35cea7..000000000000
--- a/dev-libs/libbson/libbson-1.8.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 hppa ~ppc ~sparc x86"
-IUSE="debug examples static-libs"
-
-src_configure() {
- econf --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # Installing all the manuals conflicts with man-pages
- doman doc/man/bson_*.3
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-
- if use examples; then
- docinto examples
- dodoc examples/*.c
- fi
-
- einstalldocs
-}
-
-src_test() {
- emake test
-}
diff --git a/dev-libs/libbson/libbson-1.9.3.ebuild b/dev-libs/libbson/libbson-1.9.3.ebuild
deleted file mode 100644
index 5fa502a4ac5d..000000000000
--- a/dev-libs/libbson/libbson-1.9.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A BSON utility library"
-HOMEPAGE="https://github.com/mongodb/libbson"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86"
-IUSE="debug examples static-libs"
-
-src_configure() {
- econf --disable-optimizations \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # Installing all the manuals conflicts with man-pages
- doman doc/man/bson_*.3
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-
- if use examples; then
- docinto examples
- dodoc examples/*.c
- fi
-
- einstalldocs
-}
-
-src_test() {
- emake test
-}
diff --git a/dev-libs/libbson/metadata.xml b/dev-libs/libbson/metadata.xml
index 3ad8263ab0cf..c01295da36f6 100644
--- a/dev-libs/libbson/metadata.xml
+++ b/dev-libs/libbson/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ultrabug@gentoo.org</email>
<name>Ultrabug</name>
</maintainer>
- <longdescription lang="en">A BSON utility library.</longdescription>
<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/libbulletml/files/libbulletml-0.0.6-Makefile.patch b/dev-libs/libbulletml/files/libbulletml-0.0.6-Makefile.patch
new file mode 100644
index 000000000000..05400d2c506f
--- /dev/null
+++ b/dev-libs/libbulletml/files/libbulletml-0.0.6-Makefile.patch
@@ -0,0 +1,119 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,10 +1,5 @@
+-CC = g++
+ INCLUDES = -I.
+ LIBS = tinyxml/tinyxml.o tinyxml/tinyxmlparser.o tinyxml/tinyxmlerror.o
+-#CXXFLAGS = -g -W -Wall -ansi -pedantic
+-#CXXFLAGS = -pg -g -W -Wall -ansi -pedantic
+-CXXFLAGS = -O2 -W -Wall -ansi -pedantic
+-CFLAGS = -O2
+ OBJS = bulletmlparser-tinyxml.o bulletmlparser.o bulletmltree.o calc.o formula-variables.o bulletmlrunner.o bulletmlrunnerimpl.o
+
+ all: libbulletml.a
+@@ -21,7 +16,7 @@
+ bison -y calc.yy && mv y.tab.c calc.cpp
+
+ $(OBJS): %.o: %.cpp
+- $(CC) -c $(CXXFLAGS) $(INCLUDES) $<
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INCLUDES) -c $< -o $@
+
+ doxy:
+ doxygen
+--- a/tinyxml/Makefile
++++ b/tinyxml/Makefile
+@@ -14,41 +14,6 @@
+ PROFILE := NO
+
+ #****************************************************************************
+-
+-CC := gcc
+-CXX := g++
+-LD := g++
+-AR := ar rc
+-RANLIB := ranlib
+-
+-DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -g -DDEBUG
+-RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O2
+-
+-LIBS :=
+-
+-DEBUG_CXXFLAGS := ${DEBUG_CFLAGS}
+-RELEASE_CXXFLAGS := ${RELEASE_CFLAGS}
+-
+-DEBUG_LDFLAGS := -g
+-RELEASE_LDFLAGS :=
+-
+-ifeq (YES, ${DEBUG})
+- CFLAGS += ${DEBUG_CFLAGS}
+- CXXFLAGS += ${DEBUG_CXXFLAGS}
+- LDFLAGS += ${DEBUG_LDFLAGS}
+-else
+- CFLAGS += ${RELEASE_CFLAGS}
+- CXXFLAGS += ${RELEASE_CXXFLAGS}
+- LDFLAGS += ${RELEASE_LDFLAGS}
+-endif
+-
+-ifeq (YES, ${PROFILE})
+- CFLAGS := ${CFLAGS} -pg
+- CXXFLAGS := ${CXXFLAGS} -pg
+- LDFLAGS := ${LDFLAGS} -pg
+-endif
+-
+-#****************************************************************************
+ # Preprocessor directives
+ #****************************************************************************
+
+@@ -70,8 +35,8 @@
+ # Makefile code common to all platforms
+ #****************************************************************************
+
+-CFLAGS := ${CFLAGS} ${DEFS}
+-CXXFLAGS := ${CXXFLAGS} ${DEFS}
++CFLAGS += ${DEFS}
++CXXFLAGS += ${DEFS}
+
+ #****************************************************************************
+ # Targets of the build
+@@ -98,7 +63,7 @@
+ #****************************************************************************
+
+ ${OUTPUT}: ${OBJS}
+- ${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}
++ ${CXX} ${LDFLAGS} -o $@ ${OBJS} ${LIBS} ${EXTRA_LIBS}
+
+ #****************************************************************************
+ # common rules
+@@ -106,10 +71,10 @@
+
+ # Rules for compiling source files to object files
+ %.o : %.cpp
+- ${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@
++ ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${INCS} -c $< -o $@
+
+ %.o : %.c
+- ${CC} -c ${CFLAGS} ${INCS} $< -o $@
++ ${CC} ${CFLAGS} ${CPPFLAGS} ${INCS} -c $< -o $@
+
+ clean:
+ -rm -f core ${OBJS} ${OUTPUT}
+--- a/ygg/Makefile
++++ b/ygg/Makefile
+@@ -2,8 +2,6 @@
+ LIBS =
+ #CXXFLAGS = -g -W -Wall
+ #CXXFLAGS = -pg -g -W -Wall
+-CXXFLAGS = -O2 -W -Wall
+-CFLAGS = -O2
+ OBJS = ygg.o
+
+ all: $(OBJS)
+@@ -12,7 +10,7 @@
+ rm -f *.o *.a
+
+ $(OBJS): %.o: %.cpp
+- $(CXX) -c $(CXXFLAGS) $(INCLUDES) $<
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INCLUDES) -c $< -o $@
+
+ distdir:
+
diff --git a/dev-libs/libbulletml/libbulletml-0.0.6.ebuild b/dev-libs/libbulletml/libbulletml-0.0.6.ebuild
index 045879e2c0f5..5bd9fa9717b4 100644
--- a/dev-libs/libbulletml/libbulletml-0.0.6.ebuild
+++ b/dev-libs/libbulletml/libbulletml-0.0.6.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+inherit toolchain-funcs
+
DESCRIPTION="A Library of Bullet Markup Language"
HOMEPAGE="https://shinh.skr.jp/libbulletml/index_en.html"
SRC_URI="https://shinh.skr.jp/libbulletml/${P}.tar.bz2"
@@ -10,25 +12,24 @@ SRC_URI="https://shinh.skr.jp/libbulletml/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ppc x86"
-IUSE=""
DEPEND="dev-libs/boost"
RDEPEND=${DEPEND}
-PATCHES=( "${FILESDIR}"/${P}-gcc4{3,6}.patch )
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc4{3,6}.patch
+ "${FILESDIR}"/${P}-Makefile.patch
+)
S="${WORKDIR}"/${PN#lib}/src
src_prepare() {
default
rm -r boost || die
-
- # don't override the system-wide flags
- sed -i -e '/^CFLAGS =/d;/^CXXFLAGS =/d' Makefile ygg/Makefile || die
}
-src_compile() {
- emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+src_configure() {
+ tc-export AR CXX
}
src_install() {
diff --git a/dev-libs/libbulletml/metadata.xml b/dev-libs/libbulletml/metadata.xml
index 78274e0fa550..1c3ba213c494 100644
--- a/dev-libs/libbulletml/metadata.xml
+++ b/dev-libs/libbulletml/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
diff --git a/dev-libs/libburn/Manifest b/dev-libs/libburn/Manifest
index e157fb7e4f8d..6694916106ef 100644
--- a/dev-libs/libburn/Manifest
+++ b/dev-libs/libburn/Manifest
@@ -1 +1 @@
-DIST libburn-1.5.0.tar.gz 979953 BLAKE2B 7fdd6d8314d65547e48baa3bb7c0b8f94c5d5a799e62d79d8dfcd5de644c555be437fc7c84134598703b9335c2330c49e8c7c7adbaefa9e1f288109e0010f8df SHA512 c524d672d79db2f6dc22f6381cd422ddaa3b61d6741c998c773772722e37c53576ae9549dd17a33c2d020c66857ecbb948f353bc22cdf28c2bb115bd2b82d4a2
+DIST libburn-1.5.6.tar.gz 995353 BLAKE2B 2c4b2e0a191c2a02327177bc5acd418d14a0c6eb9de065de171b0c4240a8bd7746ab2fd775fa1f0433bc1fe98dd47620524ec2954f4aa0f2015557cf881a5d3f SHA512 549cb25310aac5ce445639374d84f0c09fb1fdd70be97479588775e5afcc12dd0655c5bf51bd3f1bf8c06a66b318fd1e709dcfd72845e795ffaf353ea621accd
diff --git a/dev-libs/libburn/libburn-1.5.0.ebuild b/dev-libs/libburn/libburn-1.5.0.ebuild
deleted file mode 100644
index 58718b2bd61c..000000000000
--- a/dev-libs/libburn/libburn-1.5.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2019 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/wikis/home"
-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 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..eb026ac0af78
--- /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/metadata.xml b/dev-libs/libburn/metadata.xml
index 21fe2e58d3b3..4b673d074f3e 100644
--- a/dev-libs/libburn/metadata.xml
+++ b/dev-libs/libburn/metadata.xml
@@ -1,12 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>billie@gentoo.org</email>
<name>Daniel Pielmeier</name>
</maintainer>
-<longdescription lang="en">
-Libburn is an open-source library for reading, mastering and writing optical
-discs.
-</longdescription>
</pkgmetadata>
diff --git a/dev-libs/libbytesize/Manifest b/dev-libs/libbytesize/Manifest
index 5e87d56eede5..3458e34920ce 100644
--- a/dev-libs/libbytesize/Manifest
+++ b/dev-libs/libbytesize/Manifest
@@ -1,4 +1,2 @@
-DIST libbytesize-1.2.tar.gz 70598 BLAKE2B e136b1274703da7b3596e7583cea1ac773c1594af09c626f4dbb481dfcc23a3186b03ebdc54bba67d0a063c5d6587f6b7f8b610828c461cfd114eea1388dd193 SHA512 a8151e7440d0ec43d10239ddf08a9924827cdf08f20a16dff6177b444c1022fab905a0567384531e7610d854998111adb77f9a6a98e2d9648c02521f84ea2bf2
-DIST libbytesize-1.4.tar.gz 80943 BLAKE2B d4c6c34d81be01bf7db2c37b0660886d99eff3c0a87024f5fbc12cc3606dc01e772b81dfbcacbf76c62213120253a9e7bda90adbc749b6d4c3e31e1ed3ae7702 SHA512 5dd13cf52a1674be776220ee1863f42261a47dc53af1ce4a31460d6d02ce87e19c5a52260f700928af98f1d9d7a96de7c11d8f384907b3187ef2effc10cbb593
-DIST libbytesize-2.0.tar.gz 440544 BLAKE2B a371c617c965171a8746339ff8a2ec412daf3f79ae80e4e6a404546b0fc2f59f3e5882fc93726701490ef267f90cfd8c5db70bf7bd334c08806ff35eaab97377 SHA512 9d2a18930d0d900262ced4abd5cd358896570eadb06435f1b9aba5484ca530478b65dfb4982e8acf77ca4519a2d8a1dc236d42f5fa1ecbd7461949b282ef44a1
-DIST libbytesize-2.1.tar.gz 440209 BLAKE2B 7c689f269eae7b408b7f85fb9c877c9eb519d2a2eb143ef0ddb1657fbb4d79fab7cdaa56b35b4bbbb964e47361e37d7c70a0a135bacb8f817bd6cf8d2e22b68e SHA512 6b93d877e921820c19ed6874a36d9f8b6958112f6230f24980e8e6e30570b39ce74594f0ef126f70dc81b5434899c1f0f3ad0925f3ff7b6a596a9329c8f106c8
+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.4-no_Werror.patch b/dev-libs/libbytesize/files/libbytesize-2.4-no_Werror.patch
new file mode 100644
index 000000000000..827bebe3ec93
--- /dev/null
+++ b/dev-libs/libbytesize/files/libbytesize-2.4-no_Werror.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/744286
+
+--- libbytesize-2.4/configure.ac
++++ libbytesize-2.4/configure.ac
+@@ -6,7 +6,7 @@
+ # This needs to be set before initializing automake
+ AC_DISABLE_STATIC
+
+-AM_INIT_AUTOMAKE([foreign -Wall -Werror -Wno-syntax -Wno-portability])
++AM_INIT_AUTOMAKE([foreign -Wall -Wno-syntax -Wno-portability])
+ AC_CONFIG_MACRO_DIR([m4])
+
+ # Check for the gettext programs
+--- libbytesize-2.4/src/Makefile.am
++++ libbytesize-2.4/src/Makefile.am
+@@ -2,7 +2,7 @@
+ LDADD = $(LIBINTL)
+
+ lib_LTLIBRARIES = libbytesize.la
+-libbytesize_la_CFLAGS = -Wall -Wextra -Werror -Wno-overflow -D_GNU_SOURCE
++libbytesize_la_CFLAGS = -Wall -Wextra -Wno-overflow -D_GNU_SOURCE
+ libbytesize_la_LIBADD = -lgmp -lmpfr $(PCRE2_LIBS)
+ libbytesize_la_LDFLAGS = -version-info 1:0:0
+ libbytesize_la_SOURCES = bs_size.c bs_size.h gettext.h
diff --git a/dev-libs/libbytesize/libbytesize-1.2-r1.ebuild b/dev-libs/libbytesize/libbytesize-1.2-r1.ebuild
deleted file mode 100644
index 2696962327c9..000000000000
--- a/dev-libs/libbytesize/libbytesize-1.2-r1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_{5,6}} )
-
-inherit autotools python-r1
-
-DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big sizes in bytes"
-HOMEPAGE="https://github.com/rhinstaller/libbytesize"
-SRC_URI="https://github.com/rhinstaller/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 ia64 ~mips ppc ppc64 sparc x86"
-IUSE="doc test"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/gmp:0=
- dev-libs/mpfr:=
- >=dev-libs/libpcre-8.32
-"
-
-DEPEND="
- ${RDEPEND}
- sys-devel/gettext
- doc? ( dev-util/gtk-doc )
- test? (
- dev-python/pocketlint
- dev-python/polib
- )
-"
-
-RESTRICT="test"
-
-pkg_setup() {
- python_setup
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --without-python3 #634840
- $(use_with doc gtk-doc)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake install DESTDIR="${D}"
-
- python_install() {
- emake -C src/python install DESTDIR="${D}"
- python_optimize
- }
- python_foreach_impl python_install
-}
diff --git a/dev-libs/libbytesize/libbytesize-1.4.ebuild b/dev-libs/libbytesize/libbytesize-1.4.ebuild
deleted file mode 100644
index 92f86ba2540a..000000000000
--- a/dev-libs/libbytesize/libbytesize-1.4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-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/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm arm64 ia64 ~mips ppc ppc64 sparc x86"
-IUSE="doc test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/gmp:0=
- dev-libs/mpfr:=
- >=dev-libs/libpcre-8.32
-"
-
-DEPEND="
- ${RDEPEND}
- sys-devel/gettext
- doc? ( dev-util/gtk-doc )
- test? (
- dev-python/pocketlint
- dev-python/polib
- )
-"
-
-RESTRICT="test"
-
-pkg_setup() {
- python_setup
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --without-python3 #634840
- $(use_with doc gtk-doc)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake install DESTDIR="${D}"
-
- python_install() {
- emake -C src/python install DESTDIR="${D}"
- python_optimize
- }
- python_foreach_impl python_install
-
- find "${ED}" -name "*.la*" -delete || die
-}
diff --git a/dev-libs/libbytesize/libbytesize-2.0-r3.ebuild b/dev-libs/libbytesize/libbytesize-2.0-r3.ebuild
deleted file mode 100644
index f3c68f3c42fe..000000000000
--- a/dev-libs/libbytesize/libbytesize-2.0-r3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-
-inherit 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 ~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"
-
-python_do() {
- if use python; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
-
-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.1.ebuild b/dev-libs/libbytesize/libbytesize-2.1.ebuild
deleted file mode 100644
index f3c68f3c42fe..000000000000
--- a/dev-libs/libbytesize/libbytesize-2.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-
-inherit 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 ~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"
-
-python_do() {
- if use python; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
-
-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.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.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 97f2d51ca8b0..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/libcaldav/Manifest b/dev-libs/libcaldav/Manifest
deleted file mode 100644
index eda81d0b38aa..000000000000
--- a/dev-libs/libcaldav/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libcaldav-0.6.2.tar.gz 513852 BLAKE2B a8916bec69cd23ad9b7194a55222e7defe8bed7ba005cf3ecde186b843c68089bb0ad34f10d161ad8f3d11fdbfca9fb4e599188cbb65e80e430f2646871b8599 SHA512 a6d9c70f0cb7699644504e88934f7942b0840e81e89304ada50200d778e51e95dca08d0a0748636455295a03535a52559a07f58a15dd5ef1d4520dd3b0fc1aba
diff --git a/dev-libs/libcaldav/libcaldav-0.6.2-r1.ebuild b/dev-libs/libcaldav/libcaldav-0.6.2-r1.ebuild
deleted file mode 100644
index 73fa45a436f8..000000000000
--- a/dev-libs/libcaldav/libcaldav-0.6.2-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="C library implementing client support for CalDAV"
-HOMEPAGE="http://libcaldav.sourceforge.net/"
-SRC_URI="mirror://sourceforge/libcaldav/${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-RDEPEND="
- dev-libs/glib
- net-misc/curl[ssl,gnutls(+),curl_ssl_gnutls(+)]
-"
-DEPEND="${RDEPEND}
- doc? (
- app-doc/doxygen
- dev-texlive/texlive-latexextra
- virtual/latex-base
- )
-"
-
-src_configure() {
- econf $(use_enable doc)
-}
diff --git a/dev-libs/libcaldav/metadata.xml b/dev-libs/libcaldav/metadata.xml
deleted file mode 100644
index f12388eb0998..000000000000
--- a/dev-libs/libcaldav/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">libcaldav</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libcbor/Manifest b/dev-libs/libcbor/Manifest
new file mode 100644
index 000000000000..2e079000a927
--- /dev/null
+++ b/dev-libs/libcbor/Manifest
@@ -0,0 +1,2 @@
+DIST libcbor-0.10.2.tar.gz 289450 BLAKE2B 3ef2d7fd7942ff32acbe59db6a4b68ad72dde3af4675ef2ee3c93666360554d6e9a29392dbc4fb3029f9ff821f536b90bfd1c522c9c9c2298ab511322fb53d37 SHA512 23c6177443778d4b4833ec7ed0d0e639a0d4863372e3a38d772fdce2673eae6d5cb2a31a2a021d1a699082ea53494977c907fd0e94149b97cb23a4b6d039228a
+DIST libcbor-0.11.0.tar.gz 293563 BLAKE2B 6ac400ee9cabb0ec68355c35f762ea61222152059e70bcf9dc3cf4e06a6599bb6a392197ee979821a0e50c22a5c9e94e5d11458178ed7e26b049c410fddfa24f SHA512 c14aaa55c0c82e09b9eb2cc6847951d1bac8a081a247776c507d5450367da5717b1056bad09fb0f0178311de8754e8f89c060e0fc0f400fafdc42de441421e66
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.11.0.ebuild b/dev-libs/libcbor/libcbor-0.11.0.ebuild
new file mode 100644
index 000000000000..55e875fbc884
--- /dev/null
+++ b/dev-libs/libcbor/libcbor-0.11.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2020-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 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')
+ -Wno-dev
+ )
+
+ 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 "${S}"/doc/build/html
+ doman "${S}"/doc/build/man/*.?
+ fi
+}
diff --git a/dev-libs/libcbor/metadata.xml b/dev-libs/libcbor/metadata.xml
new file mode 100644
index 000000000000..8ce035a8ef63
--- /dev/null
+++ b/dev-libs/libcbor/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>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pjk/libcbor</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libcdada/Manifest b/dev-libs/libcdada/Manifest
new file mode 100644
index 000000000000..14182df179d9
--- /dev/null
+++ b/dev-libs/libcdada/Manifest
@@ -0,0 +1 @@
+DIST libcdada-0.4.0.tar.gz 1777257 BLAKE2B 26e24fa513ab4a290a7632b4f56c102dc45cd9d34d4a7b7464f58aaee596b5ac3c8172080144d3f3c5cbcf5790f29e74b020f11cea943223e5933c2a7db66f8b SHA512 370a40a070df6783b5f44373bd09751660d51698095fa0ace38943a0331f90a55d131de50180b9ca9597361b7712dbcb350fde77a0e0489c47e4358fec61458b
diff --git a/dev-libs/libcdada/files/libcdada-0.3.4-Werror.patch b/dev-libs/libcdada/files/libcdada-0.3.4-Werror.patch
new file mode 100644
index 000000000000..94ceb4502318
--- /dev/null
+++ b/dev-libs/libcdada/files/libcdada-0.3.4-Werror.patch
@@ -0,0 +1,24 @@
+diff --git a/configure.ac b/configure.ac
+index f2c4dde..fbde89c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4,7 +4,7 @@ AC_INIT(LIBCDADA, m4_esyscmd_s(cat VERSION), marcdevel@gmail.com, libcdada, http
+ AC_CONFIG_AUX_DIR([build-aux])
+ AC_CONFIG_MACRO_DIR([m4])
+
+-AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
++AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
+
+ AC_GNU_SOURCE
+
+@@ -24,8 +24,8 @@ LT_INIT
+ AC_ENABLE_STATIC
+
+ # Some useful default flags
+-CFLAGS="-std=gnu89 -Werror -Wall $CFLAGS"
+-CXXFLAGS="-Werror -Wall $CXXFLAGS"
++CFLAGS="-std=gnu89 -Wall $CFLAGS"
++CXXFLAGS="-Wall $CXXFLAGS"
+ AC_DEFINE([__STDC_FORMAT_MACROS], [], [Description])
+
+ # Check for Python3
diff --git a/dev-libs/libcdada/files/libcdada-0.3.5-respect-CFLAGS.patch b/dev-libs/libcdada/files/libcdada-0.3.5-respect-CFLAGS.patch
new file mode 100644
index 000000000000..7fa0d01702b3
--- /dev/null
+++ b/dev-libs/libcdada/files/libcdada-0.3.5-respect-CFLAGS.patch
@@ -0,0 +1,23 @@
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -61,7 +61,6 @@ str_test_CPPFLAGS= -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+ str_test_LDADD= -lpthread ../src/libcdada.la
+
+ benchmark_SOURCES= benchmark.cc
+-benchmark_CXXFLAGS= -O3
+ benchmark_CPPFLAGS= -I$(top_builddir)/include/ -I$(top_srcdir)/include/
+ benchmark_LDADD= -lpthread ../src/.libs/libcdada.a
+
+--- a/config_m4/debug.m4
++++ b/config_m4/debug.m4
+@@ -10,8 +10,8 @@
+ AC_DEFINE([DEBUG], [], [Description])
+ AC_MSG_RESULT(yes)
+ else
+- CFLAGS="$CFLAGS -O3" #--compiler-options -fno-strict-aliasing --compiler-options -fno-inline
+- CXXFLAGS="$CXXFLAGS -O3" #-fomit-frame-pointer"
++ CFLAGS="$CFLAGS" #--compiler-options -fno-strict-aliasing --compiler-options -fno-inline
++ CXXFLAGS="$CXXFLAGS" #-fomit-frame-pointer"
+ AC_DEFINE([NDEBUG], [], [Description])
+ AC_MSG_RESULT(no)
+ fi
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/libcdada/metadata.xml b/dev-libs/libcdada/metadata.xml
new file mode 100644
index 000000000000..55096d62c0e8
--- /dev/null
+++ b/dev-libs/libcdada/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="project">
+ <email>netmon@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">msune/libcdada</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libcdio-paranoia/Manifest b/dev-libs/libcdio-paranoia/Manifest
index 7fce00f8b7da..658f8249733a 100644
--- a/dev-libs/libcdio-paranoia/Manifest
+++ b/dev-libs/libcdio-paranoia/Manifest
@@ -1,4 +1 @@
-DIST libcdio-paranoia-10.2+0.90+1.tar.gz 634050 BLAKE2B 10a7f8b2a45e5605afa6961132f0bf949ba51222a6c23b7a933032e3e430e60104eae8f7d49fc6ec18894fe0e826e9387f67f186af0ba277a9e7341484aa8ac3 SHA512 c3d00b57f22deb19be929ba87f41bbd83fc51ca66e8ccc1da7acb4131d85449fdd38161cc3ec0f1714fc0571e219d72029b5a72f853c139aa479695df783aad6
-DIST libcdio-paranoia-10.2+0.93+1.tar.gz 686055 BLAKE2B 5b4c30687c907cc8dd0917263c20e3d55e425cb7fb2a935a79ec6c5cc82c6165a5504fe71b77e314bd4a828b0c652f948cce62fecf94341d20c920c66450d97a SHA512 2bb418c99ef037aeb90ba3db841ea9182c5bc401e74c6f4b552730e6c8561552f7d3e27be71ef4fbb07b4fcd9db418a4fe330d5278e8f41cdd99c757aa4b8bc6
-DIST libcdio-paranoia-10.2+0.94+2.tar.gz 704560 BLAKE2B babb912a7252b25b1d32f7d3cc80d73235383170b16118c4f6fcddd58ded534b2e5a8bb61aa8ca784270fc4631ea3e53cdc88d03b0a7686f74ab1cef7ca35980 SHA512 0e4ed5cc52d0758e945ac7f956c1ca870068f6444df912e2ba5f597947962c471d1c526b5cdab4e092fecb924ecb317667df454497b2e515a4e985693cd86f47
-DIST libcdio-paranoia-10.2+2.0.0.tar.bz2 588472 BLAKE2B 5593c967cc91e7db922c30a0e4fd6a71c81625527b3e3cd19494328c545237c64c6332969e6964ae27cce70b0a7ed9678c2dcf0cf675ea6ea81602071b5a9e1b SHA512 0398617f9af63632d74c5a93c4efae1bc69d339fb7ab2e36dbfa6d19c0940f3bf27ea3ed482698d2842838d2034df3e40304774f1648db8c274d441130ef40a2
+DIST libcdio-paranoia-10.2+2.0.1.tar.bz2 589075 BLAKE2B 9d2a2d288ccd13ca4ce38a894740085ef099f3e63e68e568d58e9a0609ace21002375431dde862f86352b6aec0c5374f65e64aeb4e39c3d59b406ae14bdee7a9 SHA512 c4a768d11e9f62038ca8081316596c89c7fee6a314229fb42e3999757fae172a5dc167175f60d555c2442266d34fce6ce627f4124e9f3a93d0456adb09ca91f0
diff --git a/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch b/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch
deleted file mode 100644
index 98681d0a08fc..000000000000
--- a/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-mkdir_p.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-http://bugs.gentoo.org/455374
-http://github.com/rocky/libcdio-paranoia/issues/1
-https://savannah.gnu.org/bugs/index.php?38273
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -74,6 +74,8 @@
- dnl Checks for programs.
- AC_AIX
-
-+AC_PROG_MKDIR_P
-+
- if test "x$GCC" != "xyes"
- then
- AC_MSG_WARN([
---- a/doc/ja/Makefile.am
-+++ b/doc/ja/Makefile.am
-@@ -25,7 +25,7 @@
-
- install-man1: $(man_MANS)
- @$(NORMAL_INSTALL)
-- test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(mandir)$(mansubdir)"
-+ test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(mandir)$(mansubdir)"
- @list='$(man1_MANS)'; \
- l2='$(man_MANS)'; for i in $$l2; do \
- case "$$i" in \
diff --git a/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-oos-tests.patch b/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-oos-tests.patch
deleted file mode 100644
index 86cf9da8d0fd..000000000000
--- a/dev-libs/libcdio-paranoia/files/libcdio-paranoia-0.90-oos-tests.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 4803c621d4f907402f29eba8cc3a6515bdda2ee2 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Mon, 12 Jun 2017 21:20:35 +0100
-Subject: [PATCH] configure.ac: fix out-of-tree tests
-
-To reproduce the test failure one needs to run
-configure using absolute path in a directory
-outside source tree. For example:
-
- $ $(pwd)/../libcdio-paranoia/configure
- $ make
- $ make check
-
-This will cause 'native_abs_top_srcdir' to contain wrong path.
-
-It happens because '[]' is an escape in autoconf.
-As a the following configure.ac snippet:
- [\\/]* | ?:[\\/]* ) # Absolute name.
-gets translated into the following shell code:
- \\/* | ?:\\/* ) # Absolute name.
-
-The fix is to change quotes from '[]' for a short while.
-
-Reported-by: eroen
-Reported-by: Paolo Pedroni
-Bug: https://bugs.gentoo.org/546388
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- configure.ac | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index a502273..608277b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -243,7 +243,9 @@ dnl native_abs_top_srcdir is used here.
- case $srcdir in
- .) # We are building in place.
- native_abs_top_srcdir=$ac_pwd ;;
-+ changequote(`,')
- [\\/]* | ?:[\\/]* ) # Absolute name.
-+ changequote([,])
- native_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- native_abs_top_srcdir=$ac_pwd/$srcdir ;;
---
-2.13.1
-
diff --git a/dev-libs/libcdio-paranoia/files/libcdio-paranoia-2.0.1-pass-NM.patch b/dev-libs/libcdio-paranoia/files/libcdio-paranoia-2.0.1-pass-NM.patch
new file mode 100644
index 000000000000..75cb650fc1bc
--- /dev/null
+++ b/dev-libs/libcdio-paranoia/files/libcdio-paranoia-2.0.1-pass-NM.patch
@@ -0,0 +1,38 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -89,6 +89,9 @@
+ AC_PROG_AWK
+ AC_SUBST(AWK)
+
++AC_ARG_VAR([NM], [utility for listing symbols from object files])
++AC_CHECK_TOOL([NM], [nm])
++
+ if test "x$GCC" != "xyes"
+ then
+ AC_MSG_WARN([
+--- a/lib/cdda_interface/Makefile.am
++++ b/lib/cdda_interface/Makefile.am
+@@ -129,8 +129,8 @@
+ echo 'CDIO_CDDA_$(libcdio_cdda_la_MAJOR) { ' > $@
+ objs=`for obj in $(libcdio_cdda_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
+ if test -n "$$objs" ; then \
+- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_cdda.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
+- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_cdda.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
++ ${NM} $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_cdda.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
++ ${NM} $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_cdda.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
+ fi
+ echo '};' >> $@
+ else !BUILD_VERSIONED_LIBS
+--- a/lib/paranoia/Makefile.am
++++ b/lib/paranoia/Makefile.am
+@@ -142,8 +142,8 @@
+ echo 'CDIO_PARANOIA_$(libcdio_paranoia_la_MAJOR) { ' > $@
+ objs=`for obj in $(libcdio_paranoia_la_OBJECTS); do sed -ne "s/^pic_object='\(.*\)'$$/\1/p" $$obj; done`; \
+ if test -n "$$objs" ; then \
+- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_paranoia.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
+- nm $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_paranoia.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
++ ${NM} $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_paranoia.sym; then if test $$first = true; then echo " global:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
++ ${NM} $${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | { first=true; while read symbol; do if grep -q "^$${symbol}\$$" $(srcdir)/libcdio_paranoia.sym; then :; else if test $$first = true; then echo " local:"; first=false; fi; echo " $${symbol};"; fi; done; } >> $@; \
+ fi
+ echo '};' >> $@
+ else
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild
deleted file mode 100644
index ed391732a871..000000000000
--- a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.90_p1-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P=${PN}-10.2+${PV/_p/+}
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="an advanced CDDA reader with error correction"
-HOMEPAGE="https://www.gnu.org/software/libcdio/"
-SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.gz"
-
-# COPYING-GPL from cdparanoia says "2 or later"
-# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
-# clause "or later" so we use LGPL-2.1 without +
-LICENSE="GPL-3+ GPL-2+ LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="+cxx static-libs test"
-
-RDEPEND="app-eselect/eselect-cdparanoia
- >=dev-libs/libcdio-0.90-r1[${MULTILIB_USEDEP}]
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-"
-
-DEPEND="${RDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.90-mkdir_p.patch
-)
-
-src_prepare() {
- default
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-maintainer-mode
- --disable-example-progs
- $(use_enable cxx)
- --disable-cpp-progs
- --with-cd-paranoia-name=libcdio-paranoia
- )
- ECONF_SOURCE="${S}" \
- econf "${myeconfargs[@]}"
-}
-
-pkg_postinst() {
- eselect cdparanoia update ifunset
-}
-
-pkg_postrm() {
- eselect cdparanoia update ifunset
-}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild
deleted file mode 100644
index d10701c912ca..000000000000
--- a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.93_p1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P=${PN}-10.2+${PV/_p/+}
-
-inherit autotools flag-o-matic multilib-minimal
-
-DESCRIPTION="an advanced CDDA reader with error correction"
-HOMEPAGE="https://www.gnu.org/software/libcdio/"
-SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.gz"
-
-# COPYING-GPL from cdparanoia says "2 or later"
-# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
-# clause "or later" so we use LGPL-2.1 without +
-LICENSE="GPL-3+ GPL-2+ LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="+cxx static-libs test"
-
-RDEPEND="app-eselect/eselect-cdparanoia
- >=dev-libs/libcdio-0.93[${MULTILIB_USEDEP}]
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-"
-
-DEPEND="${RDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.90-oos-tests.patch
-)
-
-src_prepare() {
- default
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
- eautoreconf
-
- [[ ${CC} == *clang* ]] && append-flags -std=gnu89
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-maintainer-mode
- --disable-example-progs
- $(use_enable cxx)
- --disable-cpp-progs
- --with-cd-paranoia-name=libcdio-paranoia
- )
- # Darwin linker doesn't get this
- [[ ${CHOST} == *-darwin* ]] && myeconfargs+=( --without-versioned-libs )
- ECONF_SOURCE="${S}" \
- econf "${myeconfargs[@]}"
-}
-
-pkg_postinst() {
- eselect cdparanoia update ifunset
-}
-
-pkg_postrm() {
- eselect cdparanoia update ifunset
-}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2-r1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2-r1.ebuild
deleted file mode 100644
index 85b83bfa513c..000000000000
--- a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2-r1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P=${PN}-10.2+${PV/_p/+}
-
-inherit autotools multilib-minimal flag-o-matic
-
-DESCRIPTION="an advanced CDDA reader with error correction"
-HOMEPAGE="https://www.gnu.org/software/libcdio/"
-SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.gz"
-
-# COPYING-GPL from cdparanoia says "2 or later"
-# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
-# 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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="+cxx static-libs test"
-
-RDEPEND="app-eselect/eselect-cdparanoia
- >=dev-libs/libcdio-0.94:0=[${MULTILIB_USEDEP}]
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-"
-
-DEPEND="${RDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.90-oos-tests.patch
-)
-
-src_prepare() {
- default
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
- eautoreconf
-
- [[ ${CC} == *clang* ]] && append-flags -std=gnu89
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-maintainer-mode
- --disable-example-progs
- $(use_enable cxx)
- --disable-cpp-progs
- --with-cd-paranoia-name=libcdio-paranoia
- # upstream accidentally default-disabled it
- # reenable it to preserve ABI compat with previous versions
- # https://bugs.gentoo.org/616054
- # https://savannah.gnu.org/bugs/index.php?50978
- --enable-ld-version-script
- )
- # Darwin linker doesn't get this
- [[ ${CHOST} == *-darwin* ]] && myeconfargs+=( --disable-ld-version-script )
- ECONF_SOURCE="${S}" \
- econf "${myeconfargs[@]}"
-}
-
-pkg_postinst() {
- eselect cdparanoia update ifunset
-}
-
-pkg_postrm() {
- eselect cdparanoia update ifunset
-}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2.ebuild
deleted file mode 100644
index 8ff3a41accbc..000000000000
--- a/dev-libs/libcdio-paranoia/libcdio-paranoia-0.94_p2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P=${PN}-10.2+${PV/_p/+}
-
-inherit autotools multilib-minimal flag-o-matic
-
-DESCRIPTION="an advanced CDDA reader with error correction"
-HOMEPAGE="https://www.gnu.org/software/libcdio/"
-SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.gz"
-
-# COPYING-GPL from cdparanoia says "2 or later"
-# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
-# clause "or later" so we use LGPL-2.1 without +
-LICENSE="GPL-3+ GPL-2+ LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="+cxx static-libs test"
-
-RDEPEND="app-eselect/eselect-cdparanoia
- >=dev-libs/libcdio-0.94:0=[${MULTILIB_USEDEP}]
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-"
-
-DEPEND="${RDEPEND}
- sys-devel/gettext
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.90-oos-tests.patch
-)
-
-src_prepare() {
- default
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
- eautoreconf
-
- [[ ${CC} == *clang* ]] && append-flags -std=gnu89
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-maintainer-mode
- --disable-example-progs
- $(use_enable cxx)
- --disable-cpp-progs
- --with-cd-paranoia-name=libcdio-paranoia
- # upstream accidentally default-disabled it
- # reenable it to preserve ABI compat with previous versions
- # https://bugs.gentoo.org/616054
- # https://savannah.gnu.org/bugs/index.php?50978
- --enable-ld-version-script
- )
- # Darwin linker doesn't get this
- [[ ${CHOST} == *-darwin* ]] && myeconfargs+=( --disable-ld-version-script )
- ECONF_SOURCE="${S}" \
- econf "${myeconfargs[@]}"
-}
-
-pkg_postinst() {
- eselect cdparanoia update ifunset
-}
-
-pkg_postrm() {
- eselect cdparanoia update ifunset
-}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.0.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.0.ebuild
deleted file mode 100644
index a4c7136bb411..000000000000
--- a/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.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=7
-
-MY_P=${PN}-10.2+${PV/_p/+}
-
-inherit autotools multilib-minimal flag-o-matic
-
-DESCRIPTION="an advanced CDDA reader with error correction"
-HOMEPAGE="https://www.gnu.org/software/libcdio/"
-SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.bz2"
-
-# COPYING-GPL from cdparanoia says "2 or later"
-# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
-# 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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="+cxx static-libs test"
-
-RDEPEND="app-eselect/eselect-cdparanoia
- >=dev-libs/libcdio-0.94:0=[${MULTILIB_USEDEP}]
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-BDEPEND="
- sys-devel/gettext
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
-
-src_prepare() {
- default
- #sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
- eautoreconf
-
- [[ ${CC} == *clang* ]] && append-flags -std=gnu89
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- #--disable-maintainer-mode
- --disable-example-progs
- $(use_enable cxx)
- --disable-cpp-progs
- --with-cd-paranoia-name=libcdio-paranoia
- )
- # Darwin linker doesn't get this
- [[ ${CHOST} == *-darwin* ]] && myeconfargs+=( --disable-ld-version-script )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-pkg_postinst() {
- eselect cdparanoia update ifunset
-}
-
-pkg_postrm() {
- eselect cdparanoia update ifunset
-}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild
new file mode 100644
index 000000000000..53d9dcb9f3d6
--- /dev/null
+++ b/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P=${PN}-10.2+${PV/_p/+}
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="an advanced CDDA reader with error correction"
+HOMEPAGE="https://www.gnu.org/software/libcdio/"
+SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.bz2"
+
+# COPYING-GPL from cdparanoia says "2 or later"
+# COPYING-LGPL from cdparanoia says "2.1 or later" but 2 files are without the
+# 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 ~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
+ >=dev-libs/libcdio-0.94:0=[${MULTILIB_USEDEP}]
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? ( dev-lang/perl )"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.0.1-pass-NM.patch )
+DOCS=( AUTHORS ChangeLog NEWS.md README.md THANKS )
+
+src_prepare() {
+ default
+ #sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #466410
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ #--disable-maintainer-mode
+ --disable-example-progs
+ $(use_enable cxx)
+ --disable-cpp-progs
+ --with-cd-paranoia-name=libcdio-paranoia
+ $(use_enable static-libs static)
+ )
+ # Darwin linker doesn't get this
+ [[ ${CHOST} == *-darwin* ]] && myeconfargs+=( --disable-ld-version-script )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ eselect cdparanoia update ifunset
+}
+
+pkg_postrm() {
+ eselect cdparanoia update ifunset
+}
diff --git a/dev-libs/libcdio-paranoia/metadata.xml b/dev-libs/libcdio-paranoia/metadata.xml
index c870d0eef0ab..b69a849fd57e 100644
--- a/dev-libs/libcdio-paranoia/metadata.xml
+++ b/dev-libs/libcdio-paranoia/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sound@gentoo.org</email>
diff --git a/dev-libs/libcdio/Manifest b/dev-libs/libcdio/Manifest
index 9eee9442b7b9..5c2a9619040b 100644
--- a/dev-libs/libcdio/Manifest
+++ b/dev-libs/libcdio/Manifest
@@ -1,5 +1 @@
-DIST libcdio-0.93.tar.gz 2723371 BLAKE2B 3dc361f48c0ccc22c76ad691f856512a87906ddccdbf05a22d4c8f7f28221d201480e015532be382d576550ecabae40df9e325043fa6cff89b39d77e30b6509b SHA512 a2ea7a1f219e1abdbbb42633003e10ff77b6a879133c96a0c8e7a80fe205c08a48bade1d9941c6493f24d6eb2ed410469b57e19d9740a4400266a6f3f9d3da91
-DIST libcdio-0.94.tar.gz 2355452 BLAKE2B c6a720fb714e6aa0d4425ccf92e4c08172d26d77a94e8a6897ffee197a740de78da8d480ec9af2dcfd59c3f96fb2a823a4e39259389dd82ece4108c6a05a4646 SHA512 e1d3c96c4acc7be923c97109c3f76223adc00b293278daef7d5008b1e5d67f33402f9f224f05120e9e1e8b3a8d1fa1b0bd5069dc6dd309741e3590e2c19e0e66
-DIST libcdio-1.1.0.tar.gz 2348106 BLAKE2B c63959d6cd92288b2d098f19b28a61fc5a7005390186045c6f72392becf9eb5808da7a8b952de166c5b263b9c10e594031a3fb908331eda040c210b984b3e11e SHA512 fe5a0d726974c8678b59de74ce043a5ed464f6ab595bf938e90bc5a348e9e882755e75aa3eecce50ce910b28e2498b5a892402fc0ea8728d382d1af36db71985
-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-0.93.ebuild b/dev-libs/libcdio/libcdio-0.93.ebuild
deleted file mode 100644
index cf8534c77501..000000000000
--- a/dev-libs/libcdio/libcdio-0.93.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool multilib-minimal
-
-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/15" # subslot is based on SONAME
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cddb +cxx minimal static-libs 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* THANKS TODO"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/cdio/cdio_config.h
- /usr/include/cdio/version.h
-)
-
-src_prepare() {
- default
-
- 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-0.94-r1.ebuild b/dev-libs/libcdio/libcdio-0.94-r1.ebuild
deleted file mode 100644
index 1a21ff3a2f48..000000000000
--- a/dev-libs/libcdio/libcdio-0.94-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool multilib-minimal
-
-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/16" # subslot is based on SONAME
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cddb +cxx minimal static-libs 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* THANKS TODO"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/cdio/cdio_config.h
- /usr/include/cdio/version.h
-)
-
-src_prepare() {
- default
-
- 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-1.1.0.ebuild b/dev-libs/libcdio/libcdio-1.1.0.ebuild
deleted file mode 100644
index e41ff7858131..000000000000
--- a/dev-libs/libcdio/libcdio-1.1.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool multilib-minimal
-
-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/17" # subslot is based on SONAME
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cddb +cxx minimal static-libs 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* THANKS TODO"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/cdio/cdio_config.h
- /usr/include/cdio/version.h
-)
-
-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.0.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
deleted file mode 100644
index 3e15b8530167..000000000000
--- a/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool multilib-minimal
-
-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 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cddb +cxx minimal static-libs 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.0.0.ebuild b/dev-libs/libcdio/libcdio-2.0.0.ebuild
deleted file mode 100644
index 8c41fd9ef9d5..000000000000
--- a/dev-libs/libcdio/libcdio-2.0.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools libtool multilib-minimal
-
-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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE="cddb +cxx minimal static-libs 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* THANKS TODO"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/cdio/cdio_config.h
- /usr/include/cdio/version.h
-)
-
-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 725027fbcdab..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-2019 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,8 +11,9 @@ 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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 )"
RDEPEND="
!minimal? (
@@ -23,7 +24,6 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- sys-apps/sed
sys-devel/gettext
virtual/pkgconfig
test? ( dev-lang/perl )
@@ -38,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 97bb0a027865..af69d3a4320d 100644
--- a/dev-libs/libcdio/metadata.xml
+++ b/dev-libs/libcdio/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sound@gentoo.org</email>
@@ -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 afc82f2aa411..a67ecd5cbf8e 100644
--- a/dev-libs/libcec/Manifest
+++ b/dev-libs/libcec/Manifest
@@ -1,2 +1 @@
-DIST libcec-4.0.2.tar.gz 334995 BLAKE2B bdbebeb339ce39f2f740805c4c627cc5190cc0dd57d0d87e3d3aa4ba8feeba103336d035fb8b282358f2e08fa470111be43df4df48870be0e9aa93f35434d0ef SHA512 7bb80965cd1bef713f59bff136dc4a7f1172c4a9bdb8e2f59c6bcc5b74110848c0b2912263280ea68177908a688127e8d7208fc43ce6e65d589343b85395a0bb
-DIST libcec-4.0.4.tar.gz 344976 BLAKE2B ce88730ee6e9f57a3f874dd47343e8bb12bd9d3644b58703f0b797bfe656fa25461e6847db4023fec92d9e9740f0e58b59a203258d39d8883b8ae9cde147f455 SHA512 8991ba96fe9a87e5e1f63ff87f77fc0fc3b735c537e2ee6cb004fdc264d75cecd043e39b49cf9e64aeadd24bb1fb57911d9c4bd6c494d9ba4035d7320c268116
+DIST libcec-6.0.2.tar.gz 355807 BLAKE2B 007530d839493355f283992a4390550d6ddd432977d7489c17087f7e5bb6f503c35e967ed6a620d55e2e7c25ce10814f360d146a28b860cdcdd108fae152f896 SHA512 c16ac268e67b01d4e35fad644e5927e1d9fc7bcaeff698ac5f0eadd31ec63a0bef2a2b2bc37860d1571e1e0cdc55911c2de468c661c7c7ae1d492f80188035cb
diff --git a/dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch b/dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch
deleted file mode 100644
index 673c6f86c972..000000000000
--- a/dev-libs/libcec/files/libcec-4.0.2-no-tinfo.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- libcec-libcec-4.0.2/src/cec-client/CMakeLists.txt
-+++ libcec-libcec-4.0.2/src/cec-client/CMakeLists.txt
-@@ -27,8 +27,12 @@ set(cecclient_SOURCES cec-client.cpp)
- check_library_exists(curses initscr "" HAVE_CURSES_API)
- if (HAVE_CURSES_API)
- list(APPEND cecclient_SOURCES curses/CursesControl.cpp)
-+
-+ # tinfo
-+ find_library(HAVE_CURSES_TINFO tinfo)
- endif()
-
-+
- add_executable(cec-client ${cecclient_SOURCES})
- set_target_properties(cec-client PROPERTIES VERSION ${LIBCEC_VERSION_MAJOR}.${LIBCEC_VERSION_MINOR}.${LIBCEC_VERSION_PATCH})
- target_link_libraries(cec-client ${p8-platform_LIBRARIES})
-@@ -44,6 +48,9 @@ if (NOT WIN32)
- # curses
- if (HAVE_CURSES_API)
- target_link_libraries(cec-client curses)
-+ if (HAVE_CURSES_TINFO)
-+ target_link_libraries(cec-client tinfo)
-+ endif()
- endif()
-
- # rt
diff --git a/dev-libs/libcec/files/libcec-4.0.7-no-override-udev.patch b/dev-libs/libcec/files/libcec-4.0.7-no-override-udev.patch
new file mode 100644
index 000000000000..d5b7f8664a30
--- /dev/null
+++ b/dev-libs/libcec/files/libcec-4.0.7-no-override-udev.patch
@@ -0,0 +1,24 @@
+ src/libcec/cmake/CheckPlatformSupport.cmake | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
+index 5d423df..9e77924 100644
+--- a/src/libcec/cmake/CheckPlatformSupport.cmake
++++ b/src/libcec/cmake/CheckPlatformSupport.cmake
+@@ -90,6 +90,7 @@ else()
+ check_function_exists(flock HAVE_FLOCK)
+
+ # udev
++ if (${HAVE_LIBUDEV})
+ pkg_check_modules(UDEV udev)
+ if (UDEV_FOUND)
+ set(PLATFORM_LIBREQUIRES "${PLATFORM_LIBREQUIRES} ${UDEV_LIBRARIES}")
+@@ -106,6 +107,7 @@ else()
+ list(APPEND CMAKE_REQUIRED_LIBRARIES "${UDEV_LIBRARIES}")
+ set(HAVE_P8_USB_DETECT ON CACHE BOOL "p8 usb-cec detection supported" FORCE)
+ endif()
++ endif()
+
+ # xrandr
+ check_include_files("X11/Xlib.h;X11/Xatom.h;X11/extensions/Xrandr.h" HAVE_RANDR_HEADERS)
+
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.2-r2.ebuild b/dev-libs/libcec/libcec-4.0.2-r2.ebuild
deleted file mode 100644
index 560a9443d235..000000000000
--- a/dev-libs/libcec/libcec-4.0.2-r2.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-MY_PV=${PV/_p/-}
-MY_P=${PN}-${MY_PV}
-
-inherit cmake-utils 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 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}"
-
-PATCHES=( "${FILESDIR}/${P}-no-tinfo.patch" )
-
-pkg_pretend() {
- linux-info_pkg_setup
-}
-
-pkg_setup() {
- linux-info_pkg_setup
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- cmake-utils_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)
- )
- use python && mycmakeargs+=(
- -DPYTHON_SITEDIR="$(python_get_sitedir)"
- )
-
- # 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-utils_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.4-r1.ebuild b/dev-libs/libcec/libcec-4.0.4-r1.ebuild
deleted file mode 100644
index 949084865bd2..000000000000
--- a/dev-libs/libcec/libcec-4.0.4-r1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-MY_PV=${PV/_p/-}
-MY_P=${PN}-${MY_PV}
-
-inherit cmake-utils 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 ~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-utils_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-utils_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-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..44b6038bfb33
--- /dev/null
+++ b/dev-libs/libcec/libcec-6.0.2-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+MY_PV=${PV/_p/-}
+MY_P=${PN}-${MY_PV}
+
+inherit cmake linux-info python-single-r1 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/metadata.xml b/dev-libs/libcec/metadata.xml
index 29b2c8ce0c4b..9b4ef0497a27 100644
--- a/dev-libs/libcec/metadata.xml
+++ b/dev-libs/libcec/metadata.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>thev00d00@gentoo.org</email>
- <name>Ian Whyman</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="cubox">Enable support for enable support for the TDA995x</flag>
<flag name="exynos">Enable support for Exynos chipsets</flag>
<flag name="raspberry-pi">Enable support for the Raspberry Pi</flag>
<flag name="xrandr">Enable detection of active HDMI using xrandr extensions</flag>
+ <flag name="kernel-cec">Enable support for Linux kernel CEC framework</flag>
+ <flag name="tools">Enable build of cec-client and other test and demo executable tools</flag>
+ <flag name="udev">Enable detection of USB-CEC port by udev</flag>
</use>
<upstream>
<remote-id type="github">Pulse-Eight/libcec</remote-id>
diff --git a/dev-libs/libcgroup/Manifest b/dev-libs/libcgroup/Manifest
index 368f0cd8bec4..48d5b3481552 100644
--- a/dev-libs/libcgroup/Manifest
+++ b/dev-libs/libcgroup/Manifest
@@ -1 +1,3 @@
DIST libcgroup-0.41.tar.bz2 500120 BLAKE2B 3410b430aa58613b5b9abedba05bef99b1b8a1fd619d55fb446ab951e052a336efc918879217055bceee886a03d97c3ff46028a87e8231212653a886cfb80521 SHA512 1aedb02cd2ce3bc2e2a328a247a92976ad0978ca4d3aee4eb671fbcc6bb270348efc78dcf84f27fc500f8bfb9bb57c7d6e4d429ef2bc69e4e5118b7cd895a6bd
+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 b/dev-libs/libcgroup/files/cgconfig.confd
deleted file mode 100644
index e41730ae0ea5..000000000000
--- a/dev-libs/libcgroup/files/cgconfig.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-# /etc/conf.d/cgconfig: config file for /etc/init.d/cgconfig
-
-# Configuration file location
-#CONFIG_FILE=/etc/cgroup/cgconfig.conf
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 b/dev-libs/libcgroup/files/cgconfig.initd
deleted file mode 100644
index f182b92ff843..000000000000
--- a/dev-libs/libcgroup/files/cgconfig.initd
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/sbin/openrc-run
-#
-# Control Groups Configuration Startup
-#
-# This script runs the cgconfigparser utility to parse and setup
-# the control group filesystem. It uses ${CONFIG_FILE}
-# and parses the configuration specified in there.
-#
-CGCONFIGPARSER="/usr/sbin/cgconfigparser"
-CGROUP_FS="cgroup"
-CONFIG_FILE=${CONFIG_FILE:-"/etc/cgroup/cgconfig.conf"}
-MOUNTS_FILE="/proc/mounts"
-RULES_FILE="/etc/cgroup/cgrules.conf"
-
-# Support multiple mount points
-MAX_INDEX=0
-declare -a MOUNT_POINTS MOUNT_OPTIONS
-
-move_all_to_init_class() {
- local i
- for i in $(seq 1 ${MAX_INDEX}); do
- cd ${MOUNT_POINTS[$i]}
-
- if grep -qw ${MOUNT_POINTS[$i]} ${MOUNTS_FILE}; then
- local directory
- for directory in $(find . -depth -type d); do
- if [[ ${directory} != "." ]]; then
- # cat fails with "Argument list too long" error
- sed -nu p < ${directory}/tasks > tasks
- rmdir ${directory}
- fi
- done
- else
- ewarn "Resource control filesystem not mounted"
- fi
-
- cd - >/dev/null
- done
-}
-
-parse_mounts() {
- local device mount_point fs_type options other
- while read device mount_point fs_type options other; do
- if grep -q ${device} <<< ${CGROUP_FS}; then
- let MAX_INDEX++
- MOUNT_POINTS[${MAX_INDEX}]=${mount_point}
- MOUNT_OPTIONS[${MAX_INDEX}]=${options}
- fi
- done < ${MOUNTS_FILE}
-}
-
-umount_fs() {
- local i
- for i in $(seq 1 ${MAX_INDEX}); do
- umount ${MOUNT_POINTS[$i]}
- rmdir ${MOUNT_POINTS[$i]}
- done
-}
-
-start() {
- ebegin "Starting cgconfig service"
-
- # Mount filesystem and create cgroups
- if ! ${CGCONFIGPARSER} -l ${CONFIG_FILE} >/dev/null; then
- eend 1 "Failed to parse ${CONFIG_FILE}"
- return 1
- fi
-
- parse_mounts
-
- # Find default cgroup name in rules file
- local default_cgroup
- if [[ -f ${RULES_FILE} ]]; then
- local user controller
- read user controller default_cgroup <<< $(grep -m1 '^\*\s' ${RULES_FILE})
- if [[ $default_cgroup == "*" ]]; then
- ewarn "${RULES_FILE} incorrect"
- ewarn "Overriding it"
- default_cgroup=
- fi
- fi
- # Use predefined name if none was found
- if [[ -z ${default_cgroup} ]]; then
- default_cgroup=sysdefault
- fi
-
- # Create a default cgroup for tasks to return back to
- local i
- for i in $(seq 1 ${MAX_INDEX}); do
- # Ignore if directory already exists
- mkdir -p ${MOUNT_POINTS[$i]}/${default_cgroup}
- find ${MOUNT_POINTS[$i]}/ -name tasks | xargs chmod a+rw
- chmod go-w ${MOUNT_POINTS[$i]}/tasks
-
- # Special rule for cpusets
- if grep -qw cpuset <<< ${MOUNT_OPTIONS[$i]}; then
- cat ${MOUNT_POINTS[$i]}/cpuset.cpus > ${MOUNT_POINTS[$i]}/${default_cgroup}/cpuset.cpus
- cat ${MOUNT_POINTS[$i]}/cpuset.mems > ${MOUNT_POINTS[$i]}/${default_cgroup}/cpuset.mems
- fi
-
- # Classify everything to default cgroup
- local j
- for j in $(ps --no-headers -eL o tid); do
- echo $j > ${MOUNT_POINTS[$i]}/${default_cgroup}/tasks 2>/dev/null
- done
- done
-
- eend 0
-}
-
-stop() {
- ebegin "Stopping cgconfig service"
- parse_mounts
- move_all_to_init_class
- umount_fs
- eend 0
-}
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/cgconfig.service b/dev-libs/libcgroup/files/cgconfig.service
new file mode 100644
index 000000000000..d2948ff825b7
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgconfig.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Control Group configuration service
+
+# The service should be able to start as soon as possible,
+# before any 'normal' services:
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=basic.target shutdown.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/sbin/cgconfigparser -l /etc/cgroup/cgconfig.conf -s 1664
+ExecStop=/usr/sbin/cgclear -l /etc/cgroup/cgconfig.conf -e
+
+[Install]
+WantedBy=sysinit.target
diff --git a/dev-libs/libcgroup/files/cgred.confd b/dev-libs/libcgroup/files/cgred.confd
deleted file mode 100644
index 663ffc0c7dbd..000000000000
--- a/dev-libs/libcgroup/files/cgred.confd
+++ /dev/null
@@ -1,17 +0,0 @@
-# /etc/conf.d/cgred.conf: config file for /etc/init.d/cgred
-
-# Uncomment the following line to log to specified file instead of syslog
-#LOG_FILE="/var/log/cgrulesengd.log"
-
-# Uncomment the second line to run CGroup Rules Engine in non-daemon mode
-#NODAEMON=""
-NODAEMON="--nodaemon"
-
-# Uncomment the second line to disable logging for CGroup Rules Engine
-# Uncomment the third line to enable more verbose logging.
-#LOG=""
-LOG="--nolog"
-#LOG="-v"
-
-# PID file
-PID_FILE=/var/run/cgred.pid
diff --git a/dev-libs/libcgroup/files/cgred.initd b/dev-libs/libcgroup/files/cgred.initd
deleted file mode 100644
index d507e09a8154..000000000000
--- a/dev-libs/libcgroup/files/cgred.initd
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/sbin/openrc-run
-#
-# CGroups Rules Engine Daemon
-#
-# This is a daemon for automatically classifying processes into cgroups based
-# on UID/GID.
-#
-opts="${opts} reload"
-
-CGRULESENGD="/usr/sbin/cgrulesengd"
-PID_FILE=${PID_FILE:-"/var/run/cgred.pid"}
-
-depend() {
- need cgconfig
- use logger
-}
-
-start() {
- local options="${NODAEMON} ${LOG}"
- if [[ -n "${LOG_FILE}" ]]; then
- options="${options} --log-file=${LOG_FILE}"
- fi
-
- ebegin "Starting CGroup Rules Engine Daemon"
- start-stop-daemon --start --pidfile "${PID_FILE}" --make-pidfile \
- --background --exec "${CGRULESENGD}" -- ${options} >/dev/null
- eend $?
-}
-
-stop() {
- ebegin "Stopping CGroup Rules Engine Daemon"
- start-stop-daemon --stop --pidfile "${PID_FILE}" --exec "${CGRULESENGD}"
- eend $?
-}
-
-reload() {
- ebegin "Reloading CGroup Rules Engine Daemon"
- start-stop-daemon --stop --signal USR2 --oknodo --background \
- --pidfile "${PID_FILE}" --make-pidfile --exec "${CGRULESENGD}"
- eend $?
-}
diff --git a/dev-libs/libcgroup/files/cgrules.service b/dev-libs/libcgroup/files/cgrules.service
new file mode 100644
index 000000000000..2c6426bf9520
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgrules.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Control Group rules service
+
+# The service should be able to start as soon as possible,
+# before any 'normal' services:
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=basic.target shutdown.target
+After=cgconfig.service
+
+[Service]
+Type=simple
+ExecStart=/usr/sbin/cgrulesengd -n -f -
+
+[Install]
+WantedBy=sysinit.target
diff --git a/dev-libs/libcgroup/files/libcgroup-0.41-slibtool.patch b/dev-libs/libcgroup/files/libcgroup-0.41-slibtool.patch
new file mode 100644
index 000000000000..114209116bf6
--- /dev/null
+++ b/dev-libs/libcgroup/files/libcgroup-0.41-slibtool.patch
@@ -0,0 +1,59 @@
+https://bugs.gentoo.org/777450
+
+commit 0c710d2f82184984e73b643a8e752f55371c6bc8
+Author: orbea <orbea@riseup.net>
+Date: Sun Mar 21 13:24:23 2021 -0700
+
+ build: Remove .libs from Makefile.am files.
+
+ Signed-off-by: orbea <orbea@riseup.net>
+
+diff --git a/src/bindings/Makefile.am b/src/bindings/Makefile.am
+index 8bb7334..c59641b 100644
+--- a/src/bindings/Makefile.am
++++ b/src/bindings/Makefile.am
+@@ -5,7 +5,7 @@ lib_LTLIBRARIES = _libcgroup.la
+ _libcgroup_la_SOURCES = libcgroup.c
+ _libcgroup_la_LDFLAGS = $(shell python-config --ldflags) -module -avoid-version
+ _libcgroup_la_CFLAGS = $(shell python-config --cflags)
+-_libcgroup_la_LIBADD = $(top_builddir)/src/.libs/libcgroup.la
++_libcgroup_la_LIBADD = $(top_builddir)/src/libcgroup.la
+ SWIG=swig
+
+
+diff --git a/src/daemon/Makefile.am b/src/daemon/Makefile.am
+index 2e08a4d..c8dbe67 100644
+--- a/src/daemon/Makefile.am
++++ b/src/daemon/Makefile.am
+@@ -4,7 +4,7 @@ if WITH_DAEMON
+
+ sbin_PROGRAMS = cgrulesengd
+ cgrulesengd_SOURCES = cgrulesengd.c cgrulesengd.h
+-cgrulesengd_LDADD = $(top_builddir)/src/.libs/libcgroup.la -lrt
++cgrulesengd_LDADD = $(top_builddir)/src/libcgroup.la -lrt
+ cgrulesengd_LDFLAGS = -L$(top_builddir)/src/.libs
+
+ endif
+diff --git a/src/pam/Makefile.am b/src/pam/Makefile.am
+index 852ceae..df173c2 100644
+--- a/src/pam/Makefile.am
++++ b/src/pam/Makefile.am
+@@ -5,6 +5,6 @@ if WITH_PAM
+ pamlib_LTLIBRARIES = pam_cgroup.la
+ pam_cgroup_la_SOURCES = pam_cgroup.c
+ pam_cgroup_la_LDFLAGS = -module
+-pam_cgroup_la_LIBADD = $(top_builddir)/src/.libs/libcgroup.la -lpam
++pam_cgroup_la_LIBADD = $(top_builddir)/src/libcgroup.la -lpam
+
+ endif
+diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
+index 0280d4a..cb0b8f3 100644
+--- a/src/tools/Makefile.am
++++ b/src/tools/Makefile.am
+@@ -1,5 +1,5 @@
+ AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include
+-LDADD = $(top_builddir)/src/.libs/libcgroup.la
++LDADD = $(top_builddir)/src/libcgroup.la
+
+ if WITH_TOOLS
+
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-r5.ebuild b/dev-libs/libcgroup/libcgroup-0.41-r5.ebuild
deleted file mode 100644
index 1acdb65f88b8..000000000000
--- a/dev-libs/libcgroup/libcgroup-0.41-r5.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic linux-info pam
-
-DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
-HOMEPAGE="http://libcg.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/libcg/${PN}/v${PV}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86"
-IUSE="+daemon elibc_musl pam static-libs test +tools"
-
-RDEPEND="pam? ( virtual/pam )"
-
-DEPEND="
- ${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- elibc_musl? ( sys-libs/fts-standalone )
- "
-REQUIRED_USE="daemon? ( tools )"
-
-DOCS=(README_daemon README README_systemd INSTALL)
-pkg_setup() {
- local CONFIG_CHECK="~CGROUPS"
- if use daemon; then
- CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
- fi
- 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
-)
-
-src_prepare() {
- default
- # Change rules file location
- sed -e 's:/etc/cgrules.conf:/etc/cgroup/cgrules.conf:' \
- -i src/libcgroup-internal.h || die "sed failed"
- sed -e 's:/etc/cgconfig.conf:/etc/cgroup/cgconfig.conf:' \
- -i src/libcgroup-internal.h || die "sed failed"
- sed -e 's:\(pam_cgroup_la_LDFLAGS.*\):\1\ -avoid-version:' \
- -i src/pam/Makefile.am || die "sed failed"
- sed -e 's#/var/run#/run#g' -i configure.in || 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_test() {
- # Use mount cgroup to build directory
- # sandbox restricted to trivial build,
- # possible kill Diego tanderbox ;)
- true
-}
-
-src_install() {
- default
- prune_libtool_files --all
-
- insinto /etc/cgroup
- doins samples/*.conf || die
-
- if use tools; then
- newconfd "${FILESDIR}"/cgconfig.confd-r1 cgconfig || die
- newinitd "${FILESDIR}"/cgconfig.initd-r1 cgconfig || die
- fi
-
- if use daemon; then
- newconfd "${FILESDIR}"/cgred.confd-r2 cgred || die
- newinitd "${FILESDIR}"/cgred.initd-r1 cgred || die
- fi
-}
diff --git a/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
new file mode 100644
index 000000000000..623f41b99e99
--- /dev/null
+++ b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 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="http://libcg.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/project/libcg/${PN}/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="
+ 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}-reorder-headers.patch
+ "${FILESDIR}"/${P}-remove-umask.patch
+ "${FILESDIR}"/${P}-slibtool.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
+ sed -e 's:/etc/cgrules.conf:/etc/cgroup/cgrules.conf:' \
+ -i src/libcgroup-internal.h || die "sed failed"
+ sed -e 's:/etc/cgconfig.conf:/etc/cgroup/cgconfig.conf:' \
+ -i src/libcgroup-internal.h || die "sed failed"
+ sed -e 's:\(pam_cgroup_la_LDFLAGS.*\):\1\ -avoid-version:' \
+ -i src/pam/Makefile.am || die "sed failed"
+ sed -e 's#/var/run#/run#g' -i configure.in || 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
+
+ # Workaround configure.in
+ mv configure.in configure.ac || die
+
+ 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/*.conf
+
+ 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 c35d422f9d07..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 b09aa2727453..000000000000
--- a/dev-libs/libcharon/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libcharon-3.4.1.tar.gz 143489 BLAKE2B e8eb5317c708b808981cf8cb53614b54a34abca284457716b7997633a86e3cc2101f788b5c39b9292944d884985f3c342459626282695be484be5adf32b53501 SHA512 9aa269e477ce6c5c563986fcfd0061032dc58df30a7bd687a243db06ef071e888d45cc2c47cfeaac0837672529d6b3150a0a60d0cb357cea5035e47ba16115f3
-DIST libcharon-3.6.0.tar.gz 143947 BLAKE2B 5787f734e0d494eb9fc151fcf240c36b0ade38546fbbcc4e563c4d746d3e3634bd7e599e8258c0f05d96f33f6ee8283101c7dcaa1e3583244e0109bdbff7a041 SHA512 15d2b0f348bb70ef4fd92e9a4f11ed8d70bd8ee0fcd1e1e8c71d4e04a54fb5dff66f7abe81fea34630f3e200dd1aae39c697dffd95ff35fb60ff06f4a443e8b4
diff --git a/dev-libs/libcharon/libcharon-3.4.1.ebuild b/dev-libs/libcharon/libcharon-3.4.1.ebuild
deleted file mode 100644
index ca9cf5b39c66..000000000000
--- a/dev-libs/libcharon/libcharon-3.4.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-inherit cmake-utils 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/3"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/dev-libs/libcharon/libcharon-3.6.0.ebuild b/dev-libs/libcharon/libcharon-3.6.0.ebuild
deleted file mode 100644
index 503dd3878a83..000000000000
--- a/dev-libs/libcharon/libcharon-3.6.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-inherit cmake-utils 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/3"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/dev-libs/libcharon/metadata.xml b/dev-libs/libcharon/metadata.xml
deleted file mode 100644
index 56f0a7df8630..000000000000
--- a/dev-libs/libcharon/metadata.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <maintainer type="person">
- <email>perlovka@gmail.com</email>
- <name>Michael Perlov</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <remote-id type="github">Ultimaker/libCharon</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libclc/Manifest b/dev-libs/libclc/Manifest
index c7f1e56b71ad..84158a6c4973 100644
--- a/dev-libs/libclc/Manifest
+++ b/dev-libs/libclc/Manifest
@@ -1 +1,13 @@
-DIST libclc-0.2.0_pre20190313.tar.gz 176803 BLAKE2B c9ecd5053685c2de89d92ae4e9cc9e9f8bee24ca05e5ddca6fffd0b45356b7d4a96b54d9bebf316624e0a49594a33ebb156ae6c4b963093bdc6c1067548b2bd0 SHA512 22813bcd76e77c018acbdf2a3d3d300c2996e169c17729726ae8a93c39f85033cfa1f6d43907a7c026451bcdfcce6fbdc64a202961492aa951ef1b818c3f9335
+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.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-18.1.5.src.tar.xz 132061072 BLAKE2B bfdd987d5992a4d94ae8b14792df3be67a8e8fdf1daef9834cdaa2132df1b7ddb72ba0aabbb34b171a73d0f3b2b0f61e7160f0b278a67fd4850e3f501fd21531 SHA512 9e2f1e251b3754a24a0b39676d78c98692887c05c85cf0bee50fd44d9635290019930d4dabd1ff4ba3c9c1067e7e0e09aa1bbcd3d76687f919a1d44ba85eee20
+DIST llvm-project-18.1.5.src.tar.xz.sig 566 BLAKE2B ad935db71ec3b9fc885d696af440764a71fe7cafc5b3ca0b25a2963100d9cb3790392daebcac1341716c95a8da3c6243f5a8667fea1ed18b93fc8baa495414c9 SHA512 3cbca1059d940f3bd7bd72d68f2828039b66304980cc5f43769649e5494fc7d71117bf8aba5cc7f7a2ffca52f60ba30fadf3b28f984fd49ddb14300e30b45237
+DIST llvm-project-338561657685c1831a53563b1bc36ffc7470239e.tar.gz 209715501 BLAKE2B 49152479d4f2cae430e783784d0cfcc129134f5cc0bf12c72701cd15e59cb3e1be2f61385ba9baa93d1d1193e89374ac8877b909650c163b681d1fcd26732cdc SHA512 d34bbe82e85c5b9d493029ad7b46e802f06f7e7a8a48515d0043c58c3251271f8f3e1e11c47eb91bd3db2477f819d33b43ddebb276eb9601c5ad141e463c9682
+DIST llvm-project-76aa042dde6ba9ba57c680950f5818259ee02690.tar.gz 210235525 BLAKE2B fbbb8e70e0a08bde1fa2277746f692399fa15015b69693f5e8d3297abf02dfb7b36c535880f5c6924c870652dd3106936776d57c34b22234a5419f75b3561bb7 SHA512 9107551ceb2b28aa735006144b3344801ea861d7b49eae4881831af507314fb8da2bf5e8a3a407aeebd2eee01fbfad2ca90269d2331fe43cca5c2cc49dd257b7
+DIST llvm-project-a7ee81e8279e0bf6e05617a4a638e5f2f8e45022.tar.gz 210384692 BLAKE2B 28b85b08a42c173e1c3bf530483112b1629c7e6684a83a016fbe9f132774f7b864d793581873a6529defeabb4479ad9a3d7c025b781b2fa4952c239b6d567b11 SHA512 1d593818347452f96611a62fa3aa22ce4355a4ee5d5dcfcb54a286a1aa980e9531d5fb6cbee3b0ee5943c6d0f4e2ba2245e13262fe7859e5b114f9c5d5cf1417
diff --git a/dev-libs/libclc/libclc-0.2.0_pre20190313.ebuild b/dev-libs/libclc/libclc-0.2.0_pre20190313.ebuild
deleted file mode 100644
index 4a5752c12239..000000000000
--- a/dev-libs/libclc/libclc-0.2.0_pre20190313.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-EGIT_REPO_URI="https://llvm.org/git/${PN}.git
- https://github.com/llvm-mirror/${PN}.git"
-EGIT_COMMIT="45017385361603d6328997a2272d140e50786686"
-
-if [[ ${PV} = 9999* ]]; then
- GIT_ECLASS="git-r3"
- EXPERIMENTAL="true"
-else
- GIT_ECLASS=""
- S="${WORKDIR}/libclc-${EGIT_COMMIT}"
-fi
-
-inherit llvm prefix python-any-r1 toolchain-funcs ${GIT_ECLASS}
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="http://libclc.llvm.org/"
-
-if [[ ${PV} = 9999* ]]; then
- SRC_URI="${SRC_PATCHES}"
-else
- SRC_URI="https://github.com/llvm-mirror/libclc/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz
- ${SRC_PATCHES}"
-fi
-
-LICENSE="|| ( 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} )"
-
-DEPEND="
- || (
- sys-devel/clang:9
- sys-devel/clang:8
- sys-devel/clang:7
- sys-devel/clang:6
- sys-devel/clang:5
- sys-devel/clang:4
- >=sys-devel/clang-3.9:0
- )
- ${PYTHON_DEPS}"
-
-llvm_check_deps() {
- has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-src_prepare() {
- default
- if use prefix; then
- hprefixify configure.py
- fi
-}
-
-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")
-
- [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
-
- ./configure.py \
- --with-cxx-compiler="$(tc-getCXX)" \
- --with-llvm-config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" \
- --prefix="${EPREFIX}/usr" "${libclc_targets[@]}" || die
-}
-
-src_compile() {
- emake VERBOSE=1
-}
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.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-18.1.5.ebuild b/dev-libs/libclc/libclc-18.1.5.ebuild
new file mode 100644
index 000000000000..fc25d8e06fa4
--- /dev/null
+++ b/dev-libs/libclc/libclc-18.1.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..18} )
+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..d57c9ec1fe3a
--- /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=( {17..18} )
+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_pre20240427.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240427.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240427.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_pre20240504.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240504.ebuild
new file mode 100644
index 000000000000..d57c9ec1fe3a
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240504.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=( {17..18} )
+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_pre20240509.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240509.ebuild
new file mode 100644
index 000000000000..d57c9ec1fe3a
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240509.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=( {17..18} )
+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 f5be5f9b19ad..7518ab30a1c7 100644
--- a/dev-libs/libclc/metadata.xml
+++ b/dev-libs/libclc/metadata.xml
@@ -1,14 +1,13 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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>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/libcli/Manifest b/dev-libs/libcli/Manifest
deleted file mode 100644
index e150549bc708..000000000000
--- a/dev-libs/libcli/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libcli-1.9.7.tar.gz 29557 BLAKE2B a53a8db720fd4ecc047ac6ca111cc8ba1d05067af4dc56b640a0bafd30e6d6b4ccfdbf79b251f1eb6927c7d81675de492a52280ccfab0b48854173650acaacfe SHA512 b2dacfd40bc068ddcc0dc3d60576ef2f7d7e2af80b93c6e7ae899d654afca6f0f8d2df2b33c9c8e760bdbea9aa2eaf757029d46032dcf307341f78f1a8f4f66f
-DIST libcli-1.9.8.4.tar.gz 29618 BLAKE2B cb901f5cd852449f3223f9b048fb483d2d4f5052dc29cb18714d7f5631be96b5ad99c61e09da778b4559760c5497bdaa61e9d68f75bb25e6c4c4475bdc4899e8 SHA512 731156f75b777be209d10db74e786af868c5e82ddfb7f882a07c1f385bae554a02897a53b4d5684e9f941b4ea72d465e3e8b32dda3cdf377ae728e4ac6eb5afb
diff --git a/dev-libs/libcli/files/libcli-1.9.4-ldflags.patch b/dev-libs/libcli/files/libcli-1.9.4-ldflags.patch
deleted file mode 100644
index 4b78c0ddb287..000000000000
--- a/dev-libs/libcli/files/libcli-1.9.4-ldflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -28,7 +28,7 @@
- libcli.o: libcli.h
-
- clitest: clitest.o $(LIB)
-- $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -L. -lcli
-+ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< -L. -lcli
-
- clitest.exe: clitest.c libcli.o
- $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< libcli.o -lws2_32
diff --git a/dev-libs/libcli/files/libcli-1.9.7-libdir.patch b/dev-libs/libcli/files/libcli-1.9.7-libdir.patch
deleted file mode 100644
index 99f817095adc..000000000000
--- a/dev-libs/libcli/files/libcli-1.9.7-libdir.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- libcli-1.9.7/Makefile
-+++ libcli-1.9.7/Makefile
-@@ -1,6 +1,7 @@
- UNAME = $(shell sh -c 'uname -s 2>/dev/null || echo not')
- DESTDIR =
- PREFIX = /usr/local
-+libdir = $(PREFIX)/lib
-
- MAJOR = 1
- MINOR = 9
-@@ -50,10 +51,10 @@
- rm -f *.o $(LIB)* $(LIB_STATIC) clitest
-
- install: $(LIB)
-- install -d $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
-+ install -d $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(libdir)
- install -m 0644 libcli.h $(DESTDIR)$(PREFIX)/include
-- install -m 0755 $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(DESTDIR)$(PREFIX)/lib
-- cd $(DESTDIR)$(PREFIX)/lib && \
-+ install -m 0755 $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(DESTDIR)$(libdir)
-+ cd $(DESTDIR)$(libdir) && \
- ln -fs $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(LIB).$(MAJOR).$(MINOR) && \
- ln -fs $(LIB).$(MAJOR).$(MINOR) $(LIB)
-
diff --git a/dev-libs/libcli/files/libcli-1.9.8.4-libdir.patch b/dev-libs/libcli/files/libcli-1.9.8.4-libdir.patch
deleted file mode 100644
index 31c5024cb7bf..000000000000
--- a/dev-libs/libcli/files/libcli-1.9.8.4-libdir.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- libcli-1.9.8-4/Makefile
-+++ libcli-1.9.8-4/Makefile
-@@ -8,6 +8,7 @@
- UNAME = $(shell sh -c 'uname -s 2>/dev/null || echo not')
- DESTDIR =
- PREFIX = /usr/local
-+libdir = $(PREFIX)/lib
-
- MAJOR = 1
- MINOR = 9
-@@ -64,14 +65,14 @@
- rm -f *.o $(LIB)* $(LIB_STATIC) clitest libcli-$(MAJOR).$(MINOR).$(REVISION).tar.gz
-
- install: $(TARGET_LIBS)
-- install -d $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(PREFIX)/lib
-+ install -d $(DESTDIR)$(PREFIX)/include $(DESTDIR)$(libdir)
- install -m 0644 libcli.h $(DESTDIR)$(PREFIX)/include
- ifeq (1,$(STATIC_LIB))
-- install -m 0644 $(LIB_STATIC) $(DESTDIR)$(PREFIX)/lib
-+ install -m 0644 $(LIB_STATIC) $(DESTDIR)$(libdir)
- endif
- ifeq (1,$(DYNAMIC_LIB))
-- install -m 0755 $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(DESTDIR)$(PREFIX)/lib
-- cd $(DESTDIR)$(PREFIX)/lib && \
-+ install -m 0755 $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(DESTDIR)$(libdir)
-+ cd $(DESTDIR)$(libdir) && \
- ln -fs $(LIB).$(MAJOR).$(MINOR).$(REVISION) $(LIB).$(MAJOR).$(MINOR) && \
- ln -fs $(LIB).$(MAJOR).$(MINOR) $(LIB)
- endif
diff --git a/dev-libs/libcli/libcli-1.9.7.ebuild b/dev-libs/libcli/libcli-1.9.7.ebuild
deleted file mode 100644
index 36ea4dee1e22..000000000000
--- a/dev-libs/libcli/libcli-1.9.7.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="Cisco-style (telnet) command-line interface library"
-
-HOMEPAGE="http://sites.dparrish.com/libcli"
-SRC_URI="https://github.com/dparrish/libcli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="LGPL-2.1"
-
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.9.7-libdir.patch" \
- "${FILESDIR}/${PN}-1.9.4-ldflags.patch"
-}
-
-src_compile() {
- emake OPTIM="" DEBUG="" \
- CC="$(tc-getCC)" AR="$(tc-getAR)"
-}
-
-src_install() {
- emake DESTDIR="${ED}" PREFIX="/usr" \
- libdir="/usr/$(get_libdir)" install
-
- dobin clitest
- dodoc README
-}
diff --git a/dev-libs/libcli/libcli-1.9.8.4.ebuild b/dev-libs/libcli/libcli-1.9.8.4.ebuild
deleted file mode 100644
index dd838091cecd..000000000000
--- a/dev-libs/libcli/libcli-1.9.8.4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib toolchain-funcs
-
-MY_PV="$(ver_rs 3 -)"
-
-DESCRIPTION="Cisco-style (telnet) command-line interface library"
-
-HOMEPAGE="https://github.com/dparrish/libcli"
-SRC_URI="https://github.com/dparrish/libcli/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="LGPL-2.1"
-
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND=""
-
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.9.4-ldflags.patch"
- "${FILESDIR}/${PN}-1.9.8.4-libdir.patch"
-)
-
-src_compile() {
- emake OPTIM="" DEBUG="" \
- CC="$(tc-getCC)" AR="$(tc-getAR)"
-}
-
-src_install() {
- emake DESTDIR="${ED}" PREFIX="/usr" \
- libdir="/usr/$(get_libdir)" install
-
- dobin clitest
- dodoc README
-
- if ! use static-libs ; then
- find "${ED}" -type f -name "*.a" -delete || die
- fi
-}
diff --git a/dev-libs/libcli/metadata.xml b/dev-libs/libcli/metadata.xml
deleted file mode 100644
index a31d2d70c48a..000000000000
--- a/dev-libs/libcli/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">libcli provides a shared library for including a Cisco-like command-line
- interface into other software. It's a telnet interface which supports
- command-line editing, history, authentication and callbacks for a
- user-definable function tree.</longdescription>
- <upstream>
- <remote-id type="github">dparrish/libcli</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libclsync/Manifest b/dev-libs/libclsync/Manifest
deleted file mode 100644
index 908a4bd9d9e1..000000000000
--- a/dev-libs/libclsync/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clsync-0.4.2.tar.gz 256042 BLAKE2B 28474fc66341b93705a502fcff390e3affcd89a9e1eb272dce9b28be709562e09c03e9c300cfeb5371e2e618a2239468a58c46212a39d751fbbfddeaab12bcf6 SHA512 d14a2efc4bf58d9d5c7a3fe5634cacdd182cd7cd814b0e9ebd99024a7282b056d1f7ceeec6903666391c3572d599a18e205af818b098ed7768d5c0e0f4cd1200
diff --git a/dev-libs/libclsync/libclsync-0.4.2.ebuild b/dev-libs/libclsync/libclsync-0.4.2.ebuild
deleted file mode 100644
index f685732c00eb..000000000000
--- a/dev-libs/libclsync/libclsync-0.4.2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_PN=${PN#lib}
-MY_P="${MY_PN}-${PV}"
-
-inherit autotools eutils
-
-DESCRIPTION="Control and monitoring library for clsync"
-HOMEPAGE="http://ut.mephi.ru/oss/clsync https://github.com/xaionaro/clsync"
-SRC_URI="https://github.com/xaionaro/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug extra-debug extra-hardened hardened static-libs"
-S="${WORKDIR}/${MY_P}"
-
-REQUIRED_USE="
- extra-debug? ( debug )
- extra-hardened? ( hardened )
-"
-
-DEPEND="virtual/pkgconfig"
-RDEPEND="=app-doc/clsync-docs-0.4*"
-
-src_prepare() {
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- local harden_level=0
- use hardened && harden_level=1
- use extra-hardened && harden_level=2
-
- local debug_level=0
- use debug && debug_level=1
- use extra-debug && debug_level=2
-
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --enable-socket-library \
- --disable-clsync \
- --enable-debug=${debug_level} \
- --enable-paranoid=${harden_level} \
- --without-bsm \
- --without-kqueue \
- --disable-capabilities \
- --disable-cluster \
- --enable-socket \
- --disable-highload-locks \
- --disable-unshare \
- --disable-seccomp \
- --without-libcgroup \
- --without-gio \
- --with-inotify=native \
- --without-mhash
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- prune_libtool_files
- use static-libs || find "${ED}" -name "*.a" -delete || die "failed to remove static libs"
-
- # docs go into clsync-docs
- rm -rf "${ED}/usr/share/doc" || die
-}
-
-pkg_postinst() {
- einfo "clsync instances you are going to use _must_ be compiled"
- einfo "with control-socket support"
-}
diff --git a/dev-libs/libclsync/metadata.xml b/dev-libs/libclsync/metadata.xml
deleted file mode 100644
index 8c5ebe0c8bbd..000000000000
--- a/dev-libs/libclsync/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
- <longdescription>
- Libclsync is a library for remote control and monitoring of
- <pkg>app-admin/clsync</pkg> processes.
-</longdescription>
- <use>
- <flag name="extra-debug">Enable extra debugging. This will hurt performance badly. Be ready for tons of output.</flag>
- <flag name="extra-hardened">Enable extra security checks. This may hurt performance.</flag>
- </use>
- <upstream>
- <remote-id type="github">xaionaro/clsync</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libclthreads/Manifest b/dev-libs/libclthreads/Manifest
new file mode 100644
index 000000000000..290fe6065431
--- /dev/null
+++ b/dev-libs/libclthreads/Manifest
@@ -0,0 +1 @@
+DIST clthreads-2.4.2.tar.bz2 14357 BLAKE2B c73696e816431d70737d0481237efbb7a05d274f9fb0728b2bf2ba748a4a0540672af92ab8d35b6ab331c91841185aeb3705f5a75e3446a0c2c3631a8b331421 SHA512 a91de7a287c2cb9b2ce17e4c158db79bbaeccb278510d11e6c05fcbe9295c26b4d0231fa97800b265decd1d0886b7425f7b5d4cbcb18758be540356408e72131
diff --git a/dev-libs/libclthreads/files/libclthreads-2.4.2-Makefile.patch b/dev-libs/libclthreads/files/libclthreads-2.4.2-Makefile.patch
new file mode 100644
index 000000000000..fa386fff7914
--- /dev/null
+++ b/dev-libs/libclthreads/files/libclthreads-2.4.2-Makefile.patch
@@ -0,0 +1,33 @@
+diff --git a/source/Makefile b/source/Makefile
+index f841f3f..206e607 100644
+--- a/source/Makefile
++++ b/source/Makefile
+@@ -32,8 +32,7 @@ VERSION = $(MAJVERS).$(MINVERS)
+
+
+ CPPFLAGS += -DVERSION=\"$(VERSION)\" -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I.
+-CXXFLAGS += -Wall -O2 -fPIC
+-CXXFLAGS += -march=native
++CXXFLAGS += -Wall -fPIC
+ LDLFAGS +=
+ LDLIBS +=
+
+@@ -51,12 +50,12 @@ $(CLTHREADS_MIN): $(CLTHREADS_O)
+
+
+ install: $(CLTHREADS_MIN)
+- install -d $(DESTDIR)$(PREFIX)/$(INCDIR)
+- install -d $(DESTDIR)$(PREFIX)/$(LIBDIR)
+- install -m 644 $(CLTHREADS_H) $(DESTDIR)$(INCDIR)
+- install -m 755 $(CLTHREADS_MIN) $(DESTDIR)$(LIBDIR)
+- ldconfig
+- ln -sf $(CLTHREADS_MIN) $(DESTDIR)$(LIBDIR)/$(CLTHREADS_SO)
++ install -d $(DESTDIR)${PREFIX}/$(INCDIR)
++ install -d $(DESTDIR)${PREFIX}/$(LIBDIR)
++ install -m 644 $(CLTHREADS_H) $(DESTDIR)${PREFIX}/$(INCDIR)
++ install -m 755 $(CLTHREADS_MIN) $(DESTDIR)${PREFIX}/$(LIBDIR)
++ ln -sf $(CLTHREADS_MIN) $(DESTDIR)${PREFIX}/$(LIBDIR)/$(CLTHREADS_SO)
++ ln -sf $(CLTHREADS_MIN) $(DESTDIR)${PREFIX}/$(LIBDIR)/$(CLTHREADS_MAJ)
+
+ uninstall:
+ rm -rf $(DESTDIR)$(INCDIR)/$(CLTHREADS_H)
diff --git a/dev-libs/libclthreads/libclthreads-2.4.2.ebuild b/dev-libs/libclthreads/libclthreads-2.4.2.ebuild
new file mode 100644
index 000000000000..8e731a22504c
--- /dev/null
+++ b/dev-libs/libclthreads/libclthreads-2.4.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="POSIX threads C++ access library"
+HOMEPAGE="http://kokkinizita.linuxaudio.org/linuxaudio/index.html"
+SRC_URI="http://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${PV}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86"
+
+S="${WORKDIR}/clthreads-${PV}"
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}/${P}-Makefile.patch"
+)
+
+src_compile() {
+ cd "${S}"/source || die "Failed to cd to sources"
+ tc-export CXX
+ emake
+}
+
+src_install() {
+ default
+
+ cd "${S}"/source || die "Failed to cd to sources"
+ emake PREFIX="${EPREFIX}/usr" INCDIR="include" LIBDIR="$(get_libdir)" DESTDIR="${ED}" install
+}
diff --git a/dev-libs/libclthreads/metadata.xml b/dev-libs/libclthreads/metadata.xml
new file mode 100644
index 000000000000..b69a849fd57e
--- /dev/null
+++ b/dev-libs/libclthreads/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="project">
+ <email>sound@gentoo.org</email>
+ <name>Gentoo Sound project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libconfig/Manifest b/dev-libs/libconfig/Manifest
index c0c61722dba4..fc104704e778 100644
--- a/dev-libs/libconfig/Manifest
+++ b/dev-libs/libconfig/Manifest
@@ -1,3 +1 @@
-DIST libconfig-1.5.tar.gz 644432 BLAKE2B 9eaec8aca0692f30d6b51221a5d1bc624540da74f599292b1a161054dec8188b2ad2ee100a97c1e19f7b4763614206a5bf6ad03f6f7bbd33b40d57c51646e520 SHA512 16bead52ee8c880b25fd1ee6fa83c115dc51830f2f7954389bd8b72cc0e6fc05fc63fe415bd929851894a9f3a1127d51cfc4223149514246e9566305556b7bcd
-DIST libconfig-1.7.1.tar.gz 2290501 BLAKE2B 6c55e0d41c1475434bcc61203bda40c478d0802ccb544866df4b7d9b69538ca1e2eab8642867b0ee7c56e26027d8fb326e470a5c9bdcbc37534fe23092be15e0 SHA512 b58b468e9e2d5175fbde1ad9765c6604dc9b3f3944613a88404a45d0d232e7d79a47321bf3c06b97cb46a2104b4313fad5c7f8944149f550b7af51ad523e775e
-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/files/libconfig-1.5-out-of-source-build.patch b/dev-libs/libconfig/files/libconfig-1.5-out-of-source-build.patch
deleted file mode 100644
index d109b60d4363..000000000000
--- a/dev-libs/libconfig/files/libconfig-1.5-out-of-source-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -3,7 +3,7 @@
-
- libconfig_tests_SOURCES = tests.c
-
--libconfig_tests_CPPFLAGS = -I$(top_srcdir)/tinytest -I../lib
-+libconfig_tests_CPPFLAGS = -I$(top_srcdir)/tinytest -I$(top_srcdir)/lib
-
- libconfig_tests_LDADD = -L$(top_builddir)/tinytest -ltinytest \
- -L$(top_builddir)/lib/.libs -lconfig
diff --git a/dev-libs/libconfig/libconfig-1.5.ebuild b/dev-libs/libconfig/libconfig-1.5.ebuild
deleted file mode 100644
index ba09057dd62a..000000000000
--- a/dev-libs/libconfig/libconfig-1.5.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF="1"
-inherit eutils autotools-multilib
-
-DESCRIPTION="Libconfig is a simple library for manipulating structured configuration files"
-HOMEPAGE="http://www.hyperrealm.com/libconfig/libconfig.html"
-SRC_URI="http://www.hyperrealm.com/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~mips ppc ~ppc64 s390 sparc x86 ~x86-linux"
-IUSE="+cxx examples static-libs"
-
-DEPEND="
- sys-devel/libtool
- sys-devel/bison"
-
-PATCHES=( "${FILESDIR}/${PN}-1.5-out-of-source-build.patch" )
-
-src_prepare() {
- sed -i configure.ac -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' || die
- autotools-multilib_src_prepare
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable cxx)
- --disable-examples
- )
- autotools-utils_src_configure
-}
-
-multilib_src_test() {
- # It responds to check but that does not work as intended
- emake test
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-
- if use examples; then
- find examples -name "Makefile.*" -delete || die
- dodoc -r examples
- fi
-}
diff --git a/dev-libs/libconfig/libconfig-1.7.1.ebuild b/dev-libs/libconfig/libconfig-1.7.1.ebuild
deleted file mode 100644
index 96e4ed4d39e4..000000000000
--- a/dev-libs/libconfig/libconfig-1.7.1.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 eutils 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 ~mips ~ppc ~ppc64 ~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' \
- -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
- 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
-
- prune_libtool_files
-}
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 ac9ee0f1f56a..000000000000
--- a/dev-libs/libconfig/libconfig-1.7.2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools eutils 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 ~mips ~ppc ~ppc64 ~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
-
- prune_libtool_files
-}
diff --git a/dev-libs/libconfig/libconfig-1.7.3.ebuild b/dev-libs/libconfig/libconfig-1.7.3.ebuild
new file mode 100644
index 000000000000..449f75c98860
--- /dev/null
+++ b/dev-libs/libconfig/libconfig-1.7.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 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="
+ 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="~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
+ app-alternatives/yacc
+ dev-build/libtool
+"
+
+src_prepare() {
+ default
+ sed -i \
+ -e '/sleep 3/d' \
+ configure.ac || die
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable cxx)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ --disable-examples
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+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/metadata.xml b/dev-libs/libconfig/metadata.xml
index f8bd6f3f34f9..2657107da297 100644
--- a/dev-libs/libconfig/metadata.xml
+++ b/dev-libs/libconfig/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jer@gentoo.org</email>
- <name>Jeroen Roovers</name>
- </maintainer>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">hyperrealm/libconfig</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libcoyotl/Manifest b/dev-libs/libcoyotl/Manifest
deleted file mode 100644
index a8724c8ba9d7..000000000000
--- a/dev-libs/libcoyotl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libcoyotl-3.1.0.tar.gz 346384 BLAKE2B 7b3b63e5cd629bc5a53e95d6fb35f9f8d64df593eca95bafce71934560e38d37b89efa3fa8a0b12a50e570d761609cda4bbdfbd0a1577d062a8c4fa5e12a07a1 SHA512 18d0a71204dc57d44f73fe03fd88c2a040e83615557cf1f018c22ad7c9a11d793c7f71df8e10a156b9fd4fae910882ed6cec37f9e57efd3546ffc15fa82a51b5
diff --git a/dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch b/dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch
deleted file mode 100644
index 4d3391e21161..000000000000
--- a/dev-libs/libcoyotl/files/3.1.0-gcc-4.3.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -NrU5 libcoyotl-3.1.0.orig/libcoyotl/command_line.cpp libcoyotl-3.1.0/libcoyotl/command_line.cpp
---- libcoyotl-3.1.0.orig/libcoyotl/command_line.cpp 2008-03-21 22:41:41.000000000 +0100
-+++ libcoyotl-3.1.0/libcoyotl/command_line.cpp 2008-03-21 22:41:59.000000000 +0100
-@@ -30,10 +30,13 @@
- // http://www.coyotegulch.com
- //
- //-----------------------------------------------------------------------
-
- #include "command_line.h"
-+
-+#include <cstring>
-+
- using namespace libcoyotl;
-
- command_line::command_line(int argc, char * argv[], const set<string> & bool_opts)
- : m_options(),
- m_inputs(),
-diff -NrU5 libcoyotl-3.1.0.orig/libcoyotl/sortutil.h libcoyotl-3.1.0/libcoyotl/sortutil.h
---- libcoyotl-3.1.0.orig/libcoyotl/sortutil.h 2008-03-21 22:41:41.000000000 +0100
-+++ libcoyotl-3.1.0/libcoyotl/sortutil.h 2008-03-21 22:41:59.000000000 +0100
-@@ -34,10 +34,11 @@
- //-----------------------------------------------------------------------
-
- #if !defined(LIBCOYOTL_SORTUTIL_H)
- #define LIBCOYOTL_SORTUTIL_H
-
-+#include <climits>
- #include <stdexcept>
-
- namespace libcoyotl
- {
-
diff --git a/dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch b/dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch
deleted file mode 100644
index 443cbe2a8657..000000000000
--- a/dev-libs/libcoyotl/files/3.1.0-gcc-4.7.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libcoyotl/maze_renderer.cpp.ORIG 2005-10-10 06:48:30.000000000 +0200
-+++ libcoyotl/maze_renderer.cpp 2013-04-12 10:29:31.127689828 +0200
-@@ -36,6 +36,8 @@
- #include "maze_renderer.h"
- using namespace libcoyotl;
-
-+#include <string.h>
-+
- #include <stdexcept>
- using namespace std;
-
diff --git a/dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild b/dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild
deleted file mode 100644
index 77cc8e787e76..000000000000
--- a/dev-libs/libcoyotl/libcoyotl-3.1.0-r2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils autotools
-
-DESCRIPTION="A collection of portable C++ classes"
-HOMEPAGE="http://www.coyotegulch.com/products/libcoyotl/"
-SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
-
-IUSE="doc static-libs"
-
-RDEPEND="media-libs/libpng:0="
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-DOCS=( AUTHORS ChangeLog NEWS README )
-
-src_prepare() {
- epatch "${FILESDIR}/${PV}-gcc-4.3.patch"
- epatch "${FILESDIR}/${PV}-gcc-4.7.patch"
- epatch_user
- eautoreconf
-}
-
-src_configure() {
- ac_cv_prog_HAVE_DOXYGEN="false" econf $(use_enable static-libs static)
-}
-
-src_compile() {
- emake
-
- if use doc ; then
- cd docs
- doxygen libcoyotl.doxygen || die "generating docs failed"
- fi
-}
-
-src_install() {
- default
- prune_libtool_files
- if use doc ; then
- dohtml docs/html/*
- fi
-}
diff --git a/dev-libs/libcoyotl/metadata.xml b/dev-libs/libcoyotl/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libcoyotl/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/libcpuid/Manifest b/dev-libs/libcpuid/Manifest
new file mode 100644
index 000000000000..5963ebd2359d
--- /dev/null
+++ b/dev-libs/libcpuid/Manifest
@@ -0,0 +1,2 @@
+DIST libcpuid-0.6.4.tar.gz 338722 BLAKE2B ad23c13c48b0244f401a60d07fb569712f24b4d1f2bcd16f8d0240c6a39f8afae8944c9d3b4f486d3e1727157d642915c794fc89f9af315a2c4daf64625fdf25 SHA512 5396301d2a5485c6cf15a2fa8eab0ce28d967fe0dcf0776fec3618b963bc786499032150037f6b9123738e094d41583a331bcea25e502b5025ec6f03d318f77e
+DIST libcpuid-0.6.5.tar.gz 370297 BLAKE2B 56394c0f99ee514bad115e614a27e3771e3ab0a27c7e980ed50419f6b22c268461db97aed8c879a66894ea34c788ed7a154ea403ec07a552fb524e321aa931e0 SHA512 c38381e0f768a2cd2a5df601cbcc50d1cb93a276c477bc09e69ff61de01aef30c0b3163f4a0c8e7641caa3cf692d468410ebc90a3cad93e0476cddeb0c444d7b
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/libcpuid-0.6.5.ebuild b/dev-libs/libcpuid/libcpuid-0.6.5.ebuild
new file mode 100644
index 000000000000..b50a14f5886c
--- /dev/null
+++ b/dev-libs/libcpuid/libcpuid-0.6.5.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/Manifest b/dev-libs/libcroco/Manifest
index 2329c260cf2f..647d3f20e22f 100644
--- a/dev-libs/libcroco/Manifest
+++ b/dev-libs/libcroco/Manifest
@@ -1,2 +1 @@
-DIST libcroco-0.6.12.tar.xz 482028 BLAKE2B d43b73ba21f600ec6d549b867a58db956e081ca8b0787db577062e36487d23cd99b384ca3269421d26aff9825725b262fd6a3e48be73448fe984548ab3eb080b SHA512 af9a171d5ccded255b57f170576e67155f12fa0f61ab3e379e907975f77afc37e82e22772c6019b2897cffc15b2425faf3ccfda92b1a45b23eda2519debabeb6
DIST libcroco-0.6.13.tar.xz 487840 BLAKE2B 511212f1849343d55104cc6d17662cacd524bae098bab12d6db58df41710c8dca2c5beb7a37e42feac6d856934a07feb3d11c55dc74ba055e21066f2bdefb260 SHA512 038a3ac9d160a8cf86a8a88c34367e154ef26ede289c93349332b7bc449a5199b51ea3611cebf3a2416ae23b9e45ecf8f9c6b24ea6d16a5519b796d3c7e272d4
diff --git a/dev-libs/libcroco/files/0.6.12-CVE-2017-7960.patch b/dev-libs/libcroco/files/0.6.12-CVE-2017-7960.patch
deleted file mode 100644
index 50095d50b898..000000000000
--- a/dev-libs/libcroco/files/0.6.12-CVE-2017-7960.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 898e3a8c8c0314d2e6b106809a8e3e93cf9d4394 Mon Sep 17 00:00:00 2001
-From: Ignacio Casal Quinteiro
-Date: Sun, 16 Apr 2017 13:13:43 +0200
-Subject: [PATCH 1/3] input: check end of input before reading a byte
-
-When reading bytes we weren't check that the index wasn't
-out of bound and this could produce an invalid read which
-could deal to a security bug.
----
-leio: Snipped cosmetic chunks
-
-diff --git a/src/cr-input.c b/src/cr-input.c
-index 49000b1..3b63a88 100644
---- a/src/cr-input.c
-+++ b/src/cr-input.c
-@@ -404,6 +404,8 @@ cr_input_get_nb_bytes_left (CRInput const * a_this)
- enum CRStatus
- cr_input_read_byte (CRInput * a_this, guchar * a_byte)
- {
-+ gulong nb_bytes_left = 0;
-+
- g_return_val_if_fail (a_this && PRIVATE (a_this)
- && a_byte, CR_BAD_PARAM_ERROR);
-
-@@ -413,6 +415,12 @@ cr_input_read_byte (CRInput * a_this, guchar * a_byte)
- if (PRIVATE (a_this)->end_of_input == TRUE)
- return CR_END_OF_INPUT_ERROR;
-
-+ nb_bytes_left = cr_input_get_nb_bytes_left (a_this);
-+
-+ if (nb_bytes_left < 1) {
-+ return CR_END_OF_INPUT_ERROR;
-+ }
-+
- *a_byte = PRIVATE (a_this)->in_buf[PRIVATE (a_this)->next_byte_index];
-
- if (PRIVATE (a_this)->nb_bytes -
---
-2.10.1
-
diff --git a/dev-libs/libcroco/files/0.6.12-CVE-2017-7961.patch b/dev-libs/libcroco/files/0.6.12-CVE-2017-7961.patch
deleted file mode 100644
index 65a08f4ebabc..000000000000
--- a/dev-libs/libcroco/files/0.6.12-CVE-2017-7961.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 9ad72875e9f08e4c519ef63d44cdbd94aa9504f7 Mon Sep 17 00:00:00 2001
-From: Ignacio Casal Quinteiro <qignacio@amazon.com>
-Date: Sun, 16 Apr 2017 13:56:09 +0200
-Subject: [PATCH 3/3] tknzr: support only max long rgb values
-
-This fixes a possible out of bound when reading rgbs which
-are longer than the support MAXLONG
----
- src/cr-tknzr.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/src/cr-tknzr.c b/src/cr-tknzr.c
-index 1a7cfeb..1548c35 100644
---- a/src/cr-tknzr.c
-+++ b/src/cr-tknzr.c
-@@ -1279,6 +1279,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
- status = cr_tknzr_parse_num (a_this, &num);
- ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
-
-+ if (num->val > G_MAXLONG) {
-+ status = CR_PARSING_ERROR;
-+ goto error;
-+ }
-+
- red = num->val;
- cr_num_destroy (num);
- num = NULL;
-@@ -1298,6 +1303,11 @@ cr_tknzr_parse_rgb (CRTknzr * a_this, CRRgb ** a_rgb)
- status = cr_tknzr_parse_num (a_this, &num);
- ENSURE_PARSING_COND ((status == CR_OK) && (num != NULL));
-
-+ if (num->val > G_MAXLONG) {
-+ status = CR_PARSING_ERROR;
-+ goto error;
-+ }
-+
- PEEK_BYTE (a_this, 1, &next_bytes[0]);
- if (next_bytes[0] == '%') {
- SKIP_CHARS (a_this, 1);
---
-2.10.1
-
diff --git a/dev-libs/libcroco/files/libcroco-0.6.13-CVE-2020-12825.patch b/dev-libs/libcroco/files/libcroco-0.6.13-CVE-2020-12825.patch
new file mode 100644
index 000000000000..26fc677eb160
--- /dev/null
+++ b/dev-libs/libcroco/files/libcroco-0.6.13-CVE-2020-12825.patch
@@ -0,0 +1,187 @@
+From 44cbd1e718d6a08e59b9300280c340218a84e089 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@gnome.org>
+Date: Wed, 12 Aug 2020 13:54:15 -0500
+Subject: [PATCH] libcroco: Limit recursion in block and any productions
+ (CVE-2020-12825)
+
+If we don't have any limits, we can recurse forever and overflow the
+stack.
+
+This is per https://gitlab.gnome.org/Archive/libcroco/-/issues/8
+
+https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1404
+---
+ src/cr-parser.c | 44 ++++++++++++++++++++++++++--------------
+ 1 file changed, 29 insertions(+), 15 deletions(-)
+
+diff --git a/src/cr-parser.c b/src/cr-parser.c
+index 07f4ed9e8b..8304b75614 100644
+--- a/src/cr-parser.c
++++ b/src/cr-parser.c
+@@ -136,6 +136,8 @@ struct _CRParserPriv {
+
+ #define CHARS_TAB_SIZE 12
+
++#define RECURSIVE_CALLERS_LIMIT 100
++
+ /**
+ * IS_NUM:
+ *@a_char: the char to test.
+@@ -343,9 +345,11 @@ static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this);
+
+ static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this);
+
+-static enum CRStatus cr_parser_parse_any_core (CRParser * a_this);
++static enum CRStatus cr_parser_parse_any_core (CRParser * a_this,
++ guint n_calls);
+
+-static enum CRStatus cr_parser_parse_block_core (CRParser * a_this);
++static enum CRStatus cr_parser_parse_block_core (CRParser * a_this,
++ guint n_calls);
+
+ static enum CRStatus cr_parser_parse_value_core (CRParser * a_this);
+
+@@ -783,7 +787,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
+ cr_parser_try_to_skip_spaces_and_comments (a_this);
+
+ do {
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, 0);
+ } while (status == CR_OK);
+
+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr,
+@@ -794,7 +798,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
+ token);
+ token = NULL;
+- status = cr_parser_parse_block_core (a_this);
++ status = cr_parser_parse_block_core (a_this, 0);
+ CHECK_PARSING_STATUS (status,
+ FALSE);
+ goto done;
+@@ -929,11 +933,11 @@ cr_parser_parse_selector_core (CRParser * a_this)
+
+ RECORD_INITIAL_POS (a_this, &init_pos);
+
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, 0);
+ CHECK_PARSING_STATUS (status, FALSE);
+
+ do {
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, 0);
+
+ } while (status == CR_OK);
+
+@@ -955,10 +959,12 @@ cr_parser_parse_selector_core (CRParser * a_this)
+ *in chapter 4.1 of the css2 spec.
+ *block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*;
+ *@param a_this the current instance of #CRParser.
++ *@param n_calls used to limit recursion depth
+ *FIXME: code this function.
+ */
+ static enum CRStatus
+-cr_parser_parse_block_core (CRParser * a_this)
++cr_parser_parse_block_core (CRParser * a_this,
++ guint n_calls)
+ {
+ CRToken *token = NULL;
+ CRInputPos init_pos;
+@@ -966,6 +972,9 @@ cr_parser_parse_block_core (CRParser * a_this)
+
+ g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR);
+
++ if (n_calls > RECURSIVE_CALLERS_LIMIT)
++ return CR_ERROR;
++
+ RECORD_INITIAL_POS (a_this, &init_pos);
+
+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token);
+@@ -995,13 +1004,13 @@ cr_parser_parse_block_core (CRParser * a_this)
+ } else if (token->type == CBO_TK) {
+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
+ token = NULL;
+- status = cr_parser_parse_block_core (a_this);
++ status = cr_parser_parse_block_core (a_this, n_calls + 1);
+ CHECK_PARSING_STATUS (status, FALSE);
+ goto parse_block_content;
+ } else {
+ cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
+ token = NULL;
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, n_calls + 1);
+ CHECK_PARSING_STATUS (status, FALSE);
+ goto parse_block_content;
+ }
+@@ -1108,7 +1117,7 @@ cr_parser_parse_value_core (CRParser * a_this)
+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
+ token);
+ token = NULL;
+- status = cr_parser_parse_block_core (a_this);
++ status = cr_parser_parse_block_core (a_this, 0);
+ CHECK_PARSING_STATUS (status, FALSE);
+ ref++;
+ goto continue_parsing;
+@@ -1122,7 +1131,7 @@ cr_parser_parse_value_core (CRParser * a_this)
+ status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
+ token);
+ token = NULL;
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, 0);
+ if (status == CR_OK) {
+ ref++;
+ goto continue_parsing;
+@@ -1161,10 +1170,12 @@ cr_parser_parse_value_core (CRParser * a_this)
+ * | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*;
+ *
+ *@param a_this the current instance of #CRParser.
++ *@param n_calls used to limit recursion depth
+ *@return CR_OK upon successfull completion, an error code otherwise.
+ */
+ static enum CRStatus
+-cr_parser_parse_any_core (CRParser * a_this)
++cr_parser_parse_any_core (CRParser * a_this,
++ guint n_calls)
+ {
+ CRToken *token1 = NULL,
+ *token2 = NULL;
+@@ -1173,6 +1184,9 @@ cr_parser_parse_any_core (CRParser * a_this)
+
+ g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR);
+
++ if (n_calls > RECURSIVE_CALLERS_LIMIT)
++ return CR_ERROR;
++
+ RECORD_INITIAL_POS (a_this, &init_pos);
+
+ status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1);
+@@ -1211,7 +1225,7 @@ cr_parser_parse_any_core (CRParser * a_this)
+ *We consider parameter as being an "any*" production.
+ */
+ do {
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, n_calls + 1);
+ } while (status == CR_OK);
+
+ ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
+@@ -1236,7 +1250,7 @@ cr_parser_parse_any_core (CRParser * a_this)
+ }
+
+ do {
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, n_calls + 1);
+ } while (status == CR_OK);
+
+ ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
+@@ -1264,7 +1278,7 @@ cr_parser_parse_any_core (CRParser * a_this)
+ }
+
+ do {
+- status = cr_parser_parse_any_core (a_this);
++ status = cr_parser_parse_any_core (a_this, n_calls + 1);
+ } while (status == CR_OK);
+
+ ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
+--
+GitLab
+
diff --git a/dev-libs/libcroco/libcroco-0.6.12-r1.ebuild b/dev-libs/libcroco/libcroco-0.6.12-r1.ebuild
deleted file mode 100644
index cd38c8bb5ee2..000000000000
--- a/dev-libs/libcroco/libcroco-0.6.12-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-
-inherit gnome2 multilib-minimal
-
-DESCRIPTION="Generic Cascading Style Sheet (CSS) parsing and manipulation toolkit"
-HOMEPAGE="https://git.gnome.org/browse/libcroco/"
-
-LICENSE="LGPL-2"
-SLOT="0.6"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-
-RDEPEND="
- >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
- >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- dev-util/gtk-doc-am
- >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-CVE-2017-7960.patch
- "${FILESDIR}"/${PV}-CVE-2017-7961.patch
-)
-
-src_prepare() {
- if ! use test; then
- # don't waste time building tests
- sed 's/^\(SUBDIRS .*\=.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
- || die "sed failed"
- fi
-
- gnome2_src_prepare
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- gnome2_src_configure \
- --disable-static \
- $([[ ${CHOST} == *-darwin* ]] && echo --disable-Bsymbolic)
-
- if multilib_is_native_abi; then
- ln -s "${S}"/docs/reference/html docs/reference/html || die
- fi
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
-
-multilib_src_install_all() {
- DOCS="AUTHORS ChangeLog HACKING NEWS README TODO"
- einstalldocs
-}
diff --git a/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
new file mode 100644
index 000000000000..e3da950d913c
--- /dev/null
+++ b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 ~loong ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-build/gtk-doc-am
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-0.6.13-CVE-2020-12825.patch )
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS .*\=.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed failed"
+ fi
+
+ 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 \
+ --disable-static \
+ $([[ ${CHOST} == *-darwin* ]] && echo --disable-Bsymbolic)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/reference/html docs/reference/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS=( AUTHORS ChangeLog HACKING NEWS README TODO )
+ einstalldocs
+}
diff --git a/dev-libs/libcroco/libcroco-0.6.13.ebuild b/dev-libs/libcroco/libcroco-0.6.13.ebuild
deleted file mode 100644
index 65319613bb3b..000000000000
--- a/dev-libs/libcroco/libcroco-0.6.13.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-
-inherit gnome2 multilib-minimal
-
-DESCRIPTION="Generic Cascading Style Sheet (CSS) parsing and manipulation toolkit"
-HOMEPAGE="https://git.gnome.org/browse/libcroco/"
-
-LICENSE="LGPL-2"
-SLOT="0.6"
-KEYWORDS="alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="test"
-
-RDEPEND="
- >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
- >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
-"
-DEPEND="${RDEPEND}
- dev-util/gtk-doc-am
- >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
-"
-
-src_prepare() {
- if ! use test; then
- # don't waste time building tests
- sed 's/^\(SUBDIRS .*\=.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
- || die "sed failed"
- fi
-
- gnome2_src_prepare
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- gnome2_src_configure \
- --disable-static \
- $([[ ${CHOST} == *-darwin* ]] && echo --disable-Bsymbolic)
-
- if multilib_is_native_abi; then
- ln -s "${S}"/docs/reference/html docs/reference/html || die
- fi
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
-
-multilib_src_install_all() {
- DOCS="AUTHORS ChangeLog HACKING NEWS README TODO"
- einstalldocs
-}
diff --git a/dev-libs/libcroco/metadata.xml b/dev-libs/libcroco/metadata.xml
index d296a917b37c..8496381e3f83 100644
--- a/dev-libs/libcroco/metadata.xml
+++ b/dev-libs/libcroco/metadata.xml
@@ -1,16 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="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>
+ 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 1b47081bce5d..6d33e7e03719 100644
--- a/dev-libs/libcss/Manifest
+++ b/dev-libs/libcss/Manifest
@@ -1 +1 @@
-DIST libcss-0.8.0-src.tar.gz 516474 BLAKE2B 937adc65f68fecece189e0f06cfd601ae2d76f0b4dcdbcb8a67f3f058c4355c19c12c088fb50ecf1e6bcd8436c867b1845b3da27bb44b5d1a009bd946bf5e53e SHA512 fb52920ce462f442dfafa7b0061fa465e6c04827d26186e8468855c2a40e8f34e6f0689d5eb58cb0b2ee0759d083fcff5c8c583e1d98693755003c352a22a4be
+DIST libcss-0.9.2-src.tar.gz 545016 BLAKE2B 4d5f2554e4ffa5cf8fef3046a244e27dba954e48770c28a2ea79b63826dc056e8fa47d006e7ab4ae2048cf706e7adc2a81053eea2cfbe8b0f0bd683610af9632 SHA512 271362a5fcdf0cfeeefd62ed5319a1a27a56839b953255a48c54995dec62001a1a95c4da4bd315751353c989ee6008e671ad6347dd9e5dc714180578dd1d24df
diff --git a/dev-libs/libcss/libcss-0.8.0-r1.ebuild b/dev-libs/libcss/libcss-0.8.0-r1.ebuild
deleted file mode 100644
index f360ce390d58..000000000000
--- a/dev-libs/libcss/libcss-0.8.0-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-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 ~ppc ~ppc64 ~m68k-mint"
-IUSE="test"
-
-RDEPEND="
- >=dev-libs/libparserutils-0.2.1-r1
- >=dev-libs/libwapcaplet-0.4.0"
-DEPEND="${RDEPEND}
- >=dev-util/netsurf-buildsystem-1.7-r1
- virtual/pkgconfig
- test? ( dev-lang/perl )"
-
-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() {
- source /usr/share/netsurf-buildsystem/gentoo-helpers.sh
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test
-}
-
-src_install() {
- _emake DESTDIR="${ED}" 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 7a38bb900964..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/libcxml/Manifest b/dev-libs/libcxml/Manifest
deleted file mode 100644
index e133fff889d4..000000000000
--- a/dev-libs/libcxml/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libcxml-0.15.5.tar.bz2 137328 BLAKE2B db8e8f1edfe6d03a1f60f9f62c1c3b33e9c092d0031aed4369b7c0075eb16432d8244a2098e75be6845905451a61e379829a80183acdcf9acf33372c354042ea SHA512 9ecb333bbd3c99c388bb08b28e6cf2cae97e5a5a6df29634f041e2718a5d995dabfd73686fe1494eac9d45198dbb1530fa8d5502a8ed3ca8010db087712cb87d
diff --git a/dev-libs/libcxml/files/libcxml-0.15.5-respect-cxxflags.patch b/dev-libs/libcxml/files/libcxml-0.15.5-respect-cxxflags.patch
deleted file mode 100644
index f250229c4f51..000000000000
--- a/dev-libs/libcxml/files/libcxml-0.15.5-respect-cxxflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- libcxml-0.15.5/wscript
-+++ libcxml-0.15.5/wscript
-@@ -36,7 +36,7 @@
- conf.load('compiler_cxx')
- if conf.options.enable_debug:
- conf.env.append_value('CXXFLAGS', '-g')
-- conf.env.append_value('CXXFLAGS', ['-Wall', '-Wextra', '-O2'])
-+ conf.env.append_value('CXXFLAGS', ['-Wall', '-Wextra'])
- if conf.options.force_cpp11:
- conf.env.append_value('CXXFLAGS', ['-std=c++11', '-DBOOST_NO_CXX11_SCOPED_ENUMS'])
-
diff --git a/dev-libs/libcxml/libcxml-0.15.5.ebuild b/dev-libs/libcxml/libcxml-0.15.5.ebuild
deleted file mode 100644
index bf7836c220cd..000000000000
--- a/dev-libs/libcxml/libcxml-0.15.5.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_5 python3_6 )
-PYTHON_REQ_USE="threads(+)"
-inherit python-any-r1 waf-utils
-
-DESCRIPTION="small C++ library which makes it marginally neater to parse XML using libxml++"
-HOMEPAGE="https://carlh.net/libcxml"
-SRC_URI="https://carlh.net/downloads/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="dev-cpp/libxmlpp:2.6
- dev-libs/boost
- dev-libs/locked_sstream"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- dev-util/waf
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.15.5-respect-cxxflags.patch )
-
-src_prepare() {
- rm -v waf || die
- export WAF_BINARY="${EROOT}usr/bin/waf"
-
- default
-}
-
-src_test() {
- ./run-tests.sh || die
-}
diff --git a/dev-libs/libcxml/metadata.xml b/dev-libs/libcxml/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libcxml/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/libdaemon/libdaemon-0.14-r1.ebuild b/dev-libs/libdaemon/libdaemon-0.14-r1.ebuild
deleted file mode 100644
index 220ed1033ba8..000000000000
--- a/dev-libs/libdaemon/libdaemon-0.14-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit libtool eutils
-
-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"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="doc examples static-libs"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-DOCS=( "README" )
-
-src_configure() {
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --localstatedir=/var \
- --disable-examples \
- --disable-lynx \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- emake
-
- if use doc ; then
- einfo "Building documentation"
- emake doxygen
- fi
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -exec rm -f {} +
-
- if use doc; then
- ln -sf doc/reference/html reference
- dohtml -r doc/README.html doc/style.css reference
- doman doc/reference/man/man*/*
- fi
-
- if use examples; then
- docinto examples
- dodoc examples/testd.c
- fi
-
- rm -rf "${ED}"/usr/share/doc/${PF}/{README.html,style.css} || die "rm failed"
-}
diff --git a/dev-libs/libdaemon/libdaemon-0.14-r2.ebuild b/dev-libs/libdaemon/libdaemon-0.14-r2.ebuild
deleted file mode 100644
index 6de3cea08773..000000000000
--- a/dev-libs/libdaemon/libdaemon-0.14-r2.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit libtool eutils 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"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="doc examples static-libs"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-DOCS=( "README" )
-
-src_prepare() {
- epatch_user
-
- # doxygen is broken with out-of-source builds
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --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
- ln -sf doc/reference/html reference
- dohtml -r doc/README.html doc/style.css reference
- doman doc/reference/man/man*/*
- fi
-
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
-
- if use examples; then
- docinto examples
- dodoc examples/testd.c
- fi
-
- rm "${ED}"/usr/share/doc/${PF}/{README.html,style.css} || die "rm failed"
-}
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 370c1aae2cf0..000000000000
--- a/dev-libs/libdaemon/libdaemon-0.14-r3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit 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 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="doc examples static-libs"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-man-page-typo-fix.patch
-)
-
-src_prepare() {
- default
-
- # doxygen is broken with out-of-source builds
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf \
- --docdir="${EPREFIX}/usr/share/doc/${PF}" \
- --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 "${D}" -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/libdaemon/metadata.xml b/dev-libs/libdaemon/metadata.xml
index 03f633b16af3..2ef7998c30a7 100644
--- a/dev-libs/libdaemon/metadata.xml
+++ b/dev-libs/libdaemon/metadata.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>eva@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="cpe">cpe:/a:libdaemon_project:libdaemon</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libdazzle/Manifest b/dev-libs/libdazzle/Manifest
index 9414304dbc59..00ca5e2ec688 100644
--- a/dev-libs/libdazzle/Manifest
+++ b/dev-libs/libdazzle/Manifest
@@ -1 +1 @@
-DIST libdazzle-3.30.2.tar.xz 432192 BLAKE2B 4c31b74b0a5c972b5c86bbacf50862a0c2db5c9ed1e67124671e2ece75d72de4c3605c6ecc81bde10cf2566ae06cbd7f14fccaff5d154c1bd9e53a9f8b2dc2eb SHA512 591c3bb9dd65ae02e6234a1599497dce78d843ee6ca47e8d50656b9f98bab91c7b89424c23eb387184bdb28132e1fbe11ee7c01d4a7f0598bcef92739aa8bff6
+DIST libdazzle-3.44.0.tar.xz 454948 BLAKE2B d42d98e820e7af18fc8c8a75f7b77b5d84f03a367925d16b35fe88fd5a74e69d2f170233dd6986ad47dfc4cdd2f9690323d1053341ecb11e324e758f63a25bba SHA512 eff3f65cbfd4f780afb4bda6137e8d4f1ee2cd0ab21288d07315415944ced1aa2d7ef89c2b7ebb373ac4c46b91d341bed063e9c7d1c21fa083514c8c3c9c518f
diff --git a/dev-libs/libdazzle/files/3.30.2-leak-fix.patch b/dev-libs/libdazzle/files/3.30.2-leak-fix.patch
deleted file mode 100644
index b3a1debf605e..000000000000
--- a/dev-libs/libdazzle/files/3.30.2-leak-fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 6f8436709430fd5ebaebd90dd55885636030940d Mon Sep 17 00:00:00 2001
-From: Christian Hergert <chergert@redhat.com>
-Date: Mon, 19 Nov 2018 17:43:24 -0800
-Subject: [PATCH] three-grid: don't leak values from hashtable
-
-We are responsible for freeing the GList chain, so ensure we do that at
-the end of size-allocate.
----
- src/widgets/dzl-three-grid.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/widgets/dzl-three-grid.c b/src/widgets/dzl-three-grid.c
-index 0de5484..d00d0b1 100644
---- a/src/widgets/dzl-three-grid.c
-+++ b/src/widgets/dzl-three-grid.c
-@@ -569,6 +569,8 @@ dzl_three_grid_size_allocate (GtkWidget *widget,
- area.y += child_alloc.height + priv->row_spacing;
- area.height -= child_alloc.height + priv->row_spacing;
- }
-+
-+ g_list_free (values);
- }
-
- static void
---
-2.17.0
-
diff --git a/dev-libs/libdazzle/libdazzle-3.30.2.ebuild b/dev-libs/libdazzle/libdazzle-3.30.2.ebuild
deleted file mode 100644
index 3fd594c25113..000000000000
--- a/dev-libs/libdazzle/libdazzle-3.30.2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~ppc ~ppc64 ~sparc x86"
-
-IUSE="gtk-doc +introspection test vala"
-REQUIRED_USE="vala? ( introspection )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.56.0:2
- >=x11-libs/gtk+-3.24.0:3[introspection?]
- introspection? ( dev-libs/gobject-introspection:= )
-"
-# libxml2 required for glib-compile-resources; glib-utils for glib-mkenums
-DEPEND="${RDEPEND}
- vala? ( $(vala_depend) )
- dev-libs/libxml2:2
- dev-util/glib-utils
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-leak-fix.patch # from libdazzle-3-30 branch
-)
-
-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
- # -Denable_rdtscp=false # TODO: CPU_FLAGS_X86 for it?
- -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 ccb7f7ef56f2..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/libdbh/Manifest
index d04ff167358a..f2ed8f1c6b11 100644
--- a/dev-libs/libdbh/Manifest
+++ b/dev-libs/libdbh/Manifest
@@ -1,2 +1 @@
-DIST libdbh2-5.0.19.tar.gz 1608949 BLAKE2B 405a2903c8f4dddcd66153304bfff5084e549f650846cc2e8afecb6783cbb5fcf391cc251e4805486f9ad62cac4c59a3112fc7a6d0ced6e93e0e88be707e9a83 SHA512 35c368e82f8f7c4c7d4960731214ff3863530795b16716c0be7351e0ca10740ac26a99930369f4df78c8e108d929124c222b5942ce5f521ecb58afd38d55bbe9
DIST libdbh2-5.0.22.tar.gz 1641669 BLAKE2B 835a1d112ac34ff025002c826fa6f1291a8da2442901396e79abbf5e3c315654cef2a9d45c852821fa373b132e0e8a04695c4cf5c830bac9a3b40dd32ce5b543 SHA512 d0cb69bbd3d54600cd14f4d1d7ee7f87c52c9bea9f475763b1d43c053a7571063f42b59cef8d08632b065f44cd85b5ccb0fcd31052202aa8f8a49f34669c7930
diff --git a/dev-libs/libdbh/libdbh-5.0.19.ebuild b/dev-libs/libdbh/libdbh-5.0.19.ebuild
deleted file mode 100644
index f3e99a35c217..000000000000
--- a/dev-libs/libdbh/libdbh-5.0.19.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils
-
-MY_P=${PN}2-${PV}
-
-DESCRIPTION="a small library to create and manage 64-bit disk based hash tables"
-HOMEPAGE="https://www.gnu.org/software/libdbh/"
-SRC_URI="mirror://sourceforge/dbh/dbh/${PV}/${MY_P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- dev-util/gtk-doc-am
- virtual/pkgconfig"
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- DOCS=( AUTHORS ChangeLog NEWS README TODO )
-}
-
-src_prepare() {
- sed -i -e "s:-O2:${CFLAGS}:" m4/rfm-conditionals.m4 || die
- eautoreconf
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/libdbh/libdbh-5.0.22.ebuild b/dev-libs/libdbh/libdbh-5.0.22.ebuild
index a32cdfb61dfe..b78825346032 100644
--- a/dev-libs/libdbh/libdbh-5.0.22.ebuild
+++ b/dev-libs/libdbh/libdbh-5.0.22.ebuild
@@ -1,21 +1,22 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
+
inherit autotools
MY_P=${PN}2-${PV}
DESCRIPTION="A small library to create and manage 64-bit disk based hash tables"
HOMEPAGE="https://www.gnu.org/software/libdbh/"
-SRC_URI="mirror://sourceforge/dbh/dbh/${PV}/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/dbh/dbh/${PV}/${MY_P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
+KEYWORDS="amd64 x86"
-DEPEND="dev-util/gtk-doc-am
+BDEPEND="
+ dev-build/gtk-doc-am
virtual/pkgconfig"
S="${WORKDIR}/${MY_P}"
@@ -28,8 +29,11 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ econf --disable-static
+}
+
src_install() {
default
-
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libdbh/metadata.xml b/dev-libs/libdbh/metadata.xml
index d22f1a83844d..95f6f91f3d80 100644
--- a/dev-libs/libdbh/metadata.xml
+++ b/dev-libs/libdbh/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>gentoo@culot.org</email>
<name>Frederic Culot</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
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..75d62d0c9377
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/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>lxqt@gentoo.org</email>
+ <name>LXQt</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-r2.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r2.ebuild
deleted file mode 100644
index 94932495e000..000000000000
--- a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EBZR_REPO_URI="lp:libdbusmenu-qt"
-
-[[ ${PV} == 9999* ]] && inherit bzr
-inherit cmake-utils virtualx
-
-DESCRIPTION="Library providing Qt implementation of DBusMenu specification"
-HOMEPAGE="https://launchpad.net/libdbusmenu-qt/"
-if [[ ${PV} != 9999* ]] ; then
- MY_PV=${PV/_pre/+16.04.}
- SRC_URI="https://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.orig.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="debug"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
-"
-DEPEND="${RDEPEND}
- test? ( dev-qt/qttest:5 )
-"
-
-[[ ${PV} == 9999* ]] || S=${WORKDIR}/${PN}-${MY_PV}
-
-# tests fail due to missing connection to dbus
-RESTRICT="test"
-
-src_prepare() {
- [[ ${PV} == 9999* ]] && bzr_src_prepare
- cmake-utils_src_prepare
-
- cmake_comment_add_subdirectory tools
- use test || cmake_comment_add_subdirectory tests
-}
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_DOC=OFF
- -DUSE_QT5=ON
- )
- cmake-utils_src_configure
-}
-
-src_test() {
- local builddir=${BUILD_DIR}
-
- BUILD_DIR=${BUILD_DIR}/tests virtx cmake-utils_src_test
-
- BUILD_DIR=${builddir}
-}
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 267ccc08f93e..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,10 +1,10 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PV=${PV/_pre/+16.04.}
-inherit cmake-utils
+inherit cmake
DESCRIPTION="Library providing Qt implementation of DBusMenu specification"
HOMEPAGE="https://launchpad.net/libdbusmenu-qt/"
@@ -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 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="
@@ -28,7 +28,7 @@ S="${WORKDIR}"/${PN}-${MY_PV}
PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
cmake_comment_add_subdirectory tools
# tests fail due to missing connection to dbus
diff --git a/dev-libs/libdbusmenu-qt/metadata.xml b/dev-libs/libdbusmenu-qt/metadata.xml
index 282ea1c42645..d3c31941726c 100644
--- a/dev-libs/libdbusmenu-qt/metadata.xml
+++ b/dev-libs/libdbusmenu-qt/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
diff --git a/dev-libs/libdbusmenu/files/libdbusmenu-16.04.0-werror.patch b/dev-libs/libdbusmenu/files/libdbusmenu-16.04.0-werror.patch
new file mode 100644
index 000000000000..aaa61785b3bb
--- /dev/null
+++ b/dev-libs/libdbusmenu/files/libdbusmenu-16.04.0-werror.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/691260
+
+--- a/libdbusmenu-glib/Makefile.am
++++ b/libdbusmenu-glib/Makefile.am
+@@ -68,3 +68,3 @@ libdbusmenu_glib_la_CFLAGS = \
+ $(COVERAGE_CFLAGS) \
+- -Wall -Werror -Wno-error=deprecated-declarations \
++ -Wall -Wno-error=deprecated-declarations \
+ -DG_LOG_DOMAIN="\"LIBDBUSMENU-GLIB\""
+--- a/libdbusmenu-gtk/Makefile.am
++++ b/libdbusmenu-gtk/Makefile.am
+@@ -68,3 +68,3 @@ libdbusmenu_gtk_la_CFLAGS = \
+ -I$(top_srcdir) \
+- -Wall -Werror -Wno-error=deprecated-declarations \
++ -Wall -Wno-error=deprecated-declarations \
+ -DG_LOG_DOMAIN="\"LIBDBUSMENU-GTK\""
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -105,3 +105,3 @@ TESTS_ENVIRONMENT = env GI_TYPELIB_PATH=$(top_builddir)/libdbusmenu-glib:$(top_b
+ DBUSMENU_GLIB_TEST_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ -DG_DISABLE_DEPRECATED \
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -18,3 +18,3 @@ dbusmenu_dumper_CFLAGS = \
+ $(DBUSMENUDUMPER_CFLAGS) \
+- -Wall -Werror
++ -Wall
+
+--- a/tools/testapp/Makefile.am
++++ b/tools/testapp/Makefile.am
+@@ -14,3 +14,3 @@ dbusmenu_testapp_CFLAGS = \
+ $(DBUSMENUGLIB_CFLAGS) \
+- -Wall -Werror
++ -Wall
+
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/libdbusmenu/libdbusmenu-16.04.0.ebuild b/dev-libs/libdbusmenu/libdbusmenu-16.04.0.ebuild
deleted file mode 100644
index a5112080a494..000000000000
--- a/dev-libs/libdbusmenu/libdbusmenu-16.04.0.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2018 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
-PYTHON_COMPAT=( python2_7 )
-VIRTUALX_REQUIRED=manual
-
-inherit autotools flag-o-matic multilib-minimal python-single-r1 vala \
- virtualx xdg-utils
-
-DESCRIPTION="Library to pass menu structure across DBus"
-HOMEPAGE="https://launchpad.net/dbusmenu"
-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 ~ia64 ~ppc ~ppc64 sparc x86"
-IUSE="debug gtk gtk3 +introspection test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- >=dev-libs/dbus-glib-0.100[${MULTILIB_USEDEP}]
- >=dev-libs/glib-2.35.4[${MULTILIB_USEDEP}]
- dev-libs/libxml2[${MULTILIB_USEDEP}]
- ${PYTHON_DEPS}
- gtk? ( x11-libs/gtk+:2[introspection?,${MULTILIB_USEDEP}] )
- gtk3? ( >=x11-libs/gtk+-3.2:3[introspection?,${MULTILIB_USEDEP}] )
- introspection? ( >=dev-libs/gobject-introspection-1 )
- !<${CATEGORY}/${PN}-0.5.1-r200"
-# 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[${MULTILIB_USEDEP}]
- 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
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- if use introspection; then
- vala_src_prepare
- export VALA_API_GEN="${VAPIGEN}"
- fi
- python_fix_shebang tools
-
- eapply "${FILESDIR}/${P}-configure-fix.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/metadata.xml b/dev-libs/libdbusmenu/metadata.xml
index f6c24ef12fe8..0c4bc1ef9205 100644
--- a/dev-libs/libdbusmenu/metadata.xml
+++ b/dev-libs/libdbusmenu/metadata.xml
@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
- <flag name="gtk" restrict="&gt;=dev-libs/libdbusmenu-12.10.2-r2">Enable support for GTK+2</flag>
+ <flag name="gtk">Enable support for GTK+2</flag>
<flag name="gtk3">Enable support for GTK+3</flag>
</use>
<upstream>
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
new file mode 100644
index 000000000000..ccb5d7a76e1d
--- /dev/null
+++ b/dev-libs/libdispatch/Manifest
@@ -0,0 +1,3 @@
+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/files/remove-Werror.patch b/dev-libs/libdispatch/files/remove-Werror.patch
new file mode 100644
index 000000000000..bdc3edf2d483
--- /dev/null
+++ b/dev-libs/libdispatch/files/remove-Werror.patch
@@ -0,0 +1,25 @@
+diff --git a/cmake/modules/DispatchCompilerWarnings.cmake b/cmake/modules/DispatchCompilerWarnings.cmake
+index 35b80f3..cc554ed 100644
+--- a/cmake/modules/DispatchCompilerWarnings.cmake
++++ b/cmake/modules/DispatchCompilerWarnings.cmake
+@@ -2,7 +2,6 @@
+ if("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC")
+ # TODO: someone needs to provide the msvc equivalent warning flags
+ else()
+- add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Werror>)
+ add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wall>)
+ add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wextra>)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index adc989d..2841aa2 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -127,7 +127,7 @@ endif()
+ # FIXME(compnerd) add check for -fblocks?
+ target_compile_options(dispatch PRIVATE -fblocks)
+
+-check_c_compiler_flag("-momit-leaf-frame-pointer -Werror -Wall -O3" C_SUPPORTS_OMIT_LEAF_FRAME_POINTER)
++check_c_compiler_flag("-momit-leaf-frame-pointer -Wall -O3" C_SUPPORTS_OMIT_LEAF_FRAME_POINTER)
+ if (C_SUPPORTS_OMIT_LEAF_FRAME_POINTER)
+ target_compile_options(dispatch PRIVATE -momit-leaf-frame-pointer)
+ endif()
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
new file mode 100644
index 000000000000..7e1433ad2dac
--- /dev/null
+++ b/dev-libs/libdispatch/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">apple/swift-corelibs-libdispatch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libdivecomputer/Manifest b/dev-libs/libdivecomputer/Manifest
index 86e2bf795ade..5d0d35528442 100644
--- a/dev-libs/libdivecomputer/Manifest
+++ b/dev-libs/libdivecomputer/Manifest
@@ -1,2 +1 @@
-DIST libdivecomputer-0.4.1.tar.gz 481798 BLAKE2B c4e132087f833dabc8504cd2cdacfe2c5fb29c208855d799cbb095a1ac3c75e7562136a5d47a8ff5717fa7241eec2114812c3c854cb950e0260f9111f873ad9d SHA512 a1104981b1820ea93c3b3e389e42996f9199c5a4c37daf16e9577d8fd29b21440521d1ea5f89ec2df2861b582fd2e748d35eb811ad0d484eacce7d13d39bf88f
-DIST libdivecomputer-0.4.2.tar.gz 487401 BLAKE2B fb6abdf8ac4a6bc4ab121dfcf4e898aed65a3ab7e8692c4a9525c46e3f7c890eeeac88d4903d7192752175f7c964fd0135cf1d119ffc2a49d572e4abf72d906f SHA512 590aca350d86d17a889f47238ad46f0a6a1353b5f7ed67c64a9bae303a010ab042e94a73a36c6f05f2d03d10c80b1fae49431ad581b3024db83b81711d5d1048
+DIST libdivecomputer-0.6.0.tar.gz 680425 BLAKE2B 9ed951c6cdec07929ea7a9d3b842483ea1c88bff0171bfec1ec5a1a1d21a73580f70034856c97397bd21061d01967e14477ffabdf75b10bd6a736820b17e5b7f SHA512 b199d3e7e89fb2f79e4de5b54b086ae5f8b6bc08d02513e903e8fb008c1a453cf4cd4c4b7a94b1f7053ac53cc7b9085193b0ee0682318594c27ac2cb693c9b3f
diff --git a/dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild b/dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild
deleted file mode 100644
index 36c4f31c9269..000000000000
--- a/dev-libs/libdivecomputer/libdivecomputer-0.4.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="git://git.libdivecomputer.org/libdivecomputer.git"
- GIT_ECLASS="git-2"
- AUTOTOOLIZE=yes
- KEYWORDS=""
-else
- KEYWORDS="~amd64 ~x86"
-fi
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-inherit eutils autotools-utils ${GIT_ECLASS}
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
-else
- SRC_URI="http://www.divesoftware.org/libdc/releases/${P}.tar.gz"
-fi
-
-DESCRIPTION="Library for communication with dive computers from various manufacturers"
-HOMEPAGE="http://www.divesoftware.org/libdc"
-LICENSE="LGPL-2.1"
-
-SLOT="0"
-IUSE="usb +static-libs -tools"
-
-RDEPEND="usb? ( virtual/libusb:1 )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- if [[ -n ${AUTOTOOLIZE} ]]; then
- autotools-utils_src_prepare
- else
- epatch_user
- fi
-}
-
-src_configure() {
- autotools-utils_src_configure
-
- if ! use tools ; then
- sed -i 's|examples||' Makefile || die "sed failed"
- fi
-}
-
-src_compile() {
- autotools-utils_src_compile
-}
-
-src_install() {
- autotools-utils_src_install
-
- if use tools ; then
- einfo "prefixing tools with 'dctool_'"
- pushd "${D}/usr/bin/"
- for file in * ; do
- mv "${file}" "dctool_${file}" || die "prefixing tools failed"
- done
- popd
- fi
-}
-
-pkg_postinst() {
- if use tools ; then
- elog "The 'tools' USE flag has been enabled,"
- elog "to avoid file collisions, all ${PN}"
- elog "related tools have been prefixed with 'dctool_'"
- fi
-}
diff --git a/dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild b/dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild
deleted file mode 100644
index 36c4f31c9269..000000000000
--- a/dev-libs/libdivecomputer/libdivecomputer-0.4.2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="git://git.libdivecomputer.org/libdivecomputer.git"
- GIT_ECLASS="git-2"
- AUTOTOOLIZE=yes
- KEYWORDS=""
-else
- KEYWORDS="~amd64 ~x86"
-fi
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-inherit eutils autotools-utils ${GIT_ECLASS}
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
-else
- SRC_URI="http://www.divesoftware.org/libdc/releases/${P}.tar.gz"
-fi
-
-DESCRIPTION="Library for communication with dive computers from various manufacturers"
-HOMEPAGE="http://www.divesoftware.org/libdc"
-LICENSE="LGPL-2.1"
-
-SLOT="0"
-IUSE="usb +static-libs -tools"
-
-RDEPEND="usb? ( virtual/libusb:1 )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- if [[ -n ${AUTOTOOLIZE} ]]; then
- autotools-utils_src_prepare
- else
- epatch_user
- fi
-}
-
-src_configure() {
- autotools-utils_src_configure
-
- if ! use tools ; then
- sed -i 's|examples||' Makefile || die "sed failed"
- fi
-}
-
-src_compile() {
- autotools-utils_src_compile
-}
-
-src_install() {
- autotools-utils_src_install
-
- if use tools ; then
- einfo "prefixing tools with 'dctool_'"
- pushd "${D}/usr/bin/"
- for file in * ; do
- mv "${file}" "dctool_${file}" || die "prefixing tools failed"
- done
- popd
- fi
-}
-
-pkg_postinst() {
- if use tools ; then
- elog "The 'tools' USE flag has been enabled,"
- elog "to avoid file collisions, all ${PN}"
- elog "related tools have been prefixed with 'dctool_'"
- fi
-}
diff --git a/dev-libs/libdivecomputer/libdivecomputer-0.6.0-r1.ebuild b/dev-libs/libdivecomputer/libdivecomputer-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..ef6aff8530ca
--- /dev/null
+++ b/dev-libs/libdivecomputer/libdivecomputer-0.6.0-r1.ebuild
@@ -0,0 +1,42 @@
+# 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://github.com/libdivecomputer/libdivecomputer"
+ inherit autotools git-r3
+else
+ SRC_URI="https://www.libdivecomputer.org/releases/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Library for communication with dive computers from various manufacturers"
+HOMEPAGE="https://www.libdivecomputer.org"
+LICENSE="LGPL-2.1"
+
+SLOT="0"
+IUSE="bluetooth"
+
+RDEPEND="virtual/libusb:1
+ bluetooth? ( net-wireless/bluez )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ [[ -v EGIT_REPO_URI ]] && eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_with bluetooth bluez)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdivecomputer/libdivecomputer-9999.ebuild b/dev-libs/libdivecomputer/libdivecomputer-9999.ebuild
index 05e2cc29858a..ef6aff8530ca 100644
--- a/dev-libs/libdivecomputer/libdivecomputer-9999.ebuild
+++ b/dev-libs/libdivecomputer/libdivecomputer-9999.ebuild
@@ -1,62 +1,42 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
+EAPI="7"
if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="git://git.libdivecomputer.org/libdivecomputer.git"
- GIT_ECLASS="git-2"
- AUTOTOOLS_AUTORECONF=1
- KEYWORDS=""
+ EGIT_REPO_URI="https://github.com/libdivecomputer/libdivecomputer"
+ inherit autotools git-r3
else
+ SRC_URI="https://www.libdivecomputer.org/releases/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
-AUTOTOOLS_IN_SOURCE_BUILD=1
-inherit eutils autotools-utils ${GIT_ECLASS}
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
-else
- SRC_URI="http://www.divesoftware.org/libdc/releases/${P}.tar.gz"
-fi
-
DESCRIPTION="Library for communication with dive computers from various manufacturers"
-HOMEPAGE="http://www.divesoftware.org/libdc"
+HOMEPAGE="https://www.libdivecomputer.org"
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="usb +static-libs -tools"
+IUSE="bluetooth"
-RDEPEND="usb? ( virtual/libusb:1 )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+RDEPEND="virtual/libusb:1
+ bluetooth? ( net-wireless/bluez )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-src_configure() {
- autotools-utils_src_configure
+src_prepare() {
+ default
+ [[ -v EGIT_REPO_URI ]] && eautoreconf
+}
- if ! use tools ; then
- sed -i 's|examples||' Makefile || die "sed failed"
- fi
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_with bluetooth bluez)
}
src_install() {
- autotools-utils_src_install
-
- if use tools ; then
- einfo "prefixing tools with 'dctool_'"
- pushd "${D}/usr/bin/"
- for file in * ; do
- mv "${file}" "dctool_${file}" || die "prefixing tools failed"
- done
- popd
- fi
-}
+ default
-pkg_postinst() {
- if use tools ; then
- elog "The 'tools' USE flag has been enabled,"
- elog "to avoid file collisions, all ${PN}"
- elog "related tools have been prefixed with 'dctool_'"
- fi
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libdivecomputer/metadata.xml b/dev-libs/libdivecomputer/metadata.xml
index 93908aedd958..894bebf0ece9 100644
--- a/dev-libs/libdivecomputer/metadata.xml
+++ b/dev-libs/libdivecomputer/metadata.xml
@@ -1,18 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>me@bearsh.org</email>
<name>Martin Gysel</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <longdescription lang="en">
- Library for communication with dive computers from various manufacturers.
- </longdescription>
- <use>
- <flag name="tools">Install tools that can be used to test the library.</flag>
- </use>
</pkgmetadata>
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 644a49823e32..000000000000
--- a/dev-libs/libdivsufsort/libdivsufsort-2.0.1-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit cmake-utils multilib 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-utils_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-utils_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/libdivsufsort/libdivsufsort-9999.ebuild b/dev-libs/libdivsufsort/libdivsufsort-9999.ebuild
deleted file mode 100644
index d6c33d70a4c5..000000000000
--- a/dev-libs/libdivsufsort/libdivsufsort-9999.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-EGIT_REPO_URI="https://github.com/y-256/${PN}"
-inherit cmake-utils multilib toolchain-funcs git-r3
-
-DESCRIPTION="Suffix-sorting library (for BWT)"
-HOMEPAGE="https://github.com/y-256/libdivsufsort"
-SRC_URI=""
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS=""
-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-utils_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-utils_src_configure
-}
diff --git a/dev-libs/libdivsufsort/metadata.xml b/dev-libs/libdivsufsort/metadata.xml
index 99ce3469fc7a..c0fcd8e43340 100644
--- a/dev-libs/libdivsufsort/metadata.xml
+++ b/dev-libs/libdivsufsort/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
diff --git a/dev-libs/libdnet/Manifest b/dev-libs/libdnet/Manifest
index 7fb88bca2853..28153e6d5415 100644
--- a/dev-libs/libdnet/Manifest
+++ b/dev-libs/libdnet/Manifest
@@ -1,3 +1,4 @@
-DIST libdnet-1.12.ipv6-1.patch.gz 5124 BLAKE2B 674866a441a5907df97942772b1e4b95aee004ddb110204df0580cec6b6bb3ba4074831d83e675e1914f1a29281b02227e95016db6ce6a0e8b99417d1aa6aaab SHA512 fa2380e41548ecdd978722930ecf90dffabd15cf06cbae0e113285072fe98a066f1e686b6d79e2d8b9f8adcf29783f313d61933b9e1e74e71da8dc7d741f815a
-DIST libdnet-1.12.tar.gz 959945 BLAKE2B a19f8c83425861d02f832330cf0eb5bc317eec157737e0eacd48a7827d423c626b24ce833f66429c9f2a0018502cae5426d5cfc1019aed307d63e4fa6b3845c8 SHA512 a2410a98b76d4bccecf7bcb82ff0b6e9fb809b389f7fea938cc42d94e18622cc5f353d2de737121a1990d9e16e9db8cc2f82677c94f78cd03c9227e815eab9e0
-DIST libdnet-1.12.tgz 970125 BLAKE2B 74be00b6fe1c7848010a7044628a6ad8f4b2f2c4f9676066c15e02c7a8b613e26a5e7743df524869fee2eb7d93438bf346f772b8df199b8ec337279dd50d5d77 SHA512 b763d2caa77b8d16b531142a5bce3b862ed20198406a00e1fe7f3b45ce308b97d638b0c7f03bd8593fdd206cc1645952839bc340b77537298a3df88599835bf3
+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/libdnet-1.12-r1.ebuild b/dev-libs/libdnet/libdnet-1.12-r1.ebuild
deleted file mode 100644
index 37fb38166b21..000000000000
--- a/dev-libs/libdnet/libdnet-1.12-r1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-AT_M4DIR="config"
-PYTHON_COMPAT=( python2_7 )
-DISTUTILS_OPTIONAL=1
-inherit autotools distutils-r1
-
-DESCRIPTION="simplified, portable interface to several low-level networking routines"
-HOMEPAGE="https://github.com/dugsong/libdnet"
-SRC_URI="
- ${HOMEPAGE}/archive/${P}.tar.gz
- ipv6? ( https://fragroute-ipv6.googlecode.com/files/${P}.ipv6-1.patch.gz )
-"
-LICENSE="LGPL-2"
-
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-IUSE="ipv6 python static-libs test"
-
-DEPEND="
- python? ( ${PYTHON_DEPS} )
-"
-RDEPEND="
- ${DEPEND}
-"
-RESTRICT="test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-DOCS=( README THANKS TODO )
-S=${WORKDIR}/${PN}-${P}
-
-src_prepare() {
- # Useless copy
- rm -r trunk/ || die
-
- sed -i \
- -e 's/libcheck.a/libcheck.so/g' \
- -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
- configure.in || die
- sed -i -e 's|-L@libdir@ ||g' dnet-config.in || die
- use ipv6 && eapply "${WORKDIR}/${P}.ipv6-1.patch"
- sed -i -e '/^SUBDIRS/s|python||g' Makefile.am || die
- eautoreconf
-
- if use python; then
- cd python
- distutils-r1_src_prepare
- fi
-
- eapply_user
-}
-
-src_configure() {
- econf \
- $(use_with python) \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- if use python; then
- cd python
- distutils-r1_src_compile
- fi
-}
-
-src_install() {
- default
- if use python; then
- cd python
- unset DOCS
- distutils-r1_src_install
- fi
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libdnet/libdnet-1.12.ebuild b/dev-libs/libdnet/libdnet-1.12.ebuild
deleted file mode 100644
index d1269f770acb..000000000000
--- a/dev-libs/libdnet/libdnet-1.12.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AT_M4DIR="config"
-PYTHON_COMPAT=( python2_7 )
-DISTUTILS_OPTIONAL=1
-
-inherit autotools distutils-r1 eutils
-
-DESCRIPTION="simplified, portable interface to several low-level networking routines"
-HOMEPAGE="https://github.com/dugsong/libdnet"
-SRC_URI="https://libdnet.googlecode.com/files/${P}.tgz
- ipv6? ( https://fragroute-ipv6.googlecode.com/files/${P}.ipv6-1.patch.gz )"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="ipv6 python static-libs test"
-
-#DEPEND="test? ( dev-libs/check )"
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}"
-RESTRICT="test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DOCS=( README THANKS TODO )
-
-src_prepare() {
- # Useless copy
- rm -r trunk/ || die
-
- sed -i \
- -e 's/libcheck.a/libcheck.so/g' \
- -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
- configure.in || die
- sed -i -e 's|-L@libdir@ ||g' dnet-config.in || die
- use ipv6 && epatch "${WORKDIR}/${P}.ipv6-1.patch"
- sed -i -e '/^SUBDIRS/s|python||g' Makefile.am || die
- eautoreconf
- if use python; then
- cd python
- distutils-r1_src_prepare
- fi
-}
-
-src_configure() {
- econf \
- $(use_with python) \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- if use python; then
- cd python
- distutils-r1_src_compile
- fi
-}
-
-src_install() {
- default
- if use python; then
- cd python
- unset DOCS
- distutils-r1_src_install
- fi
- prune_libtool_files
-}
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-r1.ebuild b/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild
new file mode 100644
index 000000000000..78ec85068f10
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild
@@ -0,0 +1,98 @@
+# 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 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? (
+ ${DISTUTILS_DEPS}
+ 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..06d3ec217130
--- /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/libdnet/metadata.xml b/dev-libs/libdnet/metadata.xml
index 041d20f37f34..bc78db405871 100644
--- a/dev-libs/libdnet/metadata.xml
+++ b/dev-libs/libdnet/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>netmon@gentoo.org</email>
diff --git a/dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch b/dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch
index 3e2466af57f7..9f544ca898c6 100644
--- a/dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch
+++ b/dev-libs/libdnsres/files/libdnsres-0.1a-autotools.patch
@@ -1,7 +1,5 @@
-Index: libdnsres-0.1a/Makefile.am
-===================================================================
---- libdnsres-0.1a.orig/Makefile.am
-+++ libdnsres-0.1a/Makefile.am
+--- a/Makefile.am
++++ b/Makefile.am
@@ -10,12 +10,12 @@ libdnsres_la_SOURCES = res_comp.c res_de
res_data.c res_init.c res_query.c res_send.c resolv.h dnsres.h \
gethostnamadr.c getaddrinfo.c getservbyname.c getservent.c base64.c \
diff --git a/dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild b/dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild
deleted file mode 100644
index 2811d24833bf..000000000000
--- a/dev-libs/libdnsres/libdnsres-0.1a-r2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A non-blocking DNS resolver library"
-HOMEPAGE="https://www.monkey.org/~provos/libdnsres/"
-SRC_URI="https://www.monkey.org/~provos/${P}.tar.gz"
-
-LICENSE="BSD-4"
-SLOT="0"
-KEYWORDS="amd64 ~ppc sparc x86"
-
-DEPEND="dev-libs/libevent"
-RDEPEND="${DEPEND}"
-
-DOCS=( README )
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-autotools.patch"
- sed -i configure.in -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' || die
- eautoreconf
-}
diff --git a/dev-libs/libdnsres/libdnsres-0.1a-r3.ebuild b/dev-libs/libdnsres/libdnsres-0.1a-r3.ebuild
new file mode 100644
index 000000000000..2ecf5403264a
--- /dev/null
+++ b/dev-libs/libdnsres/libdnsres-0.1a-r3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools
+
+DESCRIPTION="A non-blocking DNS resolver library"
+HOMEPAGE="https://www.monkey.org/~provos/libdnsres/"
+SRC_URI="https://www.monkey.org/~provos/${P}.tar.gz"
+
+LICENSE="BSD-4"
+SLOT="0"
+KEYWORDS="amd64 ~ppc sparc x86"
+IUSE="static-libs"
+
+DEPEND="dev-libs/libevent"
+RDEPEND="${DEPEND}"
+
+DOCS=( README )
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+)
+
+src_prepare() {
+ default
+ sed -i configure.in -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' || die
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnsres/metadata.xml b/dev-libs/libdnsres/metadata.xml
index 30908933eb68..3208a9b40128 100644
--- a/dev-libs/libdnsres/metadata.xml
+++ b/dev-libs/libdnsres/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>netmon@gentoo.org</email>
diff --git a/dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild b/dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild
index 1ead61ca935b..35b59f243fb4 100644
--- a/dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild
+++ b/dev-libs/libdshconfig/libdshconfig-0.20.13.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=4
-
-inherit eutils
+EAPI=7
DESCRIPTION="Library for parsing dsh.style configuration files"
HOMEPAGE="http://www.netfort.gr.jp/~dancer/software/downloads/"
@@ -11,19 +9,17 @@ SRC_URI="http://www.netfort.gr.jp/~dancer/software/downloads/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~m68k-mint"
-IUSE="static-libs"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
-DEPEND=""
RDEPEND="virtual/ssh"
src_configure() {
- econf \
- $(use_enable static-libs static)
+ econf --disable-static
}
src_install() {
default
- prune_libtool_files --all
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libdshconfig/metadata.xml b/dev-libs/libdshconfig/metadata.xml
index 4a09d7ba8d61..15a599319f4f 100644
--- a/dev-libs/libdshconfig/metadata.xml
+++ b/dev-libs/libdshconfig/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>cluster@gentoo.org</email>
diff --git a/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild b/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild
new file mode 100644
index 000000000000..f774ab301982
--- /dev/null
+++ b/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake cuda
+
+# change each new libdynd version, to avoid git in tree dependency
+MY_GIT_SHA1=341d6d91931fdb04ad657d27ed740cf533fc925b
+
+DESCRIPTION="C++ dynamic multi-dimensionnal array library with Python exposure"
+HOMEPAGE="http://libdynd.org"
+SRC_URI="https://github.com/libdynd/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="cuda doc fftw test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+RDEPEND="
+ dev-libs/c-blosc:=
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ fftw? ( sci-libs/fftw:3.0 )
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+
+ cmake_src_prepare
+ cmake_comment_add_subdirectory examples
+
+ # fix forced cxxflags and doc installation directory
+ sed -e 's|-O3 -fomit-frame-pointer||' \
+ -e 's|-Werror||g' \
+ -e "s|docs DESTINATION docs|docs/html DESTINATION share/doc/${PF}|" \
+ -i CMakeLists.txt || die
+
+ # don't install test exec
+ sed -e 's|install(TARGETS test_libdynd||' \
+ -e 's|RUNTIME DESTINATION bin)||' \
+ -i tests/CMakeLists.txt || die
+
+ # remove the version mangling from git stuff it requires a git clone
+ # rather force set it a configure time
+ sed -e '/GetGitRev/d' \
+ -e '/get_git_/d' \
+ -e '/git_describe/d' \
+ -e '/dirty/d' \
+ -i CMakeLists.txt || die
+
+ # fix libdir, bug #701474
+ sed -i -e "s|/lib|/$(get_libdir)|" libdynd-config.in || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDYND_GIT_SHA1="${MY_GIT_SHA1}"
+ -DDYND_VERSION_STRING="v${PV}"
+ -DDYND_INSTALL_LIB=ON
+ -DDYND_SHARED_LIB=ON
+ -DDYND_BUILD_BENCHMARKS=OFF
+ -DDYND_BUILD_DOCS="$(usex doc)"
+ -DDYND_BUILD_TESTS="$(usex test)"
+ -DDYND_FFTW="$(usex fftw)"
+ )
+ use fftw && mycmakeargs+=( -DFFTW_PATH="${EPREFIX}/usr/include" )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}" || die
+ ./tests/test_libdynd || die
+}
diff --git a/dev-libs/libdynd/libdynd-0.7.2.ebuild b/dev-libs/libdynd/libdynd-0.7.2.ebuild
deleted file mode 100644
index bd2fb462f18f..000000000000
--- a/dev-libs/libdynd/libdynd-0.7.2.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils cuda
-
-# change each new libdynd version, to avoid git in tree dependency
-DYND_GIT_SHA1=341d6d91931fdb04ad657d27ed740cf533fc925b
-
-DESCRIPTION="C++ dynamic multi-dimensionnal array library with Python exposure"
-HOMEPAGE="http://libdynd.org"
-SRC_URI="https://github.com/libdynd/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="cuda doc fftw mkl test"
-
-RDEPEND="
- dev-libs/c-blosc:0=
- cuda? ( dev-util/nvidia-cuda-toolkit )
- fftw? ( sci-libs/fftw:3.0 )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen[dot] )
-"
-
-DOCS=( README.md )
-
-src_prepare() {
- use cuda && cuda_src_prepare
- cmake-utils_src_prepare
- cmake_comment_add_subdirectory examples
- # fix forced cxxflags and doc installation directory
- sed -e 's|-O3 -fomit-frame-pointer||' \
- -e 's|-Werror||g' \
- -e "s|docs DESTINATION docs|docs/html DESTINATION share/doc/${PF}|" \
- -i CMakeLists.txt || die
- # don't install test exec
- sed -e 's|install(TARGETS test_libdynd||' \
- -e 's|RUNTIME DESTINATION bin)||' \
- -i tests/CMakeLists.txt || die
- # remove the version mangling from git stuff it requires a git clone
- # rather force set it a configure time
- sed -e '/GetGitRev/d' \
- -e '/get_git_/d' \
- -e '/git_describe/d' \
- -e '/dirty/d' \
- -i CMakeLists.txt || die
- # not tested
- if use mkl; then
- sed -e "s|/opt/intel/.*|$(ls -1d ${EPREFIX}/opt/intel/compilers*)|" \
- -i tests/CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDYND_GIT_SHA1="${DYND_GIT_SHA1}"
- -DDYND_VERSION_STRING="v${PV}"
- -DDYND_INSTALL_LIB=ON
- -DDYND_SHARED_LIB=ON
- -DDYND_BUILD_BENCHMARKS=OFF
- -DDYND_BUILD_DOCS="$(usex doc)"
- -DDYND_BUILD_PLUGIN="$(usex mkl)"
- -DDYND_BUILD_TESTS="$(usex test)"
- -DDYND_CUDA="$(usex cuda)"
- -DDYND_FFTW="$(usex fftw)"
- -DFFTW_PATH="${EPREFIX}/usr/include"
- )
- cmake-utils_src_configure
-}
-
-src_test() {
- cd "${BUILD_DIR}" || die
- ./tests/test_libdynd || die
-}
diff --git a/dev-libs/libdynd/metadata.xml b/dev-libs/libdynd/metadata.xml
index 0b3978ba39fe..dc216a13aea0 100644
--- a/dev-libs/libdynd/metadata.xml
+++ b/dev-libs/libdynd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
@@ -15,10 +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>
- <flag name="mkl">Enable a plugin for Intel Math Kernel Library <pkg>sci-libs/mkl</pkg></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 22442746361c..000000000000
--- a/dev-libs/libe/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST libe-0.10.1.tar.gz 412727 BLAKE2B f9602d728e8d85ab75411bdd0e288ca66e680e527e1a679a1f513f57dfd0cbab4c0dafd78d8ae9ed94b1a106779878732ccbd5f0d6d0b0a654f069e664373e31 SHA512 aa81d6740e46accd7bfc26fcf5b53c6cc43556b897f2692cff1db563c7a5869797c540669d3bc8b4a0aee9442a7b92ef6690fa8384bb3ef38aed40f065a5ab5f
-DIST libe-0.11.0.tar.gz 414542 BLAKE2B 5b7c312b837659811cca7e64c0006fb5b3378086b82f44b5819f975a11038cc305338555d60758e1f8435672a855668ab2e6719a4a42c9c7d596ca4d35a1aa5d SHA512 178003b19f5ad2b3503a929bce131d329e5eafba9f46ae3343cf4271e248ef883b84945e642239a7cdc96185e1b975bcf62004831042c2ab232e7813efbb5339
-DIST libe-0.9.0.tar.gz 411601 BLAKE2B a9d0653e2508656eb4562e16ceda0f8fb0b8694b7d3ee4561d1f37d3ad34db562d6b40088e3655c179eab8f9099980bf8d1ffc66d248195fc39e74e17d8eea68 SHA512 711097a59814b0dac9ca26dcbc30678060dd05d05e8f1a311b3f8b0dc67ef7d4e5d2b4150f51bd881acd4dfea067c79d37841d182881f1393a73cbc7beddc492
diff --git a/dev-libs/libe/libe-0.10.1.ebuild b/dev-libs/libe/libe-0.10.1.ebuild
deleted file mode 100644
index d6bc1d4fdbf6..000000000000
--- a/dev-libs/libe/libe-0.10.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-# bit messy at the moment, next release should fix it I hope
-RESTRICT="test"
-
-DESCRIPTION="Hyperdex libe support library"
-
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-RDEPEND=">=dev-libs/libpo6-0.7.0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- sed -i -e 's/_strtoui64/strtoul/' e/convert.h || die
-}
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 be48fd2433c4..000000000000
--- a/dev-libs/libe/libe-0.11.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-# bit messy at the moment, next release should fix it I hope
-RESTRICT="test"
-
-DESCRIPTION="Hyperdex libe support library"
-
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-RDEPEND=">=dev-libs/libpo6-0.8.0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- sed -i -e 's/_strtoui64/strtoul/' e/convert.h || die
-}
diff --git a/dev-libs/libe/libe-0.9.0.ebuild b/dev-libs/libe/libe-0.9.0.ebuild
deleted file mode 100644
index 183694fbe184..000000000000
--- a/dev-libs/libe/libe-0.9.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-# bit messy at the moment, next release should fix it I hope
-RESTRICT="test"
-
-DESCRIPTION="Hyperdex libe support library"
-
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-RDEPEND=">=dev-libs/libpo6-0.6.0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- sed -i -e 's/_strtoui64/strtoul/' e/convert.h || die
-}
diff --git a/dev-libs/libe/metadata.xml b/dev-libs/libe/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/libe/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 90cef6e7e887..37734bdd9b13 100644
--- a/dev-libs/libebml/Manifest
+++ b/dev-libs/libebml/Manifest
@@ -1,3 +1,2 @@
-DIST libebml-1.3.6.tar.xz 57764 BLAKE2B 554f9d4d162d02ba05e2b1eecd688a6c25a4c727ee1a2a93cd6c4ceec94c5628ec20306dc5fa41a2dfcf189afb7a3add33b09a3bcf62f8b5f8fb2ac6657916d3 SHA512 6a31a56dcde39642848f25353a462f4621d6cfd3bc9ef62add1b00d098c6a80b3c2b50ecf4d6dd50650c609eb39a6150c6d1b69ea3a77a3928bd3300af7dd91f
-DIST libebml-1.3.7.tar.xz 69460 BLAKE2B 53cb7ab3c553cc533b025bdf1953c1de33108e506900e8df0ecafa5f88bc43b0a54611c69bd169401ddea162a1e669bde0e93dc38255b8ea24d04dd41fae9599 SHA512 ad574a73a1d2c5fbd4581991ff790ef22cfcaf5645295b06dce36235b43d552bbec3b400d3c80550c8020ed3720226fad05348c6034c444da1106439c7fd9fc1
-DIST libebml-1.3.9.tar.xz 69836 BLAKE2B d37bf9d74cb21a0c4cea3550bbd25f081e48085ba8d97d2f133e3f5da292527f0f31fc5aa3978c21f82262698877a76670b4b120e915573d339751234c4450c7 SHA512 a388fa8ff7acf9a0fb33faf9c00fc07f53794d86a4f894e04e2a690a24e781a7f380a0896e607e801a6f1f0b215407ee09a801e96d4b3e15f39ca71ec3a6d64e
+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/libebml-1.3.6.ebuild b/dev-libs/libebml/libebml-1.3.6.ebuild
deleted file mode 100644
index 77792f6ff04d..000000000000
--- a/dev-libs/libebml/libebml-1.3.6.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/4" # subslot = soname major version
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE=""
-
-src_configure() {
- local mycmakeargs=( -DBUILD_SHARED_LIBS=YES )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libebml/libebml-1.3.7.ebuild b/dev-libs/libebml/libebml-1.3.7.ebuild
deleted file mode 100644
index daa59d42571e..000000000000
--- a/dev-libs/libebml/libebml-1.3.7.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/4" # subslot = soname major version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE=""
-
-src_configure() {
- local mycmakeargs=( -DBUILD_SHARED_LIBS=YES )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libebml/libebml-1.3.9.ebuild b/dev-libs/libebml/libebml-1.3.9.ebuild
deleted file mode 100644
index 9f0d90c19ea9..000000000000
--- a/dev-libs/libebml/libebml-1.3.9.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/4" # subslot = soname major version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE=""
-
-src_configure() {
- local mycmakeargs=( -DBUILD_SHARED_LIBS=YES )
- cmake-utils_src_configure
-}
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/libebml/metadata.xml b/dev-libs/libebml/metadata.xml
index b4e118e76955..e83a3eec8271 100644
--- a/dev-libs/libebml/metadata.xml
+++ b/dev-libs/libebml/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
diff --git a/dev-libs/libedit/Manifest b/dev-libs/libedit/Manifest
index 48cf2d1eee79..53a161d35b80 100644
--- a/dev-libs/libedit/Manifest
+++ b/dev-libs/libedit/Manifest
@@ -1,2 +1 @@
-DIST libedit-20130712-3.1.tar.gz 483857 BLAKE2B 9120e9ac2f0d20841fea7d3a41fbfe2c1e79392d3b6dcfcd44517ee61d662427ea6cda312d2ec47ac92d61b9292684b8bbd8f92de0832909fadfb1b0cbbb4f81 SHA512 9fb3173a65ea2cd2ffa9af0666aa3e227b7d6be26f3e84f30ea3449b0c80fc5e91b618e939f7047bf885b96689ede93733f7eba614d4fdd1a4baff3f130b432e
-DIST libedit-20170329-3.1.tar.gz 508504 BLAKE2B 83857f2e56c1f3857e981556c4d5bb90580293a1b9b038bd08beaa2b3954ccee0b30ccdd716cca95d1811841ab8ada010084ec5cd9ab8407e996c713d0991cd8 SHA512 597ed2282240be6dc3c4a7bb8b4ade31fe16ebfeb2229e3aec58643a65882653cc91deb300343d1b1cc588959dbf95698122c4005e47dfb947efa3e6b134bb82
+DIST libedit-20221030-3.1.tar.gz 533261 BLAKE2B f4a9784cfc2a30af2778f0e05b6e45ca489555c3009ba050ea19134670ad71fdd099425dee0526dcbb6a1a84f51bd8014ce2540be0535465cb59ab998753833c SHA512 41eb46feaffa909e8790b9a9e304d5246e82ab366721196126a923d68b4d4964d0a433fe238f9d5e0a00aefb5c8cb66132150792929a793785ad091d91016f97
diff --git a/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch b/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch
deleted file mode 100644
index e230a76d709f..000000000000
--- a/dev-libs/libedit/files/libedit-20100424.3.0-bsd.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/chartype.h b/src/chartype.h
-index c35825c..be5aac0 100644
---- a/src/chartype.h
-+++ b/src/chartype.h
-@@ -44,7 +44,7 @@
- * supports non-BMP code points without requiring UTF-16, but nothing
- * seems to actually advertise this properly, despite Unicode 3.1 having
- * been around since 2001... */
--#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__))
-+#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__DragonFly__) && !defined(__FreeBSD__)
- #ifndef __STDC_ISO_10646__
- /* In many places it is assumed that the first 127 code points are ASCII
- * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch b/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch
deleted file mode 100644
index a4399593d636..000000000000
--- a/dev-libs/libedit/files/libedit-20110709.3.0-weak-reference.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- libedit-20110709-3.0/src/vi.c.old 2011-07-11 18:21:16.000000000 +0000
-+++ libedit-20110709-3.0/src/vi.c 2011-07-11 18:24:29.000000000 +0000
-@@ -918,7 +918,7 @@
- * NB: posix implies that we should enter insert mode, however
- * this is against historical precedent...
- */
--#ifdef __weak_reference
-+#if defined(__weak_reference) && defined(__NetBSD__)
- __weakref_visible char *my_get_alias_text(const char *)
- __weak_reference(get_alias_text);
- #endif
-@@ -926,7 +926,7 @@
- /*ARGSUSED*/
- vi_alias(EditLine *el, Int c)
- {
--#ifdef __weak_reference
-+#if defined(__weak_reference) && defined(__NetBSD__)
- char alias_name[3];
- char *alias_text;
-
diff --git a/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch b/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch
deleted file mode 100644
index b0b157a24fda..000000000000
--- a/dev-libs/libedit/files/libedit-20120311-3.0-el_fn_sh_complete.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-Port the el_fn_sh_complete from FreeBSD.
-This function is required by FreeBSD-9.0's sh.
-So that we can drop the bundled version in FreeBSD-9.0
-
-diff -uNr libedit-20120311-3.0/src/filecomplete.c libedit-20120311-3.0.freebsd/src/filecomplete.c
---- libedit-20120311-3.0/src/filecomplete.c 2012-03-11 09:54:58.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/filecomplete.c 2012-04-23 12:14:25.000000000 +0000
-@@ -56,6 +56,9 @@
-
- static const Char break_chars[] = { ' ', '\t', '\n', '"', '\\', '\'', '`', '@',
- '$', '>', '<', '=', ';', '|', '&', '{', '(', '\0' };
-+/* Tilde is deliberately omitted here, we treat it specially. */
-+static const Char extra_quote_chars[] = { ')', '}', '*', '?', '[', '$', '\0' };
-+
-
-
- /********************************/
-@@ -411,10 +414,14 @@
- char **(*attempted_completion_function)(const char *, int, int),
- const Char *word_break, const Char *special_prefixes,
- const char *(*app_func)(const char *), size_t query_items,
-- int *completion_type, int *over, int *point, int *end)
-+ int *completion_type, int *over, int *point, int *end,
-+ const char *(*find_word_start_func)(const char *, const char *),
-+ char *(*dequoting_func)(const char *),
-+ char *(*quoting_func)(const char *))
- {
- const TYPE(LineInfo) *li;
- Char *temp;
-+ char *dequoted_temp;
- char **matches;
- const Char *ctemp;
- size_t len;
-@@ -435,17 +442,28 @@
-
- /* We now look backwards for the start of a filename/variable word */
- li = FUN(el,line)(el);
-+ if (find_word_start_func)
-+ ctemp = ct_decode_string(find_word_start_func(ct_encode_string(li->buffer,&el->el_scratch), ct_encode_string(li->cursor,&el->el_scratch)),&el->el_scratch);
-+ else {
- ctemp = li->cursor;
- while (ctemp > li->buffer
- && !Strchr(word_break, ctemp[-1])
- && (!special_prefixes || !Strchr(special_prefixes, ctemp[-1]) ) )
- ctemp--;
-+ }
-
- len = (size_t)(li->cursor - ctemp);
- temp = el_malloc((len + 1) * sizeof(*temp));
- (void)Strncpy(temp, ctemp, len);
- temp[len] = '\0';
-
-+ if (dequoting_func) {
-+ dequoted_temp = dequoting_func(ct_encode_string(temp,&el->el_scratch));
-+ if (dequoted_temp == NULL)
-+ return retval;
-+ } else
-+ dequoted_temp = NULL;
-+
- /* these can be used by function called in completion_matches() */
- /* or (*attempted_completion_function)() */
- if (point != 0)
-@@ -456,14 +474,14 @@
- if (attempted_completion_function) {
- int cur_off = (int)(li->cursor - li->buffer);
- matches = (*attempted_completion_function)(
-- ct_encode_string(temp, &el->el_scratch),
-+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch),
- cur_off - (int)len, cur_off);
- } else
- matches = 0;
- if (!attempted_completion_function ||
- (over != NULL && !*over && !matches))
- matches = completion_matches(
-- ct_encode_string(temp, &el->el_scratch), complet_func);
-+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch), complet_func);
-
- if (over != NULL)
- *over = 0;
-@@ -478,9 +496,19 @@
- * possible matches if there is possible completion.
- */
- if (matches[0][0] != '\0') {
-+ char *quoted_match;
-+ if (quoting_func) {
-+ quoted_match = quoting_func(matches[0]);
-+ if (quoted_match == NULL)
-+ goto free_matches;
-+ } else
-+ quoted_match = NULL;
-+
- el_deletestr(el, (int) len);
- FUN(el,insertstr)(el,
-- ct_decode_string(matches[0], &el->el_scratch));
-+ ct_decode_string(quoted_match? quoted_match : matches[0], &el->el_scratch));
-+
-+ free(quoted_match);
- }
-
- if (what_to_do == '?')
-@@ -553,12 +581,14 @@
- retval = CC_NORM;
- }
-
-+free_matches:
- /* free elements of array and the array itself */
- for (i = 0; matches[i]; i++)
- el_free(matches[i]);
- el_free(matches);
- matches = NULL;
- }
-+ el_free(dequoted_temp);
- el_free(temp);
- return retval;
- }
-@@ -572,5 +602,102 @@
- {
- return (unsigned char)fn_complete(el, NULL, NULL,
- break_chars, NULL, NULL, (size_t)100,
-- NULL, NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL,
-+ NULL, NULL, NULL);
-+}
-+
-+static const char *
-+sh_find_word_start(const char *buffer, const char *cursor)
-+{
-+ const char *word_start = buffer;
-+
-+ while (buffer < cursor) {
-+ if (*buffer == '\\')
-+ buffer++;
-+ else if (Strchr(break_chars, *buffer))
-+ word_start = buffer + 1;
-+
-+ buffer++;
-+ }
-+
-+ return word_start;
-+}
-+
-+
-+static char *
-+sh_quote(const char *str)
-+{
-+ const char *src;
-+ int extra_len = 0;
-+ char *quoted_str, *dst;
-+
-+ if (*str == '-' || *str == '+')
-+ extra_len += 2;
-+ for (src = str; *src != '\0'; src++)
-+ if (Strchr(break_chars, *src) ||
-+ Strchr(extra_quote_chars, *src))
-+ extra_len++;
-+
-+ quoted_str = malloc(sizeof(*quoted_str) *
-+ (strlen(str) + extra_len + 1));
-+ if (quoted_str == NULL)
-+ return NULL;
-+
-+ dst = quoted_str;
-+ if (*str == '-' || *str == '+')
-+ *dst++ = '.', *dst++ = '/';
-+ for (src = str; *src != '\0'; src++) {
-+ if (Strchr(break_chars, *src) ||
-+ Strchr(extra_quote_chars, *src))
-+ *dst++ = '\\';
-+ *dst++ = *src;
-+ }
-+ *dst = '\0';
-+
-+ return quoted_str;
-+}
-+
-+
-+static char *
-+sh_dequote(const char *str)
-+{
-+ char *dequoted_str, *dst;
-+
-+ /* save extra space to replace \~ with ./~ */
-+ dequoted_str = malloc(sizeof(*dequoted_str) * (strlen(str) + 1 + 1));
-+ if (dequoted_str == NULL)
-+ return NULL;
-+
-+ dst = dequoted_str;
-+
-+ /* dequote \~ at start as ./~ */
-+ if (*str == '\\' && str[1] == '~') {
-+ str++;
-+ *dst++ = '.';
-+ *dst++ = '/';
-+ }
-+
-+ while (*str) {
-+ if (*str == '\\')
-+ str++;
-+ if (*str)
-+ *dst++ = *str++;
-+ }
-+ *dst = '\0';
-+
-+ return dequoted_str;
-+}
-+
-+
-+/*
-+ * completion function using sh quoting rules; for key binding
-+ */
-+/* ARGSUSED */
-+unsigned char
-+_el_fn_sh_complete(EditLine *el, int ch __attribute__((__unused__)))
-+{
-+ return (unsigned char)fn_complete(el, NULL, NULL,
-+ break_chars, NULL, NULL, 100,
-+ NULL, NULL, NULL, NULL,
-+ sh_find_word_start, sh_dequote, sh_quote);
- }
-diff -uNr libedit-20120311-3.0/src/filecomplete.h libedit-20120311-3.0.freebsd/src/filecomplete.h
---- libedit-20120311-3.0/src/filecomplete.h 2010-04-22 19:13:17.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/filecomplete.h 2012-04-23 12:04:12.000000000 +0000
-@@ -35,7 +35,10 @@
- char *(*)(const char *, int),
- char **(*)(const char *, int, int),
- const Char *, const Char *, const char *(*)(const char *), size_t,
-- int *, int *, int *, int *);
-+ int *, int *, int *, int *,
-+ const char *(*)(const char *, const char *),
-+ char *(*)(const char *),
-+ char *(*)(const char *));
-
- void fn_display_match_list(EditLine *, char **, size_t, size_t);
- char *fn_tilde_expand(const char *);
-Binary files libedit-20120311-3.0/src/filecomplete.o and libedit-20120311-3.0.freebsd/src/filecomplete.o differ
-diff -uNr libedit-20120311-3.0/src/histedit.h libedit-20120311-3.0.freebsd/src/histedit.h
---- libedit-20120311-3.0/src/histedit.h 2011-08-02 06:52:08.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/histedit.h 2012-04-23 11:44:33.000000000 +0000
-@@ -113,6 +113,7 @@
- int el_set(EditLine *, int, ...);
- int el_get(EditLine *, int, ...);
- unsigned char _el_fn_complete(EditLine *, int);
-+unsigned char _el_fn_sh_complete(EditLine *, int);
-
- /*
- * el_set/el_get parameters
-diff -ur libedit-20120311-3.0/src/readline.c libedit-20120311-3.0.freebsd/src/readline.c
---- libedit-20120311-3.0/src/readline.c 2012-03-11 09:54:58.000000000 +0000
-+++ libedit-20120311-3.0.freebsd/src/readline.c 2012-04-23 12:20:11.000000000 +0000
-@@ -1773,7 +1773,7 @@
- _rl_completion_append_character_function,
- (size_t)rl_completion_query_items,
- &rl_completion_type, &rl_attempted_completion_over,
-- &rl_point, &rl_end);
-+ &rl_point, &rl_end, NULL, NULL, NULL);
-
-
- }
diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch b/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch
deleted file mode 100644
index c54f27600e34..000000000000
--- a/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch
+++ /dev/null
@@ -1,249 +0,0 @@
---- libedit-20170329-3.1/src/filecomplete.c 2017-03-29 21:15:04.000000000 +0300
-+++ libedit-20170329-3.1/src/filecomplete.c 2017-05-21 02:23:16.000000000 +0300
-@@ -51,6 +51,7 @@
- #include "filecomplete.h"
-
- static const wchar_t break_chars[] = L" \t\n\"\\'`@$><=;|&{(";
-+static const wchar_t extra_quote_chars[] = L")}*?[$\0";
-
- /********************************/
- /* completion functions */
-@@ -405,10 +406,14 @@
- char **(*attempted_completion_function)(const char *, int, int),
- const wchar_t *word_break, const wchar_t *special_prefixes,
- const char *(*app_func)(const char *), size_t query_items,
-- int *completion_type, int *over, int *point, int *end)
-+ int *completion_type, int *over, int *point, int *end,
-+ const char *(*find_word_start_func)(const char *, const char *),
-+ char *(*dequoting_func)(const char *),
-+ char *(*quoting_func)(const char *))
- {
- const LineInfoW *li;
- wchar_t *temp;
-+ char *dequoted_temp;
- char **matches;
- const wchar_t *ctemp;
- size_t len;
-@@ -429,17 +434,28 @@
-
- /* We now look backwards for the start of a filename/variable word */
- li = el_wline(el);
-+ if (find_word_start_func)
-+ ctemp = ct_decode_string(find_word_start_func(ct_encode_string(li->buffer,&el->el_scratch), ct_encode_string(li->cursor,&el->el_scratch)),&el->el_scratch);
-+ else {
- ctemp = li->cursor;
- while (ctemp > li->buffer
- && !wcschr(word_break, ctemp[-1])
- && (!special_prefixes || !wcschr(special_prefixes, ctemp[-1]) ) )
- ctemp--;
-+ }
-
- len = (size_t)(li->cursor - ctemp);
- temp = el_malloc((len + 1) * sizeof(*temp));
- (void)wcsncpy(temp, ctemp, len);
- temp[len] = '\0';
-
-+ if (dequoting_func) {
-+ dequoted_temp = dequoting_func(ct_encode_string(temp,&el->el_scratch));
-+ if (dequoted_temp == NULL)
-+ return retval;
-+ } else
-+ dequoted_temp = NULL;
-+
- /* these can be used by function called in completion_matches() */
- /* or (*attempted_completion_function)() */
- if (point != NULL)
-@@ -450,14 +466,14 @@
- if (attempted_completion_function) {
- int cur_off = (int)(li->cursor - li->buffer);
- matches = (*attempted_completion_function)(
-- ct_encode_string(temp, &el->el_scratch),
-+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch),
- cur_off - (int)len, cur_off);
- } else
- matches = NULL;
- if (!attempted_completion_function ||
- (over != NULL && !*over && !matches))
- matches = completion_matches(
-- ct_encode_string(temp, &el->el_scratch), complet_func);
-+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch), complet_func);
-
- if (over != NULL)
- *over = 0;
-@@ -472,9 +488,18 @@
- * possible matches if there is possible completion.
- */
- if (matches[0][0] != '\0') {
-+ char *quoted_match;
-+ if (quoting_func) {
-+ quoted_match = quoting_func(matches[0]);
-+ if (quoted_match == NULL)
-+ goto free_matches;
-+ } else
-+ quoted_match = NULL;
-+
- el_deletestr(el, (int) len);
- el_winsertstr(el,
-- ct_decode_string(matches[0], &el->el_scratch));
-+ ct_decode_string(quoted_match? quoted_match : matches[0], &el->el_scratch));
-+ free(quoted_match);
- }
-
-
-@@ -545,12 +570,14 @@
- retval = CC_NORM;
- }
-
-+free_matches:
- /* free elements of array and the array itself */
- for (i = 0; matches[i]; i++)
- el_free(matches[i]);
- el_free(matches);
- matches = NULL;
- }
-+ el_free(dequoted_temp);
- el_free(temp);
- return retval;
- }
-@@ -564,5 +591,102 @@
- {
- return (unsigned char)fn_complete(el, NULL, NULL,
- break_chars, NULL, NULL, (size_t)100,
-- NULL, NULL, NULL, NULL);
-+ NULL, NULL, NULL, NULL,
-+ NULL, NULL, NULL);
-+}
-+
-+static const char *
-+sh_find_word_start(const char *buffer, const char *cursor)
-+{
-+ const char *word_start = buffer;
-+
-+ while (buffer < cursor) {
-+ if (*buffer == '\\')
-+ buffer++;
-+ else if (strchr(break_chars, *buffer))
-+ word_start = buffer + 1;
-+
-+ buffer++;
-+ }
-+
-+ return word_start;
-+}
-+
-+
-+static char *
-+sh_quote(const char *str)
-+{
-+ const char *src;
-+ int extra_len = 0;
-+ char *quoted_str, *dst;
-+
-+ if (*str == '-' || *str == '+')
-+ extra_len += 2;
-+ for (src = str; *src != '\0'; src++)
-+ if (strchr(break_chars, *src) ||
-+ strchr(extra_quote_chars, *src))
-+ extra_len++;
-+
-+ quoted_str = malloc(sizeof(*quoted_str) *
-+ (strlen(str) + extra_len + 1));
-+ if (quoted_str == NULL)
-+ return NULL;
-+
-+ dst = quoted_str;
-+ if (*str == '-' || *str == '+')
-+ *dst++ = '.', *dst++ = '/';
-+ for (src = str; *src != '\0'; src++) {
-+ if (strchr(break_chars, *src) ||
-+ strchr(extra_quote_chars, *src))
-+ *dst++ = '\\';
-+ *dst++ = *src;
-+ }
-+ *dst = '\0';
-+
-+ return quoted_str;
-+}
-+
-+
-+static char *
-+sh_dequote(const char *str)
-+{
-+ char *dequoted_str, *dst;
-+
-+ /* save extra space to replace \~ with ./~ */
-+ dequoted_str = malloc(sizeof(*dequoted_str) * (strlen(str) + 1 + 1));
-+ if (dequoted_str == NULL)
-+ return NULL;
-+
-+ dst = dequoted_str;
-+
-+ /* dequote \~ at start as ./~ */
-+ if (*str == '\\' && str[1] == '~') {
-+ str++;
-+ *dst++ = '.';
-+ *dst++ = '/';
-+ }
-+
-+ while (*str) {
-+ if (*str == '\\')
-+ str++;
-+ if (*str)
-+ *dst++ = *str++;
-+ }
-+ *dst = '\0';
-+
-+ return dequoted_str;
-+}
-+
-+
-+/*
-+ * completion function using sh quoting rules; for key binding
-+ */
-+/* ARGSUSED */
-+unsigned char
-+_el_fn_sh_complete(EditLine *el, int ch __attribute__((__unused__)))
-+{
-+ return (unsigned char)fn_complete(el, NULL, NULL,
-+ break_chars, NULL, NULL, 100,
-+ NULL, NULL, NULL, NULL,
-+ sh_find_word_start, sh_dequote, sh_quote);
- }
-
---- libedit-20170329-3.1/src/readline.c 2017-03-29 21:15:04.000000000 +0300
-+++ libedit-20170329-3.1/src/readline.c 2017-05-21 02:24:57.000000000 +0300
-@@ -1869,7 +1869,7 @@
- _rl_completion_append_character_function,
- (size_t)rl_completion_query_items,
- &rl_completion_type, &rl_attempted_completion_over,
-- &rl_point, &rl_end);
-+ &rl_point, &rl_end, NULL, NULL, NULL);
-
-
- }
-
---- libedit-20170329-3.1/src/histedit.h 2017-03-29 21:08:21.000000000 +0300
-+++ libedit-20170329-3.1/src/histedit.h 2017-05-21 02:32:04.000000000 +0300
-@@ -113,6 +113,7 @@
- int el_set(EditLine *, int, ...);
- int el_get(EditLine *, int, ...);
- unsigned char _el_fn_complete(EditLine *, int);
-+unsigned char _el_fn_sh_complete(EditLine *, int);
-
- /*
- * el_set/el_get parameters
-
---- libedit-20170329-3.1/src/filecomplete.h 2017-03-29 21:08:21.000000000 +0300
-+++ libedit-20170329-3.1/src/filecomplete.h 2017-05-21 02:32:27.000000000 +0300
-@@ -35,7 +35,10 @@
- char *(*)(const char *, int),
- char **(*)(const char *, int, int),
- const wchar_t *, const wchar_t *, const char *(*)(const char *), size_t,
-- int *, int *, int *, int *);
-+ int *, int *, int *, int *,
-+ const char *(*)(const char *, const char *),
-+ char *(*)(const char *),
-+ char *(*)(const char *));
-
- void fn_display_match_list(EditLine *, char **, size_t, size_t);
- char *fn_tilde_expand(const char *);
diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch b/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch
deleted file mode 100644
index 1d5432fac0be..000000000000
--- a/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libedit-20170329-3.1/libedit.pc.in 2017-03-29 21:08:21.000000000 +0300
-+++ libedit-20170329-3.1/libedit.pc.in 2017-05-21 01:28:55.000000000 +0300
-@@ -7,5 +7,6 @@
- Description: command line editor library provides generic line editing, history, and tokenization functions.
- Version: @VERSION@
- Requires:
--Libs: -L${libdir} -ledit @LIBS@
-+Libs: -L${libdir} -ledit
-+Libs.private: @LIBS@
- Cflags: -I${includedir} -I${includedir}/editline
diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch b/dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch
deleted file mode 100644
index e52b2559aa75..000000000000
--- a/dev-libs/libedit/files/libedit-20170329.3.1-tinfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7aa660fd9d446567d3280765ba2a50a46b2a9159 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 12 Jun 2017 21:36:54 +0200
-Subject: [PATCH] configure: Support -ltinfo as split in newer ncurses
-
-The newer versions of ncurses support building terminfo routines
-as a split -ltinfo library. Account for that by adding this library
-to the search list.
----
- configure.ac | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9a571b2..5d714b5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -49,7 +49,9 @@ EL_MANTYPE
- AC_CHECK_LIB(ncurses, tgetent,,
- [AC_CHECK_LIB(curses, tgetent,,
- [AC_CHECK_LIB(termcap, tgetent,,
-- [AC_MSG_ERROR([libncurses, libcurses, or libtermcap is required!])]
-+ [AC_CHECK_LIB(tinfo, tgetent,,
-+ [AC_MSG_ERROR([libncurses, libcurses, libtermcap or libtinfo is required!])]
-+ )]
- )]
- )]
- )
---
-2.13.1
-
diff --git a/dev-libs/libedit/files/libedit-ncursesprivate.patch b/dev-libs/libedit/files/libedit-ncursesprivate.patch
deleted file mode 100644
index 0af9b1b882a3..000000000000
--- a/dev-libs/libedit/files/libedit-ncursesprivate.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: libedit-20110709-3.0/libedit.pc.in
-===================================================================
---- libedit-20110709-3.0.orig/libedit.pc.in
-+++ libedit-20110709-3.0/libedit.pc.in
-@@ -7,6 +7,7 @@ Name: libedit
- Description: command line editor library provides generic line editing, history, and tokenization functions.
- Version: @VERSION@
- Requires:
--Libs: -L${libdir} -ledit @LIBS@
-+Libs: -L${libdir} -ledit
-+Libs.private: @LIBS@
- Cflags: -I${includedir} -I${includedir}/editline
-
diff --git a/dev-libs/libedit/libedit-20130712.3.1.ebuild b/dev-libs/libedit/libedit-20130712.3.1.ebuild
deleted file mode 100644
index 6bf68ac10f6f..000000000000
--- a/dev-libs/libedit/libedit-20130712.3.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils toolchain-funcs versionator base multilib-minimal
-
-MY_PV=$(get_major_version)-$(get_after_major_version)
-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"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs"
-
-DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
- !<=sys-freebsd/freebsd-lib-6.2_rc1"
-
-RDEPEND=${DEPEND}
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-ncursesprivate.patch"
- "${FILESDIR}/${PN}-20100424.3.0-bsd.patch"
- "${FILESDIR}/${PN}-20110709.3.0-weak-reference.patch"
- "${FILESDIR}/${PN}-20120311-3.0-el_fn_sh_complete.patch"
- )
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable static-libs static) \
- --enable-widec \
- --enable-fast-install
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- gen_usr_ldscript -a edit
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
-}
diff --git a/dev-libs/libedit/libedit-20170329.3.1.ebuild b/dev-libs/libedit/libedit-20170329.3.1.ebuild
deleted file mode 100644
index 19cad65d54ad..000000000000
--- a/dev-libs/libedit/libedit-20170329.3.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-inherit autotools multilib-minimal toolchain-funcs
-
-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"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs"
-
-DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}]
- !<=sys-freebsd/freebsd-lib-6.2_rc1"
-
-RDEPEND=${DEPEND}
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${P}-ncursesprivate.patch"
- "${FILESDIR}/${P}-el_fn_sh_complete.patch"
- "${FILESDIR}/${P}-tinfo.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable static-libs static) \
- --enable-widec \
- --enable-fast-install
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- gen_usr_ldscript -a edit
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
- # file collission 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/libedit/metadata.xml b/dev-libs/libedit/metadata.xml
index 21c15532409c..ba71171347be 100644
--- a/dev-libs/libedit/metadata.xml
+++ b/dev-libs/libedit/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>bsd@gentoo.org</email>
- <name>BSD Project</name>
+<maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
</maintainer>
<longdescription>
GNU Readline is cool, but BSD Readline is cooler :)
diff --git a/dev-libs/libee/libee-0.4.1.ebuild b/dev-libs/libee/libee-0.4.1.ebuild
index 266f15686957..0c199a5b8e31 100644
--- a/dev-libs/libee/libee-0.4.1.ebuild
+++ b/dev-libs/libee/libee-0.4.1.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=4
-
-inherit autotools-utils
+EAPI=7
DESCRIPTION="An Event Expression Library inspired by CEE"
HOMEPAGE="http://www.libee.org"
@@ -11,23 +9,30 @@ 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 static-libs"
-
-DEPEND="dev-libs/libxml2
- dev-libs/libestr"
-RDEPEND="${DEPEND}"
+KEYWORDS="amd64 arm ~arm64 ~hppa x86 ~amd64-linux"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
-DOCS=(INSTALL ChangeLog)
+RDEPEND="
+ dev-libs/libxml2
+ dev-libs/libestr
+"
+DEPEND="${RDEPEND}"
src_configure() {
- local myeconfargs=(
+ econf \
+ --disable-static \
+ $(use_enable test testbench) \
$(use_enable debug)
- --enable-testbench
- )
- autotools-utils_src_configure
}
src_compile() {
- autotools-utils_src_compile -j1
+ emake -j1
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${D}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libee/metadata.xml b/dev-libs/libee/metadata.xml
index 6393d294e803..85e4ed814fa2 100644
--- a/dev-libs/libee/metadata.xml
+++ b/dev-libs/libee/metadata.xml
@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
-</maintainer>
-<maintainer type="person">
- <email>maksbotan@gentoo.org</email>
-</maintainer>
+<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libei/Manifest b/dev-libs/libei/Manifest
new file mode 100644
index 000000000000..14d671e41b99
--- /dev/null
+++ b/dev-libs/libei/Manifest
@@ -0,0 +1,2 @@
+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.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 f0832e2e44a8..000000000000
--- a/dev-libs/libelf/libelf-0.8.13-r2.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 eutils multilib 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 -amd64-fbsd -x86-fbsd ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug nls elibc_FreeBSD"
-
-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 || die
-
- # Stop libelf from stamping on the system nlist.h
- use elibc_FreeBSD && rm "${ED}"/usr/include/nlist.h
-}
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 d920e3ba3e56..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 5b85c0f85334..1ed127df771d 100644
--- a/dev-libs/liberasurecode/Manifest
+++ b/dev-libs/liberasurecode/Manifest
@@ -1 +1 @@
-DIST liberasurecode-1.6.1.tar.gz 209761 BLAKE2B 94c26cd49e3181a02908c5379dec69da4e37501c7c0123e63d368c3c19b72f344f2246bfabfa5e7e0aee547f6a746ca5aa1f72ff4370c975425d68abe00c07ed SHA512 7d0fa00b12bc561272573f4425bdecab3c2f0f40914f50adfd471b464232047de70036f4cfbda5f93f843afbfc60ecc0afb40705bb772453c4956565083bb2d0
+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.1.ebuild b/dev-libs/liberasurecode/liberasurecode-1.6.1.ebuild
deleted file mode 100644
index 33fa909f7486..000000000000
--- a/dev-libs/liberasurecode/liberasurecode-1.6.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils multilib toolchain-funcs
-
-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"
-
-RDEPEND=""
-DEPEND="sys-devel/autoconf
- 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
- prune_libtool_files
-}
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/liberasurecode/metadata.xml b/dev-libs/liberasurecode/metadata.xml
index ce845822cbbe..901c45b08d93 100644
--- a/dev-libs/liberasurecode/metadata.xml
+++ b/dev-libs/liberasurecode/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
diff --git a/dev-libs/libestr/Manifest b/dev-libs/libestr/Manifest
index ae5c01b43874..fe33ee71ad1c 100644
--- a/dev-libs/libestr/Manifest
+++ b/dev-libs/libestr/Manifest
@@ -1,2 +1 @@
-DIST libestr-0.1.10.tar.gz 336122 BLAKE2B 7a157d030415bbdc8c289061c4ce1ddac4fdfd7356e82857afbf9a8d6ff4bee0a0b98f2e39c4adb69a0349c33a29f1cdd90ec901c3501c0fcafb45faecbfea7c SHA512 477b06e2b6ea9b2e34fe0d91328c9191a678b173751e595359c05772db50a4d348ac132bec0c926fba91ceccc013e15cd4cc57a6b734874c06073bf23151bac7
DIST libestr-0.1.11.tar.gz 355544 BLAKE2B c165212c4a56ee577a76dbb95dfe9d08d84087d490422d4fb7c29cadc5b5d0eed97234369331286433e2d860d3cfa8af3117d3ff94e8833df91f6586905ad2c8 SHA512 0ab98c2fa4b58cf6fee89c88602725b8b5e8e5a171a6976cdd8cff4dfc1cd3e5b747868da74fccd1bca66b9fa524ceae1c4f1ad5ee653a44ff81df6916ab5328
diff --git a/dev-libs/libestr/libestr-0.1.10.ebuild b/dev-libs/libestr/libestr-0.1.10.ebuild
deleted file mode 100644
index c02a15e70051..000000000000
--- a/dev-libs/libestr/libestr-0.1.10.ebuild
+++ /dev/null
@@ -1,40 +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 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"
-
-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/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 9a94a5700650..000000000000
--- a/dev-libs/libestr/libestr-0.1.11.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 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"
-
-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 363a45aabdf8..c9f48fd2bf41 100644
--- a/dev-libs/libestr/metadata.xml
+++ b/dev-libs/libestr/metadata.xml
@@ -1,16 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
- <maintainer type="person">
- <email>maksbotan@gentoo.org</email>
- <name>Maxim Koltsov</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/rsyslog/libestr/issues</bugs-to>
- <remote-id type="github">rsyslog/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/Manifest b/dev-libs/libev/Manifest
index ff478b40c0b5..88ac5d5ab5bd 100644
--- a/dev-libs/libev/Manifest
+++ b/dev-libs/libev/Manifest
@@ -1,3 +1 @@
-DIST libev-4.23.tar.gz 524184 BLAKE2B bb8c15665e0ff59322bc2f076f4256ca8f5acff5bc55bb3f5f10ac9704f9311ad90f581e4ced25dcc22c39988ffacce1958f195234a60039d33ba7b7beb9aee2 SHA512 e3d98364b3788a7f5c56be49b99cecc98da6323fc7e6d47aff808580653ab9effffe88636a2f5d357d596a9a580e778c20139cc162467e3e2c5fc736713c6e39
-DIST libev-4.24.tar.gz 524264 BLAKE2B 92a480cfba67119c630211b9acfadfa2dc6ab1806ed015cca693829fa6deedeb4fc5530aa47e0a0d21304b0f626136110596ccdbeb75bc13ea5d23eeca7b9ded SHA512 e4cb3b5dd4b9828d5b8da840c73ae4604258a8c4330aafa5472298b83bf944628f36918f0ddd47d9069d255639f0b24a2cf8d349f0644ffd50de823bcb54a31a
-DIST libev-4.25.tar.gz 545817 BLAKE2B a6ce69ba0a5824afc9e49afa8dba67f15b5945bb01104733c2a9478265fa78908ea26b6594c00f210c86eaef936956c16d3a55cb91a834501da0a6db12caf201 SHA512 83455d4dcb626a28d8477aaea27cdee6bc88b273fae926a57eed9f6a59d4b0ea2eef0f41ad09ff711aea2956ed83a591aa53cfe8aa242f7d0a4da19180d764c4
+DIST libev-4.33.tar.gz 569527 BLAKE2B 8a6cae25ffde10b24a5bbf084f6a8559af326b37acdbdf47dda34b7f0c7955f3ebd26958594444a574cfa3e2b4011e4be93ad2bd994ffd4c094bf36620e67ba5 SHA512 c662a65360115e0b2598e3e8824cf7b33360c43a96ac9233f6b6ea2873a10102551773cad0e89e738541e75af9fd4f3e3c11cd2f251c5703aa24f193128b896b
diff --git a/dev-libs/libev/files/libev-pc.patch b/dev-libs/libev/files/libev-pc.patch
deleted file mode 100644
index a2a4c62a1ac8..000000000000
--- a/dev-libs/libev/files/libev-pc.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- /dev/null
-+++ b/libev.pc.in
-@@ -0,0 +1,11 @@
-+prefix=@prefix@
-+exec_prefix=@prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: libev
-+Description: A high-performance event loop/event model with lots of features
-+Version: @VERSION@
-+Libs: -L${libdir} -lev
-+Libs.private:
-+Cflags: -I${includedir}
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -16,5 +16,8 @@ lib_LTLIBRARIES = libev.la
- libev_la_SOURCES = ev.c event.c
- libev_la_LDFLAGS = -version-info $(VERSION_INFO)
-
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = libev.pc
-+
- ev.3: ev.pod
- pod2man -n LIBEV -r "libev-$(VERSION)" -c "libev - high performance full featured event loop" -s3 <$< >$@
---- a/configure.ac
-+++ b/configure.ac
-@@ -2,6 +2,7 @@ orig_CFLAGS="$CFLAGS"
-
- AC_INIT
- AC_CONFIG_SRCDIR([ev_epoll.c])
-+AC_CONFIG_MACRO_DIR([m4])
-
- AM_INIT_AUTOMAKE(libev,4.11) dnl also update ev.h!
- AC_CONFIG_HEADERS([config.h])
-@@ -21,5 +22,5 @@ AC_PROG_LIBTOOL
-
- m4_include([libev.m4])
-
--AC_CONFIG_FILES([Makefile])
-+AC_CONFIG_FILES([Makefile libev.pc])
- AC_OUTPUT
diff --git a/dev-libs/libev/libev-4.23.ebuild b/dev-libs/libev/libev-4.23.ebuild
deleted file mode 100644
index f325fb0596a8..000000000000
--- a/dev-libs/libev/libev-4.23.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils multilib-minimal
-
-DESCRIPTION="A high-performance event loop/event model with lots of feature"
-HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
-SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
- http://dist.schmorp.de/libev/Attic/${P}.tar.gz"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="elibc_glibc static-libs"
-
-# Bug #283558
-DEPEND="elibc_glibc? ( >=sys-libs/glibc-2.9_p20081201 )"
-RDEPEND="${DEPEND}"
-
-DOCS=( Changes README )
-
-src_prepare() {
- sed -i -e "/^include_HEADERS/s/ event.h//" Makefile.am || die
-
- # bug #411847
- epatch "${FILESDIR}/${PN}-pc.patch"
-
- epatch_user
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf \
- --disable-maintainer-mode \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || prune_libtool_files
- einstalldocs
-}
diff --git a/dev-libs/libev/libev-4.24.ebuild b/dev-libs/libev/libev-4.24.ebuild
deleted file mode 100644
index 162849edf9e4..000000000000
--- a/dev-libs/libev/libev-4.24.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils multilib-minimal
-
-DESCRIPTION="A high-performance event loop/event model with lots of feature"
-HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
-SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
- http://dist.schmorp.de/libev/Attic/${P}.tar.gz"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="elibc_glibc static-libs"
-
-# Bug #283558
-DEPEND="elibc_glibc? ( >=sys-libs/glibc-2.9_p20081201 )"
-RDEPEND="${DEPEND}"
-
-DOCS=( Changes README )
-
-src_prepare() {
- sed -i -e "/^include_HEADERS/s/ event.h//" Makefile.am || die
-
- # bug #411847
- epatch "${FILESDIR}/${PN}-pc.patch"
-
- epatch_user
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf \
- --disable-maintainer-mode \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || prune_libtool_files
- einstalldocs
-}
diff --git a/dev-libs/libev/libev-4.25.ebuild b/dev-libs/libev/libev-4.25.ebuild
deleted file mode 100644
index b2ac07e21a86..000000000000
--- a/dev-libs/libev/libev-4.25.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools eutils multilib-minimal
-
-DESCRIPTION="A high-performance event loop/event model with lots of feature"
-HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
-SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
- http://dist.schmorp.de/libev/Attic/${P}.tar.gz"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="elibc_glibc static-libs"
-
-# Bug #283558
-DEPEND="elibc_glibc? ( >=sys-libs/glibc-2.9_p20081201 )"
-RDEPEND="${DEPEND}"
-
-DOCS=( Changes README )
-
-# bug #411847
-PATCHES=( "${FILESDIR}/${P}-pc.patch" )
-
-src_prepare() {
- default
- sed -i -e "/^include_HEADERS/s/ event.h//" Makefile.am || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf \
- --disable-maintainer-mode \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- if ! use static-libs; then
- find "${D}" -name '*.la' -type f -delete || die
- fi
- einstalldocs
-}
diff --git a/dev-libs/libev/libev-4.33.ebuild b/dev-libs/libev/libev-4.33.ebuild
new file mode 100644
index 000000000000..b8ffdb37c3da
--- /dev/null
+++ b/dev-libs/libev/libev-4.33.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+SRC_URI="http://dist.schmorp.de/libev/${P}.tar.gz
+ http://dist.schmorp.de/libev/Attic/${P}.tar.gz"
+
+LICENSE="|| ( BSD GPL-2 )"
+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"
+
+DOCS=( Changes README )
+
+# bug #411847
+PATCHES=( "${FILESDIR}/${PN}-4.25-pc.patch" )
+
+src_prepare() {
+ default
+ sed -i -e "/^include_HEADERS/s/ event.h//" Makefile.am || die
+
+ 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 \
+ --disable-maintainer-mode \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -type f -delete || die
+ fi
+
+ einstalldocs
+}
diff --git a/dev-libs/libev/metadata.xml b/dev-libs/libev/metadata.xml
index 3398ef8b263c..5b78add3e663 100644
--- a/dev-libs/libev/metadata.xml
+++ b/dev-libs/libev/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dlan@gentoo.org</email>
diff --git a/dev-libs/libevdev/Manifest b/dev-libs/libevdev/Manifest
index 302912964e40..2892eb9d590c 100644
--- a/dev-libs/libevdev/Manifest
+++ b/dev-libs/libevdev/Manifest
@@ -1,2 +1 @@
-DIST libevdev-1.6.0.tar.xz 411512 BLAKE2B 0e9190fd4c28b36bcf325953aa634c0d8c604cef7f56e46679fc88351536d78b0bddedbbdfffe4164e0039c7d56ef604b143e23de2c4bb9a66653a03d6844fa9 SHA512 73046da447773716c9f0c9f511f3a0a6ababcf92a146eba363014afcbdb465f4c3cd8be0917f2f01561a72f24f20fe8ecd333467437d9d85c03afcb433d05060
-DIST libevdev-1.7.0.tar.xz 438264 BLAKE2B 3f71ccdfbd68598afed7316dd4902a8ac439c6f094788abed5cb8ed24acaf070edaeceefad17de51cadb039259aa0de6a8ec576fa1f8dbd60878ee75aeb39fde SHA512 bc43723fd1ca251a77ee549022609f73c15a33ae470fc843ac687542fb1938fba4d046d3ee1dc814bc38a4292a7f2ad9e71fcce45525b518a4f4a5bef099aa6f
+DIST libevdev-1.13.1.tar.xz 455484 BLAKE2B 063eefeebebf5253ce23666e31d67d7268ad97e09f84e0e3a02b1024a92f68e1a4f1fc2508304abf49ab05dba4961b49463b640a18c79ea38ca0c5a9d8bf3e9c SHA512 9b75bad4bc13948854c8dff7a7a46aca6c06d1410ccb000f881bf76055ccac040595c3b24fb1a574be875b5c262eb86820b9ec3383752641bc2047135e5a412f
diff --git a/dev-libs/libevdev/libevdev-1.13.1-r1.ebuild b/dev-libs/libevdev/libevdev-1.13.1-r1.ebuild
new file mode 100644
index 000000000000..300b0dba54e8
--- /dev/null
+++ b/dev-libs/libevdev/libevdev-1.13.1-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson-multilib python-any-r1
+
+DESCRIPTION="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-1.6.0.ebuild b/dev-libs/libevdev/libevdev-1.6.0.ebuild
deleted file mode 100644
index f0285f910878..000000000000
--- a/dev-libs/libevdev/libevdev-1.6.0.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
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-
-inherit multilib-minimal 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 autotools git-r3
-else
- SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc static-libs"
-
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
-"
-RESTRICT="test" # Tests need to run as root.
-
-src_prepare() {
- default
- [[ ${PV} == 9999* ]] && eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- if use doc ;then
- local HTML_DOCS=( doc/html/. )
- einstalldocs
- fi
-}
diff --git a/dev-libs/libevdev/libevdev-1.7.0.ebuild b/dev-libs/libevdev/libevdev-1.7.0.ebuild
deleted file mode 100644
index de4291783ff5..000000000000
--- a/dev-libs/libevdev/libevdev-1.7.0.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
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-
-inherit multilib-minimal 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 autotools git-r3
-else
- SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~mips ~ppc ~ppc64 s390 ~sh sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc static-libs"
-
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
-"
-RESTRICT="test" # Tests need to run as root.
-
-src_prepare() {
- default
- [[ ${PV} == 9999* ]] && eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- 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 c32b139bc873..5016bca432b7 100644
--- a/dev-libs/libevdev/libevdev-9999.ebuild
+++ b/dev-libs/libevdev/libevdev-9999.ebuild
@@ -1,47 +1,49 @@
-# 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
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit multilib-minimal python-any-r1
+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 autotools git-r3
+ 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 ~s390 ~sh ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="MIT"
SLOT="0"
-IUSE="doc static-libs"
+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" # Tests need to run as root.
+RESTRICT="!test? ( test )"
-src_prepare() {
- default
- [[ ${PV} == 9999* ]] && eautoreconf
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_feature doc documentation)
+ $(meson_feature test tests)
+ )
+ meson_src_configure
}
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
+multilib_src_test() {
+ meson_src_test -t 100
}
-multilib_src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- if use doc ;then
+multilib_src_install_all() {
+ if use doc; then
local HTML_DOCS=( doc/html/. )
einstalldocs
fi
diff --git a/dev-libs/libevdev/metadata.xml b/dev-libs/libevdev/metadata.xml
index e943b72b8a48..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 ee99d13b7a94..cfc3c56e4cb7 100644
--- a/dev-libs/libevent/Manifest
+++ b/dev-libs/libevent/Manifest
@@ -1,2 +1,4 @@
-DIST libevent-2.1.10.tar.gz 1074897 BLAKE2B 15c86f9d82a54912dc8ebde54192e77dc105a9b7fab215a3ba0b85de31e9caccef8aa02ace0172e22ee394cff0e7b5a4e8ff2a8c5c3e472378630f66b1c0d33b SHA512 2a449b60c5bba0908f693d3169a2941f0952b462ea18cf3c7a7288cd902592f35a42c76096af502f04259ffce2567233fda3586578c2ac53fbfce6e00d35c086
-DIST libevent-2.1.8.tar.gz 1026485 BLAKE2B f1ceb740aa776a7c26f52916d771af7f4bb351cadf858ef991ab015e5897e34579c6af1f4ed3b516d5be2ac7cb3a7c27ac9d3020dbb04ac7670118616a264561 SHA512 a2fd3dd111e73634e4aeb1b29d06e420b15c024d7b47778883b5f8a4ff320b5057a8164c6d50b53bd196c79d572ce2639fe6265e03a93304b09c22b41e4c2a17
+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.10.ebuild b/dev-libs/libevent/libevent-2.1.10.ebuild
deleted file mode 100644
index 89ba66189985..000000000000
--- a/dev-libs/libevent/libevent-2.1.10.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 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-6"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug libressl +ssl static-libs test +threads"
-
-DEPEND="
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl: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.8.ebuild b/dev-libs/libevent/libevent-2.1.8.ebuild
deleted file mode 100644
index abe87a0df52a..000000000000
--- a/dev-libs/libevent/libevent-2.1.8.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools eutils 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"
-# libevent-2.1.so.6
-SLOT="0/2.1-6"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug libressl +ssl static-libs test +threads"
-
-DEPEND="
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl:=[${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
- eautoreconf
-}
-
-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
- prune_libtool_files
-}
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 0a40893390d8..000000000000
--- a/dev-libs/libevent/libevent-2.1.9999.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2019 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/
- ${EGIT_REPO_URI}
-"
-
-LICENSE="BSD"
-# libevent-2.1.so.6
-SLOT="0/2.1-6"
-KEYWORDS=""
-IUSE="debug libressl +ssl static-libs test +threads"
-RESTRICT="test"
-
-DEPEND="
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl: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 \
- --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)
-}
-
-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 b18a797059eb..471fb8418bef 100644
--- a/dev-libs/libevent/libevent-9999.ebuild
+++ b/dev-libs/libevent/libevent-9999.ebuild
@@ -1,39 +1,39 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
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/
- ${EGIT_REPO_URI}
+ https://github.com/libevent/libevent/
"
+EGIT_REPO_URI="https://github.com/libevent/libevent.git"
LICENSE="BSD"
-SLOT="0"
+SLOT="0/2.2"
KEYWORDS=""
-IUSE="debug libressl +ssl static-libs test +threads"
+IUSE="
+ +clock-gettime debug malloc-replacement mbedtls +ssl static-libs
+ test verbose-debug
+"
+# TODO: hangs
RESTRICT="test"
DEPEND="
- ssl? (
- !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
- libressl? ( dev-libs/libressl: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
@@ -44,15 +44,19 @@ 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)
+ 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/libevent/metadata.xml b/dev-libs/libevent/metadata.xml
index 6036c10bd580..382b01135b4f 100644
--- a/dev-libs/libevent/metadata.xml
+++ b/dev-libs/libevent/metadata.xml
@@ -1,16 +1,21 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>jer@gentoo.org</email>
- <name>Jeroen Roovers</name>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:niels_provos:libevent</remote-id>
- <remote-id type="sourceforge">levent</remote-id>
<remote-id type="github">libevent/libevent</remote-id>
+ <remote-id type="sourceforge">levent</remote-id>
</upstream>
<use>
- <flag name="debug">Support runtime debug mode and malloc hooks (for programmers)</flag>
+ <flag name="clock-gettime">Disable use of clock_gettime even if it is available</flag>
+ <flag name="debug">Support for running in debug mode</flag>
+ <flag name="malloc-replacement">Support for replacing the memory management functions</flag>
+ <flag name="mbedtls">Support for <pkg>net-libs/mbedtls</pkg> encryption</flag>
+ <flag name="ssl">Support for <pkg>dev-libs/openssl</pkg> encryption</flag>
+ <flag name="verbose-debug">Support for verbose debug logging</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/libevocosm/Manifest b/dev-libs/libevocosm/Manifest
deleted file mode 100644
index bda765e2262a..000000000000
--- a/dev-libs/libevocosm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libevocosm-3.3.1.tar.gz 414392 BLAKE2B 7952cb83a1d5affa4e9b267670cfc889373fbf5c461fdb7022fe1c4af01e2116266f298b4a6ccbfc8102e0bf38fb8411eb6b741e5d72ffefe97b15281a7e44e8 SHA512 ebb4200ac533bdb86051a8a33e5da08d677ae0aa8c2e65a9855e9465b76827c0a72f31e260ee34be62600cd22794a4e47c4471623de8d9fcb4749dcf0a37d946
diff --git a/dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch b/dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch
deleted file mode 100644
index 1e286a0215e6..000000000000
--- a/dev-libs/libevocosm/files/libevocosm-3.3.1-gcc47.patch
+++ /dev/null
@@ -1,20 +0,0 @@
- https://bugs.gentoo.org/421607
-
- evocommon.h:468:29: error: 'usleep' was not declared in this scope
-
- libevocosm/evocommon.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/libevocosm/evocommon.h
-+++ b/libevocosm/evocommon.h
-@@ -54,6 +54,10 @@
- #undef min
- #endif
-
-+#if !defined(_MSC_VER)
-+#include "unistd.h"
-+#endif
-+
- namespace libevocosm
- {
- //! The random number generator used by Evocosm
diff --git a/dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild b/dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild
deleted file mode 100644
index 3152a60d260b..000000000000
--- a/dev-libs/libevocosm/libevocosm-3.3.1-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-DESCRIPTION="A C++ framework for evolutionary computing"
-HOMEPAGE="http://www.coyotegulch.com/products/libevocosm/"
-SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
-
-IUSE="doc static-libs"
-
-RDEPEND="dev-libs/libcoyotl
- dev-libs/libbrahe"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-DOCS=( AUTHORS ChangeLog NEWS README )
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-gcc47.patch"
- epatch_user
-}
-
-src_configure() {
- export ac_cv_prog_HAVE_DOXYGEN="false"
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- emake
-
- if use doc ; then
- cd docs
- doxygen libevocosm.doxygen || die "generating docs failed"
- fi
-}
-
-src_install() {
- default
- prune_libtool_files
- use doc && dohtml docs/html/*
-}
diff --git a/dev-libs/libevocosm/metadata.xml b/dev-libs/libevocosm/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libevocosm/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/libexecinfo/Manifest b/dev-libs/libexecinfo/Manifest
deleted file mode 100644
index d843d29e0aa8..000000000000
--- a/dev-libs/libexecinfo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libexecinfo-1.1.tar.bz2 4841 BLAKE2B c17bf0c0188c951f0cc2b8f902b5aac018cd6f7fa9666de261995605ce6b48c1692320a0f0e03ff0eb9e2b449a03b625ab88eb4a57ba5e87ed33df03838964ac SHA512 51fea7910ef6873061a25c22434ce4da724e9d8e37616a069ad0a58c0463755be4c6c7da88cd747484c2f3373909d7be4678b32a4bd91b6d9e0f74526094e92c
diff --git a/dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch b/dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch
deleted file mode 100644
index b295cf71bfd0..000000000000
--- a/dev-libs/libexecinfo/files/libexecinfo-1.1-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: libexecinfo-1.1/execinfo.c
-===================================================================
---- libexecinfo-1.1.orig/execinfo.c
-+++ libexecinfo-1.1/execinfo.c
-@@ -78,7 +78,7 @@ backtrace_symbols(void *const *buffer, i
- rval = malloc(clen);
- if (rval == NULL)
- return NULL;
-- (char **)cp = &(rval[size]);
-+ cp = &(rval[size]);
- for (i = 0; i < size; i++) {
- if (dladdr(buffer[i], &info) != 0) {
- if (info.dli_sname == NULL)
diff --git a/dev-libs/libexecinfo/libexecinfo-1.1.ebuild b/dev-libs/libexecinfo/libexecinfo-1.1.ebuild
deleted file mode 100644
index eba2bcf57e8c..000000000000
--- a/dev-libs/libexecinfo/libexecinfo-1.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit bsdmk freebsd multilib
-
-DESCRIPTION="A library for inspecting program's backtrace"
-HOMEPAGE="http://www.freebsdsoftware.org/devel/libexecinfo.html"
-SRC_URI="mirror://freebsd/distfiles/${P}.tar.bz2"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64-fbsd ~x86-fbsd"
-IUSE=""
-
-DEPEND="sys-freebsd/freebsd-mk-defs"
-RDEPEND=""
-
-PATCHES=( "${FILESDIR}/${P}-build.patch" )
-
-src_install() {
- mymakeopts="${mymakeopts} LIBDIR=/usr/$(get_libdir)"
- freebsd_src_install
- dodoc README
-}
diff --git a/dev-libs/libexecinfo/metadata.xml b/dev-libs/libexecinfo/metadata.xml
deleted file mode 100644
index d7dec5e4ab8b..000000000000
--- a/dev-libs/libexecinfo/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>bsd@gentoo.org</email>
- <name>BSD Project</name>
-</maintainer>
-<longdescription lang="en">
- This is a quick-n-dirty BSD licensed clone of backtrace facility found
- in the GNU libc, mainly intended for porting linuxish code to BSD
- platforms, however it can be used at any platform which has a gcc
- compiler.
-</longdescription>
-</pkgmetadata>
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/files/libezV24-0.1.1-test.patch b/dev-libs/libezV24/files/libezV24-0.1.1-test.patch
index f3c2b676546f..425c32036560 100644
--- a/dev-libs/libezV24/files/libezV24-0.1.1-test.patch
+++ b/dev-libs/libezV24/files/libezV24-0.1.1-test.patch
@@ -4,8 +4,8 @@ RCS file: /cvsroot/ezv24/libezv24/test-v24.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
---- test-v24.c 11 Feb 2003 13:29:43 -0000 1.2
-+++ test-v24.c 13 Oct 2003 07:50:26 -0000 1.3
+--- a/test-v24.c 11 Feb 2003 13:29:43 -0000 1.2
++++ b/test-v24.c 13 Oct 2003 07:50:26 -0000 1.3
@@ -30,7 +33,11 @@
#include <string.h>
#include <signal.h>
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..21e1bcb0b753
--- /dev/null
+++ b/dev-libs/libezV24/libezV24-0.1.1-r2.ebuild
@@ -0,0 +1,37 @@
+# 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="http://ezv24.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/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..155857191831
--- /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="https://downloads.sourceforge.net/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/libezV24/libezV24-0.1.1.ebuild b/dev-libs/libezV24/libezV24-0.1.1.ebuild
deleted file mode 100644
index db6b724d1f4c..000000000000
--- a/dev-libs/libezV24/libezV24-0.1.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils multilib 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"
-IUSE=""
-
-RDEPEND=""
-DEPEND=""
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}"/${P}-build.patch
- epatch "${FILESDIR}"/${P}-test.patch
- sed -i -e 's:__LINUX__:__linux__:' *.c *.h
-}
-
-src_compile() {
- tc-export AR CC RANLIB
- emake || die "emake failed."
-}
-
-src_install() {
- export NO_LDCONFIG="stupid"
- emake DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" \
- install || die "emake install failed."
- dodoc AUTHORS BUGS ChangeLog HISTORY README
- dohtml api-html/*
-}
diff --git a/dev-libs/libezV24/metadata.xml b/dev-libs/libezV24/metadata.xml
index a0bdd485d35d..8973f0352a2d 100644
--- a/dev-libs/libezV24/metadata.xml
+++ b/dev-libs/libezV24/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
diff --git a/dev-libs/libf2c/Manifest b/dev-libs/libf2c/Manifest
index 5d5799bb84dd..982d923a5c3d 100644
--- a/dev-libs/libf2c/Manifest
+++ b/dev-libs/libf2c/Manifest
@@ -1,2 +1,2 @@
-DIST libf2c-20110801.zip 128845 BLAKE2B f948693c0aace5725f3a4ab3406396a9f16fbb3c08681fe200ba2ba0b48dadb3c051a510cf9b4714d9fbfebc43e52ba13d6fdbff3590c19a164acc710ebe2958 SHA512 7a7b7b02ca2b11456aa0deba5094aebc1e9f7070d1742ad76450ec79de7eed967fbd7446524b66c52295ed911471d2dc396d171569b5d37079bdca8220fd2fb6
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/20051004-add-ofiles-dep.patch b/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch
index 509726820ae5..909fc19033db 100644
--- a/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch
+++ b/dev-libs/libf2c/files/20051004-add-ofiles-dep.patch
@@ -1,6 +1,5 @@
-diff -urN libf2c.orig/makefile.u libf2c/makefile.u
---- libf2c.orig/makefile.u 2006-05-13 15:41:29.000000000 -0700
-+++ libf2c/makefile.u 2006-05-13 15:42:04.000000000 -0700
+--- a/makefile.u
++++ b/makefile.u
@@ -69,7 +69,9 @@
OFILES = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
$(HALF) $(CMP) $(EFL) $(CHAR) $(I77) $(TIME)
diff --git a/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch b/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch
index d35e60bed0ff..e22f0cf0bfb0 100644
--- a/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch
+++ b/dev-libs/libf2c/files/20090407-link-shared-libf2c-correctly.patch
@@ -1,5 +1,5 @@
---- makefile.u.orig 2008-07-07 23:27:41.000000000 -0700
-+++ makefile.u 2008-07-07 23:28:39.000000000 -0700
+--- a/makefile.u
++++ b/makefile.u
@@ -82,7 +82,7 @@
## of "cc -shared".
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-20110801-64bit-long.patch b/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch
index 85687c5a4208..cc42465bb7ce 100644
--- a/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch
+++ b/dev-libs/libf2c/files/libf2c-20110801-64bit-long.patch
@@ -1,5 +1,5 @@
---- libf2c2-20090411.orig/f2c.h0
-+++ libf2c2-20090411/f2c.h0
+--- a/f2c.h0
++++ b/f2c.h0
@@ -7,21 +7,35 @@
#ifndef F2C_INCLUDE
#define F2C_INCLUDE
diff --git a/dev-libs/libf2c/files/libf2c-20110801-format-security.patch b/dev-libs/libf2c/files/libf2c-20110801-format-security.patch
index 669da2d694b4..3caa80f787c4 100644
--- a/dev-libs/libf2c/files/libf2c-20110801-format-security.patch
+++ b/dev-libs/libf2c/files/libf2c-20110801-format-security.patch
@@ -1,5 +1,5 @@
---- arithchk.c
-+++ arithchk.c
+--- a/arithchk.c
++++ b/arithchk.c
@@ -122,7 +122,7 @@
long Cray1;
diff --git a/dev-libs/libf2c/files/libf2c-20130927-fix-buildsystem.patch b/dev-libs/libf2c/files/libf2c-20130927-fix-buildsystem.patch
new file mode 100644
index 000000000000..d3de94b38380
--- /dev/null
+++ b/dev-libs/libf2c/files/libf2c-20130927-fix-buildsystem.patch
@@ -0,0 +1,65 @@
+--- 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
+@@ -74,8 +70,8 @@
+ $(OFILES): f2c.h signal1.h sysdep1.h
+
+ 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
+@@ -92,12 +88,6 @@
+
+ ### If your system lacks ranlib, you don't need it; see README.
+
+-f77vers.o: f77vers.c
+- $(CC) -c f77vers.c
+-
+-i77vers.o: i77vers.c
+- $(CC) -c i77vers.c
+-
+ # To get an "f2c.h" for use with "f2c -C++", first "make hadd"
+ hadd: f2c.h0 f2ch.add
+ cat f2c.h0 f2ch.add >f2c.h
+@@ -125,7 +115,7 @@
+
+ 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
+@@ -185,8 +175,8 @@
+ 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
+
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-20110801-r4.ebuild b/dev-libs/libf2c/libf2c-20110801-r4.ebuild
deleted file mode 100644
index 50e2c97344ee..000000000000
--- a/dev-libs/libf2c/libf2c-20110801-r4.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="Library that converts FORTRAN to C source"
-HOMEPAGE="http://www.netlib.org/f2c/"
-SRC_URI="${HOMEPAGE}/${PN}.zip -> ${P}.zip"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- app-arch/unzip"
-
-S="${WORKDIR}"
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/20051004-add-ofiles-dep.patch \
- "${FILESDIR}"/20090407-link-shared-libf2c-correctly.patch \
- "${FILESDIR}"/${P}-main.patch\
- "${FILESDIR}"/${P}-64bit-long.patch \
- "${FILESDIR}"/${P}-format-security.patch
- sed -i -e "s/ld /$(tc-getLD) /" makefile.u || die
-}
-
-src_compile() {
- emake \
- -f makefile.u \
- libf2c.so \
- CFLAGS="${CFLAGS} -fPIC" \
- CC="$(tc-getCC)"
-
- # Clean up files so we can recompile without PIC for the static lib
- if use static-libs; then
- rm *.o || die "clean failed"
- emake \
- -f makefile.u \
- all \
- CFLAGS="${CFLAGS}" \
- CC="$(tc-getCC)"
- fi
-}
-
-src_install () {
- dolib libf2c.so.2
- dosym libf2c.so.2 /usr/$(get_libdir)/libf2c.so
- use static-libs && dolib.a libf2c.a
- doheader f2c.h
- dodoc README Notice
-}
diff --git a/dev-libs/libf2c/libf2c-20130927-r1.ebuild b/dev-libs/libf2c/libf2c-20130927-r1.ebuild
new file mode 100644
index 000000000000..d5e8ade2f5ef
--- /dev/null
+++ b/dev-libs/libf2c/libf2c-20130927-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2020 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}"/20090407-link-shared-libf2c-correctly.patch
+ "${FILESDIR}"/${PN}-20110801-main.patch
+ "${FILESDIR}"/${PN}-20110801-64bit-long.patch
+ "${FILESDIR}"/${PN}-20110801-format-security.patch
+ "${FILESDIR}"/${PN}-20130927-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/libf2c/libf2c-20130927.ebuild b/dev-libs/libf2c/libf2c-20130927.ebuild
deleted file mode 100644
index a9e73c1620a9..000000000000
--- a/dev-libs/libf2c/libf2c-20130927.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="Library that converts FORTRAN to C source"
-HOMEPAGE="http://www.netlib.org/f2c/"
-SRC_URI="${HOMEPAGE}/${PN}.zip -> ${P}.zip"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- app-arch/unzip"
-
-S="${WORKDIR}"
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/20051004-add-ofiles-dep.patch \
- "${FILESDIR}"/20090407-link-shared-libf2c-correctly.patch \
- "${FILESDIR}"/${PN}-20110801-main.patch\
- "${FILESDIR}"/${PN}-20110801-64bit-long.patch \
- "${FILESDIR}"/${PN}-20110801-format-security.patch
- sed -i -e "s/ld /$(tc-getLD) /" makefile.u || die
-}
-
-src_compile() {
- emake \
- -f makefile.u \
- libf2c.so \
- CFLAGS="${CFLAGS} -fPIC" \
- CC="$(tc-getCC)"
-
- # Clean up files so we can recompile without PIC for the static lib
- if use static-libs; then
- rm *.o || die "clean failed"
- emake \
- -f makefile.u \
- all \
- CFLAGS="${CFLAGS}" \
- CC="$(tc-getCC)"
- fi
-}
-
-src_install () {
- dolib libf2c.so.2
- dosym libf2c.so.2 /usr/$(get_libdir)/libf2c.so
- use static-libs && dolib.a libf2c.a
- doheader f2c.h
- dodoc README Notice
-}
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/libf2c/metadata.xml b/dev-libs/libf2c/metadata.xml
index edfd7994e880..7d3acaf5d252 100644
--- a/dev-libs/libf2c/metadata.xml
+++ b/dev-libs/libf2c/metadata.xml
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
- <longdescription lang="en">
- A library to conver FORTRAN 77 to C/C++ source code.
-</longdescription>
</pkgmetadata>
diff --git a/dev-libs/libfastjson/Manifest b/dev-libs/libfastjson/Manifest
index 3b7b2dfd27e7..28091ecbe51e 100644
--- a/dev-libs/libfastjson/Manifest
+++ b/dev-libs/libfastjson/Manifest
@@ -1 +1 @@
-DIST libfastjson-0.99.8.tar.gz 433819 BLAKE2B f988c01de8e7becc5a848825c18151fec2b80f81eb5b50e459b1a3bb535f5521fb63e9350eb133eb984f57f42c5f529220a0c9461eb4689e1421ad815c4c4d87 SHA512 1e7eb7eaae2c6ccb78b77ac883808e1d311b03bad083dc72ab7712765a2ed139accd762850d60f54c6fe0ad48c4385714818fd2c8ed76700ce3546e5aff1c823
+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 0001b9be630a..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-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 11529b22803b..dcbe41f54074 100644
--- a/dev-libs/libfastjson/metadata.xml
+++ b/dev-libs/libfastjson/metadata.xml
@@ -1,15 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
<pkgmetadata>
- <maintainer type="person">
- <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>
- </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/Manifest b/dev-libs/libffi-compat/Manifest
new file mode 100644
index 000000000000..222a7e22f068
--- /dev/null
+++ b/dev-libs/libffi-compat/Manifest
@@ -0,0 +1,2 @@
+DIST libffi-3.2.1.tar.gz 940837 BLAKE2B d202ccaa185acfd2476ed2a9b011891507cd8efbbda60f67c583268d1563853442ed829acecbf81c9b6b9a930345780bb7a4bd80e71e50ef544c7f4eab8cb01f SHA512 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483
+DIST libffi-3.3.tar.gz 1305466 BLAKE2B cddc40729a30a9bd34d675809f51f8d1b4ccaffa54bc6dd6f7e965f4e260edd34754719f9f6247c8957aeb7cf154d56ce1fe16a54c3f1ad39afbebdf41d23caa SHA512 61513801a156f11420f541d325de697131846487122d6bdcf5491b18b4da788589f5c0bb07e88e396495d3be5830d74e9135595e2b8ddbfe95c448d8597fbd6f
diff --git a/dev-libs/libffi/files/libffi-3.1-darwin-x32.patch b/dev-libs/libffi-compat/files/libffi-3.1-darwin-x32.patch
index e5f100e56726..e5f100e56726 100644
--- a/dev-libs/libffi/files/libffi-3.1-darwin-x32.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.1-darwin-x32.patch
diff --git a/dev-libs/libffi/files/libffi-3.2.1-complex-ia64.patch b/dev-libs/libffi-compat/files/libffi-3.2.1-complex-ia64.patch
index fd5c1ea4b282..fd5c1ea4b282 100644
--- a/dev-libs/libffi/files/libffi-3.2.1-complex-ia64.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.2.1-complex-ia64.patch
diff --git a/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch b/dev-libs/libffi-compat/files/libffi-3.2.1-complex_alpha.patch
index 5e8c943eee38..5e8c943eee38 100644
--- a/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.2.1-complex_alpha.patch
diff --git a/dev-libs/libffi/files/libffi-3.2.1-ia64-small-struct.patch b/dev-libs/libffi-compat/files/libffi-3.2.1-ia64-small-struct.patch
index 6e21f3566bc9..6e21f3566bc9 100644
--- a/dev-libs/libffi/files/libffi-3.2.1-ia64-small-struct.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.2.1-ia64-small-struct.patch
diff --git a/dev-libs/libffi/files/libffi-3.2.1-include-path-autogen.patch b/dev-libs/libffi-compat/files/libffi-3.2.1-include-path-autogen.patch
index 522e1fa9c486..522e1fa9c486 100644
--- a/dev-libs/libffi/files/libffi-3.2.1-include-path-autogen.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.2.1-include-path-autogen.patch
diff --git a/dev-libs/libffi/files/libffi-3.2.1-include-path.patch b/dev-libs/libffi-compat/files/libffi-3.2.1-include-path.patch
index e1269b2398a4..e1269b2398a4 100644
--- a/dev-libs/libffi/files/libffi-3.2.1-include-path.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.2.1-include-path.patch
diff --git a/dev-libs/libffi-compat/files/libffi-3.2.1-musl-emutramp.patch b/dev-libs/libffi-compat/files/libffi-3.2.1-musl-emutramp.patch
new file mode 100644
index 000000000000..7c011d2b6d07
--- /dev/null
+++ b/dev-libs/libffi-compat/files/libffi-3.2.1-musl-emutramp.patch
@@ -0,0 +1,31 @@
+https://github.com/libffi/libffi/commit/e169ba2b83c780058fe626856cfdb5903a85cb97.patch
+https://bugs.gentoo.org/694916
+
+From e169ba2b83c780058fe626856cfdb5903a85cb97 Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Fri, 29 Apr 2016 21:04:07 -0400
+Subject: [PATCH] Fix usage on musl libc
+
+A gcc compiled on musl does not define __gnu_linux__, it defines __linux__.
+Only on glibc does __gnu_linux__ get defined, but both define __linux__, so
+we should check for that instead.
+
+With this patch, libffi works perfectly, and passes its testsuite entirely
+on musl libc systems.
+---
+ src/closures.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/closures.c b/src/closures.c
+index 3dec0e31..05849e06 100644
+--- a/src/closures.c
++++ b/src/closures.c
+@@ -35,7 +35,7 @@
+ #include <ffi_common.h>
+
+ #if !FFI_MMAP_EXEC_WRIT && !FFI_EXEC_TRAMPOLINE_TABLE
+-# if __gnu_linux__ && !defined(__ANDROID__)
++# if __linux__ && !defined(__ANDROID__)
+ /* This macro indicates it may be forbidden to map anonymous memory
+ with both write and execute permission. Code compiled when this
+ option is defined will attempt to map such pages once, but if it
diff --git a/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch b/dev-libs/libffi-compat/files/libffi-3.2.1-o-tmpfile-eacces.patch
index 92a733cbe823..92a733cbe823 100644
--- a/dev-libs/libffi/files/libffi-3.2.1-o-tmpfile-eacces.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.2.1-o-tmpfile-eacces.patch
diff --git a/dev-libs/libffi-compat/files/libffi-3.3-compiler-vendor-quote.patch b/dev-libs/libffi-compat/files/libffi-3.3-compiler-vendor-quote.patch
new file mode 100644
index 000000000000..db5b69ce2db9
--- /dev/null
+++ b/dev-libs/libffi-compat/files/libffi-3.3-compiler-vendor-quote.patch
@@ -0,0 +1,33 @@
+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-compat/files/libffi-3.3-power7-memcpy-2.patch b/dev-libs/libffi-compat/files/libffi-3.3-power7-memcpy-2.patch
new file mode 100644
index 000000000000..d9d47acb618f
--- /dev/null
+++ b/dev-libs/libffi-compat/files/libffi-3.3-power7-memcpy-2.patch
@@ -0,0 +1,28 @@
+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-compat/files/libffi-3.3-power7-memcpy.patch b/dev-libs/libffi-compat/files/libffi-3.3-power7-memcpy.patch
new file mode 100644
index 000000000000..91f9a6f60fae
--- /dev/null
+++ b/dev-libs/libffi-compat/files/libffi-3.3-power7-memcpy.patch
@@ -0,0 +1,42 @@
+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-compat/files/libffi-3.3-power7.patch b/dev-libs/libffi-compat/files/libffi-3.3-power7.patch
new file mode 100644
index 000000000000..83f518f4c2e3
--- /dev/null
+++ b/dev-libs/libffi-compat/files/libffi-3.3-power7.patch
@@ -0,0 +1,39 @@
+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-compat/files/libffi-3.3-ppc-int128.patch b/dev-libs/libffi-compat/files/libffi-3.3-ppc-int128.patch
new file mode 100644
index 000000000000..ed53ae99902f
--- /dev/null
+++ b/dev-libs/libffi-compat/files/libffi-3.3-ppc-int128.patch
@@ -0,0 +1,63 @@
+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-compat/files/libffi-3.3-ppc-vector-offset.patch b/dev-libs/libffi-compat/files/libffi-3.3-ppc-vector-offset.patch
new file mode 100644
index 000000000000..4bcd27e4f152
--- /dev/null
+++ b/dev-libs/libffi-compat/files/libffi-3.3-ppc-vector-offset.patch
@@ -0,0 +1,53 @@
+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-compat/files/libffi-3.3_rc0-ppc-macos-go.patch
index 88f9b4557657..88f9b4557657 100644
--- a/dev-libs/libffi/files/libffi-3.3_rc0-ppc-macos-go.patch
+++ b/dev-libs/libffi-compat/files/libffi-3.3_rc0-ppc-macos-go.patch
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
new file mode 100644
index 000000000000..f50543480cab
--- /dev/null
+++ b/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit libtool multilib-minimal
+
+DESCRIPTION="a portable, high level programming interface to various calling conventions"
+HOMEPAGE="https://sourceware.org/libffi/"
+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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="debug pax-kernel test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="!dev-libs/libffi:0/0" # conflicts on libffi.so.6
+DEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README"
+
+PATCHES=(
+ "${FILESDIR}"/libffi-3.2.1-o-tmpfile-eacces.patch #529044
+ "${FILESDIR}"/libffi-3.2.1-complex_alpha.patch
+ "${FILESDIR}"/libffi-3.1-darwin-x32.patch
+ "${FILESDIR}"/libffi-3.2.1-complex-ia64.patch
+ "${FILESDIR}"/libffi-3.2.1-include-path.patch
+ "${FILESDIR}"/libffi-3.2.1-include-path-autogen.patch
+ "${FILESDIR}"/libffi-3.2.1-ia64-small-struct.patch #634190
+ "${FILESDIR}"/libffi-3.2.1-musl-emutramp.patch #694916
+)
+
+S=${WORKDIR}/libffi-${PV}
+ECONF_SOURCE=${S}
+
+src_prepare() {
+ default
+
+ sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
+ elibtoolize
+}
+
+multilib_src_configure() {
+ econf \
+ --disable-static \
+ $(use_enable pax-kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install() {
+ dolib.so .libs/libffi.so.${SLOT}*
+}
diff --git a/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild b/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
new file mode 100644
index 000000000000..8ff355662171
--- /dev/null
+++ b/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal
+
+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${PV}/libffi-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="7" # SONAME=libffi.so.7
+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 )"
+
+RDEPEND="!dev-libs/libffi:0/7" # conflicts on libffi.so.7
+DEPEND=""
+BDEPEND="test? ( dev-util/dejagnu )"
+
+DOCS="ChangeLog* README.md"
+
+PATCHES=(
+ "${FILESDIR}"/libffi-3.2.1-o-tmpfile-eacces.patch #529044
+ "${FILESDIR}"/libffi-3.3_rc0-ppc-macos-go.patch
+ "${FILESDIR}"/libffi-3.3-power7.patch
+ "${FILESDIR}"/libffi-3.3-power7-memcpy.patch
+ "${FILESDIR}"/libffi-3.3-power7-memcpy-2.patch
+ "${FILESDIR}"/libffi-3.3-ppc-int128.patch
+ "${FILESDIR}"/libffi-3.3-ppc-vector-offset.patch
+ "${FILESDIR}"/libffi-3.3-compiler-vendor-quote.patch
+)
+
+S=${WORKDIR}/libffi-${PV}
+
+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 \
+ --disable-static \
+ $(use_enable pax-kernel pax_emutramp) \
+ $(use_enable debug)
+}
+
+multilib_src_install() {
+ dolib.so .libs/libffi.so.${SLOT}*
+}
diff --git a/dev-libs/libffi-compat/metadata.xml b/dev-libs/libffi-compat/metadata.xml
new file mode 100644
index 000000000000..3315cb9ddac4
--- /dev/null
+++ b/dev-libs/libffi-compat/metadata.xml
@@ -0,0 +1,43 @@
+<?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>
+ <longdescription lang="en">
+ Compilers for high level languages generate code that follow certain
+ conventions. These conventions are necessary, in part, for separate
+ compilation to work. One such convention is the "calling
+ convention". The "calling convention" is essentially a set of
+ assumptions made by the compiler about where function arguments will
+ be found on entry to a function. A "calling convention" also specifies
+ where the return value for a function is found.
+
+ Some programs may not know at the time of compilation what arguments
+ are to be passed to a function. For instance, an interpreter may be
+ told at run-time about the number and types of arguments used to call
+ a given function. Libffi can be used in such programs to provide a
+ bridge from the interpreter program to compiled code.
+
+ The libffi library provides a portable, high level programming
+ interface to various calling conventions. This allows a programmer to
+ call any function specified by a call interface description at run
+ time.
+
+ Ffi stands for Foreign Function Interface. A foreign function
+ interface is the popular name for the interface that allows code
+ written in one language to call code written in another language. The
+ libffi library really only provides the lowest, machine dependent
+ layer of a fully featured foreign function interface. A layer must
+ exist above libffi that handles type conversions for values passed
+ between the two languages.
+ </longdescription>
+ <use>
+ <flag name="pax-kernel">Use PaX emulated trampolines, for we can't use PROT_EXEC</flag>
+ </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 d70d8b54808c..8500e7a471b4 100644
--- a/dev-libs/libffi/Manifest
+++ b/dev-libs/libffi/Manifest
@@ -1,2 +1,2 @@
-DIST libffi-3.2.1.tar.gz 940837 BLAKE2B d202ccaa185acfd2476ed2a9b011891507cd8efbbda60f67c583268d1563853442ed829acecbf81c9b6b9a930345780bb7a4bd80e71e50ef544c7f4eab8cb01f SHA512 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483
-DIST libffi-3.3-rc0.tar.gz 1084854 BLAKE2B 2c38d60f17ef52bcf270178c13c218f6ee320c9785091621d4689bcf6cee31d07eaaca12790965e1ae3ad71ad2c408342743968bf1d23f81a07fbdf6cfd55b90 SHA512 e6e695d32cd6eb7d65983f32986fccdfc786a593d2ea18af30ce741f58cfa1eb264b1a8d09df5084cb916001aea15187b005c2149a0620a44397a4453b6137d4
+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.3_rc0-hppa-no-TEXTREL.patch b/dev-libs/libffi/files/libffi-3.3_rc0-hppa-no-TEXTREL.patch
deleted file mode 100644
index c6286f349900..000000000000
--- a/dev-libs/libffi/files/libffi-3.3_rc0-hppa-no-TEXTREL.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 955e3c56459556284cf4a7fb23c51f9d310be80c Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Sat, 19 May 2018 10:49:07 +0100
-Subject: [PATCH] hppa: avoid TEXTREL in .eh_frame section
-
-Before the change hand-crafted .eh_frame section contained
-ABS relocation and caused TEXTREL tag to be emitted:
-
-```
-$ ./configure --host=hppa2.0-unknown-linux-gnu LDFLAGS=-Wl,-z,text
-$ make
-...
-/usr/libexec/gcc/hppa2.0-unknown-linux-gnu/ld:
- read-only segment has dynamic relocations.
-```
-
-Link failure is caused by absolute address of FDEs
-encoded into .eh_frame entries.
-
-Fixed TEXTREL by using pcrel (instead of ABS) encoding
-for absolute addresses (__PIC__ code) by adding augmentation
-information ("zR" CIE type).
-
-All tests still pass on hppa2.0. The specific tests that still pass
-and exercise this code path:
- testsuite/libffi.call/unwindtest.cc
- testsuite/libffi.call/unwindtest_ffi_call.cc
-
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- src/pa/linux.S | 25 +++++++++++++++++++++++--
- 1 file changed, 23 insertions(+), 2 deletions(-)
-
-diff --git a/src/pa/linux.S b/src/pa/linux.S
-index f11ae76..ab04c75 100644
---- a/src/pa/linux.S
-+++ b/src/pa/linux.S
-@@ -297,10 +297,18 @@ ffi_closure_pa32:
- .LSCIE1:
- .word 0x0 ;# CIE Identifier Tag
- .byte 0x1 ;# CIE Version
-+#ifdef __PIC__
-+ .ascii "zR\0" ;# CIE Augmentation: 'z' - data, 'R' - DW_EH_PE_... data
-+#else
- .ascii "\0" ;# CIE Augmentation
-+#endif
- .uleb128 0x1 ;# CIE Code Alignment Factor
- .sleb128 4 ;# CIE Data Alignment Factor
- .byte 0x2 ;# CIE RA Column
-+#ifdef __PIC__
-+ .uleb128 0x1 ;# Augmentation size
-+ .byte 0x1b ;# FDE Encoding (DW_EH_PE_pcrel|DW_EH_PE_sdata4)
-+#endif
- .byte 0xc ;# DW_CFA_def_cfa
- .uleb128 0x1e
- .uleb128 0x0
-@@ -310,9 +318,15 @@ ffi_closure_pa32:
- .word .LEFDE1-.LASFDE1 ;# FDE Length
- .LASFDE1:
- .word .LASFDE1-.Lframe1 ;# FDE CIE offset
-- .word .LFB1 ;# FDE initial location
-+#ifdef __PIC__
-+ .word .LFB1-. ;# FDE initial location
-+#else
-+ .word .LFB1 ;# FDE initial location
-+#endif
- .word .LFE1-.LFB1 ;# FDE address range
--
-+#ifdef __PIC__
-+ .uleb128 0x0 ;# Augmentation size: no data
-+#endif
- .byte 0x4 ;# DW_CFA_advance_loc4
- .word .LCFI11-.LFB1
- .byte 0x83 ;# DW_CFA_offset, column 0x3
-@@ -338,8 +352,15 @@ ffi_closure_pa32:
- .word .LEFDE2-.LASFDE2 ;# FDE Length
- .LASFDE2:
- .word .LASFDE2-.Lframe1 ;# FDE CIE offset
-+#ifdef __PIC__
-+ .word .LFB2-. ;# FDE initial location
-+#else
- .word .LFB2 ;# FDE initial location
-+#endif
- .word .LFE2-.LFB2 ;# FDE address range
-+#ifdef __PIC__
-+ .uleb128 0x0 ;# Augmentation size: no data
-+#endif
- .byte 0x4 ;# DW_CFA_advance_loc4
- .word .LCFI21-.LFB2
- .byte 0x83 ;# DW_CFA_offset, column 0x3
---
-2.19.0
-
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.2.1-r1.ebuild b/dev-libs/libffi/libffi-3.2.1-r1.ebuild
deleted file mode 100644
index 94aacacd13b0..000000000000
--- a/dev-libs/libffi/libffi-3.2.1-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils libtool multilib multilib-minimal toolchain-funcs
-
-DESCRIPTION="a portable, high level programming interface to various calling conventions"
-HOMEPAGE="https://sourceware.org/libffi/"
-SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug pax_kernel static-libs test"
-
-RDEPEND=""
-DEPEND="test? ( dev-util/dejagnu )"
-
-DOCS="ChangeLog* README"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
- "${FILESDIR}"/${PN}-3.2.1-complex_alpha.patch
- "${FILESDIR}"/${PN}-3.1-darwin-x32.patch
- "${FILESDIR}"/${PN}-3.2.1-complex-ia64.patch
- "${FILESDIR}"/${PN}-3.2.1-include-path.patch
- "${FILESDIR}"/${PN}-3.2.1-include-path-autogen.patch
-)
-
-ECONF_SOURCE=${S}
-
-pkg_setup() {
- # Check for orphaned libffi, see https://bugs.gentoo.org/354903 for example
- if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
- local base="${T}"/conftest
- echo 'int main() { }' > "${base}".c
- $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
- if [ $? -eq 0 ]; then
- eerror "The linker reported linking against -lffi to be working while it shouldn't have."
- eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
- die "The system is in inconsistent state with unknown libffi installed."
- fi
- fi
-}
-
-src_prepare() {
- default
-
- sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
- elibtoolize
-}
-
-multilib_src_configure() {
- use userland_BSD && export HOST="${CHOST}"
- # python does not like miltilib-wrapped headers: bug #643582
- # thus we install includes into ABI-specific paths
- local includes="${EPREFIX}"/usr/$(get_libdir)/${P}/include/
- econf \
- $(use_enable static-libs static) \
- $(use_enable pax_kernel pax_emutramp) \
- $(use_enable debug) \
- --includedir="${includes}"
-}
-
-multilib_src_install_all() {
- prune_libtool_files
- einstalldocs
-}
diff --git a/dev-libs/libffi/libffi-3.2.1-r2.ebuild b/dev-libs/libffi/libffi-3.2.1-r2.ebuild
deleted file mode 100644
index 99e5d165f3da..000000000000
--- a/dev-libs/libffi/libffi-3.2.1-r2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils libtool multilib multilib-minimal toolchain-funcs
-
-DESCRIPTION="a portable, high level programming interface to various calling conventions"
-HOMEPAGE="https://sourceware.org/libffi/"
-SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug pax_kernel static-libs test"
-
-RDEPEND=""
-DEPEND="test? ( dev-util/dejagnu )"
-
-DOCS="ChangeLog* README"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
- "${FILESDIR}"/${PN}-3.2.1-complex_alpha.patch
- "${FILESDIR}"/${PN}-3.1-darwin-x32.patch
- "${FILESDIR}"/${PN}-3.2.1-complex-ia64.patch
- "${FILESDIR}"/${PN}-3.2.1-include-path.patch
- "${FILESDIR}"/${PN}-3.2.1-include-path-autogen.patch
- "${FILESDIR}"/${PN}-3.2.1-ia64-small-struct.patch #634190
-)
-
-ECONF_SOURCE=${S}
-
-pkg_setup() {
- # Check for orphaned libffi, see https://bugs.gentoo.org/354903 for example
- if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
- local base="${T}"/conftest
- echo 'int main() { }' > "${base}".c
- $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
- if [ $? -eq 0 ]; then
- eerror "The linker reported linking against -lffi to be working while it shouldn't have."
- eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
- die "The system is in inconsistent state with unknown libffi installed."
- fi
- fi
-}
-
-src_prepare() {
- default
-
- sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
- elibtoolize
-}
-
-multilib_src_configure() {
- use userland_BSD && export HOST="${CHOST}"
- # python does not like miltilib-wrapped headers: bug #643582
- # thus we install includes into ABI-specific paths
- local includes="${EPREFIX}"/usr/$(get_libdir)/${P}/include/
- econf \
- $(use_enable static-libs static) \
- $(use_enable pax_kernel pax_emutramp) \
- $(use_enable debug) \
- --includedir="${includes}"
-}
-
-multilib_src_install_all() {
- prune_libtool_files
- einstalldocs
-}
diff --git a/dev-libs/libffi/libffi-3.2.1.ebuild b/dev-libs/libffi/libffi-3.2.1.ebuild
deleted file mode 100644
index 8c103bd0cdbe..000000000000
--- a/dev-libs/libffi/libffi-3.2.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils libtool multilib multilib-minimal toolchain-funcs
-
-DESCRIPTION="a portable, high level programming interface to various calling conventions"
-HOMEPAGE="https://sourceware.org/libffi/"
-SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug pax_kernel static-libs test"
-
-RDEPEND=""
-DEPEND="test? ( dev-util/dejagnu )"
-
-DOCS="ChangeLog* README"
-
-ECONF_SOURCE=${S}
-
-pkg_setup() {
- # Check for orphaned libffi, see https://bugs.gentoo.org/354903 for example
- if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
- local base="${T}"/conftest
- echo 'int main() { }' > "${base}".c
- $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
- if [ $? -eq 0 ]; then
- eerror "The linker reported linking against -lffi to be working while it shouldn't have."
- eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
- die "The system is in inconsistent state with unknown libffi installed."
- fi
- fi
-}
-
-src_prepare() {
- sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
- epatch "${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
- epatch "${FILESDIR}"/${PN}-3.2.1-complex_alpha.patch
- epatch "${FILESDIR}"/${PN}-3.1-darwin-x32.patch
- epatch "${FILESDIR}"/${PN}-3.2.1-complex-ia64.patch
- epatch_user
- elibtoolize
-}
-
-multilib_src_configure() {
- use userland_BSD && export HOST="${CHOST}"
- econf \
- $(use_enable static-libs static) \
- $(use_enable pax_kernel pax_emutramp) \
- $(use_enable debug)
-}
-
-multilib_src_install_all() {
- prune_libtool_files
- einstalldocs
-}
diff --git a/dev-libs/libffi/libffi-3.3_rc0.ebuild b/dev-libs/libffi/libffi-3.3_rc0.ebuild
deleted file mode 100644
index a0ba5f260239..000000000000
--- a/dev-libs/libffi/libffi-3.3_rc0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit multilib multilib-minimal toolchain-funcs
-
-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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug pax_kernel static-libs 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-hppa-no-TEXTREL.patch
- "${FILESDIR}"/${PN}-3.3_rc0-ppc-macos-go.patch
-)
-
-S=${WORKDIR}/${MY_P}
-
-ECONF_SOURCE=${S}
-
-pkg_setup() {
- # Check for orphaned libffi, see https://bugs.gentoo.org/354903 for example
- if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
- local base="${T}"/conftest
- echo 'int main() { }' > "${base}".c
- $(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
- if [ $? -eq 0 ]; then
- eerror "The linker reported linking against -lffi to be working while it shouldn't have."
- eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
- die "The system is in inconsistent state with unknown libffi installed."
- fi
- fi
-}
-
-multilib_src_configure() {
- use userland_BSD && export HOST="${CHOST}"
- econf \
- --includedir="${EPREFIX}"/usr/$(get_libdir)/${P}/include \
- --disable-multi-os-directory \
- $(use_enable static-libs static) \
- $(use_enable pax_kernel pax_emutramp) \
- $(use_enable debug)
-}
-
-multilib_src_test() {
- emake check RUNTESTFLAGS='-a -v'
-}
-
-multilib_src_install_all() {
- find "${ED}" -name "*.la" -delete || die
- einstalldocs
-}
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 d8fae30b11e1..aa5aa78f433f 100644
--- a/dev-libs/libffi/metadata.xml
+++ b/dev-libs/libffi/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>toolchain@gentoo.org</email>
@@ -34,6 +34,11 @@
between the two languages.
</longdescription>
<use>
- <flag name="pax_kernel">Use PaX emulated trampolines, for we can't use PROT_EXEC</flag>
+ <flag name="exec-static-trampoline">Don't rely on dynamic code generation for trampolines.</flag>
+ <flag name="pax-kernel">Use PaX emulated trampolines, for we can't use PROT_EXEC</flag>
</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
new file mode 100644
index 000000000000..d0c8c47b5505
--- /dev/null
+++ b/dev-libs/libfido2/Manifest
@@ -0,0 +1 @@
+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/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/metadata.xml b/dev-libs/libfido2/metadata.xml
new file mode 100644
index 000000000000..df607fde9962
--- /dev/null
+++ b/dev-libs/libfido2/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>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <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 8dc199c325ea..0979e16d5c42 100644
--- a/dev-libs/libfilezilla/Manifest
+++ b/dev-libs/libfilezilla/Manifest
@@ -1,3 +1,3 @@
-DIST libfilezilla-0.15.1.tar.bz2 404746 BLAKE2B 644f4b8949670d5b07f9e7b861d388ce70eae6612e34bf938cb628b65724a527e33c1f039087fd8381c06a15c12cc2b4fc6f616cc5949bf325e2eebf41abdf2d SHA512 d557f7636bfc3958b8558fab3384b0ea84caea594566d39c051f20f02dfd71213369c50df282a3f7d2dd757038bd26e9722214839dab965cb7cde9733d59883a
-DIST libfilezilla-0.16.0.tar.bz2 413535 BLAKE2B ea6ce80e272efea3fcef2fbd1f0ecca1248c314eea49631b4a98d257cfe1ebe505de011c021874ab0158883077d0af61929689ffb2b92528ef50502d84c933a7 SHA512 ea3302ae0c51582d6715fa3dd06d330a2ac820c3229b4dcab4a3470021dba667b6aea1a5b13168d720d7218cc8513e40c97990ed6573d0ea46d76e6ef50c2e6e
-DIST libfilezilla-0.17.1.tar.bz2 517778 BLAKE2B d678675b2fafe80e2f0e54af372220194870460c1eeaeb91ae6709ad8addcfbb6326819bbaf1d3782e391b07172f94783b0d8a3405f54bad3f818c72426b5047 SHA512 c9c88bf3cbeb5284c3e55571b40b07f780cb23aeb802284d385a2564bf46396875a34739f9819b0c3f89923950f19a13f6454940434a987bb91b2f23b898f774
+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.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.15.1.ebuild b/dev-libs/libfilezilla/libfilezilla-0.15.1.ebuild
deleted file mode 100644
index 742bc805a500..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.15.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 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"
-KEYWORDS="amd64 ~arm ~ia64 ~ppc x86"
-IUSE="test"
-
-RDEPEND="dev-libs/nettle:0="
-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
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.16.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.16.0.ebuild
deleted file mode 100644
index 18821af9ca46..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.16.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 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"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86"
-IUSE="test"
-
-RDEPEND="dev-libs/nettle:0="
-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
-}
diff --git a/dev-libs/libfilezilla/libfilezilla-0.17.1.ebuild b/dev-libs/libfilezilla/libfilezilla-0.17.1.ebuild
deleted file mode 100644
index e0aef7739c68..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.17.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2019 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"
-KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86"
-IUSE="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
-}
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 f5cd4f09fec2..f6ca9ca99085 100644
--- a/dev-libs/libfilezilla/metadata.xml
+++ b/dev-libs/libfilezilla/metadata.xml
@@ -1,13 +1,13 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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="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/libflatarray/Manifest b/dev-libs/libflatarray/Manifest
index 40387084ff3b..0aeb15745a84 100644
--- a/dev-libs/libflatarray/Manifest
+++ b/dev-libs/libflatarray/Manifest
@@ -1 +1 @@
-DIST libflatarray-0.3.0.tar.bz2 104544 BLAKE2B 9ac490a526fbd71478ac569538bad28e01a1a91bd71d37e85bf89181e856e79b2dec6af5415f238e5f72fbbe57cda59ee87ebd79cd273887061e2bbb93a7ce31 SHA512 c58339cdadf98f552d2f1b440a293c48923f32fc43a5a06ee8b8a40835a5f6c21514f7a9efa0ff23930ab9fdda8d4389641ec83c589e1982dbf5a3f75d2ffd37
+DIST libflatarray-0.4.0_pre20201009.tar.gz 166551 BLAKE2B 6e2a13b69a8cd21124c02c849956b85fed1c57d01e2b359044302573526d281b191454acbc0ef37355c0c7b5f8b34d48eed4ca0d5d44f75008040950cb570cbf SHA512 2d2111cdb0c5d80e2af04eb3b53e6aa0a3ca989809adc0e8ca654c31a46a3bcbd916eb0a5b5f9e86391e54a22bbefec3d1cbdbe0dbbd0c538da0130dcc7db562
diff --git a/dev-libs/libflatarray/libflatarray-0.3.0.ebuild b/dev-libs/libflatarray/libflatarray-0.3.0.ebuild
deleted file mode 100644
index 27ca812593b9..000000000000
--- a/dev-libs/libflatarray/libflatarray-0.3.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils cuda
-
-SRC_URI="http://www.libgeodecomp.org/archive/${P}.tar.bz2"
-KEYWORDS="~amd64 ~ppc ~x86"
-
-DESCRIPTION="Struct of arrays library with object oriented interface for C++"
-HOMEPAGE="http://www.libgeodecomp.org/libflatarray.html"
-
-SLOT="0"
-LICENSE="Boost-1.0"
-IUSE="cuda doc"
-
-DEPEND="
- doc? ( app-doc/doxygen )
- cuda? ( dev-util/nvidia-cuda-toolkit )"
-
-src_prepare() {
- cmake-utils_src_prepare
- use cuda && cuda_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_CUDA=$(usex cuda)
- -DWITH_SILO=false
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libflatarray/libflatarray-0.4.0_pre20201009.ebuild b/dev-libs/libflatarray/libflatarray-0.4.0_pre20201009.ebuild
new file mode 100644
index 000000000000..89ce35e4b3e3
--- /dev/null
+++ b/dev-libs/libflatarray/libflatarray-0.4.0_pre20201009.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake cuda
+
+MY_COMMIT="c8df37f6ac73250998b90c397458469902d6d9b9"
+
+DESCRIPTION="Struct of arrays library with object oriented interface for C++"
+HOMEPAGE="
+ http://www.libgeodecomp.org/libflatarray.html
+ https://github.com/STEllAR-GROUP/libflatarray"
+SRC_URI="https://github.com/STEllAR-GROUP/libflatarray/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="cuda examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ cuda? ( dev-util/nvidia-cuda-toolkit )"
+
+S="${WORKDIR}/libflatarray-${MY_COMMIT}"
+
+src_prepare() {
+ cmake_src_prepare
+ use cuda && cuda_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_CUDA=$(usex cuda)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}
+ dodoc -r examples/
+ dodoc -r "${WORKDIR}"/${P}_build/examples/
+ find "${ED}"/usr/share/doc/${PF} -iname "*cmake*" -exec rm -r {} + || die
+ fi
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/libflatarray/metadata.xml b/dev-libs/libflatarray/metadata.xml
index 48fcf22e57a5..ac19c3e4b448 100644
--- a/dev-libs/libflatarray/metadata.xml
+++ b/dev-libs/libflatarray/metadata.xml
@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slis@gentoo.org</email>
+ <maintainer type="person" proxied="yes">
+ <email>kurt@kmk-computers.de</email>
+ <name>Kurt Kanzenbach</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<longdescription>
LibFlatArray is a multi-dimensional C++ array class which provides
diff --git a/dev-libs/libfmt/Manifest b/dev-libs/libfmt/Manifest
index 4c249a97e3c2..fd77431cdece 100644
--- a/dev-libs/libfmt/Manifest
+++ b/dev-libs/libfmt/Manifest
@@ -1,5 +1,6 @@
-DIST libfmt-4.1.0.tar.gz 620863 BLAKE2B ff3a7db5a1eed3a6fc936be16caf2dd153d9452df16c07d6e0dc718bcfb9f51f52146498cb3f49591f1ad96d36a9561de2a78426d3bb8a0907b772e8be5a6f7f SHA512 8daaa4a61bfe63345a12df0a9bca0b1cd6a162d0f4e97d2d2978ae19a1a1357ec4d4cce948ce726cdbe9403e51ad995950a2a99de28f9b9085c02ce845540b22
-DIST libfmt-5.1.0.tar.gz 641502 BLAKE2B 8507e875a78de2e89b7fe2c1c049691bfef6e0a7375ef7958e2191bcc4c60972b54b6ebc213d1465826af8322d8f90b217c1c7e176b29351c733184ff95cca40 SHA512 b759a718353254fa8cd981e483bf01a45af0fc76901216404ace5e47f5d3edf43d42422184e5413c221e49832322fdf60d1860e8ec87349c674511064b31e5d6
-DIST libfmt-5.2.0.tar.gz 648061 BLAKE2B a2ffe84277097f3cd5bfa163fa12e352349ab8239ab00f071cc0236bdea0c7c15b3c04f40036006fbe6ed231ff19d53abcba7c5dec709e5ac418ad41cc489d4e SHA512 75d53e6d8087288607f75fb891bb8812c7b9fe65e5ab7a20cdffeb5e56bd1f48e0de24c8cf1c2dd603fe3ed76f9fa067804ec5d3560f177db8f0a747c36f9d1c
-DIST libfmt-5.2.1.tar.gz 648668 BLAKE2B 516522d4e75e7ccdf95a43bfe1b5f95b8ce8ef0174d6b82d6b7be9985f084228a69e70ecba7f57788d536501699b584cb4eb51d7894b416ea857727b776b3823 SHA512 2b63a741df4df9c3cbf04098c6548bb3d0f9836fe912325542298df57c888f43e72159469fb87685b423694e43e4418545377d5ee6393f2709955be2c13780a8
-DIST libfmt-5.3.0.tar.gz 662493 BLAKE2B 462c54c227132b2398977ff575f74e63e973825968b106e09cb0f3da859f1d851a6dd1799c05e3ae6adff2ac972f4af259c42fdf8429346b2830134571c31480 SHA512 9ef0f3d328681253c1e1776576d54d67dec49c19fd7fc422ae63c3610b01a3f05f6e83cdf5e913dfd09bac42e52fe35c38ebe1ea91f4207d226a32aaf69eb4a8
+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/libfmt-10.0.0-r1.ebuild b/dev-libs/libfmt/libfmt-10.0.0-r1.ebuild
new file mode 100644
index 000000000000..21279049b837
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.0.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-multilib
+
+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 )"
+
+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-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-r1.ebuild b/dev-libs/libfmt/libfmt-10.1.0-r1.ebuild
new file mode 100644
index 000000000000..21279049b837
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.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-multilib
+
+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 )"
+
+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-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-r1.ebuild b/dev-libs/libfmt/libfmt-10.1.1-r1.ebuild
new file mode 100644
index 000000000000..21279049b837
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.1.1-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-multilib
+
+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 )"
+
+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-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-r1.ebuild b/dev-libs/libfmt/libfmt-10.2.0-r1.ebuild
new file mode 100644
index 000000000000..21279049b837
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.2.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-multilib
+
+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 )"
+
+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-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-r2.ebuild b/dev-libs/libfmt/libfmt-10.2.1-r2.ebuild
new file mode 100644
index 000000000000..da45c0e71554
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-10.2.1-r2.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-multilib 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 )"
+
+multilib_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-4.1.0.ebuild b/dev-libs/libfmt/libfmt-4.1.0.ebuild
deleted file mode 100644
index 205d52c52e72..000000000000
--- a/dev-libs/libfmt/libfmt-4.1.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib versionator
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="BSD-2"
-IUSE="test"
-SLOT="0/$(get_major_version)"
-
-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 ~x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-5.1.0.ebuild b/dev-libs/libfmt/libfmt-5.1.0.ebuild
deleted file mode 100644
index 205d52c52e72..000000000000
--- a/dev-libs/libfmt/libfmt-5.1.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib versionator
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="BSD-2"
-IUSE="test"
-SLOT="0/$(get_major_version)"
-
-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 ~x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-5.2.0.ebuild b/dev-libs/libfmt/libfmt-5.2.0.ebuild
deleted file mode 100644
index 9620f7502597..000000000000
--- a/dev-libs/libfmt/libfmt-5.2.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib eapi7-ver
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="BSD-2"
-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 x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-5.2.1.ebuild b/dev-libs/libfmt/libfmt-5.2.1.ebuild
deleted file mode 100644
index 932e58c0ce52..000000000000
--- a/dev-libs/libfmt/libfmt-5.2.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib eapi7-ver
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="BSD-2"
-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 ~x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-5.3.0.ebuild b/dev-libs/libfmt/libfmt-5.3.0.ebuild
deleted file mode 100644
index 5560b60dd4ab..000000000000
--- a/dev-libs/libfmt/libfmt-5.3.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib eapi7-ver
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="BSD-2"
-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 ~ppc ~ppc64 x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_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-9.1.0-r2.ebuild b/dev-libs/libfmt/libfmt-9.1.0-r2.ebuild
new file mode 100644
index 000000000000..b37fe02a5ea4
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-9.1.0-r2.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-multilib
+
+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 )"
+
+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-9999.ebuild b/dev-libs/libfmt/libfmt-9999.ebuild
index 932e58c0ce52..da45c0e71554 100644
--- a/dev-libs/libfmt/libfmt-9999.ebuild
+++ b/dev-libs/libfmt/libfmt-9999.ebuild
@@ -1,35 +1,33 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-multilib eapi7-ver
+inherit cmake-multilib flag-o-matic
DESCRIPTION="Small, safe and fast formatting library"
HOMEPAGE="https://github.com/fmtlib/fmt"
-LICENSE="BSD-2"
-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 ~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() {
+ append-lfs-flags
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
-DFMT_LIB_DIR="$(get_libdir)"
-DFMT_TEST=$(usex test)
- -DBUILD_SHARED_LIBS=ON
)
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/dev-libs/libfmt/metadata.xml b/dev-libs/libfmt/metadata.xml
index 8c4896c7b089..eb6c368a1f48 100644
--- a/dev-libs/libfmt/metadata.xml
+++ b/dev-libs/libfmt/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
@@ -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-r1.ebuild b/dev-libs/libfstrcmp/libfstrcmp-0.7-r1.ebuild
new file mode 100644
index 000000000000..01f2a6f1a330
--- /dev/null
+++ b/dev-libs/libfstrcmp/libfstrcmp-0.7-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Make fuzzy comparisons of strings and byte arrays"
+HOMEPAGE="http://fstrcmp.sourceforge.net/"
+
+LICENSE="GPL-3+"
+IUSE="doc static-libs test"
+SLOT="0"
+
+SRC_URI="http://fstrcmp.sourceforge.net/fstrcmp-0.7.D001.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/fstrcmp-0.7.D001"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+DEPEND="
+ sys-apps/groff
+ doc? ( app-text/ghostscript-gpl )
+ test? ( app-text/ghostscript-gpl )
+"
+RESTRICT="!test? ( test )"
+
+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/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/libfstrcmp/metadata.xml b/dev-libs/libfstrcmp/metadata.xml
index 9fd38e376f59..86ad19a06eda 100644
--- a/dev-libs/libfstrcmp/metadata.xml
+++ b/dev-libs/libfstrcmp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
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/files/g15tools.patch b/dev-libs/libg15/files/g15tools.patch
deleted file mode 100644
index 7eb6e915e596..000000000000
--- a/dev-libs/libg15/files/g15tools.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-Patch from upstream bug tracker:
-https://sourceforge.net/tracker/?func=detail&aid=3336448&group_id=167869&atid=844658
-
-As only part of G510 support was merged to upstream. Does NOT apply & compile
-on top of 1.2.7-r1.
-
-diff -aNru trunk/libg15/libg15.c mod/libg15/libg15.c
---- trunk/libg15/libg15.c 2011-03-31 23:33:44.000000000 +0000
-+++ mod/libg15/libg15.c 2011-06-26 07:08:21.000000000 +0000
-@@ -1029,6 +1029,76 @@
- }
- }
-
-+// Logitech G510 Media Keys implementation. Unknown if this will work for other
-+// models. Using the backlight key as a modifier. The assumption is you would
-+// normally not be holding down the backlight key while pressing G-keys.
-+static void processKeyEvent2Byte(unsigned int *pressed_keys, unsigned char *buffer)
-+{
-+ // Key modifier
-+ *pressed_keys |= G15_KEY_LIGHT;
-+
-+ // XF86AudioPlay
-+ if (*pressed_keys & G15_KEY_G1)
-+ *pressed_keys -= G15_KEY_G1;
-+
-+ // XF86AudioStop
-+ if (*pressed_keys & G15_KEY_G2)
-+ *pressed_keys -= G15_KEY_G2;
-+
-+ // XF86AudioPrev
-+ if (*pressed_keys & G15_KEY_G3)
-+ *pressed_keys -= G15_KEY_G3;
-+
-+ // XF86AudioNext
-+ if (*pressed_keys & G15_KEY_G4)
-+ *pressed_keys -= G15_KEY_G4;
-+
-+ // XF86AudioMute
-+ if (*pressed_keys & G15_KEY_G5)
-+ *pressed_keys -= G15_KEY_G5;
-+
-+ // XF86AudioRaiseVolume
-+ if (*pressed_keys & G15_KEY_G6)
-+ *pressed_keys -= G15_KEY_G6;
-+
-+ // XF86AudioLowerVolume
-+ if (*pressed_keys & G15_KEY_G7)
-+ *pressed_keys -= G15_KEY_G7;
-+
-+ g15_log(stderr,G15_LOG_WARN,"Keyboard: %x, %x\n", buffer[0], buffer[1]);
-+
-+ if (buffer[0] == 0x02)
-+ {
-+ // XF86AudioPlay
-+ if (buffer[1] & 0x08)
-+ *pressed_keys |= G15_KEY_G1;
-+
-+ // XF86AudioStop
-+ if (buffer[1] & 0x04)
-+ *pressed_keys |= G15_KEY_G2;
-+
-+ // XF86AudioPrev
-+ if (buffer[1] & 0x02)
-+ *pressed_keys |= G15_KEY_G3;
-+
-+ // XF86AudioNext
-+ if (buffer[1] & 0x01)
-+ *pressed_keys |= G15_KEY_G4;
-+
-+ // XF86AudioMute
-+ if (buffer[1] & 0x16)
-+ *pressed_keys |= G15_KEY_G5;
-+
-+ // XF86AudioRaiseVolume
-+ if (buffer[1] & 0x32)
-+ *pressed_keys |= G15_KEY_G6;
-+
-+ // XF86AudioLowerVolume
-+ if (buffer[1] & 0x64)
-+ *pressed_keys |= G15_KEY_G7;
-+ }
-+}
-+
- int getPressedKeys(unsigned int *pressed_keys, unsigned int timeout)
- {
- unsigned char buffer[G15_KEY_READ_LENGTH];
-@@ -1063,6 +1133,13 @@
- case 9:
- processKeyEvent9Byte(pressed_keys, buffer);
- return G15_NO_ERROR;
-+ case 2:
-+ if (g15DeviceCapabilities() & G15_DEVICE_G510)
-+ {
-+ processKeyEvent2Byte(pressed_keys, buffer);
-+ return G15_NO_ERROR;
-+ }
-+ // Deliberate fallthrough
- default:
- return handle_usb_errors("Keyboard Read", ret); /* allow the app to deal with errors */
- }
diff --git a/dev-libs/libg15/libg15-1.2.7-r1.ebuild b/dev-libs/libg15/libg15-1.2.7-r1.ebuild
index 5ec490f2e523..90ad1f3e5434 100644
--- a/dev-libs/libg15/libg15-1.2.7-r1.ebuild
+++ b/dev-libs/libg15/libg15-1.2.7-r1.ebuild
@@ -1,29 +1,38 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=4
+EAPI=7
+
+if [[ ${PV} == *9999 ]]; then
+ inherit autotools subversion
+ ESVN_PROJECT=g15tools/trunk
+ ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
+else
+ KEYWORDS="amd64 ppc ppc64 x86"
+ SRC_URI="https://downloads.sourceforge.net/g15tools/${P}.tar.bz2"
+fi
DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
HOMEPAGE="https://sourceforge.net/projects/g15tools/"
-SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-DEPEND="=virtual/libusb-0*"
-RDEPEND=${DEPEND}
+RDEPEND="virtual/libusb:0"
+DEPEND="${RDEPEND}"
-DOCS=( AUTHORS README ChangeLog )
+src_prepare() {
+ default
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
src_configure() {
- econf \
- --disable-static
+ econf --disable-static
}
src_install() {
default
- find "${ED}" -name '*.la' -exec rm -f {} +
+ # no static archives
+ find "${ED}" -type f -name '*.la' -delete || die
}
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 a2faa8211176..0a74e03e1c6a 100644
--- a/dev-libs/libg15/libg15-9999.ebuild
+++ b/dev-libs/libg15/libg15-9999.ebuild
@@ -1,51 +1,37 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=4
-ESVN_PROJECT=g15tools/trunk
-ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
+EAPI=8
-inherit subversion base eutils autotools
+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://sourceforge.net/projects/g15tools/"
-[[ $PV = *9999* ]] || SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+HOMEPAGE="https://gitlab.com/menelkir/libg15"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS=""
-IUSE=""
-DEPEND="=virtual/libusb-0*"
-RDEPEND=${DEPEND}
-
-DOCS=( AUTHORS README ChangeLog )
-
-PATCHES=( "${FILESDIR}"/g15tools.patch )
-
-src_unpack() {
- if [[ ${PV} = *9999* ]]; then
- subversion_src_unpack
- fi
-}
+RDEPEND="virtual/libusb:0"
+DEPEND="${RDEPEND}"
src_prepare() {
- if [[ ${PV} = *9999* ]]; then
- subversion_wc_info
- fi
- base_src_prepare
- if [[ ${PV} = *9999* ]]; then
- eautoreconf
- fi
+ default
+ [[ ${PV} == *9999 ]] && eautoreconf
}
src_configure() {
- econf \
- --disable-static
+ econf --disable-static
}
src_install() {
default
- find "${ED}" -name '*.la' -exec rm -f {} +
+ # no static archives
+ find "${ED}" -type f -name '*.la' -delete || die
}
diff --git a/dev-libs/libg15/metadata.xml b/dev-libs/libg15/metadata.xml
index da7ba4ad6e9d..947c62c9e342 100644
--- a/dev-libs/libg15/metadata.xml
+++ b/dev-libs/libg15/metadata.xml
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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-1.2-freetype_pkgconfig.patch b/dev-libs/libg15render/files/libg15render-1.2-freetype_pkgconfig.patch
index 83df9fa4f0fa..313d2ef5b6e2 100644
--- a/dev-libs/libg15render/files/libg15render-1.2-freetype_pkgconfig.patch
+++ b/dev-libs/libg15render/files/libg15render-1.2-freetype_pkgconfig.patch
@@ -1,5 +1,5 @@
---- libg15render-1.2/configure.in
-+++ libg15render-1.2/configure.in
+--- a/configure.in
++++ b/configure.in
@@ -13,19 +13,20 @@
AC_PROG_LIBTOOL
@@ -33,3 +33,21 @@
# Checks for libraries.
AC_CHECK_LIB([g15], [writePixmapToLCD], ,AC_MSG_ERROR(["libg15 not found. please install it"]))
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,3 @@
+-LLIBDIR=@LIBDIR@
+-AM_CFLAGS=@CFLAGS@
+ lib_LTLIBRARIES = libg15render.la
+ libg15render_la_SOURCES = libg15render.h text.c pixel.c screen.c font_6x4.c font_7x5.c font_8x8.c
+ libg15render_la_LIBADD = @FTLIB@
+@@ -7,8 +5,7 @@
+ include_HEADERS= libg15render.h
+ EXTRA_DIST = debian Doxyfile libg15render.3
+ man3_MANS = $(top_srcdir)/libg15render.3
+-docdir = $(prefix)/share/doc/$(PACKAGE)-$(VERSION)
+-doc_DATA = AUTHORS ChangeLog COPYING NEWS README
++doc_DATA = AUTHORS ChangeLog NEWS README
+
+ dist-hook:
+ rm -rf `find $(distdir)/debian -name .svn`
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/files/libg15render-3.0.4-missing-include.patch b/dev-libs/libg15render/files/libg15render-3.0.4-missing-include.patch
new file mode 100644
index 000000000000..eeb70bc2c9c6
--- /dev/null
+++ b/dev-libs/libg15render/files/libg15render-3.0.4-missing-include.patch
@@ -0,0 +1,11 @@
+https://gitlab.com/menelkir/libg15render/-/commit/ea940d38ca5c17685e4c13dcdcde43bbd6ec1fea
+--- a/pixel.c
++++ b/pixel.c
+@@ -19,6 +19,7 @@
+ #include <fcntl.h>
+ #include <stdlib.h>
+ #include <math.h>
++#include <unistd.h>
+ #include "libg15render.h"
+
+ void swap (int *x, int *y){
diff --git a/dev-libs/libg15render/libg15render-1.2-r2.ebuild b/dev-libs/libg15render/libg15render-1.2-r2.ebuild
index 816da20255ea..4ee417b73703 100644
--- a/dev-libs/libg15render/libg15render-1.2-r2.ebuild
+++ b/dev-libs/libg15render/libg15render-1.2-r2.ebuild
@@ -1,30 +1,29 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit autotools
DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
HOMEPAGE="https://sourceforge.net/projects/g15tools/"
-SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/g15tools/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 x86"
-
IUSE="truetype"
RDEPEND="
dev-libs/libg15
- truetype? ( media-libs/freetype )
-"
-DEPEND="${RDEPEND}
+ truetype? ( media-libs/freetype )"
+DEPEND="${RDEPEND}"
+BDEPEND="
truetype? ( virtual/pkgconfig )"
PATCHES=(
- "${FILESDIR}/${P}-pixel-c.patch"
- "${FILESDIR}/${P}-freetype_pkgconfig.patch"
+ "${FILESDIR}"/${P}-pixel-c.patch
+ "${FILESDIR}"/${P}-freetype_pkgconfig.patch
)
src_prepare() {
@@ -36,15 +35,14 @@ src_prepare() {
src_configure() {
local myeconfargs=(
--disable-static
- $(use_enable truetype ttf )
+ $(use_enable truetype ttf)
)
econf "${myeconfargs[@]}"
}
src_install() {
- emake DESTDIR="${D}" \
- docdir=/usr/share/doc/${PF} install
- rm "${ED%/}/usr/share/doc/${PF}/COPYING"
+ default
- find "${ED}" -name '*.la' -delete || die
+ # no static archives
+ find "${ED}" -type f -name '*.la' -delete || die
}
diff --git a/dev-libs/libg15render/libg15render-3.0.4-r1.ebuild b/dev-libs/libg15render/libg15render-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..bdf4d4d973fc
--- /dev/null
+++ b/dev-libs/libg15render/libg15render-3.0.4-r1.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
+
+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"
+ "${FILESDIR}/${P}-missing-include.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-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
index 58ded405385e..bafaecea0fdc 100644
--- a/dev-libs/libg15render/libg15render-9999.ebuild
+++ b/dev-libs/libg15render/libg15render-9999.ebuild
@@ -1,57 +1,51 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=4
-ESVN_PROJECT=g15tools/trunk
-ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
+EAPI=8
-inherit subversion base eutils autotools
+inherit autotools
DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
-HOMEPAGE="https://sourceforge.net/projects/g15tools/"
-[[ $PV = *9999* ]] || SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+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"
-KEYWORDS=""
-
IUSE="truetype"
RDEPEND="
- dev-libs/libg15
- truetype? ( media-libs/freetype )
-"
-DEPEND=${RDEPEND}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]]; then
- subversion_src_unpack
- fi
-}
+ >=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() {
- # Merged upstream
- #epatch "${FILESDIR}/${PN}-1.2-pixel-c.patch"
-
- if [[ ${PV} = *9999* ]]; then
- subversion_wc_info
- fi
- base_src_prepare
- if [[ ${PV} = *9999* ]]; then
- eautoreconf
- fi
+ default
+ eautoreconf
}
src_configure() {
- econf \
- --disable-static \
- $(use_enable truetype ttf )
+ local myeconfargs=(
+ --disable-static
+ $(use_enable truetype ttf)
+ )
+ econf "${myeconfargs[@]}"
}
src_install() {
- emake DESTDIR="${D}" \
- docdir=/usr/share/doc/${PF} install || die "make install failed"
- rm "${ED}/usr/share/doc/${PF}/COPYING"
+ default
- find "${ED}" -name '*.la' -exec rm -f {} +
+ # 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 da7ba4ad6e9d..10e3efad11d7 100644
--- a/dev-libs/libg15render/metadata.xml
+++ b/dev-libs/libg15render/metadata.xml
@@ -1,14 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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>
+ <remote-id type="gitlab">menelkir/libg15render</remote-id>
</upstream>
</pkgmetadata>
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-disable_python_static_library.patch b/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch
deleted file mode 100644
index 562fc071eac7..000000000000
--- a/dev-libs/libgamin/files/libgamin-0.1.10-disable_python_static_library.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- python/Makefile.am
-+++ python/Makefile.am
-@@ -10,8 +10,9 @@
- python_LTLIBRARIES = _gamin.la
-
- _gamin_la_SOURCES = gamin.c
-+_gamin_la_CFLAGS = -shared
- _gamin_la_LIBADD = $(top_builddir)/libgamin/libgamin-1.la
--_gamin_la_LDFLAGS = -module -avoid-version
-+_gamin_la_LDFLAGS = -module -avoid-version -shared
-
- python_PYTHON = gamin.py
-
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-r5.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild
deleted file mode 100644
index 82ef17bc6fd8..000000000000
--- a/dev-libs/libgamin/libgamin-0.1.10-r5.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PYTHON_COMPAT=( python2_7 )
-GNOME_ORG_MODULE="gamin"
-GNOME_TARBALL_SUFFIX="bz2"
-
-inherit autotools eutils flag-o-matic libtool python-r1 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 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="debug kernel_linux python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RESTRICT="test" # needs gam-server
-
-RDEPEND="
- python? ( ${PYTHON_DEPS} )
- !app-admin/fam
- !<app-admin/gamin-0.1.10"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- mv "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
-
- # Fix QA warnings, bug #257281, upstream #466791
- epatch "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
-
- if [[ ${CHOST} != *-solaris* ]] ; then
- # Fix compile warnings; bug #188923
- epatch "${DISTDIR}"/gamin-0.1.9-freebsd.patch.bz2
- 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.
- epatch "${DISTDIR}"/${P}-opensolaris.patch.bz2
- fi
-
- # Fix collision problem due to intermediate library, upstream bug #530635
- epatch "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
-
- # Fix compilation with latest glib, bug #382783
- epatch "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
-
- # Fix crosscompilation issues, bug #267604
- epatch "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
-
- # Enable linux specific features on armel, upstream bug #588338
- epatch "${FILESDIR}/${P}-armel-features.patch"
-
- # Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
- epatch "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
-
- # Drop DEPRECATED flags
- sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
-
- # Build only shared version of Python module.
- epatch "${FILESDIR}"/${PN}-0.1.10-disable_python_static_library.patch
-
- sed -i \
- -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
- -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
- configure.in || die #466962
-
- # 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[@]}"
- if multilib_is_native_abi && use python; then
- python_configure() {
- mkdir -p "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
- econf "${myconf[@]}" --with-python
- }
-
- python_foreach_impl python_configure
- fi
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use python; then
- local native_builddir=${BUILD_DIR}
-
- python_compile() {
- emake -C "${BUILD_DIR}"/python \
- VPATH="${native_builddir}/python:${S}/python" \
- _gamin_la_LIBADD="${native_builddir}/libgamin/libgamin-1.la"
- }
-
- python_foreach_impl python_compile
- fi
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi && use python; then
- local native_builddir=${BUILD_DIR}
-
- python_install() {
- emake -C "${BUILD_DIR}"/python \
- DESTDIR="${D}" install \
- VPATH="${native_builddir}/python:${S}/python"
- }
-
- python_foreach_impl python_install
- fi
-}
-
-multilib_src_install_all() {
- dodoc AUTHORS ChangeLog README TODO NEWS doc/*txt
- dohtml doc/*
-
- prune_libtool_files --all
-}
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..3e16d85b0e95
--- /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/libgamin/metadata.xml b/dev-libs/libgamin/metadata.xml
index fb76b944f2da..d43581a9ab0f 100644
--- a/dev-libs/libgamin/metadata.xml
+++ b/dev-libs/libgamin/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>freedesktop-bugs@gentoo.org</email>
diff --git a/dev-libs/libgaminggear/files/libgaminggear-0.15.1-cmake-3.13.patch b/dev-libs/libgaminggear/files/libgaminggear-0.15.1-cmake-3.13.patch
new file mode 100644
index 000000000000..1afc05c0dbec
--- /dev/null
+++ b/dev-libs/libgaminggear/files/libgaminggear-0.15.1-cmake-3.13.patch
@@ -0,0 +1,25 @@
+From eb4ef0dcfcb4b9325f2cc520445b03f2b63c3b6d Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Thu, 31 Oct 2019 00:28:39 +0100
+Subject: [PATCH] Fix build with >=cmake-3.13
+
+https://aur.archlinux.org/packages/libgaminggear/
+---
+ CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 36b5f93..3b02457 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -75,6 +75,7 @@ INCLUDE_DIRECTORIES(
+ ${GTK_INCLUDE_DIRS}
+ ${M_INCLUDE_DIR}
+ ${NOTIFY_INCLUDE_DIRS}
++ /usr/include/harfbuzz
+ )
+
+ ADD_SUBDIRECTORY(configuration)
+--
+2.24.0.rc1
+
diff --git a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild b/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
index 4e350d095d8c..9c844d7032db 100644
--- a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
+++ b/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
@@ -1,14 +1,15 @@
-# 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
-inherit cmake-utils xdg
+inherit cmake xdg
DESCRIPTION="Provides functionality for gaming input devices"
HOMEPAGE="https://sourceforge.net/projects/libgaminggear/"
-SRC_URI="mirror://sourceforge/libgaminggear/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/libgaminggear/${P}.tar.bz2"
+
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
@@ -23,45 +24,23 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
"
-
-DEPEND="
- ${RDEPEND}
- virtual/libgudev
+DEPEND="${RDEPEND}
+ dev-libs/libgudev
+ media-libs/harfbuzz
"
BDEPEND="
dev-util/glib-utils
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
"${FILESDIR}"/${PN}-0.10.0-doc.patch
+ "${FILESDIR}"/${P}-cmake-3.13.patch
)
-# Required because xdg.eclass overrides src_prepare() from cmake-utils.eclass
-src_prepare() {
- cmake-utils_src_prepare
-}
-
src_configure() {
- mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
+ local mycmakeargs=(
-DWITH_DOC="$(usex doc)"
)
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
+ cmake_src_configure
}
diff --git a/dev-libs/libgaminggear/metadata.xml b/dev-libs/libgaminggear/metadata.xml
index 27a75c756402..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 76e7e0a7adc8..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-2019 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 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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
@@ -36,7 +36,6 @@ src_prepare() {
multilib_src_configure() {
local myeconfargs=(
--disable-padlock-support # bug 201917
- --disable-dependency-tracking
--enable-noexecstack
--disable-O-flag-munging
@@ -45,14 +44,12 @@ 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[@]}"
}
multilib_src_install() {
emake -C src DESTDIR="${D}" install-libLTLIBRARIES
- rm -v "${ED}"/usr/$(get_libdir)/*.{la,so} || die
+ rm -vf "${ED}"/usr/$(get_libdir)/*.{la,so} || die
}
diff --git a/dev-libs/libgcrypt-compat/metadata.xml b/dev-libs/libgcrypt-compat/metadata.xml
index 54be7ff7e5d6..374cd4dedb33 100644
--- a/dev-libs/libgcrypt-compat/metadata.xml
+++ b/dev-libs/libgcrypt-compat/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index 64f6382d94be..2bbd8c896934 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -1,2 +1,4 @@
-DIST libgcrypt-1.8.3.tar.bz2 2989166 BLAKE2B 3443883c3e8d005be6cbdc91589b8b287226f26eb59536e1a32512004af739a64a3817ac38fa1132fdfc3424c21ca49c81db93535a23d590a5dc4f4518f3cce1 SHA512 8c873204303f173dd3f49817a81035c1d504b2fc885965c9bc074a6e3fb108ceb6dca366d85e840a40712a6890fc325018ea9b8c1b7b8804c51c44b296cb96a0
-DIST libgcrypt-1.8.4.tar.bz2 2990108 BLAKE2B 97a1f9382adf23cd4ac491a392882f2e712fddd4f0d95a4fafb9cc70aa41ffa7b7b6a371b8368e9c99e3e1849b9d38078abc55703d4d8b25289f3c662e6ba8a1 SHA512 b831fc337eb14806897e224b0d1e78d1f8e9db91dffa818a015a4aa104144e2d971e5a855904907ee2bb9990a9d526de32d6787e1cae98e28a65c3258b2b1ea1
+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-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/files/libgcrypt-powerpc-darwin.patch b/dev-libs/libgcrypt/files/libgcrypt-powerpc-darwin.patch
new file mode 100644
index 000000000000..f1c7cf9e9500
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-powerpc-darwin.patch
@@ -0,0 +1,16 @@
+Drop guard for CPU detection, configure won't get this wrong, and this
+check fails on some PPC platforms where these guards aren't set (due to
+different kernel/libc).
+
+--- a/src/hwf-ppc.c
++++ b/src/hwf-ppc.c
+@@ -33,9 +33,6 @@
+ #include "g10lib.h"
+ #include "hwf-common.h"
+
+-#if !defined (__powerpc__) && !defined (__powerpc64__)
+-# error Module build for wrong CPU.
+-#endif
+
+
+ #if defined(HAVE_SYS_AUXV_H) && defined(HAVE_ELF_AUX_INFO) && \
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.3-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.8.3-r1.ebuild
deleted file mode 100644
index ffd3b99f24b0..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.8.3-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib-minimal
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="http://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 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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=(
- --disable-dependency-tracking
- --enable-noexecstack
- $(use_enable o-flag-munging O-flag-munging)
- $(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
- # 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 -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
-}
-
-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}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.8.3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.8.3.ebuild
deleted file mode 100644
index 810c58069660..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.8.3.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic ltprune multilib-minimal
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="http://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 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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}
- 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=(
- --disable-dependency-tracking
- --enable-noexecstack
- $(use_enable o-flag-munging O-flag-munging)
- $(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
- # 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[@]}"
-}
-
-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
- prune_libtool_files
-}
diff --git a/dev-libs/libgcrypt/libgcrypt-1.8.4.ebuild b/dev-libs/libgcrypt/libgcrypt-1.8.4.ebuild
deleted file mode 100644
index dfb82b98c9ca..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.8.4.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic multilib-minimal
-
-DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
-HOMEPAGE="http://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 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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=(
- --disable-dependency-tracking
- --enable-noexecstack
- $(use_enable o-flag-munging O-flag-munging)
- $(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
- # 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 -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
-}
-
-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}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/metadata.xml b/dev-libs/libgcrypt/metadata.xml
index 9b7e9f273f57..8d42c0b262c0 100644
--- a/dev-libs/libgcrypt/metadata.xml
+++ b/dev-libs/libgcrypt/metadata.xml
@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>k_f@gentoo.org</email>
- <name>Kristian Fiskerstrand</name>
- </maintainer>
<maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
-<use>
-<flag name="o-flag-munging">Enable O-flag mangling during build</flag>
-</use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnupg:libgcrypt</remote-id>
+ </upstream>
+ <use>
+ <flag name="getentropy">Use getentropy function to obtain randomness from the kernel</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/libgdata/Manifest b/dev-libs/libgdata/Manifest
index a55d677faa65..89134be570cf 100644
--- a/dev-libs/libgdata/Manifest
+++ b/dev-libs/libgdata/Manifest
@@ -1,3 +1 @@
-DIST libgdata-0.17.10.tar.xz 836836 BLAKE2B a34f133289eb64ca24d96f38851ac07347e1b2a88860bf926072945d64d3064bbf5c4f674bfb262f27c290fa2b243d5f82805e09290194a9614dbf8dc0993e05 SHA512 01f8bb121c402fc0af8e9f12cafba326a87cef6756ced72652890c834fd4f497a060f6455ab66d4af92d9cd34b4d6fdf58033dca0f91bb806c80b60987955c22
-DIST libgdata-0.17.8.tar.xz 1464812 BLAKE2B 787b5d6e4a62e70f76ca4080fb5c3ff1e7d68745f388be646dd980ef8be18275997bca46a1f3639c9457c8310f9c3f4cd34892be88db284a9ee5e5f43e9723fa SHA512 dfc4c825a7053a6fd7659d04c7077bed8539b4cf3ef3da1d5ece4da3ce17941900e960a300a50b284010ed890dcab87e4c4726403f04481c672832fd34b975b0
-DIST libgdata-0.17.9.tar.xz 1434700 BLAKE2B e0b10bdd962aa5d294d75c15c3aa9187342cd85b9a28816fe5628864bc2236e10ee2765ed8123c8b90422f0394b342a2a144dc7ef844486193c8eec2a46cb17f SHA512 90289309cbdc4ec6932bf385ddbfcc75c0c2f8b9ca356329298aaa37f6c3db7a16de20e5c947c16c595e43e729a664e4d6d3e2c5a60bb1e463a13d1306f374ce
+DIST libgdata-0.18.1.tar.xz 851584 BLAKE2B 860cc42c4d0bdbdd6ca1a1001ec7ea5acc26dd1339052365554123e6524fddce65704a11614c8a081eb3eef10395fb1b4d2dfd3cf942dd1ae3556507af4c7c52 SHA512 15ff708760ca5023b692fd565c26a7c3acf035073534c0cd3f1f90e46ee0c60d14dedf360d3ac146d37135e200d9c2bc4b657e81468d0efde4821a9219875b98
diff --git a/dev-libs/libgdata/files/libgdata-0.17.8-disable-demos.patch b/dev-libs/libgdata/files/libgdata-0.17.8-disable-demos.patch
deleted file mode 100644
index fe06cee34281..000000000000
--- a/dev-libs/libgdata/files/libgdata-0.17.8-disable-demos.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 12fb11f46a7eb4054b74679a6f5ad12dcc41132d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Sun, 23 Jul 2017 20:46:19 +0200
-Subject: [PATCH] Control build of demos
-
-Building demos is not necessary for distributions. Allow disabling it
-but keep it enabled by default.
----
- Makefile.am | 2 ++
- configure.ac | 7 +++++++
- 2 files changed, 9 insertions(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index 0e4cf631..8c0c7143 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -635,6 +635,7 @@ endif
- CODE_COVERAGE_DIRECTORY = $(top_builddir)/gdata
- CODE_COVERAGE_LCOV_OPTIONS = --base-directory $(abs_top_srcdir)
-
-+if ENABLE_BUILD_DEMOS
- # Demo programs
- noinst_PROGRAMS = \
- demos/youtube/youtube-cli \
-@@ -650,6 +651,7 @@ if HAVE_GTK
- noinst_PROGRAMS += \
- demos/scrapbook/scrapbook
- endif
-+endif
-
- demos_docs_list_docs_list_SOURCES = \
- demos/docs-list/docs-list.c \
-diff --git a/configure.ac b/configure.ac
-index 3b0530c3..1e09f277 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -152,6 +152,10 @@ AC_SUBST([GNOME_PACKAGES_PRIVATE])
- AC_SUBST([GNOME_PACKAGES])
- AC_SUBST([GOA_ENABLED])
-
-+AC_ARG_ENABLE([build_demos],
-+ AS_HELP_STRING([--enable-build-demos],
-+ [Enable building demos (default: yes)]),,
-+ [enable_build_demos=yes])
- AC_ARG_ENABLE([always_build_tests],
- AS_HELP_STRING([--enable-always-build-tests],
- [Enable always building tests (default: yes)]),,
-@@ -161,6 +165,9 @@ AC_ARG_ENABLE([installed_tests],
- [Install test programs (default: no)]),,
- [enable_installed_tests=no])
-
-+AM_CONDITIONAL([ENABLE_BUILD_DEMOS],
-+ [test "$enable_build_demos" = "yes"])
-+
- AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS],
- [test "$enable_always_build_tests" = "yes"])
- AC_SUBST([ENABLE_ALWAYS_BUILD_TESTS],[$enable_always_build_tests])
---
-2.13.2
-
diff --git a/dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch b/dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch
deleted file mode 100644
index c73e3f9eaee2..000000000000
--- a/dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-autoconf-archive-2019.01.06 breaks AX_CODE_COVERAGE usage by requiring
-a different integration inside Makefile.am. This would be fine if the
-local m4/ax_code_coverage.m4 would get used, but eaclocal parses out
-the install from ACLOCAL_AMFLAGS, and calls aclocal with that, which
-overwrites ax_code_coverage.m4 with the newer version, obviously
-breaking the usage of all that in Makefile.am.
-Workaround it by patching out the --install argument, thus using the
-tarball copy of it (older version), which works with Makefile.am
-without further patching.
-
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,6 +1,6 @@
- SUBDIRS = . po docs gdata/tests
-
--ACLOCAL_AMFLAGS = --install -I m4 ${ACLOCAL_FLAGS}
-+ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-
- DISTCHECK_CONFIGURE_FLAGS =
- MAINTAINERCLEANFILES =
diff --git a/dev-libs/libgdata/libgdata-0.17.10.ebuild b/dev-libs/libgdata/libgdata-0.17.10.ebuild
deleted file mode 100644
index 112574624d47..000000000000
--- a/dev-libs/libgdata/libgdata-0.17.10.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-GNOME2_EAUTORECONF="yes"
-
-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 gtk-doc +introspection test vala"
-# needs dconf
-RESTRICT="test"
-
-REQUIRED_USE="
- gnome-online-accounts? ( crypt )
- vala? ( introspection )
-"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/json-glib-1[introspection?]
- >=dev-libs/libxml2-2:2
- >=net-libs/liboauth-0.9.4
- >=net-libs/libsoup-2.55.90:2.4[introspection?]
- gtk? ( x11-libs/gtk+:3 )
- crypt? ( app-crypt/gcr:= )
- gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.8:=[introspection?,vala?] )
- introspection? ( >=dev-libs/gobject-introspection-0.9.7:= )
-"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.25
- sys-devel/gettext
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc )
- test? ( >=net-libs/uhttpmock-0.5
- >=x11-libs/gdk-pixbuf-2.14:2 )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- eapply_user
-}
-
-src_configure() {
- local emesonargs=(
- "-Dinstalled_tests=false"
- -Dgnome=$(usex crypt enabled disabled)
- -Dgoa=$(usex gnome-online-accounts enabled disabled)
- -Dgtk=$(usex gtk enabled disabled)
- $(meson_use gtk-doc gtk_doc)
- $(meson_use gtk-doc man)
- $(meson_use introspection)
- $(meson_use vala vapi)
- $(meson_use test always-build-tests)
- )
- meson_src_configure
-}
-
-src_test() {
- meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/dev-libs/libgdata/libgdata-0.17.8.ebuild b/dev-libs/libgdata/libgdata-0.17.8.ebuild
deleted file mode 100644
index 7c6ac6bb7a98..000000000000
--- a/dev-libs/libgdata/libgdata-0.17.8.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2 vala
-
-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 +introspection static-libs test vala"
-REQUIRED_USE="
- gnome-online-accounts? ( crypt )
- vala? ( introspection )
-"
-
-KEYWORDS="alpha amd64 ~arm ~arm64 hppa ~ia64 ~ppc ~ppc64 sparc x86"
-
-RDEPEND="
- >=dev-libs/glib-2.38.0:2
- >=dev-libs/json-glib-0.15
- >=dev-libs/libxml2-2:2
- >=net-libs/liboauth-0.9.4
- >=net-libs/libsoup-2.55.90:2.4[introspection?]
- >=x11-libs/gdk-pixbuf-2.14:2
- crypt? ( app-crypt/gcr:= )
- gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.8:= )
- introspection? ( >=dev-libs/gobject-introspection-0.9.7:= )
-"
-DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.25
- >=dev-util/intltool-0.40
- virtual/pkgconfig
- test? ( >=net-libs/uhttpmock-0.5 )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- gnome2_src_prepare
-}
-
-src_configure() {
- # configure checks for gtk:3, but only uses it for demos which are not installed
- gnome2_src_configure \
- $(use_enable crypt gnome) \
- $(use_enable gnome-online-accounts goa) \
- $(use_enable introspection) \
- $(use_enable vala) \
- $(use_enable static-libs static) \
- $(use_enable test always-build-tests) \
- GTK_CFLAGS= \
- GTK_LIBS=
-}
-
-src_test() {
- unset ORBIT_SOCKETDIR
- export GSETTINGS_BACKEND="memory" #486412
- dbus-launch emake check
-}
diff --git a/dev-libs/libgdata/libgdata-0.17.9-r1.ebuild b/dev-libs/libgdata/libgdata-0.17.9-r1.ebuild
deleted file mode 100644
index f9f1ba477023..000000000000
--- a/dev-libs/libgdata/libgdata-0.17.9-r1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-GNOME2_EAUTORECONF="yes"
-
-inherit gnome2 vala
-
-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 +introspection static-libs test vala"
-REQUIRED_USE="
- gnome-online-accounts? ( crypt )
- vala? ( introspection )
-"
-
-KEYWORDS="alpha amd64 ~arm arm64 hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/json-glib-0.15[introspection?]
- >=dev-libs/libxml2-2:2
- >=net-libs/liboauth-0.9.4
- >=net-libs/libsoup-2.55.90:2.4[introspection?]
- >=x11-libs/gdk-pixbuf-2.14:2
- crypt? ( app-crypt/gcr:= )
- gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.8:=[introspection?,vala?] )
- introspection? ( >=dev-libs/gobject-introspection-0.9.7:= )
-"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.25
- >=dev-util/intltool-0.40
- virtual/pkgconfig
- test? ( >=net-libs/uhttpmock-0.5 )
- vala? ( $(vala_depend) )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.17.8-disable-demos.patch
- # don't overwrite m4/ax_* with newer breaking versions
- "${FILESDIR}"/${P}-ax2019-compat.patch
-)
-
-src_prepare() {
- use vala && vala_src_prepare
- gnome2_src_prepare
-}
-
-src_configure() {
- gnome2_src_configure \
- --disable-build-demos \
- $(use_enable crypt gnome) \
- $(use_enable gnome-online-accounts goa) \
- $(use_enable introspection) \
- $(use_enable vala) \
- $(use_enable static-libs static) \
- $(use_enable test always-build-tests)
-}
-
-src_test() {
- unset ORBIT_SOCKETDIR
- dbus-run-session emake check
-}
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/metadata.xml b/dev-libs/libgdata/metadata.xml
index 4b8d03fba618..6a646ad90c56 100644
--- a/dev-libs/libgdata/metadata.xml
+++ b/dev-libs/libgdata/metadata.xml
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<use>
- <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 3e9eb8e310fc..013768e60b48 100644
--- a/dev-libs/libgee/Manifest
+++ b/dev-libs/libgee/Manifest
@@ -1,2 +1 @@
-DIST libgee-0.20.1.tar.xz 681464 BLAKE2B 5e7d6d9fb9c2833bd7334f5fb38dd1ff151ee4e5ebc3414d904b9c0dc57d3c3fe56ea2194828f9bc1eec57413058cb6866156a5e3da76381cf71fe98102d9c52 SHA512 b991acfea965e0afa007adac0df1763c3b97b31bf2832c0408128d02f4bb237a03c583b4dd107de1ed877ef042614352c845b6ba5f8b6fb535f43e2400746d7f
-DIST libgee-0.6.8.tar.xz 443060 BLAKE2B b11275dd27492c0ae80fc354f1167e96def9b7c126089509f83b6d291eb48155224f5449e1b22a2549c6e3f2cb5d5daf5daa3ccc425723b7a203762e09ada091 SHA512 b26d36ee9fc0c5c214521ad97bc20f11f1191a3dab72a5f1af2f6435f51ff2f28e81ccb26fac399939c1a7eaad519db98032d3bc593a4052463acd91bb12902a
+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.1.ebuild b/dev-libs/libgee/libgee-0.20.1.ebuild
deleted file mode 100644
index 132fc9e7b59a..000000000000
--- a/dev-libs/libgee/libgee-0.20.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~sh 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}
- 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/libgee-0.6.8.ebuild b/dev-libs/libgee/libgee-0.6.8.ebuild
deleted file mode 100644
index bae2b3abbfca..000000000000
--- a/dev-libs/libgee/libgee-0.6.8.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-GCONF_DEBUG="no"
-
-inherit gnome2
-
-DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
-HOMEPAGE="https://live.gnome.org/Libgee"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 ia64 ppc ppc64 ~sh sparc x86 ~x86-linux"
-IUSE="+introspection"
-
-RDEPEND=">=dev-libs/glib-2.12:2
- introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- DOCS="AUTHORS ChangeLog* MAINTAINERS NEWS README"
- gnome2_src_configure $(use_enable introspection)
-}
diff --git a/dev-libs/libgee/metadata.xml b/dev-libs/libgee/metadata.xml
index 16b03d43fd70..deb03f934a19 100644
--- a/dev-libs/libgee/metadata.xml
+++ b/dev-libs/libgee/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-<longdescription lang="en">
-libgee is a collection library providing GObject-based interfaces and classes for commonly used data structures.
-</longdescription>
+ <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 8c0f5c4e1a1c..7e08a7a2c53d 100644
--- a/dev-libs/libgit2-glib/Manifest
+++ b/dev-libs/libgit2-glib/Manifest
@@ -1,3 +1 @@
-DIST libgit2-glib-0.26.2.tar.xz 421956 BLAKE2B d38698f00d85b484d17078e78ad051a4c068b87df73fcf4d7b852dc6966628580cc4e5b3899a6edd5dc29fb47ef97ebe2c458992701b7642549f3e411d917dc5 SHA512 35fb3ec7a3757212f53cc884760f69725beff8462018b8e716fad389ba57d1acba99ece0fcd148ff40dc63e1fc7e7d566fe84759bd88d3a0ff9fdf970b0a5563
-DIST libgit2-glib-0.26.4.tar.xz 138492 BLAKE2B 725c14076fb940186faac079cff1ea87c456ed41e943ae95a4a674632c1be261ab6d4d5bcb5c0800bbde5d86c1ff3095d59045a2fda1342a1cf5c691a2b424aa SHA512 9eb78f292583862890ca0cd27d7621da2f8f633a76f4679f897ce6cf9e06b64a3cb7b0ddda39d231d21d3faa830fe1a9a9326b4abd420df8356d50a734360b37
-DIST libgit2-glib-0.28.0.1.tar.xz 138928 BLAKE2B 708523bb5a723f59e51501675c046da072bcdf18b3ded94920ce9eb181854780d6b44759531c8e949199a889578515994299facd14d10a07958019f6af0b6aba SHA512 6ae88bb56052461a9531016140edbd8517db8d5c0e5c217b4e8918ffef70b92652e4a95493c4290112068d0b793bff2b894f136b79929924fb7347926e3a8f51
+DIST libgit2-glib-1.2.0.tar.xz 140576 BLAKE2B f49f808e7f97c45d7df49d780fdf036422b794e551f2e42d934b015fb227b1cb80d5067198a5ef7ac0539460bf6c0eab74025bcf367a0aebb43518448015e22e SHA512 37004e86c663ce5fe1bd54878b908575eb9195c1012e88e39c2efdb0b6cfa1de3d2ed9754cecc1b942d001698870025c87d95856f2a0a9f2d0dba1979b07b1f8
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.26.2.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.26.2.ebuild
deleted file mode 100644
index e1643f1af334..000000000000
--- a/dev-libs/libgit2-glib/libgit2-glib-0.26.2.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{3_5,3_6} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2 python-r1 vala
-
-DESCRIPTION="Git library for GLib"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="python +ssh +vala"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# Specify libgit2 dependency with subslot because libgit2 upstream has a habit
-# of changing their API in each release in ways that break libgit2-glib
-RDEPEND="
- >=dev-libs/gobject-introspection-0.10.1:=
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/libgit2-0.26.0:0/26[ssh?]
- python? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
- virtual/pkgconfig
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- gnome2_src_prepare
-}
-
-src_configure() {
- gnome2_src_configure \
- $(use_enable python) \
- $(use_enable ssh) \
- $(use_enable vala)
-}
-
-src_install() {
- gnome2_src_install
-
- if use python ; then
- install_gi_override() {
- python_moduleinto "$(python_get_sitedir)/gi/overrides"
- python_domodule "${S}"/${PN}/Ggit.py
- }
- python_foreach_impl install_gi_override
- fi
-}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-0.26.4.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.26.4.ebuild
deleted file mode 100644
index d26630c95978..000000000000
--- a/dev-libs/libgit2-glib/libgit2-glib-0.26.4.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{3_5,3_6,3_7} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org meson python-r1 vala
-
-DESCRIPTION="Git library for GLib"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="python +ssh +vala"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# Specify libgit2 dependency with subslot because libgit2 upstream has a habit
-# of changing their API in each release in ways that break libgit2-glib
-RDEPEND="
- >=dev-libs/gobject-introspection-0.10.1:=
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/libgit2-0.26.0:0/26[ssh?]
- python? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- virtual/pkgconfig
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- default
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- # apparently broken; fails to build
- -Dgtk_doc=false
- # we install python scripts manually
- -Dpython=false
- -Dssh=$(usex ssh true false)
- -Dvapi=$(usex vala true false)
- )
-
- 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-0.28.0.1.ebuild b/dev-libs/libgit2-glib/libgit2-glib-0.28.0.1.ebuild
deleted file mode 100644
index ed38c0c65f60..000000000000
--- a/dev-libs/libgit2-glib/libgit2-glib-0.28.0.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{3_5,3_6,3_7} )
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org meson python-r1 vala
-
-DESCRIPTION="Git library for GLib"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="python +ssh +vala"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# libgit2-glib is now compatible with SOVERSION 26..28 of libgit2.
-RDEPEND="
- >=dev-libs/gobject-introspection-0.10.1:=
- >=dev-libs/glib-2.44.0:2
- <dev-libs/libgit2-0.29:0=[ssh?]
- >=dev-libs/libgit2-0.26.0:0
- python? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- virtual/pkgconfig
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- default
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- # apparently broken; fails to build
- -Dgtk_doc=false
- # we install python scripts manually
- -Dpython=false
- -Dssh=$(usex ssh true false)
- -Dvapi=$(usex vala true false)
- )
-
- 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 c188b2555dc8..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 0ab25487acae..b6be2db7ff21 100644
--- a/dev-libs/libgit2/Manifest
+++ b/dev-libs/libgit2/Manifest
@@ -1,2 +1,2 @@
-DIST libgit2-0.26.8.tar.gz 4742478 BLAKE2B 31326987961ed42740f6c0ddce6a80c278175899a62cabd65ce9eef60854553e6a91fd9947ca23945104d4e1b46f9ab0bb1a1a793d8dd87bed792528e5c32839 SHA512 efb9229b2882ac36910d75778d7431bec40f3529f2ad2dd6a950d5580ceb0d4dd798242a422ea6cbb880f515df4dfbb7055a65dd5a8106696d3d458851fca56e
-DIST libgit2-0.28.2.tar.gz 4987586 BLAKE2B cf791adb173050b4b153062ff5fdc923289462677ce34af1077d228a95c4d9d7e9b836aee44dc79f079f42c910c4b4548241ec7ff16665ce49e319ccd38d4c7a SHA512 0879c162e2e1dc00eadfbda22cd1f9d3a95b4ec2b653c108983f37c2f695140882de4d50d7cbc04ced247125a4e9fe6df16130e1267891aecdb2411d920db5c6
+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/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch b/dev-libs/libgit2/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch
deleted file mode 100644
index 40be2aee8fdc..000000000000
--- a/dev-libs/libgit2/files/libgit2-0.26.8-disable-oom-tests-on-32bit.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 16b5a7baf67169ff12a9a2de9c2853c6f921317c Mon Sep 17 00:00:00 2001
-From: Edward Thomson <ethomson@edwardthomson.com>
-Date: Thu, 13 Sep 2018 13:27:07 +0100
-Subject: [PATCH] tests: don't run buf::oom on 32-bit systems
-
-On a 32-bit Linux systems, the value large enough to make malloc
-guarantee a failure is also large enough that valgrind considers it
-"fishy". Skip this test on those systems entirely.
-
-[rebased for v0.26.8]
----
- tests/buf/oom.c | 14 +++++++++-----
- 1 file changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/tests/buf/oom.c b/tests/buf/oom.c
-index 16a03cc1a..86f5e7239 100644
---- a/tests/buf/oom.c
-+++ b/tests/buf/oom.c
-@@ -11,12 +11,8 @@
- */
- #if defined(GIT_ARCH_64) && defined(__linux__)
- # define TOOBIG 0x0fffffffffffffff
--#elif defined(__linux__)
--# define TOOBIG 0x0fffffff
- #elif defined(GIT_ARCH_64)
- # define TOOBIG 0xffffffffffffff00
--#else
--# define TOOBIG 0xffffff00
- #endif
-
- /**
-@@ -25,13 +21,18 @@
- * will fail. And because the git_buf_grow() wrapper always
- * sets mark_oom, the code in git_buf_try_grow() will free
- * the internal buffer and set it to git_buf__oom.
-- *
-+ *
- * We initialized the internal buffer to (the static variable)
- * git_buf__initbuf. The purpose of this test is to make sure
- * that we don't try to free the static buffer.
-+ *
-+ * Skip this test entirely on 32-bit platforms; a buffer large enough
-+ * to guarantee malloc failures is so large that valgrind considers
-+ * it likely to be an error.
- */
- void test_buf_oom__grow(void)
- {
-+#ifdef GIT_ARCH_64
- git_buf buf = GIT_BUF_INIT;
-
- git_buf_clear(&buf);
-@@ -40,6 +41,9 @@ void test_buf_oom__grow(void)
- cl_assert(git_buf_oom(&buf));
-
- git_buf_free(&buf);
-+#else
-+ cl_skip();
-+#endif
- }
-
- void test_buf_oom__grow_by(void)
---
-2.19.1
-
diff --git a/dev-libs/libgit2/libgit2-0.26.8.ebuild b/dev-libs/libgit2/libgit2-0.26.8.ebuild
deleted file mode 100644
index 715f0172be33..000000000000
--- a/dev-libs/libgit2/libgit2-0.26.8.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils python-any-r1
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~ppc x86 ~ppc-macos"
-fi
-
-DESCRIPTION="A linkable library for Git"
-HOMEPAGE="https://libgit2.github.com/"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0/26"
-IUSE="+curl examples gssapi libressl +ssh test +threads trace"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- sys-libs/zlib
- net-libs/http-parser:=
- curl? (
- !libressl? ( net-misc/curl:=[curl_ssl_openssl(-)] )
- libressl? ( net-misc/curl:=[curl_ssl_libressl(-)] )
- )
- gssapi? ( virtual/krb5 )
- ssh? ( net-libs/libssh2 )
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- virtual/pkgconfig
-"
-
-DOCS=( AUTHORS CONTRIBUTING.md CONVENTIONS.md README.md )
-
-PATCHES=(
- # skip OOM tests on 32-bit systems
- # https://bugs.gentoo.org/669892
- # https://github.com/libgit2/libgit2/commit/415a8ae9c9b6ac18f0524b6af8e58408b426457d
- "${FILESDIR}"/libgit2-0.26.8-disable-oom-tests-on-32bit.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DBUILD_CLAR=$(usex test)
- -DENABLE_TRACE=$(usex trace)
- -DUSE_GSSAPI=$(usex gssapi)
- -DUSE_SSH=$(usex ssh)
- -DTHREADSAFE=$(usex threads)
- -DCURL=$(usex curl)
- )
- cmake-utils_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-utils_src_test -R offline
- fi
-}
-
-src_install() {
- cmake-utils_src_install
-
- 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-0.28.2.ebuild b/dev-libs/libgit2/libgit2-0.28.2.ebuild
deleted file mode 100644
index 89a49f8ac99d..000000000000
--- a/dev-libs/libgit2/libgit2-0.28.2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils python-any-r1
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~ppc-macos"
-fi
-
-DESCRIPTION="A linkable library for Git"
-HOMEPAGE="https://libgit2.github.com/"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0/28"
-IUSE="examples gssapi libressl +ssh test +threads trace"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- sys-libs/zlib
- net-libs/http-parser:=
- gssapi? ( virtual/krb5 )
- ssh? ( net-libs/libssh2 )
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- virtual/pkgconfig
-"
-
-S=${WORKDIR}/${P/_/-}
-
-src_configure() {
- local mycmakeargs=(
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DBUILD_CLAR=$(usex test)
- -DENABLE_TRACE=$(usex trace)
- -DUSE_GSSAPI=$(usex gssapi)
- -DUSE_SSH=$(usex ssh)
- -DTHREADSAFE=$(usex threads)
- )
- cmake-utils_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-utils_src_test -R offline
- fi
-}
-
-src_install() {
- cmake-utils_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-r1.ebuild b/dev-libs/libgit2/libgit2-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..dbc498fedac5
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-1.8.0-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_{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 ON OFF)
+ -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-9999.ebuild b/dev-libs/libgit2/libgit2-9999.ebuild
deleted file mode 100644
index 5da98ce6f13c..000000000000
--- a/dev-libs/libgit2/libgit2-9999.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-inherit cmake-utils python-any-r1
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/${PN}/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~ppc-macos"
-fi
-
-DESCRIPTION="A linkable library for Git"
-HOMEPAGE="https://libgit2.github.com/"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0/28"
-IUSE="examples gssapi libressl +ssh test +threads trace"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- sys-libs/zlib
- net-libs/http-parser:=
- gssapi? ( virtual/krb5 )
- ssh? ( net-libs/libssh2 )
-"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- virtual/pkgconfig
-"
-
-src_configure() {
- local mycmakeargs=(
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DBUILD_CLAR=$(usex test)
- -DENABLE_TRACE=$(usex trace)
- -DUSE_GSSAPI=$(usex gssapi)
- -DUSE_SSH=$(usex ssh)
- -DTHREADSAFE=$(usex threads)
- )
- cmake-utils_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-utils_src_test -R offline
- fi
-}
-
-src_install() {
- cmake-utils_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/metadata.xml b/dev-libs/libgit2/metadata.xml
index e090ecb97fe2..b52cfbe2bab9 100644
--- a/dev-libs/libgit2/metadata.xml
+++ b/dev-libs/libgit2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
@@ -15,8 +15,6 @@
speed custom Git applications in any language which supports C bindings.
</longdescription>
<use>
- <flag name="curl">Use <pkg>net-misc/curl</pkg> for HTTP support
- (otherwise, limited built-in implementation will be used)</flag>
<flag name="gssapi">Enable GSSAPI support for SPNEGO auth</flag>
<flag name="ssh">Enable SSH transport support</flag>
<flag name="trace">Enable tracing support</flag>
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 91a8d9e99db9..1caf5f64dede 100644
--- a/dev-libs/libgnome-games-support/Manifest
+++ b/dev-libs/libgnome-games-support/Manifest
@@ -1 +1,2 @@
-DIST libgnome-games-support-1.4.3.tar.xz 345824 BLAKE2B 7969d4470b5c7ba266e3d77071ff7b8b02a1bf407ec74bb0ad1cbe81af7e30e54d3af507f206b07ee1352be4e180dfd62ca6411f07bdbffeb5b18e2f921c7666 SHA512 01a2594d9f95987c99db92c8cc8c212b149619618d15f4128df7eb24d68b64e01f2e77c79b7b07cf81581493ae84215a5d4019ae67585188c04d90827381fc33
+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.4.3.ebuild b/dev-libs/libgnome-games-support/libgnome-games-support-1.4.3.ebuild
deleted file mode 100644
index 0402b206bee2..000000000000
--- a/dev-libs/libgnome-games-support/libgnome-games-support-1.4.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit gnome2
-
-DESCRIPTION="Library for code common to Gnome games"
-HOMEPAGE="https://git.gnome.org/browse/libgnome-games-support/"
-
-LICENSE="LGPL-3+"
-SLOT="1/3"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE=""
-
-RDEPEND="
- dev-libs/libgee:0.8=
- >=dev-libs/glib-2.40:2
- >=x11-libs/gtk+-3.19.2:3
-"
-DEPEND="${DEPEND}
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_configure() {
- gnome2_src_configure \
- VALAC=$(type -P true)
-}
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
new file mode 100644
index 000000000000..8ae75e17654a
--- /dev/null
+++ b/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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="1/3"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+IUSE=""
+
+# 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
+ >=x11-libs/gtk+-3.19.2:3
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+"
+
+src_prepare() {
+ vala_src_prepare
+ xdg_src_prepare
+}
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 39980802b1da..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/libgnt/Manifest
new file mode 100644
index 000000000000..d1a9a822a089
--- /dev/null
+++ b/dev-libs/libgnt/Manifest
@@ -0,0 +1,2 @@
+DIST libgnt-2.14.2.tar.xz 106128 BLAKE2B d3db0ba3a297c14f32cc49b4e5b3392f47031e9406d862520a2f014f4d4e93c13e2ba5a2d61df81637f9dd7961d64ba69b393ee5b3cfebd7eb2768e3f16f29d0 SHA512 17b39e132b44b23486d7d39fa02761997a28abf53f67bf71bbad86d35124e5deb0363d670b2fb5ac99d47256282b0ef6ad1886e12984c868bb0d13ea7ba7d860
+DIST libgnt-2.14.3.tar.xz 106388 BLAKE2B bba785c998e53c75ed9c3b0b4ad1d96d63628a6e2b0ac7abec76a671ddfc0284fd787cd6793433aef83e6b31c6efecce0c656e131ca9b8bf548486de1010e1f9 SHA512 7131834cfe585177865bebf26167de08a04fced3da4e9a072d9b09b3becd1194914757b1a1fc8f129ae6c8fefe3ec1ce0d80d6c50cb624a5698b66ee2e06c6c8
diff --git a/dev-libs/libgnt/files/libgnt-2.14.0-optional_docs.patch b/dev-libs/libgnt/files/libgnt-2.14.0-optional_docs.patch
new file mode 100644
index 000000000000..aded0c047674
--- /dev/null
+++ b/dev-libs/libgnt/files/libgnt-2.14.0-optional_docs.patch
@@ -0,0 +1,15 @@
+--- libgnt-2.14.0/meson.build
++++ libgnt-2.14.0/meson.build
+@@ -231,4 +231,6 @@
+
+ subdir('wms')
+ subdir('test')
+-subdir('doc')
++if get_option('doc')
++ subdir('doc')
++endif
+--- libgnt-2.14.0/meson_options.txt
++++ libgnt-2.14.0/meson_options.txt
+@@ -0,0 +1,2 @@
++option('doc', type : 'boolean', value : true,
++ description : 'build documentation with gtk-doc')
diff --git a/dev-libs/libgnt/files/libgnt-2.14.0-tinfo.patch b/dev-libs/libgnt/files/libgnt-2.14.0-tinfo.patch
new file mode 100644
index 000000000000..1e4ab49020b9
--- /dev/null
+++ b/dev-libs/libgnt/files/libgnt-2.14.0-tinfo.patch
@@ -0,0 +1,18 @@
+--- libgnt-2.14.0/meson.build
++++ libgnt-2.14.0/meson.build
+@@ -72,6 +72,7 @@
+ ncurses_available = true
+ ncurses_inc = []
+ ncurses_libs = [
++ compiler.find_library('tinfow', required : false),
+ compiler.find_library('ncursesw', required : false),
+ compiler.find_library('panelw', required : false)
+ ]
+@@ -113,6 +114,7 @@
+ else
+ # ncursesw was not found. Look for plain old ncurses
+ ncurses_libs = [
++ compiler.find_library('tinfo', required : false),
+ compiler.find_library('ncurses', required : false),
+ compiler.find_library('panel', required : false)
+ ]
diff --git a/dev-libs/libgnt/libgnt-2.14.2.ebuild b/dev-libs/libgnt/libgnt-2.14.2.ebuild
new file mode 100644
index 000000000000..b5bce4a12ebd
--- /dev/null
+++ b/dev-libs/libgnt/libgnt-2.14.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+DESCRIPTION="Pidgin's GLib Ncurses Toolkit"
+HOMEPAGE="https://keep.imfreedom.org/libgnt/libgnt"
+SRC_URI="https://downloads.sourceforge.net/pidgin/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ !<net-im/pidgin-2.14.0
+ dev-libs/glib:2
+ dev-libs/libxml2
+ sys-libs/ncurses:0=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.14.0-optional_docs.patch"
+ "${FILESDIR}/${PN}-2.14.0-tinfo.patch"
+)
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use doc)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/libgnt/libgnt-2.14.3.ebuild b/dev-libs/libgnt/libgnt-2.14.3.ebuild
new file mode 100644
index 000000000000..c5d27eca7bd3
--- /dev/null
+++ b/dev-libs/libgnt/libgnt-2.14.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic meson
+
+DESCRIPTION="Pidgin's GLib Ncurses Toolkit"
+HOMEPAGE="https://keep.imfreedom.org/libgnt/libgnt"
+SRC_URI="https://downloads.sourceforge.net/pidgin/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ !<net-im/pidgin-2.14.0
+ dev-libs/glib:2
+ dev-libs/libxml2
+ sys-libs/ncurses:0=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.14.0-tinfo.patch"
+)
+
+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)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/libgnt/metadata.xml b/dev-libs/libgnt/metadata.xml
new file mode 100644
index 000000000000..fd4b4bbf86d7
--- /dev/null
+++ b/dev-libs/libgnt/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="sourceforge">pidgin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libgpg-error/Manifest b/dev-libs/libgpg-error/Manifest
index c509b3989b19..5c24aeb0ee7e 100644
--- a/dev-libs/libgpg-error/Manifest
+++ b/dev-libs/libgpg-error/Manifest
@@ -1,4 +1,6 @@
-DIST libgpg-error-1.27.tar.bz2 813060 BLAKE2B ece50b2f6f2fc21584724c07e4285ba6e3cd7c11def7155ef1e7be1d496e0d3a7abf977afa1f618b33ca8bcd0427c0c3b46fce2d0a2b9613378f06780f1aa47c SHA512 51b313c1159074fdbbce84f63bd8afd84b3b58cd608714865b25bed84c1862d050708aa06ac3dab92f1906593df5121161e594c2809653b0fb2c236cae5dcc2f
-DIST libgpg-error-1.29.tar.bz2 894749 BLAKE2B 27f7eb516663e31b5a4734d83117127d88abecf87aefb655eb7847546148a6a887caf7f574aae101274da20375b90b32c35d599508711f7b5eac2addfabfe4b8 SHA512 57b95a7ed0ed808f05a75d7ee700ed0317da06fde1f8c59f5a4f049d784c4598f3c693068ddd47cd8bb0efdb43b9b628b876d34211f8a3e67d5088110a15323b
-DIST libgpg-error-1.32.tar.bz2 904382 BLAKE2B 92141af9e00725015ef31152ccfe4db9535a7a6ba0aa6d011f2404bc998d7b0932fdce742a45d271995c838d34342e5197a081a42eb2e5e29c11271a1c11c6f7 SHA512 0130af48fe81f4db401635757d22a330455aab5dc27edfffad44b7c7c5c439399e92d234c9e00f4d3a399646b52e06c95d53196ea19f5a166817e2032511cb20
-DIST libgpg-error-1.36.tar.bz2 920542 BLAKE2B 81684f6e47192c50cfa408977d53dc3812befca28733b531d51dffa0a6799a47366a50f64755557a7b3111a179ac4aba9e6a527418461cdbcccea80ae6bed4fa SHA512 6e5f853f77dc04f0091d94b224cab8e669042450f271b78d0ea0219658d059c9cab1ab0eaa020a4227f451520b417fc340b85971a6f5e144fa69be57e15df346
+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
+DIST libgpg-error-1.49.tar.bz2 1081175 BLAKE2B f1d7ce3c8b32a1a98495576b4ed7bf938b847a84d0fa3ed585d461ad6b136cf87112055a39b4859301f87f555666d9dbf0dda5ec03ea6270802d98352224071e SHA512 bb4dd3faa8e2ec945e61fb2006697b48a51da7ee510b6650a6ab09c8734a987bc33c9835bc710ca9a9395c088271939091be418efc6ca5130b426c2fbc4959a3
+DIST libgpg-error-1.49.tar.bz2.sig 119 BLAKE2B 6d290318fc8759b6c8bf09a2e2622ed645dded003ffdd76b599cd3ec8af3ca51abf237e35c0c942d78c72e95f6cd644df7eb63fabd8b69b9566bb4f878648f14 SHA512 7f36f603dbb492c4dcafe3eae153b35fede29bf85f50d8908c517330003babd8e357aa54e3f354cd0abbcb9862435d5756ac85aff3c2968ce9fcde8cbf6565de
diff --git a/dev-libs/libgpg-error/files/libgpg-error-1.36-gawk5-support.patch b/dev-libs/libgpg-error/files/libgpg-error-1.36-gawk5-support.patch
deleted file mode 100644
index 17e88164537a..000000000000
--- a/dev-libs/libgpg-error/files/libgpg-error-1.36-gawk5-support.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 7865041c77f4f7005282f10f9b6666b19072fbdf Mon Sep 17 00:00:00 2001
-From: NIIBE Yutaka <gniibe@fsij.org>
-Date: Mon, 15 Apr 2019 15:10:44 +0900
-Subject: [PATCH] awk: Prepare for Gawk 5.0.
-
-* src/Makefile.am: Use pkg_namespace (instead of namespace).
-* src/mkerrnos.awk: Likewise.
-* lang/cl/mkerrcodes.awk: Don't escape # in regexp.
-* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto.
-
---
-
-In Gawk 5.0, regexp routines are replaced by Gnulib implementation,
-which only allows escaping specific characters.
-
-GnuPG-bug-id: 4459
-Reported-by: Marius Schamschula
-Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
----
- lang/cl/mkerrcodes.awk | 2 +-
- src/Makefile.am | 2 +-
- src/mkerrcodes.awk | 2 +-
- src/mkerrcodes1.awk | 2 +-
- src/mkerrcodes2.awk | 2 +-
- src/mkerrnos.awk | 2 +-
- src/mkstrtable.awk | 10 +++++-----
- 7 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/lang/cl/mkerrcodes.awk b/lang/cl/mkerrcodes.awk
-index ae29043..9a1fc18 100644
---- a/lang/cl/mkerrcodes.awk
-+++ b/lang/cl/mkerrcodes.awk
-@@ -122,7 +122,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/Makefile.am b/src/Makefile.am
-index ce1b882..f2590cb 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -293,7 +293,7 @@ code-from-errno.h: mkerrcodes$(EXEEXT_FOR_BUILD) Makefile
-
- errnos-sym.h: Makefile mkstrtable.awk errnos.in
- $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \
-- -v prefix=GPG_ERR_ -v namespace=errnos_ \
-+ -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \
- $(srcdir)/errnos.in >$@
-
-
-diff --git a/src/mkerrcodes.awk b/src/mkerrcodes.awk
-index 46d436c..e9c857c 100644
---- a/src/mkerrcodes.awk
-+++ b/src/mkerrcodes.awk
-@@ -85,7 +85,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkerrcodes1.awk b/src/mkerrcodes1.awk
-index a771a73..4578e29 100644
---- a/src/mkerrcodes1.awk
-+++ b/src/mkerrcodes1.awk
-@@ -81,7 +81,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkerrcodes2.awk b/src/mkerrcodes2.awk
-index ea58503..188f7a4 100644
---- a/src/mkerrcodes2.awk
-+++ b/src/mkerrcodes2.awk
-@@ -91,7 +91,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkerrnos.awk b/src/mkerrnos.awk
-index f79df66..15b1aad 100644
---- a/src/mkerrnos.awk
-+++ b/src/mkerrnos.awk
-@@ -83,7 +83,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-diff --git a/src/mkstrtable.awk b/src/mkstrtable.awk
-index c9de9c1..285e45f 100644
---- a/src/mkstrtable.awk
-+++ b/src/mkstrtable.awk
-@@ -77,7 +77,7 @@
- #
- # The variable prefix can be used to prepend a string to each message.
- #
--# The variable namespace can be used to prepend a string to each
-+# The variable pkg_namespace can be used to prepend a string to each
- # variable and macro name.
-
- BEGIN {
-@@ -102,7 +102,7 @@ header {
- print "/* The purpose of this complex string table is to produce";
- print " optimal code with a minimum of relocations. */";
- print "";
-- print "static const char " namespace "msgstr[] = ";
-+ print "static const char " pkg_namespace "msgstr[] = ";
- header = 0;
- }
- else
-@@ -110,7 +110,7 @@ header {
- }
-
- !header {
-- sub (/\#.+/, "");
-+ sub (/#.+/, "");
- sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
-
- if (/^$/)
-@@ -150,7 +150,7 @@ END {
- else
- print " gettext_noop (\"" last_msgstr "\");";
- print "";
-- print "static const int " namespace "msgidx[] =";
-+ print "static const int " pkg_namespace "msgidx[] =";
- print " {";
- for (i = 0; i < coded_msgs; i++)
- print " " pos[i] ",";
-@@ -158,7 +158,7 @@ END {
- print " };";
- print "";
- print "static GPG_ERR_INLINE int";
-- print namespace "msgidxof (int code)";
-+ print pkg_namespace "msgidxof (int code)";
- print "{";
- print " return (0 ? 0";
-
---
-2.21.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.27-r1.ebuild b/dev-libs/libgpg-error/libgpg-error-1.27-r1.ebuild
deleted file mode 100644
index 6bfe1cfbd13b..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.27-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool ltprune multilib-minimal toolchain-funcs
-
-DESCRIPTION="Contains error handling functions used by GnuPG software"
-HOMEPAGE="http://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 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="common-lisp nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gpg-error-config
-)
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/gpg-error.h
- /usr/include/gpgrt.h
-)
-
-src_prepare() {
- default
- elibtoolize
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- --enable-threads \
- $(use_enable nls) \
- $(use_enable static-libs static) \
- $(use_enable common-lisp languages) \
- $(multilib_is_native_abi || echo --disable-languages)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
-}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.29.ebuild b/dev-libs/libgpg-error/libgpg-error-1.29.ebuild
deleted file mode 100644
index 45f1b8149553..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.29.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool ltprune multilib-minimal toolchain-funcs
-
-DESCRIPTION="Contains error handling functions used by GnuPG software"
-HOMEPAGE="http://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 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="common-lisp nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gpg-error-config
-)
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/gpg-error.h
- /usr/include/gpgrt.h
-)
-
-src_prepare() {
- default
- elibtoolize
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- --enable-threads \
- $(use_enable nls) \
- $(use_enable static-libs static) \
- $(use_enable common-lisp languages) \
- $(multilib_is_native_abi || echo --disable-languages)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
-}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.32-r1.ebuild b/dev-libs/libgpg-error/libgpg-error-1.32-r1.ebuild
deleted file mode 100644
index f43692029854..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.32-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Contains error handling functions used by GnuPG software"
-HOMEPAGE="http://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 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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
-)
-
-src_prepare() {
- default
- elibtoolize
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(multilib_is_native_abi || echo --disable-languages) \
- $(use_enable common-lisp languages) \
- $(use_enable nls) \
- $(use_enable static-libs static) \
- --enable-threads \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.32.ebuild b/dev-libs/libgpg-error/libgpg-error-1.32.ebuild
deleted file mode 100644
index c45b281f1571..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.32.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool ltprune multilib-minimal toolchain-funcs
-
-DESCRIPTION="Contains error handling functions used by GnuPG software"
-HOMEPAGE="http://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 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="common-lisp nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- nls? ( sys-devel/gettext )"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gpg-error-config
-)
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/gpg-error.h
- /usr/include/gpgrt.h
-)
-
-src_prepare() {
- default
- elibtoolize
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- --enable-threads \
- $(use_enable nls) \
- $(use_enable static-libs static) \
- $(use_enable common-lisp languages) \
- $(multilib_is_native_abi || echo --disable-languages)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
-}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.36.ebuild b/dev-libs/libgpg-error/libgpg-error-1.36.ebuild
deleted file mode 100644
index c82ad8572c92..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.36.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools libtool multilib-minimal toolchain-funcs prefix
-
-DESCRIPTION="Contains error handling functions used by GnuPG software"
-HOMEPAGE="http://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 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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.36-gawk5-support.patch" )
-
-src_prepare() {
- default
- # 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() {
- ECONF_SOURCE="${S}" econf \
- $(multilib_is_native_abi || echo --disable-languages) \
- $(use_enable common-lisp languages) \
- $(use_enable nls) \
- $(use_enable static-libs static) \
- --enable-threads \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -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..490a0a934ee8
--- /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/libgpg-error-1.49.ebuild b/dev-libs/libgpg-error/libgpg-error-1.49.ebuild
new file mode 100644
index 000000000000..0939b629b21f
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.49.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 89e984954f11..0c03a7f54792 100644
--- a/dev-libs/libgpg-error/metadata.xml
+++ b/dev-libs/libgpg-error/metadata.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
<use>
<flag name="common-lisp">Install common-lisp files</flag>
</use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnupg:libgpg-error</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libgpiod/Manifest b/dev-libs/libgpiod/Manifest
index 24dedcf03304..cc79e073bb6f 100644
--- a/dev-libs/libgpiod/Manifest
+++ b/dev-libs/libgpiod/Manifest
@@ -1 +1,4 @@
-DIST libgpiod-1.1.1.tar.xz 302672 BLAKE2B 71c624f923118b7c50970beb737f2c813d1470a34f95798f9ce821211e16f15e2a3fd42d0054e25529ddc9846725c0935d915784f22d2509b844a0bac61b66b6 SHA512 a1d902ce8e1c94d5550ade2fb4889ebe28b86523505b92ab907f58c8e6903eaf07ce16278126989462956b879f591b42ddd50fbc4537c1b5af459f23a4dfc12f
+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.1.1.ebuild b/dev-libs/libgpiod/libgpiod-1.1.1.ebuild
deleted file mode 100644
index 3435a33062ce..000000000000
--- a/dev-libs/libgpiod/libgpiod-1.1.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib 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/libgpiod-1.1.1.tar.xz"
-
-LICENSE="LGPL-2.1"
-# Reflects the ABI of libgpiod.so
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="static-libs +tools"
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable tools)
-}
-
-multilib_src_install() {
- default
-
- if ! use static-libs; then
- find "${D}" -name "*.a" -delete || die
- fi
- find "${D}" -name '*.la' -delete || die
-}
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.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 e9d3e660684a..08ed90c17a3a 100644
--- a/dev-libs/libgpiod/metadata.xml
+++ b/dev-libs/libgpiod/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <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/libgpuarray/Manifest b/dev-libs/libgpuarray/Manifest
deleted file mode 100644
index 81cea2e435e4..000000000000
--- a/dev-libs/libgpuarray/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libgpuarray-0.6.0.tar.gz 232281 BLAKE2B 73c4fd5598edc3b81296aea7acd24fa48d0302f54a0050de8bc5539a5150dcc4be052dbf8d0c1d822f79a8529ba47d60d51c3216ad774b5954915cab4c65b5c8 SHA512 ef2b37d7752d7b19e6034ca1992dfa0c82806bae7a15ce54aad785f5abbe06e57a77b804699c55b3b7dc94496afb22acaf3a43cfc15148c150f2c93085c23080
-DIST libgpuarray-0.6.7.tar.gz 256440 BLAKE2B cc0880259c368c02fe0fca1a7f9424ad78f057540426d28179ee2cb20a2559853566c9ebb7de3488d5fdf0fa0eefb4e9f16db198cda2727370d567fd16363480 SHA512 39cdb67ec12d0f939d7a3ebef9726c40e64387413200addbeaf205db4151d09efd90118fec4a71b9d1f81fdde9b52e37d2d97763bf2cc9efa1667c5b9ff716b2
diff --git a/dev-libs/libgpuarray/libgpuarray-0.6.0.ebuild b/dev-libs/libgpuarray/libgpuarray-0.6.0.ebuild
deleted file mode 100644
index b8ff0a923d5f..000000000000
--- a/dev-libs/libgpuarray/libgpuarray-0.6.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils cuda
-
-MYPV=${PV/_/-}
-
-DESCRIPTION="Library to manipulate tensors on the GPU"
-HOMEPAGE="http://deeplearning.net/software/libgpuarray/"
-SRC_URI="https://github.com/Theano/${PN}/archive/v${MYPV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cuda doc opencl static-libs test"
-
-# cuda/opencl loaded dynamically at runtime, no compile time dep
-RDEPEND="
- cuda? ( amd64? ( >=dev-util/nvidia-cuda-toolkit-7 ) )
- opencl? (
- virtual/opencl
- || ( sci-libs/clblast sci-libs/clblas )
- )
-"
-DEPEND="
- doc? ( app-doc/doxygen )
- test? ( ${RDEPEND}
- dev-libs/check
- virtual/pkgconfig
- )
-"
-S="${WORKDIR}/${PN}-${MYPV}"
-
-src_prepare() {
- sed -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
- -i src/CMakeLists.txt || die
- use cuda && cuda_src_prepare
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=()
- cmake-utils_src_configure
- use doc && emake -C doc doxy
-}
-
-src_test() {
- local dev=cuda
- use opencl && dev=opencl
- DEVICE=${dev} cmake-utils_src_test
- # if !cuda or !opencl: no testing because tests fail
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/_doxybuild/html/. )
- cmake-utils_src_install
- use static-libs || rm "${ED}/usr/$(get_libdir)/libgpuarray-static.a"
-}
diff --git a/dev-libs/libgpuarray/libgpuarray-0.6.7.ebuild b/dev-libs/libgpuarray/libgpuarray-0.6.7.ebuild
deleted file mode 100644
index 744ea75a2b2d..000000000000
--- a/dev-libs/libgpuarray/libgpuarray-0.6.7.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils cuda
-
-MYPV=${PV/_/-}
-
-DESCRIPTION="Library to manipulate tensors on the GPU"
-HOMEPAGE="http://deeplearning.net/software/libgpuarray/"
-SRC_URI="https://github.com/Theano/${PN}/archive/v${MYPV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cuda doc opencl static-libs test"
-
-# cuda/opencl loaded dynamically at runtime, no compile time dep
-RDEPEND="
- cuda? ( amd64? ( >=dev-util/nvidia-cuda-toolkit-7 ) )
- opencl? (
- virtual/opencl
- || ( sci-libs/clblast sci-libs/clblas )
- )
-"
-DEPEND="
- doc? ( app-doc/doxygen )
- test? ( ${RDEPEND}
- dev-libs/check
- virtual/pkgconfig
- )
-"
-S="${WORKDIR}/${PN}-${MYPV}"
-
-src_prepare() {
- sed -e 's/DESTINATION lib/DESTINATION ${CMAKE_INSTALL_LIBDIR}/g' \
- -i src/CMakeLists.txt || die
- use cuda && cuda_src_prepare
- cmake-utils_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=()
- cmake-utils_src_configure
- use doc && emake -C doc doxy
-}
-
-src_test() {
- local dev=cuda
- use opencl && dev=opencl
- DEVICE=${dev} cmake-utils_src_test
- # if !cuda or !opencl: no testing because tests fail
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/_doxybuild/html/. )
- cmake-utils_src_install
- use static-libs || rm "${ED}/usr/$(get_libdir)/libgpuarray-static.a"
-}
diff --git a/dev-libs/libgpuarray/metadata.xml b/dev-libs/libgpuarray/metadata.xml
deleted file mode 100644
index 81c8daf45558..000000000000
--- a/dev-libs/libgpuarray/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <longdescription>
- Multi data-types, N-dimensional array library for the GPU, and
- with python numpy and theano workflow in mind.
- </longdescription>
- <upstream>
- <remote-id type="github">Theano/libgpuarray</remote-id>
- </upstream>
- <use>
- <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
- <flag name="opencl">Enable OpenCL support</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-libs/libgrapheme/Manifest b/dev-libs/libgrapheme/Manifest
new file mode 100644
index 000000000000..b1f7e97a6966
--- /dev/null
+++ b/dev-libs/libgrapheme/Manifest
@@ -0,0 +1 @@
+DIST libgrapheme-2.0.2.tar.gz 846990 BLAKE2B ade6c3ca8481bf3c3e1b1512a3c02caa9f7f2bcb3e9a59f0f3c5af7a1603c2ff2bf4f689d25e47e156d663d95c4e9e209e03504fcde27a9daf1791bc4954663e SHA512 640fb0926f8f46ae98aaba708f8bd1539f7485f150d4b8021195268813ff361ebfc05a49f27ef6eaca9f2051e648912e70b9dac7fbbef84cedefdd4f2cdcb45e
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/libgrapheme/metadata.xml b/dev-libs/libgrapheme/metadata.xml
new file mode 100644
index 000000000000..06d84e396dc3
--- /dev/null
+++ b/dev-libs/libgrapheme/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>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libgudev/Manifest b/dev-libs/libgudev/Manifest
index c9f6d87590d1..4b42a0c9e8be 100644
--- a/dev-libs/libgudev/Manifest
+++ b/dev-libs/libgudev/Manifest
@@ -1 +1 @@
-DIST libgudev-232.tar.xz 270904 BLAKE2B 90b2ec011f065929bd560398de9cfa8c365f9b84d205c816f2d7a98391d96bde47449eb77bc76b1e486af7dfdb3ed6525f216549e0dc3571b2ee672920438c98 SHA512 f648a41e2a6af7e26634c7cc259fdc47bb6e6ffb329324d157f340e42928e28c2059a0e923b9b0aaecd1ee3ecafbc7b55e5652f1f77bc1b88367b97057a1bedc
+DIST libgudev-238.tar.xz 30548 BLAKE2B 386491e78c82081e89dad897d16ea6733430a67db3f75f2d9fdee5474b074ad6fede9f08e429f4eb6feaa9bbbb982d9d039db738aac5b5ce0ffac2d3a19430d4 SHA512 684061b4fc64a6ea3dd1ac34835279330c7eb2728fad6e3a9d34c0d501be3103d0f96c6d6866c8e257a0027e4f78a6314cb8ba81cda5ddf42ee9ea1a576ec5dc
diff --git a/dev-libs/libgudev/files/238-clang18-export-dynamic.patch b/dev-libs/libgudev/files/238-clang18-export-dynamic.patch
new file mode 100644
index 000000000000..8894f0116ed0
--- /dev/null
+++ b/dev-libs/libgudev/files/238-clang18-export-dynamic.patch
@@ -0,0 +1,37 @@
+From a354fcbb911220965f737d38fefe700f7b941cf8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 Jan 2024 12:02:46 -0800
+Subject: [PATCH] meson: Pass --export-dynamic option to linker
+
+Bypass the compiler driver trying to comprehend and translate it for
+linker, since its not clear what the right behavior should be, gcc seems
+to translate it into --export-dynamic but clang 18+ rejects it
+
+| x86_64-yoe-linux-clang: error: unknown argument: '-export-dynamic'
+
+also see [1]
+
+This makes it work as intended across gcc and clang
+
+[1] https://discourse.llvm.org/t/clang-option-export-dynamic-parse-to-e-xport-dynamic-error/72454
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gudev/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gudev/meson.build b/gudev/meson.build
+index e904203..3ed580b 100644
+--- a/gudev/meson.build
++++ b/gudev/meson.build
+@@ -33,7 +33,7 @@ libgudev_c_args = [
+ ]
+
+ libgudev_link_args = [
+- '-export-dynamic',
++ '-Wl,--export-dynamic',
+ '-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir),
+ ]
+
+--
+GitLab
+
diff --git a/dev-libs/libgudev/libgudev-232.ebuild b/dev-libs/libgudev/libgudev-232.ebuild
deleted file mode 100644
index 738cfa2faaf5..000000000000
--- a/dev-libs/libgudev/libgudev-232.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit gnome2 multilib-minimal
-
-DESCRIPTION="GObject bindings for libudev"
-HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
-
-LICENSE="LGPL-2.1"
-SLOT="0/0"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 s390 sparc x86"
-IUSE="introspection static-libs"
-
-COMMON_DEPEND="
- >=dev-libs/glib-2.30.0:2[${MULTILIB_USEDEP},static-libs?]
- >=virtual/libudev-199:=[${MULTILIB_USEDEP},static-libs?]
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
-"
-RDEPEND="${COMMON_DEPEND}
- !sys-fs/eudev[gudev(-)]
- !sys-fs/udev[gudev(-)]
- !sys-apps/systemd[gudev(-)]
-"
-DEPEND="${COMMON_DEPEND}
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.18
- virtual/pkgconfig[${MULTILIB_USEDEP}]
-"
-
-# Needs multilib dev-util/umockdev
-RESTRICT="test"
-
-multilib_src_configure() {
- local myconf=(
- $(multilib_native_use_enable introspection)
- $(use_enable static-libs static)
- --disable-umockdev
- )
- local ECONF_SOURCE="${S}"
- gnome2_src_configure "${myconf[@]}"
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
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/libgudev-238-r2.ebuild b/dev-libs/libgudev/libgudev-238-r2.ebuild
new file mode 100644
index 000000000000..7e9eb935f5a6
--- /dev/null
+++ b/dev-libs/libgudev/libgudev-238-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2015-2024 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
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-clang18-export-dynamic.patch #926350
+)
+
+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 39ab15f82698..3631e95872ff 100644
--- a/dev-libs/libgudev/metadata.xml
+++ b/dev-libs/libgudev/metadata.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>floppym@gentoo.org</email>
- <name>Mike Gilbert</name>
- </maintainer>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- </pkgmetadata>
+ <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 bdddc3e42bc6..3fd71e68eff3 100644
--- a/dev-libs/libgusb/Manifest
+++ b/dev-libs/libgusb/Manifest
@@ -1 +1 @@
-DIST libgusb-0.2.11.tar.xz 291992 BLAKE2B f43065fac0fcfbc3e392b90dc05537746ce1325d623161e93e1a306b87b07012ef4e11242514cd3da0b83a7df6adc052e20fd3336b53d2543ed9e23886a776f5 SHA512 f9c3c204b5f0feaf706b23dd9a174feb36a9f3c8db8ffb5dcdefa66b18ba0ac963c6041d2d91a6a2f6e23036fc6486d142210bd5348e10c026a6defeb0bee096
+DIST libgusb-0.4.8.tar.xz 51632 BLAKE2B f904bb8a0766a61b0e7d6e5e80d7f0eed5c44537065db2b9bf33cd694fcaa58d93a7cdec37802fd278c2eb7ad2e4de79cd492baa1ead373e31e4d75488999e1e SHA512 b6446761ba4a19b8e7b7fc2bcf26064c89a574c328b794eb3f1723ef71b4100447c5b024bd8163c4e42af935ce0b7e11b93b722871061f7115da0003cc14b001
diff --git a/dev-libs/libgusb/libgusb-0.2.11.ebuild b/dev-libs/libgusb/libgusb-0.2.11.ebuild
deleted file mode 100644
index a1cdcbc2c3dc..000000000000
--- a/dev-libs/libgusb/libgusb-0.2.11.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit eutils gnome2 multilib-minimal 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 ~sparc x86"
-
-IUSE="+introspection static-libs vala"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="
- >=dev-libs/glib-2.44:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.29:= )
-"
-DEPEND="${RDEPEND}
- dev-libs/libxslt
- dev-util/gtk-doc-am
- virtual/pkgconfig[${MULTILIB_USEDEP}]
- vala? ( $(vala_depend) )
-"
-
-# Tests try to access usb devices in /dev
-RESTRICT="test"
-
-src_prepare() {
- gnome2_src_prepare
- use vala && vala_src_prepare
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- gnome2_src_configure \
- $(multilib_native_use_enable introspection) \
- $(use_enable static-libs static) \
- $(multilib_native_use_enable vala)
-
- if multilib_is_native_abi; then
- ln -s "${S}"/docs/api/html docs/api/html || die
- fi
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
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/libgusb/metadata.xml b/dev-libs/libgusb/metadata.xml
index 2c138c7560a0..487f2e0c19c3 100644
--- a/dev-libs/libgusb/metadata.xml
+++ b/dev-libs/libgusb/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
diff --git a/dev-libs/libgweather/Manifest b/dev-libs/libgweather/Manifest
index e63eb066377b..9a4ea496fc79 100644
--- a/dev-libs/libgweather/Manifest
+++ b/dev-libs/libgweather/Manifest
@@ -1,5 +1 @@
-DIST libgweather-3.24.1.tar.xz 3350680 BLAKE2B 9265cb3c280446d5f380f62b60efb5578a7a401e3291d12e3824d8e7eacc582761226b0aaebb0439318bd48b9ad5429a1b6d89eb0220a82650c43be8aa337e2d SHA512 564464d7a18a8e0320871ea418b1163163941c950c5acea5ee65a087e44c4d81e019e2e3e4cb6751989f823cbb7c5691713d3dcef72aeaf6ff264e61b6f7b4b4
-DIST libgweather-3.26.2.tar.xz 3409528 BLAKE2B 1c5cdc7125aac8df95e97db8fa1d63bcb06865e70691621bc3a1c0ece2e602862cef9a2a5daa2ebbc5fa7eaefa32bf89507f1eef8fa4eeff294d43132e83fab4 SHA512 75b936f93814005b4317dcb51777036f589f343526428d9a74de96aac1badd4fe81c117184e2bff84a7a3078d6f2a2000e7b63f1e1d80f839b3513cc470fb25b
-DIST libgweather-3.28.3.tar.xz 2711240 BLAKE2B 9e55c32485401fa31e5ca5a824f239c373e41c2ef3a1d4442ba4512f102edadaa3452bdc4f4a445ea34e5e24cda23fbf6e1363da5bd49f70018b387f7450cf15 SHA512 7eb98f15b624090ba0959f4ee47c1a2317504a381829cebb949f4104ea9b5c2847a98f95de60a35c5bf1094e500041c53e1afdb265dd2f237bc49db8acbfd6f2
-DIST libgweather-3.32.1.tar.xz 2713696 BLAKE2B 496aa07c517ad570ebf54041b8ae14ec5eb5a923a113e1adcf23e5ac9a515ccb5c2dbeb29c923f0abcfc213409ddafbb1747c5ed5a6129bd4ac40b4e0fd687d6 SHA512 f5ae94436fa3cceee84ff80f14296f11ab27727e3881689dd71126de158f7d0015b462163cb2b47cf30add5a4c97c89c6473c1ed0515fcaac0dde2daffdf7108
-DIST libgweather-3.32.2.tar.xz 2716144 BLAKE2B 56bf66edde8293758f49c1ca14b47fb725f72a0202e95e6e1d1832c179fd9414d527827be5cb7daa17627abfbd1ac16d8d09dbdbbdcb24d62cc62c25a220c156 SHA512 61543e5eaf8c04605a91a6f47811b3a0ed2b04c2f50eae9b8d08a4e24904db4731748fa27a0863d2cdab5fde776ec55abe9fd9fb2a72c7bd546665d59957cb4d
+DIST libgweather-4.4.2.tar.xz 2827456 BLAKE2B de53257f15b5b0e38bd41ccf69665e701065db85d144853831f409cd1a7116482bb374a858b022f9fb5eb167203bb393fa4a9087ab2c2272ba1b83dec3efcbb0 SHA512 66012af9bc50dfbb8cdb3d8b1ad7c72b5e8e012d8bbaa5a8d7a841f4bd5b2ebe0a490cc7ea256ea5e1d218f328da8826fb2345aa848fd961da271e64cdf330ad
diff --git a/dev-libs/libgweather/files/3.28.3-meson-tweaks.patch b/dev-libs/libgweather/files/3.28.3-meson-tweaks.patch
deleted file mode 100644
index 83880e0398a0..000000000000
--- a/dev-libs/libgweather/files/3.28.3-meson-tweaks.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From b7df88319847f3155bd0e2ea994cf66c01fc1732 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 4d907b9..9ede9d0 100644
---- a/libgweather/meson.build
-+++ b/libgweather/meson.build
-@@ -65,6 +65,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,
-@@ -79,13 +88,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],
-@@ -94,9 +96,11 @@ if enable_vala
- install: true
- )
- endif
-+endif
-
- test_cargs = ['-DTEST_SRCDIR="@0@/"'.format(meson.current_source_dir())]
-
-+if false
- executable('test_locations',
- ['test_locations.c'],
- c_args: test_cargs,
-@@ -107,6 +111,7 @@ executable('test_locations_utc',
- c_args: test_cargs,
- dependencies: libgweather_dep,
- install: false)
-+endif
-
- exe = executable('test_libgweather',
- ['test_libgweather.c'],
-@@ -115,6 +120,7 @@ exe = executable('test_libgweather',
- install: false)
- test('test_named_timezones', exe)
-
-+if false
- executable('test_metar',
- ['test_metar.c', gweather_c_sources],
- c_args: test_cargs,
-@@ -125,3 +131,4 @@ executable('test_sun_moon',
- c_args: test_cargs,
- dependencies: libgweather_dep,
- install: false)
-+endif
-diff --git a/meson.build b/meson.build
-index 5b30864..2e9fa08 100644
---- a/meson.build
-+++ b/meson.build
-@@ -108,6 +108,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('libgweather')
-diff --git a/meson_options.txt b/meson_options.txt
-index 19b2c6a..bf4c517 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.17.0
-
diff --git a/dev-libs/libgweather/files/3.32.1-meson-tweaks.patch b/dev-libs/libgweather/files/3.32.1-meson-tweaks.patch
deleted file mode 100644
index 9d1bdc017c20..000000000000
--- a/dev-libs/libgweather/files/3.32.1-meson-tweaks.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From ad9fa6e469c4eba423b0f7bd5fbd7a76f6165ffe 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 6688807..6776839 100644
---- a/libgweather/meson.build
-+++ b/libgweather/meson.build
-@@ -66,6 +66,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,
-@@ -83,13 +92,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],
-@@ -98,11 +100,13 @@ if enable_vala
- install: true
- )
- endif
-+endif
-
- test_cargs = ['-DTEST_SRCDIR="@0@/"'.format(meson.current_source_dir()),
- '-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,
-@@ -113,6 +117,7 @@ executable('test_locations_utc',
- c_args: test_cargs,
- dependencies: libgweather_dep,
- install: false)
-+endif
-
- exe = executable('test_libgweather',
- ['test_libgweather.c'],
-@@ -121,6 +126,7 @@ exe = executable('test_libgweather',
- install: false)
- test('test_named_timezones', exe)
-
-+if false
- executable('test_metar',
- ['test_metar.c', gweather_c_sources],
- c_args: test_cargs,
-@@ -131,3 +137,4 @@ executable('test_sun_moon',
- c_args: test_cargs,
- dependencies: libgweather_dep,
- install: false)
-+endif
-diff --git a/meson.build b/meson.build
-index 54a5063..96e5d27 100644
---- a/meson.build
-+++ b/meson.build
-@@ -112,6 +112,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('libgweather')
-diff --git a/meson_options.txt b/meson_options.txt
-index 19b2c6a..bf4c517 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.17.0
-
diff --git a/dev-libs/libgweather/libgweather-3.24.1.ebuild b/dev-libs/libgweather/libgweather-3.24.1.ebuild
deleted file mode 100644
index 8c03a0bfffd6..000000000000
--- a/dev-libs/libgweather/libgweather-3.24.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2 vala
-
-DESCRIPTION="Library to access weather information from online services"
-HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
-
-LICENSE="GPL-2+"
-SLOT="2/3-6" # subslot = 3-(libgweather-3 soname suffix)
-
-IUSE="glade +introspection vala"
-REQUIRED_USE="vala? ( introspection )"
-
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-
-COMMON_DEPEND="
- >=x11-libs/gtk+-3.13.5:3[introspection?]
- >=dev-libs/glib-2.35.1:2
- >=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-0.9.5:= )
-"
-RDEPEND="${COMMON_DEPEND}
- !<gnome-base/gnome-applets-2.22.0
-"
-DEPEND="${COMMON_DEPEND}
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
- >=dev-util/intltool-0.50
- >=sys-devel/gettext-0.18
- virtual/pkgconfig
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- gnome2_src_prepare
-}
-
-src_configure() {
- gnome2_src_configure \
- --disable-static \
- $(use_enable glade glade-catalog) \
- $(use_enable introspection) \
- $(use_enable vala)
-}
diff --git a/dev-libs/libgweather/libgweather-3.26.2.ebuild b/dev-libs/libgweather/libgweather-3.26.2.ebuild
deleted file mode 100644
index 20d2fa6e6999..000000000000
--- a/dev-libs/libgweather/libgweather-3.26.2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome2 vala
-
-DESCRIPTION="Library to access weather information from online services"
-HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
-
-LICENSE="GPL-2+"
-SLOT="2/3-6" # subslot = 3-(libgweather-3 soname suffix)
-
-IUSE="glade +introspection vala"
-REQUIRED_USE="vala? ( introspection )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-
-COMMON_DEPEND="
- >=x11-libs/gtk+-3.13.5:3[introspection?]
- >=dev-libs/glib-2.35.1:2
- >=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-0.9.5:= )
-"
-RDEPEND="${COMMON_DEPEND}
- !<gnome-base/gnome-applets-2.22.0
-"
-DEPEND="${COMMON_DEPEND}
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
- >=dev-util/intltool-0.50
- >=sys-devel/gettext-0.18
- virtual/pkgconfig
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- gnome2_src_prepare
-}
-
-src_configure() {
- gnome2_src_configure \
- --disable-static \
- $(use_enable glade glade-catalog) \
- $(use_enable introspection) \
- $(use_enable vala)
-}
diff --git a/dev-libs/libgweather/libgweather-3.28.3.ebuild b/dev-libs/libgweather/libgweather-3.28.3.ebuild
deleted file mode 100644
index 4c1418d489fd..000000000000
--- a/dev-libs/libgweather/libgweather-3.28.3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org gnome2-utils meson vala xdg
-
-DESCRIPTION="Location and timezone database and weather-lookup library"
-HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
-
-LICENSE="GPL-2+"
-SLOT="2/3-15" # subslot = 3-(libgweather-3 soname suffix)
-
-IUSE="glade gtk-doc +introspection +vala"
-REQUIRED_USE="vala? ( introspection )"
-
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-
-RDEPEND="
- >=dev-libs/glib-2.35.1: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}
- 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
- $(vala_depend)
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
-)
-
-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/libgweather-3.32.1.ebuild b/dev-libs/libgweather/libgweather-3.32.1.ebuild
deleted file mode 100644
index 8d09094874c8..000000000000
--- a/dev-libs/libgweather/libgweather-3.32.1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org gnome2-utils meson vala xdg
-
-DESCRIPTION="Location and timezone database and weather-lookup library"
-HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
-
-LICENSE="GPL-2+"
-SLOT="2/3-15" # subslot = 3-(libgweather-3 soname suffix)
-
-IUSE="glade gtk-doc +introspection +vala"
-REQUIRED_USE="vala? ( introspection )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-
-RDEPEND="
- >=dev-libs/glib-2.35.1: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
- $(vala_depend)
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
-)
-
-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/libgweather-3.32.2-r1.ebuild b/dev-libs/libgweather/libgweather-3.32.2-r1.ebuild
deleted file mode 100644
index 55ebb469e066..000000000000
--- a/dev-libs/libgweather/libgweather-3.32.2-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org gnome2-utils meson vala xdg
-
-DESCRIPTION="Location and timezone database and weather-lookup library"
-HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
-
-LICENSE="GPL-2+"
-SLOT="2/3-15-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 ~sh ~sparc ~x86 ~x86-fbsd ~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
- $(vala_depend)
-"
-
-PATCHES=(
- "${FILESDIR}"/3.32.1-meson-tweaks.patch # Provide introspection optionality and don't build tests that aren't ran automatically
-)
-
-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/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/metadata.xml b/dev-libs/libgweather/metadata.xml
index 9889b0b124fe..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/libhid/Manifest
index 007ca6de453e..2b87fe1a61fa 100644
--- a/dev-libs/libhid/Manifest
+++ b/dev-libs/libhid/Manifest
@@ -1 +1 @@
-DIST libhid-0.2.16.tar.gz 435245 BLAKE2B 9bd06b226e42ed0dbbf4395824636dbfaa796ce9c0170ad7af561741ec3f494b92ec09c548f3bc7c698a32aa78d82d4da4094231fbb810de5a67d3066947fd97 SHA512 3c9348f9d63e0e1577e983c65ff8e6acbaee0d5f43ecb29b7004654a7e9d14a94176aa029f259e0b8576fc30e8a9af6d1df34912dd582bfadc2b29f9b87eb52b
+DIST libhid-0.2.17.tar.gz 218501 BLAKE2B d7110dc1854829023531f1fd58fd6668f5d15dc3b98f9a6c799b3bc4725ded907de645921d17161a37cde8d9759ec371f96caf4fbb8d6f7bd480dfe2a352b399 SHA512 d82ef95871460e22e26f4fddb88edb83c262a8d0cd70beb7e65cacb443bfc21e12f868d50b8b4ea0ee00acce7c2d0f5bd06437b69cf89ef39dd118c21c73b977
diff --git a/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch b/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch
deleted file mode 100644
index b5960af5d7d6..000000000000
--- a/dev-libs/libhid/files/libhid-0.2.16-gentoo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -78,7 +78,6 @@
- AC_C_BIGENDIAN
- AC_C_STRINGIZE
-
--MD_CONF_DEBUGGING
- MD_CONF_COMPILER
- AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "linux")
- AM_CONDITIONAL(OS_BSD, test "$MD_OS" = "bsd")
---- a/m4/md_check_gcc3.m4
-+++ b/m4/md_check_gcc3.m4
-@@ -1,7 +1,7 @@
- AC_DEFUN([MD_CHECK_GCC3],
- [
- if [[ "$GCC" = "yes" ]]; then
-- ver=$(gcc -dD -E - < /dev/null | sed -ne 's,.*__GNUC__ ,,p')
-+ ver=$(${CC} -dD -E - < /dev/null | sed -ne 's,.*__GNUC__ ,,p')
- case $ver in
- *[[^[:digit:]]]*)
- AC_MSG_WARN([Could not determine compiler version. Trying our luck...])
diff --git a/dev-libs/libhid/files/libhid-0.2.16-libusb.patch b/dev-libs/libhid/files/libhid-0.2.16-libusb.patch
deleted file mode 100644
index aa49205ec75d..000000000000
--- a/dev-libs/libhid/files/libhid-0.2.16-libusb.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -59,6 +59,8 @@
- MD_CHECK_OS
-
- MD_CHECK_LIBUSB018B
-+LIBS="$LIBS $LIBUSB_LIBS"
-+INCLUDES="$INCLUDES $LIBUSB_CFLAGS"
-
- AC_PROG_CC
- MD_CHECK_GCC3
-@@ -97,13 +99,6 @@
-
- MD_CHECK_DOXYGEN
-
--MD_CONF_FLAGS(
-- [],
-- [$OS_CFLAGS $LIBUSB_CFLAGS],
-- [],
-- [$OS_LDFLAGS $LIBUSB_LIBS]
--)
--
- MD_CONF_DB2MAN
-
- ##### OUTPUT #################################################################
diff --git a/dev-libs/libhid/files/libhid-0.2.16-swig.patch b/dev-libs/libhid/files/libhid-0.2.16-swig.patch
deleted file mode 100644
index ce5dae7481b9..000000000000
--- a/dev-libs/libhid/files/libhid-0.2.16-swig.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -88,8 +87,8 @@
- if test "${ac_cv_enable_swig}" = "no" ; then
- AM_CONDITIONAL(HAVE_SWIG, false)
- else
-- AC_PROG_SWIG(1.3)
-- AM_CONDITIONAL(HAVE_SWIG, "$SWIG" -version)
-+ AC_CHECK_PROG(SWIG,swig,swig,false)
-+ AM_CONDITIONAL(HAVE_SWIG, "$ac_cv_prog_SWIG" -version)
- if test -z "${HAVE_SWIG_TRUE}" ; then
- AM_PATH_PYTHON
- SWIG_PYTHON
---- a/swig/Makefile.am
-+++ b/swig/Makefile.am
-@@ -1,7 +1,7 @@
- # AM_MAKEFLAGS = @MAKEFLAGS@
- ACLOCAL_AMFLAGS = -I m4
-
--AM_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -I$(top_srcdir)/include -I$(top_srcdir)/hidparser -DHID_INTERNAL -DSWIG
-+AM_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS) -iquote$(top_srcdir)/include -I$(top_srcdir)/hidparser -DHID_INTERNAL -DSWIG
- AM_CFLAGS = -fPIC -fno-strict-aliasing
- AM_LDFLAGS = -shared ../src/libhid.la -lusb
-
-@@ -29,7 +29,7 @@ __init__.py: hid.py
-
- %_wrap.c %.py: %.i $(top_srcdir)/include/hid.h
- $(SWIG) $(SWIG_PYTHON_OPT) $(SWIG_INC) -o $@ $<
-- echo '#include <compiler.h>' > tmp.c
-+ echo '#include "compiler.h"' > tmp.c
- sed -e 's/PyObject \*self/& UNUSED/' \
- -e 's/int flags)/int flags UNUSED)/' < $@ >> tmp.c \
- && mv tmp.c $@
---- a/swig/hid.i
-+++ b/swig/hid.i
-@@ -1,7 +1,7 @@
- %module(docstring="libhid is a user-space USB HID access library built on libusb.", "threads"=1) hid
- %{
--#include <compiler.h>
--#include <hid.h>
-+#include "compiler.h"
-+#include "hid.h"
- %}
-
- %feature("autodoc","0");
diff --git a/dev-libs/libhid/files/libhid-0.2.17-configure.patch b/dev-libs/libhid/files/libhid-0.2.17-configure.patch
new file mode 100644
index 000000000000..5318aa2d89fe
--- /dev/null
+++ b/dev-libs/libhid/files/libhid-0.2.17-configure.patch
@@ -0,0 +1,36 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -59,9 +59,10 @@
+ MD_CHECK_OS
+
+ MD_CHECK_LIBUSB018B
++LIBS="$LIBS $LIBUSB_LIBS"
++INCLUDES="$INCLUDES $LIBUSB_CFLAGS"
+
+ AC_PROG_CC
+-MD_CHECK_GCC3
+
+ dnl MD_CONF_DISTCC
+ dnl MD_CONF_CCACHE
+@@ -78,7 +79,6 @@
+ AC_C_BIGENDIAN
+ AC_C_STRINGIZE
+
+-MD_CONF_DEBUGGING
+ MD_CONF_COMPILER
+ AM_CONDITIONAL(OS_LINUX, test "$MD_OS" = "linux")
+ AM_CONDITIONAL(OS_BSD, test "$MD_OS" = "bsd")
+@@ -98,13 +98,6 @@
+
+ MD_CHECK_DOXYGEN
+
+-MD_CONF_FLAGS(
+- [],
+- [$OS_CFLAGS $LIBUSB_CFLAGS],
+- [],
+- [$OS_LDFLAGS $LIBUSB_LIBS]
+-)
+-
+ MD_CONF_DB2MAN
+
+ ##### OUTPUT #################################################################
diff --git a/dev-libs/libhid/files/libhid-0.2.17-man.patch b/dev-libs/libhid/files/libhid-0.2.17-man.patch
new file mode 100644
index 000000000000..4fe5677c107a
--- /dev/null
+++ b/dev-libs/libhid/files/libhid-0.2.17-man.patch
@@ -0,0 +1,11 @@
+--- a/m4/md_conf_db2man.m4
++++ b/m4/md_conf_db2man.m4
+@@ -3,7 +3,7 @@
+ for file in \
+ /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl \
+ /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/*/manpages/docbook.xsl \
+- /usr/share/{x,sg}ml/docbook/xsl-stylesheets-*/manpages/docbook.xsl \
++ /usr/share/{x,sg}ml/docbook/xsl-stylesheets*/manpages/docbook.xsl \
+ /sw/share/xml/xsl/docbook-xsl/manpages/docbook.xsl; do
+
+ test -r $file && db2man_file=$file
diff --git a/dev-libs/libhid/libhid-0.2.16-r4.ebuild b/dev-libs/libhid/libhid-0.2.16-r4.ebuild
deleted file mode 100644
index d082da46f04a..000000000000
--- a/dev-libs/libhid/libhid-0.2.16-r4.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-inherit autotools eutils python-single-r1
-
-DESCRIPTION="Provides a generic and flexible way to access and interact with USB HID devices"
-HOMEPAGE="http://libhid.alioth.debian.org/"
-SRC_URI="http://beta.magicaltux.net/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE="doc python static-libs"
-
-RDEPEND="
- python? ( ${PYTHON_DEPS} )
- virtual/libusb:0
-"
-DEPEND="
- ${RDEPEND}
- doc? ( app-doc/doxygen )
- python? ( dev-lang/swig )
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-gentoo.patch
- epatch "${FILESDIR}"/${P}-swig.patch
- epatch "${FILESDIR}"/${P}-libusb.patch
-
- eautoreconf
-}
-
-src_configure() {
- export OS_LDFLAGS="${LDFLAGS}"
- use python && export PYTHON_LDFLAGS=$(${EPYTHON}-config --ldflags)
-
- econf \
- $(use_enable python swig) \
- $(use_enable static-libs static) \
- $(use_with doc doxygen) \
- --disable-debug \
- --disable-werror
-}
-
-DOCS=( AUTHORS ChangeLog NEWS README README.licence TODO )
-
-src_install() {
- default
-
- use doc && dohtml -r doc/html/*
-
- prune_libtool_files
-}
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/metadata.xml b/dev-libs/libhid/metadata.xml
index 8ab798976991..c13a3569cf14 100644
--- a/dev-libs/libhid/metadata.xml
+++ b/dev-libs/libhid/metadata.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription lang="en">
-libhid provides a generic and flexible way to access and interact with USB
-HID devices, much like libusb does for plain USB devices. It is based on
-libusb, thus it requires no HID support in the kernel and provides means to
-take control over a device even if the kernel governs it.
-</longdescription>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ Libhid provides a generic and flexible way to access and interact with
+ USB HID devices, much like libusb does for plain USB devices.
+ It is based on libusb, thus it requires no HID support in the kernel
+ and provides means to take control over a device even if the kernel governs it.
+ </longdescription>
</pkgmetadata>
diff --git a/dev-libs/libhome/Manifest b/dev-libs/libhome/Manifest
deleted file mode 100644
index 2acce395ba9e..000000000000
--- a/dev-libs/libhome/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libhome-0.10.2.tar.gz 286453 BLAKE2B bb2356fef6358b849896c665760174decbf5f83f70380c855c519c6a8cde37e053af70962f7552ffdd581b1af559bbc4a74d7d8ccedad39fa4a178ded394436c SHA512 9f144b6aeb8e01f5ca2f8f90c5289d4449895e2eddbfd2d8d9b1828bb203fd8f68c224c0f068ffabfa5ee1514f9b756cb2499f862418d793eb8d06ae960447a9
diff --git a/dev-libs/libhome/files/libhome-0.10.2-Makefile.patch b/dev-libs/libhome/files/libhome-0.10.2-Makefile.patch
deleted file mode 100644
index 371335b0bec8..000000000000
--- a/dev-libs/libhome/files/libhome-0.10.2-Makefile.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -61,7 +61,7 @@
- LIBTOOL=./libtool
-
- COMPILE=${LIBTOOL} --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS}
--LINK=${LIBTOOL} --mode=link ${CC} ${CFLAGS}
-+LINK=${LIBTOOL} --mode=link ${CC} ${CFLAGS} ${LDFLAGS}
-
-
- hparam.o: version.h
-@@ -114,27 +114,32 @@
- install:: install-man install-lib
-
- install-man:: home.conf.5
-- ${INSTALL_DATA} home.conf.5 ${mandir}/man5/
--@DO_PROXY@ ${INSTALL_DATA} home_proxy.8 ${mandir}/man8/
-+ ${INSTALL} -d $(DESTDIR)${mandir}/man5
-+@DO_PROXY@ ${INSTALL} -d $(DESTDIR)${mandir}/man8
-+ ${INSTALL_DATA} home.conf.5 $(DESTDIR)${mandir}/man5/
-+@DO_PROXY@ ${INSTALL_DATA} home_proxy.8 $(DESTDIR)${mandir}/man8/
-
- install-lib:: all
-- ${LIBTOOL} --mode=install ${INSTALL_DATA} libhome.la ${libdir}/
-+ ${INSTALL} -d $(DESTDIR)${libdir}
-+ ${INSTALL} -d $(DESTDIR)${bindir}
-+@DO_PROXY@ ${INSTALL} -d $(DESTDIR)${sbindir}
-+ ${INSTALL} -d $(DESTDIR)${includedir}/home
-+ ${LIBTOOL} --mode=install ${INSTALL_DATA} libhome.la $(DESTDIR)${libdir}/
- test "@PRELOAD_LIB@" = "" || \
-- ${LIBTOOL} --mode=install ${INSTALL_DATA} @PRELOAD_LIB@ ${libdir}/
-- ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_finger ${bindir}/
-- ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_su ${bindir}/
-- -mkdir -p ${includedir}/home
-- ${INSTALL_DATA} hpwd.h ${includedir}/home/pwd.h
-- ${INSTALL_DATA} hpwd.h ${includedir}/home/
-- ${INSTALL_DATA} hparam.h ${includedir}/home/
-- ${INSTALL_DATA} home_version.h ${includedir}/home/
-+ ${LIBTOOL} --mode=install ${INSTALL_DATA} @PRELOAD_LIB@ $(DESTDIR)${libdir}/
-+ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_finger $(DESTDIR)${bindir}/
-+ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_su $(DESTDIR)${bindir}/
-+ ${INSTALL_DATA} -D hpwd.h $(DESTDIR)${includedir}/home/pwd.h
-+ ${INSTALL_DATA} -D hpwd.h $(DESTDIR)${includedir}/home/
-+ ${INSTALL_DATA} -D hparam.h $(DESTDIR)${includedir}/home/
-+ ${INSTALL_DATA} -D home_version.h $(DESTDIR)${includedir}/home/
- chmod +x libhome.sh
-- ${INSTALL_SCRIPT} libhome.sh ${bindir}/
--@DO_PROXY@ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_proxy ${sbindir}/
--@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} ${libdir}/
-+ ${INSTALL_SCRIPT} -D libhome.sh $(DESTDIR)${bindir}/
-+@DO_PROXY@ ${LIBTOOL} --mode=install ${INSTALL_PROGRAM} home_proxy $(DESTDIR)${sbindir}/
-+@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} $(DESTDIR)${libdir}/
-
- install-nss:: nss
--@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} ${libdir}/
-+@DO_NSS@ ${LIBTOOL} --mode=install ${INSTALL_DATA} ${NSS_LIB} $(DESTDIR)${libdir}/
-
- compat:
- -mkdir compat
diff --git a/dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch b/dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch
deleted file mode 100644
index a96645176c13..000000000000
--- a/dev-libs/libhome/files/libhome-0.10.2-ldap_deprecated.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: libhome-0.10.2/hldap.c
-===================================================================
---- libhome-0.10.2.orig/hldap.c
-+++ libhome-0.10.2/hldap.c
-@@ -27,6 +27,7 @@ static char const rcsid[] UNUSED =
- "$Id: libhome-0.10.2-ldap_deprecated.patch,v 1.1 2009/07/05 19:25:41 hollow Exp $";
-
- #define passwd system_passwd
-+#define LDAP_DEPRECATED 1
- #include <lber.h> /* for openldap 1.x */
- #include <ldap.h>
- #include <errno.h>
diff --git a/dev-libs/libhome/libhome-0.10.2-r2.ebuild b/dev-libs/libhome/libhome-0.10.2-r2.ebuild
deleted file mode 100644
index b94cfd3c8377..000000000000
--- a/dev-libs/libhome/libhome-0.10.2-r2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools db-use
-
-DESCRIPTION="libhome is a library providing a getpwnam() emulation"
-HOMEPAGE="http://pll.sourceforge.net"
-SRC_URI="mirror://sourceforge/pll/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="berkdb ldap mysql pam postgres static-libs"
-
-DEPEND="berkdb? ( >=sys-libs/db-4 )
- ldap? ( net-nds/openldap )
- mysql? ( dev-db/mysql-connector-c:= )
- pam? ( virtual/pam )
- postgres? ( dev-db/postgresql[server] )"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.10.2-Makefile.patch
- "${FILESDIR}"/${PN}-0.10.2-ldap_deprecated.patch
-)
-
-src_prepare() {
- rm -f aclocal.m4
-
- default
-
- # bug 225579
- sed -i -e 's:\<VERSION\>:__PKG_VERSION:' configure.in
-
- sed -i -e '/AC_SEARCH_LIBS.*db4/s: db-4.* db4:'$(db_libname)':' \
- configure.in
-
- eautoreconf
-}
-
-src_configure() {
- econf --without-db3 \
- $(use_with berkdb db4 $(db_includedir)) \
- $(use_with ldap) \
- $(use_with mysql) \
- $(use_with pam) \
- $(use_with postgres pgsql) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use static-libs || find "${D}" -name '*.la' -delete
-}
diff --git a/dev-libs/libhome/metadata.xml b/dev-libs/libhome/metadata.xml
deleted file mode 100644
index 77f70a1e61a5..000000000000
--- a/dev-libs/libhome/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">pll</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libhtmlparse/Manifest b/dev-libs/libhtmlparse/Manifest
deleted file mode 100644
index 62878705f14f..000000000000
--- a/dev-libs/libhtmlparse/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libhtmlparse-0.1.13.tar.gz 202176 BLAKE2B 070d4d5ab6eebc46a310481e7265dd134b4b109fd7e89a3f3ed39319c954c6e5dd8e869eeec7a2f2126467254fdaa807a84fa2de437685836d46ef02a3cfb10e SHA512 51366b24ebf5cc1e494f146ec996f9327d20a41cd425ccade23c45bc95eaf76dc5e339aee6a459c794f527a55d7cf96502832dbe88281ee7c7e2b3c14d3a53aa
diff --git a/dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild b/dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild
deleted file mode 100644
index b087e1d46606..000000000000
--- a/dev-libs/libhtmlparse/libhtmlparse-0.1.13-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils
-
-DESCRIPTION="HTML parsing library"
-HOMEPAGE="http://msalem.translator.cx/libhtmlparse.html"
-SRC_URI="http://msalem.translator.cx/dist/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 x86"
-IUSE="static-libs"
-
-DOCS=( AUTHORS BUGS INSTALL ChangeLog NEWS README TODO )
-
-src_unpack() {
- # for some reason, we get a "this does not look like a tar archive" error
- # but the following works... go figure.
- gunzip -c "${DISTDIR}"/${P}.tar.gz > ${P}.tar || die 'gunzip failed'
- tar xf ${P}.tar || die "failed to unpack ${P}.tar"
- rm ${P}.tar || die "rm failed"
-}
-
-src_configure() {
- econf \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/libhtmlparse/metadata.xml b/dev-libs/libhtmlparse/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libhtmlparse/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/libical/Manifest b/dev-libs/libical/Manifest
index 2a3140970bd5..c7b0779ec931 100644
--- a/dev-libs/libical/Manifest
+++ b/dev-libs/libical/Manifest
@@ -1,2 +1,2 @@
-DIST libical-3.0.4.tar.gz 871853 BLAKE2B 478589bd60a8cf2cadf3cb7d2a7502810ccea7c553db206135ba3f4d5f4ea28acbe670b76844306957c8a137b381f8d8b885c1fef56fad2afd5c6e8e9c14b28c SHA512 491a1dd0c33bb823a79165eb6e4f86ef048a44642adfe44f8e69c83598b458ddf8e4365b11afc37d0b21bc1367e0a99096fc7887aae29e7ff4e3bd1cdee64dd9
-DIST libical-3.0.5.tar.gz 881800 BLAKE2B 64f95950cc6f128c9ea475129e54d9c58b26d9866f8183762d34c996934a1b2bcc528c47442357a12fb6444831caa8f39772a6810d81f8c0b6596fd724f0de6c SHA512 9bf24b535864f66ea0b8d52d902d15fbfd20efbc480b5188ecd1b3d4aafdba063219763f99a8c30413964f7a024c7a902bade6bc40224bc59a438e672f65d656
+DIST libical-3.0.17.tar.gz 909125 BLAKE2B 002eba515280c685db49d7f6781048ca4f86a22fb44a740b459fd8ae8f7dd669cb8a623df16e87913a397fc9b242d75c999e7aea26f09254982d77f1c9f87ac2 SHA512 11fbb4aba7503a3264b0efa30ad56aa923d31ec193bdb0b87b92bc88db9019fa670c8c9ee7998caa3a870e706446a58ead475f31bd703f0d2cb7aabf0f6a3aa7
+DIST libical-3.0.18.tar.gz 908948 BLAKE2B 0d3a665bce64752bbb1d28afea708643e6f52f19d5e5eae576aac40b720661e5c9593ff1e5ae48ef9a6c1b54259a7848847817ae669bbc8ef6b34bf1c7d90ee6 SHA512 53ecf6c14a68d569dd11bfdeb1a072def847a14d189c6af16eab202e004350ee7d9488c6b63e9cb67889e8c2dec90643fef46aec143a915f28270d0752eaa9d5
diff --git a/dev-libs/libical/files/libical-3.0.11-pkgconfig-libdir.patch b/dev-libs/libical/files/libical-3.0.11-pkgconfig-libdir.patch
new file mode 100644
index 000000000000..40d7de320ecd
--- /dev/null
+++ b/dev-libs/libical/files/libical-3.0.11-pkgconfig-libdir.patch
@@ -0,0 +1,22 @@
+Fix pkgconfig libdir paths.
+
+--- a/libical.pc.in
++++ b/libical.pc.in
+@@ -8,7 +8,7 @@
+ Name: libical
+ Description: An implementation of basic iCAL protocols
+ Version: @LIBICAL_LIB_VERSION_STRING@
+-Libs: -L${libdir} -lical -licalss -licalvcal
++Libs: -lical -licalss -licalvcal
+ Libs.private: @PTHREAD_LIBS@
+ @REQUIRES_PRIVATE_ICU@
+ Cflags: -I${includedir}
+--- a/src/libical-glib/libical-glib.pc.in
++++ b/src/libical-glib/libical-glib.pc.in
+@@ -8,4 +8,4 @@
+ Version: @LIBICAL_LIB_VERSION_STRING@
+ Requires: glib-2.0, gobject-2.0, libical
+ Cflags: -I${includedir}
+-Libs: -L${libdir} -lical-glib
++Libs: -lical-glib
+
diff --git a/dev-libs/libical/files/libical-3.0.4-pkgconfig-libdir.patch b/dev-libs/libical/files/libical-3.0.4-pkgconfig-libdir.patch
deleted file mode 100644
index 1ef0817bce7b..000000000000
--- a/dev-libs/libical/files/libical-3.0.4-pkgconfig-libdir.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 111ee5ff9daf7db21ad0b6874c4b7cc05baf4703 Mon Sep 17 00:00:00 2001
-From: Milan Crha <mcrha@redhat.com>
-Date: Tue, 8 Jan 2019 22:13:47 +0100
-Subject: [PATCH] Fix typo in libical-glib.pc.in
-
-Missing '$' causes compiler warnings about missing-include-dirs, due to
-the {includedir} not being properly replaced with the variable value.
-
-Signed-off-by: Allen Winter <allen.winter@kdab.com>
----
- src/libical-glib/libical-glib.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libical-glib/libical-glib.pc.in b/src/libical-glib/libical-glib.pc.in
-index 42f1ffe5..e164cfb5 100644
---- a/src/libical-glib/libical-glib.pc.in
-+++ b/src/libical-glib/libical-glib.pc.in
-@@ -7,5 +7,5 @@ Name: libical-glib
- Description: A GObject interface of the libical library
- Version: @LIBICAL_LIB_VERSION_STRING@
- Requires: glib-2.0, gobject-2.0, libical
--Cflags: -I{includedir}
-+Cflags: -I${includedir}
- Libs: -L${libdir} -lical-glib
diff --git a/dev-libs/libical/files/libical-3.0.5-fix-lots-of-params.patch b/dev-libs/libical/files/libical-3.0.5-fix-lots-of-params.patch
deleted file mode 100644
index 187a5de0cd4b..000000000000
--- a/dev-libs/libical/files/libical-3.0.5-fix-lots-of-params.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From f02ca493123b7c8e8eaaa758d787e9e2753fd9b8 Mon Sep 17 00:00:00 2001
-From: Kent Sutherland <git@ksuther.com>
-Date: Fri, 17 May 2019 13:26:52 -0500
-Subject: [PATCH] Include invalid parameters in the maximum number of allowed
- parameters Fixes hangs when iterating lots of invalid parameters (valid
- parameters already have a cap from f6c64896988644a7c6d4d5060f6ab574c2a62fbf)
- oss-fuzz issue 14809
-
----
- src/libical/icalparser.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/libical/icalparser.c b/src/libical/icalparser.c
-index 99803418..fa71e8bd 100644
---- a/src/libical/icalparser.c
-+++ b/src/libical/icalparser.c
-@@ -1098,6 +1098,7 @@ icalcomponent *icalparser_add_line(icalparser *parser, char *line)
-
- icalmemory_free_buffer(str);
- str = NULL;
-+ pcount++;
- continue;
- }
- }
diff --git a/dev-libs/libical/files/libical-3.0.5-pkgconfig-libdir.patch b/dev-libs/libical/files/libical-3.0.5-pkgconfig-libdir.patch
deleted file mode 100644
index a3a80e9f76f5..000000000000
--- a/dev-libs/libical/files/libical-3.0.5-pkgconfig-libdir.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix pkgconfig libdir paths.
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -336,7 +336,7 @@
- set(VERSION "${PROJECT_VERSION}")
- set(prefix "${CMAKE_INSTALL_PREFIX}")
- set(exec_prefix "\${prefix}")
--set(libdir "\${exec_prefix}/lib")
-+set(libdir "${LIB_INSTALL_DIR}")
- set(includedir "\${prefix}/include")
- set(PTHREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}")
-
---- a/libical.pc.in
-+++ b/libical.pc.in
-@@ -8,7 +8,7 @@
- Name: libical
- Description: An implementation of basic iCAL protocols
- Version: @LIBICAL_LIB_VERSION_STRING@
--Libs: -L${libdir} -lical -licalss -licalvcal
-+Libs: -lical -licalss -licalvcal
- Libs.private: @PTHREAD_LIBS@
- @REQUIRES_PRIVATE_ICU@
- Cflags: -I${includedir}
---- a/src/libical-glib/CMakeLists.txt
-+++ b/src/libical-glib/CMakeLists.txt
-@@ -233,7 +233,7 @@
-
- set(prefix "${CMAKE_INSTALL_PREFIX}")
- set(exec_prefix "\${prefix}")
--set(libdir "\${exec_prefix}/lib")
-+set(libdir "${LIB_INSTALL_DIR}")
- set(includedir "\${prefix}/include")
-
- configure_file(
---- a/src/libical-glib/libical-glib.pc.in
-+++ b/src/libical-glib/libical-glib.pc.in
-@@ -8,4 +8,4 @@
- Version: @LIBICAL_LIB_VERSION_STRING@
- Requires: glib-2.0, gobject-2.0, libical
- Cflags: -I${includedir}
--Libs: -L${libdir} -lical-glib
-+Libs: -lical-glib
-
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/libical-3.0.18.ebuild b/dev-libs/libical/libical-3.0.18.ebuild
new file mode 100644
index 000000000000..09aa9244e951
--- /dev/null
+++ b/dev-libs/libical/libical-3.0.18.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+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.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 vala && vala_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_BerkeleyDB=ON
+ -DICAL_BUILD_DOCS=$(usex doc)
+ -DLIBICAL_BUILD_EXAMPLES=$(use examples)
+ -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/libical-3.0.4.ebuild b/dev-libs/libical/libical-3.0.4.ebuild
deleted file mode 100644
index 3e1efabd39b7..000000000000
--- a/dev-libs/libical/libical-3.0.4.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-inherit cmake-utils python-any-r1
-
-DESCRIPTION="An 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 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-IUSE="berkdb doc examples static-libs test"
-
-# TODO: disabled until useful
-# glib? (
-# dev-libs/glib:2
-# dev-libs/libxml2:2
-# )
-# introspection? ( dev-libs/gobject-introspection:= )
-DEPEND="
- dev-libs/icu:=
- berkdb? ( sys-libs/db:= )
-"
-BDEPEND="
- dev-lang/perl
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- test? ( ${PYTHON_DEPS} )
-"
-RDEPEND="${DEPEND}
- sys-libs/timezone-data
-"
-
-DOCS=(
- AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
- doc/{AddingOrModifyingComponents,UsingLibical}.txt
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.{4,5}-pkgconfig-libdir.patch
- "${FILESDIR}"/${P}-tests.patch
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- cmake-utils_src_prepare
- use examples || cmake_comment_add_subdirectory examples
-}
-
-src_configure() {
- local mycmakeargs=(
- -DICAL_GLIB=OFF
- -DGOBJECT_INTROSPECTION=OFF
- $(cmake-utils_use_find_package berkdb BDB)
- -DICAL_BUILD_DOCS=$(usex doc)
- -DSHARED_ONLY=$(usex !static-libs)
- )
-# TODO: disabled until useful
-# -DICAL_GLIB=$(usex glib)
-# -DGOBJECT_INTROSPECTION=$(usex introspection)
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
- use doc && cmake-utils_src_compile docs
-}
-
-src_test() {
- local myctestargs=(
- -E "(icalrecurtest|icalrecurtest-r)" # bug 660282
- )
-
- cmake-utils_src_test
-}
-
-src_install() {
- use doc && HTML_DOCS=( "${BUILD_DIR}"/apidocs/html/. )
-
- cmake-utils_src_install
-
- if use examples; then
- rm examples/CMakeLists.txt || die
- dodoc -r examples
- fi
-}
diff --git a/dev-libs/libical/libical-3.0.5.ebuild b/dev-libs/libical/libical-3.0.5.ebuild
deleted file mode 100644
index b068f3dc391c..000000000000
--- a/dev-libs/libical/libical-3.0.5.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-inherit cmake-utils python-any-r1
-
-DESCRIPTION="An 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 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-IUSE="berkdb doc examples static-libs test"
-
-BDEPEND="
- dev-lang/perl
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
- test? ( ${PYTHON_DEPS} )
-"
-# TODO: disabled until useful
-# glib? (
-# dev-libs/glib:2
-# dev-libs/libxml2:2
-# )
-# introspection? ( dev-libs/gobject-introspection:= )
-DEPEND="
- dev-libs/icu:=
- berkdb? ( sys-libs/db:= )
-"
-RDEPEND="${DEPEND}
- sys-libs/timezone-data
-"
-
-DOCS=(
- AUTHORS ReadMe.txt ReleaseNotes.txt TEST THANKS TODO
- doc/{AddingOrModifyingComponents,UsingLibical}.txt
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.0.4-tests.patch"
- "${FILESDIR}/${P}-pkgconfig-libdir.patch"
- "${FILESDIR}/${P}-fix-lots-of-params.patch"
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- cmake-utils_src_prepare
- use examples || cmake_comment_add_subdirectory examples
-}
-
-src_configure() {
- local mycmakeargs=(
- -DICAL_GLIB=OFF
- -DICAL_GLIB_VAPI=OFF
- -DGOBJECT_INTROSPECTION=OFF
- $(cmake-utils_use_find_package berkdb BDB)
- -DICAL_BUILD_DOCS=$(usex doc)
- -DSHARED_ONLY=$(usex !static-libs)
- )
-# TODO: disabled until useful
-# -DICAL_GLIB=$(usex glib)
-# -DGOBJECT_INTROSPECTION=$(usex introspection)
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
- use doc && cmake-utils_src_compile docs
-}
-
-src_test() {
- local myctestargs=(
- -E "(icalrecurtest|icalrecurtest-r)" # bug 660282
- )
-
- cmake-utils_src_test
-}
-
-src_install() {
- use doc && HTML_DOCS=( "${BUILD_DIR}"/apidocs/html/. )
-
- cmake-utils_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 002b34042a96..1bf758400523 100644
--- a/dev-libs/libical/metadata.xml
+++ b/dev-libs/libical/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>asturm@gentoo.org</email>
@@ -8,4 +8,7 @@
<upstream>
<remote-id type="github">libical/libical</remote-id>
</upstream>
+ <use>
+ <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 d44e54b3cb79..734dfb0008d2 100644
--- a/dev-libs/libiconv/Manifest
+++ b/dev-libs/libiconv/Manifest
@@ -1,2 +1 @@
-DIST libiconv-1.14.tar.gz 4984397 BLAKE2B 8697bbff9b929e8a30157f271ba3216aef7b2f0020f5edd273f3cec249069fb23f58ae13cbe3d3bb502c27e97e7cccae66aba23017ab4f6bce11b2ec133ef684 SHA512 b96774fefc4fa1d07948fcc667027701373c34ebf9c4101000428e048addd85a5bb5e05e59f80eb783a3054a3a8a3c0da909450053275bbbf3ffde511eb3f387
-DIST libiconv-1.15.tar.gz 5264188 BLAKE2B 2384dbf8549fa56e841b15b7e2698b83c0ee171cdff13aef48c60eae0bc4f5e7b2e937bc8d5eddf89fba11412d17bebd77bdda7060c177ce9dc9be00172c0c12 SHA512 1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a
+DIST libiconv-1.17.tar.gz 5413283 BLAKE2B 1d317dd0655c680a2082c38561cdff51ac1a9181d4734a8bb1e86861dfd66f1a6c0846a90b5b88f3b38b1fa9983d9e563551f27e95a8e329896b71becceae52b SHA512 18a09de2d026da4f2d8b858517b0f26d853b21179cf4fa9a41070b2d140030ad9525637dc4f34fc7f27abca8acdc84c6751dfb1d426e78bf92af4040603ced86
diff --git a/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch b/dev-libs/libiconv/files/libiconv-1.14-no-gets.patch
deleted file mode 100644
index db767ac1dd81..000000000000
--- a/dev-libs/libiconv/files/libiconv-1.14-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
-@@ -695,7 +695,6 @@ _GL_CXXALIASWARN (gets);
- /* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
--_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
- #endif
-
-
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/files/libiconv-1.16-fix-link-install.patch b/dev-libs/libiconv/files/libiconv-1.16-fix-link-install.patch
new file mode 100644
index 000000000000..022613463a7b
--- /dev/null
+++ b/dev-libs/libiconv/files/libiconv-1.16-fix-link-install.patch
@@ -0,0 +1,12 @@
+don't link against the libtool archive to avoid recording ${D} in RUNPATH
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -113,6 +113,7 @@
+ if [ ! -d $(DESTDIR)$(bindir) ] ; then $(mkinstalldirs) $(DESTDIR)$(bindir) ; fi
+ case "@host_os@" in \
+ hpux*) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a -L$(DESTDIR)$(libdir) -liconv @LIBINTL@ $(OBJECTS_RES_@WOE32@) `if test -n '$(DESTDIR)'; then echo " -Wl,+b -Wl,$(libdir)"; fi` -o iconv$(EXEEXT);; \
++ *) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a -L$(DESTDIR)$(libdir) -liconv @LIBINTL@ $(OBJECTS_RES_@WOE32@) -o iconv$(EXEEXT);; \
+ *) $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(CFLAGS) $(iconv_LDFLAGS) iconv.@OBJEXT@ ../srclib/libicrt.a $(DESTDIR)$(libdir)/libiconv.la @LTLIBINTL@ $(OBJECTS_RES_@WOE32@) -o iconv$(EXEEXT);; \
+ esac
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) iconv$(EXEEXT) $(DESTDIR)$(bindir)/iconv$(EXEEXT)
diff --git a/dev-libs/libiconv/libiconv-1.14-r1.ebuild b/dev-libs/libiconv/libiconv-1.14-r1.ebuild
deleted file mode 100644
index 644bfafed5ea..000000000000
--- a/dev-libs/libiconv/libiconv-1.14-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit libtool toolchain-funcs 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+ GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm ~mips ppc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="+static-libs"
-
-DEPEND="!sys-libs/glibc
- !userland_GNU? ( !sys-apps/man-pages )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-no-gets.patch
- elibtoolize
-}
-
-multilib_src_configure() {
- # 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() {
- # Install in /lib as utils installed in /lib like gnutar
- # can depend on this
- gen_usr_ldscript -a iconv charset
-
- # If we have a GNU userland, we probably have sys-apps/man-pages
- # installed, which means we want to rename our copies #503162.
- # The use of USELAND=GNU is kind of a hack though ...
- if use userland_GNU ; then
- cd "${ED}"/usr/share/man || die
- local f
- for f in man*/*.[0-9] ; do
- mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
- done
- fi
-}
diff --git a/dev-libs/libiconv/libiconv-1.15.ebuild b/dev-libs/libiconv/libiconv-1.15.ebuild
deleted file mode 100644
index 5d47b69f440f..000000000000
--- a/dev-libs/libiconv/libiconv-1.15.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit libtool toolchain-funcs 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+ GPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="prefix static-libs"
-
-DEPEND="!sys-libs/glibc
- !userland_GNU? ( !sys-apps/man-pages )"
-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
-
- # If we have a GNU userland, we probably have sys-apps/man-pages
- # installed, which means we want to rename our copies #503162.
- # The use of USELAND=GNU is kind of a hack though ...
- if use userland_GNU ; then
- cd "${ED}"/usr/share/man || die
- local f
- for f in man*/*.[0-9] ; do
- mv "${f}" "${f%/*}/${PN}-${f#*/}" || die
- done
- fi
-}
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 f2b54580982c..0f8dd121b00e 100644
--- a/dev-libs/libiconv/metadata.xml
+++ b/dev-libs/libiconv/metadata.xml
@@ -1,17 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>bsd@gentoo.org</email>
- <name>BSD Project</name>
-</maintainer>
-<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/libidmef/Manifest b/dev-libs/libidmef/Manifest
deleted file mode 100644
index 778ad6b606d6..000000000000
--- a/dev-libs/libidmef/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libidmef-1.0.3.tar.gz 1321584 BLAKE2B e2fc6e542e96e4d00aafaea7e0817937adc33c4a0c5f824b58f8db683e9020434778fb993ea70c1548f7bae61e6c85d280eb4cd2e83ac7a25c8e6da1129da8dd SHA512 5f21c50efffc52b8008c979b95fcedd2add7e4355643626043880105f96b4086cd9cda3c9532ddd6745f6236e2edf15a20324bdfb932e63cdcf23c8104b03dc5
diff --git a/dev-libs/libidmef/libidmef-1.0.3-r1.ebuild b/dev-libs/libidmef/libidmef-1.0.3-r1.ebuild
deleted file mode 100644
index e7cba52e4f70..000000000000
--- a/dev-libs/libidmef/libidmef-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Implementation of the IDMEF XML draft"
-HOMEPAGE="https://sourceforge.net/projects/libidmef/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug static-libs"
-
-DEPEND=">=dev-libs/libxml2-2.5.10"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
diff --git a/dev-libs/libidmef/metadata.xml b/dev-libs/libidmef/metadata.xml
deleted file mode 100644
index faf767a2295c..000000000000
--- a/dev-libs/libidmef/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">libidmef</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/libindicate-12.10.1-r3.ebuild b/dev-libs/libindicate/libindicate-12.10.1-r3.ebuild
deleted file mode 100644
index 2b05d40e90de..000000000000
--- a/dev-libs/libindicate/libindicate-12.10.1-r3.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2018 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 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 )
-
-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-silent-rules \
- --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/libindicate/metadata.xml b/dev-libs/libindicate/metadata.xml
index 857e4ae6dcfe..af939d536680 100644
--- a/dev-libs/libindicate/metadata.xml
+++ b/dev-libs/libindicate/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="launchpad">libindicate</remote-id>
</upstream>
diff --git a/dev-libs/libindicator/files/libindicator-12.10.1-no-werror.patch b/dev-libs/libindicator/files/libindicator-12.10.1-no-werror.patch
new file mode 100644
index 000000000000..dcbf50b43151
--- /dev/null
+++ b/dev-libs/libindicator/files/libindicator-12.10.1-no-werror.patch
@@ -0,0 +1,196 @@
+https://bugs.gentoo.org/698774
+--- a/libindicator/Makefile.am
++++ b/libindicator/Makefile.am
+@@ -57,7 +57,7 @@ libindicator_la_CFLAGS = \
+ $(LIBINDICATOR_CFLAGS) \
+ $(COVERAGE_CFLAGS) \
+ -DG_LOG_DOMAIN=\"libindicator\" \
+- -Wall -Werror
++ -Wall
+
+ libindicator_la_LIBADD = \
+ $(LIBINDICATOR_LIBS)
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -38,7 +38,7 @@ test_loader_SOURCES = \
+ test-loader.c
+
+ test_loader_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir) \
+ -DBUILD_DIR="\"$(builddir)\""
+
+@@ -57,7 +57,7 @@ test_desktop_shortcuts_SOURCES = \
+ test-desktop-shortcuts.c
+
+ test_desktop_shortcuts_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ -DSRCDIR="\"$(srcdir)\"" \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir) \
+ -DBUILD_DIR="\"$(abs_builddir)\""
+@@ -91,7 +91,7 @@ libdummy_indicator_blank_la_SOURCES = \
+ dummy-indicator-blank.c
+
+ libdummy_indicator_blank_la_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ libdummy_indicator_blank_la_LIBADD = \
+@@ -111,7 +111,7 @@ libdummy_indicator_null_la_SOURCES = \
+ dummy-indicator-null.c
+
+ libdummy_indicator_null_la_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ libdummy_indicator_null_la_LIBADD = \
+@@ -131,7 +131,7 @@ libdummy_indicator_signaler_la_SOURCES = \
+ dummy-indicator-signaler.c
+
+ libdummy_indicator_signaler_la_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ libdummy_indicator_signaler_la_LIBADD = \
+@@ -151,7 +151,7 @@ libdummy_indicator_simple_la_SOURCES = \
+ dummy-indicator-simple.c
+
+ libdummy_indicator_simple_la_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ libdummy_indicator_simple_la_LIBADD = \
+@@ -172,7 +172,7 @@ libdummy_indicator_entry_func_la_SOURCES = \
+ dummy-indicator-entry-func.h
+
+ libdummy_indicator_entry_func_la_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ libdummy_indicator_entry_func_la_LIBADD = \
+@@ -192,7 +192,7 @@ libdummy_indicator_visible_la_SOURCES = \
+ dummy-indicator-visible.c
+
+ libdummy_indicator_visible_la_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ libdummy_indicator_visible_la_LIBADD = \
+@@ -214,7 +214,7 @@ service_shutdown_timeout_SOURCES = \
+ service-shutdown-timeout.c
+
+ service_shutdown_timeout_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_shutdown_timeout_LDADD = \
+@@ -240,7 +240,7 @@ service_manager_no_connect_SOURCES = \
+ service-manager-no-connect.c
+
+ service_manager_no_connect_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_manager_no_connect_LDADD = \
+@@ -272,7 +272,7 @@ service_manager_connect_SOURCES = \
+ service-manager-connect.c
+
+ service_manager_connect_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_manager_connect_LDADD = \
+@@ -286,7 +286,7 @@ service_manager_connect_service_SOURCES = \
+ service-manager-connect-service.c
+
+ service_manager_connect_service_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_manager_connect_service_LDADD = \
+@@ -319,7 +319,7 @@ service_version_manager_SOURCES = \
+ service-version-manager.c
+
+ service_version_manager_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_version_manager_LDADD = \
+@@ -334,7 +334,7 @@ service_version_bad_service_SOURCES = \
+ service-version-bad-service.c
+
+ service_version_bad_service_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_version_bad_service_LDADD = \
+@@ -349,7 +349,7 @@ service_version_good_service_SOURCES = \
+ service-version-good-service.c
+
+ service_version_good_service_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_version_good_service_LDADD = \
+@@ -376,7 +376,7 @@ service_version_multiwatch_manager_SOURCES = \
+ service-version-multiwatch-manager.c
+
+ service_version_multiwatch_manager_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_version_multiwatch_manager_LDADD = \
+@@ -391,7 +391,7 @@ service_version_multiwatch_manager_impolite_SOURCES = \
+ service-version-multiwatch-manager-impolite.c
+
+ service_version_multiwatch_manager_impolite_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_version_multiwatch_manager_impolite_LDADD = \
+@@ -406,7 +406,7 @@ service_version_multiwatch_service_SOURCES = \
+ service-version-multiwatch-service.c
+
+ service_version_multiwatch_service_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_version_multiwatch_service_LDADD = \
+@@ -432,7 +432,7 @@ service_manager_nostart_connect_SOURCES = \
+ service-manager-nostart-connect.c
+
+ service_manager_nostart_connect_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir)
+
+ service_manager_nostart_connect_LDADD = \
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -17,7 +17,7 @@ indicator_loader_SOURCES = \
+ indicator-loader.c
+
+ indicator_loader_CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir) \
+ -DBUILD_DIR="\"$(builddir)\""
+
diff --git a/dev-libs/libindicator/files/libindicator-12.10.1-nonbash.patch b/dev-libs/libindicator/files/libindicator-12.10.1-nonbash.patch
new file mode 100644
index 000000000000..eac1e73aa288
--- /dev/null
+++ b/dev-libs/libindicator/files/libindicator-12.10.1-nonbash.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/777087
+https://bugs.launchpad.net/libindicator/+bug/1502925
+Thanks-to: orbea <orbea@riseup.net>
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,7 +15,7 @@ AM_INIT_AUTOMAKE([1.11 -Wall tar-pax])
+
+ AM_MAINTAINER_MODE([enable])
+
+-AM_SILENT_RULES([yes])]
++AM_SILENT_RULES([yes])
+
+ # Check for programs
+ AC_PROG_CC
+@@ -66,7 +66,7 @@ AS_IF([test "x$with_gtk" = x3],
+ AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3])
+
+ LT_LIB_M
+-LIBINDICATOR_LIBS+="$LIBM"
++LIBINDICATOR_LIBS="${LIBINDICATOR_LIBS} $LIBM"
+
+ ##############################
+ # Custom Junk
diff --git a/dev-libs/libindicator/files/libindicator-ldflags-spacing.patch b/dev-libs/libindicator/files/libindicator-ldflags-spacing.patch
deleted file mode 100644
index 8c4a55faec08..000000000000
--- a/dev-libs/libindicator/files/libindicator-ldflags-spacing.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.ac 2012-07-11 14:07:33.167169453 -0400
-+++ b/configure.ac 2015-10-04 09:59:31.023669616 -0400
-@@ -66,7 +66,7 @@
- AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3])
-
- LT_LIB_M
--LIBINDICATOR_LIBS+="$LIBM"
-+LIBINDICATOR_LIBS+=" $LIBM"
-
- ##############################
- # Custom Junk
diff --git a/dev-libs/libindicator/libindicator-12.10.1-r201.ebuild b/dev-libs/libindicator/libindicator-12.10.1-r201.ebuild
index c43c76e155f1..e5cd461a3d61 100644
--- a/dev-libs/libindicator/libindicator-12.10.1-r201.ebuild
+++ b/dev-libs/libindicator/libindicator-12.10.1-r201.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit autotools eutils flag-o-matic virtualx multilib-minimal
+EAPI=7
+
+inherit autotools flag-o-matic virtualx multilib-minimal
DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
HOMEPAGE="https://launchpad.net/libindicator"
@@ -12,33 +13,45 @@ LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="test"
+RESTRICT="!test? ( test )"
-RDEPEND=">=dev-libs/glib-2.22[${MULTILIB_USEDEP}]
- >=x11-libs/gtk+-2.18:2[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
+RDEPEND="
+ >=dev-libs/glib-2.22[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.18:2[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
dev-util/glib-utils
- virtual/pkgconfig[${MULTILIB_USEDEP}]
- test? ( dev-util/dbus-test-runner )"
+ virtual/pkgconfig
+ test? ( dev-util/dbus-test-runner )
+"
+
+PATCHES=(
+ # Fixed version of https://bugs.launchpad.net/libindicator/+bug/1502925
+ "${FILESDIR}"/${PN}-12.10.1-nonbash.patch
+ "${FILESDIR}"/${PN}-12.10.1-no-werror.patch
+)
src_prepare() {
- epatch "${FILESDIR}"/${PN}-ldflags-spacing.patch
+ default
+
eautoreconf
}
multilib_src_configure() {
append-flags -Wno-error
- myconf=(
- --disable-silent-rules
+ local myconf=(
--disable-static
--with-gtk=2
)
- local ECONF_SOURCE=${S}
- econf "${myconf[@]}"
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
multilib_src_test() {
- Xemake check #391179
+ # bug #391179
+ virtx emake
}
multilib_src_install() {
@@ -46,10 +59,12 @@ multilib_src_install() {
}
multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
+ default
+
+ find "${ED}" -name '*.la' -delete || die
rm -vf \
"${ED}"/usr/lib*/libdummy-indicator-* \
- "${ED}"/usr/share/${PN}/*indicator-debugging
+ "${ED}"/usr/share/${PN}/*indicator-debugging \
+ || die
}
diff --git a/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild b/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild
index c5c2badc6db5..ffc9b7d517bd 100644
--- a/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild
+++ b/dev-libs/libindicator/libindicator-12.10.1-r301.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit autotools eutils flag-o-matic virtualx multilib-minimal
+EAPI=7
+
+inherit autotools flag-o-matic virtualx multilib-minimal
DESCRIPTION="A set of symbols and convience functions that all indicators would like to use"
HOMEPAGE="https://launchpad.net/libindicator"
@@ -10,36 +11,46 @@ SRC_URI="https://launchpad.net/${PN}/${PV%.*}/${PV}/+download/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="3"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv x86"
IUSE="test"
+RESTRICT="!test? ( test )"
-RDEPEND=">=dev-libs/glib-2.22[${MULTILIB_USEDEP}]
- >=x11-libs/gtk+-3.2:3[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
+RDEPEND="
+ >=dev-libs/glib-2.22[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.2:3[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
dev-util/glib-utils
- virtual/pkgconfig[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
test? ( dev-util/dbus-test-runner )"
+PATCHES=(
+ # Fixed version of https://bugs.launchpad.net/libindicator/+bug/1502925
+ "${FILESDIR}"/${PN}-12.10.1-nonbash.patch
+ "${FILESDIR}"/${PN}-12.10.1-no-werror.patch
+)
+
src_prepare() {
- # https://bugs.launchpad.net/libindicator/+bug/1502925
- epatch "${FILESDIR}"/${PN}-ldflags-spacing.patch
+ default
+
eautoreconf
}
multilib_src_configure() {
append-flags -Wno-error
- myconf=(
- --disable-silent-rules
+ local myconf=(
--disable-static
--with-gtk=3
)
- local ECONF_SOURCE=${S}
- econf "${myconf[@]}"
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
multilib_src_test() {
- Xemake check #391179
+ # bug #391179
+ virtx emake
}
multilib_src_install() {
@@ -47,6 +58,7 @@ multilib_src_install() {
}
multilib_src_install_all() {
- einstalldocs
- prune_libtool_files --all
+ default
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libindicator/metadata.xml b/dev-libs/libindicator/metadata.xml
index 15d98a815898..38903ed6bdfb 100644
--- a/dev-libs/libindicator/metadata.xml
+++ b/dev-libs/libindicator/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/libinput/Manifest b/dev-libs/libinput/Manifest
index 339888b1e006..93761637c86b 100644
--- a/dev-libs/libinput/Manifest
+++ b/dev-libs/libinput/Manifest
@@ -1,3 +1 @@
-DIST libinput-1.12.6.tar.xz 518784 BLAKE2B 7462f47be3628f9c66ef5b7c8265b588bd0ca328bafe91932f5341a010ac882648b4e7cfd0db241ae526836172e0829d68d21f8966d2be8b49f4e1c0c40df018 SHA512 02ad90c77a0c8c27fd96ec34e1546c5f0947ced49bad386372c1ef7c41b3b2157c39020f0766f20aaf2ab3c97128567e169279bea21115ced39499dda325d2ef
-DIST libinput-1.13.2.tar.xz 529488 BLAKE2B 489f962ca0b0385817fc76a5bc7254143d12c07e32a91dd118dca53fcdd6eaf5d2eef8aa5c5598a2aadda9e4a20b8a4c9340b60dee8286cd322fe2d294f1f6b7 SHA512 26f11c5274c26acc38b9b5729195010c0799a9563f1eb0e0cd67e323f8ed73b0fc8db8584ec8fdf1b726417f64c2daeb54832167079832626c8c1190fccf459f
-DIST libinput-1.13.4.tar.xz 530000 BLAKE2B 96345625b98ecc5476b9525cac84ec6cffb5854ce8d9e197fa73dbcb3548ebfea7820fa32d4e808222c0471fc94d89003775587cc0ed9c8445dd5902d3463792 SHA512 ccfdfc704dab9ea19a503399ecd4ce3a95b8d9480b8dfddeb80be01236c34c6f2f472be0e12e04dddd68092611470d303351e092141bc7491729639bcf7e64d7
+DIST libinput-1.25.0.tar.bz2 812020 BLAKE2B 03034b6315c281d7eee6a7bc1f4c799c2c7f74add7a195501de75feb6b98fa8dc601b7573da5586b2b2882c3cfaddfad62f5c1b836402dce1f463bdb2884945d SHA512 b9dc3f3b5f34c82399dfb7ccb5f65d19a596c415f0198b39e3f360f5b87c42124a5355c8d9f6f42cc9ae2d4f9a90fe5da6260136fa83d278048392f93381a84b
diff --git a/dev-libs/libinput/libinput-1.12.6.ebuild b/dev-libs/libinput/libinput-1.12.6.ebuild
deleted file mode 100644
index 213dd9f0cc1a..000000000000
--- a/dev-libs/libinput/libinput-1.12.6.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2014-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-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"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ppc ppc64 sparc x86"
-IUSE="doc input_devices_wacom"
-# Tests require write access to udev rules directory which is a no-no for live system.
-# Other tests are just about logs, exported symbols and autotest of the test library.
-RESTRICT="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.20 )
- >=dev-libs/libevdev-1.3
- >=sys-libs/mtdev-1.1
- virtual/libudev:=
- virtual/udev
-"
-DEPEND="${RDEPEND}"
-# test? ( >=dev-libs/check-0.9.10 )
-
-python_check_deps() {
- has_version "dev-python/commonmark[${PYTHON_USEDEP}]" && \
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" && \
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- has_version ">=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-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)
- -Dtests=false # tests are restricted
- -Dudev-dir="$(get_udevdir)"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use doc ; then
- docinto html
- dodoc -r "${BUILD_DIR}"/Documentation/.
- fi
-}
-
-pkg_postinst() {
- udevadm hwdb --update --root="${ROOT%/}"
-}
diff --git a/dev-libs/libinput/libinput-1.13.2.ebuild b/dev-libs/libinput/libinput-1.13.2.ebuild
deleted file mode 100644
index fd529371d3d1..000000000000
--- a/dev-libs/libinput/libinput-1.13.2.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2014-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-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"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
-IUSE="doc input_devices_wacom"
-# Tests require write access to udev rules directory which is a no-no for live system.
-# Other tests are just about logs, exported symbols and autotest of the test library.
-RESTRICT="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.20 )
- >=dev-libs/libevdev-1.3
- >=sys-libs/mtdev-1.1
- virtual/libudev:=
- virtual/udev
-"
-DEPEND="${RDEPEND}"
-# test? ( >=dev-libs/check-0.9.10 )
-
-python_check_deps() {
- has_version "dev-python/commonmark[${PYTHON_USEDEP}]" && \
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" && \
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- has_version ">=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-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)
- -Dtests=false # tests are restricted
- -Dudev-dir="$(get_udevdir)"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use doc ; then
- docinto html
- dodoc -r "${BUILD_DIR}"/Documentation/.
- fi
-}
-
-pkg_postinst() {
- udevadm hwdb --update --root="${ROOT%/}"
-}
diff --git a/dev-libs/libinput/libinput-1.13.4.ebuild b/dev-libs/libinput/libinput-1.13.4.ebuild
deleted file mode 100644
index 9218300dbf90..000000000000
--- a/dev-libs/libinput/libinput-1.13.4.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2014-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-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"
-KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ia64 ~ppc ~ppc64 ~s390 sparc x86"
-IUSE="doc input_devices_wacom"
-# Tests require write access to udev rules directory which is a no-no for live system.
-# Other tests are just about logs, exported symbols and autotest of the test library.
-RESTRICT="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.20 )
- >=dev-libs/libevdev-1.3
- >=sys-libs/mtdev-1.1
- virtual/libudev:=
- virtual/udev
-"
-DEPEND="${RDEPEND}"
-# test? ( >=dev-libs/check-0.9.10 )
-
-python_check_deps() {
- has_version "dev-python/commonmark[${PYTHON_USEDEP}]" && \
- has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" && \
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- has_version ">=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-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)
- -Dtests=false # tests are restricted
- -Dudev-dir="$(get_udevdir)"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use doc ; then
- docinto html
- dodoc -r "${BUILD_DIR}"/Documentation/.
- fi
-}
-
-pkg_postinst() {
- 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 bab037fe77d1..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 4bf4feebe4c0..fe3a242e1a81 100644
--- a/dev-libs/libintl/Manifest
+++ b/dev-libs/libintl/Manifest
@@ -1,3 +1,6 @@
-DIST gettext-0.19.7.tar.gz 19235781 BLAKE2B 4c2cfcb0b21a66a9f8d2d57de7420e624a1235f97180ad5ac194a5eb629760a9cacc7f3966cdf893d7af86c1740d8bb2266c639ebe2664ea44f2c47a962a841a SHA512 7ba89074d3eddd0b4a5e2980e1ec74b53c49b7a04a1fa91c70c4bc11ce9c30415e4df9d79698148eaaed325fb4feb25a340a2e8e01fbe86b1a66b1376a4c9e3d
-DIST gettext-0.19.8.1.tar.gz 19704011 BLAKE2B 17dc7aad338a26d71b818fea51e46a47dccf14744ee575ce86b591becaea402e36d64dc018e1a84113c356122ffef367cf2fa424e51ebc9720350040b4960091 SHA512 073042fa2dc48804c58e76f036130a669e19612c25427b0ab14d0b366b549a63751bf3af03bfd0745d7c4f72497a4b2aab26a3cc6de83189ce111679073878e1
-DIST gettext-0.20.1.tar.gz 23267473 BLAKE2B 34e776b985c7db105f8029e0f3400aa645ff6843cd35f778d48450368a31218ddcf590fbc7fd2d10f716b63094d6a15bf40b358e8a6f498d450d2420e7e7a5f2 SHA512 af6d74986da285df0bdd59524bdf01bb12db448e5ea659dda3b60b660c4a9063c80e8c74cc8751334e065e98348ee0db0079e43c67d485a15e86ae236115fe06
+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.19.7.ebuild b/dev-libs/libintl/libintl-0.19.7.ebuild
deleted file mode 100644
index 611831825144..000000000000
--- a/dev-libs/libintl/libintl-0.19.7.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: Keep version bumps in sync with sys-devel/gettext.
-
-EAPI="5"
-
-MY_P="gettext-${PV}"
-
-inherit multilib-minimal toolchain-funcs libtool
-
-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 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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() {
- # 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() {
- use static-libs || prune_libtool_files --all
-
- rm -f "${ED}"/usr/share/locale/locale.alias "${ED}"/usr/lib/charset.alias
-
- dodoc AUTHORS ChangeLog NEWS README
-}
diff --git a/dev-libs/libintl/libintl-0.19.8.1.ebuild b/dev-libs/libintl/libintl-0.19.8.1.ebuild
deleted file mode 100644
index 25e6cde3bcec..000000000000
--- a/dev-libs/libintl/libintl-0.19.8.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: Keep version bumps in sync with sys-devel/gettext.
-
-EAPI="5"
-
-MY_P="gettext-${PV}"
-
-inherit multilib-minimal toolchain-funcs libtool
-
-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 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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() {
- # 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() {
- use static-libs || prune_libtool_files --all
-
- rm -f "${ED}"/usr/share/locale/locale.alias "${ED}"/usr/lib/charset.alias
-
- dodoc AUTHORS ChangeLog NEWS README
-}
diff --git a/dev-libs/libintl/libintl-0.20.1.ebuild b/dev-libs/libintl/libintl-0.20.1.ebuild
deleted file mode 100644
index da2640badddb..000000000000
--- a/dev-libs/libintl/libintl-0.20.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2019 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 toolchain-funcs libtool
-
-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 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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.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.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/libintl/metadata.xml b/dev-libs/libintl/metadata.xml
index 56c124413057..73dda144f9ac 100644
--- a/dev-libs/libintl/metadata.xml
+++ b/dev-libs/libintl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/dev-libs/libisoburn/Manifest b/dev-libs/libisoburn/Manifest
index 71643a293294..34cd3f89bcf2 100644
--- a/dev-libs/libisoburn/Manifest
+++ b/dev-libs/libisoburn/Manifest
@@ -1 +1 @@
-DIST libisoburn-1.5.0.tar.gz 1550656 BLAKE2B 447c383b3847b7ca0c4aca73f5317dec03ef79b34debc3ad2149fae4e7216f29c4a0dd918271087b530fb6c476b219430159e1515bec4bcf51c47d5b2ee05d89 SHA512 c74a9e2887244c28c82abe70d2603dbcd49b639c370e5b7fea03aabce59ff2b361345cd6ec88fe8152727e8a416d4759b88d91e2b5aec8a697408e00b7dc9e4d
+DIST libisoburn-1.5.6.tar.gz 1650966 BLAKE2B 56246feb390532588861944944de50fc6e70afa284da78a33e6a1c3a37fdf02cd8362dce2fc59c8f0017cc475eb15db47841759f376342d411d0518e9ba49c9b SHA512 0fc0058aa4cf755f30d5be0de808012978c657348412c7f129b8f8128da41f18216f3e039050a5851b557ffab344cf7dc44df374400ca008e34e2e2524fbd979
diff --git a/dev-libs/libisoburn/libisoburn-1.5.0.ebuild b/dev-libs/libisoburn/libisoburn-1.5.0.ebuild
deleted file mode 100644
index e8f60b6d0dae..000000000000
--- a/dev-libs/libisoburn/libisoburn-1.5.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 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/wikis/home"
-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.0
- >=dev-libs/libisofs-1.5.0
- 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..9da120f44b7a
--- /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/metadata.xml b/dev-libs/libisoburn/metadata.xml
index e62621e3afd3..177faafffae8 100644
--- a/dev-libs/libisoburn/metadata.xml
+++ b/dev-libs/libisoburn/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>billie@gentoo.org</email>
diff --git a/dev-libs/libisofs/Manifest b/dev-libs/libisofs/Manifest
index b2db13a5470a..0057a3ef40a4 100644
--- a/dev-libs/libisofs/Manifest
+++ b/dev-libs/libisofs/Manifest
@@ -1 +1 @@
-DIST libisofs-1.5.0.tar.gz 834099 BLAKE2B 57dbdb4173df635d2811c61a0b88e49f617b628909a6f87eeca7715a2c94b25b381860722cd56752cac28993bb314c9b0371ae5c0ca73e37044192f50aa47179 SHA512 1d0bc488c18b95971b7aa89765d7b5772b64d17eadeae9ec52c0f880c6f68acee80ee39b603752a1f9fbe0f35029c27023d5a6710d149a0f568bb396c3dcede8
+DIST libisofs-1.5.6.pl01.tar.gz 879218 BLAKE2B 466cb1fed6b0a29b2a418dfe7a3ac393d38961b08cf53febfe80f1bf91f891d1c17119a482fb0cb6f44eda0c568b1c00bd7b2eeb028ad749c99451ffb18b7f8b SHA512 7760931abbe508002bd3e7eeb694071425f24316cb11c80a2f162a76c3a1d79c57593b758bc0e540107140fd18714e1bf87ae3a65510956a76a1c09f80453a80
diff --git a/dev-libs/libisofs/libisofs-1.5.0.ebuild b/dev-libs/libisofs/libisofs-1.5.0.ebuild
deleted file mode 100644
index b098d713750d..000000000000
--- a/dev-libs/libisofs/libisofs-1.5.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 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/wikis/home"
-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 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..8a18790d28c3
--- /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"
+
+S="${WORKDIR}/${MY_PF}"
+
+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}
+"
+
+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/metadata.xml b/dev-libs/libisofs/metadata.xml
index 13583465ba32..7064074ef2ba 100644
--- a/dev-libs/libisofs/metadata.xml
+++ b/dev-libs/libisofs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>billie@gentoo.org</email>
diff --git a/dev-libs/libite/Manifest b/dev-libs/libite/Manifest
index cec74c2497bd..d4e8a05c5d24 100644
--- a/dev-libs/libite/Manifest
+++ b/dev-libs/libite/Manifest
@@ -1 +1 @@
-DIST libite-2.0.0.tar.xz 259960 BLAKE2B 4c5393daaf2ca6eb830fc5f11b1d38e9c1e2374c5f5d87bb973c7e54b9f81480d4a270a4551689806620cd5a84671d1055d409d6dd090acb64bf7fc454d1c283 SHA512 18516f19d36d81169116562b4b27d76240715424cdde9b87eae831f35adb17d70fb01e2eae5e7e9ce99e2c88344c2c15d2b7d11f4ea2e9ae0deb25ee5ee4c563
+DIST libite-2.6.1.tar.xz 318552 BLAKE2B 36716ef4224513ed175c272724f927b03de63587ea611a14ab80ecbe012db4982ed8f96089c0336960de6f1ff57e5a6d1a64db895a613a2b59021bcf0e896b08 SHA512 37320cc7093aad756b574e9415a3a2aed9d76a147720f2b6493a173943b4f2875723c6f4f1d79868e3bd5e312fd545349c7dbcd66a675cee4ee1fa9889bfc2ee
diff --git a/dev-libs/libite/files/libite-2.0.0-fix-path.patch b/dev-libs/libite/files/libite-2.0.0-fix-path.patch
deleted file mode 100644
index 47a3dad538b1..000000000000
--- a/dev-libs/libite/files/libite-2.0.0-fix-path.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/tests/which.c b/tests/which.c
-index cda57c6..3e74867 100644
---- a/tests/which.c
-+++ b/tests/which.c
-@@ -21,6 +21,7 @@ int main(void)
- { NULL, 0 }
- };
-
-+ setenv("PATH", "/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin", 1);
- for (i = 0; test[i].cmd; i++) {
- char *path;
-
diff --git a/dev-libs/libite/files/libite-2.0.0-fix-which-path.patch b/dev-libs/libite/files/libite-2.0.0-fix-which-path.patch
deleted file mode 100644
index 301c43715890..000000000000
--- a/dev-libs/libite/files/libite-2.0.0-fix-which-path.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/tests/which.c b/tests/which.c
-index 46dcccf..cda57c6 100644
---- a/tests/which.c
-+++ b/tests/which.c
-@@ -11,13 +11,13 @@ int main(void)
- int result = 0;
- size_t i;
- struct tc test[] = {
-- { "ls", 1 },
-- { "free", 1 },
-- { "modinfo", 1 },
-- { "useradd", 1 },
-- { "/bin/which", 1 },
-- { "/bin/ps aux", 1 },
-- { "/etc/passwd", 0 },
-+ { "ls", 1 },
-+ { "free", 1 },
-+ { "modinfo", 1 },
-+ { "useradd", 1 },
-+ { "/usr/bin/which", 1 },
-+ { "/bin/ps aux", 1 },
-+ { "/etc/passwd", 0 },
- { NULL, 0 }
- };
-
diff --git a/dev-libs/libite/libite-2.0.0.ebuild b/dev-libs/libite/libite-2.0.0.ebuild
deleted file mode 100644
index 0380b8e161c4..000000000000
--- a/dev-libs/libite/libite-2.0.0.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="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"
-IUSE="static-libs"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-which-path.patch
- "${FILESDIR}"/${P}-fix-path.patch
-)
-
-src_configure(){
- econf --enable-static=$(usex static-libs)
-}
-
-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.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/libite/metadata.xml b/dev-libs/libite/metadata.xml
index ec1edc5f9935..406ce969a461 100644
--- a/dev-libs/libite/metadata.xml
+++ b/dev-libs/libite/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<name>Oz Tiram</name>
<email>oz.tiram@gmail.com</email>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
</maintainer>
<longdescription lang="en">
diff --git a/dev-libs/libixion/Manifest b/dev-libs/libixion/Manifest
index f9faad215d7e..f8581813773e 100644
--- a/dev-libs/libixion/Manifest
+++ b/dev-libs/libixion/Manifest
@@ -1,2 +1 @@
-DIST libixion-0.13.0.tar.xz 413756 BLAKE2B 04aef61a1cc691bb159d7e8131e2e47fe2590634adc93f2e5771ed106316eb1c92ee7c4aa05ba753a1751cb5e7c55cba9263515671a26f9bc9983a1cfcacceff SHA512 15784e947164d106e677c59ece53b3cd401d4f9433cc5331a35d3be8332ae4f20a469ca73b30b253433c86da4afde886dfb4ac23e46ed46376a7349e0276c3a0
-DIST libixion-0.14.1.tar.xz 360568 BLAKE2B e4da21f0eff9111272618d1bad87790ed0c4b461478473654f8366b0023c0650b41d355b0737a4fd4ac943e66f919e2f0d6bf04250e597e54a290d4415f3a093 SHA512 e4ae6348833d2178c1dc76916937bcc9d7821dc6570fe13093c441ca22e0301a1ca6a4cf85d9814b83534733dba98f4c4a372791f93bc57173317657675b9ae3
+DIST libixion-0.19.0.tar.xz 536540 BLAKE2B 2bd8db83f926d553b1b6c78eb3e735e9911dbdd3cb95105fca04fd560099f38c5e4834d5887b1b0e6d44343e0da9b0fa0264f00c931a6b04b7e4c70996f819b2 SHA512 f06edbcf5ae7459a46e01273952ce6fbc4e8f2b7782c7e07645dc30e102f20f542e449acafc26484765207b10656e0b350f4108cbf1e03947ee7267254cf6f97
diff --git a/dev-libs/libixion/libixion-0.13.0.ebuild b/dev-libs/libixion/libixion-0.13.0.ebuild
deleted file mode 100644
index f092df1e8178..000000000000
--- a/dev-libs/libixion/libixion-0.13.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
-
-PYTHON_COMPAT=( python{3_5,3_6} )
-
-[[ ${PV} == 9999 ]] && GITECLASS="git-r3 autotools"
-inherit python-single-r1 ${GITECLASS}
-unset GITECLASS
-
-DESCRIPTION="General purpose formula parser & interpreter"
-HOMEPAGE="https://gitlab.com/ixion/ixion"
-[[ ${PV} == 9999 ]] || SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0/0.13" # based on SONAME of libixion.so
-[[ ${PV} == 9999 ]] || \
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-IUSE="debug python static-libs +threads"
-
-RDEPEND="
- dev-libs/boost:=
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
- =dev-util/mdds-1.3*:1=
-"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- [[ ${PV} == 9999 ]] && eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable python) \
- $(use_enable static-libs static) \
- $(use_enable threads)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libixion/libixion-0.14.1.ebuild b/dev-libs/libixion/libixion-0.14.1.ebuild
deleted file mode 100644
index 16136df8a117..000000000000
--- a/dev-libs/libixion/libixion-0.14.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-inherit python-single-r1
-
-DESCRIPTION="General purpose formula parser & interpreter"
-HOMEPAGE="https://gitlab.com/ixion/ixion"
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
- inherit git-r3 autotools
-else
- SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.14" # based on SONAME of libixion.so
-IUSE="debug python static-libs +threads"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- dev-libs/boost:=
- >=dev-util/mdds-1.4.1:1=
- python? ( ${PYTHON_DEPS} )
-"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- [[ ${PV} == 9999 ]] && eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable python) \
- $(use_enable static-libs static) \
- $(use_enable threads)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -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 860c13488fc6..ec4bffd84edf 100644
--- a/dev-libs/libixion/libixion-9999.ebuild
+++ b/dev-libs/libixion/libixion-9999.ebuild
@@ -1,34 +1,36 @@
-# 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
-PYTHON_COMPAT=( python3_{5,6,7} )
+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
+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 ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT"
-SLOT="0/0.15" # based on SONAME of libixion.so
-IUSE="debug python static-libs +threads"
+SLOT="0/0.20" # based on SONAME of libixion.so
+IUSE="debug python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-DEPEND="
+RDEPEND="
dev-libs/boost:=
- >=dev-util/mdds-1.4.1:1=
+ dev-util/mdds:${MDDS_SLOT}
python? ( ${PYTHON_DEPS} )
"
-RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND}"
pkg_setup() {
use python && python-single-r1_pkg_setup
@@ -36,18 +38,20 @@ pkg_setup() {
src_prepare() {
default
- [[ ${PV} == 9999 ]] && eautoreconf
+ [[ ${PV} == *9999* ]] && eautoreconf
}
src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable python) \
- $(use_enable static-libs static) \
- $(use_enable threads)
+ 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' -delete || die
+ find "${D}" -name '*.la' -type f -delete || die
}
diff --git a/dev-libs/libixion/metadata.xml b/dev-libs/libixion/metadata.xml
index 07e60cced834..c917e7cc5851 100644
--- a/dev-libs/libixion/metadata.xml
+++ b/dev-libs/libixion/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>office@gentoo.org</email>
diff --git a/dev-libs/libjcat/Manifest b/dev-libs/libjcat/Manifest
new file mode 100644
index 000000000000..6331f7ea2ef2
--- /dev/null
+++ b/dev-libs/libjcat/Manifest
@@ -0,0 +1,2 @@
+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.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.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
new file mode 100644
index 000000000000..01872545896e
--- /dev/null
+++ b/dev-libs/libjcat/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</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.
+
+ This provides equivalent functionality to the catalog files supported
+ 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>
+ <upstream>
+ <remote-id type="github">hughsie/libjcat</remote-id>
+ </upstream>
+</pkgmetadata>
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..aa9235147b08
--- /dev/null
+++ b/dev-libs/libkpass/libkpass-6-r2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/${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/libkpass/metadata.xml b/dev-libs/libkpass/metadata.xml
index b9dcab4a62ad..8e8df8470be2 100644
--- a/dev-libs/libkpass/metadata.xml
+++ b/dev-libs/libkpass/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/libksba/Manifest b/dev-libs/libksba/Manifest
index ad4670f87209..c1e1649791c2 100644
--- a/dev-libs/libksba/Manifest
+++ b/dev-libs/libksba/Manifest
@@ -1 +1,4 @@
-DIST libksba-1.3.5.tar.bz2 620649 BLAKE2B 6ed250684e40b4efcc07a86584adfbc659f886919d0306e82e2275c9acb8a1df698c7cc9a917fa66dd906fe473d14fa29507c03e681aed86286d65d9551cb5f6 SHA512 60179bfd109b7b4fd8d2b30a3216540f03f5a13620d9a5b63f1f95788028708a420911619f172ba57e945a6a2fcd2ef7eaafc5585a0eb2b9652cfadf47bf39a2
+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 238 BLAKE2B 0d62b39821dee0a3f921e87190247cacec1fcde253d26773a378f3a55a61468feba7b79fc875b1b2b8735f9ff310467dc30d8e5b5b06f37bd1ef4744a3fbfeec SHA512 053b594044ea2d5ad90341e14cf9969e3d8695e4671586cbcdf12d33c7864bf258fcf4474ea09db9612677cb239cb629d6b61799f684a1d838a57c0b53e27bf8
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.3.5-r1.ebuild b/dev-libs/libksba/libksba-1.3.5-r1.ebuild
deleted file mode 100644
index 108f1a8ab6a1..000000000000
--- a/dev-libs/libksba/libksba-1.3.5-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit ltprune
-
-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 s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.8"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- # ppl need to use lib*-config for --cflags and --libs
- prune_libtool_files
-}
diff --git a/dev-libs/libksba/libksba-1.3.5-r2.ebuild b/dev-libs/libksba/libksba-1.3.5-r2.ebuild
deleted file mode 100644
index fbbab854987c..000000000000
--- a/dev-libs/libksba/libksba-1.3.5-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.8"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config" \
- LIBGCRYPT_CONFIG="${EROOT}/usr/bin/${CHOST}-libgcrypt-config" \
- $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
-}
-
-src_install() {
- default
- # ppl need to use lib*-config for --cflags and --libs
- find "${D}" -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 f1c3d59fb213..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
-</maintainer>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/liblazy/Manifest b/dev-libs/liblazy/Manifest
deleted file mode 100644
index cbf12e5c97f1..000000000000
--- a/dev-libs/liblazy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST liblazy-0.2.tar.bz2 232417 BLAKE2B 17484c7fc1bee7168c323259d6f15177ba67fd1830a045171fd025c1d26312bc68d02ea1d65dba8fe27f5428a5b2194e4f6be03809135aaac26a4dfbffce7493 SHA512 1b3977d297caa985d77c5be61af1853a96fb23beb4b340a21bc0bac3160a68147396dc677d029ffac170c63f631e28422903fcc08b9f1c7e363ce0e776c9652b
diff --git a/dev-libs/liblazy/liblazy-0.2-r1.ebuild b/dev-libs/liblazy/liblazy-0.2-r1.ebuild
deleted file mode 100644
index d6d1a51748ef..000000000000
--- a/dev-libs/liblazy/liblazy-0.2-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="lib for D-Bus daemon messages, querying HAL or PolicyKit privileges"
-HOMEPAGE="https://freedesktop.org/wiki/Software/liblazy"
-SRC_URI="https://people.freedesktop.org/~homac/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="sys-apps/dbus"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- econf --disable-dependency-tracking
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS NEWS README
-}
diff --git a/dev-libs/liblazy/metadata.xml b/dev-libs/liblazy/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/liblazy/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</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 ce1da6594e8e..51d7295908e9 100644
--- a/dev-libs/liblinear/Manifest
+++ b/dev-libs/liblinear/Manifest
@@ -1,3 +1,2 @@
-DIST liblinear-210.tar.gz 381662 BLAKE2B d64d217f7ba67605821062f66d4e9f130f4f2396dde14cd35532bad11f4af4f34bc231a1e3796ba2d0e14f84830ec05c6358d40018e048f4ae3fa62db2b1d0d7 SHA512 4e4558467f2ebb3dbd640c172b1129c8e5981c231a043abb0398a803252559795604a34992baee50ae6689646050733d3a908d7d76f8b1c94309b859eae7f8c8
-DIST liblinear-221.tar.gz 520288 BLAKE2B b28c837488f5827ae76f32dc14a1b92027eb5ff123a15c07e9974197eea842c8247420632d259defdba3968383749538c1ed16f6b5c982fad87b3bc52572b485 SHA512 abf21f9030e67886d88a95ad1699e566f8b67bb3bd23253f1f656460911f92a5c3c184fe127390d6100bbf9970cf7a246ef3611b0788907c35a33286228f1753
-DIST liblinear-230.tar.gz 524693 BLAKE2B 02e52f6dc26f6ae19dfe52691e4a86c64ea92c40a50d0fbe8a7bddcf06e1216b8f28462fb2105539dedf15ddb07f39ef7e7f78fa7cfd74eac955246e9ed050e7 SHA512 c8acdd9f5cfcf7ef1ff9b9fac658ff51ac4677801fdb9ce6a210ccca7fb136a7957d0edaf45e83269c1928de1926de0200d669cd94e09371c06821d42ba539bc
+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-210-r1.ebuild b/dev-libs/liblinear/liblinear-210-r1.ebuild
deleted file mode 100644
index ca03976be48a..000000000000
--- a/dev-libs/liblinear/liblinear-210-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib toolchain-funcs
-
-DESCRIPTION="A Library for Large Linear Classification"
-HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/liblinear/ https://github.com/cjlin1/liblinear"
-SRC_URI="https://github.com/cjlin1/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
-IUSE="blas"
-
-RDEPEND="
- blas? ( virtual/blas )
-"
-DEPEND="
- ${RDEPEND}
- blas? ( virtual/pkgconfig )
-"
-
-src_prepare() {
- sed -i \
- -e '/^AR/s|=|?=|g' \
- -e '/^RANLIB/s|=|?=|g' \
- -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
- if use blas; then
- sed -i -e 's:blas/blas.a::g' Makefile || die
- fi
-}
-
-src_compile() {
- emake \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- CFLAGS="${CFLAGS} -fPIC" \
- CXXFLAGS="${CXXFLAGS} -fPIC" \
- AR="$(tc-getAR) rcv" \
- RANLIB="$(tc-getRANLIB)" \
- LIBS="$(usex blas "$( $(tc-getPKG_CONFIG) --libs blas )" blas/blas.a)" \
- lib all
-}
-
-src_install() {
- dolib ${PN}.so.3
- dosym ${PN}.so.3 /usr/$(get_libdir)/${PN}.so
-
- newbin predict ${PN}-predict
- newbin train ${PN}-train
-
- doheader linear.h
-
- dodoc README
-}
diff --git a/dev-libs/liblinear/liblinear-221.ebuild b/dev-libs/liblinear/liblinear-221.ebuild
deleted file mode 100644
index 1aaede97f49f..000000000000
--- a/dev-libs/liblinear/liblinear-221.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-inherit multilib toolchain-funcs
-
-DESCRIPTION="A Library for Large Linear Classification"
-HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/liblinear/ https://github.com/cjlin1/liblinear"
-SRC_URI="https://github.com/cjlin1/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-macos"
-IUSE="blas"
-
-RDEPEND="
- blas? ( virtual/blas )
-"
-DEPEND="
- ${RDEPEND}
- blas? ( virtual/pkgconfig )
-"
-
-src_prepare() {
- default
-
- sed -i \
- -e '/^AR/s|=|?=|g' \
- -e '/^RANLIB/s|=|?=|g' \
- -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
- if use blas; then
- sed -i -e 's:blas/blas.a::g' Makefile || die
- fi
-}
-
-src_compile() {
- emake \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- CFLAGS="${CFLAGS} -fPIC" \
- CXXFLAGS="${CXXFLAGS} -fPIC" \
- AR="$(tc-getAR) rcv" \
- RANLIB="$(tc-getRANLIB)" \
- LIBS="$(usex blas "$( $(tc-getPKG_CONFIG) --libs blas )" blas/blas.a)" \
- lib all
-}
-
-src_install() {
- dolib.so ${PN}.so.3
- dosym ${PN}.so.3 /usr/$(get_libdir)/${PN}.so
-
- newbin predict ${PN}-predict
- newbin train ${PN}-train
-
- doheader linear.h
-
- dodoc README
-}
diff --git a/dev-libs/liblinear/liblinear-230.ebuild b/dev-libs/liblinear/liblinear-230.ebuild
deleted file mode 100644
index 00881437e2d5..000000000000
--- a/dev-libs/liblinear/liblinear-230.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-inherit multilib toolchain-funcs
-
-DESCRIPTION="A Library for Large Linear Classification"
-HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/liblinear/ https://github.com/cjlin1/liblinear"
-SRC_URI="https://github.com/cjlin1/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-macos"
-IUSE="blas"
-
-RDEPEND="
- blas? ( virtual/blas )
-"
-DEPEND="
- ${RDEPEND}
- blas? ( virtual/pkgconfig )
-"
-
-src_prepare() {
- default
-
- sed -i \
- -e '/^AR/s|=|?=|g' \
- -e '/^RANLIB/s|=|?=|g' \
- -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
- if use blas; then
- sed -i -e 's:blas/blas.a::g' Makefile || die
- fi
-}
-
-src_compile() {
- emake \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- CFLAGS="${CFLAGS} -fPIC" \
- CXXFLAGS="${CXXFLAGS} -fPIC" \
- AR="$(tc-getAR) rcv" \
- RANLIB="$(tc-getRANLIB)" \
- LIBS="$(usex blas "$( $(tc-getPKG_CONFIG) --libs blas )" blas/blas.a)" \
- lib all
-}
-
-src_install() {
- dolib.so ${PN}.so.3
- dosym ${PN}.so.3 /usr/$(get_libdir)/${PN}.so
-
- newbin predict ${PN}-predict
- newbin train ${PN}-train
-
- doheader linear.h
-
- dodoc README
-}
diff --git a/dev-libs/liblinear/liblinear-243.ebuild b/dev-libs/liblinear/liblinear-243.ebuild
new file mode 100644
index 000000000000..1a25ecb9b04b
--- /dev/null
+++ b/dev-libs/liblinear/liblinear-243.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="A Library for Large Linear Classification"
+HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/liblinear/ https://github.com/cjlin1/liblinear"
+SRC_URI="https://github.com/cjlin1/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/4"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e '/^AR/s|=|?=|g' \
+ -e '/^RANLIB/s|=|?=|g' \
+ -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) rcv" \
+ RANLIB="$(tc-getRANLIB)" \
+ lib all
+}
+
+src_install() {
+ dolib.so ${PN}$(get_libname 4)
+ dosym ${PN}$(get_libname 4) /usr/$(get_libdir)/${PN}$(get_libname)
+
+ newbin predict ${PN}-predict
+ newbin train ${PN}-train
+
+ doheader linear.h
+
+ dodoc README
+}
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/liblinear/metadata.xml b/dev-libs/liblinear/metadata.xml
index 97b5450a7dc9..7db6a7125e62 100644
--- a/dev-libs/liblinear/metadata.xml
+++ b/dev-libs/liblinear/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jer@gentoo.org</email>
- <name>Jeroen Roovers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">cjlin1/liblinear</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cjlin1/liblinear</remote-id>
+ </upstream>
</pkgmetadata>
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.ebuild b/dev-libs/liblist/liblist-2.4.ebuild
deleted file mode 100644
index 0133d56da438..000000000000
--- a/dev-libs/liblist/liblist-2.4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools-utils multilib
-
-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 static-libs"
-
-RDEPEND="doc? ( media-gfx/transfig
- dev-texlive/texlive-metapost
- virtual/latex-base )"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local myeconfargs=(
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- $(use_enable doc docs)
- $(use_enable examples)
- )
-
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
-
- dodoc README
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/{*.c,Makefile,README}
- insinto /usr/share/doc/${PF}/examples/cache
- doins examples/cache/{*.c,README}
- fi
-
- docompress -x /usr/share/doc/${PF}/{list.0,paper.dvi,examples}
-}
-
-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 1eadf507d827..000000000000
--- a/dev-libs/liblist/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/Manifest b/dev-libs/liblogging/Manifest
index 9d58ea814855..b37e716e0da3 100644
--- a/dev-libs/liblogging/Manifest
+++ b/dev-libs/liblogging/Manifest
@@ -1,2 +1 @@
-DIST liblogging-1.0.5.tar.gz 571051 BLAKE2B 46959fa20d4cf00dff1eaa099ad69c199b18036cc05a65945c5abefa2462279577de88e5374fe8486770f9437888562f09f63b3e05015f57ea645a54f7c6c56e SHA512 fd0c89b670bdf4d257d6a31b18b44940ba2edae84633ead6577f164e1ded93709445c35027a28f6e7fda4c984964c3446978eaf0abf843e31ecc11b979e2adde
DIST liblogging-1.0.6.tar.gz 593393 BLAKE2B c2ca93225b7594c2c064f14e83f475cf2f3dbf608e77e103759371e81e0052e49624740c35f29b7bf9cd1872f4f85f286a2c903f503bebb170a5337d0dfe0677 SHA512 09c90a93b2d32afa44be5a800705a64690810a56d21bed1455cb70680b01fecd4efef3881a43f98ebcafa996b6046ed8e5af935eacc12014f330a7fd23674964
diff --git a/dev-libs/liblogging/liblogging-1.0.5.ebuild b/dev-libs/liblogging/liblogging-1.0.5.ebuild
deleted file mode 100644
index b9afb6796d1b..000000000000
--- a/dev-libs/liblogging/liblogging-1.0.5.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils eutils
-
-DESCRIPTION="Liblogging is an easy to use, portable, open source library for system logging"
-HOMEPAGE="http://www.liblogging.org"
-SRC_URI="http://download.rsyslog.com/liblogging/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/0"
-KEYWORDS="amd64 arm ~arm64 hppa x86"
-IUSE="rfc3195 static-libs +stdlog systemd"
-
-RDEPEND="systemd? ( sys-apps/systemd )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-DOCS=( ChangeLog )
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-src_configure() {
- local myeconfargs=(
- $(use_enable rfc3195)
- $(use_enable stdlog)
- $(use_enable systemd journal)
- )
- autotools-utils_src_configure
-}
diff --git a/dev-libs/liblogging/liblogging-1.0.6-r1.ebuild b/dev-libs/liblogging/liblogging-1.0.6-r1.ebuild
new file mode 100644
index 000000000000..80f243c56d5c
--- /dev/null
+++ b/dev-libs/liblogging/liblogging-1.0.6-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Liblogging is an easy to use, portable, open source library for system logging"
+HOMEPAGE="http://www.liblogging.org"
+SRC_URI="http://download.rsyslog.com/liblogging/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~riscv ~sparc ~x86"
+IUSE="rfc3195 stdlog systemd"
+
+RDEPEND="systemd? ( sys-apps/systemd )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( ChangeLog )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable rfc3195)
+ $(use_enable stdlog)
+ $(use_enable systemd journal)
+ --disable-static
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/liblogging/liblogging-1.0.6.ebuild b/dev-libs/liblogging/liblogging-1.0.6.ebuild
index 920b54472c5a..0ec4b2bf7fa0 100644
--- a/dev-libs/liblogging/liblogging-1.0.6.ebuild
+++ b/dev-libs/liblogging/liblogging-1.0.6.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=7
inherit autotools
@@ -11,21 +11,17 @@ SRC_URI="http://download.rsyslog.com/liblogging/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/0"
-KEYWORDS="amd64 arm ~arm64 hppa x86"
-IUSE="rfc3195 static-libs +stdlog systemd"
+KEYWORDS="amd64 arm arm64 ~hppa x86"
+IUSE="rfc3195 +stdlog systemd"
RDEPEND="systemd? ( sys-apps/systemd )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
DOCS=( ChangeLog )
src_prepare() {
default
-
eautoreconf
}
@@ -34,6 +30,7 @@ src_configure() {
$(use_enable rfc3195)
$(use_enable stdlog)
$(use_enable systemd journal)
+ --disable-static
)
econf "${myeconfargs[@]}"
@@ -41,6 +38,5 @@ src_configure() {
src_install() {
default
-
- find "${ED}"usr/lib* -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/liblogging/metadata.xml b/dev-libs/liblogging/metadata.xml
index 50284e1c1566..8dd79362d8cb 100644
--- a/dev-libs/liblogging/metadata.xml
+++ b/dev-libs/liblogging/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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.
@@ -19,6 +15,7 @@
</flag>
</use>
<upstream>
+ <remote-id type="cpe">cpe:/a:adiscon:liblogging</remote-id>
<remote-id type="github">rsyslog/liblogging</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/liblognorm/Manifest b/dev-libs/liblognorm/Manifest
index f3c4465da4bf..b75714abb169 100644
--- a/dev-libs/liblognorm/Manifest
+++ b/dev-libs/liblognorm/Manifest
@@ -1,2 +1 @@
-DIST liblognorm-2.0.5.tar.gz 667709 BLAKE2B 9f2a774c2378caa460a1f11e21570e719f83e782c5731a35921099b1b31397495ea2a4baebd489d186526eb2d011f2ab30d971713a8083c1ae02168d3f632ce8 SHA512 2b36fabfa8b751127d47f307833414d339ae43bad5b687ce6ac42a961021f9a515703ca0c4808e098ef49be3a943abdbf307f90995a2331c6e266167ef041d00
DIST liblognorm-2.0.6.tar.gz 666712 BLAKE2B 4c3e46fbd9a3eaf6c429872d30c0fe93f1255dbf3cc14efc82ab94d70ef45c5560c50644e0e23dc63777ddbc405d0f3fb911975d06fd6f6cdee6f7b98ff10b74 SHA512 0b4ee55eb54920dd096fdd6d6dcc2263bc52e74442d86503bfebf26b31492a8c1b67cb3b709ecc8b96cc53252151515719027306b2b6f7ba3404adc5a48cf125
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.5.ebuild b/dev-libs/liblognorm/liblognorm-2.0.5.ebuild
deleted file mode 100644
index f5361ff95e5d..000000000000
--- a/dev-libs/liblognorm/liblognorm-2.0.5.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2019 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"
-
-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/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 f5361ff95e5d..000000000000
--- a/dev-libs/liblognorm/liblognorm-2.0.6.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2019 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"
-
-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 a1c7f71484f8..0a2e9060adfe 100644
--- a/dev-libs/liblognorm/metadata.xml
+++ b/dev-libs/liblognorm/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
- <maintainer type="person">
- <email>maksbotan@gentoo.org</email>
- <name>Maxim Koltsov</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 7bdcfddb3c12..1f385d6b1315 100644
--- a/dev-libs/liblouis/Manifest
+++ b/dev-libs/liblouis/Manifest
@@ -1 +1,2 @@
-DIST liblouis-2.5.3.tar.gz 3785311 BLAKE2B 15130dfa6c32b9c12b6ffccf4a8b2185bcc8fe483e8822d4fdd9f1c1cd0c3e8f33325419f75a9eb23e1414743fe01b44041c836a06e4ff040708b95998251854 SHA512 5aa65f3a0b7cef37fe7cd8ccf09df8c40f38d183a88d1be9f1251b40406204e57a8d95716bf1de3569b09b640be613cc3e0bd0e05dc4d544face00bfc8d75ac7
+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-2.5.3.ebuild b/dev-libs/liblouis/liblouis-2.5.3.ebuild
deleted file mode 100644
index 50e3ccaacfec..000000000000
--- a/dev-libs/liblouis/liblouis-2.5.3.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-PYTHON_REQ_USE='wide-unicode(+)'
-DISTUTILS_OPTIONAL=1
-inherit distutils-r1
-
-DESCRIPTION="An open-source braille translator and back-translator"
-HOMEPAGE="https://github.com/liblouis/liblouis"
-SRC_URI="https://liblouis.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 sparc x86"
-IUSE="python"
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-src_prepare() {
- default
-
- if use python; then
- pushd python > /dev/null
- distutils-r1_src_prepare
- popd > /dev/null
- fi
-}
-
-src_configure() {
- econf --enable-ucs4
-}
-
-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() {
- emake install DESTDIR="${D}" || die
-
- if use python; then
- pushd python > /dev/null
- LD_PRELOAD+=':../liblouis/.libs/liblouis.so' \
- distutils-r1_src_install
- popd > /dev/null
- fi
-
- dodoc README AUTHORS NEWS ChangeLog || die
- dohtml doc/liblouis.html
-}
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/liblouis/metadata.xml b/dev-libs/liblouis/metadata.xml
index 431c3019b962..436f748c91dc 100644
--- a/dev-libs/liblouis/metadata.xml
+++ b/dev-libs/liblouis/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>accessibility@gentoo.org</email>
diff --git a/dev-libs/libltdl/Manifest b/dev-libs/libltdl/Manifest
index 3b6a50db076e..d36ba6c57618 100644
--- a/dev-libs/libltdl/Manifest
+++ b/dev-libs/libltdl/Manifest
@@ -1,3 +1 @@
-DIST libtool-1.3.5.tar.gz 538884 BLAKE2B 769c0ab679d5665bb729f97dc5c02b6e8921532788009425195c93971d8886547824e838a4dea559ccb365a86f600a250bccd8cb559e9be2158f9db3463f3ec4 SHA512 e7e693da0e87bc3b178b270c1d5b0d46116d1624f6e3657ad75bc381bcbba8949ab0913fe3985c77e9dd0ee519df7da9c5ee3b4f6030ad1d4651de2e642c4bd6
-DIST libtool-1.5.26.tar.gz 2961939 BLAKE2B c12ea59cc828ee7aa85ef445e3b0586ddfa8629824e308f46c74ac64dd8b73f0e4675d6673c09d76714c841f29b33000318eebfca3c5d28657327017e30b2372 SHA512 fcd39856c8cd457c97f176d5f6ce97fd93108808ce24315d179a7c9ca85bb90e799afaa83bc283ec627d73cfe0e0710d36a1ee8f39c9963cf2e806e64a0e0bcf
-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-1.3.5.ebuild b/dev-libs/libltdl/libltdl-1.3.5.ebuild
deleted file mode 100644
index 7e48b626acbd..000000000000
--- a/dev-libs/libltdl/libltdl-1.3.5.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# This ebuild provides libltdl.so.0.
-
-EAPI="4"
-
-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.gz"
-
-LICENSE="GPL-2"
-SLOT="1.3"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
-IUSE=""
-# libltdl doesn't have a testsuite.
-RESTRICT="test"
-
-RDEPEND="!sys-devel/libtool:1.3"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-ltdl-install \
- --disable-static
-}
-
-multilib_src_compile() {
- emake -C libltdl
-}
-
-multilib_src_install() {
- emake -C libltdl DESTDIR="${D}" install-exec
- # basically we just install ABI libs for old packages
- rm "${ED}"/usr/$(get_libdir)/libltdl.{la,so} || die
-}
diff --git a/dev-libs/libltdl/libltdl-1.5.26.ebuild b/dev-libs/libltdl/libltdl-1.5.26.ebuild
deleted file mode 100644
index 7e35734843d8..000000000000
--- a/dev-libs/libltdl/libltdl-1.5.26.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# This ebuild provides libltdl.so.3.
-
-EAPI="4"
-
-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.gz"
-
-LICENSE="GPL-2"
-SLOT="1.5"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
-IUSE=""
-# libltdl doesn't have a testsuite.
-RESTRICT="test"
-
-RDEPEND="!sys-devel/libtool:1.5"
-
-S="${WORKDIR}/${MY_P}/libltdl"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-ltdl-install \
- --disable-static
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install-exec
- # basically we just install ABI libs for old packages
- rm "${ED}"/usr/$(get_libdir)/libltdl.{la,so} || die
-}
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 6369740f1041..000000000000
--- a/dev-libs/libltdl/libltdl-2.4.6.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-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 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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"
-DEPEND="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/libltdl/metadata.xml b/dev-libs/libltdl/metadata.xml
index 56c124413057..151cc38da6c6 100644
--- a/dev-libs/libltdl/metadata.xml
+++ b/dev-libs/libltdl/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
+<upstream>
+ <remote-id type="cpe">cpe:/a:gnu:libtool</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-libs/liblzw/Manifest b/dev-libs/liblzw/Manifest
index 5a78d53640f6..fd28ca8653f6 100644
--- a/dev-libs/liblzw/Manifest
+++ b/dev-libs/liblzw/Manifest
@@ -1 +1,2 @@
DIST liblzw-0.2.tar.lzma 868300 BLAKE2B 6346fb0aa5d2a199276faf04a7ac6fd571d0dd06952028ff5b49c7ec312b0ba77b219be6d5a000b4477f6c84ab30ac3818e58e1165033746f675265f4fb38ef2 SHA512 46b14fe83793e9611c9ee969f699fe752f4d2df46a53b0f975fbce9805259fe4024c42df6f4946fc6dd7270b9b15307c54f31417309806ab6c616abcee73d9bf
+DIST liblzw-0.3.tar.xz 901084 BLAKE2B 4aa9689f82567b5ad1ac399eed8f58dfb1964f91c74cba2b291458dac89b0c4ce6a110b24b5a8f69bbcddfb0cf14fa0f80107275c16b7553375bbf38e035262a SHA512 d7fcb5c424c87a3692a8a18cd9f4cf57a7faa4f59f01cfdeff335633fb3be6c577409d996d59273f4453eb157dd9bc8fa6ec2868dbca635147d27d3fd00016f9
diff --git a/dev-libs/liblzw/liblzw-0.2-r1.ebuild b/dev-libs/liblzw/liblzw-0.2-r1.ebuild
index 84d097d32022..0ee10d1aacfb 100644
--- a/dev-libs/liblzw/liblzw-0.2-r1.ebuild
+++ b/dev-libs/liblzw/liblzw-0.2-r1.ebuild
@@ -1,21 +1,21 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="small C library for reading LZW compressed files (.Z)"
HOMEPAGE="https://github.com/vapier/liblzw"
-SRC_URI="mirror://sourceforge/freestdf/${P}.tar.lzma"
+SRC_URI="https://downloads.sourceforge.net/freestdf/${P}.tar.lzma"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="amd64 arm hppa ia64 m68k s390 sh x86"
+KEYWORDS="amd64 arm ~hppa ~ia64 ~m68k ~s390 x86"
-src_configure(){
+src_configure() {
econf --disable-static
}
-src_install(){
+src_install() {
default
find "${D}" -name '*.la' -delete || die
}
diff --git a/dev-libs/liblzw/liblzw-0.3.ebuild b/dev-libs/liblzw/liblzw-0.3.ebuild
new file mode 100644
index 000000000000..2526a2476407
--- /dev/null
+++ b/dev-libs/liblzw/liblzw-0.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+DESCRIPTION="small C library for reading LZW compressed files (.Z)"
+HOMEPAGE="https://github.com/vapier/liblzw"
+SRC_URI="https://github.com/vapier/liblzw/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~m68k ~s390 ~x86"
+IUSE="static-libs"
+
+src_configure() {
+ econf --disable-werror $(use_enable static{-libs,})
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/liblzw/metadata.xml b/dev-libs/liblzw/metadata.xml
index a261f6ca882f..a2512173cc43 100644
--- a/dev-libs/liblzw/metadata.xml
+++ b/dev-libs/liblzw/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <name>Mike Frysinger</name>
+ <email>vapier@gentoo.org</email>
+ </maintainer>
<upstream>
<remote-id type="sourceforge">freestdf</remote-id>
<remote-id type="github">vapier/liblzw</remote-id>
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..52b75594a341
--- /dev/null
+++ b/dev-libs/libmaa/libmaa-1.3.2-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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 52d04eeae6c5..000000000000
--- a/dev-libs/libmaa/libmaa-1.3.2.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-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 sparc x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-DOCS="ChangeLog NEWS README doc/libmaa.600dpi.ps"
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..635965695b66
--- /dev/null
+++ b/dev-libs/libmaa/libmaa-1.4.7.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2023-2024 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="https://downloads.sourceforge.net/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 89d9c1acc0ab..010f65db9531 100644
--- a/dev-libs/libmaa/metadata.xml
+++ b/dev-libs/libmaa/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
@@ -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
index fdd8af021aef..909446e451c7 100644
--- a/dev-libs/libmacaroons/Manifest
+++ b/dev-libs/libmacaroons/Manifest
@@ -1,2 +1 @@
-DIST libmacaroons-0.2.0.tar.gz 423629 BLAKE2B 8f3b58cbc31ad63e5e474dc76810cd921f6ee57d9836cceafcc2881518c87d185fddb48de13adb7f85fff5b831ce7abd53969ba8b0c96722909f855bb12d303f SHA512 4bc5f83b57c6a8080e646141a3c8b90c0025a894449dea4cb0ab15d1423a067b9833e70014468437d9edfe875e12ea90cae6f715893ded1eefa34f2f6506ecbe
-DIST libmacaroons-0.3.0.tar.gz 422086 BLAKE2B 16f398c93230ce745b302d212b58df1e154c8539f76437bbb49d07015c7445484fb5c187294c9a7a1fe6f33ab626a8d9a2fb4784b6bd9b652479072aaf2f0016 SHA512 57a5ffa1a8397228e29ab3f3f7d1440cd70b163b1b28904a046d7b3b1f70dbb0693ea983409f57cc63a02097a1af57209c70ecf8e3be5b8635a7ab6e498b1bcb
+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.2.0-r1.ebuild b/dev-libs/libmacaroons/libmacaroons-0.2.0-r1.ebuild
deleted file mode 100644
index 448465a2c6ea..000000000000
--- a/dev-libs/libmacaroons/libmacaroons-0.2.0-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils python-single-r1
-
-DESCRIPTION="Hyperdex macaroons support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test +python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) test? ( python )"
-
-# Tests can't function after 2014-12-31 ...
-RESTRICT="test"
-
-RDEPEND="
- dev-libs/libsodium
- dev-libs/json-c:=
- python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- econf $(use_enable python python-bindings)
-}
-
-src_test() {
- emake -j1 check || die
-}
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/libmacaroons-0.3.0.ebuild b/dev-libs/libmacaroons/libmacaroons-0.3.0.ebuild
deleted file mode 100644
index 448465a2c6ea..000000000000
--- a/dev-libs/libmacaroons/libmacaroons-0.3.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit eutils python-single-r1
-
-DESCRIPTION="Hyperdex macaroons support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test +python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) test? ( python )"
-
-# Tests can't function after 2014-12-31 ...
-RESTRICT="test"
-
-RDEPEND="
- dev-libs/libsodium
- dev-libs/json-c:=
- python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- econf $(use_enable python python-bindings)
-}
-
-src_test() {
- emake -j1 check || die
-}
diff --git a/dev-libs/libmacaroons/metadata.xml b/dev-libs/libmacaroons/metadata.xml
index 40aa45df2b01..5a6c5e0880cc 100644
--- a/dev-libs/libmacaroons/metadata.xml
+++ b/dev-libs/libmacaroons/metadata.xml
@@ -1,8 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
+ <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/libmail/Manifest b/dev-libs/libmail/Manifest
deleted file mode 100644
index 05dae1d6511d..000000000000
--- a/dev-libs/libmail/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libmail-0.3.tar.bz2 271946 BLAKE2B f03b5a07bb78423bc37111448e0b0b812d51172210a555a1cc8279ce66f62ea5033954bb37c01d6d225d53bab4996366ae803fab9a96ef97a841cbd88896454e SHA512 df4e0e549867f7cf73db8c965a28c14e3e089e54a8272b70be8b00c896dcd91d68625e2287a15d353eff75ec05e702e6d113f8122ed0e9d294766fe4f467e9d3
diff --git a/dev-libs/libmail/files/libmail-0.3-respect-cflags.patch b/dev-libs/libmail/files/libmail-0.3-respect-cflags.patch
deleted file mode 100644
index 7e22de4c7576..000000000000
--- a/dev-libs/libmail/files/libmail-0.3-respect-cflags.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- configure.ac.orig 2013-01-31 16:18:06.537834009 +0400
-+++ configure.ac 2013-01-31 16:19:00.138835711 +0400
-@@ -12,7 +12,7 @@
- AC_PROG_MAKE_SET
- AC_PROG_LIBTOOL
-
--CFLAGS="-D_GNU_SOURCE -Wall -Wunused -Wstrict-prototypes"
-+CFLAGS="-D_GNU_SOURCE -Wall -Wunused -Wstrict-prototypes ${CFLAGS}"
-
- use_sasl=false
- use_apop=false
-@@ -99,7 +99,6 @@
- ;;
- yes)
- AC_DEFINE(NDEBUG, [1], [Use debug functionality])
-- CFLAGS="$CFLAGS -g"
- optimize="no"
- ;;
- *)
-@@ -119,7 +118,6 @@
- ;;
- yes)
- AC_DEFINE(NDEBUG, [1], [Use debug functionality])
-- CFLAGS="$CFLAGS -pg -g"
- optimize="yes"
- ;;
- *)
-@@ -127,9 +125,6 @@
- ;;
- esac
- ])
--if test $optimize = "yes"; then
-- CFLAGS="$CFLAGS -O2"
--fi
- AM_CONDITIONAL([LIBMAIL_USE_SASL], [test x$use_sasl = xtrue])
- AM_CONDITIONAL([LIBMAIL_USE_APOP], [test x$use_apop = xtrue])
- AM_CONDITIONAL([LIBMAIL_USE_TLS], [test x$use_tls = xtrue])
diff --git a/dev-libs/libmail/libmail-0.3-r3.ebuild b/dev-libs/libmail/libmail-0.3-r3.ebuild
deleted file mode 100644
index c20fa7c5a900..000000000000
--- a/dev-libs/libmail/libmail-0.3-r3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-utils
-
-DESCRIPTION="A mail handling library"
-HOMEPAGE="http://libmail.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-IUSE="apop debug gnutls profile sasl static-libs"
-
-DEPEND="gnutls? ( >=net-libs/gnutls-2 )
- sasl? ( >=dev-libs/cyrus-sasl-2 )"
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS README TODO )
-
-# Do not unset user's CFLAGS, bug #454558
-PATCHES=( "${FILESDIR}/${P}-respect-cflags.patch" )
-
-src_prepare() {
- # Drop quotes from ACLOCAL_AMFLAGS otherwise aclocal will fail
- # see 447760
- sed -i -e "/ACLOCAL_AMFLAGS/s:\"::g" Makefile.am || die
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable apop)
- $(use_enable debug)
- $(use_enable gnutls tls)
- $(use_enable profile)
- $(use_enable sasl)
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
-
- # headers, that are wrongly skipped from installing
- insinto /usr/include/libmail
- doins libmail/libmail_intl.h
- doins config.h
-}
diff --git a/dev-libs/libmail/metadata.xml b/dev-libs/libmail/metadata.xml
deleted file mode 100644
index b77b86fc4804..000000000000
--- a/dev-libs/libmail/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <use>
- <flag name="apop">Enables the APOP authentication method</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">libmail</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libmanette/Manifest b/dev-libs/libmanette/Manifest
new file mode 100644
index 000000000000..232e5955215a
--- /dev/null
+++ b/dev-libs/libmanette/Manifest
@@ -0,0 +1 @@
+DIST libmanette-0.2.7.tar.xz 43928 BLAKE2B 10978109c22defc1fa3361ef08d824ec5a67fda86b020504322fb86db0f7157617daf34db6ddaf0c2221ad9419b04cad07fad17bb6de103b198c7664cee12c4d SHA512 c3ebaba901731d3f106379befba1c4020aa32dcd224ced7f24aab37e547644080202dfcdd0e8cbd0cb6c864410f038e483502d357ab9842ae0f25e9570d120ef
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
new file mode 100644
index 000000000000..6fde13aaf331
--- /dev/null
+++ b/dev-libs/libmanette/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">GNOME/libmanette</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmateweather/Manifest b/dev-libs/libmateweather/Manifest
index fb7b39fdb9de..15f406c648b3 100644
--- a/dev-libs/libmateweather/Manifest
+++ b/dev-libs/libmateweather/Manifest
@@ -1 +1,2 @@
-DIST libmateweather-1.22.0.tar.xz 3386920 BLAKE2B 312bd8cd12a1d51216b9509b2badaccb23779f1c7c314ecf02c9789837fa619d6029e97bf06f9fd320ba590936888d51fe178cffbb7dca87eb167ed4fbf3eabb SHA512 43371fc615dda2b9042633a63ac4c1fb0b1ea43b20c783e443b0f57e10ad8fddedbd593f03bd6c942729f0a9c80484266fe1ef900d128fa4b02f80d6a80ae9bd
+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.22.0-r1.ebuild b/dev-libs/libmateweather/libmateweather-1.22.0-r1.ebuild
deleted file mode 100644
index 783a9ab05bd1..000000000000
--- a/dev-libs/libmateweather/libmateweather-1.22.0-r1.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
-
-MATE_LA_PUNT="yes"
-
-inherit mate
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-DESCRIPTION="MATE library to access weather information from online services"
-LICENSE="GPL-2"
-SLOT="0"
-
-IUSE="debug"
-
-COMMON_DEPEND=">=dev-libs/glib-2.50:2
- >=dev-libs/libxml2-2.6:2
- >=net-libs/libsoup-2.34:2.4
- >=sys-libs/timezone-data-2010k:0
- x11-libs/gdk-pixbuf:2
- virtual/libintl:0
- >=x11-libs/gtk+-3.22:3"
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
- dev-util/gtk-doc
- dev-util/gtk-doc-am
- >=dev-util/intltool-0.50.1:*
- sys-devel/gettext:*
- >=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 dc3f1bc34c2f..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 b3054911b492..185e4596b630 100644
--- a/dev-libs/libmaxminddb/Manifest
+++ b/dev-libs/libmaxminddb/Manifest
@@ -1 +1,3 @@
-DIST libmaxminddb-1.3.2.tar.gz 619009 BLAKE2B 1fa2d528d47e14a75e5096072e6ba8136eb5060ab95cb472ef70907dd519540790f6bbc518371e0d276d6977bb3444dbfd179d526877ca740e56ebf6eb459244 SHA512 906e80531a901091fd9f88075ece5189b0885400216ea994889d9250dd37ead14e00dc14ca2a38eb2100e4814d0eb3a205ba1618606f1375ab0dcc3981097115
+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.3.2.ebuild b/dev-libs/libmaxminddb/libmaxminddb-1.3.2.ebuild
deleted file mode 100644
index d8f75bc7ce1c..000000000000
--- a/dev-libs/libmaxminddb/libmaxminddb-1.3.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="C library for the MaxMind DB file format"
-HOMEPAGE="https://github.com/maxmind/libmaxminddb"
-SRC_URI="${HOMEPAGE}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/0.0.7"
-KEYWORDS="alpha amd64 ~arm arm64 ~hppa ia64 ppc ppc64 ~s390 sparc x86"
-IUSE="static-libs"
-
-DOCS=( Changes.md )
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libmaxminddb/libmaxminddb-1.5.2.ebuild b/dev-libs/libmaxminddb/libmaxminddb-1.5.2.ebuild
new file mode 100644
index 000000000000..06edfc8d0843
--- /dev/null
+++ b/dev-libs/libmaxminddb/libmaxminddb-1.5.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="C library for the MaxMind DB file format"
+HOMEPAGE="https://github.com/maxmind/libmaxminddb"
+SRC_URI="https://github.com/maxmind/libmaxminddb/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/0.0.7"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-perl/IPC-Run3 )"
+
+DOCS=( Changes.md )
+
+src_configure() {
+ econf --disable-static
+ tc-export AR CC
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmaxminddb/libmaxminddb-1.6.0.ebuild b/dev-libs/libmaxminddb/libmaxminddb-1.6.0.ebuild
new file mode 100644
index 000000000000..2fce46be87e6
--- /dev/null
+++ b/dev-libs/libmaxminddb/libmaxminddb-1.6.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 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
+
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
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
new file mode 100644
index 000000000000..0b83ce40a0f6
--- /dev/null
+++ b/dev-libs/libmaxminddb/libmaxminddb-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 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 ~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-99999.ebuild b/dev-libs/libmaxminddb/libmaxminddb-99999.ebuild
deleted file mode 100644
index 22ef31d40939..000000000000
--- a/dev-libs/libmaxminddb/libmaxminddb-99999.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
-inherit autotools git-r3
-
-DESCRIPTION="C library for the MaxMind DB file format"
-HOMEPAGE="https://github.com/maxmind/libmaxminddb"
-EGIT_REPO_URI="${HOMEPAGE}"
-
-LICENSE="Apache-2.0"
-SLOT="0/0.0.7"
-KEYWORDS=""
-IUSE="static-libs"
-
-DOCS=( Changes.md )
-
-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/libmaxminddb/metadata.xml b/dev-libs/libmaxminddb/metadata.xml
index 13666bfce6ab..9f331c62dfee 100644
--- a/dev-libs/libmaxminddb/metadata.xml
+++ b/dev-libs/libmaxminddb/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>netmon@gentoo.org</email>
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-r3.ebuild b/dev-libs/libmba/libmba-0.9.1-r3.ebuild
deleted file mode 100644
index 9f66be909a62..000000000000
--- a/dev-libs/libmba/libmba-0.9.1-r3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-DESCRIPTION="A library of generic C modules"
-LICENSE="MIT"
-HOMEPAGE="http://www.ioplex.com/~miallen/libmba/"
-SRC_URI="${HOMEPAGE}dl/${P}.tar.gz"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="static-libs"
-
-src_prepare() {
- use static-libs && export STATIC="1"
-
- epatch "${FILESDIR}"/${P}-qa.patch
- epatch "${FILESDIR}"/${P}-glibc-2.20.patch
-
- 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
- dohtml -r docs/*.html docs/www/* docs/ref
-
- insinto /usr/share/doc/${PF}/examples
- doins examples/*
-}
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/libmba/metadata.xml b/dev-libs/libmba/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/libmba/metadata.xml
+++ b/dev-libs/libmba/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
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-autoconf-2.70.patch b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-autoconf-2.70.patch
new file mode 100644
index 000000000000..0fa3bc0e7ce1
--- /dev/null
+++ b/dev-libs/libmcrypt/files/libmcrypt-2.5.8-autoconf-2.70.patch
@@ -0,0 +1,16 @@
+--- libmcrypt-2.5.8/libltdl/configure.in
++++ libmcrypt-2.5.8/libltdl/configure.in
+@@ -2,13 +2,6 @@
+
+ AC_INIT(ltdl.c)
+
+-dnl We shouldn't be using these internal macros of autoconf,
+-dnl but CONFIG_AUX_DIR($with_auxdir) breaks automake.
+-AC_ARG_WITH(auxdir,
+-[ --with-auxdir=DIR path to autoconf auxiliary files],
+-[AC_CONFIG_AUX_DIRS($with_auxdir)],
+-[AC_CONFIG_AUX_DIR_DEFAULT])
+-
+ if test -z "$enable_ltdl_install$enable_ltdl_convenience"; then
+ if test -f ${srcdir}/ltmain.sh; then
+ # if libltdl is libtoolized, it is assumed to be stand-alone and
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 cda8c0fb3658..000000000000
--- a/dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2019 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 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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"
-)
-
-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..811df19604d7
--- /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="https://downloads.sourceforge.net/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..70f48ed9e326
--- /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="https://downloads.sourceforge.net/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/libmcrypt/metadata.xml b/dev-libs/libmcrypt/metadata.xml
index a07f7533cf4a..c1f5ce02d68f 100644
--- a/dev-libs/libmcrypt/metadata.xml
+++ b/dev-libs/libmcrypt/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">mcrypt</remote-id>
</upstream>
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/libmelf/metadata.xml b/dev-libs/libmelf/metadata.xml
index a4e0d354f696..a551e17802d7 100644
--- a/dev-libs/libmelf/metadata.xml
+++ b/dev-libs/libmelf/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
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/files/continuum-1.0.18.patch b/dev-libs/libmemcached/files/continuum-1.0.18.patch
index 296978044311..17a8afd7ff98 100644
--- a/dev-libs/libmemcached/files/continuum-1.0.18.patch
+++ b/dev-libs/libmemcached/files/continuum-1.0.18.patch
@@ -1,7 +1,5 @@
-diff --git libmemcached/memcached.cc libmemcached/memcached.cc
-index 337f918..6e88c25 100644
---- libmemcached/memcached.cc
-+++ libmemcached/memcached.cc
+--- a/libmemcached/memcached.cc
++++ b/libmemcached/memcached.cc
@@ -285,6 +285,8 @@ void memcached_servers_reset(memcached_st *shell)
{
libmemcached_free(self, self->ketama.continuum);
@@ -11,10 +9,8 @@ index 337f918..6e88c25 100644
memcached_instance_list_free(memcached_instance_list(self), self->number_of_hosts);
memcached_instance_set(self, NULL, 0);
-diff --git tests/libmemcached-1.0/all_tests.h tests/libmemcached-1.0/all_tests.h
-index b4abe9d..f89f007 100644
---- tests/libmemcached-1.0/all_tests.h
-+++ tests/libmemcached-1.0/all_tests.h
+--- a/tests/libmemcached-1.0/all_tests.h
++++ b/tests/libmemcached-1.0/all_tests.h
@@ -452,6 +452,7 @@ collection_st collection[] ={
{"hsieh_availability", 0, 0, hsieh_availability},
{"murmur_availability", 0, 0, murmur_availability},
@@ -23,10 +19,8 @@ index b4abe9d..f89f007 100644
{"memcached_server_add(MEMCACHED_DISTRIBUTION_CONSISTENT)", (test_callback_fn*)memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_SETUP, 0, memcached_server_add_TESTS},
{"memcached_server_add(MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED)", (test_callback_fn*)memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED_SETUP, 0, memcached_server_add_TESTS},
{"block", 0, 0, tests},
-diff --git tests/libmemcached-1.0/setup_and_teardowns.cc tests/libmemcached-1.0/setup_and_teardowns.cc
-index 4191c38..eb29128 100644
---- tests/libmemcached-1.0/setup_and_teardowns.cc
-+++ tests/libmemcached-1.0/setup_and_teardowns.cc
+--- a/tests/libmemcached-1.0/setup_and_teardowns.cc
++++ b/tests/libmemcached-1.0/setup_and_teardowns.cc
@@ -177,6 +177,16 @@ test_return_t memcached_servers_reset_SETUP(memcached_st *memc)
return TEST_SUCCESS;
}
@@ -44,10 +38,8 @@ index 4191c38..eb29128 100644
test_return_t memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_SETUP(memcached_st *memc)
{
test_compare(TEST_SUCCESS, memcached_servers_reset_SETUP(memc));
-diff --git tests/libmemcached-1.0/setup_and_teardowns.h tests/libmemcached-1.0/setup_and_teardowns.h
-index 7610c5a..59b56f6 100644
---- tests/libmemcached-1.0/setup_and_teardowns.h
-+++ tests/libmemcached-1.0/setup_and_teardowns.h
+--- a/tests/libmemcached-1.0/setup_and_teardowns.h
++++ b/tests/libmemcached-1.0/setup_and_teardowns.h
@@ -64,3 +64,4 @@ test_return_t pre_buffer(memcached_st*);
test_return_t memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_SETUP(memcached_st *memc);
test_return_t memcached_servers_reset_MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED_SETUP(memcached_st *memc);
diff --git a/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch b/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch
index ed87cbd7a1c1..fa483b52dcfb 100644
--- a/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch
+++ b/dev-libs/libmemcached/files/debug-disable-enable-1.0.18.patch
@@ -1,7 +1,7 @@
Fixed a bug that caused configure to disobey the enable/disable debug flag. The debug flag will default to disabled if not specified.
diff -ru libmemcached-1.0.18-orig/m4/ax_debug.m4 libmemcached-1.0.18/m4/ax_debug.m4
---- libmemcached-1.0.18-orig/m4/ax_debug.m4 2014-11-05 14:43:53.720284916 -0600
-+++ libmemcached-1.0.18/m4/ax_debug.m4 2014-11-19 14:23:19.512482198 -0600
+--- a/m4/ax_debug.m4
++++ b/m4/ax_debug.m4
@@ -49,16 +49,18 @@
[AC_PREREQ([2.63])dnl
AC_ARG_ENABLE([debug],
diff --git a/dev-libs/libmemcached/files/libmemcached-1.0.18-autotools.patch b/dev-libs/libmemcached/files/libmemcached-1.0.18-autotools.patch
new file mode 100644
index 000000000000..9194539aeb53
--- /dev/null
+++ b/dev-libs/libmemcached/files/libmemcached-1.0.18-autotools.patch
@@ -0,0 +1,61 @@
+* Automake 1.14+ fix for AC_PROG_* instantiation
+* Disable old GCC flags
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,10 +13,6 @@ m4_include([version.m4])
+ AC_PREREQ([2.61])
+ AC_INIT([libmemcached],VERSION_NUMBER,[http://libmemcached.org/])
+
+-# Setup the compilers early on
+-AC_PROG_CC([cc gcc clang])
+-AC_PROG_CXX([c++ g++ clang++])
+-
+ AC_CONFIG_AUX_DIR([build-aux])
+ AC_CONFIG_MACRO_DIR([m4])
+
+@@ -61,6 +57,10 @@ LT_LIB_M
+
+ AC_SUBST([lt_cv_dlopen_libs])
+
++# Setup the compilers early on
++AC_PROG_CC([cc gcc clang])
++AC_PROG_CXX([c++ g++ clang++])
++
+
+ AC_PROG_CC_C99
+ AS_IF([test "x${ac_cv_prog_cc_c99}" == "xno"],[AC_MSG_ERROR([No c99 compatible compiler found])])
+--- a/m4/ax_harden_compiler_flags.m4
++++ b/m4/ax_harden_compiler_flags.m4
+@@ -138,7 +138,6 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-H])
+ _APPEND_COMPILE_FLAGS_ERROR([-g])
+ _APPEND_COMPILE_FLAGS_ERROR([-g3])
+- _APPEND_COMPILE_FLAGS_ERROR([-fmudflapth])
+ _APPEND_COMPILE_FLAGS_ERROR([-fno-eliminate-unused-debug-types])
+ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
+ ],[
+@@ -213,7 +212,6 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-Wunused-local-typedefs])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wwrite-strings])
+ _APPEND_COMPILE_FLAGS_ERROR([-fwrapv])
+- _APPEND_COMPILE_FLAGS_ERROR([-fmudflapt])
+ _APPEND_COMPILE_FLAGS_ERROR([-pipe])
+ _APPEND_COMPILE_FLAGS_ERROR([-fPIE -pie])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wsizeof-pointer-memaccess])
+@@ -247,7 +245,6 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-H])
+ _APPEND_COMPILE_FLAGS_ERROR([-g])
+ _APPEND_COMPILE_FLAGS_ERROR([-g3])
+- _APPEND_COMPILE_FLAGS_ERROR([-fmudflapth])
+ _APPEND_COMPILE_FLAGS_ERROR([-fno-inline])
+ _APPEND_COMPILE_FLAGS_ERROR([-fno-eliminate-unused-debug-types])
+ _APPEND_COMPILE_FLAGS_ERROR([-fno-omit-frame-pointer])
+@@ -318,7 +315,6 @@
+ _APPEND_COMPILE_FLAGS_ERROR([-Wwrite-strings])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wformat-security])
+ _APPEND_COMPILE_FLAGS_ERROR([-fwrapv])
+- _APPEND_COMPILE_FLAGS_ERROR([-fmudflapt])
+ _APPEND_COMPILE_FLAGS_ERROR([-pipe])
+ _APPEND_COMPILE_FLAGS_ERROR([-fPIE -pie])
+ _APPEND_COMPILE_FLAGS_ERROR([-Wsizeof-pointer-memaccess])
diff --git a/dev-libs/libmemcached/files/libmemcached-1.0.18-disable-sphinx.patch b/dev-libs/libmemcached/files/libmemcached-1.0.18-disable-sphinx.patch
new file mode 100644
index 000000000000..964173c852ba
--- /dev/null
+++ b/dev-libs/libmemcached/files/libmemcached-1.0.18-disable-sphinx.patch
@@ -0,0 +1,13 @@
+Disable invoking sphinx
+https://bugs.gentoo.org/806613
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -57,7 +57,6 @@
+ include libmemcachedutil-1.0/include.am
+
+ include clients/include.am
+-include docs/include.am
+ include man/include.am
+
+ if BUILD_LIBMEMCACHED_PROTOCOL
diff --git a/dev-libs/libmemcached/files/libmemcached-1.0.18-musl.patch b/dev-libs/libmemcached/files/libmemcached-1.0.18-musl.patch
new file mode 100644
index 000000000000..06e802de64f6
--- /dev/null
+++ b/dev-libs/libmemcached/files/libmemcached-1.0.18-musl.patch
@@ -0,0 +1,65 @@
+Taken from alpine, with additional fixes
+https://bugs.gentoo.org/713306
+
+--- a/libhashkit/fnv_64.cc
++++ b/libhashkit/fnv_64.cc
+@@ -37,8 +37,9 @@
+
+
+ #include <libhashkit/common.h>
++#include <limits.h>
+
+-#if __WORDSIZE == 64 && defined(HAVE_FNV64_HASH)
++#if (LONG_BIT == 64) && defined(HAVE_FNV64_HASH)
+
+ /* FNV hash'es lifted from Dustin Sallings work */
+ static uint64_t FNV_64_INIT= 0xcbf29ce484222325;
+--- a/libhashkit/has.cc
++++ b/libhashkit/has.cc
+@@ -37,6 +37,7 @@
+
+
+ #include <libhashkit/common.h>
++#include <limits.h>
+
+ bool libhashkit_has_algorithm(const hashkit_hash_algorithm_t algo)
+ {
+@@ -44,7 +45,7 @@
+ {
+ case HASHKIT_HASH_FNV1_64:
+ case HASHKIT_HASH_FNV1A_64:
+-#if __WORDSIZE == 64 && defined(HAVE_FNV64_HASH)
++#if (LONG_BIT == 64) && defined(HAVE_FNV64_HASH)
+ return true;
+ #else
+ return false;
+--- a/libmemcachedutil/pool.cc
++++ b/libmemcachedutil/pool.cc
+@@ -42,6 +42,7 @@
+ #include <cerrno>
+ #include <pthread.h>
+ #include <memory>
++#include <string.h>
+
+ struct memcached_pool_st
+ {
+--- a/libtest/cmdline.cc
++++ b/libtest/cmdline.cc
+@@ -61,7 +61,7 @@
+ #include <algorithm>
+ #include <stdexcept>
+
+-#ifndef __USE_GNU
++#ifndef _GNU_SOURCE
+ static char **environ= NULL;
+ #endif
+
+@@ -201,7 +201,7 @@
+
+ fatal_assert(posix_spawnattr_setsigmask(&spawnattr, &mask) == 0);
+
+-#if defined(POSIX_SPAWN_USEVFORK) || defined(__linux__)
++#if defined(POSIX_SPAWN_USEVFORK) || defined(__GLIBC__)
+ // Use USEVFORK on linux
+ flags |= POSIX_SPAWN_USEVFORK;
+ #endif
diff --git a/dev-libs/libmemcached/libmemcached-1.0.18-r3.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18-r3.ebuild
deleted file mode 100644
index b47a7317d344..000000000000
--- a/dev-libs/libmemcached/libmemcached-1.0.18-r3.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-WANT_AUTOMAKE=1.13
-
-inherit autotools eutils multilib
-RESTRICT="test" # https://bugs.gentoo.org/show_bug.cgi?id=498250 https://bugs.launchpad.net/gentoo/+bug/1278023
-
-DESCRIPTION="a C client library to the memcached server"
-HOMEPAGE="http://libmemcached.org/libMemcached.html"
-SRC_URI="https://launchpad.net/${PN}/1.0/${PV}/+download/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="debug hsieh +libevent sasl static-libs"
-
-DEPEND="net-misc/memcached
- sasl? ( dev-libs/cyrus-sasl )
- libevent? ( dev-libs/libevent )"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}/debug-disable-enable-1.0.18.patch"
- epatch "${FILESDIR}/continuum-1.0.18.patch"
- epatch "${FILESDIR}"/${P}-gcc7.patch
- sed -i '6i CFLAGS = @CFLAGS@' Makefile.am
- sed -e "/_APPEND_COMPILE_FLAGS_ERROR(\[-fmudflapth\?\])/d" -i m4/ax_harden_compiler_flags.m4
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-dtrace \
- $(use_enable static-libs static) \
- $(use_enable sasl sasl) \
- $(use_enable debug debug) \
- $(use_enable debug assert) \
- $(use_enable hsieh hsieh_hash) \
- --libdir=/usr/$(get_libdir) \
- ${myconf}
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la
-
- dodoc AUTHORS ChangeLog README THANKS TODO
- # remove manpage to avoid collision, see bug #299330
- rm -f "${D}"/usr/share/man/man1/memdump.*
- newman man/memdump.1 memcached_memdump.1
-}
diff --git a/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild
new file mode 100644
index 000000000000..241101bc2743
--- /dev/null
+++ b/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="a C client library to the memcached server"
+HOMEPAGE="https://libmemcached.org/libMemcached.html"
+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 ~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
+RESTRICT="test"
+
+RDEPEND="
+ net-misc/memcached
+ sasl? ( dev-libs/cyrus-sasl )
+ libevent? ( dev-libs/libevent )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/debug-disable-enable-1.0.18.patch
+ "${FILESDIR}"/continuum-1.0.18.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-disable-sphinx.patch
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+src_prepare() {
+ default
+ rm README.win32 || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dtrace \
+ $(use_enable sasl sasl) \
+ $(use_enable debug debug) \
+ $(use_enable debug assert) \
+ $(use_enable hsieh hsieh_hash)
+}
+
+src_install() {
+ default
+
+ # https://bugs.gentoo.org/299330
+ # remove manpage to avoid collision
+ rm -f "${ED}"/usr/share/man/man1/memdump.* || die
+ newman man/memdump.1 memcached_memdump.1
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmemcached/metadata.xml b/dev-libs/libmemcached/metadata.xml
index 3bfda0a0415b..2b190773de50 100644
--- a/dev-libs/libmemcached/metadata.xml
+++ b/dev-libs/libmemcached/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>
diff --git a/dev-libs/libmirage/Manifest b/dev-libs/libmirage/Manifest
index 5a62972871b5..bb9a5ab218ba 100644
--- a/dev-libs/libmirage/Manifest
+++ b/dev-libs/libmirage/Manifest
@@ -1 +1 @@
-DIST libmirage-3.2.2.tar.bz2 234131 BLAKE2B e3f2825b9e799447a6201f8d46fbb8cf229a5393c73d85ee8a230225603f5e42cb07af4e984aa8602fcce667b16c2af7e2ef9d27862022327a39d0b7189c1eb1 SHA512 f41a095d7a9a3bb0d00ac2bfb8ad443d8d065f446ca2635041e24a570b72c14a27d3c3b300d5fa941253284c4b05b1913715c1169cd26a80db920df9d27cd535
+DIST libmirage-3.2.7.tar.xz 229564 BLAKE2B e1e02526fcd8daec8716e0457e38be68df9e13f8609e29772c2bee080ace7e5e76112c6ffb57719144a8c9acddc942dd44e827371ffe90673cd34b0ba0f74b08 SHA512 cbb2e98dca93009c9395d1d29dc529cf4cf912b64f166c0652ee4193c83f3e93ee1f4af623f8f0903ad1d77634fe89e5c3076d138678bcb84641880e1a1d1f76
diff --git a/dev-libs/libmirage/libmirage-3.2.2.ebuild b/dev-libs/libmirage/libmirage-3.2.2.ebuild
deleted file mode 100644
index 27a19f3b1757..000000000000
--- a/dev-libs/libmirage/libmirage-3.2.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit cmake-utils xdg-utils
-
-DESCRIPTION="CD and DVD image access library"
-HOMEPAGE="http://cdemu.org"
-SRC_URI="mirror://sourceforge/cdemu/${P}.tar.bz2"
-
-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}
- dev-util/desktop-file-utils
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig
- doc? ( dev-util/gtk-doc )"
-
-src_configure() {
- local mycmakeargs=(
- -DGTKDOC_ENABLED="$(usex doc)"
- -DINTROSPECTION_ENABLED="$(usex introspection)"
- -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- local DOCS=( AUTHORS README )
- cmake-utils_src_install
-}
-
-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/libmirage/metadata.xml b/dev-libs/libmirage/metadata.xml
index be81b6000604..9ca78d7c3f4b 100644
--- a/dev-libs/libmirage/metadata.xml
+++ b/dev-libs/libmirage/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">cdemu</remote-id>
+ <remote-id type="github">cdemu/cdemu</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libmix/libmix-2.05-r7.ebuild b/dev-libs/libmix/libmix-2.05-r7.ebuild
index 9fbad4d8abfd..9e7e51c26590 100644
--- a/dev-libs/libmix/libmix-2.05-r7.ebuild
+++ b/dev-libs/libmix/libmix-2.05-r7.ebuild
@@ -1,30 +1,30 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit autotools base multilib toolchain-funcs
+EAPI=7
+
+inherit autotools flag-o-matic toolchain-funcs
DESCRIPTION="Programs Crypto/Network/Multipurpose Library"
HOMEPAGE="http://mixter.void.ru/"
SRC_URI="http://mixter.void.ru/${P/.}.tgz"
+S="${WORKDIR}/${PN}-v${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux"
IUSE="static-libs"
-S=${WORKDIR}/${PN}-v${PV}
-
PATCHES=(
"${FILESDIR}"/${P}-fix-pattern.patch
"${FILESDIR}"/${P}-gentoo-r1.patch
"${FILESDIR}"/${P}-libnet.patch
)
-DOCS=( CHANGES )
-
src_prepare() {
- base_src_prepare
+ default
+
+ mv configure.{in,ac} || die
sed -i \
-e 's/expf/libmix_expf/g' \
@@ -35,7 +35,14 @@ 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 \
$(use_enable static-libs static) \
--without-net2
diff --git a/dev-libs/libmix/metadata.xml b/dev-libs/libmix/metadata.xml
index 6f49eba8f496..641cbd3703e7 100644
--- a/dev-libs/libmix/metadata.xml
+++ b/dev-libs/libmix/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libmodbus/Manifest b/dev-libs/libmodbus/Manifest
index e88dd95d3922..a5e5c74478ae 100644
--- a/dev-libs/libmodbus/Manifest
+++ b/dev-libs/libmodbus/Manifest
@@ -1 +1 @@
-DIST libmodbus-3.1.4.tar.gz 471576 BLAKE2B 4fc57abd784e2cfb65d19cd55a31f4b778a209141cc13b9c969dbd6052f187ba0de0031105be748aa2113f345bdb16c2b582b53635b5334f06dfdb34c5992a18 SHA512 63f73894b27704f5e5b3ca0a364cc366c5b5d24903bb24384155890cf06c0f8e5c707a435a38129402ff6628ef3d611dd0db82f840b79cf1d205ebed2ac5681c
+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.4.ebuild b/dev-libs/libmodbus/libmodbus-3.1.4.ebuild
deleted file mode 100644
index a0367b70eb14..000000000000
--- a/dev-libs/libmodbus/libmodbus-3.1.4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-RDEPEND=""
-DEPEND="doc? ( app-text/asciidoc
- app-text/xmlto )"
-
-PATCHES=( "${FILESDIR}"/${P}-doc.patch )
-
-src_configure() {
- econf \
- --disable-silent-rules \
- $(use_enable test tests) \
- $(use_enable static-libs static) \
- $(use_with doc documentation)
-}
-
-src_install() {
- default
-
- use static-libs || rm "${D}"/usr/*/libmodbus.la
-}
diff --git a/dev-libs/libmodbus/metadata.xml b/dev-libs/libmodbus/metadata.xml
index 6f49eba8f496..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/libmoe/files/libmoe-1.5.8-gentoo.patch b/dev-libs/libmoe/files/libmoe-1.5.8-gentoo.patch
deleted file mode 100644
index cf436c11577b..000000000000
--- a/dev-libs/libmoe/files/libmoe-1.5.8-gentoo.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -Naur libmoe-1.5.8.orig/altmalloc.c libmoe-1.5.8/altmalloc.c
---- libmoe-1.5.8.orig/altmalloc.c 2002-02-01 22:25:10.000000000 +0900
-+++ libmoe-1.5.8/altmalloc.c 2008-11-19 08:44:34.000000000 +0900
-@@ -1,3 +1,5 @@
-+#include <string.h>
-+
- #include "altmalloc.h"
-
- alt_allocater_t alt_malloc = malloc;
diff --git a/dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch b/dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch
deleted file mode 100644
index 2cdfa1a24c22..000000000000
--- a/dev-libs/libmoe/files/libmoe-1.5.8-makefile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 1bae380..605d674 100644
---- a/Makefile
-+++ b/Makefile
-@@ -72,8 +72,7 @@ AR=ar
- all: ${INSTLIBA} mbconv mbconv.man
-
- mbconv: mbconv.c ${ALL}
-- ${CC} ${CF} -o $@ $< -L. -lmoe
--
-+ ${CC} ${CF} ${LDFLAGS} -o $@ $< -L. -lmoe
-
- ${DEST}.so: ${DEST}.so.${VER}.${RELEASE}
- ln -sf $< $@
-@@ -116,7 +115,7 @@ ${BTRI_Cs}: %.c: %.mk_btri.c mk_btri
- ./mk_btri <$< >$@-new && mv $@-new $@
-
- mk_btri: btri.c btri.h altmalloc.o
-- ${CC} ${CF} -DMAIN -o $@ $< altmalloc.o
-+ ${CC} ${CF} ${LDFLAGS} -DMAIN -o $@ $< altmalloc.o
-
- mbconv.man: mbconv.pod
- pod2man --section=${MANSECT} --center=' ' $< >$@
diff --git a/dev-libs/libmoe/files/libmoe-1.5.8-gcc5.patch b/dev-libs/libmoe/files/libmoe-gcc-5.patch
index a990a37fe240..a990a37fe240 100644
--- a/dev-libs/libmoe/files/libmoe-1.5.8-gcc5.patch
+++ b/dev-libs/libmoe/files/libmoe-gcc-5.patch
diff --git a/dev-libs/libmoe/files/libmoe-gentoo.patch b/dev-libs/libmoe/files/libmoe-gentoo.patch
new file mode 100644
index 000000000000..c4a754bd2aa8
--- /dev/null
+++ b/dev-libs/libmoe/files/libmoe-gentoo.patch
@@ -0,0 +1,39 @@
+--- a/Makefile
++++ b/Makefile
+@@ -52,8 +52,8 @@
+ INSTBIN=mbconv${EXT}
+
+ DEBUG=
+-CF=${DEBUG} -O2 -Wall -fpic -I.
+-LF=-shared -Wl,-soname,${DEST}.so.${VER}.${RELEASE}
++CF=${DEBUG} -O2 -Wall -fpic -I. ${CFLAGS}
++LF=-shared -Wl,-soname,${DEST}.so.${VER}.${RELEASE} ${LDFLAGS}
+ CC=gcc
+ CPP=gcc -E
+ LD=gcc
+@@ -72,7 +72,7 @@
+ all: ${INSTLIBA} mbconv mbconv.man
+
+ mbconv: mbconv.c ${ALL}
+- ${CC} ${CF} -o $@ $< -L. -lmoe
++ ${CC} ${CF} ${LDFLAGS} -o $@ $< -L. -lmoe
+
+
+ ${DEST}.so: ${DEST}.so.${VER}.${RELEASE}
+@@ -116,7 +116,7 @@
+ ./mk_btri <$< >$@-new && mv $@-new $@
+
+ mk_btri: btri.c btri.h altmalloc.o
+- ${CC} ${CF} -DMAIN -o $@ $< altmalloc.o
++ ${CC} ${CF} ${LDFLAGS} -DMAIN -o $@ $< altmalloc.o
+
+ mbconv.man: mbconv.pod
+ pod2man --section=${MANSECT} --center=' ' $< >$@
+--- a/altmalloc.c
++++ b/altmalloc.c
+@@ -1,3 +1,5 @@
++#include <string.h>
++
+ #include "altmalloc.h"
+
+ alt_allocater_t alt_malloc = malloc;
diff --git a/dev-libs/libmoe/libmoe-1.5.8-r3.ebuild b/dev-libs/libmoe/libmoe-1.5.8-r3.ebuild
index 01e7722e7012..edda95d992a4 100644
--- a/dev-libs/libmoe/libmoe-1.5.8-r3.ebuild
+++ b/dev-libs/libmoe/libmoe-1.5.8-r3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI="7"
inherit toolchain-funcs
@@ -11,29 +11,35 @@ SRC_URI="http://pub.ks-and-ks.ne.jp/prog/pub/${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="amd64 ppc sparc x86"
-IUSE=""
+KEYWORDS="amd64 ppc ~riscv sparc x86"
+IUSE="static-libs"
RDEPEND="dev-lang/perl"
DEPEND="${RDEPEND}"
-HTML_DOCS=( libmoe.shtml )
+HTML_DOCS=( ${PN}.shtml )
PATCHES=(
- "${FILESDIR}/${P}-gentoo.patch"
- "${FILESDIR}/${P}-makefile.patch"
- "${FILESDIR}/${P}-gcc5.patch" # taken from Debian
+ "${FILESDIR}/${PN}-gentoo.patch"
+ "${FILESDIR}/${PN}-gcc-5.patch" # taken from Debian
)
src_prepare() {
default
sed -i \
- -e "/^PREFIX=/s:=.*:=${EPREFIX}/usr:" \
- -e "/^LIBSODIR=/s:=.*:=\$\{PREFIX}/$(get_libdir):" \
- -e "/^MANDIR=/s:=.*:=\$\{PREFIX}/share/man:" \
- -e "/^CF=/s:=:=${CFLAGS} :" \
- -e "/^LF=/s:=:=${LDFLAGS} :" \
- -e "s:=gcc:=$(tc-getCC):" \
- -e "/^AR=/s:=ar:=$(tc-getAR):" \
+ -e "/^PREFIX=/s|=.*|=${EPREFIX}/usr|" \
+ -e "/^LIBSODIR=/s|=.*|=\${PREFIX}/$(get_libdir)|" \
+ -e "/^MANDIR=/s|=.*|=\${PREFIX}/share/man|" \
+ -e "/^MANCOMPR=/s|=.*|=cat|" \
+ -e "/^MANX=/s|=.*|=|" \
+ -e "/^\(CC\|LD\)=/s|=.*|=$(tc-getCC)|" \
+ -e "/^CPP=/s|=.*|=$(tc-getCPP)|" \
+ -e "/^RANLIB=/s|=.*|=$(tc-getRANLIB)|" \
+ -e "/^AR=/s|=.*|=$(tc-getAR)|" \
Makefile || die
}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libmoe/metadata.xml b/dev-libs/libmoe/metadata.xml
index c921b96adf6c..a94766977fa6 100644
--- a/dev-libs/libmoe/metadata.xml
+++ b/dev-libs/libmoe/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
-</maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libmongo-client/Manifest b/dev-libs/libmongo-client/Manifest
deleted file mode 100644
index b4901bbfe82d..000000000000
--- a/dev-libs/libmongo-client/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libmongo-client-0.1.7.tar.gz 122495 BLAKE2B 1c62e60f6181ed087058a0dca23940300db03668f7ec1b744f8b574fcbd302139c4ed525a0a2bbeaed7edf552eda47e4ca0e9faacfc2d2954d97f77863e94a60 SHA512 c8250ee04c01650b624641d8c3e0cb81e17bdc12d1d64ccb173c15db58d39953fec39dcf5b92ec91378b93574319ab47bb523d1c50594cbc89479c65d219b5ee
-DIST libmongo-client-0.1.8.tar.gz 127648 BLAKE2B 1ca701fc66cccd704a15f4370e2e3e8c75579af0e6aa4fd638a464d490a43b0e61950cb519829388b1625cd2e0609080b69576be91df3b105c6f00535fd8c096 SHA512 b013898768306ef053f8010b14b353c42af6505ec33d4384602e690d97e9272d48ea134a84f79394073b01ecc05beab3e2e95dbfc0c3603b09fac4b0f72c1ae0
diff --git a/dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild b/dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild
deleted file mode 100644
index eada1d63f64d..000000000000
--- a/dev-libs/libmongo-client/libmongo-client-0.1.7.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils autotools
-
-DESCRIPTION="The alternative C driver for MongoDB"
-HOMEPAGE="https://github.com/algernon/libmongo-client"
-SRC_URI="https://github.com/algernon/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm hppa x86"
-IUSE="doc"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig"
-RDEPEND="
- dev-libs/glib"
-
-S=${WORKDIR}/${PN}-${P}
-
-src_prepare() {
- eautoreconf
-}
-
-src_compile() {
- default
- use doc && emake DESTDIR="${D}" doxygen
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete
- use doc && dohtml -r docs/html/*
-}
diff --git a/dev-libs/libmongo-client/libmongo-client-0.1.8.ebuild b/dev-libs/libmongo-client/libmongo-client-0.1.8.ebuild
deleted file mode 100644
index 8cbff13f22c6..000000000000
--- a/dev-libs/libmongo-client/libmongo-client-0.1.8.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="The alternative C driver for MongoDB"
-HOMEPAGE="https://github.com/algernon/libmongo-client"
-SRC_URI="https://github.com/algernon/${PN}/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/0.5.0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
-IUSE="doc"
-
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig"
-RDEPEND="dev-libs/glib"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_compile() {
- default
-
- use doc && emake DESTDIR="${D%/}" doxygen
-}
-
-src_install() {
- use doc && local HTML_DOCS=( docs/html/. )
- default
-
- find "${ED}"usr/lib* -name '*.la' -delete || die
-}
diff --git a/dev-libs/libmongo-client/metadata.xml b/dev-libs/libmongo-client/metadata.xml
deleted file mode 100644
index eb1b99bdd954..000000000000
--- a/dev-libs/libmongo-client/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!--maintainer-needed-->
- <longdescription lang="en">
- This is an alternative C driver for MongoDB, with slightly different
- goals than the official one:
- libmongo-client is meant to be a stable (API, ABI and quality alike),
- clean, well documented and well tested shared library, that strives
- to make the most common use cases as convenient as possible.
- </longdescription>
- <slots>
- <subslots>Reflect ABI of libmongo-client.so.</subslots>
- </slots>
- <upstream>
- <remote-id type="github">algernon/libmongo-client</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libmowgli/Manifest b/dev-libs/libmowgli/Manifest
index db1b1862d870..bb22bbe75f0f 100644
--- a/dev-libs/libmowgli/Manifest
+++ b/dev-libs/libmowgli/Manifest
@@ -1,2 +1 @@
-DIST libmowgli-1.0.0.tar.bz2 105929 BLAKE2B f22af94e1d5693e92544e9c177f56caf7fcbbf3f46a254e1e6982ba0e6f41443bcf70d1b944cd68e7eea7a0247dd478777afcebb5db80742312149f52dd86bc4 SHA512 f3f7f9a527cb3f6f24c23d0585b55509d8721023c670df9e59a7f5667d4e12caf17ed71773cd1283a3ebfada465824653f654aa29d857c076875d36b2a824313
DIST libmowgli-2.1.3.tar.gz 227742 BLAKE2B 9ef5c30880644247df3c98dabbd87694d0a7c92e7de0c44a73842d4c5bbc7f19a32db24acc52b27fe5f204b1f74a5c730c64edd1e8edd23bc320e4c0dc4a554c SHA512 bf976cf8b8bf0efaf7565230f42147adcdbe993339f58f907f5005eddf178d936cffb6cdbba59e38813854f30414856a1b9f8bdc972ea2f59cb08987ee336533
diff --git a/dev-libs/libmowgli/files/libmowgli-2.1.3-cacheline-Ensure-sysconf-var-is-defined-before-use.patch b/dev-libs/libmowgli/files/libmowgli-2.1.3-cacheline-Ensure-sysconf-var-is-defined-before-use.patch
new file mode 100644
index 000000000000..ff070e1d00ed
--- /dev/null
+++ b/dev-libs/libmowgli/files/libmowgli-2.1.3-cacheline-Ensure-sysconf-var-is-defined-before-use.patch
@@ -0,0 +1,25 @@
+From 2b8892fe2ca51ef0334b08babad0fa9d689087c0 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Wed, 27 Sep 2017 01:42:33 -0500
+Subject: [PATCH] cacheline: Ensure sysconf var is defined before use on Linux
+
+---
+ src/libmowgli/platform/cacheline.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libmowgli/platform/cacheline.c b/src/libmowgli/platform/cacheline.c
+index 90c803f..7651588 100644
+--- a/src/libmowgli/platform/cacheline.c
++++ b/src/libmowgli/platform/cacheline.c
+@@ -32,7 +32,7 @@ size_t cacheline_size;
+ void
+ mowgli_cacheline_bootstrap(void)
+ {
+-#ifdef MOWGLI_OS_LINUX
++#if defined(MOWGLI_OS_LINUX) && defined(_SC_LEVEL1_DCACHE_LINESIZE)
+ cacheline_size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
+ #elif defined(MOWGLI_OS_OSX)
+ size_t size = sizeof(size_t);
+--
+2.24.1
+
diff --git a/dev-libs/libmowgli/files/libmowgli-2.1.3-use-host-tools-for-ar-and-ranlib.patch b/dev-libs/libmowgli/files/libmowgli-2.1.3-use-host-tools-for-ar-and-ranlib.patch
new file mode 100644
index 000000000000..e49e7c2c99b5
--- /dev/null
+++ b/dev-libs/libmowgli/files/libmowgli-2.1.3-use-host-tools-for-ar-and-ranlib.patch
@@ -0,0 +1,15 @@
+diff --git a/configure.ac b/configure.ac
+index dfebb14..b3bd072 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -36,8 +36,8 @@ if test "$pgac_cv_var_PS_STRINGS" = yes ; then
+ AC_DEFINE([HAVE_PS_STRINGS], [], [Define to 1 if the PS_STRINGS struct exists on your platform (likely no).])
+ fi
+
+-AC_PATH_PROG(AR, ar)
+-AC_PATH_PROG(RANLIB, ranlib)
++AC_CHECK_TOOL(AR, ar)
++AC_CHECK_TOOL(RANLIB, ranlib)
+
+ LIBMOWGLI_MODULES="core base container dns eventloop ext linebuf module object platform thread vio"
+ AC_SUBST(LIBMOWGLI_MODULES)
diff --git a/dev-libs/libmowgli/libmowgli-1.0.0-r1.ebuild b/dev-libs/libmowgli/libmowgli-1.0.0-r1.ebuild
deleted file mode 100644
index f6bf87c430b5..000000000000
--- a/dev-libs/libmowgli/libmowgli-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Useful set of performance and usability-oriented extensions to C"
-HOMEPAGE="http://atheme.org/projects/libmowgli.html"
-SRC_URI="http://distfiles.atheme.org/${P}.tar.bz2"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE=""
-
-DOCS=( AUTHORS README doc/BOOST )
diff --git a/dev-libs/libmowgli/libmowgli-2.1.3-r3.ebuild b/dev-libs/libmowgli/libmowgli-2.1.3-r3.ebuild
new file mode 100644
index 000000000000..9290dd9b018c
--- /dev/null
+++ b/dev-libs/libmowgli/libmowgli-2.1.3-r3.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
+
+DESCRIPTION="Useful set of performance and usability-oriented extensions to C"
+HOMEPAGE="https://github.com/atheme/libmowgli-2"
+SRC_URI="https://github.com/atheme/libmowgli-2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="ssl"
+
+RDEPEND="ssl? (
+ dev-libs/openssl:0=
+ )"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS README doc/BOOST doc/design-concepts.txt )
+PATCHES=(
+ "${FILESDIR}"/${P}-cacheline-Ensure-sysconf-var-is-defined-before-use.patch
+ "${FILESDIR}"/${P}-use-host-tools-for-ar-and-ranlib.patch
+)
+
+S="${WORKDIR}/${PN}-2-${PV}"
+
+src_prepare() {
+ default
+
+ # $(MAKE) invocation will handle passing down flags.
+ sed -i -e 's/${MFLAGS}//' buildsys.mk.in || die
+
+ AT_M4DIR="m4" eautoreconf
+}
+
+src_configure() {
+ econf $(use_with ssl openssl)
+}
diff --git a/dev-libs/libmowgli/libmowgli-2.1.3.ebuild b/dev-libs/libmowgli/libmowgli-2.1.3.ebuild
deleted file mode 100644
index e1d10dd1856d..000000000000
--- a/dev-libs/libmowgli/libmowgli-2.1.3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Useful set of performance and usability-oriented extensions to C"
-HOMEPAGE="https://github.com/atheme/libmowgli-2"
-SRC_URI="https://github.com/atheme/libmowgli-2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="2"
-KEYWORDS="alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
-IUSE="libressl ssl"
-
-RDEPEND="ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- !=dev-libs/libmowgli-2.1.0" # Bug 629644
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS README doc/BOOST doc/design-concepts.txt )
-S="${WORKDIR}/${PN}-2-${PV}"
-
-src_configure() {
- econf \
- $(use_with ssl openssl)
-}
diff --git a/dev-libs/libmowgli/libmowgli-9999.ebuild b/dev-libs/libmowgli/libmowgli-9999.ebuild
index bae567fb341c..0de5c81d5844 100644
--- a/dev-libs/libmowgli/libmowgli-9999.ebuild
+++ b/dev-libs/libmowgli/libmowgli-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit git-r3
@@ -12,12 +12,11 @@ EGIT_REPO_URI="https://github.com/atheme/libmowgli-2.git"
LICENSE="BSD-2"
SLOT="2"
KEYWORDS=""
-IUSE="libressl ssl"
+IUSE="ssl"
RDEPEND="
ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
+ dev-libs/openssl:0=
)"
DEPEND="${RDEPEND}"
diff --git a/dev-libs/libmowgli/metadata.xml b/dev-libs/libmowgli/metadata.xml
index ec4650dd7673..22bd0a2cbb65 100644
--- a/dev-libs/libmowgli/metadata.xml
+++ b/dev-libs/libmowgli/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>wadecline@hotmail.com</email>
<name>Wade Cline</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/dev-libs/libmpack/Manifest b/dev-libs/libmpack/Manifest
new file mode 100644
index 000000000000..f158170965e8
--- /dev/null
+++ b/dev-libs/libmpack/Manifest
@@ -0,0 +1 @@
+DIST libmpack-1.0.5.tar.gz 32966 BLAKE2B 8ad01de11c740c3efc7b42046b89f7691dd32d228e126485bc49224e54789e7f12a611982c0fd9d2bbe8b06d1ce2df1ceea1b302e139e30d0a8c31f251129166 SHA512 6e30edafcacfb580b410bc6749ed7fe8f18b3be0cb98959339853e77bc3ec0cda6df08a0f1f22768cfc773458a2ea6bcef4f0421eea55cf56c58981d13711a04
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/metadata.xml b/dev-libs/libmpack/metadata.xml
new file mode 100644
index 000000000000..3702bb25c560
--- /dev/null
+++ b/dev-libs/libmpack/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>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">libmpack/libmpack</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmspack/Manifest b/dev-libs/libmspack/Manifest
index fa7a18545ea5..8bde9da8b8e8 100644
--- a/dev-libs/libmspack/Manifest
+++ b/dev-libs/libmspack/Manifest
@@ -1 +1,2 @@
-DIST libmspack-0.9.1alpha.tar.gz 494651 BLAKE2B 4543215efbcac9cd2703cd56f2297645463831cc2dfa6b38d87c5f48f39676347bb20739e0e389e021983d910b9be99bfd369fb30d36090f3f72f09532d6bd1d SHA512 4e39c2be8768c5c0b0d0798c9322ff022173f5e05af1636c18541bbc9f58c1ae1af59252d5631340fca601495c5b1e5abed0ad83481387421d2df5efb75cd49a
+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/files/libmspack-0.9.1_alpha-fix-bigendian.patch b/dev-libs/libmspack/files/libmspack-0.9.1_alpha-fix-bigendian.patch
deleted file mode 100644
index c134fa0760d0..000000000000
--- a/dev-libs/libmspack/files/libmspack-0.9.1_alpha-fix-bigendian.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://github.com/kyz/libmspack/commit/c19e707936947b45cf05bc9aaee68517c6c2aca6
-
----
- configure.ac | 1 +
- 1 files changed, 1 insertions(+)
-
-diff --git a/libmspack/configure.ac b/libmspack/configure.ac
---- a/configure.ac
-+++ b/configure.ac
-@@ -30,6 +30,7 @@ AC_CHECK_HEADERS([inttypes.h])
- # Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
- AC_C_INLINE
-+AC_C_BIGENDIAN
- AC_TYPE_MODE_T
- AC_TYPE_OFF_T
- AC_TYPE_SIZE_T
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.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-0.9.1_alpha-r1.ebuild b/dev-libs/libmspack/libmspack-0.9.1_alpha-r1.ebuild
deleted file mode 100644
index 95d59ca90db6..000000000000
--- a/dev-libs/libmspack/libmspack-0.9.1_alpha-r1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2019 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 ppc ppc64 s390 sparc x86 ~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=""
-
-PATCHES=( "${FILESDIR}"/${P}-fix-bigendian.patch )
-
-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-9999.ebuild b/dev-libs/libmspack/libmspack-9999.ebuild
index 4c72d6fbe69a..2a4ad5dfcc64 100644
--- a/dev-libs/libmspack/libmspack-9999.ebuild
+++ b/dev-libs/libmspack/libmspack-9999.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2018 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
- rm "${ED%/}"/usr/share/doc/"${PF}"/html/{Makefile*,Doxyfile*} || 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
- 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 613d45e5ffa8..98cc0646bef0 100644
--- a/dev-libs/libmspack/metadata.xml
+++ b/dev-libs/libmspack/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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/Manifest b/dev-libs/libnatspec/Manifest
index dfe0ea3d1c36..4ac0b2e1d834 100644
--- a/dev-libs/libnatspec/Manifest
+++ b/dev-libs/libnatspec/Manifest
@@ -1,2 +1 @@
-DIST libnatspec-0.2.6.tar.bz2 500525 BLAKE2B 30cf13f89a60c86c9ff56c2c2890d1fe169b2d503a87effec805fec49674b439f7311b358f2dad06b335e27b45e775f204092d3ae0b9933f516af3292ff351b2 SHA512 6bed3c8b2937ee27666a7deedcdebd7b24a8f495be63008fd70c467de4ab532e6448e6b682ed3be04a3a60ed64acaa0074d87231a421f6c73d6a7ee1d17bc66b
DIST libnatspec-0.3.0.tar.bz2 127265 BLAKE2B 3f0ffdaa57f232c5245de72bc67b3b6bdfa88aaf965156c50483278f51d54c1da1600c19bd49aac5a1a9317a9b53d5202e6610b1ef6c2335b824e183de1fba75 SHA512 5c04358d20be5b6ffc7038bddd4514c4b5b4e9940fb6247070b832da9d059b31fd1306cf29f54e4a1b8be1d909176bd72e6ffa98e4b750840764f9b2c250d31c
diff --git a/dev-libs/libnatspec/files/libnatspec-0.3.0-bashisms.patch b/dev-libs/libnatspec/files/libnatspec-0.3.0-bashisms.patch
new file mode 100644
index 000000000000..cf775e7c644e
--- /dev/null
+++ b/dev-libs/libnatspec/files/libnatspec-0.3.0-bashisms.patch
@@ -0,0 +1,20 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,7 @@
+ dnl Checks for libraries.
+ check_popt=""
+ AC_CHECK_LIB([popt], [main], check_popt=true)
+-if test "x$check_popt" == x ; then
++if test "x$check_popt" = x ; then
+ AC_MSG_WARN([ libpopt not found.])
+ else
+ POPT_LIBS=-lpopt
+@@ -47,7 +47,7 @@
+
+ check_iconv=""
+ AC_CHECK_HEADERS([iconv.h],check_iconv=true)
+-if test "x$check_iconv" == x ; then
++if test "x$check_iconv" = x ; then
+ AC_MSG_ERROR([*** iconv.h not found.])
+ fi
+ AC_CHECK_LIB([iconv], libiconv_open)
diff --git a/dev-libs/libnatspec/files/libnatspec-0.3.0-doxygen.patch b/dev-libs/libnatspec/files/libnatspec-0.3.0-doxygen.patch
new file mode 100644
index 000000000000..cb7c542088ed
--- /dev/null
+++ b/dev-libs/libnatspec/files/libnatspec-0.3.0-doxygen.patch
@@ -0,0 +1,29 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,13 +54,10 @@
+
+ # check Doxygen
+ DOXYGEN=""
+-AC_ARG_WITH(doxygen, [ --with-doxygen Generate doxygen documentation ],
+-[AC_CHECK_PROG(DOX, doxygen, yes)
+-if test "x$DOX" != x ; then
+- DOXYGEN="doxygen"
+-else
+- AC_MSG_ERROR([*** Doxygen not found])
+-fi
++AC_ARG_WITH(doxygen, [ --with-doxygen Generate doxygen documentation ])
++AS_IF([test "x$with_doxygen" = "xyes"], [
++ AC_CHECK_PROG(DOX, doxygen, yes)
++ DOXYGEN="doxygen"
+ ])
+ AC_SUBST(DOXYGEN)
+ AM_CONDITIONAL(HAVE_DOXYGEN, test x$DOXYGEN != x)
+--- a/docs/Makefile.am
++++ b/docs/Makefile.am
+@@ -19,5 +19,4 @@
+
+
+ # install
+-docdir = $(datadir)/doc/@PACKAGE@-@VERSION@/html
+-doc_DATA = $(shell find $(top_srcdir)/docs/html -name \*.*)
++html_DATA = $(shell find $(top_srcdir)/docs/html -name \*.*)
diff --git a/dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild b/dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild
deleted file mode 100644
index 8fc1912e0cb5..000000000000
--- a/dev-libs/libnatspec/libnatspec-0.2.6-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools eutils python-single-r1
-
-DESCRIPTION="library to smooth charset/localization issues"
-HOMEPAGE="http://natspec.sourceforge.net/"
-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 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="doc python"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- dev-libs/popt
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- python? ( dev-lang/tcl:0= )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-iconv.patch
- # regenerate to fix imcompatible readlink usage
- rm -f "${S}"/ltmain.sh "${S}"/libtool || die
- eautoreconf
-}
-
-src_configure() {
- use doc || export ac_cv_prog_DOX=no
- # braindead configure script does not disable python on --without-python
- econf $(use python && use_with python)
-}
diff --git a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
index beeaea380a0b..d6fde3e9c93e 100644
--- a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
+++ b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
@@ -1,48 +1,43 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools python-single-r1
+inherit autotools
DESCRIPTION="library to smooth charset/localization issues"
HOMEPAGE="http://natspec.sourceforge.net/"
-SRC_URI="mirror://sourceforge/natspec/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/natspec/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="doc python"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="doc"
-RDEPEND="
- dev-libs/popt
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- python? ( dev-lang/tcl:0= )"
+RDEPEND="dev-libs/popt"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${PN}-0.2.6-iconv.patch
+ "${FILESDIR}"/${PN}-0.3.0-bashisms.patch
+ "${FILESDIR}"/${PN}-0.3.0-doxygen.patch
)
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
src_prepare() {
default
- # regenerate to fix imcompatible readlink usage
- rm -f "${S}"/ltmain.sh "${S}"/libtool || die
+ # regenerate to fix incompatible readlink usage
eautoreconf
}
src_configure() {
- use doc || export ac_cv_prog_DOX=no
# braindead configure script does not disable python on --without-python
- econf $(use python && use_with python)
+ econf $(use_with doc doxygen)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libnatspec/metadata.xml b/dev-libs/libnatspec/metadata.xml
index c792d72af46e..72b87dabb3fc 100644
--- a/dev-libs/libnatspec/metadata.xml
+++ b/dev-libs/libnatspec/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>cjk@gentoo.org</email>
diff --git a/dev-libs/libnfc/Manifest b/dev-libs/libnfc/Manifest
index b0e2f0ee4280..91ff92c50e1e 100644
--- a/dev-libs/libnfc/Manifest
+++ b/dev-libs/libnfc/Manifest
@@ -1,3 +1 @@
-DIST libnfc-1.4.2.tar.gz 487310 BLAKE2B 9a92bebcdf5e28245b8087799d65ee67b3133d737aba781af19732bf839d16c40509ef5d87bca67a2946925a5265ad2b949bbbc93dd180c9b146615fae6e2483 SHA512 96710f1a808ab1cf90d86f687ec82339a3efab78253f840fba0188c01beadb326f1b521b67a8b7d47b217eae63ff6c5ec3906b4cbd743afa970aecf801b448ef
-DIST libnfc-1.5.1.tar.gz 534349 BLAKE2B b7d1654f596040dff81d8f6c42c9a587827051adb6883c70f51d6ed3a7839d981be921d0fac96697e18f66cdea93f1ca476bb48aae6e01d3ac9c8e59032e1820 SHA512 1b496b9368f0a19f5286c63c17ddf9c8afa3bae5106c8a85d89bbb8bb700948782722c30d9703d4348b45f362b47f5d63cbc0d7b4a4fe7d31dbbaedfa3354533
-DIST libnfc-1.7.1.tar.bz2 484309 BLAKE2B 7a86394e8902421410d54de2b2710cee7ea34a6f950f6d76ec59d24d6e46798cd10a9725f405c729df44da84b810b5853a5eef0ec5f2a10ccbcf7585d33f34ef SHA512 6a03d197c450c0ab8f2d16ae8c1f80e206fa909ece84a32dbb962acd0f7ef693a419608cdaa4c2207a1d2593599e44479520d7413eace7fca19d3230442e506c
+DIST libnfc-1.8.0.tar.bz2 553511 BLAKE2B 060ef4f24b3387393faf43f37a3a245177cb9697d42df1a8e8e5155af8b6e7b818b4bd710ff73929bde39274eda0235d111627cfd3931bd3fe9addde10af0fad SHA512 aa8762ecb5b94167d20346f2c81491bb5b634bcedbf2aae3e2efdb301bca89ceb7c2e15148d0934fdc1cce6d77ee0225e28e84893232999fdc09d8a90ae2a7c5
diff --git a/dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch b/dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch
deleted file mode 100644
index fc3af861d21c..000000000000
--- a/dev-libs/libnfc/files/libnfc-1.5.1-glibc-2.17.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/libnfc/log.h b/libnfc/log.h
-index 90cb747..3438511 100644
---- a/libnfc/log.h
-+++ b/libnfc/log.h
-@@ -18,6 +18,8 @@
- #ifndef __LOG_H__
- #define __LOG_H__
-
-+#include <stdint.h>
-+
- #if defined(HAS_LOG4C) && HAS_LOG4C
-
- #define LOGGING 1
diff --git a/dev-libs/libnfc/libnfc-1.4.2.ebuild b/dev-libs/libnfc/libnfc-1.4.2.ebuild
deleted file mode 100644
index 513d1ac16830..000000000000
--- a/dev-libs/libnfc/libnfc-1.4.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit eutils
-
-DESCRIPTION="Near Field Communications (NFC) library"
-HOMEPAGE="http://www.libnfc.org/"
-SRC_URI="https://github.com/nfc-tools/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-RDEPEND="sys-apps/pcsc-lite
- virtual/libusb:0"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-src_compile() {
- emake || die "Failed to compile."
- use doc && doxygen
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die "Failed to install properly."
- use doc && dohtml "${S}"/doc/html/*
-}
diff --git a/dev-libs/libnfc/libnfc-1.5.1-r1.ebuild b/dev-libs/libnfc/libnfc-1.5.1-r1.ebuild
deleted file mode 100644
index 8621ed61ec10..000000000000
--- a/dev-libs/libnfc/libnfc-1.5.1-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit eutils toolchain-funcs
-
-DESCRIPTION="Near Field Communications (NFC) library"
-HOMEPAGE="http://www.libnfc.org/"
-SRC_URI="https://github.com/nfc-tools/${PN}/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="doc pcsc-lite readline static-libs usb"
-
-RDEPEND="pcsc-lite? ( sys-apps/pcsc-lite )
- readline? ( sys-libs/readline )
- usb? ( virtual/libusb:0 )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.5.1-glibc-2.17.patch"
-}
-
-src_configure() {
- # Upstream doesn't use the right macro, so we need to force this.
- # https://code.google.com/p/libnfc/issues/detail?id=249
- export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
-
- local drivers="arygon,pn532_uart"
- use pcsc-lite && drivers+=",acr122"
- use usb && drivers+=",pn53x_usb"
- econf \
- --with-drivers="${drivers}" \
- $(use_enable doc) \
- $(use_with readline) \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- use doc && doxygen
-}
-
-src_install() {
- default
- use static-libs || find "${ED}" -name 'lib*.la' -delete
- use doc && dohtml "${S}"/doc/html/*
-}
diff --git a/dev-libs/libnfc/libnfc-1.7.1.ebuild b/dev-libs/libnfc/libnfc-1.7.1.ebuild
deleted file mode 100644
index 9c11a2bbcaa5..000000000000
--- a/dev-libs/libnfc/libnfc-1.7.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs
-
-DESCRIPTION="Near Field Communications (NFC) library"
-HOMEPAGE="http://www.libnfc.org/"
-SRC_URI="https://github.com/nfc-tools/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="doc pcsc-lite readline static-libs usb"
-
-RDEPEND="pcsc-lite? ( sys-apps/pcsc-lite )
- readline? ( sys-libs/readline:0 )
- usb? ( virtual/libusb:0 )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-src_configure() {
- local drivers="arygon,pn532_uart,pn532_spi,pn532_i2c,acr122s"
- use pcsc-lite && drivers+=",acr122_pcsc"
- use usb && drivers+=",pn53x_usb,acr122_usb"
- econf \
- --with-drivers="${drivers}" \
- $(use_enable doc) \
- $(use_with readline) \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- use doc && doxygen
-}
-
-src_install() {
- default
- use static-libs || find "${ED}" -name 'lib*.la' -delete
- use doc && dohtml "${S}"/doc/html/*
-}
diff --git a/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild b/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..ef8be90d793a
--- /dev/null
+++ b/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Near Field Communications (NFC) library"
+HOMEPAGE="http://www.libnfc.org/"
+SRC_URI="https://github.com/nfc-tools/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="doc pcsc-lite readline usb"
+
+RDEPEND="
+ pcsc-lite? ( sys-apps/pcsc-lite )
+ readline? ( sys-libs/readline:= )
+ usb? ( virtual/libusb:0 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )"
+
+src_configure() {
+ local drivers="arygon,pn532_uart,pn532_spi,pn532_i2c,acr122s"
+ drivers+=$(usev pcsc-lite ",acr122_pcsc,pcsc")
+ drivers+=$(usev usb ",pn53x_usb,acr122_usb")
+ econf \
+ --with-drivers="${drivers}" \
+ $(use_enable doc) \
+ $(use_with readline)
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die
+ HTML_DOCS=( "${S}"/doc/html/. )
+ fi
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ insinto /etc/nfc
+ newins libnfc.conf.sample libnfc.conf
+}
diff --git a/dev-libs/libnfc/metadata.xml b/dev-libs/libnfc/metadata.xml
index 4346902e170d..1fbb553b1fb7 100644
--- a/dev-libs/libnfc/metadata.xml
+++ b/dev-libs/libnfc/metadata.xml
@@ -1,15 +1,18 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>ikelos@gentoo.org</email>
- <name>Mike Auty</name>
+ <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 cce3a38c7433..c3489a869e4a 100644
--- a/dev-libs/libnl/Manifest
+++ b/dev-libs/libnl/Manifest
@@ -1,2 +1,3 @@
-DIST libnl-1.1.4.tar.gz 1174974 BLAKE2B e6466e15db17fe4725674d77c6cdcefac73e51346f6f4378bc3ea8409c1534519cc28f1123c8201e78f6b95254701a2f9591f907b3cc597ac1210fd3f8b832ea SHA512 25e26ddcc16540346ea34815ab6ac094177e5cee2eb3d843c4f8b30cd9d83390a3e87cb46046dc3bd9ae4d21f77e57bb3827c2cfc588eb18afe049921f2030b4
-DIST libnl-3.4.0.tar.gz 933443 BLAKE2B 735da9f800277c48a5deceb78084f510f56f7017b1184e91b2bb45ba61a2e95355e7a3f5d0a74bdaf7ae003393a6c7556d5b201d0d0052dfc66042aa9e137986 SHA512 6336e5c55c79ff2638de9c812cc1842871769236bad7f65c547dec35fafd91988b257fceab144a0cc133c4b29f61172f6552c53aa9fc723bdc783079c2b1851e
+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-1.1-flags.patch b/dev-libs/libnl/files/libnl-1.1-flags.patch
deleted file mode 100644
index dc512c587b9e..000000000000
--- a/dev-libs/libnl/files/libnl-1.1-flags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -48,7 +48,7 @@
-
- $(OUT_SLIB): ../Makefile.opts $(OBJ)
- @echo " LD $(OUT_SLIB)"; \
-- $(CC) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
-+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,libnl.so.1 -o $(OUT_SLIB) $(OBJ) $(LIBNL_LIB) -lc
- @echo " LN $(OUT_SLIB) $(LN1_SLIB)"; \
- rm -f $(LN1_SLIB) ; $(LN) -s $(OUT_SLIB) $(LN1_SLIB)
- @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \
diff --git a/dev-libs/libnl/files/libnl-1.1-vlan-header.patch b/dev-libs/libnl/files/libnl-1.1-vlan-header.patch
deleted file mode 100644
index c4c2fc6382de..000000000000
--- a/dev-libs/libnl/files/libnl-1.1-vlan-header.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From: Patrick McHardy <kaber@trash.net>
-Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100)
-Subject: [LIBNL]: Add if_vlan.h
-X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958
-
-[LIBNL]: Add if_vlan.h
-
-vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in
-older if_vlan.h versions. Add the current version from the kernel.
-
-Signed-off-by: Patrick McHardy <kaber@trash.net>
----
-
-diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
-new file mode 100644
-index 0000000..068cd7b
---- /dev/null
-+++ include/linux/if_vlan.h
-@@ -0,0 +1,61 @@
-+/*
-+ * VLAN An implementation of 802.1Q VLAN tagging.
-+ *
-+ * Authors: Ben Greear <greearb@candelatech.com>
-+ *
-+ * 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 the Free Software Foundation; either version
-+ * 2 of the License, or (at your option) any later version.
-+ *
-+ */
-+
-+#ifndef _LINUX_IF_VLAN_H_
-+#define _LINUX_IF_VLAN_H_
-+
-+
-+/* VLAN IOCTLs are found in sockios.h */
-+
-+/* Passed in vlan_ioctl_args structure to determine behaviour. */
-+enum vlan_ioctl_cmds {
-+ ADD_VLAN_CMD,
-+ DEL_VLAN_CMD,
-+ SET_VLAN_INGRESS_PRIORITY_CMD,
-+ SET_VLAN_EGRESS_PRIORITY_CMD,
-+ GET_VLAN_INGRESS_PRIORITY_CMD,
-+ GET_VLAN_EGRESS_PRIORITY_CMD,
-+ SET_VLAN_NAME_TYPE_CMD,
-+ SET_VLAN_FLAG_CMD,
-+ GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
-+ GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
-+};
-+
-+enum vlan_flags {
-+ VLAN_FLAG_REORDER_HDR = 0x1,
-+};
-+
-+enum vlan_name_types {
-+ VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */
-+ VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */
-+ VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */
-+ VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */
-+ VLAN_NAME_TYPE_HIGHEST
-+};
-+
-+struct vlan_ioctl_args {
-+ int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
-+ char device1[24];
-+
-+ union {
-+ char device2[24];
-+ int VID;
-+ unsigned int skb_priority;
-+ unsigned int name_type;
-+ unsigned int bind_type;
-+ unsigned int flag; /* Matches vlan_dev_info flags */
-+ } u;
-+
-+ short vlan_qos;
-+};
-+
-+#endif /* !(_LINUX_IF_VLAN_H_) */
diff --git a/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch b/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch
deleted file mode 100644
index e370a5e62fc6..000000000000
--- a/dev-libs/libnl/files/libnl-1.1.3-offsetof.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/include/netlink-local.h
-+++ b/include/netlink-local.h
-@@ -343,7 +343,9 @@
- }
-
- #define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
-+#ifndef offsetof
- #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-+#endif
-
- #define __init __attribute__ ((constructor))
- #define __exit __attribute__ ((destructor))
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/libnl-1.1.4-r1.ebuild b/dev-libs/libnl/libnl-1.1.4-r1.ebuild
deleted file mode 100644
index 2b9928fc0566..000000000000
--- a/dev-libs/libnl/libnl-1.1.4-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit multilib toolchain-funcs
-
-DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
-HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
-SRC_URI="http://www.infradead.org/~tgr/libnl/files/${P}.tar.gz"
-LICENSE="LGPL-2.1"
-SLOT="1.1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-DOCS=( ChangeLog )
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1-vlan-header.patch
- "${FILESDIR}"/${PN}-1.1-flags.patch
- "${FILESDIR}"/${PN}-1.1.3-offsetof.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e '/@echo/d' \
- Makefile.rules {lib,src,tests}/Makefile || die
- sed -i \
- -e 's|-g ||g' \
- Makefile.opts.in || die
-
- if ! use static-libs; then
- sed -i lib/Makefile -e '/OUT_AR/d' || die
- fi
-
- rm -f lib/libnl.a
-}
-
-src_compile() {
- emake AR=$(tc-getAR)
-
- if use doc ; then
- cd "${S}/doc"
- emake gendoc || die
- fi
-}
-
-src_install() {
- default
-
- if use doc ; then
- cd "${S}/doc"
- docinto html
- dodoc -r html/*
- fi
-}
diff --git a/dev-libs/libnl/libnl-1.1.4.ebuild b/dev-libs/libnl/libnl-1.1.4.ebuild
deleted file mode 100644
index 686c171132d1..000000000000
--- a/dev-libs/libnl/libnl-1.1.4.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
-HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
-SRC_URI="http://www.infradead.org/~tgr/libnl/files/${P}.tar.gz"
-LICENSE="LGPL-2.1"
-SLOT="1.1"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-DOCS=( ChangeLog )
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/${PN}-1.1-vlan-header.patch \
- "${FILESDIR}"/${PN}-1.1-flags.patch \
- "${FILESDIR}"/${PN}-1.1.3-offsetof.patch
- sed -i \
- -e '/@echo/d' \
- Makefile.rules {lib,src,tests}/Makefile || die
- sed -i \
- -e 's|-g ||g' \
- Makefile.opts.in || die
-
- if ! use static-libs; then
- sed -i lib/Makefile -e '/OUT_AR/d' || die
- fi
-
- rm -f lib/libnl.a
-}
-
-src_compile() {
- emake AR=$(tc-getAR)
-
- if use doc ; then
- cd "${S}/doc"
- emake gendoc || die
- fi
-}
-
-src_install() {
- default
-
- if use doc ; then
- cd "${S}/doc"
- dohtml -r html/*
- fi
-}
diff --git a/dev-libs/libnl/libnl-3.4.0.ebuild b/dev-libs/libnl/libnl-3.4.0.ebuild
deleted file mode 100644
index 6c2881430a66..000000000000
--- a/dev-libs/libnl/libnl-3.4.0.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-DISTUTILS_OPTIONAL=1
-inherit distutils-r1 eutils libtool multilib multilib-minimal
-
-LIBNL_P=${P/_/-}
-LIBNL_DIR=${PV/_/}
-LIBNL_DIR=${LIBNL_DIR//./_}
-
-DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
-HOMEPAGE="http://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
-"
-LICENSE="LGPL-2.1 utils? ( GPL-2 )"
-SLOT="3"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+debug static-libs python +threads utils"
-
-RDEPEND="
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="
- ${RDEPEND}
- python? ( dev-lang/swig )
- sys-devel/bison
- sys-devel/flex
-"
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-DOCS=(
- ChangeLog
-)
-
-S=${WORKDIR}/${LIBNL_P}
-
-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 \
- $(multilib_native_use_enable utils cli) \
- $(use_enable debug) \
- $(use_enable static-libs static) \
- $(use_enable threads) \
- --disable-silent-rules
-}
-
-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
- prune_libtool_files --modules
-}
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..1f693f3fcd9b
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.9.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 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..12} )
+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..1f693f3fcd9b
--- /dev/null
+++ b/dev-libs/libnl/libnl-9999.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 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..12} )
+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 43eb90b83be5..000000000000
--- a/dev-libs/libnl/libnl-99999999.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 python3_{5,6} )
-DISTUTILS_OPTIONAL=1
-inherit autotools distutils-r1 eutils git-r3 libtool multilib multilib-minimal
-
-DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
-HOMEPAGE="http://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
-EGIT_REPO_URI="
- https://github.com/thom311/libnl.git
-"
-LICENSE="LGPL-2.1 utils? ( GPL-2 )"
-SLOT="3"
-KEYWORDS=""
-IUSE="+debug static-libs python +threads utils"
-
-RDEPEND="
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="
- ${RDEPEND}
- python? ( dev-lang/swig )
- 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
-
- eautoreconf
-
- 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 \
- $(multilib_native_use_enable utils cli) \
- $(use_enable debug) \
- $(use_enable static-libs static) \
- $(use_enable threads) \
- --disable-silent-rules
-}
-
-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
- prune_libtool_files --modules
-}
diff --git a/dev-libs/libnl/metadata.xml b/dev-libs/libnl/metadata.xml
index ae83e25b4104..ff40a5ef75a9 100644
--- a/dev-libs/libnl/metadata.xml
+++ b/dev-libs/libnl/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>netmon@gentoo.org</email>
<name>Gentoo network monitoring and analysis project</name>
</maintainer>
<use>
- <flag name="doc">Install development documentation</flag>
<flag name="python">Install experimental <pkg>dev-lang/python</pkg> bindings</flag>
<flag name="utils">Install command line interface utils</flag>
</use>
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/Manifest b/dev-libs/libnsfb/Manifest
index 3344cf30ba90..6d519af81e1a 100644
--- a/dev-libs/libnsfb/Manifest
+++ b/dev-libs/libnsfb/Manifest
@@ -1 +1 @@
-DIST libnsfb-0.2.0-src.tar.gz 82322 BLAKE2B d805478728015663b4bf9c8de018bda33dcd84a7ace7246c450a7c31cc3358f834ade21ac1df9f0ca0e4dcea1138369cc3cd9ac468ebb484cce139d4bc89441e SHA512 b90eca76c8dcb22e554e13b5bea4268e5c9fc6e4711bafa5acbed92cc83513c3a3965208b3956de250fb3013cc3db6a33922ded471fa7a24bde97f748d2212c5
+DIST libnsfb-0.2.2-src.tar.gz 82594 BLAKE2B 6deb775e77df71fbcefac6ef8755484bed476b652ae5dc3fe8914b859262ea1f6ee49da9d27a5a1bf34256481c58dd98339f0eb96511dcdc44cff2bef9ef6a7a SHA512 8cd16c0ca974aad8105dc32c8ebd627cf24f6d3bd81360515c2e0159e35328920e91039bb06ab4f52c93264c2112d0e130761e3837ba26fc703caeb52bf27b66
diff --git a/dev-libs/libnsfb/libnsfb-0.2.0-r1.ebuild b/dev-libs/libnsfb/libnsfb-0.2.0-r1.ebuild
deleted file mode 100644
index 29f239271066..000000000000
--- a/dev-libs/libnsfb/libnsfb-0.2.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="framebuffer abstraction library, written in C"
-HOMEPAGE="http://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 ~ppc ~ppc64"
-IUSE="sdl test vnc wayland xcb"
-
-RDEPEND="sdl? ( >=media-libs/libsdl-1.2.15-r4 )
- vnc? ( >=net-libs/libvncserver-0.9.9-r2 )
- wayland? ( >=dev-libs/wayland-1.0.6 )
- xcb? (
- >=x11-libs/libxcb-1.9.1
- >=x11-libs/xcb-util-0.3.9-r1
- >=x11-libs/xcb-util-image-0.3.9-r1
- >=x11-libs/xcb-util-keysyms-0.3.9-r1
- )"
-DEPEND="${RDEPEND}
- dev-util/netsurf-buildsystem"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.1.0-autodetect.patch )
-
-DOCS=( usage )
-
-_emake() {
- source /usr/share/netsurf-buildsystem/gentoo-helpers.sh
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared \
- WITH_VNC=$(usex vnc) \
- WITH_SDL=$(usex sdl) \
- WITH_XCB=$(usex xcb) \
- WITH_WLD=$(usex wayland) \
- $@
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${ED}" install
-}
diff --git a/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild b/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..9c276dfffb96
--- /dev/null
+++ b/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit netsurf
+
+DESCRIPTION="C library for framebuffer abstraction"
+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 ~riscv ~x86"
+IUSE="sdl test vnc wayland X"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="sdl? ( >=media-libs/libsdl-1.2.15-r4 )
+ vnc? ( >=net-libs/libvncserver-0.9.9-r2 )
+ wayland? ( >=dev-libs/wayland-1.0.6 )
+ X? (
+ >=x11-libs/libxcb-1.9.1
+ >=x11-libs/xcb-util-0.3.9-r1
+ >=x11-libs/xcb-util-image-0.3.9-r1
+ >=x11-libs/xcb-util-keysyms-0.3.9-r1
+ )"
+BDEPEND="dev-build/netsurf-buildsystem"
+
+PATCHES=( "${FILESDIR}/${PN}-0.1.0-autodetect.patch" )
+
+DOCS=( usage )
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared \
+ WITH_VNC=$(usex vnc) \
+ WITH_SDL=$(usex sdl) \
+ WITH_XCB=$(usex X) \
+ WITH_WLD=$(usex wayland) \
+ $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libnsfb/metadata.xml b/dev-libs/libnsfb/metadata.xml
index 7a38bb900964..115e9d64a669 100644
--- a/dev-libs/libnsfb/metadata.xml
+++ b/dev-libs/libnsfb/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libnsutils/Manifest b/dev-libs/libnsutils/Manifest
index 10509d4cc295..ce490b784d84 100644
--- a/dev-libs/libnsutils/Manifest
+++ b/dev-libs/libnsutils/Manifest
@@ -1 +1 @@
-DIST libnsutils-0.0.5-src.tar.gz 7653 BLAKE2B 4f7810f436f5ffd33084bc67095f3cb48a7744ef6f9ab0d632cd7b87467ff8bca54809de5a8ea837a00429c951d4e701909bd5f185e1c600a7323393017596cb SHA512 b9611db39adf11aa4e29387614bf55e241c075a223c687f5520e5b6808cc392c847be1a1d74559928e385a93886c4a67158504342384a1b200cf9ce13c00db50
+DIST libnsutils-0.1.1-src.tar.gz 8996 BLAKE2B abd096ea6cfd47abd85a55aa3455f45b61cf80a1b93f2c3048f0edc4df02160c1f78cd3d5197e39253eeaa227d366694536c2c19cfbebb6fed663626ef2bbdb6 SHA512 f0294abb458378fcc4740feadf334e13b2f89db5783980bbdbdfd0403df735e483dd5e43af2c39bc3e669ee181ade7eecab673483aa65dbe697aec1b56dc4a0f
diff --git a/dev-libs/libnsutils/libnsutils-0.0.5-r1.ebuild b/dev-libs/libnsutils/libnsutils-0.0.5-r1.ebuild
deleted file mode 100644
index 26f14cd3fa16..000000000000
--- a/dev-libs/libnsutils/libnsutils-0.0.5-r1.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
-
-inherit toolchain-funcs
-
-DESCRIPTION="base64 and time library, written in C"
-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 ~ppc ~ppc64"
-IUSE=""
-
-DEPEND="dev-util/netsurf-buildsystem"
-
-_emake() {
- source /usr/share/netsurf-buildsystem/gentoo-helpers.sh
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${ED}" 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 7a38bb900964..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/libntru/Manifest b/dev-libs/libntru/Manifest
deleted file mode 100644
index b35211047d7c..000000000000
--- a/dev-libs/libntru/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libntru-0.4.1.tar.gz 97284 BLAKE2B 1384f96627c02f0b3981b25f8f080ae87606cbbf855358d40ccfb46abd22834c0af03f518bdfd23fbe17bdc40fc57cd1066db9e3bedb9a7529e2cf1130c6a5af SHA512 c49251a194614f02124c90c08b886f89d0dacbed2088eb2e306946666af3b8bc3f9c2dc2c7f5e4c0560af66fca31a640fa853b3142dcfb2ee2b0dfe9a0d41f61
diff --git a/dev-libs/libntru/libntru-0.4.1-r1.ebuild b/dev-libs/libntru/libntru-0.4.1-r1.ebuild
deleted file mode 100644
index 7625c4a96d4b..000000000000
--- a/dev-libs/libntru/libntru-0.4.1-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils toolchain-funcs multilib multilib-minimal
-
-DESCRIPTION="C Implementation of NTRUEncrypt"
-HOMEPAGE="https://github.com/tbuktu/libntru"
-SRC_URI="https://github.com/tbuktu/libntru/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples static-libs"
-
-DEPEND="dev-lang/perl"
-
-src_prepare() {
- default
-
- multilib_copy_sources
-
- _copy_test_dir() {
- cp -pr "${BUILD_DIR}" "${BUILD_DIR}-test" || die
- }
- multilib_foreach_abi _copy_test_dir
-}
-
-multilib_src_compile() {
- CFLAGS="${CFLAGS}" \
- emake \
- CC="$(tc-getCC)" \
- $(usex static-libs "libntru.a libntru.so" "") \
- MACHINE="$(if [[ ${ABI} == x86 ]] ; then echo i386 ; else echo x86_64 ; fi)"
-}
-
-src_test() {
- _test() {
- CFLAGS="${CFLAGS}" \
- emake CC="$(tc-getCC)" test -j1 -C "${BUILD_DIR}-test" \
- MACHINE="$(if [[ ${ABI} == x86 ]] ; then echo i386 ; else echo x86_64 ; fi)"
-
- }
-
- multilib_foreach_abi _test
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${ED}" \
- INST_LIBDIR="/usr/$(get_libdir)" \
- INST_DOCDIR="/usr/share/doc/${PF}" \
- MACHINE="$(if [[ ${ABI} == x86 ]] ; then echo i386 ; else echo x86_64 ; fi)" \
- install $(usex static-libs install-static-lib "")
-}
-
-multilib_src_install_all() {
- einstalldocs
- if use examples ; then
- docinto examples
- dodoc src/hybrid.c
- fi
-}
diff --git a/dev-libs/libntru/metadata.xml b/dev-libs/libntru/metadata.xml
deleted file mode 100644
index 83d560b32b49..000000000000
--- a/dev-libs/libntru/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">tbuktu/libntru</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libofx/Manifest b/dev-libs/libofx/Manifest
index 4b302287feca..dbab1540b824 100644
--- a/dev-libs/libofx/Manifest
+++ b/dev-libs/libofx/Manifest
@@ -1 +1 @@
-DIST libofx-0.9.10.tar.gz 1433837 BLAKE2B 131be0243b8450d32417dd75f0421744412a3186c0f7a3451883b6572c0dd27427579baf280ac2ae6409d0738bd578f69eaa9debfe50024411c6b0ccad11f5c9 SHA512 061110702034dbbb9be3adaebe6236a4b0842169d8ee7671bad6c93960b380cbb33953bdf080c8b14f45930b0c817fcfe1bf71f15d9872dd2535a1415f5be895
+DIST libofx-0.10.9.tar.gz 1478209 BLAKE2B fc7f7f2dae723fbfd44bd2c4550fead3b2ec12725fb89f385fe8d454e2b9c9985ae408e24c25c0db5cde891c7ad1d36acc3cae59c49d41501db60711989a1955 SHA512 89425912fa8c800ede9d7177ccd5cb3ea2a2301b42aa6580ddb105406fe68c770e2c461eefdea5bc7e883967c90e3519a219bf0b56d12c7de1030d0964d50cac
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/libofx/libofx-0.9.10.ebuild b/dev-libs/libofx/libofx-0.9.10.ebuild
deleted file mode 100644
index af1022953385..000000000000
--- a/dev-libs/libofx/libofx-0.9.10.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils
-
-DESCRIPTION="A library to support the Open Financial eXchange XML format"
-HOMEPAGE="http://libofx.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 hppa ~ppc ~ppc64 x86"
-IUSE="static-libs test"
-
-RDEPEND="
- >=app-text/opensp-1.5
- dev-cpp/libxmlpp:2.6
- >=net-misc/curl-7.9.7
- virtual/libiconv
-"
-DEPEND="${RDEPEND}
- sys-apps/help2man
- virtual/pkgconfig
- test? ( app-crypt/gnupg )
-"
-
-src_prepare() {
- autotools-utils_src_prepare
-
- # Be sure DTD gets installed in correct path after redefining docdir in install
- sed -i \
- -e 's:$(DESTDIR)$(docdir):$(DESTDIR)$(LIBOFX_DTD_DIR):' \
- dtd/Makefile.in || die
-
- # configure arguments alone don't disable everything
- sed -e "/^SUBDIRS/s/doc//" -i Makefile.in || die
-}
-
-src_compile() {
- autotools-utils_src_compile CXXFLAGS+=-std=c++11 #566456
-}
-
-src_install() {
- autotools-utils_src_install docdir="/usr/share/doc/${PF}"
-
- rm -f "${ED}"/usr/share/doc/${PF}/{COPYING,INSTALL}
-}
diff --git a/dev-libs/libofx/metadata.xml b/dev-libs/libofx/metadata.xml
index 78afc83cfd53..3f810d6438ed 100644
--- a/dev-libs/libofx/metadata.xml
+++ b/dev-libs/libofx/metadata.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
+ <remote-id type="github">libofx/libofx</remote-id>
<remote-id type="sourceforge">libofx</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/liboil/files/liboil-0.3.17-c99-configure.patch b/dev-libs/liboil/files/liboil-0.3.17-c99-configure.patch
new file mode 100644
index 000000000000..7feba8a24d99
--- /dev/null
+++ b/dev-libs/liboil/files/liboil-0.3.17-c99-configure.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/906533
+--- a/m4/as-unaligned-access.m4
++++ b/m4/as-unaligned-access.m4
+@@ -19,6 +19,7 @@ AC_DEFUN([AS_UNALIGNED_ACCESS], [
+ fi
+ if test x"$as_cv_unaligned_access" = x ; then
+ AC_TRY_RUN([
++#include <string.h>
+ int main(int argc, char **argv)
+ {
+ char array[] = "ABCDEFGH";
+--- a/configure
++++ b/configure
+@@ -12022,6 +12022,7 @@ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
++#include <string.h>
+ int main(int argc, char **argv)
+ {
+ char array[] = "ABCDEFGH";
diff --git a/dev-libs/liboil/liboil-0.3.17-r2.ebuild b/dev-libs/liboil/liboil-0.3.17-r2.ebuild
deleted file mode 100644
index 68e14d481b05..000000000000
--- a/dev-libs/liboil/liboil-0.3.17-r2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib autotools-multilib
-
-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 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="+examples static-libs test"
-
-RDEPEND="examples? ( dev-libs/glib:2 )"
-DEPEND="${RDEPEND}
- dev-util/gtk-doc-am
- virtual/pkgconfig"
-DOCS=( AUTHORS BUG-REPORTING HACKING NEWS README )
-
-src_prepare() {
- if ! use examples; then
- sed "s/^\(SUBDIRS =.*\)examples\(.*\)$/\1\2/" \
- -i Makefile.am Makefile.in || die
- fi
-
- if ! use test; then
- sed "s/^\(SUBDIRS =.*\)testsuite\(.*\)$/\1\2/" \
- -i Makefile.am Makefile.in || die
- fi
-
- epatch "${FILESDIR}/${P}-amd64-cpuid.patch"
- has x32 $(get_all_abis) && epatch "${FILESDIR}"/${PN}-0.3.17-x32.patch
-}
-
-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
-
- autotools-multilib_src_configure
-}
-
-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-r5.ebuild b/dev-libs/liboil/liboil-0.3.17-r5.ebuild
new file mode 100644
index 000000000000..cc494faf3d93
--- /dev/null
+++ b/dev-libs/liboil/liboil-0.3.17-r5.ebuild
@@ -0,0 +1,73 @@
+# 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
+ "${FILESDIR}"/${P}-c99-configure.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
+ # bug #931004
+ filter-lto
+
+ # 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/liboil/metadata.xml b/dev-libs/liboil/metadata.xml
index 95e86c12108a..d4390c2eb58e 100644
--- a/dev-libs/liboil/metadata.xml
+++ b/dev-libs/liboil/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>freedesktop-bugs@gentoo.org</email>
diff --git a/dev-libs/liboobs/Manifest b/dev-libs/liboobs/Manifest
deleted file mode 100644
index c3b15648ef7f..000000000000
--- a/dev-libs/liboobs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST liboobs-3.0.0.tar.bz2 344118 BLAKE2B db4bcee51d6616b5d1e53fae964ab882db5d38fbae2bfe61a154dbc39f0f7b67d7f6ac939f01aaa64ad71e8be2ab170fe7cda56afd7ea929794dec7199b81e8f SHA512 67191294059fc6669bcad0d7e07669b1d9f1aa59e8a56ba8697051b901829bc8ef0ac9efe654160ad722884c9a0a80214e4bc989a8a77269bef0999b3fbaad9a
diff --git a/dev-libs/liboobs/liboobs-3.0.0.ebuild b/dev-libs/liboobs/liboobs-3.0.0.ebuild
deleted file mode 100644
index 803da83e48d1..000000000000
--- a/dev-libs/liboobs/liboobs-3.0.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-GCONF_DEBUG="no"
-GNOME_TARBALL_SUFFIX="bz2"
-
-inherit gnome2
-
-DESCRIPTION="Liboobs is a wrapping library to the System Tools Backends"
-HOMEPAGE="https://developer.gnome.org/liboobs/stable/"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm ~arm64 ia64 ppc sparc x86"
-IUSE=""
-
-# FIXME: check if policykit should be checked in configure ?
-RDEPEND="
- >=dev-libs/glib-2.14:2
- >=dev-libs/dbus-glib-0.70
- >=app-admin/system-tools-backends-2.10.1
-"
-DEPEND="${RDEPEND}
- dev-util/gtk-doc-am
- virtual/pkgconfig
-"
-
-src_configure() {
- gnome2_src_configure \
- --without-hal \
- --disable-static
-}
diff --git a/dev-libs/liboobs/metadata.xml b/dev-libs/liboobs/metadata.xml
deleted file mode 100644
index b2615603e995..000000000000
--- a/dev-libs/liboobs/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>lxqt@gentoo.org</email>
- <name>LXQt</name>
- </maintainer>
- <longdescription lang="en">
- Liboobs is a wrapping library to the System Tools Backends, it will
- provide easy to access GObjects to system configuration details, like
- users, groups and network interfaces, it will handle sessions with the
- backend and data consistency too
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/liborcus/Manifest b/dev-libs/liborcus/Manifest
index 5ef7b99786f5..43b43bede6f9 100644
--- a/dev-libs/liborcus/Manifest
+++ b/dev-libs/liborcus/Manifest
@@ -1,2 +1 @@
-DIST liborcus-0.13.4.tar.xz 1816340 BLAKE2B f8e7251c8688f82604d5ac1212938890e42f23ce45edb09eba9ab26a810e5fd4215a23dd20e86ddf9100db67818fc73fbbee7357642a6390f8f60dc28596be31 SHA512 f00b49c41eb1898c37d8d42e59f9004f46b5f849b9d60ac9c5033232d1e5065ff3de160e79f5a88983bf64f86e283b6d1d406a24e776aa6ff7b8acec324ccd4b
-DIST liborcus-0.14.1.tar.xz 1894680 BLAKE2B 0070baf319bf35275f36f3082141f154404ad43d8143588b35c00b8b536f0c1cf5bf38fd9e997c4be45a454f16de1cc1a25186da40e3ed0606a87e9a6a968053 SHA512 a32dc5a652ce99cff37273c38fb9460e13e7bfb562f40c8d0c79b65c33e340daaeeb2c796308ca700b85bfc13cc8215641563b9e9f6d44b7d61adb8e8a3c950f
+DIST liborcus-0.19.2.tar.xz 2211268 BLAKE2B 4ee3fd2fb122d3a9840cb92452bf8a6d3d54b7b50a32be84e1bb08dfe2e2abc2de80098d9460b6bd82d0249304a7ba5c39b18ace3f69150ba71e16ef14795ca4 SHA512 c955490f57e91615278a83bb48726025cd5f8059b97ed5532f770199e134ca511c7ee6b0cd0a9d3a2d54208a5fdd19117054e95e818162ea568052fa11b21d4e
diff --git a/dev-libs/liborcus/files/liborcus-0.13.4-boost-1.67.patch b/dev-libs/liborcus/files/liborcus-0.13.4-boost-1.67.patch
deleted file mode 100644
index b1d44b8db4cb..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.13.4-boost-1.67.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From f7485813af8e50f88c77312fb29b7bb489a0a17d Mon Sep 17 00:00:00 2001
-From: Adam Majer <amajer@suse.de>
-Date: Wed, 23 May 2018 10:45:56 +0200
-Subject: [PATCH] Fix build with Boost 1.67
-
-Boost:DateTime that no longer accepts non-integer types.
-In the past, these types were implicitly cast down to integer
-values. Now this requires explicit cast.
-
-https://svn.boost.org/trac10/ticket/11168
-
-This fixes #60
----
- src/spreadsheet/sheet.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/spreadsheet/sheet.cpp b/src/spreadsheet/sheet.cpp
-index 7df1aedb..33b372ad 100644
---- a/src/spreadsheet/sheet.cpp
-+++ b/src/spreadsheet/sheet.cpp
-@@ -289,7 +289,7 @@ void sheet::set_date_time(row_t row, col_t col, int year, int month, int day, in
-
- double days_since_epoch = (d - origin).days();
-
-- double ms = second * 1000000.0;
-+ long ms = second * 1000000.0;
-
- posix_time::time_duration t(
- posix_time::hours(hour) +
-@@ -606,7 +606,7 @@ date_time_t sheet::get_date_time(row_t row, col_t col) const
- if (time_fraction)
- {
- // Convert a fraction day to microseconds.
-- double ms = time_fraction * 24.0 * 60.0 * 60.0 * 1000000.0;
-+ long ms = time_fraction * 24.0 * 60.0 * 60.0 * 1000000.0;
- posix_time::time_duration td = posix_time::microsec(ms);
-
- hours = td.hours();
-@@ -615,7 +615,7 @@ date_time_t sheet::get_date_time(row_t row, col_t col) const
-
- td -= posix_time::hours(hours);
- td -= posix_time::minutes(minutes);
-- td -= posix_time::seconds(seconds);
-+ td -= posix_time::seconds((long)seconds);
-
- ms = td.total_microseconds(); // remaining microseconds.
-
---
-2.18.0
-
diff --git a/dev-libs/liborcus/liborcus-0.13.4.ebuild b/dev-libs/liborcus/liborcus-0.13.4.ebuild
deleted file mode 100644
index cb8289ad6304..000000000000
--- a/dev-libs/liborcus/liborcus-0.13.4.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
-
-PYTHON_COMPAT=( python{3_5,3_6} )
-
-[[ ${PV} == 9999 ]] && GITECLASS="git-r3 autotools"
-inherit python-single-r1 ${GITECLASS}
-unset GITECLASS
-
-DESCRIPTION="Standalone file import filter library for spreadsheet documents"
-HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
-[[ ${PV} == 9999 ]] || SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0/0.13" # based on SONAME of liborcus.so
-[[ ${PV} == 9999 ]] || \
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-IUSE="python +spreadsheet-model static-libs tools"
-
-RDEPEND="
- dev-libs/boost:=
- sys-libs/zlib
- python? ( ${PYTHON_DEPS} )
- spreadsheet-model? ( =dev-libs/libixion-0.13*:= )
-"
-DEPEND="${RDEPEND}
- =dev-util/mdds-1.3*:1
-"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=( "${FILESDIR}/${P}-boost-1.67.patch" )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- [[ ${PV} == 9999 ]] && eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-werror \
- $(use_enable python) \
- $(use_enable spreadsheet-model) \
- $(use_enable static-libs static) \
- $(use_with tools)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/liborcus/liborcus-0.14.1.ebuild b/dev-libs/liborcus/liborcus-0.14.1.ebuild
deleted file mode 100644
index 0f6a0844ca7c..000000000000
--- a/dev-libs/liborcus/liborcus-0.14.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-inherit 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
- EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
- inherit git-r3 autotools
-else
- SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.14" # based on SONAME of liborcus.so
-IUSE="python +spreadsheet-model static-libs tools"
-
-RDEPEND="
- dev-libs/boost:=
- sys-libs/zlib
- python? ( ${PYTHON_DEPS} )
- spreadsheet-model? ( >=dev-libs/libixion-0.14.0:= )
-"
-DEPEND="${RDEPEND}
- >=dev-util/mdds-1.4.1:1
-"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- [[ ${PV} == 9999 ]] && eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-werror \
- $(use_enable python) \
- $(use_enable spreadsheet-model) \
- $(use_enable static-libs static) \
- $(use_with tools)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -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 24dd4371bd52..3aecf4036ad7 100644
--- a/dev-libs/liborcus/liborcus-9999.ebuild
+++ b/dev-libs/liborcus/liborcus-9999.ebuild
@@ -1,57 +1,63 @@
-# 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
-PYTHON_COMPAT=( python3_{5,6,7} )
-inherit python-single-r1
+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 autotools
+ inherit git-r3
else
+ 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.14" # based on SONAME of liborcus.so
-IUSE="python +spreadsheet-model static-libs 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:=
+ dev-libs/boost:=[zlib(+)]
sys-libs/zlib
python? ( ${PYTHON_DEPS} )
- spreadsheet-model? ( >=dev-libs/libixion-0.14.0:= )
+ spreadsheet-model? ( dev-libs/libixion:${SLOT} )
"
DEPEND="${RDEPEND}
- >=dev-util/mdds-1.4.1:1
+ dev-util/mdds:${MDDS_SLOT}
"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
pkg_setup() {
use python && python-single-r1_pkg_setup
}
src_prepare() {
default
- [[ ${PV} == 9999 ]] && eautoreconf
+ eautoreconf
}
src_configure() {
- econf \
- --disable-werror \
- $(use_enable python) \
- $(use_enable spreadsheet-model) \
- $(use_enable static-libs static) \
+ local myeconfargs=(
+ --without-benchmark
+ --disable-werror
+ $(use_enable python)
+ $(use_enable spreadsheet-model)
$(use_with tools)
+ )
+ econf "${myeconfargs[@]}"
}
src_install() {
default
- find "${D}" -name '*.la' -delete || die
+ use python && python_optimize
+ find "${D}" -name '*.la' -type f -delete || die
}
diff --git a/dev-libs/liborcus/metadata.xml b/dev-libs/liborcus/metadata.xml
index beb8258023d2..479b53c9f3db 100644
--- a/dev-libs/liborcus/metadata.xml
+++ b/dev-libs/liborcus/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>office@gentoo.org</email>
diff --git a/dev-libs/libotf/Manifest b/dev-libs/libotf/Manifest
index 4e5bb767bce5..d49505bcc21e 100644
--- a/dev-libs/libotf/Manifest
+++ b/dev-libs/libotf/Manifest
@@ -1,2 +1 @@
-DIST libotf-0.9.13.tar.gz 388832 BLAKE2B 73d15db54457afe98016b3958668fd5d62e81c8f53d34bc8ddd6ce5c18e54085a9d3ff1648e2170c7a97823dcbd9ef117f3e66befbea272dd98193baf63d6039 SHA512 86ddf071df371ee44910afc02432352356bfa1c2a55b44274c95fc4e7ec4fca982a7fcde35aaa63a8cb332e98388a9faf9a94fbf0f39e85668630f77d841ef31
DIST libotf-0.9.16.tar.gz 423979 BLAKE2B 838e7c855f93ebb30bcccd1d3055f662da1736bb85fa398f9ffe84411249f63e4f66908b55534c2f07446b45ae7912745a92bbf0404f8d62eeb3a9119a604b37 SHA512 0f68c45c1224f02dc0f1a8e9915dd9c1c70d71259b4e2f7bbd4fbec6426e58d4a26e4cbf28dbb8ed051ba6f532f99fc4e74b4ddf97a93ec947fa6260c875d0b4
diff --git a/dev-libs/libotf/libotf-0.9.13.ebuild b/dev-libs/libotf/libotf-0.9.13.ebuild
deleted file mode 100644
index 34aacce2afe5..000000000000
--- a/dev-libs/libotf/libotf-0.9.13.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils
-
-DESCRIPTION="Library for handling OpenType fonts (OTF)"
-HOMEPAGE="http://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 ppc ppc64 sh 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
- )"
-
-DOCS="AUTHORS ChangeLog NEWS README"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-build.patch
- eautoreconf
-}
-
-src_configure() {
- export ac_cv_header_X11_Xaw_Command_h=$(usex X)
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
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..e2a473506559
--- /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 e0066ed99ca6..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-2018 Gentoo Foundation
+# 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 ~sh ~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/libotf/metadata.xml b/dev-libs/libotf/metadata.xml
index 99d94f247165..f8581c0f9b0d 100644
--- a/dev-libs/libotf/metadata.xml
+++ b/dev-libs/libotf/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>cjk@gentoo.org</email>
diff --git a/dev-libs/libowfat/Manifest b/dev-libs/libowfat/Manifest
index dbed130e1f44..829ac2cdc3c6 100644
--- a/dev-libs/libowfat/Manifest
+++ b/dev-libs/libowfat/Manifest
@@ -1,2 +1,2 @@
-DIST libowfat-0.31.tar.xz 183684 BLAKE2B 67c60ebba10463f28196e3d9ed5f20fdbe79db8b499b226fb02d4f38833747e5e709054473267a1e139e1bef29222220e7f60cf2f472ac58ca67b52dca2c5661 SHA512 b3ce973d6edc501ddaa6caa84dc3b74e3e31ced92e4f707038858cd36c977863251a7eaeababdad34ffe6b8ad13c9702118464f6f9fd827e05f6fbc5004408b5
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/files/libowfat-0.32-ar.patch b/dev-libs/libowfat/files/libowfat-0.32-ar.patch
new file mode 100644
index 000000000000..c817f35ae7e7
--- /dev/null
+++ b/dev-libs/libowfat/files/libowfat-0.32-ar.patch
@@ -0,0 +1,66 @@
+--- a/Makefile 2021-08-20 08:58:11.523401075 +0200
++++ b/Makefile 2021-08-20 08:58:38.122920942 +0200
+@@ -241,6 +242,8 @@
+ CROSS=
+ #CROSS=i686-mingw-
+ CC?=gcc
++AR?=ar
++RANLIB?=ranlib
+ CCC=$(CROSS)$(CC)
+ WERROR=
+ WARN=-W -Wall -Wextra $(WERROR)
+@@ -1092,8 +1296,8 @@
+ $(IO_OBJS) $(CDB_OBJS) $(CRITBIT_OBJS)
+
+ libowfat.a: $(ALL_OBJS)
+- $(CROSS)ar cru $@ $(ALL_OBJS)
+- -$(CROSS)ranlib $@
++ $(CROSS)$(AR) cru $@ $(ALL_OBJS)
++ -$(CROSS)$(RANLIB) $@
+
+ CFLAGS+=-I.
+ CFLAGS_OPT+=-I.
+@@ -1105,8 +1309,8 @@
+ $(DIET) $(CCC) -c $< $(CFLAGS)
+
+ %.a:
+- $(CROSS)ar cru $@ $^
+- -$(CROSS)ranlib $@
++ $(CROSS)$(AR) cru $@ $^
++ -$(CROSS)$(RANLIB) $@
+
+ t.o: t.c fmt.h scan.h str.h uint16.h uint32.h stralloc.h socket.h \
+ buffer.h ip4.h ip6.h byte.h mmap.h open.h textcode.h dns.h iopause.h \
+--- a/GNUmakefile 2021-08-20 08:58:11.523401075 +0200
++++ b/GNUmakefile 2021-08-20 08:58:38.122920942 +0200
+@@ -241,6 +242,8 @@
+ CROSS=
+ #CROSS=i686-mingw-
+ CC?=gcc
++AR?=ar
++RANLIB?=ranlib
+ CCC=$(CROSS)$(CC)
+ WERROR=
+ WARN=-W -Wall -Wextra $(WERROR)
+@@ -1092,8 +1296,8 @@
+ $(IO_OBJS) $(CDB_OBJS) $(CRITBIT_OBJS)
+
+ libowfat.a: $(ALL_OBJS)
+- $(CROSS)ar cru $@ $(ALL_OBJS)
+- -$(CROSS)ranlib $@
++ $(CROSS)$(AR) cru $@ $(ALL_OBJS)
++ -$(CROSS)$(RANLIB) $@
+
+ CFLAGS+=-I.
+ CFLAGS_OPT+=-I.
+@@ -1105,8 +1309,8 @@
+ $(DIET) $(CCC) -c $< $(CFLAGS)
+
+ %.a:
+- $(CROSS)ar cru $@ $^
+- -$(CROSS)ranlib $@
++ $(CROSS)$(AR) cru $@ $^
++ -$(CROSS)$(RANLIB) $@
+
+ t.o: t.c fmt.h scan.h str.h uint16.h uint32.h stralloc.h socket.h \
+ buffer.h ip4.h ip6.h byte.h mmap.h open.h textcode.h dns.h iopause.h \
diff --git a/dev-libs/libowfat/files/libowfat-0.32-gcc10.patch b/dev-libs/libowfat/files/libowfat-0.32-gcc10.patch
new file mode 100644
index 000000000000..3f2924304318
--- /dev/null
+++ b/dev-libs/libowfat/files/libowfat-0.32-gcc10.patch
@@ -0,0 +1,25 @@
+From 67729f54c2e7a24b2bebfa23b75afe607c09a67a Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Thu, 26 Nov 2020 19:28:03 +0100
+Subject: [PATCH] Fix build with -fno-common or GCC 10
+
+---
+ io_internal.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/io_internal.h b/io_internal.h
+index 6d37c11..3e378d9 100644
+--- a/io_internal.h
++++ b/io_internal.h
+@@ -83,7 +83,7 @@ my_extern array io_pollfds;
+ my_extern long first_readable;
+ my_extern long first_writeable;
+
+-my_extern long first_deferred;
++extern long first_deferred;
+
+ my_extern enum __io_waitmode {
+ UNDECIDED,
+--
+2.27.0
+
diff --git a/dev-libs/libowfat/libowfat-0.31-r1.ebuild b/dev-libs/libowfat/libowfat-0.31-r1.ebuild
deleted file mode 100644
index 9bd8cf6f80af..000000000000
--- a/dev-libs/libowfat/libowfat-0.31-r1.ebuild
+++ /dev/null
@@ -1,46 +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="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}
- >=sys-apps/sed-4"
-
-pkg_setup() {
- # Required for mult/umult64.c to be usable
- append-flags -fomit-frame-pointer
-}
-
-src_compile() {
- emake \
- CC=$(tc-getCC) \
- CFLAGS="-I. ${CFLAGS}" \
- DIET="/usr/bin/diet -Os" \
- prefix=/usr \
- INCLUDEDIR=/usr/include/libowfat \
- $( use diet || echo 'DIET=' )
-}
-
-src_install () {
- emake \
- DESTDIR="${D}" \
- LIBDIR="/usr/$(get_libdir)" \
- MAN3DIR="/usr/share/man/man3" \
- INCLUDEDIR="/usr/include/libowfat" \
- install
-
- cd "${D}"/usr/share/man
- mv man3/buffer.3 man3/owfat-buffer.3
-}
diff --git a/dev-libs/libowfat/libowfat-0.32-r1.ebuild b/dev-libs/libowfat/libowfat-0.32-r1.ebuild
index 622656e3a5f3..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-2019 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,21 +24,21 @@ pkg_setup() {
src_compile() {
emake \
- CC=$(tc-getCC) \
+ CC="$(tc-getCC)" \
CFLAGS="-I. ${CFLAGS}" \
- DIET="${EPREFIX%/}/usr/bin/diet -Os" \
- prefix="${EPREFIX%/}/usr" \
- INCLUDEDIR="${EPREFIX%/}/usr/include" \
+ 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" \
+ 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
+ mv "${ED}"/usr/share/man/man3/{buffer.3,owfat-buffer.3} || die
}
diff --git a/dev-libs/libowfat/libowfat-0.32-r5.ebuild b/dev-libs/libowfat/libowfat-0.32-r5.ebuild
new file mode 100644
index 000000000000..45ea340b25da
--- /dev/null
+++ b/dev-libs/libowfat/libowfat-0.32-r5.ebuild
@@ -0,0 +1,67 @@
+# 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}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc10.patch
+ "${FILESDIR}"/${P}-ar.patch
+)
+
+pkg_setup() {
+ # Required for mult/umult64.c to be usable
+ append-flags -fomit-frame-pointer
+}
+
+src_prepare() {
+ default
+
+ # do not define "__pure__", this the gcc builtin (bug #806505)
+ sed 's#__pure__;#__attribute__((__pure__));#' -i fmt.h scan.h byte.h stralloc.h str.h critbit.h || die
+ sed 's#__pure__$#__attrib__pure__#' -i fmt.h scan.h byte.h stralloc.h str.h critbit.h || die
+ # remove unneeded definition of __deprecated__
+ sed '/^#define __deprecated__$/d' -i scan/scan_iso8601.c scan/scan_httpdate.c || die
+}
+
+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)" \
+ 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/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/libowfat/metadata.xml b/dev-libs/libowfat/metadata.xml
index 433bc64fafb4..c254cc8985e0 100644
--- a/dev-libs/libowfat/metadata.xml
+++ b/dev-libs/libowfat/metadata.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
+ <maintainer type="person" proxied="yes">
+ <email>eike@sf-mail.de</email>
+ <name>Rolf Eike Beer</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
- <longdescription>reimplement libdjb - excellent libraries from Dan Bernstein</longdescription>
<use>
<flag name="diet">Compile against <pkg>dev-libs/dietlibc</pkg></flag>
</use>
diff --git a/dev-libs/libp11/Manifest b/dev-libs/libp11/Manifest
index 6de23daa6f2f..fcc7ee29886a 100644
--- a/dev-libs/libp11/Manifest
+++ b/dev-libs/libp11/Manifest
@@ -1 +1 @@
-DIST libp11-0.4.10.tar.gz 496891 BLAKE2B 219f65f68ab6dbd4bbe5893ac0d520d7e4676afdd9f3891a3bc66fa006c353b2adad269708cee714985b495ed0b0d691f31964d7099125147ec630f3c63143e8 SHA512 7005dbbab170dff48bee99de67ab9ffbfd2004f4b5150a0a67717aabb30eb93a34495b6d084da5d05162dd8666e8ff4c451d0d153ee4dd5422b59f6f6ca2130c
+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.ebuild b/dev-libs/libp11/libp11-0.4.10.ebuild
deleted file mode 100644
index 7df1bf7032dc..000000000000
--- a/dev-libs/libp11/libp11-0.4.10.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2019 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 hppa ia64 ppc ppc64 ~s390 ~sh sparc x86"
-IUSE="libressl bindist doc static-libs"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0=[bindist=] )
- libressl? ( >=dev-libs/libressl-2.8:0= )"
-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.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 d6d0837d385c..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
Library implementing a small layer on top of PKCS#11 API to make
using PKCS#11 implementations easier.
@@ -13,6 +10,7 @@
<flag name="doc">Generate and install API documentation for the package.</flag>
</use>
<upstream>
+ <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 897fc0b7f835..1966f9baf737 100644
--- a/dev-libs/libparserutils/Manifest
+++ b/dev-libs/libparserutils/Manifest
@@ -1,3 +1 @@
-DIST libparserutils-0.2.3-src.tar.gz 74509 BLAKE2B b9b68a91823181e7a95ec94b1a117da27180afe4ff2b05da279cf59a0b126cefb78712cae382c24b377292e4b5802273b1f9bd8ac52969a3a693da635ec88f65 SHA512 b68cbf3a3260bacea10c8115a1c247de3d7220e94a7f73da84ee4b400678132d8db71b8e84fe92eacafc4945c111f049779c8fead4cf9bd98c6e96340943d270
-DIST libparserutils-0.2.4-src.tar.gz 74521 BLAKE2B 85e39d64bb8365f95da227e3a52ea2a2a85b0f913f861117b496bdff1556b8ca880189325995cf02eeb51f2db76c917a63f59ee1a1fed8fec6ce43dc16f9b66f SHA512 e6a7b618e00e2bc69a0de63c29cc809f250fbd1c10544523c563f4bb9ac3281e02ba36c096518fc0a9074dad49a05346b04cc85b7d972f88f2645af0f869cbc2
-DIST netsurf-buildsystem-1.5.tar.gz 38196 BLAKE2B 298ef39d45b98ae5ef57a22aed9f22bf96dfd6ad5475964c04451eaf28aca7f451b4906002c3e110ffcc951015169f02ffcd85f24e54b46c47b25e048115db1c SHA512 02d85e8f1d2101194a678f7ccf84051390953285a46951d7b327556f8df1a0c416620bd4c7a615e25de438d5d27cfffb69ec5d94eb8379a295dab4c85a96cae4
+DIST libparserutils-0.2.5-src.tar.gz 74518 BLAKE2B 792e9fd14119537e4ec6e54d0e147114473e6935ea4b557c0de1341c29352e5773be90b282ca49573fd11cfb5a17e6f0f41cce1f2abbb95e5203794b3775ce4b SHA512 5d26bbfb754deb950c098f444d44003d681f30dfaf18a4d6b25ef5023ab5dbfa8968a9d8b6d319ad470fe3c75022328c55c810a623139208a7091b2df27f0a18
diff --git a/dev-libs/libparserutils/libparserutils-0.2.3.ebuild b/dev-libs/libparserutils/libparserutils-0.2.3.ebuild
deleted file mode 100644
index fbd60a61302f..000000000000
--- a/dev-libs/libparserutils/libparserutils-0.2.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-NETSURF_BUILDSYSTEM=buildsystem-1.5
-inherit flag-o-matic netsurf
-
-DESCRIPTION="library for building efficient parsers, written in C"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="amd64 arm ~ppc x86 ~m68k-mint"
-IUSE="iconv test"
-
-DEPEND="test? ( dev-lang/perl )"
-
-DOCS=( README docs/Todo )
-
-src_configure() {
- netsurf_src_configure
-
- append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
-}
diff --git a/dev-libs/libparserutils/libparserutils-0.2.4-r1.ebuild b/dev-libs/libparserutils/libparserutils-0.2.4-r1.ebuild
deleted file mode 100644
index 1fa78d758f96..000000000000
--- a/dev-libs/libparserutils/libparserutils-0.2.4-r1.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 flag-o-matic toolchain-funcs
-
-DESCRIPTION="library for building efficient parsers, written in C"
-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 ~ppc ~ppc64 ~x86 ~m68k-mint"
-IUSE="iconv test"
-
-DEPEND="
- >=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() {
- source /usr/share/netsurf-buildsystem/gentoo-helpers.sh
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test
-}
-
-src_install() {
- _emake DESTDIR="${ED}" 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 7a38bb900964..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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-debian/libpcre-debian-8-r1.ebuild b/dev-libs/libpcre-debian/libpcre-debian-8-r1.ebuild
deleted file mode 100644
index 1f26347b5608..000000000000
--- a/dev-libs/libpcre-debian/libpcre-debian-8-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib multilib-minimal
-
-DESCRIPTION="libpcre(posix).so.3 symlinks for compatibility with Debian"
-HOMEPAGE="http://www.pcre.org/"
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-libs/libpcre:${SLOT}[${MULTILIB_USEDEP}]"
-
-S="${WORKDIR}"
-
-multilib_src_install() {
- dosym $(multilib_is_native_abi || echo /usr)/$(get_libdir)/libpcre.so.1 \
- /usr/$(get_libdir)/debiancompat/libpcre.so.3
-
- dosym /usr/$(get_libdir)/libpcreposix.so.0 \
- /usr/$(get_libdir)/debiancompat/libpcreposix.so.3
-}
diff --git a/dev-libs/libpcre-debian/libpcre-debian-8-r3.ebuild b/dev-libs/libpcre-debian/libpcre-debian-8-r3.ebuild
new file mode 100644
index 000000000000..ecc28e2f0357
--- /dev/null
+++ b/dev-libs/libpcre-debian/libpcre-debian-8-r3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+DESCRIPTION="libpcre(posix).so.3 symlinks for compatibility with Debian"
+HOMEPAGE="https://www.pcre.org/"
+S="${WORKDIR}"
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-libs/libpcre:${SLOT}[${MULTILIB_USEDEP}]"
+
+multilib_src_install() {
+ dosym ../$(multilib_is_native_abi && echo ../../$(get_libdir)/)libpcre.so.1 \
+ /usr/$(get_libdir)/debiancompat/libpcre.so.3
+
+ dosym ../libpcreposix.so.0 \
+ /usr/$(get_libdir)/debiancompat/libpcreposix.so.3
+}
diff --git a/dev-libs/libpcre-debian/metadata.xml b/dev-libs/libpcre-debian/metadata.xml
index 54be7ff7e5d6..374cd4dedb33 100644
--- a/dev-libs/libpcre-debian/metadata.xml
+++ b/dev-libs/libpcre-debian/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index 78c057db7ae6..295a352e94d2 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -1,3 +1 @@
-DIST pcre-8.41.tar.bz2 1561874 BLAKE2B 2a97a859237994137190da00c30ba7c15e8631b82b7f200858cf722f1fdd0405d36c24bb716eb099d8107f2f829a85fd7d3497f36cdac51769636989331e7a79 SHA512 cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551
-DIST pcre-8.42.tar.bz2 1570171 BLAKE2B f68bac3cf8ff5a81ccba31fd4d8926e05143a25a756e7daba9793467cec9cd8a4766f394f958ffca088b472463a43a31ea77014f2d4505082c1f366a18f30c7a SHA512 b47b923108f6ee0c31409b79d0888314271b482a22590e164d02f21d2112fba22dd0342c24f9ba0f5fcc5b8c65550bad08c476e30a2fc79b34ecf4601ed82f3d
-DIST pcre-8.43.tar.bz2 1576584 BLAKE2B 12c2117fc5d242ada44884df279f7f8b4c680fa1623ddc131c0adca1740ec47614ac6af20fc60b0c516d9d7b66488ba8a4e5efa5fc8a0a70aacb02bb3d38ee53 SHA512 3b4ac2c7ccd77c9575d07a33c3456f40b50731029e62d01fb8f2f5871d7118e12bc9e6bc7a8079769c765e38da5ecf98c4b261b10ff0a2f14f0881b434f67af7
+DIST pcre-8.45.tar.bz2 1578809 BLAKE2B 3954e08cf3c67a5e2249bf72f8d4c1a90fe7a098fffa5a0a06d0d665d07899027cfd632eab2757fcf2b1b9b413a43d5c484c8e52d05b7ca113b3bbbc4dd3bb29 SHA512 91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a
diff --git a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
deleted file mode 100644
index 0494ccc25ebc..000000000000
--- a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naurp pcre-8.41.orig/sljit/sljitNativeMIPS_common.c pcre-8.41/sljit/sljitNativeMIPS_common.c
---- pcre-8.41.orig/sljit/sljitNativeMIPS_common.c 2017-05-07 11:32:25.000000000 -0400
-+++ pcre-8.41/sljit/sljitNativeMIPS_common.c 2017-07-29 17:50:24.508909742 -0400
-@@ -503,9 +503,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit
- #ifdef SLJIT_IS_FPU_AVAILABLE
- return SLJIT_IS_FPU_AVAILABLE;
- #elif defined(__GNUC__)
-+ {
- sljit_sw fir;
- asm ("cfc1 %0, $0" : "=r"(fir));
- return (fir >> 22) & 0x1;
-+ }
- #else
- #error "FIR check is not implemented for this architecture"
- #endif
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.41-r1.ebuild b/dev-libs/libpcre/libpcre-8.41-r1.ebuild
deleted file mode 100644
index d6f935a21d87..000000000000
--- a/dev-libs/libpcre/libpcre-8.41-r1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
-
-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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-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}
- virtual/pkgconfig
-"
-RDEPEND="
- ${RDEPEND}
-"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.41-sljit_mips-label-statement-fix.patch
- "${FILESDIR}"/${PN}-8.41-fix-stack-size-detection.patch
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
- 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
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- )
- 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() {
- prune_libtool_files
-}
-
-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.42.ebuild b/dev-libs/libpcre/libpcre-8.42.ebuild
deleted file mode 100644
index 5de61cf52e95..000000000000
--- a/dev-libs/libpcre/libpcre-8.42.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib libtool flag-o-matic toolchain-funcs multilib-minimal
-
-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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-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}
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${MY_P}"
-
-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}" -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.43.ebuild b/dev-libs/libpcre/libpcre-8.43.ebuild
deleted file mode 100644
index 3a5b54a20a8f..000000000000
--- a/dev-libs/libpcre/libpcre-8.43.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib libtool flag-o-matic toolchain-funcs multilib-minimal
-
-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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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}
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${MY_P}"
-
-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}" -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-r1.ebuild b/dev-libs/libpcre/libpcre-8.45-r1.ebuild
new file mode 100644
index 000000000000..7705ae51633c
--- /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="https://downloads.sourceforge.net/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..8c710120137f
--- /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="
+ https://downloads.sourceforge.net/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..e528590ffb70
--- /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="
+ https://downloads.sourceforge.net/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/metadata.xml b/dev-libs/libpcre/metadata.xml
index edde7e11c64f..e7bcdb6d6d5d 100644
--- a/dev-libs/libpcre/metadata.xml
+++ b/dev-libs/libpcre/metadata.xml
@@ -1,32 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<use>
- <flag name="bzip2">
- Add support for pcregrep command to search within
- bzip2-compressed files (via <pkg>app-arch/bzip2</pkg>).
- </flag>
- <flag name="pcre16">Build PCRE library for 16 bit characters (e.g. UTF-16).</flag>
- <flag name="pcre32">Build PCRE library for 32 bit characters (e.g. UTF-32).</flag>
- <flag name="readline">
- 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>).
- </flag>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:pcre:pcre</remote-id>
- <remote-id type="sourceforge">pcre</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <use>
+ <flag name="bzip2">
+ Add support for pcregrep command to search within
+ bzip2-compressed files (via <pkg>app-arch/bzip2</pkg>).
+ </flag>
+ <flag name="pcre16">Build PCRE library for 16 bit characters (e.g. UTF-16).</flag>
+ <flag name="pcre32">Build PCRE library for 32 bit characters (e.g. UTF-32).</flag>
+ <flag name="readline">
+ Add support for command line editing to pcretest, through
+ <pkg>sys-libs/readline</pkg>.
+ </flag>
+ <flag name="zlib">
+ Add support for pcregrep command to search within
+ gzip-compressed files (via <pkg>sys-libs/zlib</pkg>).
+ </flag>
+ </use>
+ <upstream>
+ <bugs-to>https://bugs.exim.org/describecomponents.cgi?product=PCRE</bugs-to>
+ <remote-id type="cpe">cpe:/a:pcre:pcre</remote-id>
+ <remote-id type="sourceforge">pcre</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libpcre2/Manifest b/dev-libs/libpcre2/Manifest
index 0bcad8842a87..f3ae75c83491 100644
--- a/dev-libs/libpcre2/Manifest
+++ b/dev-libs/libpcre2/Manifest
@@ -1,2 +1,4 @@
-DIST pcre2-10.32.tar.bz2 1641814 BLAKE2B fdd512312547ae90b36b6c9eb86b6fcfea9b03fcfd9766063c901819c6bf7536e1f3da89bd69ae62309069bc07c705e96e81f4a36355bf934c566f343e3104e4 SHA512 3d712e7d6afbaef227952680ded69fadbdec0b1abdfcac17cf071415c3c93edd152d6d268dec80570aedf24f82ba954f74f5f9e62c9b9991be75080a3d6ab5fe
-DIST pcre2-10.33.tar.bz2 1690739 BLAKE2B e59cf47a5068b2ec2d647d6dfe1cb5f8d6cdcc6fc6b47aa65a4c3d5aae256e7f0b090487d372c62aa7ec7f15a1f037650088b53385fc2fe31aa405878855e5d5 SHA512 c6aa52cdbb0c906b02e9a9f255697a1b9b99d9c7dccdaa484ffdb04fe3582d232ba3cb3c421d6df589a387b415dedb0817f58ec5391488b25b4e7bd9da6bab8f
+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.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.32.ebuild b/dev-libs/libpcre2/libpcre2-10.32.ebuild
deleted file mode 100644
index 2f727e0827a6..000000000000
--- a/dev-libs/libpcre2/libpcre2-10.32.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="http://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
- 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
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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 )"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre2-config
-)
-
-src_prepare() {
- default
-
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-pcre2-8
- --enable-shared
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- --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}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpcre2/libpcre2-10.33.ebuild b/dev-libs/libpcre2/libpcre2-10.33.ebuild
deleted file mode 100644
index 36feb39ef3d3..000000000000
--- a/dev-libs/libpcre2/libpcre2-10.33.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="http://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
- 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
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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 )"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre2-config
-)
-
-src_prepare() {
- default
-
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-pcre2-8
- --enable-shared
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- --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}" -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..c76ff00031b1
--- /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 e043c3761902..77f759c7c845 100644
--- a/dev-libs/libpcre2/metadata.xml
+++ b/dev-libs/libpcre2/metadata.xml
@@ -1,36 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
<use>
- <flag name="bzip2">
- Add support for pcregrep command to search within
- bzip2-compressed files (via <pkg>app-arch/bzip2</pkg>).
- </flag>
- <flag name="pcre16">Build PCRE library for 16 bit characters (e.g. UTF-16).</flag>
- <flag name="pcre32">Build PCRE library for 32 bit characters (e.g. UTF-32).</flag>
- <flag name="readline">
- 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>).
- </flag>
+ <flag name="bzip2">
+ Add support for pcregrep command to search within
+ bzip2-compressed files (via <pkg>app-arch/bzip2</pkg>).
+ </flag>
+ <flag name="pcre16">Build PCRE library for 16 bit characters (e.g. UTF-16).</flag>
+ <flag name="pcre32">Build PCRE library for 32 bit characters (e.g. UTF-32).</flag>
+ <flag name="readline">
+ Add support for command line editing to pcretest, through
+ <pkg>sys-libs/readline</pkg>.
+ </flag>
+ <flag name="zlib">
+ Add support for pcregrep command to search within
+ gzip-compressed files (via <pkg>sys-libs/zlib</pkg>).
+ </flag>
</use>
+ <slots>
+ <subslots>Reflects binary compatibility for libpcre2-posix.so.</subslots>
+ </slots>
<upstream>
- <remote-id type="cpe">cpe:/a:pcre:pcre</remote-id>
- <remote-id type="sourceforge">pcre</remote-id>
+ <remote-id type="cpe">cpe:/a:pcre: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 cf8516a0bb09..45f433b79f36 100644
--- a/dev-libs/libpeas/Manifest
+++ b/dev-libs/libpeas/Manifest
@@ -1 +1 @@
-DIST libpeas-1.22.0.tar.xz 561332 BLAKE2B 219918f8663cd60c9353f477ef905ce0d1e21bf5b7c09661c4cb3c8adbba3af9f5e93b9de8a1b098dab09b1f4071854a871c8ea1db878bda8fe9e51aa45e5f87 SHA512 9c1da1d4b5688c0f4d0647f3519dbfbed94c8921091057aaef0e41bf5ed3f8faf04a49ce9e4eea3fd7bf4ac4dfa1727d76a5f6dae2a4f52228d4c8c74b420c91
+DIST libpeas-1.36.0.tar.xz 195432 BLAKE2B 12b12f041784e5fbeb03a36cad62625f7b60f770f7ff83d0660b28288262e125c2ca5f83032d4ae96faaa7b815ba9dcb245d3cbdac823765435a21e1eb08f663 SHA512 254087089475a3c1415e0ba8efb17aac56b96b1eee7c8e12933e72cc551ee39e9e3eac2d3d602bf9d369dd9fc7d3f5141e7683dec11b40b6c7b961b8e6c70a11
diff --git a/dev-libs/libpeas/files/1.26.0-lua.patch b/dev-libs/libpeas/files/1.26.0-lua.patch
new file mode 100644
index 000000000000..0da1b148a49c
--- /dev/null
+++ b/dev-libs/libpeas/files/1.26.0-lua.patch
@@ -0,0 +1,89 @@
+From b693feda0148eb421e1f59d468caceb6f3183a82 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <mart@leio.tech>
+Date: Mon, 16 Mar 2020 23:43:12 +0200
+Subject: [PATCH] build: Handle lua as needed by Gentoo
+
+Gentoo currently uses unversioned lua:0 - lua.pc instad of lua5.1.pc,
+/usr/bin/lua instead of /usr/bin/lua5.1
+Additionally lua and luajit can be installed in parallel, but only one
+should be chosen - so add explicit meson options to choose between them.
+This is currently in a hacky un-upstreamable way: working correctly only
+if both options are disabled, or only one is enabled and the other
+disabled, but having logic issues if any is "auto" or both enabled; this
+is because feature option is mainly used to handle explicit choice
+between them more easily in a Gentoo-specific patch without having to
+add various conditional branches thanks to the feature being disabled
+acting as a full disabler, so the other option is automatically not
+checked.
+---
+ meson.build | 22 +++++++---------------
+ meson_options.txt | 5 ++++-
+ 2 files changed, 11 insertions(+), 16 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 8322fea..49e5011 100644
+--- a/meson.build
++++ b/meson.build
+@@ -117,18 +117,12 @@ endif
+
+ python2_dep = dependency('python2', version: python2_req, required: false)
+ pygobject_dep = dependency('pygobject-3.0', version: pygobject_req, required: false)
+-lua51_dep = dependency('lua51', version: lua_req, required: false)
+-if not lua51_dep.found()
+- lua51_dep = dependency('lua-5.1', version: lua_req, required: false)
+-endif
+-luajit_dep = dependency('luajit', version: luajit_req, required: false)
++lua51_dep = dependency('lua', version: lua_req, required: get_option('lua51'))
++luajit_dep = dependency('luajit', version: luajit_req, required: get_option('luajit'))
+ lua_lgi_found = false
+ lua_lgi_ver = 'not found'
+-lua51_prg = find_program('lua5.1', required: false)
+-if not lua51_prg.found()
+- lua51_prg = find_program('lua51', required: false)
+-endif
+-luajit_prg = find_program('luajit', required: false)
++lua51_prg = find_program('lua', required: get_option('lua51'))
++luajit_prg = find_program('luajit', required: get_option('luajit'))
+ xmllint_prg = find_program('xmllint', required: false)
+
+ if (luajit_dep.found() and luajit_prg.found()) or (lua51_dep.found() and lua51_prg.found())
+@@ -144,6 +138,8 @@ if (luajit_dep.found() and luajit_prg.found()) or (lua51_dep.found() and lua51_p
+ lua51_lgi_dep = declare_dependency(version: lua_lgi_ver)
+ lua_lgi_found = true
+ endif
++ else
++ error('lua support requested but lua-lgi not found')
+ endif
+ message('lua-lgi version: ' + lua_lgi_ver)
+ endif
+@@ -222,11 +218,7 @@ if generate_gir and not introspection_dep.found()
+ generate_gir = false
+ endif
+
+-build_lua51_loader = get_option('lua51')
+-lua51_found = (luajit_dep.found() or lua51_dep.found()) and lua_lgi_found
+-if build_lua51_loader and not lua51_found
+- build_lua51_loader = false
+-endif
++build_lua51_loader = (luajit_dep.found() or lua51_dep.found()) and lua_lgi_found
+
+ build_python2_loader = get_option('python2')
+ python2_found = python2_dep.found() and pygobject_dep.found()
+diff --git a/meson_options.txt b/meson_options.txt
+index 18e1779..dc3e776 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,6 +1,9 @@
+ option('lua51',
+- type: 'boolean', value: true,
++ type: 'feature', value: 'enabled',
+ description: 'Enable Lua 5.1 support (requires lua-lgi)')
++option('luajit',
++ type: 'feature', value: 'disabled',
++ description: 'Use LuaJIT for Lua 5.1 support (requires lua-lgi)')
+
+ option('python2',
+ type: 'boolean', value: false,
+--
+2.20.1
+
diff --git a/dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch b/dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch
deleted file mode 100644
index c46cbee242e5..000000000000
--- a/dev-libs/libpeas/files/libpeas-1.14.0-lua.pc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Gentoo currently uses unversioned lua:0 - lua.pc instad of lua5.1.pc, /usr/bin/lua instead of /usr/bin/lua5.1
-
-diff --git a/configure.ac b/configure.ac
-index 810a288..51ca607 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -305,9 +305,9 @@ else
- fi
-
- if test "x$found_lua51" != "xyes"; then
-- PKG_CHECK_EXISTS([lua5.1 >= $LUA51_REQUIRED], [
-+ PKG_CHECK_EXISTS([lua >= $LUA51_REQUIRED], [
- found_lua51=yes
-- with_lua51=lua5.1
-+ with_lua51=lua
- ], [
- found_lua51=no
- ])
diff --git a/dev-libs/libpeas/libpeas-1.22.0.ebuild b/dev-libs/libpeas/libpeas-1.22.0.ebuild
deleted file mode 100644
index 713d322fb503..000000000000
--- a/dev-libs/libpeas/libpeas-1.22.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-PYTHON_COMPAT=( python{3_5,3_6,3_7} )
-
-inherit autotools eutils gnome2 multilib python-single-r1 virtualx
-
-DESCRIPTION="A GObject plugins library"
-HOMEPAGE="https://developer.gnome.org/libpeas/stable/"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-
-IUSE="+gtk glade lua luajit +python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-libs/glib-2.38:2
- >=dev-libs/gobject-introspection-1.39:=
- glade? ( >=dev-util/glade-3.9.1:3.10 )
- gtk? ( >=x11-libs/gtk+-3:3[introspection] )
- lua? (
- >=dev-lua/lgi-0.9.0
- luajit? ( >=dev-lang/luajit-2:2 )
- !luajit? ( =dev-lang/lua-5.1*:0 ) )
- python? (
- ${PYTHON_DEPS}
- >=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
- >=dev-util/intltool-0.40
- virtual/pkgconfig
-
- dev-libs/gobject-introspection-common
- gnome-base/gnome-common
-"
-# eautoreconf needs gobject-introspection-common, gnome-common
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Gentoo uses unversioned lua - lua.pc instad of lua5.1.pc, /usr/bin/lua instead of /usr/bin/lua5.1
- eapply "${FILESDIR}"/${PN}-1.14.0-lua.pc.patch
- eautoreconf
- gnome2_src_prepare
-}
-
-src_configure() {
- # Wtf, --disable-gcov, --enable-gcov=no, --enable-gcov, all enable gcov
- # What do we do about gdb, valgrind, gcov, etc?
- local myconf=(
- $(use_enable glade glade-catalog)
- $(use_enable gtk)
- --disable-static
-
- # py2 not supported anymore
- --disable-python2
- $(use_enable python python3)
-
- # lua
- $(use_enable lua lua5.1)
- $(use_enable $(usex luajit lua luajit) luajit)
- )
-
- gnome2_src_configure "${myconf[@]}"
-}
-
-src_test() {
- # This looks fixed since 1.18.0:
- #
- # FIXME: Tests fail because of some bug involving Xvfb and Gtk.IconTheme
- # DO NOT REPORT UPSTREAM, this is not a libpeas bug.
- # To reproduce:
- # >>> from gi.repository import Gtk
- # >>> Gtk.IconTheme.get_default().has_icon("gtk-about")
- # This should return True, it returns False for Xvfb
- virtx emake check
-}
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 f955af2bfc30..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 10c81aeca0ab..c28fc8a712d5 100644
--- a/dev-libs/libpfm/Manifest
+++ b/dev-libs/libpfm/Manifest
@@ -1,4 +1,2 @@
-DIST libpfm-4.10.1.tar.gz 1005988 BLAKE2B 7bdc64540cdf0404bfab0a631e506f37a79ca090d68c798fe4943f627ebc3e15e01f6c4530d4eec2c82a6f759845af518cbf34b3ad19ecc5fa48a874611aaa16 SHA512 33d99824216b4d83784e0db9f1aae3b39f84c2ba42dee64dde0b3c43cc5ee3a18c206d9044e75bf10867768add7cb9967c6318f7aa196f178f334271fa05e1aa
-DIST libpfm-4.4.0.tar.gz 649910 BLAKE2B f74246d1ee23c7793e89db5d96f7abca581932273e3b0c8669c4e0ae54907e3bf53c3c1a5d09cee93458802263159f0ab808ff62774a422257a7f781c6ce454a SHA512 e7f9b50d0c71c08697283d043231234b39695fda6796ad1e2c48fdd67e2936a3cf5d864b5e1b9c68a34f1d726f2b273eb1267adec3060085f3a51e9886f5704a
-DIST libpfm-4.6.0.tar.gz 767447 BLAKE2B 2374abdbc9d886d4e0101a2dc77e699a47abdbd67c0f490706ae78032b89b5ecf9d577ab8f0ca297841ddb3b39da6994e833fea8659cfd21b5fbcdc53f2f84c3 SHA512 73bd11bd0c11c0ec2fa71935c967f36431a00b548b8b47575e00e8cc3e1f8ef3fc2d449d493f51a198eaba5b1629cdf79330cbe2a8ca8867e15fddbfdbf571dc
-DIST libpfm-4.8.0.tar.gz 828853 BLAKE2B e6caa0ffa4584dab805ef08ce5318bf73fda906afddb30b1490a34ec62e522a6bb713563c5ffecb22596e6c5c1c06c245c5b9bc59fea74face90a9edcbfb4eac SHA512 a06f3713c70fb4fe694154057604ae42627ad764486a3d3e28b0ef2e46fdd0a0431ec1a3c52ebc711ae174a1fbd7b3ddd0c736a568f57d4606ecf8064ff38228
+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.ebuild b/dev-libs/libpfm/libpfm-4.10.1.ebuild
deleted file mode 100644
index 7dd11c557072..000000000000
--- a/dev-libs/libpfm/libpfm-4.10.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib 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 ~ppc64 x86"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-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 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
new file mode 100644
index 000000000000..5faa54c87118
--- /dev/null
+++ b/dev-libs/libpfm/libpfm-4.11.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/perfmon2/${PN}4/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0/4"
+KEYWORDS="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/libpfm/libpfm-4.12.0.ebuild b/dev-libs/libpfm/libpfm-4.12.0.ebuild
new file mode 100644
index 000000000000..d368aee65973
--- /dev/null
+++ b/dev-libs/libpfm/libpfm-4.12.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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/libpfm/libpfm-4.4.0.ebuild b/dev-libs/libpfm/libpfm-4.4.0.ebuild
deleted file mode 100644
index 608bb97fd700..000000000000
--- a/dev-libs/libpfm/libpfm-4.4.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib 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 ~x86"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- 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 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.6.0.ebuild b/dev-libs/libpfm/libpfm-4.6.0.ebuild
deleted file mode 100644
index 5224fe87b8ed..000000000000
--- a/dev-libs/libpfm/libpfm-4.6.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib 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 ppc64 ~x86"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- 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 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.8.0.ebuild b/dev-libs/libpfm/libpfm-4.8.0.ebuild
deleted file mode 100644
index 6bc1cc01205c..000000000000
--- a/dev-libs/libpfm/libpfm-4.8.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib 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 ppc64 ~x86"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- 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 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/metadata.xml b/dev-libs/libpfm/metadata.xml
index a835c64f5c8b..f82ee6ffada0 100644
--- a/dev-libs/libpfm/metadata.xml
+++ b/dev-libs/libpfm/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slis@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">perfmon2</remote-id>
</upstream>
diff --git a/dev-libs/libphonenumber/Manifest b/dev-libs/libphonenumber/Manifest
new file mode 100644
index 000000000000..9295664efd96
--- /dev/null
+++ b/dev-libs/libphonenumber/Manifest
@@ -0,0 +1 @@
+DIST libphonenumber-8.12.39.tar.gz 11007180 BLAKE2B 27a47b35497772740da04cb9b79e1a6b4fd6f9b0d4a89768e1ba9212672f1a0fd06c5837aa8858a4680b5c47ef16721c6ef145d8d2cd77dccbe27bb4b0897dcf SHA512 82570c60b132022a713c0664de2c29997cff0ab8c3ab97dbec0f8d1cd1782090ba92ca7d2f044760f523c986660f13b70aacf8a9c247a3b80eb19d35227bc2a8
diff --git a/dev-libs/libphonenumber/files/libphonenumber-8.12.37-cmake.patch b/dev-libs/libphonenumber/files/libphonenumber-8.12.37-cmake.patch
new file mode 100644
index 000000000000..bfc7e8701a5d
--- /dev/null
+++ b/dev-libs/libphonenumber/files/libphonenumber-8.12.37-cmake.patch
@@ -0,0 +1,54 @@
+Upstream: no, I probably should, although this patch isn't nice, but
+ neither is their cmake code
+
+From a0c72f32b3c318f66975400af81b9b44d8a8d9c7 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Wed, 27 Mar 2019 21:07:22 +0100
+Subject: [PATCH] Fix build with BUILD_STATIC_LIB=ON
+
+---
+ cpp/CMakeLists.txt | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
+index 38ce1f50..dd9399be 100644
+--- a/cpp/CMakeLists.txt
++++ b/cpp/CMakeLists.txt
+@@ -441,7 +441,9 @@ if (${BUILD_GEOCODER} STREQUAL "ON")
+ list (APPEND GEOCODER_DEPS ${COMMON_DEPS})
+ # Note that the subset of base/ on which the geocoder relies is implemented
+ # on top of Boost header-only libraries (e.g. scoped_ptr.hpp).
+- target_link_libraries (geocoding ${LIBRARY_DEPS})
++ if (${BUILD_STATIC_LIB} STREQUAL "ON")
++ target_link_libraries (geocoding ${LIBRARY_DEPS})
++ endif()
+ target_link_libraries (geocoding-shared ${LIBRARY_DEPS})
+ endif ()
+
+@@ -599,7 +601,9 @@ if (BUILD_SHARED_LIB)
+ endif ()
+
+ if (${BUILD_GEOCODER} STREQUAL "ON")
+- install (TARGETS geocoding LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR})
++ if (${BUILD_STATIC_LIB} STREQUAL "ON")
++ install (TARGETS geocoding LIBRARY DESTINATION ${LIBDIR} ARCHIVE DESTINATION ${LIBDIR})
++ endif()
+ install (TARGETS geocoding-shared LIBRARY DESTINATION ${LIBDIR} ARCHIVE
+ DESTINATION ${LIBDIR})
+ endif ()
+@@ -611,7 +615,11 @@ if (${BUILD_GEOCODER} STREQUAL "ON")
+ geocoding_test_program
+ "test/phonenumbers/geocoding/geocoding_test_program.cc"
+ )
+- target_link_libraries (geocoding_test_program geocoding phonenumber)
++ if (${BUILD_STATIC_LIB} STREQUAL "ON")
++ target_link_libraries (geocoding_test_program geocoding phonenumber)
++ else ()
++ target_link_libraries (geocoding_test_program geocoding-shared phonenumber-shared)
++ endif ()
+ endif ()
+
+ # Build an RPM
+--
+2.21.0
+
diff --git a/dev-libs/libphonenumber/files/libphonenumber-8.12.37-testing.patch b/dev-libs/libphonenumber/files/libphonenumber-8.12.37-testing.patch
new file mode 100644
index 000000000000..0ea039aea2bd
--- /dev/null
+++ b/dev-libs/libphonenumber/files/libphonenumber-8.12.37-testing.patch
@@ -0,0 +1,110 @@
+From 387f1daf0f9cd25ffa2654cc536e5678dd96a571 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 15 Nov 2021 19:13:37 +0100
+Subject: [PATCH] Add BUILD_TESTING option
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ cpp/CMakeLists.txt | 13 +++++++++++--
+ tools/cpp/CMakeLists.txt | 17 +++++++++--------
+ 2 files changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
+index 44db6834..f8e40978 100644
+--- a/cpp/CMakeLists.txt
++++ b/cpp/CMakeLists.txt
+@@ -32,7 +32,9 @@ endif ()
+ # depends on.
+
+ include (GNUInstallDirs)
+-include (../tools/cpp/gtest.cmake)
++if (BUILD_TESTING)
++ include (../tools/cpp/gtest.cmake)
++endif()
+
+ function (print_error DESCRIPTION FILE)
+ message (FATAL_ERROR
+@@ -90,6 +92,7 @@ option ("USE_STD_MAP" "Force the use of std::map" "OFF")
+ option ("BUILD_STATIC_LIB" "Build static libraries" "ON")
+ option ("USE_STDMUTEX" "Use C++ 2011 std::mutex for multi-threading" "OFF")
+ option ("USE_POSIX_THREAD" "Use Posix api for multi-threading" "OFF")
++option ("BUILD_TESTING" "Build unit tests (gtest sources are needed)" "ON")
+
+ if (${USE_ALTERNATE_FORMATS} STREQUAL "ON")
+ add_definitions ("-DI18N_PHONENUMBERS_USE_ALTERNATE_FORMATS")
+@@ -121,7 +124,9 @@ if (${USE_BOOST} STREQUAL "OFF" AND ${USE_STDMUTEX} STREQUAL "OFF")
+ find_package (Threads)
+ endif()
+
+-find_or_build_gtest ()
++if (BUILD_TESTING)
++ find_or_build_gtest ()
++endif()
+
+ if (${USE_RE2} STREQUAL "ON")
+ find_required_library (RE2 re2/re2.h re2 "Google RE2")
+@@ -492,11 +497,13 @@ if (${BUILD_GEOCODER} STREQUAL "ON")
+ endif ()
+
+ # Build a specific library for testing purposes.
++if (BUILD_TESTING)
+ add_library (phonenumber_testing STATIC ${TESTING_LIBRARY_SOURCES})
+ if (${BUILD_GEOCODER} STREQUAL "ON")
+ add_dependencies (phonenumber_testing generate_geocoding_data)
+ endif ()
+ target_link_libraries (phonenumber_testing ${LIBRARY_DEPS})
++endif()
+
+ if (${BUILD_GEOCODER} STREQUAL "ON")
+ # Test geocoding data cpp files generation.
+@@ -551,6 +558,7 @@ if (${USE_ICU_REGEXP} STREQUAL "ON")
+ endif ()
+
+ # Build the testing binary.
++if (BUILD_TESTING)
+ include_directories ("test")
+ add_executable (libphonenumber_test ${TEST_SOURCES})
+ set (TEST_LIBS phonenumber_testing ${GTEST_LIB})
+@@ -575,6 +583,7 @@ else ()
+ DEPENDS libphonenumber_test
+ )
+ endif ()
++endif ()
+
+ # Install rules.
+ install (FILES
+diff --git a/tools/cpp/CMakeLists.txt b/tools/cpp/CMakeLists.txt
+index fafa8469..0c3a84e0 100644
+--- a/tools/cpp/CMakeLists.txt
++++ b/tools/cpp/CMakeLists.txt
+@@ -20,11 +20,10 @@ project (generate_geocoding_data)
+
+ # Helper functions dealing with finding libraries and programs this library
+ # depends on.
+-
+-include (gtest.cmake)
+-
+-find_or_build_gtest ()
+-
++if (BUILD_TESTING)
++ include (gtest.cmake)
++ find_or_build_gtest ()
++endif ()
+ set (
+ SOURCES
+ "src/cpp-build/generate_geocoding_data.cc"
+@@ -52,6 +51,8 @@ if (NOT WIN32)
+ endif ()
+
+ # Build the testing binary.
+-include_directories ("test")
+-add_executable (generate_geocoding_data_test ${TEST_SOURCES})
+-target_link_libraries (generate_geocoding_data_test ${TEST_LIBS})
++if (BUILD_TESTING)
++ include_directories ("test")
++ add_executable (generate_geocoding_data_test ${TEST_SOURCES})
++ target_link_libraries (generate_geocoding_data_test ${TEST_LIBS})
++endif ()
+--
+2.33.1
+
diff --git a/dev-libs/libphonenumber/libphonenumber-8.12.39.ebuild b/dev-libs/libphonenumber/libphonenumber-8.12.39.ebuild
new file mode 100644
index 000000000000..b73f1a758e97
--- /dev/null
+++ b/dev-libs/libphonenumber/libphonenumber-8.12.39.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR="emake" # broken w/ ninja
+inherit cmake
+
+DESCRIPTION="Library for parsing, formatting, and validating international phone numbers"
+HOMEPAGE="https://github.com/google/libphonenumber"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+CMAKE_USE_DIR="${WORKDIR}"/${P}/cpp
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="test"
+
+RESTRICT="test !test? ( test )"
+
+DEPEND="
+ dev-libs/icu:=
+ dev-libs/protobuf:=
+ dev-libs/boost:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ # it is either this, or disable BUILD_GEOCODER
+ # https://github.com/google/libphonenumber/pull/2556
+ "${FILESDIR}"/${PN}-8.12.37-cmake.patch
+ # see also https://github.com/google/libphonenumber/pull/2459
+ # using a stripped-down patch w/ BUILD_TESTING
+ "${FILESDIR}"/${PN}-8.12.37-testing.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_STATIC_LIB=OFF
+ -DBUILD_TESTING=$(usex test)
+ -DREGENERATE_METADATA=OFF # avoid JRE dependency
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libphonenumber/metadata.xml b/dev-libs/libphonenumber/metadata.xml
new file mode 100644
index 000000000000..d9319561d8a1
--- /dev/null
+++ b/dev-libs/libphonenumber/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://issuetracker.google.com/issues?q=componentid:192347</bugs-to>
+ <remote-id type="github">google/libphonenumber</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libpipeline/Manifest b/dev-libs/libpipeline/Manifest
index 80bf9c8bfba6..8f48c9c2aeef 100644
--- a/dev-libs/libpipeline/Manifest
+++ b/dev-libs/libpipeline/Manifest
@@ -1,3 +1 @@
-DIST libpipeline-1.4.2.tar.gz 827362 BLAKE2B df85af1ca5c000a54d18d127bdff9286d7aced24e60fd0eff984cc6ae7acde880f71ec998946a7fd925167b5c05360ccb47439bb68eaeeb3fa7df1d320bf889d SHA512 18d4592c142b745e709b9d30e894f1cb95e8006d8d3d3c978a1c4b8fc2393fc40383aa8236587cc7caf576ee9664867358a94c081c0730de9e337ddbd1e57e02
-DIST libpipeline-1.5.0.tar.gz 828765 BLAKE2B e3a0012b7e916a313eb29c5c995755d345777b86b6d5b595814591c38490179a4dc80c375412f6489dc27ac16883bcd75dda418cbe429e7f4f8f70cffdb7a1ab SHA512 4b4d4a4ac347065d89e2092a00f744932422292a014c7176a4b7c4d2e8fb9d2165a3378d9e93b6899e11f80417b9a8c5c4785dab2f3113e33ffa61265e4c9117
-DIST libpipeline-1.5.1.tar.gz 987822 BLAKE2B 672da75a22aebf28e953a9a399d641bae8fb97da20527eb1f72f248d9e0afca10da7426bcbceb50f5bf2574fa7091e7ded5080c4a731327a09cfa74fde3a6c10 SHA512 9252c114bc59925eaf73ec9e8bb76b5649ccf985766edd2dc665630ec6de04c341298c74f8dc31c56e9ce20ad83da59df33eb3cc367e18a8012fd693cb823de6
+DIST libpipeline-1.5.7.tar.gz 977735 BLAKE2B b8f9ff6886f8df12e3fefbfaa0cbcb1e07d7baaa8a1dfcf4bc01c17c6632b8c6a40e55395f1e4870ca391eefb1535ebbc3931fcdee51cf5f4293741e437a2f25 SHA512 bb3be954f5d826cef805f85d65759fb197c31adf80d92360c7d0caa486e0d4877510681390ca01c028b6e805f968f14e8bf4b3eca02e429529031787e7f14d84
diff --git a/dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-cygwin-sys_select.patch b/dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-cygwin-sys_select.patch
deleted file mode 100644
index bfafadd110e9..000000000000
--- a/dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-cygwin-sys_select.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00065.html
-
---- a/gnulib/lib/sys_select.in.h.orig 2014-08-03 15:31:22.000000000 +0200
-+++ a/gnulib/lib/sys_select.in.h 2016-05-19 12:57:51.243064700 +0200
-@@ -81,7 +81,7 @@
- Also, Mac OS X, AIX, HP-UX, IRIX, Solaris, Interix declare select()
- in <sys/time.h>.
- But avoid namespace pollution on glibc systems. */
--# ifndef __GLIBC__
-+# if !(defined __GLIBC__ || defined __NEWLIB__)
- # include <sys/time.h>
- # endif
-
-@@ -102,7 +102,7 @@
- But avoid namespace pollution on glibc systems.
- Do this after the include_next (for the sake of OpenBSD 5.0) but before
- the split double-inclusion guard (for the sake of Solaris). */
--#if !(defined __GLIBC__ && !defined __UCLIBC__)
-+#if !((defined __GLIBC__ || defined __NEWLIB__) && !defined __UCLIBC__)
- # include <signal.h>
- #endif
-
diff --git a/dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-darwin-program_name.patch b/dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-darwin-program_name.patch
deleted file mode 100644
index 7921fd70b455..000000000000
--- a/dev-libs/libpipeline/files/libpipeline-1.4.1-gnulib-darwin-program_name.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00079.html
-
-From: Margaret Lewicka <address@hidden>
-
----
- lib/error.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/lib/error.c b/lib/error.c
-index 6683197..36a3db7 100644
---- a/gnulib/lib/error.c
-+++ a/gnulib/lib/error.c
-@@ -113,9 +113,13 @@ int strerror_r ();
- # endif
- # endif
-
-+#if defined __APPLE__ && defined __MACH__
-+#define program_name (((char **)*_NSGetArgv())[0])
-+#else
- /* The calling program should define program_name and set it to the
- name of the executing program. */
- extern char *program_name;
-+#endif
-
- # if HAVE_STRERROR_R || defined strerror_r
- # define __strerror_r strerror_r
---
-2.1.0
diff --git a/dev-libs/libpipeline/libpipeline-1.4.2.ebuild b/dev-libs/libpipeline/libpipeline-1.4.2.ebuild
deleted file mode 100644
index 09dc93e73bc0..000000000000
--- a/dev-libs/libpipeline/libpipeline-1.4.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit autotools-utils
-
-DESCRIPTION="a pipeline manipulation library"
-HOMEPAGE="http://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 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs test"
-
-DEPEND="virtual/pkgconfig
- test? ( dev-libs/check )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.1-gnulib-cygwin-sys_select.patch
- "${FILESDIR}"/${PN}-1.4.1-gnulib-darwin-program_name.patch
-)
diff --git a/dev-libs/libpipeline/libpipeline-1.5.0.ebuild b/dev-libs/libpipeline/libpipeline-1.5.0.ebuild
deleted file mode 100644
index 46f7cf9ddb9a..000000000000
--- a/dev-libs/libpipeline/libpipeline-1.5.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit ltprune
-
-DESCRIPTION="a pipeline manipulation library"
-HOMEPAGE="http://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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs test"
-
-DEPEND="virtual/pkgconfig
- test? ( dev-libs/check )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.1-gnulib-cygwin-sys_select.patch
- "${FILESDIR}"/${PN}-1.4.1-gnulib-darwin-program_name.patch
-)
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/libpipeline/libpipeline-1.5.1.ebuild b/dev-libs/libpipeline/libpipeline-1.5.1.ebuild
deleted file mode 100644
index 7538a969cc94..000000000000
--- a/dev-libs/libpipeline/libpipeline-1.5.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="a pipeline manipulation library"
-HOMEPAGE="http://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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="static-libs test"
-
-DEPEND="virtual/pkgconfig
- test? ( dev-libs/check )"
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${ED}" -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 56c124413057..0c4a07c863a6 100644
--- a/dev-libs/libpipeline/metadata.xml
+++ b/dev-libs/libpipeline/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">libpipeline/libpipeline</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libplatform/Manifest b/dev-libs/libplatform/Manifest
index a601be9a2064..23db1951e1fe 100644
--- a/dev-libs/libplatform/Manifest
+++ b/dev-libs/libplatform/Manifest
@@ -1,2 +1 @@
-DIST libplatform-2.0.1.tar.gz 74676 BLAKE2B 11d7861a419fd50e26a6c27129ec45b27e65a1429ca822c2fced5803def8b818a224fcf46253aec2f76efafd930376c41f7db5d413cfdffc149c17279ab09981 SHA512 ac397ffc741617be4371dc2a4b44cdddd07f2bdbd54e20e91a77e7d00b90b4d54f9aa5d2908c389638f548a7b6f9aa0a93bb10697eaecfc23117dee6f789f555
DIST libplatform-2.1.0.1.tar.gz 75257 BLAKE2B 99887e7d8b1b51578a5b84cdb63c71caf75cce1674ab2c7c658bb9bbf67b69a23f4facdef8d4a4a9e2f7c0101886a5350fd92708cde3aa3010589c7055bf6a50 SHA512 76e6f1ac64b61e4def7d99965708d0f05698379e0f3e846317174f0bc12a9654b3341afc84bd8a3a70f101ecab6c692dea96b57d7e000dfabf6cedee2b8dcd8a
diff --git a/dev-libs/libplatform/files/libplatform-2.0.1-arch-specific-libdirs.patch b/dev-libs/libplatform/files/libplatform-2.0.1-arch-specific-libdirs.patch
deleted file mode 100644
index fce47f428cda..000000000000
--- a/dev-libs/libplatform/files/libplatform-2.0.1-arch-specific-libdirs.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 21317bf0bb90f16d591aec580fe70d58cb43e65e Mon Sep 17 00:00:00 2001
-From: Balint Reczey <balint@balintreczey.hu>
-Date: Sun, 21 Feb 2016 23:06:28 +0100
-Subject: [PATCH] Install pkg-config and .cmake files in arch-specific libdirs
-
-They contain arch-specific strings thus they can't be in
-architecture-independent dirs. This would prevent co-installing
-i386 and amd64 versions for example, since the files would differ.
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a577410..6b5586f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -74,12 +74,12 @@ install(FILES src/util/atomic.h
- IF(NOT WIN32)
- configure_file(p8-platform.pc.in p8-platform.pc @ONLY)
- install(FILES ${CMAKE_BINARY_DIR}/p8-platform.pc
-- DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/pkgconfig)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- ENDIF(NOT WIN32)
-
- # config mode
- configure_file (p8-platform-config.cmake.in
- p8-platform-config.cmake @ONLY)
- install(FILES ${CMAKE_BINARY_DIR}/p8-platform-config.cmake
-- DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/p8-platform)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/p8-platform)
-
diff --git a/dev-libs/libplatform/libplatform-2.0.1.ebuild b/dev-libs/libplatform/libplatform-2.0.1.ebuild
deleted file mode 100644
index 28d490264b66..000000000000
--- a/dev-libs/libplatform/libplatform-2.0.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-SRC_URI="https://github.com/Pulse-Eight/${MY_PN}/archive/${MY_PN_PREFIX}-${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE=""
-
-PATCHES=( "${FILESDIR}/${P}-arch-specific-libdirs.patch" )
-
-S="${WORKDIR}/${MY_PN}-${MY_PN_PREFIX}-${MY_PN}-${PV}"
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 4ef9c153d093..000000000000
--- a/dev-libs/libplatform/libplatform-2.1.0.1-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 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 ~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-2.1.0.1.ebuild b/dev-libs/libplatform/libplatform-2.1.0.1.ebuild
deleted file mode 100644
index 27aff31ce461..000000000000
--- a/dev-libs/libplatform/libplatform-2.1.0.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-SRC_URI="https://github.com/Pulse-Eight/${MY_PN}/archive/${MY_PN_PREFIX}-${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
-
-S="${WORKDIR}/${MY_PN}-${MY_PN_PREFIX}-${MY_PN}-${PV}"
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/libplatform/metadata.xml b/dev-libs/libplatform/metadata.xml
index 34b4df1e068b..0810a279fb40 100644
--- a/dev-libs/libplatform/metadata.xml
+++ b/dev-libs/libplatform/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>thev00d00@gentoo.org</email>
- <name>Ian Whyman</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">Pulse-Eight/platform</remote-id>
</upstream>
diff --git a/dev-libs/libpo6/Manifest b/dev-libs/libpo6/Manifest
deleted file mode 100644
index 732841ec1c49..000000000000
--- a/dev-libs/libpo6/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST libpo6-0.6.0.tar.gz 117418 BLAKE2B cb7c6f6ba6e0276c6e9956eb4bd37087aacb2b7f4cd60e3bea45e521363b27c34ab0747256edaddcb4fe5400ee0012d605e85dbbba02ed36e3261d02f7436d54 SHA512 b944c496339bfcd92945c87dc2500e404beebdbea51d986333043564f88edc75b6d38f8fd2fdaadb0d51b88b0b1ebfd1d27728bce3764b6821bbc71c9fbdf8ab
-DIST libpo6-0.7.0.tar.gz 118321 BLAKE2B d83d4788bed1e0dd8561d5f94b4f985e4c9153a2f83f5ea7f8b77940fdbdde54bf53b8f1d6527cef15157482b380e50f73568a10855dc9af139f4875031c4dff SHA512 622469adf38a22e8f7e1e6c5ce4507a073654169897a877f5319e2237764afd5ed3528bc8ab201fc4448e1d7b718e39ac527bcb4098b2cb458ef6ad778ad78e9
-DIST libpo6-0.8.0.tar.gz 364709 BLAKE2B 848a69ee3e4685bd81a3c6974b342b420c00e20cd78058a3f87bdbe7ee20b47cf4a43d5bbc3c613bcf01a70c7cf19658521a5450f54f18b4a2717e53408e57d0 SHA512 0fed5af37f47245ecdd84dd4dcc5d24dd84dacbd93cf1eb9b4b2e86fba6d26e7f459a9a274b0c42397fc5e22d48cb603ee2b809979cf48675710ba9221d8a3bf
diff --git a/dev-libs/libpo6/libpo6-0.6.0.ebuild b/dev-libs/libpo6/libpo6-0.6.0.ebuild
deleted file mode 100644
index ff18663ad5b7..000000000000
--- a/dev-libs/libpo6/libpo6-0.6.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Hyperdex libpo6 support library"
-
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/libpo6/libpo6-0.7.0.ebuild b/dev-libs/libpo6/libpo6-0.7.0.ebuild
deleted file mode 100644
index ff18663ad5b7..000000000000
--- a/dev-libs/libpo6/libpo6-0.7.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Hyperdex libpo6 support library"
-
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
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 ff18663ad5b7..000000000000
--- a/dev-libs/libpo6/libpo6-0.8.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Hyperdex libpo6 support library"
-
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/libpo6/metadata.xml b/dev-libs/libpo6/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/libpo6/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 53c788a6c84c..380122efe07c 100644
--- a/dev-libs/libpqxx/Manifest
+++ b/dev-libs/libpqxx/Manifest
@@ -1,2 +1 @@
-DIST libpqxx-6.0.0.tar.gz 676528 BLAKE2B a40095ba9851acde1296d93af7e4c4414f334a734b5062874b63a146836105fdde24672707caf623f2073dc1caf87b1053f25c80b10c3fa779fc91a52f9ec7ae SHA512 f237cc03c01a8262eee44a9428206c1cc11b6034dddf540afef145f58eee5c32b880d84832563480d73d834c24311170e2ef6789e100793afbe0b6e393bd4169
-DIST libpqxx-6.4.5.tar.gz 715081 BLAKE2B 4f1356dc5fc9baddd8fdea6095541f4d90657ef0211edec7796ddd3693933b8d37d5bb14e19249a2e4627b85aef11c582b0ffac0226c8e99a70af1d2b0396e5c SHA512 b6f79c4af93876eaf859626c2deae3b23bd4fa1a438390bc01513ccc48b90565d59588f6977e7475bb7b8dbeb8b1c8ef2a4737d8eb4d15682531fbf78590ed5e
+DIST libpqxx-7.7.5.tar.gz 745921 BLAKE2B 0ca9b36aecc96a436023621a1fcfcac2732443fe9d85507a64b511914a606a05f1a1d7e569dbf893d47412fb4040d02c0af2c8de280335d1f7a43240464df59d SHA512 78f1f17f5083347cfce607349d4f62be2878c41150c4afd1f26844dc796d0fe190b387b295e1b6bf9d81a26a0ebe1d82597fa651227c3a1cfe3acbd02ea7246c
diff --git a/dev-libs/libpqxx/libpqxx-6.0.0.ebuild b/dev-libs/libpqxx/libpqxx-6.0.0.ebuild
deleted file mode 100644
index 6f10efcd3469..000000000000
--- a/dev-libs/libpqxx/libpqxx-6.0.0.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 )
-inherit python-any-r1
-
-KEYWORDS="alpha amd64 ~hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
-
-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_prepare() {
- default
-
- sed -e 's/python/python2/' \
- -i tools/{splitconfig,template2mak.py} \
- || die "Couldn't fix Python shebangs"
-}
-
-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-6.4.5.ebuild b/dev-libs/libpqxx/libpqxx-6.4.5.ebuild
deleted file mode 100644
index 26fc139ec319..000000000000
--- a/dev-libs/libpqxx/libpqxx-6.4.5.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit python-any-r1
-
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-
-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_prepare() {
- default
-
- sed -e 's/python/python2/' \
- -i tools/{splitconfig,template2mak.py} \
- || die "Couldn't fix Python shebangs"
-}
-
-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 7a7404b989eb..b47de6bbc481 100644
--- a/dev-libs/libpqxx/metadata.xml
+++ b/dev-libs/libpqxx/metadata.xml
@@ -1,15 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>pgsql-bugs@gentoo.org</email>
- <name>PostgreSQL and Related Package Development</name>
- </maintainer>
- <longdescription>
- libpqxx is the official C++ client API for PostgreSQL. If you are
- writing software in C++ that needs to access databases managed by
- Postgres — on just about any platform — then libpqxx is the
- library you use. Supersedes the now defunct libpq++ (AKA, libpqpp)
- API.
- </longdescription>
+ <maintainer type="project">
+ <email>pgsql-bugs@gentoo.org</email>
+ <name>PostgreSQL and Related Package Development</name>
+ </maintainer>
+ <longdescription>
+ libpqxx is the official C++ client API for PostgreSQL. If you are writing
+ software in C++ that needs to access databases managed by Postgres — on just
+ 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 d853c53840be..000000000000
--- a/dev-libs/libprelude/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST libprelude-3.0.0.tar.gz 2900153 BLAKE2B dd03b46a11b673252dc36701e4568c445fe1e3a61a79c92ce04ed6fefac804983ba03e39928038a67768d9e5e0542d74703c07254c0112d5a6906a7c37ae4403 SHA512 a1fd51aa3bb1b68759a00dd1636cb96379f0e954a66f4e39887ab20a5b4c191a0455dd6bd5f41b20ad94d06fff59af7f89b258f42e1c0dd4cfc99185a77d1797
-DIST libprelude-3.1.0.tar.gz 2949462 BLAKE2B 52764791766c54e2c1baa96231c6578f06219a6d1c48a97ad318fc8445fc64f90a63019654f7350d65ec4e0a336eef66bd449484321c590d1ee4596a6a386724 SHA512 f2878b19b4ba3cc74b0530f8741525ecf1425540d30356d182c4e0a797dbb5f4023792351bd059105dafc6b7818d4caa2e9c8b39be9a7039a89680244fcf1239
-DIST libprelude-4.0.0.tar.gz 2864402 BLAKE2B 2e51eb1af74b63140bc66a358b112a753c1a0fd86d6bb8bb43ccddca4cd396e34566168edca55a626a0b43ba56e676301f3792247c25f64c7a31430af3708311 SHA512 5d88e8f211b09cc3e43dbe299e935d8f11575ae3f1894059793966cd14a8e47177ef8963d45305e1a24f9efc4048520329b31681301a21815909bd38606c2ce7
-DIST libprelude-4.1.0.tar.gz 2852916 BLAKE2B a18babb24795d17d72eb1c0755f4b0330125c8b289af0b52753f6f69b5e820f0f972019b57eaded3abfc45c69bd75c0d120fe29982887e55d75f2c4c8b6486f7 SHA512 073307ca070794b47643e2ef2db4788fa92374735558b466441f0663f420cab45aecc7a1d99bb487ad23ebe602d5668369ffa6ab29fa3b0504356420ab3a7878
diff --git a/dev-libs/libprelude/files/libprelude-3.0.0-perl-hardening.patch b/dev-libs/libprelude/files/libprelude-3.0.0-perl-hardening.patch
deleted file mode 100644
index df77899c82fa..000000000000
--- a/dev-libs/libprelude/files/libprelude-3.0.0-perl-hardening.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-When : when building perl bindings. Without this patch, it does not take care of LDFLAGS.
-Why : It is required if you want to customize your own LDFLAGS, example : for hardening
-Upstream : https://www.prelude-siem.org/issues/761 It should be added in the next version of Prelude.
---- a/bindings/perl/Makefile.PL.in
-+++ b/bindings/perl/Makefile.PL.in
-@@ -27,7 +27,7 @@
- my %attributs = (NAME => 'Prelude',
- INC => '-I@top_builddir@ -I@top_builddir@/src/include -I@top_srcdir@/src/include -I@top_builddir@/src/libprelude-error -I@top_srcdir@/bindings/c++/include',
- LIBS => ["-L@top_builddir@/src/.libs -lprelude -L@top_builddir@/bindings/c++/.libs -lpreludecpp", "-L$ENV{LIBDIR} -lprelude @LIBPRELUDE_LIBS@ @LIBADD_DL@ @LTLIBTHREAD@" ],
-- LDDLFLAGS => "-L@top_builddir@/src/.libs $Config{lddlflags}");
-+ LDDLFLAGS => "-L@top_builddir@/src/.libs $Config{lddlflags} @LDFLAGS@,-rpath");
-
- if ( abs_path("@top_srcdir@") ne abs_path("@top_builddir@") ) {
- foreach my $filename ( qw/Prelude.cxx Prelude.pm/ ) {
diff --git a/dev-libs/libprelude/files/libprelude-3.0.0-ruby-configure.patch b/dev-libs/libprelude/files/libprelude-3.0.0-ruby-configure.patch
deleted file mode 100644
index fc09beace223..000000000000
--- a/dev-libs/libprelude/files/libprelude-3.0.0-ruby-configure.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/configure.in
-+++ b/configure.in
-@@ -525,9 +525,9 @@
- dnl * Ruby support *
- dnl **************************************************
-
--
--AM_PATH_RUBY(,with_ruby=yes, with_ruby=no)
-+AC_ARG_WITH(ruby, AC_HELP_STRING(--with-ruby@<:@=PATH@:>@, Enable support for ruby binding @<:@default=auto@:>@),,with_ruby=no)
- if test x$with_ruby != xno; then
-+ AM_PATH_RUBY(,with_ruby=yes, with_ruby=no)
- RUBY_ARCHDIR=`$RUBY -e 'require "rbconfig.rb"; puts RbConfig::expand("\$(archdir)")'`
- RUBY_LIBRUBYARG=`$RUBY -e 'require "rbconfig.rb"; puts RbConfig::expand("\$(LIBRUBYARG)")'`
-
diff --git a/dev-libs/libprelude/files/libprelude-3.0.0-ruby-m4.patch b/dev-libs/libprelude/files/libprelude-3.0.0-ruby-m4.patch
deleted file mode 100644
index b02555afb65f..000000000000
--- a/dev-libs/libprelude/files/libprelude-3.0.0-ruby-m4.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-When : when building ruby bindings, it can not find ruby versin so configure will never enable ruby support
-Why : It is required if you want to use libprelude with ruby
-Upstream : https://www.prelude-siem.org/issues/759 It should be added in the next version of Prelude.
---- a/m4/am_path_ruby.m4
-+++ b/m4/am_path_ruby.m4
-@@ -96,11 +96,11 @@
- dnl (shared libraries)
- AC_CACHE_CHECK([for $am_display_RUBY extension module directory],
- [am_cv_ruby_rbexecdir],
-- [am_cv_ruby_rbexecdir=`$RUBY -rrbconfig -e "drive = File::PATH_SEPARATOR == ';' ? /\A\w:/ : /\A/; prefix = Regexp.new('\\A' + Regexp.quote(RbConfig::CONFIG[['prefix']])); \\$prefix = RbConfig::CONFIG[['prefix']].sub(drive, ''); \\$sitearchdir = RbConfig::CONFIG[['sitearchdir']].sub(prefix, '\\$(prefix)').sub(drive, ''); print \\$sitearchdir;" 2>/dev/null || echo "${RUBY_EXEC_PREFIX}/local/lib/site_ruby/${RUBY_VERSION}/${RUBY_PLATFORM}"`])
-+ [am_cv_ruby_rbexecdir=`$RUBY -r rbconfig -e "print RbConfig::CONFIG[['vendorarchdir']]"`])
- AC_SUBST([rbexecdir], [$am_cv_ruby_rbexecdir])
-
-- RUBY_INCLUDES=`$RUBY -r rbconfig -e 'if RbConfig::CONFIG[["archdir"]] then print " -I" + RbConfig::CONFIG[["archdir"]] end
-- if RbConfig::CONFIG[["rubyhdrdir"]] then print " -I" + RbConfig::CONFIG[["rubyhdrdir"]] end'`
-+ RUBY_VER=`$RUBY -rrbconfig -e "print RbConfig::CONFIG[['ruby_pc']]" | sed 's/.pc//g'`
-+ RUBY_INCLUDES=`pkg-config $RUBY_VER --cflags`
- AC_SUBST([RUBY_INCLUDES])
-
- dnl pkgrbexecdir -- $(rbexecdir)/$(PACKAGE)
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/libprelude-3.0.0.ebuild b/dev-libs/libprelude/libprelude-3.0.0.ebuild
deleted file mode 100644
index 8c39b4b52446..000000000000
--- a/dev-libs/libprelude/libprelude-3.0.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-USE_RUBY="ruby23 ruby24"
-
-inherit autotools eutils python-r1 ruby-single
-
-DESCRIPTION="Prelude-SIEM Framework Library"
-HOMEPAGE="https://www.prelude-siem.org"
-SRC_URI="https://www.prelude-siem.org/pkg/src/3.0.0/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc lua python ruby perl"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="dev-libs/libgcrypt:0=
- net-libs/gnutls
- perl? ( dev-lang/perl virtual/perl-ExtUtils-MakeMaker )
- lua? ( dev-lang/lua:* )
- ruby? ( ${RUBY_DEPS} )
- python? ( ${PYTHON_DEPS} )"
-
-DEPEND="${RDEPEND}
- doc? ( dev-util/gtk-doc )
- sys-devel/flex
- virtual/yacc
- >=dev-lang/swig-3.0.7
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${P}-perl-hardening.patch"
- "${FILESDIR}/${P}-ruby-m4.patch"
- "${FILESDIR}/${P}-ruby-configure.patch"
-)
-
-src_prepare() {
- default_src_prepare
-
- # Avoid null runpaths in Perl bindings.
- sed -e 's/ LD_RUN_PATH=""//' -i "${S}/bindings/Makefile.am" || die "sed failed"
-
- mv "${S}/configure.in" "${S}/configure.ac" || die "mv failed"
-
- eautoreconf
-}
-
-src_configure() {
- local python2_configure=--without-python2
- local python3_configure=--without-python3
-
- chk_python() {
- if [[ ${EPYTHON} == python2* ]]; then
- python2_configure=--with-python2
- elif [[ ${EPYTHON} == python3* ]]; then
- python3_configure=--with-python3
- fi
- }
-
- if use python; then
- python_foreach_impl chk_python
- fi
-
- econf \
- --enable-easy-bindings \
- --with-swig \
- $(use_with perl) \
- $(use_enable doc gtk-doc) \
- $(use_with lua) \
- $(use_with ruby) \
- ${python2_configure} \
- ${python3_configure}
-}
-
-src_install() {
- default_src_install
- prune_libtool_files --modules
-}
diff --git a/dev-libs/libprelude/libprelude-3.1.0-r1.ebuild b/dev-libs/libprelude/libprelude-3.1.0-r1.ebuild
deleted file mode 100644
index 3ba688728c3a..000000000000
--- a/dev-libs/libprelude/libprelude-3.1.0-r1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-USE_RUBY="ruby23 ruby24"
-
-inherit autotools python-r1 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="doc lua python ruby perl"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="dev-libs/libgcrypt:0=
- net-libs/gnutls:=
- perl? ( dev-lang/perl:= virtual/perl-ExtUtils-MakeMaker )
- lua? ( dev-lang/lua:* )
- ruby? ( ${RUBY_DEPS} )
- python? ( ${PYTHON_DEPS} )"
-
-DEPEND="${RDEPEND}
- doc? ( dev-util/gtk-doc )
- sys-devel/flex
- virtual/yacc
- >=dev-lang/swig-3.0.7
- virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # Avoid null runpaths in Perl bindings.
- sed -e 's/ LD_RUN_PATH=""//' -i "${S}/bindings/Makefile.am" || die "sed failed"
-
- eautoreconf
-}
-
-src_configure() {
- local python2_configure=--without-python2
- local python3_configure=--without-python3
-
- chk_python() {
- if [[ ${EPYTHON} == python2* ]]; then
- python2_configure=--with-python2
- elif [[ ${EPYTHON} == python3* ]]; then
- python3_configure=--with-python3
- fi
- }
-
- if use python; then
- python_foreach_impl chk_python
- fi
-
- econf \
- --enable-easy-bindings \
- --with-swig \
- $(use_with perl) \
- $(use_with perl perl-installdirs vendor) \
- $(use_enable doc gtk-doc) \
- $(use_with lua) \
- $(use_with ruby) \
- ${python2_configure} \
- ${python3_configure}
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libprelude/libprelude-4.0.0.ebuild b/dev-libs/libprelude/libprelude-4.0.0.ebuild
deleted file mode 100644
index 74235ac17716..000000000000
--- a/dev-libs/libprelude/libprelude-4.0.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{5,6}} )
-USE_RUBY="ruby21 ruby22 ruby23 ruby24"
-DISTUTILS_OPTIONAL=1
-
-inherit autotools distutils-r1 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="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="net-libs/gnutls:=
- lua? ( dev-lang/lua:* )
- perl? ( dev-lang/perl:= virtual/perl-ExtUtils-MakeMaker )
- python? ( ${PYTHON_DEPS} )
- ruby? ( ${RUBY_DEPS} )"
-
-DEPEND="${RDEPEND}
- >=dev-lang/swig-3.0.7
- dev-util/gtk-doc-am
- sys-devel/flex
- virtual/pkgconfig
- virtual/yacc"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-python-bindings.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
- $(use_with lua)
- $(use_with perl)
- $(usex perl '--with-perl-installdirs=vendor' '')
- $(use_with ruby)
- )
-
- if use python; then
- python_setup
- if python_is_python3; then
- myconf+=(--without-python2 --with-python3="${EPYTHON}")
- else
- myconf+=(--without-python3 --with-python2="${EPYTHON}")
- fi
- else
- myconf+=(--without-python2 --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/libprelude/libprelude-4.1.0.ebuild b/dev-libs/libprelude/libprelude-4.1.0.ebuild
deleted file mode 100644
index 121297dc39d5..000000000000
--- a/dev-libs/libprelude/libprelude-4.1.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{5,6}} )
-USE_RUBY="ruby22 ruby23 ruby24 ruby25"
-DISTUTILS_OPTIONAL=1
-
-inherit autotools distutils-r1 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="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="net-libs/gnutls:=
- lua? ( dev-lang/lua:* )
- perl? ( dev-lang/perl:= virtual/perl-ExtUtils-MakeMaker )
- python? ( ${PYTHON_DEPS} )
- ruby? ( ${RUBY_DEPS} )"
-
-DEPEND="${RDEPEND}
- >=dev-lang/swig-3.0.11
- dev-util/gtk-doc-am
- sys-devel/flex
- virtual/pkgconfig
- virtual/yacc"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.0-fix-python-bindings.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
- $(use_with lua)
- $(use_with perl)
- $(usex perl '--with-perl-installdirs=vendor' '')
- $(use_with ruby)
- )
-
- if use python; then
- python_setup
- if python_is_python3; then
- myconf+=(--without-python2 --with-python3="${EPYTHON}")
- else
- myconf+=(--without-python3 --with-python2="${EPYTHON}")
- fi
- else
- myconf+=(--without-python2 --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/libprelude/metadata.xml b/dev-libs/libprelude/metadata.xml
deleted file mode 100644
index 1870d87272ec..000000000000
--- a/dev-libs/libprelude/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>thomas.andrejak@gmail.com</email>
- <name>Thomas Andrejak</name>
- </maintainer>
- <maintainer type="project">
- <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 4992f8d73c4b..000000000000
--- a/dev-libs/libpreludedb/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST libpreludedb-3.0.0.tar.gz 1269937 BLAKE2B 6f6bad7b9529b88bd03b224c1ea4066b9e806ff82960d1c2e336ebc5c345353a3b63224e0ea84407f159443b6ec53c1cb6bba8009d48dfb53a26bab96960467e SHA512 9d80e01be8cf028b8a843e68e45eeb84c561ff37e688fe5b8156e717f337b1db4d3de983f37a0544bf018238bec07580dce0c7208df005113efbba0aab34b981
-DIST libpreludedb-3.1.0.tar.gz 1291186 BLAKE2B 90b3b6264f0042b14e54abfc3068071419646076fc6cfa3dd84ba6c14797fb0ea88885edef47b8a5d0dc455468e6daaa8e795b621a4f9001d19d8edc33630a88 SHA512 dcb98eff2521979c2956bdd6f3b661c346c0f6748ef820a75d77c948e426a996de26c7fc6b6c2abddc93277db3820eb2f44b61c87feb86483e720cf9b0e0124c
-DIST libpreludedb-4.0.0.tar.gz 1325812 BLAKE2B 7a506f7cd7b51898e26201f2cc640b1f34227f9cf7c5c6e2385480f1fc0ad854b6d747293ab502b641cc65f1ee9ae4a8f225e6a1d4489bcaa59901c6342f1279 SHA512 13f5dbcfa6af965f2075d60c645ebb19cbd6b18807b26f4f13a7a05f1cf552996f9846e856728a4e1dc621efda693016e82623d4a3cbf74849b3e7114f19faca
-DIST libpreludedb-4.1.0.tar.gz 1333638 BLAKE2B 380a6d4ef8836555510f9f9882b6100417f2567520c421355fb7eec8d2cd7e2f3942c4cb90ea21fa1557327026edd5c1e35e338a79e06a21cfb2bd6813a289c2 SHA512 de1fa5106d7f34edb5a23e726c968de84bb8b10257587b6ee36276ed75ddc54f4f9539aecb7836e114eb3bfa90104dd3b5e097be0c3d12347dcbded94f293dc4
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/libpreludedb-3.0.0.ebuild b/dev-libs/libpreludedb/libpreludedb-3.0.0.ebuild
deleted file mode 100644
index a42e13bd0878..000000000000
--- a/dev-libs/libpreludedb/libpreludedb-3.0.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit autotools eutils python-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/3.0.0/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc python mysql postgres sqlite"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="dev-libs/libgcrypt:0=
- net-libs/gnutls
- dev-libs/libprelude
- python? ( ${PYTHON_DEPS} )
- mysql? ( virtual/libmysqlclient )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- doc? ( dev-util/gtk-doc )
- sys-devel/flex
- virtual/yacc
- >=dev-lang/swig-3.0.7
- virtual/pkgconfig"
-
-src_prepare() {
- default_src_prepare
-
- mv "${S}/configure.in" "${S}/configure.ac" || die "mv failed"
-
- eautoreconf
-}
-
-src_configure() {
- local python2_configure=--without-python2
- local python3_configure=--without-python3
-
- chk_python() {
- if [[ ${EPYTHON} == python2* ]]; then
- python2_configure=--with-python2
- elif [[ ${EPYTHON} == python3* ]]; then
- python3_configure=--with-python3
- fi
- }
-
- if use python; then
- python_foreach_impl chk_python
- fi
-
- econf \
- --enable-easy-bindings \
- --with-swig \
- $(use_enable doc gtk-doc) \
- ${python2_configure} \
- ${python3_configure} \
- $(use_with mysql) \
- $(use_with postgres postgresql) \
- $(use_with sqlite sqlite3)
-}
-
-src_install() {
- default_src_install
- prune_libtool_files --modules
-}
diff --git a/dev-libs/libpreludedb/libpreludedb-3.1.0.ebuild b/dev-libs/libpreludedb/libpreludedb-3.1.0.ebuild
deleted file mode 100644
index fdf5055c0559..000000000000
--- a/dev-libs/libpreludedb/libpreludedb-3.1.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5} )
-
-inherit autotools python-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"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc python mysql postgres sqlite"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="dev-libs/libgcrypt:0=
- net-libs/gnutls:=
- ~dev-libs/libprelude-${PV}
- python? ( ${PYTHON_DEPS} )
- mysql? ( virtual/libmysqlclient )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- doc? ( dev-util/gtk-doc )
- sys-devel/flex
- virtual/yacc
- >=dev-lang/swig-3.0.7
- virtual/pkgconfig"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local python2_configure=--without-python2
- local python3_configure=--without-python3
-
- chk_python() {
- if [[ ${EPYTHON} == python2* ]]; then
- python2_configure=--with-python2
- elif [[ ${EPYTHON} == python3* ]]; then
- python3_configure=--with-python3
- fi
- }
-
- if use python; then
- python_foreach_impl chk_python
- fi
-
- econf \
- --enable-easy-bindings \
- --with-swig \
- $(use_enable doc gtk-doc) \
- ${python2_configure} \
- ${python3_configure} \
- $(use_with mysql) \
- $(use_with postgres postgresql) \
- $(use_with sqlite sqlite3)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libpreludedb/libpreludedb-4.0.0.ebuild b/dev-libs/libpreludedb/libpreludedb-4.0.0.ebuild
deleted file mode 100644
index b7ded08b2281..000000000000
--- a/dev-libs/libpreludedb/libpreludedb-4.0.0.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{5,6}} )
-USE_RUBY="ruby21 ruby22 ruby23 ruby24"
-DISTUTILS_OPTIONAL=1
-
-inherit autotools distutils-r1 ruby-single
-
-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"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="mysql postgres python sqlite"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="~dev-libs/libprelude-${PV}
- net-libs/gnutls:=
- mysql? ( virtual/libmysqlclient )
- postgres? ( dev-db/postgresql:* )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- >=dev-lang/swig-3.0.7
- dev-util/gtk-doc-am
- sys-devel/flex
- virtual/pkgconfig
- virtual/yacc"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-python-bindings.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
- --with-swig
- $(use_with mysql)
- $(use_with postgres postgresql)
- $(use_with sqlite sqlite3)
- )
-
- if use python; then
- python_setup
- if python_is_python3; then
- myconf+=(--without-python2 --with-python3="${EPYTHON}")
- else
- myconf+=(--without-python3 --with-python2="${EPYTHON}")
- fi
- else
- myconf+=(--without-python2 --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/libpreludedb-4.1.0.ebuild b/dev-libs/libpreludedb/libpreludedb-4.1.0.ebuild
deleted file mode 100644
index 64f67755a9f9..000000000000
--- a/dev-libs/libpreludedb/libpreludedb-4.1.0.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_{5,6}} )
-USE_RUBY="ruby22 ruby23 ruby24 ruby25"
-DISTUTILS_OPTIONAL=1
-
-inherit autotools distutils-r1 ruby-single
-
-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"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="mysql postgres python sqlite"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="~dev-libs/libprelude-${PV}
- net-libs/gnutls:=
- mysql? ( virtual/libmysqlclient )
- postgres? ( dev-db/postgresql:* )
- python? ( ${PYTHON_DEPS} )
- sqlite? ( dev-db/sqlite:3 )"
-
-DEPEND="${RDEPEND}
- >=dev-lang/swig-3.0.11
- dev-util/gtk-doc-am
- sys-devel/flex
- virtual/pkgconfig
- virtual/yacc"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.0-fix-python-bindings.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
- --with-swig
- $(use_with mysql)
- $(use_with postgres postgresql)
- $(use_with sqlite sqlite3)
- )
-
- if use python; then
- python_setup
- if python_is_python3; then
- myconf+=(--without-python2 --with-python3="${EPYTHON}")
- else
- myconf+=(--without-python3 --with-python2="${EPYTHON}")
- fi
- else
- myconf+=(--without-python2 --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 c342084aa9be..000000000000
--- a/dev-libs/libpreludedb/metadata.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>thomas.andrejak@gmail.com</email>
- <name>Thomas Andrejak</name>
- </maintainer>
- <maintainer type="project">
- <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/libproccpuinfo/Manifest b/dev-libs/libproccpuinfo/Manifest
deleted file mode 100644
index 7fc7deba6e97..000000000000
--- a/dev-libs/libproccpuinfo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libproccpuinfo-0.0.8.tar.bz2 54475 BLAKE2B 9845aa05ceae31039f8a95de7970b7e72a9fe0692b7efec6ec8259d12b61aa5b3c8e363d76d0cd9bd262127dc15cf99057566a97db48ec80cffecad705ad92fd SHA512 24c52551025d1ca349109e594861c74a5834ea4dc5c450bf6c03c3c73a4dbef176de4ffdd5cc2e8d4279ac14ebdf7045d31292a54730d52d81c1d7bece89f4ab
diff --git a/dev-libs/libproccpuinfo/libproccpuinfo-0.0.8-r1.ebuild b/dev-libs/libproccpuinfo/libproccpuinfo-0.0.8-r1.ebuild
deleted file mode 100644
index 6ec4298a117e..000000000000
--- a/dev-libs/libproccpuinfo/libproccpuinfo-0.0.8-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Architecture independent C API for reading /proc/cpuinfo"
-HOMEPAGE="https://savannah.nongnu.org/projects/proccpuinfo/"
-SRC_URI="mirror://nongnu/proccpuinfo/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="alpha amd64 ~hppa ~mips x86"
-IUSE=""
-
-DEPEND=">=sys-devel/flex-2.5.33"
-RDEPEND=""
-
-DOCS=( AUTHORS ChangeLog HACKING README THANKS TODO )
-
-CMAKE_IN_SOURCE_BUILD="yes"
-
-src_prepare() {
- sed -i \
- -e "s#DESTINATION lib#DESTINATION $(get_libdir)#" \
- CMakeLists.txt || die
-
- cmake-utils_src_prepare
-}
diff --git a/dev-libs/libproccpuinfo/metadata.xml b/dev-libs/libproccpuinfo/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libproccpuinfo/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</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 9c460ce47613..000000000000
--- a/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2019 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 s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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 e943b72b8a48..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/libptytty/Manifest
new file mode 100644
index 000000000000..c09eade27267
--- /dev/null
+++ b/dev-libs/libptytty/Manifest
@@ -0,0 +1 @@
+DIST libptytty-2.0.tar.gz 45673 BLAKE2B 81112267157c1ba785052b2e1667c4af251991816005375d44efd1c4d9c58cc5e59324df35e556d45e46df6bceccc654d71e6c264dae5a15ea100cc9db63c5a6 SHA512 9cca5fddbcc4025c2bbe043e3367ac902d0024a34301258dafcf0de70935c055279d88227168d112d0e4c0dc37f1f49e1ea587bd6bddf0b9d92400657bc7be08
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/files/libptytty-2.0-rundir.patch b/dev-libs/libptytty/files/libptytty-2.0-rundir.patch
new file mode 100644
index 000000000000..d098811334c9
--- /dev/null
+++ b/dev-libs/libptytty/files/libptytty-2.0-rundir.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -151,6 +151,7 @@
+ PT_FIND_FILE(
+ utmp
+ PT_UTMP_FILE
++ "/run/utmp"
+ "/var/run/utmp"
+ "/var/adm/utmp"
+ "/etc/utmp"
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/metadata.xml b/dev-libs/libptytty/metadata.xml
new file mode 100644
index 000000000000..beac02a9af14
--- /dev/null
+++ b/dev-libs/libptytty/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>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libpwquality/Manifest b/dev-libs/libpwquality/Manifest
index 39fa38a421a8..231099aa8912 100644
--- a/dev-libs/libpwquality/Manifest
+++ b/dev-libs/libpwquality/Manifest
@@ -1 +1 @@
-DIST libpwquality-1.4.0.tar.bz2 450384 BLAKE2B 52a6f1c1bf90f6f01fb07667937b9792935729be77042bfc97dee8faa923212fa02410ad4e5c56f778bc9a8d248655f0b738889f5a0e73dc201d62d0c79093d0 SHA512 b8049f8b71bbfd4d345dbd4c4cffd29e9029b0fca4c95527af54d11a3b06e4708236b630df6c66738368298679c96cb3bf26b1b5d95cb3c5f7e1073cab8a98d9
+DIST libpwquality-1.4.5.tar.bz2 433961 BLAKE2B f5326996ab607bf9d24de446d9714987ad259fd2222bc54983769abc298969e2e9a4cee78f2a5c5d963bd0e5f57ea3aa346b0ce108b465a8da82810486b37e36 SHA512 91a6febbf40047e553b6051df727857df7932c816638f15118a46b8286527a80446ca4f6a050d2b1f4e33335bf4b75290751ce358fa477cb9d06fe89a450d647
diff --git a/dev-libs/libpwquality/libpwquality-1.4.0.ebuild b/dev-libs/libpwquality/libpwquality-1.4.0.ebuild
deleted file mode 100644
index a27c196f0607..000000000000
--- a/dev-libs/libpwquality/libpwquality-1.4.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit eutils multilib pam python-r1 toolchain-funcs
-
-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 ~s390 ~sh sparc x86"
-IUSE="pam python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=sys-libs/cracklib-2.8:=[static-libs(+)?]
- pam? ( virtual/pam )
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}
- >=sys-devel/gettext-0.18.2
- virtual/pkgconfig
-"
-
-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
- prune_libtool_files --modules
-}
-
-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..6d3790bc64a6
--- /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-r2.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild
new file mode 100644
index 000000000000..ac1f36569f65
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild
@@ -0,0 +1,90 @@
+# 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 libtool pam distutils-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
+ python? (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ )
+"
+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
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ # Install library in /lib for pam
+ local myeconfargs=(
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ $(use_enable pam)
+ --with-securedir="${EPREFIX}/$(getpam_mod_dir)"
+ --disable-python-bindings
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_configure
+ fi
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_test
+ fi
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libpwquality/metadata.xml b/dev-libs/libpwquality/metadata.xml
index 39980802b1da..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/dev-libs/libpy/Manifest
new file mode 100644
index 000000000000..cc03b2563fe3
--- /dev/null
+++ b/dev-libs/libpy/Manifest
@@ -0,0 +1,2 @@
+DIST gtest-23b2a3b1cf803999fb38175f6e9e038a4495c8a5.tar.gz 862253 BLAKE2B a7d7acd2a41924d37c06e4908315d80df92815ed3e81973baf915951f2fcfeb4485ce690ba224cd7168537d81bf43b84efbecef8074dd3246a020e0877924803 SHA512 f01af7e17a3b7fb064bb5b7f1f75f0eca5e987a9976555734a88b7f7a18a763c620668da0628cb6bd1553a69b248bb0b91569b99cf873789c5b27700c25a479a
+DIST libpy-0.2.5.tar.gz 201467 BLAKE2B 629f650740a54736bc014abd63c729c11070d7d226469668386b6fe187a05b830b7ababa17e6c90777c97d2af5397cb1295712218626c837c1cc2c5526e957fc SHA512 8127bdeffdf218837928d6e5743156987cb5e3ca943ec3e84f1fb5d01c1c5fa387eca3b8c276d60d1eeb18fad7a9555bc54c113c976f1d5f23f779336dd6ed71
diff --git a/dev-libs/libpy/files/libpy-0.2.5-cflags.patch b/dev-libs/libpy/files/libpy-0.2.5-cflags.patch
new file mode 100644
index 000000000000..be8dd1f21726
--- /dev/null
+++ b/dev-libs/libpy/files/libpy-0.2.5-cflags.patch
@@ -0,0 +1,24 @@
+diff --git a/Makefile b/Makefile
+index 09e6e39..9addb5d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -46,9 +46,8 @@ CLANG_WARNINGS := \
+ -Wno-self-assign-overloaded
+ WARNINGS := $(BASE_WARNINGS) $($(COMPILER)_WARNINGS)
+
+-BASE_CXXFLAGS = -std=gnu++17 -g -O$(OPTLEVEL) \
++BASE_CXXFLAGS = -std=gnu++17 -g \
+ -fwrapv -fno-strict-aliasing -pipe \
+- -march=x86-64 -mtune=generic \
+ -fvisibility=hidden \
+ $(WARNINGS) \
+ -DPY_MAJOR_VERSION=$(PY_MAJOR_VERSION) \
+@@ -58,7 +57,7 @@ BASE_CXXFLAGS = -std=gnu++17 -g -O$(OPTLEVEL) \
+ -DLIBPY_MICRO_VERSION=$(MICRO_VERSION)
+ GCC_FLAGS = -fmax-errors=$(MAX_ERRORS)
+ CLANG_FLAGS = -ferror-limit=$(MAX_ERRORS)
+-CXXFLAGS = $(BASE_CXXFLAGS) $($(COMPILER)_FLAGS)
++CXXFLAGS += $(BASE_CXXFLAGS) $($(COMPILER)_FLAGS)
+
+ # https://github.com/quantopian/libpy/pull/86/files#r309288697
+ INCLUDE_DIRS := include/ \
diff --git a/dev-libs/libpy/files/libpy-0.2.5-no-werror.patch b/dev-libs/libpy/files/libpy-0.2.5-no-werror.patch
new file mode 100644
index 000000000000..214d1764b182
--- /dev/null
+++ b/dev-libs/libpy/files/libpy-0.2.5-no-werror.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 09e6e39..bed335b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -31,7 +31,7 @@ endif
+ OPTLEVEL ?= 3
+ MAX_ERRORS ?= 5
+ BASE_WARNINGS := \
+- -Werror -Wall -Wextra \
++ -Wall -Wextra \
+ -Wno-register \
+ -Wno-missing-field-initializers \
+ -Wsign-compare \
diff --git a/dev-libs/libpy/files/libpy-0.2.5-permissions.patch b/dev-libs/libpy/files/libpy-0.2.5-permissions.patch
new file mode 100644
index 000000000000..8e5fc2762a9f
--- /dev/null
+++ b/dev-libs/libpy/files/libpy-0.2.5-permissions.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 61bc3da..a00b565 100644
+--- a/setup.py
++++ b/setup.py
+@@ -43,7 +43,7 @@ class build_py(_build_py):
+ )
+
+ p = pathlib.Path(self.build_lib) / 'libpy/_build-and-run'
+- p.chmod(p.stat().st_mode | stat.S_IEXEC)
++ p.chmod(p.stat().st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
+
+
+ setup(
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-r3.ebuild b/dev-libs/libpy/libpy-0.2.5-r3.ebuild
new file mode 100644
index 000000000000..285956b05a94
--- /dev/null
+++ b/dev-libs/libpy/libpy-0.2.5-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2021-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_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/libpy/metadata.xml b/dev-libs/libpy/metadata.xml
new file mode 100644
index 000000000000..44a146e6a51f
--- /dev/null
+++ b/dev-libs/libpy/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="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <use>
+ <flag name="sparsehash">Include libpy wrappers for <pkg>dev-cpp/sparsehash</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">quantopian/libpy</remote-id>
+ </upstream>
+</pkgmetadata>
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..090fe8251feb
--- /dev/null
+++ b/dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2020-2024 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="https://downloads.sourceforge.net/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 ffdb11581d0e..f1f0c4a1822b 100644
--- a/dev-libs/libqtxdg/Manifest
+++ b/dev-libs/libqtxdg/Manifest
@@ -1 +1,2 @@
-DIST libqtxdg-3.3.1.tar.xz 66004 BLAKE2B a676f22144ddbf67e02686fc25b381a911e5d0391e2f735c6d85914362433aad20ad0a3740ea7101d26b5b5692d0504c3798489333b1bf9585c3be88f6636beb SHA512 f0fdb95f20ee49becf770455a513178bb3ce63ee460e8bbaac8d40f50ae47a139ff518021c8fc19254bbd777b67bc7f2754302de7e2bb6cdf929bc559a1b51f3
+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.3.1.ebuild b/dev-libs/libqtxdg/libqtxdg-3.3.1.ebuild
deleted file mode 100644
index 91b64f8020e3..000000000000
--- a/dev-libs/libqtxdg/libqtxdg-3.3.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils virtualx
-
-DESCRIPTION="A Qt implementation of XDG standards"
-HOMEPAGE="https://lxqt.org/"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
-else
- SRC_URI="https://downloads.lxqt.org/downloads/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
-SLOT="0"
-IUSE="test"
-
-BDEPEND="
- >=dev-util/lxqt-build-tools-0.6.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-utils_src_configure
-}
-
-src_test() {
- # Tests don't work with C
- LC_ALL=en_US.utf8 virtx cmake-utils_src_test
-}
diff --git a/dev-libs/libqtxdg/metadata.xml b/dev-libs/libqtxdg/metadata.xml
index 2906ccd444cc..fdcb4167d5e0 100644
--- a/dev-libs/libqtxdg/metadata.xml
+++ b/dev-libs/libqtxdg/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="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/libqtxdg</remote-id>
</upstream>
diff --git a/dev-libs/libratbag/Manifest b/dev-libs/libratbag/Manifest
index f5299d58a683..9c0909368ccd 100644
--- a/dev-libs/libratbag/Manifest
+++ b/dev-libs/libratbag/Manifest
@@ -1 +1,3 @@
-DIST libratbag-0.9.tar.gz 238225 BLAKE2B 74efbed2840103018195a73c11760a2022e42db5e81ba2e9d63a21bc5eb4c1dfed107382b657d2dc208101dfb53eb1926aaccc116ae66e3bf83e1218239dc1a2 SHA512 36215f534f9429c3b182f5502a2bbe16905492a634e327a845d65b638d7dd5ebb5c4eb1700a5196d6b5caac68e500603ced60c3c83f6d0c8e3c776e0161f657b
+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/files/ratbagd.init b/dev-libs/libratbag/files/ratbagd.init
new file mode 100644
index 000000000000..d3e7d08334ce
--- /dev/null
+++ b/dev-libs/libratbag/files/ratbagd.init
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="system daemon to introspect and modify configurable mice"
+pidfile="/run/${SVCNAME}.pid"
+command="/usr/bin/ratbagd"
+start_stop_daemon_args="--quiet"
+command_background="true"
+
+depend() {
+ need dbus
+}
diff --git a/dev-libs/libratbag/libratbag-0.15.ebuild b/dev-libs/libratbag/libratbag-0.15.ebuild
new file mode 100644
index 000000000000..ba7c076793e6
--- /dev/null
+++ b/dev-libs/libratbag/libratbag-0.15.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_10 )
+
+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
+}
diff --git a/dev-libs/libratbag/libratbag-0.16.ebuild b/dev-libs/libratbag/libratbag-0.16.ebuild
new file mode 100644
index 000000000000..ad08ddd3c6db
--- /dev/null
+++ b/dev-libs/libratbag/libratbag-0.16.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_10 )
+
+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
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.16-musl-error.h.patch
+)
+
+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
+}
diff --git a/dev-libs/libratbag/libratbag-0.17-r1.ebuild b/dev-libs/libratbag/libratbag-0.17-r1.ebuild
new file mode 100644
index 000000000000..e1cf833f0ff6
--- /dev/null
+++ b/dev-libs/libratbag/libratbag-0.17-r1.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_{10..11} )
+
+inherit meson python-single-r1 systemd udev
+
+DESCRIPTION="Library to configure gaming mice"
+HOMEPAGE="https://github.com/libratbag/libratbag"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libratbag/libratbag.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+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/libratbag-0.9.ebuild b/dev-libs/libratbag/libratbag-0.9.ebuild
deleted file mode 100644
index 5e85252262df..000000000000
--- a/dev-libs/libratbag/libratbag-0.9.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit meson 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 test"
-
-DEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-RDEPEND="
- dev-libs/libevdev
- virtual/libudev
-"
-
-src_prepare() {
- default
-
- sed '/default:/d' -i meson_options.txt || die
-}
-
-src_configure() {
- local emesonargs=(
- -Denable-documentation=$(usex doc true false)
- -Denable-tests=$(usex test true false)
- -Dudev-dir=$(get_udevdir)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libratbag/libratbag-9999.ebuild b/dev-libs/libratbag/libratbag-9999.ebuild
new file mode 100644
index 000000000000..e1cf833f0ff6
--- /dev/null
+++ b/dev-libs/libratbag/libratbag-9999.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_{10..11} )
+
+inherit meson python-single-r1 systemd udev
+
+DESCRIPTION="Library to configure gaming mice"
+HOMEPAGE="https://github.com/libratbag/libratbag"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libratbag/libratbag.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+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 7899bfbe42b7..1c15b5e3eafc 100644
--- a/dev-libs/libratbag/metadata.xml
+++ b/dev-libs/libratbag/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>alex@1stleg.com</email>
+ <name>Alex Barker</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</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 d367b203cfd7..e53816e500da 100644
--- a/dev-libs/librdkafka/Manifest
+++ b/dev-libs/librdkafka/Manifest
@@ -1,5 +1 @@
-DIST librdkafka-0.11.5.tar.gz 1984510 BLAKE2B 55a27482275726233b5c9b39dfac1b9f34235c68600b5720c1a9dec782de6a4d7d084ad71e50857c32a93b39beacc891933e02f45162d0de144ecaadb3640c41 SHA512 4a8dc46ad66f23cff4d4ef2fc8daa7207bfa3e77fd3580b3f141a73b449e60ea5381e97263235b4d0d762df027a8a2cad08637d88162d9605c82d74a1e64b67c
-DIST librdkafka-0.11.6.tar.gz 1994337 BLAKE2B 7b61e6ba02c5ed58c20e604d6765f6a57ff63ab0c61f2a4c64eff55bfb6c854ef089ac9eea9acc6d44b6abdb6d1425ff23e9d4e6037c733bc5719d6b69c74ae0 SHA512 9657dc53220bbff3eb44941cff2f50ab7f71a82f7486d64ea14f67eabd4abe8c67f225a752cc1f0339439a1cc512e99ade6536d087857979cd198c0102015718
-DIST librdkafka-1.0.0.tar.gz 2465603 BLAKE2B 7006dc421ae5c2c991853f4ede9d99e7dd308b49372a7c2c859ecc0e6ee7aa3b6cda9af7a71a5813610630b564bd65c6cf18ecaefd1a1880545838d7758aea88 SHA512 15ac1e4c9042debf8d4df602ccdc5eccae3a37b305be24d724fcaffc3d1d0aafa708fc8e29d6af51f51ed6c7daf74b3041b8b9b0444e6702cd73479c8078859a
-DIST librdkafka-1.0.1.tar.gz 2466259 BLAKE2B a391d57b21711853ce7df338070512f715f3a49ead2b4f7eb1fe5500699c1891821e6bbd4b87d3debea6852eb85094aba161cb3ca95aee3c592a38be4933ecff SHA512 094599e974236814c03e688eaa5e39d817cca110ff691501826268c45653fcd6b21b60e741140a1f7ffccd49902247f08fcec82475be2e9f85feaa4340b32d4c
-DIST librdkafka-1.1.0.tar.gz 2511445 BLAKE2B 00c20361058d537d045da6961afc45e40e0ac641918df9eb457937dc3ca566639b81d8aa10cc6ed2f57988eded180f3d2eaea72ca4b910a652b93b54b9388253 SHA512 35561399b07278a09a51245c5503c86eb0cc8971692b4e65a332144bfb71e2e86d4ceaf1804534b6a416bcace74cef493b6465c20b32c14de97f45f2854359c6
+DIST librdkafka-2.2.0.tar.gz 4340164 BLAKE2B 394c9fd25db0a3a02b16fec3d5d5acc4808b4c8a6c8e025e71f15a91c6311206bf4d7c863860be36483c150bb10955cdc98ba0f088fa493b20ae52154e2a83d0 SHA512 1a85b5864efdeece1327e461b62a378f24b73eb7174168f630aeff01d4a5074d6b2f15744bc267665fcfc6384e804df00c20b7271ecd85a98dca84746b86b4d9
diff --git a/dev-libs/librdkafka/files/librdkafka-1.0.0-remove-automagic-on-zstd.patch b/dev-libs/librdkafka/files/librdkafka-1.0.0-remove-automagic-on-zstd.patch
deleted file mode 100644
index ed4dbda6b8ab..000000000000
--- a/dev-libs/librdkafka/files/librdkafka-1.0.0-remove-automagic-on-zstd.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-commit ff67402dcfb2f4913a3ff1d84449a5e1620ee4ae
-Author: Thomas Deutschmann <whissi@gentoo.org>
-AuthorDate: Mon Apr 29 18:57:10 2019 +0200
-Commit: Thomas Deutschmann <whissi@gentoo.org>
-CommitDate: Mon Apr 29 18:57:10 2019 +0200
-
- configure: Add option to disable automagic dependency on zstd
-
- This commit will add an option which will allow you to explicit disable
- zstd usage.
-
-diff --git a/mklove/modules/configure.zstd b/mklove/modules/configure.zstd
-index 6dd621ad..3ea36ccf 100644
---- a/mklove/modules/configure.zstd
-+++ b/mklove/modules/configure.zstd
-@@ -9,8 +9,12 @@
- # mkl_check zstd [<action>]
- #
-
-+mkl_toggle_option "Feature" ENABLE_ZSTD "--enable-zstd" "Enable support for ZSTD compression" "y"
-+
- function manual_checks {
-- local action=$1
-+ local action=${1:-disable}
-+
-+ [[ $ENABLE_ZSTD == y ]] || return 0
-
- if [[ $WITH_STATIC_LINKING != y ]]; then
- # Homebrew does not provide a static library for zstd
diff --git a/dev-libs/librdkafka/files/librdkafka-1.1.0-remove-automagic-on-zstd.patch b/dev-libs/librdkafka/files/librdkafka-1.1.0-remove-automagic-on-zstd.patch
deleted file mode 100644
index 792bb4535703..000000000000
--- a/dev-libs/librdkafka/files/librdkafka-1.1.0-remove-automagic-on-zstd.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-commit 828e10cb9331fc5bd48fb1d6fdb8e08cd5fb27ea
-Author: Thomas Deutschmann <whissi@gentoo.org>
-AuthorDate: Mon Apr 29 18:57:10 2019 +0200
-Commit: Thomas Deutschmann <whissi@gentoo.org>
-CommitDate: Mon Jun 24 23:52:25 2019 +0200
-
- configure: Add option to disable automagic dependency on zstd
-
- This commit will add an option which will allow you to explicit disable
- zstd usage.
-
-diff --git a/mklove/modules/configure.libzstd b/mklove/modules/configure.libzstd
-index d9599d82..cb82c128 100644
---- a/mklove/modules/configure.libzstd
-+++ b/mklove/modules/configure.libzstd
-@@ -9,8 +9,12 @@
- # mkl_check libzstd [<action>]
- #
-
-+mkl_toggle_option "Feature" ENABLE_ZSTD "--enable-zstd" "Enable support for ZSTD compression" "y"
-+
- function manual_checks {
-- local action=$1
-+ local action=${1:-disable}
-+
-+ [[ $ENABLE_ZSTD == y ]] || return 0
-
- mkl_meta_set "libzstd" "brew" "zstd"
- mkl_meta_set "libzstd" "apk" "zstd-dev zstd-static"
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-0.11.5.ebuild b/dev-libs/librdkafka/librdkafka-0.11.5.ebuild
deleted file mode 100644
index 8d19079df92e..000000000000
--- a/dev-libs/librdkafka/librdkafka-0.11.5.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2018 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 x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs"
-
-RDEPEND="
- lz4? ( app-arch/lz4:=[static-libs(-)?] )
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? ( dev-libs/openssl:0= )
- sys-libs/zlib
-"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-src_configure() {
- tc-export 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)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- local DOCS=(
- README.md
- CONFIGURATION.md
- INTRODUCTION.md
- )
-
- default
-
- if ! use static-libs; then
- find "${ED}"/usr/lib* -name '*.la' -o -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-0.11.6.ebuild b/dev-libs/librdkafka/librdkafka-0.11.6.ebuild
deleted file mode 100644
index 3e90b50ba9b1..000000000000
--- a/dev-libs/librdkafka/librdkafka-0.11.6.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 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 x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs"
-
-RDEPEND="
- lz4? ( app-arch/lz4:=[static-libs(-)?] )
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? ( dev-libs/openssl:0= )
- sys-libs/zlib
-"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-src_configure() {
- tc-export 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)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- local DOCS=(
- README.md
- CONFIGURATION.md
- INTRODUCTION.md
- )
-
- default
-
- if ! use static-libs; then
- find "${ED}"/usr/lib* -name '*.la' -o -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.0.0-r1.ebuild b/dev-libs/librdkafka/librdkafka-1.0.0-r1.ebuild
deleted file mode 100644
index fa9a0fd5d556..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2019 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 ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-RDEPEND="
- lz4? ( app-arch/lz4:=[static-libs(-)?] )
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? ( dev-libs/openssl:0= )
- zstd? ( app-arch/zstd:= )
- sys-libs/zlib
-"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-PATCHES=( "${FILESDIR}"/${P}-remove-automagic-on-zstd.patch )
-
-src_configure() {
- tc-export 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() {
- local DOCS=(
- README.md
- CONFIGURATION.md
- INTRODUCTION.md
- )
-
- default
-
- if ! use static-libs; then
- find "${ED}"/usr/lib* -name '*.la' -o -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.0.1.ebuild b/dev-libs/librdkafka/librdkafka-1.0.1.ebuild
deleted file mode 100644
index c46e4e5f1245..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.0.1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 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 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} )
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.0.0-remove-automagic-on-zstd.patch )
-
-src_configure() {
- tc-export 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() {
- local DOCS=(
- README.md
- CONFIGURATION.md
- INTRODUCTION.md
- )
-
- default
-
- if ! use static-libs; then
- find "${ED}"/usr/lib* -name '*.la' -o -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.1.0.ebuild b/dev-libs/librdkafka/librdkafka-1.1.0.ebuild
deleted file mode 100644
index d47d633d5484..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.1.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 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 ~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} )
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.1.0-remove-automagic-on-zstd.patch )
-
-src_configure() {
- tc-export 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() {
- local DOCS=(
- README.md
- CONFIGURATION.md
- INTRODUCTION.md
- )
-
- default
-
- if ! use static-libs; then
- find "${ED}"/usr/lib* -name '*.la' -o -name '*.a' -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..86c99f805fc2
--- /dev/null
+++ b/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild
@@ -0,0 +1,111 @@
+# 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}
+ elibc_musl? ( sys-libs/queue-standalone )
+ 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/metadata.xml b/dev-libs/librdkafka/metadata.xml
index 1d277adeaf22..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 a713989ed539..7e43e656f67d 100644
--- a/dev-libs/librelp/Manifest
+++ b/dev-libs/librelp/Manifest
@@ -1,3 +1,2 @@
-DIST librelp-1.2.18.tar.gz 506766 BLAKE2B 939bd2279e03a6431fbdfb787aa3d62b3f622ec3248dfc7c0a0a141294c27319081092a624c328374cdba0cbd51659301a77ad41bed27ba13f47601f7a607944 SHA512 7193438238b7019e7a4944d6d900a1fa5a369ff8a6b97a6dca7e82b6637c0f391ec3554eeeaa285881457cb2abe72fa1a893244ec9a36cc9d2e2592d58c5462a
-DIST librelp-1.3.0.tar.gz 514470 BLAKE2B 3e8d844d3cccd4c148036191f376ba49b3851a2c7e95361bb31a1a172ca0813caa96eb3753b2285a2547c85e073de3237a749bc64fc0fead69ab170656dcb200 SHA512 6e60398c68a78f4b4202a697e144f1516ff3bbb32192f745b52c77d107954febf8cb31d2e166efa96c00122f6807860ecd01084f1d3d4005336f2cb75e6461c9
-DIST librelp-1.4.0.tar.gz 519235 BLAKE2B 9c1e52cc9f666e75f261db65f45e3d954afa033cac59f93394c30ba99ed772d71b2882bdbb9bed696e57ed99805d47e57fd5e331cc3bc3850c5f15041a0d70d0 SHA512 92d01a51b4ee3c66d1f65d2e26f214646d72b41a8411ab700fe5f9f30f805ef98dec962526ef95c8d8428bf7398d38f656c919f95a3e49382adc745ef9eb4239
+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/files/librelp-1.3.0-dummyclient.py-Py3-compatibility.patch b/dev-libs/librelp/files/librelp-1.3.0-dummyclient.py-Py3-compatibility.patch
deleted file mode 100644
index 99ac9887f739..000000000000
--- a/dev-libs/librelp/files/librelp-1.3.0-dummyclient.py-Py3-compatibility.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 93c7ab4284f0609abab7cf2f9b8bdefe21fe0038 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@whissi.de>
-Date: Tue, 11 Dec 2018 16:50:12 +0100
-Subject: [PATCH] tests: make dummyclient.py compatible with Python2 and
- Python3
-
-Closes: https://github.com/rsyslog/librelp/issues/163
----
- tests/dummyclient.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/dummyclient.py b/tests/dummyclient.py
-index 6f99c79..8b0041e 100755
---- a/tests/dummyclient.py
-+++ b/tests/dummyclient.py
-@@ -4,7 +4,7 @@
- import os
-
- port = int(os.environ['TESTPORT'])
--print "dummyclient info: opening and closing port " + str(port) + " without sending data"
-+print("dummyclient info: opening and closing port " + str(port) + " without sending data")
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- s.connect(("127.0.0.1", port))
- s.close()
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.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/librelp-1.2.18.ebuild b/dev-libs/librelp/librelp-1.2.18.ebuild
deleted file mode 100644
index fd69546976e4..000000000000
--- a/dev-libs/librelp/librelp-1.2.18.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools
-
-DESCRIPTION="An easy to use library for the RELP protocol"
-HOMEPAGE="http://www.librelp.com/"
-SRC_URI="http://download.rsyslog.com/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ doc? ( FDL-1.3 )"
-
-# subslot = soname version
-SLOT="0/0.4.0"
-
-KEYWORDS="amd64 arm ~arm64 hppa sparc x86"
-IUSE="debug doc +ssl +gnutls libressl openssl static-libs"
-REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
-
-RDEPEND="
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.17.1:0= )
- openssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-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.3.0.ebuild b/dev-libs/librelp/librelp-1.3.0.ebuild
deleted file mode 100644
index 9ce8c653d49f..000000000000
--- a/dev-libs/librelp/librelp-1.3.0.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-
-inherit autotools python-any-r1
-
-DESCRIPTION="An easy to use library for the RELP protocol"
-HOMEPAGE="http://www.librelp.com/"
-SRC_URI="http://download.rsyslog.com/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ doc? ( FDL-1.3 )"
-
-# subslot = soname version
-SLOT="0/0.4.0"
-
-KEYWORDS="amd64 arm ~arm64 hppa ~sparc x86"
-IUSE="debug doc +ssl +gnutls libressl openssl static-libs test"
-REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
-
-RDEPEND="
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.17.1:0= )
- openssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )"
-DEPEND="${RDEPEND}
- test? ( ${PYTHON_DEPS} )
- virtual/pkgconfig"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=( "${FILESDIR}"/${P}-dummyclient.py-Py3-compatibility.patch )
-
-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.4.0.ebuild b/dev-libs/librelp/librelp-1.4.0.ebuild
deleted file mode 100644
index cc681947895e..000000000000
--- a/dev-libs/librelp/librelp-1.4.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-
-inherit autotools python-any-r1
-
-DESCRIPTION="An easy to use library for the RELP protocol"
-HOMEPAGE="http://www.librelp.com/"
-SRC_URI="http://download.rsyslog.com/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ doc? ( FDL-1.3 )"
-
-# subslot = soname version
-SLOT="0/0.5.0"
-
-KEYWORDS="amd64 ~arm ~arm64 hppa ~sparc x86"
-IUSE="debug doc +ssl +gnutls libressl openssl static-libs test"
-REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
-
-RDEPEND="
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.17.1:0= )
- openssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl: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/metadata.xml b/dev-libs/librelp/metadata.xml
index 17b00e2ac3e0..f0df933ee186 100644
--- a/dev-libs/librelp/metadata.xml
+++ b/dev-libs/librelp/metadata.xml
@@ -1,17 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
- <maintainer type="person">
- <email>dev-zero@gentoo.org</email>
- <name>Tiziano Müller</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="gnutls">Use GnuTLS</flag>
- <flag name="libressl">Use LibreSSL</flag>
<flag name="openssl">Use OpenSSL</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/librep/Manifest b/dev-libs/librep/Manifest
deleted file mode 100644
index b1d8ca2f78f2..000000000000
--- a/dev-libs/librep/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST librep_0.92.6.tar.xz 472152 BLAKE2B 165fa8b1d68360e0b08909663cab0f334774030e970c0d376652bc819368eae647882091f1e8d1329f4d3c1c53def4f69aeb8c4d7fe5f327d06d528dc9bb2267 SHA512 6e347e788922af9458e6eddfdaf7935b69df8f70b3f6deb11e6abd67596aec05e7dce7f41db1c84e478347d379ced10cfb34672a797c853913fd538a78a1f96d
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.6.ebuild b/dev-libs/librep/librep-0.92.6.ebuild
deleted file mode 100644
index 259b0e4cdbfa..000000000000
--- a/dev-libs/librep/librep-0.92.6.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools elisp-common eutils flag-o-matic
-
-DESCRIPTION="Shared library implementing a Lisp dialect"
-HOMEPAGE="http://librep.sourceforge.net/"
-SRC_URI="http://download.tuxfamily.org/librep/${PN}_${PV}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="emacs readline"
-
-RDEPEND="
- >=sys-libs/gdbm-1.8.0
- emacs? ( virtual/emacs )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}
- sys-apps/texinfo
- app-arch/xz-utils
-"
-
-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 \
- --libexecdir=/usr/$(get_libdir) \
- --without-gmp \
- --without-ffi \
- --disable-static \
- $(use_with readline)
-}
-
-src_compile() {
- default
-
- if use emacs; then
- elisp-compile rep-debugger.el || die "elisp-compile failed"
- fi
-}
-
-src_install() {
- default
- prune_libtool_files --modules
-
- 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 c962fd87965c..000000000000
--- a/dev-libs/librep/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 963e44cf4c37..000000000000
--- a/dev-libs/libreport/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST libreport-2.0.13.tar.gz 1190147 BLAKE2B fe79d924fbf7bd11cc3fd23956a137fb296baf9c40f12f3ecfefe68c82281f62299887511a096196b4fdcdc9245ab268592dace4e728c2c34af47581e52f5132 SHA512 cfe963db8091b245f8ceb7d8501466f4f9464c28d298faeafc9f6e57deafdfdc6501d468bf5ffd83703adb67bc1e05e06c56b5c0e0028bb2e0134788ddbb2181
-DIST libreport-2.10.0.tar.gz 2278084 BLAKE2B 95ac1fbf32e6e021e9553b35b10f9e46b7ea2e9cc6f21e53eb39a32a5261f7a6e49b2172381fdea30341fcc4311928691e68749a8bb5c41a4bf709151935687a SHA512 978ea442d82b75abf80b2075f540cb05c5577387a9221f2070c9695c4546d36169738d223f5e903d0b774b7e1566a6111c55a6bb51a0822ad1676095f067c45b
-DIST libreport-2.9.5.tar.gz 2271742 BLAKE2B e74d694c0012e984aab8044e99fee8e12a197c0a2edb933e78f045260043d40557509056b1093bc13cbe983976d5525cde1f7596a942760df10c857e99d6b56e SHA512 f207710d88f39870d08e3a5fdfa3e1d5a808625bd36b1dcce363cefd39e582bad6be6dc4224db5e1df4404734c3dd69c437c377303fe978ae21b608fceb833ce
diff --git a/dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch b/dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch
deleted file mode 100644
index 4baaedd4d8eb..000000000000
--- a/dev-libs/libreport/files/libreport-2.0.13-automake-1.12.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From cb7d7fe5b2daf4dac3b8a1616461a0c840e18b73 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Sat, 22 Sep 2012 03:06:03 -0400
-Subject: [PATCH] Fix automake-1.12 autoreconf issues.
-
-Need -Wno-portablity for '%'-style pattern rules in doc/Makefile.am
-
-Need AM_PROG_CC_C_O for src/cli/cli.c
-
-gettext-0.18.1.1's AM_GNU_GETTEXT requires AM_PROG_MKDIR_P, causing
-problems for automake-1.12.
----
- configure.ac | 8 +++-----
- src/lib/Makefile.am | 2 +-
- src/plugins/Makefile.am | 2 +-
- 3 files changed, 5 insertions(+), 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index dd50bcf..3955689 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3,7 +3,7 @@ AC_INIT([libreport],
- [crash-catcher@fedorahosted.org])
-
- AC_CONFIG_MACRO_DIR([m4])
--AM_INIT_AUTOMAKE([-Wall -Werror foreign])
-+AM_INIT_AUTOMAKE([-Wall -Wno-portability -Werror foreign])
- # Support silent build rules. Disable by either passing --disable-silent-rules
- # to ./configure or passing V=1 to make
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
-@@ -11,8 +11,9 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
- AM_SILENT_RULES([yes])
-
- AC_DISABLE_STATIC
-+AM_PROG_AR
- AC_PROG_LIBTOOL
--AC_PROG_CC
-+AM_PROG_CC_C_O
- AC_PROG_LN_S
-
- AC_SYS_LARGEFILE
-@@ -33,9 +34,6 @@ GETTEXT_PACKAGE=libreport
- AC_SUBST(GETTEXT_PACKAGE)
- AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])
-
--AM_GNU_GETTEXT([external])
--AM_GNU_GETTEXT_VERSION([0.17])
--
- IT_PROG_INTLTOOL([0.35.0])
-
- dnl ****** END ****************************************
-diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
-index 5befe7d..2c51931 100644
---- a/src/lib/Makefile.am
-+++ b/src/lib/Makefile.am
-@@ -121,7 +121,7 @@ libreport_web_la_LIBADD = \
- libreport.la
-
- $(DESTDIR)/$(DEBUG_DUMPS_DIR):
-- $(mkdir_p) '$@'
-+ $(MKDIR_P) '$@'
- # no need to chmod it here
- #chmod 1777 '$@'
- install-data-local: $(DESTDIR)/$(DEBUG_DUMPS_DIR)
-diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
-index 3f9dfd7..795d198 100644
---- a/src/plugins/Makefile.am
-+++ b/src/plugins/Makefile.am
-@@ -40,7 +40,7 @@ EXTRA_DIST = \
- report_Uploader.xml.in
-
- $(DESTDIR)/$(DEBUG_INFO_DIR):
-- $(mkdir_p) '$@'
-+ $(MKDIR_P) '$@'
-
- reporter_upload_SOURCES = \
- reporter-upload.c
---
-1.7.12
-
diff --git a/dev-libs/libreport/files/libreport-2.0.13-gentoo.patch b/dev-libs/libreport/files/libreport-2.0.13-gentoo.patch
deleted file mode 100644
index 89c6a17354a3..000000000000
--- a/dev-libs/libreport/files/libreport-2.0.13-gentoo.patch
+++ /dev/null
@@ -1,295 +0,0 @@
-From 624d523361dcf8c10742cbcb1a017e21675002ff Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Sat, 22 Sep 2012 02:17:08 -0400
-Subject: [PATCH] Replace Fedora defaults with Gentoo ones, and disable code
- not relevant for Gentoo
-
-Disable bugzilla and ureport plugins (they require Gentoo infrastructure
-changes). Fix libreport-web.pc to not rely on xmlrpc.pc, which Gentoo
-does not have.
-
-Disble mailx post-create by default to avoid "abrtd: 'post-create' ...
-exited with 141" errors.
----
- doc/Makefile.am | 2 -
- doc/reporter-bugzilla.txt | 2 +-
- libreport-web.pc.in | 6 +--
- src/lib/dump_dir.c | 2 +-
- src/plugins/Makefile.am | 83 ++------------------------------------
- src/plugins/bugzilla.conf | 2 +-
- src/plugins/mailx_event.conf | 2 +-
- src/plugins/report_Bugzilla.conf | 2 +-
- src/plugins/report_Bugzilla.xml.in | 4 +-
- src/plugins/reporter-bugzilla.c | 2 +-
- src/report-python/__init__.py | 4 +-
- 11 files changed, 16 insertions(+), 95 deletions(-)
-
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 542fe4c..863b6d1 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -9,11 +9,9 @@ XMLTO_SILENT_0 = @echo " XMLTO " $@;
-
- MAN1_TXT =
- MAN1_TXT += report-cli.txt
--MAN1_TXT += reporter-bugzilla.txt
- MAN1_TXT += reporter-kerneloops.txt
- MAN1_TXT += reporter-mailx.txt
- MAN1_TXT += reporter-print.txt
--MAN1_TXT += reporter-rhtsupport.txt
- MAN1_TXT += reporter-upload.txt
- MAN1_TXT += report.txt
-
-diff --git a/doc/reporter-bugzilla.txt b/doc/reporter-bugzilla.txt
-index 3cedf73..734d598 100644
---- a/doc/reporter-bugzilla.txt
-+++ b/doc/reporter-bugzilla.txt
-@@ -44,7 +44,7 @@ Configuration file lines should have 'PARAM = VALUE' format. The parameters are:
- Password to Bugzilla account.
-
- 'BugzillaURL'::
-- Bugzilla HTTP(S) address. (default: https://bugzilla.redhat.com)
-+ Bugzilla HTTP(S) address. (default: https://bugs.gentoo.org/)
-
- 'SSLVerify'::
- Use yes/true/on/1 to verify server's SSL certificate. (default: yes)
-diff --git a/libreport-web.pc.in b/libreport-web.pc.in
-index c9af1d2..14505f8 100644
---- a/libreport-web.pc.in
-+++ b/libreport-web.pc.in
-@@ -6,7 +6,7 @@ includedir=@includedir@
- Name: libreport
- Description: Library providing network API for libreport
- Version: @VERSION@
--Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 xmlrpc xmlrpc_client json btparser libreport
--Libs: -L${libdir} -lreport-web
--Cflags:
-+Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 json btparser libreport
-+Libs: -L${libdir} @XMLRPC_LIBS@ @XMLRPC_CLIENT_LIBS@ -lreport-web
-+Cflags: @XMLRPC_CFLAGS@ @XMLRPC_CLIENT_CFLAGS@
-
-diff --git a/src/lib/dump_dir.c b/src/lib/dump_dir.c
-index 0fc7da7..41e4f55 100644
---- a/src/lib/dump_dir.c
-+++ b/src/lib/dump_dir.c
-@@ -556,7 +556,7 @@ void dd_create_basic_files(struct dump_dir *dd, uid_t uid, const char *chroot_di
- release = load_text_file("/etc/system-release",
- DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE);
- if (!release)
-- release = load_text_file("/etc/redhat-release", /*flags:*/ 0);
-+ release = load_text_file("/etc/gentoo-release", /*flags:*/ 0);
- dd_save_text(dd, FILENAME_OS_RELEASE, release);
- if (chroot_dir)
- {
-diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
-index 967596f..3f9dfd7 100644
---- a/src/plugins/Makefile.am
-+++ b/src/plugins/Makefile.am
-@@ -1,36 +1,27 @@
- pluginslibdir = $(PLUGINS_LIB_DIR)
-
- bin_PROGRAMS = \
-- reporter-bugzilla \
-- reporter-rhtsupport \
- reporter-kerneloops \
- reporter-upload \
- reporter-mailx \
- reporter-print \
-- report \
-- reporter-ureport
-+ report
-
- pluginsconfdir = $(PLUGINS_CONF_DIR)
-
- reportpluginsconfdir = $(REPORT_PLUGINS_CONF_DIR)
-
- dist_reportpluginsconf_DATA = \
-- bugzilla.conf \
-- rhtsupport.conf \
- mailx.conf
-
- eventsdir = $(EVENTS_DIR)
-
- dist_events_DATA = \
-- report_Bugzilla.xml \
-- report_Bugzilla.conf \
- report_Logger.conf \
- report_Logger.xml \
- report_Mailx.xml \
-- report_RHTSupport.xml \
- report_Kerneloops.xml \
-- report_Uploader.xml \
-- report_uReport.xml
-+ report_Uploader.xml
-
- @INTLTOOL_XML_RULE@
-
-@@ -39,74 +30,18 @@ eventsconfdir = $(EVENTS_CONF_DIR)
- dist_eventsconf_DATA = \
- mailx_event.conf \
- print_event.conf \
-- bugzilla_event.conf \
-- rhtsupport_event.conf \
- uploader_event.conf
-
- EXTRA_DIST = \
-- report_Bugzilla.xml.in \
-- report_Bugzilla.conf \
- report_Logger.conf \
- report_Logger.xml.in \
- report_Mailx.xml.in \
-- report_RHTSupport.xml.in \
- report_Kerneloops.xml.in \
-- report_Uploader.xml.in \
-- report_uReport.xml.in
-+ report_Uploader.xml.in
-
- $(DESTDIR)/$(DEBUG_INFO_DIR):
- $(mkdir_p) '$@'
-
--reporter_bugzilla_SOURCES = \
-- reporter-bugzilla.c rhbz.c rhbz.h
--reporter_bugzilla_CPPFLAGS = \
-- -I$(srcdir)/../include \
-- -I$(srcdir)/../lib \
-- -DBIN_DIR=\"$(bindir)\" \
-- -DCONF_DIR=\"$(CONF_DIR)\" \
-- -DLOCALSTATEDIR='"$(localstatedir)"' \
-- -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
-- -DDEBUG_INFO_DIR=\"$(DEBUG_INFO_DIR)\" \
-- -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
-- -DPLUGINS_CONF_DIR=\"$(REPORT_PLUGINS_CONF_DIR)\" \
-- $(GLIB_CFLAGS) \
-- $(LIBREPORT_CFLAGS) \
-- $(XMLRPC_CFLAGS) $(XMLRPC_CLIENT_CFLAGS) \
-- -D_GNU_SOURCE
--reporter_bugzilla_LDADD = \
-- $(GLIB_LIBS) \
-- $(XMLRPC_LIBS) $(XMLRPC_CLIENT_LIBS) \
-- ../lib/libreport-web.la \
-- ../lib/libreport.la
--
--reporter_rhtsupport_SOURCES = \
-- abrt_rh_support.h abrt_rh_support.c \
-- reporter-rhtsupport.h \
-- reporter-rhtsupport-parse.c \
-- reporter-rhtsupport.c
--reporter_rhtsupport_CPPFLAGS = \
-- -I$(srcdir)/../include \
-- -I$(srcdir)/../lib \
-- -DBIN_DIR=\"$(bindir)\" \
-- -DCONF_DIR=\"$(CONF_DIR)\" \
-- -DLOCALSTATEDIR='"$(localstatedir)"' \
-- -DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
-- -DDEBUG_INFO_DIR=\"$(DEBUG_INFO_DIR)\" \
-- -DPLUGINS_LIB_DIR=\"$(PLUGINS_LIB_DIR)\" \
-- -DPLUGINS_CONF_DIR=\"$(REPORT_PLUGINS_CONF_DIR)\" \
-- $(GLIB_CFLAGS) \
-- $(LIBREPORT_CFLAGS) \
-- $(XMLRPC_CFLAGS) $(XMLRPC_CLIENT_CFLAGS) \
-- $(LIBXML_CFLAGS) \
-- -D_GNU_SOURCE
--reporter_rhtsupport_LDFLAGS = -ltar
--reporter_rhtsupport_LDADD = \
-- $(GLIB_LIBS) \
-- $(LIBXML_LIBS) \
-- $(XMLRPC_LIBS) $(XMLRPC_CLIENT_LIBS) \
-- ../lib/libreport-web.la \
-- ../lib/libreport.la
--
- reporter_upload_SOURCES = \
- reporter-upload.c
- reporter_upload_CPPFLAGS = \
-@@ -200,16 +135,4 @@ report_CPPFLAGS = \
- report_LDADD = \
- ../lib/libreport.la
-
--reporter_ureport_SOURCES = \
-- ureport.c
--reporter_ureport_CPPFLAGS = \
-- -I$(srcdir)/../include \
-- -I$(srcdir)/../lib \
-- $(GLIB_CFLAGS) \
-- $(LIBREPORT_CFLAGS) \
-- -D_GNU_SOURCE
--reporter_ureport_LDADD = \
-- ../lib/libreport.la \
-- ../lib/libreport-web.la
--
- DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
-diff --git a/src/plugins/bugzilla.conf b/src/plugins/bugzilla.conf
-index 18eba5a..f5afe6f 100644
---- a/src/plugins/bugzilla.conf
-+++ b/src/plugins/bugzilla.conf
-@@ -1,5 +1,5 @@
- # Bugzilla URL
--BugzillaURL = https://bugzilla.redhat.com/
-+BugzillaURL = https://bugs.gentoo.org/
- # yes means that ssl certificates will be checked
- SSLVerify = yes
- # your login has to exist, if you don have any, please create one
-diff --git a/src/plugins/mailx_event.conf b/src/plugins/mailx_event.conf
-index a8c5d11..1c07a73 100644
---- a/src/plugins/mailx_event.conf
-+++ b/src/plugins/mailx_event.conf
-@@ -1,3 +1,3 @@
--EVENT=post-create reporter-mailx --notify-only -c /etc/libreport/plugins/mailx.conf
-+# EVENT=post-create reporter-mailx --notify-only -c /etc/libreport/plugins/mailx.conf
-
- EVENT=report_Mailx reporter-mailx
-diff --git a/src/plugins/report_Bugzilla.conf b/src/plugins/report_Bugzilla.conf
-index f1a77f5..bb2e651 100644
---- a/src/plugins/report_Bugzilla.conf
-+++ b/src/plugins/report_Bugzilla.conf
-@@ -1,4 +1,4 @@
--Bugzilla_BugzillaURL = https://bugzilla.redhat.com
-+Bugzilla_BugzillaURL = https://bugs.gentoo.org/
- Bugzilla_Login =
- Bugzilla_Password =
- Bugzilla_SSLVerify = yes
-diff --git a/src/plugins/report_Bugzilla.xml.in b/src/plugins/report_Bugzilla.xml.in
-index 8151d32..acaf7fb 100644
---- a/src/plugins/report_Bugzilla.xml.in
-+++ b/src/plugins/report_Bugzilla.xml.in
-@@ -16,8 +16,8 @@
- <_label>Bugzilla URL</_label>
- <allow-empty>no</allow-empty>
- <_description>Address of Bugzilla server</_description>
-- <default-value>https://bugzilla.redhat.com</default-value>
-- <_note-html>You can create bugzilla.redhat.com account &lt;a href="https://bugzilla.redhat.com/createaccount.cgi"&gt;here&lt;/a&gt;</_note-html>
-+ <default-value>https://bugs.gentoo.org/</default-value>
-+ <_note-html>You can create bugs.gentoo.org account &lt;a href="https://bugs.gentoo.org/createaccount.cgi"&gt;here&lt;/a&gt;</_note-html>
- </option>
- <option type="text" name="Bugzilla_Login">
- <_label>User name</_label>
-diff --git a/src/plugins/reporter-bugzilla.c b/src/plugins/reporter-bugzilla.c
-index a3e8855..17a686d 100644
---- a/src/plugins/reporter-bugzilla.c
-+++ b/src/plugins/reporter-bugzilla.c
-@@ -34,7 +34,7 @@ static void set_settings(struct bugzilla_struct *b, map_string_h *settings)
- environ = getenv("Bugzilla_BugzillaURL");
- b->b_bugzilla_url = environ ? environ : get_map_string_item_or_empty(settings, "BugzillaURL");
- if (!b->b_bugzilla_url[0])
-- b->b_bugzilla_url = "https://bugzilla.redhat.com";
-+ b->b_bugzilla_url = "https://bugs.gentoo.org/";
- b->b_bugzilla_xmlrpc = xasprintf("%s"XML_RPC_SUFFIX, b->b_bugzilla_url);
-
- environ = getenv("Bugzilla_SSLVerify");
-diff --git a/src/report-python/__init__.py b/src/report-python/__init__.py
-index 9c5e6b3..7188392 100644
---- a/src/report-python/__init__.py
-+++ b/src/report-python/__init__.py
-@@ -21,8 +21,8 @@ from report.io import TextIO, GTKIO, NewtIO
-
- import os
-
--SYSTEM_RELEASE_PATHS = ["/etc/system-release","/etc/redhat-release"]
--SYSTEM_RELEASE_DEPS = ["system-release", "redhat-release"]
-+SYSTEM_RELEASE_PATHS = ["/etc/system-release","/etc/gentoo-release"]
-+SYSTEM_RELEASE_DEPS = ["system-release", "gentoo-release"]
-
- _hardcoded_default_product = ""
- _hardcoded_default_version = ""
---
-1.7.12
-
diff --git a/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch b/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch
deleted file mode 100644
index bd764c82cc87..000000000000
--- a/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11-pc.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 438344fe7ce2edbd23f4df2dfd8e7b6be0a2d7c2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 11 Sep 2013 11:10:32 +0200
-Subject: [PATCH] Use proper json-c requirement in libreport-web.pc.
-
-Depending on whether json-c was found as 'json' or 'json-c', require the
-same package in the generated .pc file.
-
-[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 2.0.13]
----
- configure.ac | 9 +++++++--
- libreport-web.pc.in | 2 +-
- 2 files changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1e32c64..ace4cde 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -102,9 +102,14 @@ PKG_CHECK_MODULES([DBUS], [dbus-1])
- PKG_CHECK_MODULES([LIBXML], [libxml-2.0])
- PKG_CHECK_MODULES([NSS], [nss])
- PKG_CHECK_MODULES([CURL], [libcurl])
--PKG_CHECK_MODULES([JSON_C], [json],,[
-- PKG_CHECK_MODULES([JSON_C], [json-c])
-+PKG_CHECK_MODULES([JSON_C], [json], [
-+ JSON_C_PACKAGE=json
-+], [
-+ PKG_CHECK_MODULES([JSON_C], [json-c], [
-+ JSON_C_PACKAGE=json-c
-+ ])
- ])
-+AC_SUBST([JSON_C_PACKAGE])
- PKG_CHECK_MODULES([BTPARSER], [btparser])
- PKG_CHECK_MODULES([NEWT], [libnewt])
- PKG_CHECK_MODULES([PROXY], [libproxy-1.0], [
-diff --git a/libreport-web.pc.in b/libreport-web.pc.in
-index 14505f8..2a7c926 100644
---- a/libreport-web.pc.in
-+++ b/libreport-web.pc.in
-@@ -6,7 +6,7 @@ includedir=@includedir@
- Name: libreport
- Description: Library providing network API for libreport
- Version: @VERSION@
--Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 json btparser libreport
-+Requires: glib-2.0 libcurl libproxy-1.0 libxml-2.0 @JSON_C_PACKAGE@ btparser libreport
- Libs: -L${libdir} @XMLRPC_LIBS@ @XMLRPC_CLIENT_LIBS@ -lreport-web
- Cflags: @XMLRPC_CFLAGS@ @XMLRPC_CLIENT_CFLAGS@
-
---
-1.8.3.2
-
diff --git a/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch b/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch
deleted file mode 100644
index e5191e8e313d..000000000000
--- a/dev-libs/libreport/files/libreport-2.0.13-json-c-0.11.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 4a874dde53cf6acca7db2e7be3c10106fb50ec62 Mon Sep 17 00:00:00 2001
-From: Markos Chandras <hwoarang@gentoo.org>
-Date: Sun, 28 Apr 2013 12:27:57 +0100
-Subject: [PATCH] configure.ac: Fix json-c detection for json-c >= 0.11
-
-json-c-0.11 renamed the pkgconfig file to json-c
-https://github.com/json-c/json-c/blob/master/ChangeLog
-The configure.ac file was fixed to look for json-c if json
-is not available.
-
-[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 2.0.13]
-
-Signed-off-by: Markos Chandras <hwoarang@gentoo.org>
----
- configure.ac | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index dd50bcf..0ca5e67 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -104,7 +104,9 @@ PKG_CHECK_MODULES([DBUS], [dbus-1])
- PKG_CHECK_MODULES([LIBXML], [libxml-2.0])
- PKG_CHECK_MODULES([NSS], [nss])
- PKG_CHECK_MODULES([CURL], [libcurl])
--PKG_CHECK_MODULES([JSON_C], [json])
-+PKG_CHECK_MODULES([JSON_C], [json],,[
-+ PKG_CHECK_MODULES([JSON_C], [json-c])
-+])
- PKG_CHECK_MODULES([BTPARSER], [btparser])
- PKG_CHECK_MODULES([NEWT], [libnewt])
- PKG_CHECK_MODULES([PROXY], [libproxy-1.0], [
---
-1.8.2.1
-
diff --git a/dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch b/dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch
deleted file mode 100644
index 4f43ec90591c..000000000000
--- a/dev-libs/libreport/files/libreport-2.0.7-uploader_event-syntax.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From 88e39835f1f94eff58e6d0cc0bee20ceae10bdd2 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Wed, 16 Nov 2011 02:07:24 -0500
-Subject: [PATCH] fix uploader_event syntax
-
----
- src/plugins/uploader_event.conf | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/plugins/uploader_event.conf b/src/plugins/uploader_event.conf
-index 2406008..bd13c5e 100644
---- a/src/plugins/uploader_event.conf
-+++ b/src/plugins/uploader_event.conf
-@@ -1 +1 @@
--EVENT=report_Uploader analyzer=libreport reporter-upload
-+EVENT=report_Uploader reporter-upload
---
-1.7.8.rc1
-
diff --git a/dev-libs/libreport/libreport-2.0.13-r1.ebuild b/dev-libs/libreport/libreport-2.0.13-r1.ebuild
deleted file mode 100644
index 13ec36a6da4a..000000000000
--- a/dev-libs/libreport/libreport-2.0.13-r1.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools eutils python-r1 user
-
-DESCRIPTION="Generic library for reporting software bugs"
-HOMEPAGE="https://fedorahosted.org/abrt/"
-SRC_URI="https://fedorahosted.org/released/abrt/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="debug"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND=">=dev-libs/btparser-0.18:=
- >=dev-libs/glib-2.21:2
- dev-libs/json-c:=
- dev-libs/libtar
- dev-libs/libxml2:2
- dev-libs/newt:=
- dev-libs/nss:=
- dev-libs/xmlrpc-c:=[curl]
- net-libs/libproxy:=
- net-misc/curl:=[ssl]
- sys-apps/dbus
- >=x11-libs/gtk+-3.3.12:3
- x11-misc/xdg-utils
- ${PYTHON_DEPS}
-"
-RDEPEND="${COMMON_DEPEND}
- || ( gnome-base/gnome-keyring >=kde-frameworks/kwallet-5.34.0-r1 )
-"
-DEPEND="${COMMON_DEPEND}
- 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"
-
-pkg_setup() {
- enewgroup abrt
- enewuser abrt -1 -1 -1 abrt
-}
-
-src_prepare() {
- # Replace redhat- and fedora-specific defaults with gentoo ones, and disable
- # code that requires gentoo infra support.
- epatch "${FILESDIR}/${PN}-2.0.13-gentoo.patch"
-
- # Modify uploader_event so that the gui recognizes it
- epatch "${FILESDIR}/${PN}-2.0.7-uploader_event-syntax.patch"
-
- # automake-1.12
- epatch "${FILESDIR}/${PN}-2.0.13-automake-1.12.patch"
-
- # json-c-0.11, https://github.com/abrt/libreport/pull/{159,174}
- epatch "${FILESDIR}/${PN}-2.0.13-json-c-0.11"{,-pc}.patch
-
- mkdir -p m4
- eautoreconf
-
- python_copy_sources
-}
-
-src_configure() {
- python_foreach_impl run_in_build_dir econf \
- --disable-bodhi \
- --localstatedir="${EPREFIX}/var" \
- $(usex debug --enable-debug "")
- # --disable-debug enables debug!
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- python_foreach_impl run_in_build_dir default
-
- # Need to set correct ownership for use by app-admin/abrt
- diropts -o abrt -g abrt
- keepdir /var/spool/abrt
-
- prune_libtool_files --modules
-}
diff --git a/dev-libs/libreport/libreport-2.10.0.ebuild b/dev-libs/libreport/libreport-2.10.0.ebuild
deleted file mode 100644
index d287b1c9a7c9..000000000000
--- a/dev-libs/libreport/libreport-2.10.0.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{5,6,7} )
-
-inherit autotools python-r1 user
-
-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"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="+gtk python"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="${PYTHON_DEPS}
- app-admin/augeas
- >=dev-libs/glib-2.43.4:2
- dev-libs/satyr:0=
- dev-libs/json-c:=
- dev-libs/libtar
- dev-libs/libxml2:2
- 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="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
- 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"
-
-pkg_setup() {
- enewgroup abrt
- enewuser abrt -1 -1 -1 abrt
-}
-
-src_prepare() {
- default
- ./gen-version || die # Needed to be run before autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-bugzilla
- # Fixes "syntax error in VERSION script" and we aren't supporting Python2 anyway
- --without-python2
- $(usex python "--with-python3" "--without-python3")
- )
- if use python; then
- python_foreach_impl run_in_build_dir \
- econf "${myargs[@]}"
- else
- econf "${myargs[@]}"
- fi
-}
-
-src_compile() {
- use python && python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- use python && python_foreach_impl run_in_build_dir default
- # 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.9.5.ebuild b/dev-libs/libreport/libreport-2.9.5.ebuild
deleted file mode 100644
index 5c1ecfad27b4..000000000000
--- a/dev-libs/libreport/libreport-2.9.5.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{5,6} )
-
-inherit autotools python-r1 user
-
-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"
-KEYWORDS="amd64 x86"
-
-IUSE="+gtk python"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-COMMON_DEPEND="${PYTHON_DEPS}
- app-admin/augeas
- >=dev-libs/glib-2.43:2
- dev-libs/satyr
- dev-libs/json-c:=
- dev-libs/libtar
- dev-libs/libxml2:2
- 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="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
- 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"
-
-pkg_setup() {
- enewgroup abrt
- enewuser abrt -1 -1 -1 abrt
-}
-
-src_prepare() {
- default
- ./gen-version || die # Needed to be run before autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-bugzilla
- # Fixes "syntax error in VERSION script" and we aren't supporting Python2 anyway
- --without-python2
- $(usex python "--with-python3" "--without-python3")
- )
- if use python; then
- python_foreach_impl run_in_build_dir \
- econf "${myargs[@]}"
- else
- econf "${myargs[@]}"
- fi
-}
-
-src_compile() {
- use python && python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- use python && python_foreach_impl run_in_build_dir default
- # 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 39980802b1da..000000000000
--- a/dev-libs/libreport/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libressl/Manifest b/dev-libs/libressl/Manifest
deleted file mode 100644
index 6e2d9e25a205..000000000000
--- a/dev-libs/libressl/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST libressl-2.6.5.tar.gz 3225481 BLAKE2B fcdf0d8b4b68fdb6c17299f4b9897c84f51ec3407abc6c1bf8d474c4424161c563667ca1fb26c45dd20a0e895457e9210b7bd0539581472b94d594cc32a68191 SHA512 0601c73bb5c3d149df7eca3566831f1b35713aa16a15788a291922fce0bffa1ba0bc6ea9cac1fcecfd980009f2292b08b2a57d66b517fc1bc8c7364a24dbbd9d
-DIST libressl-2.8.3.tar.gz 3366196 BLAKE2B e32c097b31998d68a31266fbbf3624d5ab8ca716f8c53e423bcf09b3a8ab3542c92a99e259ded7b86f99b45cc199cd44791520a609f18c35d150365de5768eec SHA512 3967e08b3dc2277bf77057ea1f11148df7f96a2203cd21cf841902f2a1ec11320384a001d01fa58154d35612f7981bf89d5b1a60a2387713d5657677f76cc682
-DIST libressl-2.9.1.tar.gz 3607116 BLAKE2B a4542d7fc97bfd213162fe908e28b27d52329e2b6a5d77e0cb67d1a6732c500ca772d0c5735c9fcd036c477e6ede330305b4675bfcff9f72fd7886a781f30015 SHA512 7051911e566bb093c48a70da72c9981b870e3bf49a167ba6c934eece873084cc41221fbe3cd0c8baba268d0484070df7164e4b937854e716337540a87c214354
-DIST libressl-2.9.2.tar.gz 3607549 BLAKE2B 496e993e4f1c85167e0344afab61259d4e3f094a7e5dfac85878191070e2c196753162532efb921fab582481aeda3705fca9a2b48921cba82465192f2c1eef95 SHA512 b43e73e47c1f14da3c702ab42f29f1d67645a4fa425441337bd6c125b481ef78a40fd13e6b34dadb2af337e1c0c190cfb616186d4db9c9a743a37e594b9b8033
diff --git a/dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch b/dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch
deleted file mode 100644
index a0922af09612..000000000000
--- a/dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 787d8d240bbeaa812bcf37deeedb3c467be468a3 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Sat, 19 May 2018 17:31:42 +0100
-Subject: [PATCH] __warn_references: tweak assembly for "gnu.warning" section
-
-On some targets ';' (like hppa) is treated as a comment
-in assembly files. This occasionally causes the following
-assembly failures:
-
-```
-Error: can't resolve `.gnu.warning.EVP_DecryptFinal'
-{.gnu.warning.EVP_DecryptFinal section} - `.Ltext0' {.text section}
-```
-
-Note how branch (or other reference) attempts to cross the
-boundary across two section types: '.text' and '.gnu.warning'.
-
-Tobias Ulmer notes that openbsd already uses newlines
-for similar macro:
-
-https://github.com/openbsd/src/blob/master/sys/arch/hppa/include/cdefs.h
-
-This change switches from ';' to newline as well.
-Tested on hppa2.0 and x86_64.
-
-Reported-by: Jeroen Roovers
-Bug: https://bugs.gentoo.org/656104
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- configure.ac | 2 +-
- include/compat/sys/types.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b74b8a1..16ed825 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,7 +91,7 @@ AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"])
- AC_MSG_CHECKING([if .gnu.warning accepts long strings])
- AC_LINK_IFELSE([AC_LANG_SOURCE([[
- extern void SSLv3_method();
--__asm__(".section .gnu.warning.SSLv3_method; .ascii \"SSLv3_method is insecure\" ; .text");
-+__asm__(".section .gnu.warning.SSLv3_method\n\t.ascii \"SSLv3_method is insecure\"\n\t.text");
- int main() {return 0;}
- ]])], [
- AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.])
-diff --git a/include/compat/sys/types.h b/include/compat/sys/types.h
-index 2107119..dec09e3 100644
---- a/include/compat/sys/types.h
-+++ b/include/compat/sys/types.h
-@@ -62,7 +62,7 @@ typedef SSIZE_T ssize_t;
- #if defined(__GNUC__) && defined (HAS_GNU_WARNING_LONG)
- #define __warn_references(sym,msg) \
- __asm__(".section .gnu.warning." __STRING(sym) \
-- " ; .ascii \"" msg "\" ; .text");
-+ "\n\t.ascii \"" msg "\"\n\t.text");
- #else
- #define __warn_references(sym,msg)
- #endif
---
-2.17.0
-
diff --git a/dev-libs/libressl/files/libressl-2.8.3-solaris10.patch b/dev-libs/libressl/files/libressl-2.8.3-solaris10.patch
deleted file mode 100644
index 20a0af0800bd..000000000000
--- a/dev-libs/libressl/files/libressl-2.8.3-solaris10.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From libressl Thu Jul 21 09:25:08 2016
-From: schily () schily ! net (Joerg Schilling)
-Date: Thu, 21 Jul 2016 09:25:08 +0000
-To: libressl
-Subject: Non-portable code in ./crypto/compat/getentropy_solaris.c
-Message-Id: <579094f4.Ca9M384ri4oiBOIa%schily () schily ! net>
-X-MARC-Message: https://marc.info/?l=libressl&m=146910737815443
-
-Hi,
-
-the code works only on Solaris based on OpenSolaris-ON from February 18 2010 or
-later.
-
-Many people however still use Solaris 10.
-
-BTW: there is an official portable ELF way based on the AUX vector to do the same
-but this was unfortunately not made a public libc interface, so it would need to
-be incorporated into your code:
-
-https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/lib/libc/port/gen/getauxv.c
-
-___getauxptr(AT_PHDR) returns the address of &phdr[0]
-___getauxval(AT_PHENT) returns sizeof(phdr[0])
-___getauxval(AT_PHNUM) returns # phdr entries
-
-
-Here is a patch to disable the non-portable code getting the code to compile at
-all:
-
-
-
---- a/crypto/compat/getentropy_solaris.c
-+++ b/crypto/compat/getentropy_solaris.c
-@@ -72,7 +72,9 @@
- static int getentropy_urandom(void *buf, size_t len, const char *path,
- int devfscheck);
- static int getentropy_fallback(void *buf, size_t len);
-+#ifdef ElfW
- static int getentropy_phdr(struct dl_phdr_info *info, size_t size, void *data);
-+#endif
-
- int
- getentropy(void *buf, size_t len)
-@@ -244,6 +246,7 @@
- #endif
- };
-
-+#ifdef ElfW
- static int
- getentropy_phdr(struct dl_phdr_info *info, size_t size, void *data)
- {
-@@ -252,6 +255,7 @@
- SHA512_Update(ctx, &info->dlpi_addr, sizeof (info->dlpi_addr));
- return (0);
- }
-+#endif
-
- static int
- getentropy_fallback(void *buf, size_t len)
-@@ -290,7 +294,9 @@
- cnt += (int)tv.tv_usec;
- }
-
-+#ifdef ElfW
- dl_iterate_phdr(getentropy_phdr, &ctx);
-+#endif
-
- for (ii = 0; ii < sizeof(cl)/sizeof(cl[0]); ii++)
- HX(clock_gettime(cl[ii], &ts) == -1, ts);
diff --git a/dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch b/dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch
deleted file mode 100644
index b00316d88141..000000000000
--- a/dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a9f0b2143c3154da34b8798127263f6f11f61bd5 Mon Sep 17 00:00:00 2001
-From: Ishimoto Shinobu <47295761+protonesso@users.noreply.github.com>
-Date: Tue, 21 May 2019 22:41:05 +0900
-Subject: [PATCH] avoid glibc
-
-cause problems on musl systems
-
-Upstream-Status: Backport
-[https://github.com/libressl-portable/portable/pull/529]
-Signed-off-by: Stefan Strogin <steils@gentoo.org>
----
- crypto/compat/getprogname_linux.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/crypto/compat/getprogname_linux.c b/crypto/compat/getprogname_linux.c
-index 2c89743..4e7e31f 100644
---- a/crypto/compat/getprogname_linux.c
-+++ b/crypto/compat/getprogname_linux.c
-@@ -26,9 +26,7 @@ getprogname(void)
- #if defined(__ANDROID_API__) && __ANDROID_API__ < 21
- extern const char *__progname;
- return __progname;
--#elif defined(__GLIBC__)
-- return program_invocation_short_name;
- #else
--#error "Cannot emulate getprogname"
-+ return program_invocation_short_name;
- #endif
- }
---
-2.21.0
-
diff --git a/dev-libs/libressl/libressl-2.6.5.ebuild b/dev-libs/libressl/libressl-2.6.5.ebuild
deleted file mode 100644
index d4870428f998..000000000000
--- a/dev-libs/libressl/libressl-2.6.5.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Free version of the SSL/TLS protocol forked from OpenSSL"
-HOMEPAGE="https://www.libressl.org/"
-SRC_URI="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${P}.tar.gz"
-
-LICENSE="ISC openssl"
-# Reflects ABI of libcrypto.so and libssl.so. Since these can differ,
-# we'll try to use the max of either. However, if either change between
-# versions, we have to change the subslot to trigger rebuild of consumers.
-SLOT="0/44"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
-IUSE="+asm static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="!dev-libs/openssl:0"
-DEPEND="${RDEPEND}"
-PDEPEND="app-misc/ca-certificates"
-
-PATCHES=( "${FILESDIR}/libressl-2.6.4-hppa-asm.patch" )
-
-src_prepare() {
- touch crypto/Makefile.in
-
- sed -i \
- -e '/^[ \t]*CFLAGS=/s#-g ##' \
- -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
- -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
- configure || die "fixing CFLAGS failed"
-
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable asm) \
- $(use_enable static-libs static)
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -exec rm -f {} + || die
-}
diff --git a/dev-libs/libressl/libressl-2.8.3.ebuild b/dev-libs/libressl/libressl-2.8.3.ebuild
deleted file mode 100644
index 1dd097614e8d..000000000000
--- a/dev-libs/libressl/libressl-2.8.3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal libtool
-
-DESCRIPTION="Free version of the SSL/TLS protocol forked from OpenSSL"
-HOMEPAGE="https://www.libressl.org/"
-SRC_URI="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${P}.tar.gz"
-
-LICENSE="ISC openssl"
-# Reflects ABI of libcrypto.so and libssl.so. Since these can differ,
-# we'll try to use the max of either. However, if either change between
-# versions, we have to change the subslot to trigger rebuild of consumers.
-SLOT="0/46"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="!dev-libs/openssl:0"
-DEPEND="${RDEPEND}"
-PDEPEND="app-misc/ca-certificates"
-
-src_prepare() {
- touch crypto/Makefile.in
-
- sed -i \
- -e '/^[ \t]*CFLAGS=/s#-g ##' \
- -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
- -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
- configure || die "fixing CFLAGS failed"
-
- eapply "${FILESDIR}"/${P}-solaris10.patch
- eapply_user
-
- elibtoolize # for Solaris
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable asm) \
- $(use_enable static-libs static)
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -exec rm -f {} + || die
-}
diff --git a/dev-libs/libressl/libressl-2.9.1.ebuild b/dev-libs/libressl/libressl-2.9.1.ebuild
deleted file mode 100644
index b9ba51552c33..000000000000
--- a/dev-libs/libressl/libressl-2.9.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal libtool
-
-DESCRIPTION="Free version of the SSL/TLS protocol forked from OpenSSL"
-HOMEPAGE="https://www.libressl.org/"
-SRC_URI="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${P}.tar.gz"
-
-LICENSE="ISC openssl"
-# Reflects ABI of libcrypto.so and libssl.so. Since these can differ,
-# we'll try to use the max of either. However, if either change between
-# versions, we have to change the subslot to trigger rebuild of consumers.
-SLOT="0/47"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="!dev-libs/openssl:0"
-DEPEND="${RDEPEND}"
-PDEPEND="app-misc/ca-certificates"
-
-src_prepare() {
- touch crypto/Makefile.in
-
- sed -i \
- -e '/^[ \t]*CFLAGS=/s#-g ##' \
- -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
- -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
- configure || die "fixing CFLAGS failed"
-
- if ! use test ; then
- sed -i \
- -e '/^[ \t]*SUBDIRS =/s#tests##' \
- Makefile.in || die "Removing tests failed"
- fi
-
- eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
- eapply_user
-
- elibtoolize # for Solaris
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable asm) \
- $(use_enable static-libs static)
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -exec rm -f {} + || die
-}
diff --git a/dev-libs/libressl/libressl-2.9.2.ebuild b/dev-libs/libressl/libressl-2.9.2.ebuild
deleted file mode 100644
index c3163fd00f3a..000000000000
--- a/dev-libs/libressl/libressl-2.9.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal libtool
-
-DESCRIPTION="Free version of the SSL/TLS protocol forked from OpenSSL"
-HOMEPAGE="https://www.libressl.org/"
-SRC_URI="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${P}.tar.gz"
-
-LICENSE="ISC openssl"
-# Reflects ABI of libcrypto.so and libssl.so. Since these can differ,
-# we'll try to use the max of either. However, if either change between
-# versions, we have to change the subslot to trigger rebuild of consumers.
-SLOT="0/47"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="!dev-libs/openssl:0"
-DEPEND="${RDEPEND}"
-PDEPEND="app-misc/ca-certificates"
-
-src_prepare() {
- touch crypto/Makefile.in
-
- sed -i \
- -e '/^[ \t]*CFLAGS=/s#-g ##' \
- -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
- -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
- -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
- configure || die "fixing CFLAGS failed"
-
- if ! use test ; then
- sed -i \
- -e '/^[ \t]*SUBDIRS =/s#tests##' \
- Makefile.in || die "Removing tests failed"
- fi
-
- eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
- eapply "${FILESDIR}"/${P}-non-glibc.patch
- eapply_user
-
- elibtoolize # for Solaris
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable asm) \
- $(use_enable static-libs static)
-}
-
-multilib_src_test() {
- emake check
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -exec rm -f {} + || die
-}
diff --git a/dev-libs/libressl/metadata.xml b/dev-libs/libressl/metadata.xml
deleted file mode 100644
index a7201a6f607c..000000000000
--- a/dev-libs/libressl/metadata.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>libressl@gentoo.org</email>
- </maintainer>
- <longdescription lang="en">
- LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in
- 2014, with goals of modernizing the codebase, improving security, and
- applying best practice development processes.
- </longdescription>
- <use>
- <flag name="asm">Enables assembly</flag>
- </use>
- <upstream>
- <changelog>http://www.libressl.org/releases.html</changelog>
- <bugs-to>
- https://github.com/libressl-portable/portable/issues
- </bugs-to>
- <remote-id type="github">libressl-portable/portable</remote-id>
- </upstream>
- <slots>
- <slot name="0">
- Pin source packages to SLOT 0, as binary compatibility slots are expected to come and go.
- </slot>
- <subslots>
- Reflect ABI of libcrypto.so and libssl.so only, NOT libtls.so.
- </subslots>
- </slots>
-</pkgmetadata>
diff --git a/dev-libs/libretls/Manifest b/dev-libs/libretls/Manifest
new file mode 100644
index 000000000000..a438d9a63e8f
--- /dev/null
+++ b/dev-libs/libretls/Manifest
@@ -0,0 +1 @@
+DIST libretls-3.8.1.tar.gz 432142 BLAKE2B d8f3c178daadcdc3b78683d25a77cd2b20235c77d8ace43fa2c658c77165db6383d8673b7047b66a894e7de5b203c6bc89d226959040f6d93b2675ceee1ba7b7 SHA512 bbf4854622401bfc8662016a73202467714b603425dea2012e72846f0a22412018448fda8befa777d67c5dae44839b81e3b039130cf4970a4026c178d3a43ce2
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
new file mode 100644
index 000000000000..076793e3f54b
--- /dev/null
+++ b/dev-libs/libretls/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>mgorny@gentoo.org</email>
+ <name>Michał Górny</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 fa647a541612..000000000000
--- a/dev-libs/librevenge/librevenge-0.0.4-r1.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 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 ~sparc x86 ~x86-fbsd"
-fi
-
-LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
-SLOT="0"
-IUSE="doc 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 c40659225a0b..be80365ea20e 100644
--- a/dev-libs/librevenge/librevenge-9999.ebuild
+++ b/dev-libs/librevenge/librevenge-9999.ebuild
@@ -1,51 +1,46 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit flag-o-matic multilib-minimal
+inherit 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"
+ 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 ~hppa ~mips ~x86 ~x86-fbsd"
+ 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}]
-"
+RDEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}
dev-libs/boost
- doc? ( app-doc/doxygen )
- test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )
-"
+ test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
- [[ ${PV} = *9999 ]] && eautoreconf
-
- # bug 651264
- append-cxxflags -std=c++11
+ [[ ${PV} == *9999 ]] && eautoreconf
}
multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --disable-static \
- --disable-werror \
- $(use_with doc docs) \
+ local myeconfargs=(
+ $(multilib_native_use_with doc docs)
$(use_enable test tests)
+ )
+ ECONF_SOURCE=${S} econf "${myeconfargs[@]}"
}
multilib_src_install_all() {
einstalldocs
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -type f -delete || die
}
diff --git a/dev-libs/librevenge/metadata.xml b/dev-libs/librevenge/metadata.xml
index 13ce236ee519..f632b40c7d8a 100644
--- a/dev-libs/librevenge/metadata.xml
+++ b/dev-libs/librevenge/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>office@gentoo.org</email>
diff --git a/dev-libs/libsass/Manifest b/dev-libs/libsass/Manifest
index 02fba0e9594e..8fe67a3f14b9 100644
--- a/dev-libs/libsass/Manifest
+++ b/dev-libs/libsass/Manifest
@@ -1,2 +1,2 @@
-DIST libsass-3.5.5.tar.gz 327298 BLAKE2B 4127722343394bca4ed054987eed6113788e10dc4d03a869778c10b56135406c1fcd72dc101bfe405c96267b628735e8ee74d3812ab392f097dc941b78bef882 SHA512 dcb73a5080c00023b60a19ea037ba5af481253a7b47492bd7114bf45ab78ed931c7b207fa8f12ed200a39760553d72ae92dbe4eb80b826b59a6201fb34008fe5
-DIST libsass-3.6.0.tar.gz 332747 BLAKE2B be4ad469aa55f89ce54e6cf1cc5cf0a72f4727610bf2d5aeca7321fde4e4cbc009f59bee46c1e5e5b88825d5bd2f3b4fa427ab3cd535584956f7541c16339f1d SHA512 9665e50ee964ca3cc323f26c2b8322677102d26a7a102558ffbc5bef7a4c4ea44ca5096a967e4044dac1404bfa343a37d846f22d1e1adc27592023d5d4ac40c8
+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.5.5.ebuild b/dev-libs/libsass/libsass-3.5.5.ebuild
deleted file mode 100644
index 1ece89467a74..000000000000
--- a/dev-libs/libsass/libsass-3.5.5.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 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
- KEYWORDS=
-else
- SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 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"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-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() {
- econf \
- $(use_enable static-libs static) \
- --enable-shared
-}
-
-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.0.ebuild b/dev-libs/libsass/libsass-3.6.0.ebuild
deleted file mode 100644
index 7bb47a910936..000000000000
--- a/dev-libs/libsass/libsass-3.6.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 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
- KEYWORDS=
-else
- SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~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"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-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() {
- econf \
- $(use_enable static-libs static) \
- --enable-shared
-}
-
-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.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.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 7bb47a910936..fdea10f2a19c 100644
--- a/dev-libs/libsass/libsass-9999.ebuild
+++ b/dev-libs/libsass/libsass-9999.ebuild
@@ -1,27 +1,22 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools multilib-minimal
+inherit autotools
if [[ ${PV} = *9999 ]]; then
EGIT_REPO_URI="https://github.com/sass/libsass.git"
inherit git-r3
- KEYWORDS=
else
SRC_URI="https://github.com/sass/libsass/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~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"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
DOCS=( Readme.md SECURITY.md )
@@ -31,24 +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() {
- econf \
- $(use_enable static-libs static) \
+src_configure() {
+ local myeconfargs=(
--enable-shared
-}
+ )
-multilib_src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete || die
+ econf "${myeconfargs[@]}"
}
-multilib_src_install_all() {
- einstalldocs
- dodoc -r "${S}/docs"
+src_install() {
+ default
+
+ dodoc -r docs
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libsass/metadata.xml b/dev-libs/libsass/metadata.xml
index 191514e58505..bffdac8b5a38 100644
--- a/dev-libs/libsass/metadata.xml
+++ b/dev-libs/libsass/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
<longdescription lang="en">
LibSass is a C++ port of the original Ruby Sass CSS compiler with a C
API. It is coded with portability and efficiency in mind. You can
diff --git a/dev-libs/libsavitar/Manifest b/dev-libs/libsavitar/Manifest
deleted file mode 100644
index e0e19f269611..000000000000
--- a/dev-libs/libsavitar/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libsavitar-3.4.1.tar.gz 92457 BLAKE2B ef5b7bb87d7b3293c0634d510f860b64f3235f46c8abb1365eb5e439b6f1cf3eed6ff1fa4f2a3476a6f3ed0193356d8019a6ccbce044c29339ec2693b96db3d4 SHA512 4273723536578816ab16c2d9f8c0fba57651a2cd5730e45a27e5ed5ec6a7986f59ef932094392b6bf7bd9dd9555cc44e09505c843e9b364a2c7bcc1770af1f35
-DIST libsavitar-3.6.0.tar.gz 92456 BLAKE2B badd2e416015c2d3331cfe77840466f11f2b671821474b78fff084c4f1c3bebab7b2ae16f75918d4eb40996e293165be46f98efea20edc57b1e1255c2ea9fed0 SHA512 6d7c416218a69b1327ed211a9b198cdfb6ebdf1fc9c8c76b898882a63d0905521d5e41380b21f0b8100ab3e3474bbbf142adea29c6643f03bc3f8c3e6ec3c72f
diff --git a/dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch b/dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch
deleted file mode 100644
index 629e8edb51a2..000000000000
--- a/dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 91aa70c6320461ae65600dce954b5ffb905b7039 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Mon, 9 Apr 2018 12:36:35 -0400
-Subject: [PATCH] Do not vendor the pugixml library
-
-This prevents trying to co-install pugixml with existing system
-libraries, and also fixes the includes for pugixml.hpp to actually use
-the include path added by find_package/add_subdirectory instead of a
-hardcoded relative path.
----
- CMakeLists.txt | 3 +-
- pugixml/CMakeLists.txt | 80 -
- pugixml/src/pugiconfig.hpp | 74 -
- pugixml/src/pugixml.cpp | 12622 -------------------------------------------
- pugixml/src/pugixml.hpp | 1434 -----
- src/MeshData.cpp | 7 +-
- src/Scene.cpp | 2 +-
- src/SceneNode.cpp | 3 +-
- src/ThreeMFParser.h | 4 +-
- 9 files changed, 7 insertions(+), 14222 deletions(-)
- delete mode 100644 pugixml/CMakeLists.txt
- delete mode 100644 pugixml/src/pugiconfig.hpp
- delete mode 100644 pugixml/src/pugixml.cpp
- delete mode 100644 pugixml/src/pugixml.hpp
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5e991a7..1077c7f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -7,8 +7,7 @@ include(CMakePackageConfigHelpers)
- option(BUILD_PYTHON "Build " ON)
- option(BUILD_STATIC "Build as a static library" OFF)
-
--
--add_subdirectory(pugixml)
-+find_package(pugixml REQUIRED)
-
- if(BUILD_PYTHON)
- set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
-diff --git a/src/MeshData.cpp b/src/MeshData.cpp
-index 03e5089..701122d 100644
---- a/src/MeshData.cpp
-+++ b/src/MeshData.cpp
-@@ -17,7 +17,7 @@
- */
-
- #include "MeshData.h"
--#include "../pugixml/src/pugixml.hpp"
-+#include <pugixml.hpp>
- #include <iostream>
-
- using namespace Savitar;
-@@ -85,7 +85,7 @@ bytearray MeshData::getFlatVerticesAsBytes()
- int v1 = faces.at(i).getV1();
- int v2 = faces.at(i).getV2();
- int v3 = faces.at(i).getV3();
--
-+
- // Add vertices for face 1
- float x = vertices.at(v1).getX();
- float y = vertices.at(v1).getY();
-@@ -188,6 +188,3 @@ std::vector< Vertex > MeshData::getVertices()
- {
- return vertices;
- }
--
--
--
-diff --git a/src/Scene.cpp b/src/Scene.cpp
-index 4612f78..f218b71 100644
---- a/src/Scene.cpp
-+++ b/src/Scene.cpp
-@@ -17,7 +17,7 @@
- */
-
- #include "Scene.h"
--#include "../pugixml/src/pugixml.hpp"
-+#include <pugixml.hpp>
- #include <iostream>
- #include <string>
- using namespace Savitar;
-diff --git a/src/SceneNode.cpp b/src/SceneNode.cpp
-index 5c95b6f..c4782bc 100644
---- a/src/SceneNode.cpp
-+++ b/src/SceneNode.cpp
-@@ -17,7 +17,7 @@
- */
-
- #include "SceneNode.h"
--#include "../pugixml/src/pugixml.hpp"
-+#include <pugixml.hpp>
- #include <iostream>
- using namespace Savitar;
-
-@@ -121,4 +121,3 @@ std::vector< SceneNode*> SceneNode::getAllChildren()
- }
- return all_children;
- }
--
-diff --git a/src/ThreeMFParser.h b/src/ThreeMFParser.h
-index 3394683..89da659 100644
---- a/src/ThreeMFParser.h
-+++ b/src/ThreeMFParser.h
-@@ -21,7 +21,7 @@
-
- #include "SavitarExport.h"
- #include "SceneNode.h"
--#include "../pugixml/src/pugixml.hpp"
-+#include <pugixml.hpp>
-
- #include <string>
- namespace Savitar
-@@ -44,4 +44,4 @@ namespace Savitar
- std::string sceneToString(Scene scene);
- };
- }
--#endif
-\ No newline at end of file
-+#endif
diff --git a/dev-libs/libsavitar/libsavitar-3.4.1.ebuild b/dev-libs/libsavitar/libsavitar-3.4.1.ebuild
deleted file mode 100644
index 19171d1a74ed..000000000000
--- a/dev-libs/libsavitar/libsavitar-3.4.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-inherit cmake-utils 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 ~x86"
-IUSE="+python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/pugixml
- dev-python/sip[${PYTHON_USEDEP}]"
-
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.3.0-remove-packaged-pugixml.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- )
- use python && mycmakeargs+=( -DPYTHON_SITE_PACKAGES_DIR="$(python_get_sitedir)" )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libsavitar/libsavitar-3.6.0.ebuild b/dev-libs/libsavitar/libsavitar-3.6.0.ebuild
deleted file mode 100644
index 939a582d09b2..000000000000
--- a/dev-libs/libsavitar/libsavitar-3.6.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{5,6} )
-inherit cmake-utils 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 ~x86"
-IUSE="+python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/pugixml
- dev-python/sip[${PYTHON_USEDEP}]"
-
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=( "${FILESDIR}"/${PN}-3.3.0-remove-packaged-pugixml.patch )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- )
- use python && mycmakeargs+=( -DPYTHON_SITE_PACKAGES_DIR="$(python_get_sitedir)" )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/libsavitar/metadata.xml b/dev-libs/libsavitar/metadata.xml
deleted file mode 100644
index 3ed5b1ace790..000000000000
--- a/dev-libs/libsavitar/metadata.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <maintainer type="person">
- <email>perlovka@gmail.com</email>
- <name>Michael Perlov</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <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 3a923d21740c..d00b8ba77df6 100644
--- a/dev-libs/libsecp256k1/Manifest
+++ b/dev-libs/libsecp256k1/Manifest
@@ -1,3 +1,8 @@
-DIST libsecp256k1-v0.0.0_pre20161213.tgz 147557 BLAKE2B 078cb90c078722e2eb3b5645f9692d737c99ebfe04db5a96dcfb57bb750b31c009cd3ae46f793bb1789239be9689f6e695a5b03477eecea84f2c657d0cc7442c SHA512 f4d16fae972364fd04bfcfbaca1edde4410a7367a936f76c1e93b85ac3c9c45da58785f604a4fc14cdfb4d7a23395d2d274957ad83118e15a236dfff0d0f57dd
-DIST libsecp256k1-v0.1_pre20170928.tgz 150935 BLAKE2B f8b3408a33f36186c07cf931a8183a7a241e6418a846f4c3b248cf87e7a8b33a5a92368aa30310efadb066792eebead7fb48b4f4d902e7c8e9b4209717d7b8c0 SHA512 f480c76ba04b3d731c65227e156eb726b27da92f5dcfbd9b0a34c62e97f9b6dfd5c3fae3180b59244d0c9845fdf624b05f29e097f3ac0032ab15cebc4bf00660
-DIST secp256k1-v0.0.0_pre20151118.tgz 125884 BLAKE2B 7a4fc950006138d04d8d3da35db24be0c568e25202c16f34f94555fde1297fba839fd114a003b5510693de3386de22166c6f1294726fe381ae5b565cb9866a75 SHA512 3cc0a4973acf7936a7c6dc0abc37ee43ecd69e835069ed40765595d36ca597b43837b5d6f90499455599de03abfc775d7c9d019d26216b79b03dd6dc53a73e19
+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-0.5.0.tar.gz 1960832 BLAKE2B 118e3bb1d8e0a4493debae3b1feb68ff5a93348bbed32486779416cc2359dd65d8cfaa7bb47afca8b4ddb214b7ce05c9997896fd256ad73df35ec51a8966fe69 SHA512 b8511b0d8b581d371ee48f2c8a5a72930e7a0686a860200e56e83e2f58a63f2d781af75829d922e98f6648d361e20efde29abcf52c086b77647457c6c3586e78
+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.0.0_pre20151118.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20151118.ebuild
deleted file mode 100644
index 4609c06bb272..000000000000
--- a/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20151118.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-MyPN=secp256k1
-DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
-HOMEPAGE="https://github.com/bitcoin/${MyPN}"
-COMMITHASH="6c527eceee7f5105c33c98dfae24ffeffd71f7cf"
-SRC_URI="https://github.com/bitcoin/${MyPN}/archive/${COMMITHASH}.tar.gz -> ${MyPN}-v${PV}.tgz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~mips ~ppc x86 ~amd64-linux ~x86-linux"
-IUSE="+asm doc ecdh endomorphism experimental gmp libressl +recovery schnorr test"
-
-REQUIRED_USE="
- asm? ( amd64 )
- ecdh? ( experimental )
- schnorr? ( experimental )
-"
-RDEPEND="
- gmp? ( dev-libs/gmp:0= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- test? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
-"
-
-S="${WORKDIR}/${MyPN}-${COMMITHASH}"
-
-src_prepare() {
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-benchmark \
- $(use_enable test tests) \
- $(use_enable ecdh module-ecdh) \
- $(use_enable endomorphism) \
- --with-asm=$(usex asm auto no) \
- --with-bignum=$(usex gmp gmp no) \
- $(use_enable recovery module-recovery) \
- $(use_enable schnorr module-schnorr) \
- --disable-static
-}
-
-src_install() {
- if use doc; then
- dodoc README.md
- fi
-
- emake DESTDIR="${D}" install
- prune_libtool_files
-}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20161213.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20161213.ebuild
deleted file mode 100644
index 2634a61198e9..000000000000
--- a/dev-libs/libsecp256k1/libsecp256k1-0.0.0_pre20161213.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-MyPN=secp256k1
-DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
-HOMEPAGE="https://github.com/bitcoin/${MyPN}"
-COMMITHASH="8225239f490f79842a5a3b82ad6cc8aa11d5208e"
-SRC_URI="https://github.com/bitcoin/${MyPN}/archive/${COMMITHASH}.tar.gz -> ${PN}-v${PV}.tgz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+asm ecdh endomorphism experimental gmp java +recovery test test_openssl"
-
-REQUIRED_USE="
- asm? ( || ( amd64 arm ) arm? ( experimental ) )
- ecdh? ( experimental )
- java? ( ecdh )
- test_openssl? ( test )
-"
-RDEPEND="
- gmp? ( dev-libs/gmp:0= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- java? ( virtual/jdk )
- test_openssl? ( dev-libs/openssl:0 )
-"
-
-S="${WORKDIR}/${MyPN}-${COMMITHASH}"
-
-src_prepare() {
- 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 java jni) \
- $(use_enable test tests) \
- $(use_enable test_openssl openssl-tests) \
- $(use_enable ecdh module-ecdh) \
- $(use_enable endomorphism) \
- --with-asm=$asm_opt \
- --with-bignum=$(usex gmp gmp no) \
- $(use_enable recovery module-recovery) \
- --disable-static
-}
-
-src_install() {
- dodoc README.md
- emake DESTDIR="${D}" install
- prune_libtool_files
-}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20170928.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20170928.ebuild
deleted file mode 100644
index 388d889bc11f..000000000000
--- a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20170928.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools eutils
-
-MyPN=secp256k1
-DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
-HOMEPAGE="https://github.com/bitcoin-core/${MyPN}"
-COMMITHASH="7a78f60598a6aeb635ef227ead50fb44a209c363"
-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 endomorphism experimental gmp java +recovery test test_openssl"
-
-REQUIRED_USE="
- asm? ( || ( amd64 arm ) arm? ( experimental ) )
- ecdh? ( experimental )
- java? ( ecdh )
- test_openssl? ( test )
-"
-RDEPEND="
- gmp? ( dev-libs/gmp:0= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- java? ( virtual/jdk )
- test_openssl? ( dev-libs/openssl:0 )
-"
-
-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 java jni) \
- $(use_enable test tests) \
- $(use_enable test_openssl openssl-tests) \
- $(use_enable ecdh module-ecdh) \
- $(use_enable endomorphism) \
- --with-asm=$asm_opt \
- --with-bignum=$(usex gmp gmp no) \
- $(use_enable recovery module-recovery) \
- --disable-static
-}
-
-src_install() {
- dodoc README.md
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20190401.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20190401.ebuild
new file mode 100644
index 000000000000..2de7d3048000
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20190401.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 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="b19c000063be11018b4d1a6b0a85871ab9d0bdcf"
+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 endomorphism experimental gmp java +recovery test test-openssl"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ ecdh? ( experimental )
+ java? ( ecdh )
+ test-openssl? ( test )
+"
+RDEPEND="
+ gmp? ( dev-libs/gmp:0= )
+"
+DEPEND="${RDEPEND}
+ java? ( virtual/jdk )
+ test-openssl? ( dev-libs/openssl:0 )
+"
+BDEPEND="
+ java? ( virtual/jdk )
+ virtual/pkgconfig
+"
+
+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 java jni) \
+ $(use_enable test tests) \
+ $(use_enable test-openssl openssl-tests) \
+ $(use_enable ecdh module-ecdh) \
+ $(use_enable endomorphism) \
+ --with-asm=$asm_opt \
+ --with-bignum=$(usex gmp gmp no) \
+ $(use_enable recovery module-recovery) \
+ --disable-static
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
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.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/libsecp256k1-0.5.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.5.0.ebuild
new file mode 100644
index 000000000000..8552fa52421f
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.5.0.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
+
+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"
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+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"
+)
+
+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-kb=2')
+ $(use_with valgrind)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-9999.ebuild b/dev-libs/libsecp256k1/libsecp256k1-9999.ebuild
deleted file mode 100644
index f1a5daa6ffb1..000000000000
--- a/dev-libs/libsecp256k1/libsecp256k1-9999.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-EGIT_REPO_URI="https://github.com/bitcoin/secp256k1.git"
-inherit git-2 autotools eutils
-
-MyPN=secp256k1
-DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
-HOMEPAGE="https://github.com/bitcoin/${MyPN}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS=""
-IUSE="+asm ecdh endomorphism experimental gmp java +recovery test test_openssl"
-
-REQUIRED_USE="
- asm? ( || ( amd64 arm ) arm? ( experimental ) )
- ecdh? ( experimental )
- java? ( ecdh )
- test_openssl? ( test )
-"
-RDEPEND="
- gmp? ( dev-libs/gmp:0= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- java? ( virtual/jdk )
- test_openssl? ( dev-libs/openssl:0 )
-"
-
-src_prepare() {
- 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 java jni) \
- $(use_enable test tests) \
- $(use_enable test_openssl openssl-tests) \
- $(use_enable ecdh module-ecdh) \
- $(use_enable endomorphism) \
- --with-asm=$asm_opt \
- --with-bignum=$(usex gmp gmp no) \
- $(use_enable recovery module-recovery) \
- --disable-static
-}
-
-src_install() {
- dodoc README.md
- emake DESTDIR="${D}" install
- prune_libtool_files
-}
diff --git a/dev-libs/libsecp256k1/metadata.xml b/dev-libs/libsecp256k1/metadata.xml
index 2e3a5c002ccb..24f2a54f77f1 100644
--- a/dev-libs/libsecp256k1/metadata.xml
+++ b/dev-libs/libsecp256k1/metadata.xml
@@ -1,22 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>luke-jr+gentoobugs@utopios.org</email>
<name>Luke Dashjr</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<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 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="test-openssl">Enable OpenSSL comparison tests</flag>
</use>
<upstream>
<remote-id type="github">bitcoin/secp256k1</remote-id>
diff --git a/dev-libs/libserdes/Manifest b/dev-libs/libserdes/Manifest
new file mode 100644
index 000000000000..e43503551c77
--- /dev/null
+++ b/dev-libs/libserdes/Manifest
@@ -0,0 +1 @@
+DIST libserdes-5.4.0.tar.gz 62331 BLAKE2B 01f06004e1af2374a9d5d039b9d0a8d53bc1e61bfd4bcc6ae1a4794553903140b73373d7e9d8799069df7369219c579b30b06dab07cbb860b4d42d2cc7e9c0a1 SHA512 3ecddf59c069a4d9ff2b8e718f700e897cad762d0858e34bb4a6a63030226b7e6fe8956431149b59678240d590a2a04f026d49c2052a22f2694fe61037f2e1f4
diff --git a/dev-libs/libserdes/libserdes-5.4.0-r1.ebuild b/dev-libs/libserdes/libserdes-5.4.0-r1.ebuild
new file mode 100644
index 000000000000..50e09c427958
--- /dev/null
+++ b/dev-libs/libserdes/libserdes-5.4.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Avro SerializationDeserialization w/ Confluent schema-registry support"
+HOMEPAGE="https://github.com/confluentinc/libserdes"
+SRC_URI="https://github.com/confluentinc/libserdes/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="dev-libs/jansson:=
+ net-misc/curl
+ dev-libs/avro-c"
+RDEPEND="${DEPEND}"
diff --git a/dev-libs/libserdes/metadata.xml b/dev-libs/libserdes/metadata.xml
new file mode 100644
index 000000000000..ad2a4b15b4c8
--- /dev/null
+++ b/dev-libs/libserdes/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>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/files/libserialport-0.1.1-kernel-termiox.patch b/dev-libs/libserialport/files/libserialport-0.1.1-kernel-termiox.patch
new file mode 100644
index 000000000000..8a8aed26a31d
--- /dev/null
+++ b/dev-libs/libserialport/files/libserialport-0.1.1-kernel-termiox.patch
@@ -0,0 +1,32 @@
+https://sigrok.org/gitweb/?p=libserialport.git;a=commitdiff;h=6f9b03e597ea7200eb616a4e410add3dd1690cb1
+https://sigrok.org/bugzilla/show_bug.cgi?id=1687
+https://bugs.gentoo.org/813273
+
+Fixes runtime breakage with newer kernels.
+
+From: Karl Palsson <karlp@etactica.com>
+Date: Fri, 11 Jun 2021 17:07:09 +0000
+Subject: [PATCH] HACK: don't even check for termiox
+
+termiox was removed from linux in e0efb3168d34
+Some more information available in https://www.spinics.net/lists/linux-serial/msg41926.html
+
+Attempting to use the termiox ioctls on more modern kernels results in
+"Inappropriate IOCTL" errors.
+
+While the "right" solution might be to remove the termiox code from the
+linux path, simply not checking for termiox builds a libserialport that
+functions on modern linux kernels.
+
+Signed-off-by: Karl Palsson <karlp@etactica.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -112,7 +112,7 @@ AC_SYS_LARGEFILE
+ AC_TYPE_SIZE_T
+
+ # Check for specific termios structures.
+-AC_CHECK_TYPES([struct termios2, struct termiox],,,
++AC_CHECK_TYPES([struct termios2],,,
+ [[#include <linux/termios.h>]])
+ AC_CHECK_MEMBERS([struct termios.c_ispeed, struct termios.c_ospeed,
+ struct termios2.c_ispeed, struct termios2.c_ospeed],,,
diff --git a/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild b/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..d66e76e13da1
--- /dev/null
+++ b/dev-libs/libserialport/libserialport-0.1.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 autotools
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://sigrok.org/${PN}"
+ inherit git-r3
+else
+ SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 x86"
+fi
+
+DESCRIPTION="Cross platform serial port access library"
+HOMEPAGE="https://sigrok.org/wiki/Libserialport"
+
+LICENSE="LGPL-3"
+SLOT="0"
+IUSE="static-libs"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-kernel-termiox.patch
+)
+
+src_prepare() {
+ default
+
+ #[[ ${PV} == "9999" ]] && eautoreconf
+ # Needed for the termiox patch, should be able to drop on next release
+ # (change back this + inherit to just for 9999)
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libserialport/libserialport-0.1.1.ebuild b/dev-libs/libserialport/libserialport-0.1.1.ebuild
deleted file mode 100644
index e8a3054e9ead..000000000000
--- a/dev-libs/libserialport/libserialport-0.1.1.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 eutils
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="git://sigrok.org/${PN}"
- inherit git-r3 autotools
-else
- SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-DESCRIPTION="Cross platform serial port access library"
-HOMEPAGE="https://sigrok.org/wiki/Libserialport"
-
-LICENSE="LGPL-3"
-SLOT="0"
-IUSE="static-libs"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- [[ ${PV} == "9999" ]] && eautoreconf
- eapply_user
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/libserialport/libserialport-9999.ebuild b/dev-libs/libserialport/libserialport-9999.ebuild
index 75606b202ba4..e1d11628901a 100644
--- a/dev-libs/libserialport/libserialport-9999.ebuild
+++ b/dev-libs/libserialport/libserialport-9999.ebuild
@@ -1,13 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
-
-inherit eutils
+EAPI="8"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
- inherit git-r3 autotools
+ inherit autotools git-r3
else
SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
@@ -20,13 +18,12 @@ LICENSE="LGPL-3"
SLOT="0"
IUSE="static-libs"
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+BDEPEND="virtual/pkgconfig"
src_prepare() {
+ default
+
[[ ${PV} == "9999" ]] && eautoreconf
- eapply_user
}
src_configure() {
@@ -35,5 +32,6 @@ src_configure() {
src_install() {
default
- prune_libtool_files
+
+ find "${ED}" -name '*.la' -type f -delete || die
}
diff --git a/dev-libs/libserialport/metadata.xml b/dev-libs/libserialport/metadata.xml
index 71b1461e1146..98ae10b3c34a 100644
--- a/dev-libs/libserialport/metadata.xml
+++ b/dev-libs/libserialport/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>embedded@gentoo.org</email>
diff --git a/dev-libs/libsigc++/Manifest b/dev-libs/libsigc++/Manifest
index 13b5024fdd1b..399171deb23e 100644
--- a/dev-libs/libsigc++/Manifest
+++ b/dev-libs/libsigc++/Manifest
@@ -1,2 +1,2 @@
-DIST libsigc++-1.2.7.tar.bz2 326205 BLAKE2B b316460178224c0b8177ce9a236c69a8b737bf7356b290b59eaeb60b09285c61d113bfc7de89bd712c3c049a492f5cc36d205ac77816aff73e587e8a42ade520 SHA512 79fd9657219459bce64fc069dbcb054959e324b5d546b5f11acaae5e5bedcc4dca699a21c949e3f6b2ec0dbe1c3dba3981158e5950d0aaba5028445b2ad5740f
-DIST libsigc++-2.10.1.tar.xz 4062388 BLAKE2B 3bd988acae78b7d463c966fa5c8da68b35d8a0b0bf4762811b7a9fdf82357b29aaa48d64e19f4cb6bd0f42ee70ad77a64a4905d1ad609dbe11ca8ff7596527c6 SHA512 e2bd7b1a97019be010dee1594271bbf7cae92b28e31dcb3c6d7d60643a0996233f0a75a9337b4afcb5b7dc453bfc3159d82f6daacfbcd8993a39ccecaf811bb2
+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++/files/libsigc++-1.2.7-fix-install.patch b/dev-libs/libsigc++/files/libsigc++-1.2.7-fix-install.patch
deleted file mode 100644
index 3b4703631909..000000000000
--- a/dev-libs/libsigc++/files/libsigc++-1.2.7-fix-install.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- sigc++/Makefile.am.orig 2010-11-27 20:40:35.301189910 +0930
-+++ sigc++/Makefile.am 2010-11-27 20:40:46.871110361 +0930
-@@ -12,7 +12,7 @@
- sigc_built_h = bind_return.h \
- object_slot.h retype_return.h slot.h bind.h \
- class_slot.h hide.h retype.h signal.h \
-- method_slot.h method_slot.h
-+ method_slot.h
-
- built_sources = $(sigc_built_cc) $(sigc_built_h)
- dist_sources = $(sigc_fixed_cc) $(sigc_fixed_h)
diff --git a/dev-libs/libsigc++/libsigc++-1.2.7.ebuild b/dev-libs/libsigc++/libsigc++-1.2.7.ebuild
deleted file mode 100644
index 3803cde8634c..000000000000
--- a/dev-libs/libsigc++/libsigc++-1.2.7.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-GCONF_DEBUG="yes"
-GNOME_TARBALL_SUFFIX="bz2"
-
-inherit autotools gnome2 eutils
-
-DESCRIPTION="Typesafe callback system for standard C++"
-HOMEPAGE="http://libsigc.sourceforge.net/"
-
-LICENSE="GPL-2 LGPL-2.1+"
-SLOT="1.2"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86"
-IUSE=""
-
-DEPEND="sys-devel/m4"
-RDEPEND=""
-
-src_prepare() {
- DOCS="AUTHORS ChangeLog FEATURES IDEAS README NEWS TODO"
-
- # fixes bug #219041
- sed -e 's:ACLOCAL_AMFLAGS = -I $(srcdir)/scripts:ACLOCAL_AMFLAGS = -I scripts:' \
- -i Makefile.{in,am}
-
- # fixes bug #469698
- sed -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g' -i configure.in || die
-
- # Fix duplicated file installation, bug #346949
- epatch "${FILESDIR}/${P}-fix-install.patch"
-
- eautoreconf
- gnome2_src_prepare
-}
-
-src_configure() {
- gnome2_src_configure \
- --enable-maintainer-mode \
- --enable-threads
-}
diff --git a/dev-libs/libsigc++/libsigc++-2.10.1.ebuild b/dev-libs/libsigc++/libsigc++-2.10.1.ebuild
deleted file mode 100644
index 1b4f4f97fddc..000000000000
--- a/dev-libs/libsigc++/libsigc++-2.10.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit gnome2 flag-o-matic multilib-minimal
-
-DESCRIPTION="Typesafe callback system for standard C++"
-HOMEPAGE="http://libsigc.sourceforge.net/"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc static-libs test"
-
-RDEPEND=""
-DEPEND="sys-devel/m4
- doc? ( app-doc/doxygen )
- test? ( dev-libs/boost[${MULTILIB_USEDEP}] )"
-# Needs mm-common for eautoreconf
-
-src_prepare() {
- # don't waste time building examples
- sed -i 's|^\(SUBDIRS =.*\)examples\(.*\)$|\1\2|' \
- Makefile.am Makefile.in || die "sed examples failed"
-
- # don't waste time building tests unless USE=test
- if ! use test ; then
- sed -i 's|^\(SUBDIRS =.*\)tests\(.*\)$|\1\2|' \
- Makefile.am Makefile.in || die "sed tests failed"
- fi
-
- gnome2_src_prepare
-}
-
-multilib_src_configure() {
- filter-flags -fno-exceptions #84263
-
- ECONF_SOURCE="${S}" gnome2_src_configure \
- $(multilib_native_use_enable doc documentation) \
- $(use_enable static-libs static) \
- $(use_enable test benchmark)
-}
-
-multilib_src_install() {
- gnome2_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # 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
- use doc && dodoc -r examples
-}
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.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 f530c3924938..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 fd256f937ffc..6f944b7a9ffe 100644
--- a/dev-libs/libsigsegv/Manifest
+++ b/dev-libs/libsigsegv/Manifest
@@ -1,2 +1,2 @@
-DIST libsigsegv-2.11.tar.gz 448744 BLAKE2B 3fdf79efd9ce392887e1b133d5ea54637587411c3654b9cc4ae55b8cdfd05d41e56e76596edea7ee3dd09feb865dae56a67d2312033b07b491fbaca291fd1fe4 SHA512 6d60bbaa704b86c12a32a6b0eadd30fa7736d0e0ff8a1c45af1b15b7b7d4524f39902fe3f7f47a100bc2586e32aa25bb575e3d859d9ccb5fd7e99ba4e62f7b02
-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.11.ebuild b/dev-libs/libsigsegv/libsigsegv-2.11.ebuild
deleted file mode 100644
index 5ab74d80c3a5..000000000000
--- a/dev-libs/libsigsegv/libsigsegv-2.11.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
-
-src_configure () {
- econf --enable-shared || die "Configure phase failed"
-}
-
-src_test () {
- if [[ ${FEATURES} = *sandbox* ]] ; then
- # skip tests as they will fail
- ewarn "Skipped tests. Please disable sandbox to run tests."
- return 0
- fi
- emake check || die "Tests failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
- dodoc AUTHORS ChangeLog* NEWS PORTING README
-}
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 5208e446e1e0..000000000000
--- a/dev-libs/libsigsegv/libsigsegv-2.12-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-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.12.ebuild b/dev-libs/libsigsegv/libsigsegv-2.12.ebuild
deleted file mode 100644
index c17e565a5c63..000000000000
--- a/dev-libs/libsigsegv/libsigsegv-2.12.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~sh ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
-
-src_configure () {
- econf --enable-shared
-}
-
-src_test () {
- if [[ ${FEATURES} = *sandbox* ]] ; then
- # skip tests as they will fail
- ewarn "Skipped tests. Please disable sandbox to run tests."
- return 0
- fi
- 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
new file mode 100644
index 000000000000..9fdfa95ea4b3
--- /dev/null
+++ b/dev-libs/libsigsegv/libsigsegv-2.13.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=(
+ # Bug #363503
+ "${FILESDIR}/${PN}-2.12-skip-stackoverflow-tests.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-shared --disable-static
+}
+
+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-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
new file mode 100644
index 000000000000..8d7a00e8165c
--- /dev/null
+++ b/dev-libs/libsigsegv/libsigsegv-2.14.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+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() {
+ emake DESTDIR="${D}" install
+ rm -f "${ED}/usr/$(get_libdir)"/*.la || die
+ dodoc AUTHORS ChangeLog* NEWS PORTING README
+}
diff --git a/dev-libs/libsigsegv/metadata.xml b/dev-libs/libsigsegv/metadata.xml
index 12e1f06e4ed5..8d664c540edc 100644
--- a/dev-libs/libsigsegv/metadata.xml
+++ b/dev-libs/libsigsegv/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>common-lisp@gentoo.org</email>
diff --git a/dev-libs/libslz/Manifest b/dev-libs/libslz/Manifest
index 53dbd9711bce..f40f3f88ed06 100644
--- a/dev-libs/libslz/Manifest
+++ b/dev-libs/libslz/Manifest
@@ -1 +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/metadata.xml b/dev-libs/libslz/metadata.xml
index b70f04c44388..00eae7153ae7 100644
--- a/dev-libs/libslz/metadata.xml
+++ b/dev-libs/libslz/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>idl0r@gentoo.org</email>
<name>Christian Ruppert</name>
</maintainer>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>bertrand@jacquin.bzh</email>
<name>Bertrand Jacquin</name>
</maintainer>
diff --git a/dev-libs/libsodium/Manifest b/dev-libs/libsodium/Manifest
index 1dbe9ce42874..e2368db28f37 100644
--- a/dev-libs/libsodium/Manifest
+++ b/dev-libs/libsodium/Manifest
@@ -1,5 +1,6 @@
-DIST libsodium-1.0.11.tar.gz 1846782 BLAKE2B aadab6c89d11740dca72d7686d06cfeca6c504fca9e78108778817da4071d9e7bb6115df42e9509cd872ae7a5489ef15c099cabaf564f28e90b7f74a63bae140 SHA512 4b1293c4d0e52264beecdd05833857bc4d77d1c2a97eea0138fe04df383b9a2dfcad4a79ccd9aed8f6c0047ba67c49292b0d2ccf987ab0b5046b46b1586ccbd7
-DIST libsodium-1.0.15.tar.gz 1866057 BLAKE2B 220e327f7803c6cf0b1260b313a225d7cc7a965b36920c744379c5939643e588687032478e3d7a79b4614c5fa57b0dd2afd216b2e23ca69ad16ea67764a840ca SHA512 299a208f8342793d13498e95b23f1749f5b5b13ec276db3ec401130615e837ef475b6a1283b6e87a5f8227d23e70e38ca721073dadd5dc88fe4aff342aa64adc
-DIST libsodium-1.0.16.tar.gz 1910835 BLAKE2B d0d83730cfdb64a928c4597a3bcf4ae179d74bb9f850364bf0670547a12842009c0ca32d36d06053906fb649497406b1d7988e167772d5f1138d23798d8775f7 SHA512 eab917d599c9c1fe971a6ecf915b9a6476ccec2d46cf23cbfbf06dd3833089b422f192de4d55f17b93362f1251ba8d5ddeb95ced1a422a3a2631b4b82553907f
-DIST libsodium-1.0.17.tar.gz 1911910 BLAKE2B 488079599f8448a75ac60b955bddc2a284bc09307ef6c3d1e12fef6316d3ddc354b0b60756487311ea8b50920009394e749ba0f6f159542716e0e864fc80646c SHA512 7cc9e4f11e656008ce9dff735acea95acbcb91ae4936de4d26f7798093766a77c373e9bd4a7b45b60ef8a11de6c55bc8dcac13bebf8c23c671d0536430501da1
-DIST libsodium-1.0.18.tar.gz 1919817 BLAKE2B a42d898fe77f232dcbb75728e776b88f006e89f734c4d335e75e01d37b1034cc024df2e89d4350ecbe713d3e4b32c08bec537922c81cc63b0e87ee7fd89b2940 SHA512 17e8638e46d8f6f7d024fe5559eccf2b8baf23e143fadd472a7d29d228b186d86686a5e6920385fe2020729119a5f12f989c3a782afbd05a8db4819bb18666ef
+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.10-cpuflags.patch b/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch
index 544c283d8509..e03a703d7fae 100644
--- a/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch
+++ b/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch
@@ -1,5 +1,5 @@
---- libsodium-1.0.10/configure.ac
-+++ libsodium-1.0.10/configure.ac
+--- a/configure.ac
++++ b/configure.ac
@@ -344,6 +344,10 @@
[AC_MSG_RESULT(no)])
CFLAGS="$oldcflags"
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.11-r1.ebuild b/dev-libs/libsodium/libsodium-1.0.11-r1.ebuild
deleted file mode 100644
index fe9bd6598f34..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.11-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils autotools
-
-DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
-HOMEPAGE="https://github.com/jedisct1/libsodium"
-SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/18"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+asm minimal static-libs +urandom cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf
-
- # --disable-pie needed on x86, bug #512734
- use x86 && myconf="${myconf} --disable-pie"
-
- econf \
- $(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) \
- ${myconf}
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/libsodium/libsodium-1.0.15-r1.ebuild b/dev-libs/libsodium/libsodium-1.0.15-r1.ebuild
deleted file mode 100644
index ae0419e4c365..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.15-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils autotools
-
-DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
-HOMEPAGE="https://github.com/jedisct1/libsodium"
-SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
-
-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"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myconf
-
- # --disable-pie needed on x86, bug #512734
- use x86 && myconf="${myconf} --disable-pie"
- # --disable-ssp is needed on musl x86
- use x86 && use elibc_musl && myconf+="${myconf} --disable-ssp"
-
- econf \
- $(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) \
- ${myconf}
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/libsodium/libsodium-1.0.16-r2.ebuild b/dev-libs/libsodium/libsodium-1.0.16-r2.ebuild
deleted file mode 100644
index fe6573407753..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.16-r2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
-HOMEPAGE="https://github.com/jedisct1/libsodium"
-SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="+asm minimal static-libs +urandom cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- local ECONF_SOURCE="${S}"
- local myconf
-
- # --disable-pie is needed on x86, see bug #512734
- if [[ "${MULTILIB_ABI_FLAG}" == "abi_x86_32" ]]; then
- myconf="${myconf} --disable-pie"
- # --disable-ssp is needed on musl x86
- if use elibc_musl; then
- myconf+="${myconf} --disable-ssp"
- fi
- fi
-
- econf \
- $(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) \
- ${myconf}
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/libsodium/libsodium-1.0.17.ebuild b/dev-libs/libsodium/libsodium-1.0.17.ebuild
deleted file mode 100644
index ca8df8c8f25f..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.17.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 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://github.com/jedisct1/libsodium"
-SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/23"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="+asm minimal static-libs +urandom cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
-
-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
- if use elibc_musl; then
- myeconfargs+=( --disable-ssp )
- fi
- fi
-
- ECONF_SOURCE="${S}" econf ${myeconfargs[@]}
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name "*.la" -delete || die
-}
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 b1a14071e574..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.18.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 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://github.com/jedisct1/libsodium"
-SRC_URI="http://download.libsodium.org/${PN}/releases/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/23"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
-IUSE="+asm minimal static-libs +urandom cpu_flags_x86_sse4_1 cpu_flags_x86_aes"
-
-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
- 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_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..18460987441c
--- /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 7da2eca7cb2f..2b16ac29aaae 100644
--- a/dev-libs/libsodium/metadata.xml
+++ b/dev-libs/libsodium/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
<longdescription>
NaCl (pronounced "salt") is a new easy-to-use high-speed software
library for network communication, encryption, decryption,
@@ -11,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 ef7e5fa932f3..7676f5fda986 100644
--- a/dev-libs/libspnav/Manifest
+++ b/dev-libs/libspnav/Manifest
@@ -1,2 +1,3 @@
-DIST libspnav-0.2.2.tar.gz 11615 BLAKE2B 470a533d9ae58b37cd1c1603381bfd3a3bca79b2fe15a81464727e2543433df2fdf32b8683464ade9aa9670f3c9af1ffddde58299678d89d977577ed324f1ebf SHA512 78b26e6fe4a98af579738743ac4bc2f1de5ccfa9316a103a58ebb935f281fba04b8c6c28c0d63abda15a52c0288e371231425a3a21b26c083a5de7ab101f1940
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-0.2.2-custom-flags.patch b/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch
deleted file mode 100644
index cc96655bf469..000000000000
--- a/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -Npur libspnav-0.2.2.orig/Makefile.in libspnav-0.2.2/Makefile.in
---- libspnav-0.2.2.orig/Makefile.in 2012-01-31 22:34:01.448356249 +0100
-+++ libspnav-0.2.2/Makefile.in 2012-01-31 22:39:20.229350669 +0100
-@@ -7,7 +7,8 @@ lib_so = $(soname).1
-
- CC = gcc
- AR = ar
--CFLAGS = $(opt) $(dbg) -std=c89 -fpic -pedantic -Wall -fno-strict-aliasing -I.
-+CFLAGS = $(opt) -fpic -I.
-+LDFLAGS = $(ldopt) -shared -Wl,-soname,$(soname)
-
- .PHONY: all
- all: $(lib_a) $(lib_so)
-@@ -16,7 +17,7 @@ $(lib_a): $(obj)
- $(AR) rcs $@ $(obj)
-
- $(lib_so): $(obj)
-- $(CC) -shared -Wl,-soname,$(soname) -o $@ $(obj)
-+ $(CC) $(LDFLAGS) -o $@ $(obj)
-
- %.o: $(srcdir)/%.c
- $(CC) $(CFLAGS) -c $< -o $@
-diff -Npur libspnav-0.2.2.orig/configure libspnav-0.2.2/configure
---- libspnav-0.2.2.orig/configure 2012-01-31 22:34:01.448356249 +0100
-+++ libspnav-0.2.2/configure 2012-01-31 22:34:39.703355615 +0100
-@@ -4,6 +4,7 @@ echo 'configuring spacenav library...'
-
- PREFIX=/usr/local
- OPT=yes
-+LDOPT=yes
- DBG=yes
- X11=yes
-
-@@ -26,6 +27,11 @@ for arg; do
- --disable-opt)
- OPT=no;;
-
-+ --enable-ldopt)
-+ LDOPT=yes;;
-+ --disable-ldopt)
-+ LDOPT=no;;
-+
- --enable-debug)
- DBG=yes;;
- --disable-debug)
-@@ -44,6 +50,8 @@ for arg; do
- echo ' --disable-x11: disable X11 communication mode'
- echo ' --enable-opt: enable speed optimizations (default)'
- echo ' --disable-opt: disable speed optimizations'
-+ echo ' --enable-ldopt: enable link optimizations (default)'
-+ echo ' --disable-ldopt: disable link optimizations'
- echo ' --enable-debug: include debugging symbols (default)'
- echo ' --disable-debug: do not include debugging symbols'
- echo 'all invalid options are silently ignored'
-@@ -54,6 +62,7 @@ done
-
- echo " prefix: $PREFIX"
- echo " optimize for speed: $OPT"
-+echo " optimize link: $LDOPT"
- echo " include debugging symbols: $DBG"
- echo " x11 communication method: $X11"
- echo ""
-@@ -74,7 +83,11 @@ if [ "$DBG" = 'yes' ]; then
- fi
-
- if [ "$OPT" = 'yes' ]; then
-- echo 'opt = -O3' >>Makefile
-+ echo "opt = ${CFLAGS:--O3}" >>Makefile
-+fi
-+
-+if [ "$LDOPT" = 'yes' ]; then
-+ echo "ldopt = ${LDFLAGS}" >>Makefile
- fi
-
- if [ "$X11" = 'yes' ]; then
diff --git a/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch b/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch
deleted file mode 100644
index f65300c5f58a..000000000000
--- a/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Npur libspnav-0.2.2.orig/Makefile.in libspnav-0.2.2/Makefile.in
---- libspnav-0.2.2.orig/Makefile.in 2012-01-31 22:40:36.619349333 +0100
-+++ libspnav-0.2.2/Makefile.in 2012-01-31 22:41:52.554347975 +0100
-@@ -11,7 +11,7 @@ CFLAGS = $(opt) -I.
- LDFLAGS = $(ldopt) -shared -Wl,-soname,$(soname)
-
- .PHONY: all
--all: $(lib_a) $(lib_so)
-+all: $(lib_so)
-
- $(lib_a): $(obj)
- $(AR) rcs $@ $(obj)
-@@ -31,10 +31,10 @@ distclean:
- rm -f $(obj) $(lib_a) $(lib_so) Makefile
-
- .PHONY: install
--install: $(lib_a) $(lib_so)
-- cp $(lib_a) $(PREFIX)/$(libdir)/$(lib_a)
-- cp $(lib_so) $(PREFIX)/$(libdir)/$(lib_so)
-- for h in $(hdr); do cp -p $(srcdir)/$$h $(PREFIX)/include/; done
-+install: $(lib_so)
-+ mkdir -p $(DESTDIR)$(PREFIX)/$(libdir) $(DESTDIR)$(PREFIX)/include
-+ cp $(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so)
-+ for h in $(hdr); do cp -p $(srcdir)/$$h $(DESTDIR)$(PREFIX)/include/; done
-
- .PHONY: uninstall
- uninstall:
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.2.ebuild b/dev-libs/libspnav/libspnav-0.2.2.ebuild
deleted file mode 100644
index b97017ab74ea..000000000000
--- a/dev-libs/libspnav/libspnav-0.2.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit multilib eutils 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"
-
-RDEPEND="app-misc/spacenavd[X?]"
-DEPEND=""
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-makefile.patch
- epatch "${FILESDIR}"/${P}-custom-flags.patch
-}
-
-src_configure() {
- econf \
- --enable-opt --enable-ldopt \
- $(use_enable X x11)
-}
-
-src_compile() {
- emake CC=$(tc-getCC)
-}
-
-src_install() {
- default
-
- # Use proper libdir
- if [[ $(get_libdir) != lib ]]; then
- mv "${D}"/usr/{lib,$(get_libdir)} || die
- fi
-
- # Create missing symlinks
- local target=$(basename "${D}"/usr/$(get_libdir)/libspnav.so.*)
- dosym ${target} /usr/$(get_libdir)/libspnav.so.0 || die
- dosym ${target} /usr/$(get_libdir)/libspnav.so || die
-}
diff --git a/dev-libs/libspnav/libspnav-0.2.3-r1.ebuild b/dev-libs/libspnav/libspnav-0.2.3-r1.ebuild
new file mode 100644
index 000000000000..b10f9ecccbb6
--- /dev/null
+++ b/dev-libs/libspnav/libspnav-0.2.3-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 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://downloads.sourceforge.net/project/${MY_PN}/${MY_PN}%20library%20%28SDK%29/${PN}%20${PV}/${P}.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_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
+
+ # 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-0.2.3.ebuild b/dev-libs/libspnav/libspnav-0.2.3.ebuild
deleted file mode 100644
index 0cde20cb7aa1..000000000000
--- a/dev-libs/libspnav/libspnav-0.2.3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib 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 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 4eb1adc52267..126ce2bc79ed 100644
--- a/dev-libs/libspnav/metadata.xml
+++ b/dev-libs/libspnav/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sping@gentoo.org</email>
@@ -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/libspt/files/libspt-glibc-2.30.patch b/dev-libs/libspt/files/libspt-glibc-2.30.patch
new file mode 100644
index 000000000000..1ebb9b969b24
--- /dev/null
+++ b/dev-libs/libspt/files/libspt-glibc-2.30.patch
@@ -0,0 +1,12 @@
+--- a/libspt.c
++++ b/libspt.c
+@@ -7,9 +7,6 @@
+ #include <time.h>
+ #include <stdio.h> /* for perror() */
+ #include <signal.h>
+-#ifdef HAVE_PTY_SVR4
+-#include <sys/stropts.h>
+-#endif
+
+ struct spt_handle_tag {
+ connection *pconn;
diff --git a/dev-libs/libspt/libspt-1.1-r2.ebuild b/dev-libs/libspt/libspt-1.1-r2.ebuild
deleted file mode 100644
index cf5d08f80b28..000000000000
--- a/dev-libs/libspt/libspt-1.1-r2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="Library for handling root privilege"
-#HOMEPAGE="http://www.j10n.org/libspt/index.html"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="alpha amd64 ppc x86"
-IUSE="+libtirpc"
-RESTRICT="test"
-
-RDEPEND="!libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- libtirpc? ( net-libs/libtirpc )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-gentoo.patch"
- "${FILESDIR}/${PN}-rpc.patch"
-)
-
-src_prepare() {
- rm aclocal.m4
-
- default
- eautoreconf
-}
-
-src_configure() {
- econf $(use_with libtirpc)
-}
diff --git a/dev-libs/libspt/libspt-1.1-r3.ebuild b/dev-libs/libspt/libspt-1.1-r3.ebuild
deleted file mode 100644
index 402e4599e1e2..000000000000
--- a/dev-libs/libspt/libspt-1.1-r3.ebuild
+++ /dev/null
@@ -1,46 +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 handling root privilege"
-#HOMEPAGE="http://www.j10n.org/libspt/index.html"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="+libtirpc suid"
-RESTRICT="test"
-
-RDEPEND="!libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) )
- libtirpc? ( net-libs/libtirpc )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-gentoo.patch"
- "${FILESDIR}/${PN}-rpc.patch"
-)
-
-src_prepare() {
- rm aclocal.m4
-
- default
- eautoreconf
-}
-
-src_configure() {
- econf $(use_with libtirpc)
-}
-
-src_install() {
- default
-
- if use suid; then
- fperms 4755 /usr/libexec/sptagent
- fi
-}
diff --git a/dev-libs/libspt/libspt-1.1-r4.ebuild b/dev-libs/libspt/libspt-1.1-r4.ebuild
index bb37bffe21cf..d4af4a723188 100644
--- a/dev-libs/libspt/libspt-1.1-r4.ebuild
+++ b/dev-libs/libspt/libspt-1.1-r4.ebuild
@@ -1,27 +1,27 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=7
inherit autotools
DESCRIPTION="Library for handling root privilege"
-#HOMEPAGE="http://www.j10n.org/libspt/index.html"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
+HOMEPAGE="http://www.j10n.org/libspt/"
+SRC_URI="http://www.j10n.org/${PN}/${P}.tar.bz2"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
IUSE="suid"
RESTRICT="test"
RDEPEND="net-libs/libtirpc"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${PN}-gentoo.patch"
+ "${FILESDIR}/${PN}-glibc-2.30.patch"
"${FILESDIR}/${PN}-rpc.patch"
)
@@ -33,12 +33,17 @@ src_prepare() {
}
src_configure() {
- econf --with-libtirpc
+ econf \
+ --disable-static \
+ --with-libtirpc
}
src_install() {
default
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+
if use suid; then
fperms 4755 /usr/libexec/sptagent
fi
diff --git a/dev-libs/libspt/metadata.xml b/dev-libs/libspt/metadata.xml
index 4b6896b6c4a2..a94766977fa6 100644
--- a/dev-libs/libspt/metadata.xml
+++ b/dev-libs/libspt/metadata.xml
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
- </maintainer>
- <use>
- <flag name="libtirpc">Build against net-libs/libtirpc for RPC support</flag>
- </use>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libsqlora8/Manifest b/dev-libs/libsqlora8/Manifest
deleted file mode 100644
index e98e0b417ba4..000000000000
--- a/dev-libs/libsqlora8/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libsqlora8-2.3.3.tar.gz 1130458 BLAKE2B 7205c808c3e3064bf4aedad62e8cd4685cf6e7eda73e2bb8a13888a81cd0532081de889fd02408633e2df31a522e845b7fec3bee2ececcf39a689b75b75382fc SHA512 5c62387f11cc8b901d99c2981f7e7099d255203aa11a071fc53b22d770db3485f0f23e054b88b3b0f281546a5e92fd5a7bd46b4f0e5f51a8914894c54f222c6e
diff --git a/dev-libs/libsqlora8/libsqlora8-2.3.3-r1.ebuild b/dev-libs/libsqlora8/libsqlora8-2.3.3-r1.ebuild
deleted file mode 100644
index 7e8df7fae210..000000000000
--- a/dev-libs/libsqlora8/libsqlora8-2.3.3-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils flag-o-matic versionator
-
-DESCRIPTION="Simple C-library to access Oracle databases via the OCI interface"
-SRC_URI="http://www.poitschke.de/libsqlora8/${P}.tar.gz"
-HOMEPAGE="http://www.poitschke.de/libsqlora8/index_noframe.html"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~x86"
-
-IUSE="orathreads static-libs +threads"
-
-RDEPEND="dev-db/oracle-instantclient"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-REQUIRED_USE="?? ( orathreads threads )"
-
-src_configure() {
- local myconf
-
- local ORACLE_VER="$(best_version dev-db/oracle-instantclient)"
- ORACLE_VER="${ORACLE_VER#*/*-*-}" #reduce it to ${PV}-${PR}
- ORACLE_VER="$(get_version_component_range 1-2 ${ORACLE_VER})"
- append-ldflags -L"/usr/lib/oracle/${ORACLE_VER}/client/lib"
-
- use threads && myconf="--with-threads=posix"
- use orathreads && myconf="--with-threads=oracle"
-
- econf \
- $(use_enable static-libs static) \
- ${myconf}
-}
-
-src_compile() {
- # Parallel compilation is not supported
- emake -j1
-}
-
-src_install () {
- default
- prune_libtool_files
- dodoc ChangeLog NEWS NEWS-2.2
-
- # TODO
- # Copy contents of doc and examples directory to proper place
- rm -r "${D}/usr/share/doc/packages"
-}
diff --git a/dev-libs/libsqlora8/metadata.xml b/dev-libs/libsqlora8/metadata.xml
deleted file mode 100644
index 60a8019dbd9a..000000000000
--- a/dev-libs/libsqlora8/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>
- libsqlora8 is simple C-library to access Oracle databases via the OCI
- interface. Makes simple programming tasks much easier than with plain OCI.
-</longdescription>
-<use>
- <flag name="orathreads">Use Oracle threads</flag>
-</use>
-</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 20832e138dd4..000000000000
--- a/dev-libs/libstrl/libstrl-0.5.1-r1.ebuild
+++ /dev/null
@@ -1,32 +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"
-
-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/libstrl-0.5.1.ebuild b/dev-libs/libstrl/libstrl-0.5.1.ebuild
deleted file mode 100644
index 2515eaba0880..000000000000
--- a/dev-libs/libstrl/libstrl-0.5.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools-utils multilib
-
-DESCRIPTION="Compat library for functions like strlcpy(), strlcat(), strnlen(), getline()"
-HOMEPAGE="http://ohnopub.net/~ohnobinki/libstrl/"
-SRC_URI="ftp://mirror.ohnopub.net/mirror/${P}.tar.bz2"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x64-macos"
-IUSE="doc static-libs test"
-
-# block various versions of opendkim for bug #454938 and bug #441790.
-DEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- !=mail-filter/opendkim-2.7.0 !=mail-filter/opendkim-2.7.1 !=mail-filter/opendkim-2.7.2"
-RDEPEND="!=mail-filter/opendkim-2.7.0 !=mail-filter/opendkim-2.7.1 !=mail-filter/opendkim-2.7.2"
-
-src_configure() {
- local myeconfargs=(
- $(use_with doc doxygen)
- $(use_with test check)
- )
-
- autotools-utils_src_configure
-}
diff --git a/dev-libs/libstrl/metadata.xml b/dev-libs/libstrl/metadata.xml
deleted file mode 100644
index fed47a353275..000000000000
--- a/dev-libs/libstrl/metadata.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type='person'>
-<email>jer@gentoo.org</email>
-</maintainer>
-</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-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/libstroke/libstroke-0.5.1.ebuild b/dev-libs/libstroke/libstroke-0.5.1.ebuild
deleted file mode 100644
index cfa602722b05..000000000000
--- a/dev-libs/libstroke/libstroke-0.5.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils 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 ~x86-fbsd"
-IUSE=""
-
-RDEPEND="x11-libs/libX11"
-DEPEND="x11-base/xorg-proto
- ${RDEPEND}"
-
-src_unpack() {
- unpack "${A}"
- cd "${S}"
- epatch "${FILESDIR}"/${P}-m4_syntax.patch
- epatch "${FILESDIR}"/${P}-no_gtk1.patch
- epatch "${FILESDIR}"/${P}-autotools.patch
- eautoreconf
-}
-
-src_install () {
- emake DESTDIR=${D} install || die
- dodoc CREDITS ChangeLog README
-}
diff --git a/dev-libs/libstroke/metadata.xml b/dev-libs/libstroke/metadata.xml
index 674563478fea..85e4ed814fa2 100644
--- a/dev-libs/libstroke/metadata.xml
+++ b/dev-libs/libstroke/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>calchan@gentoo.org</email>
- <name>Denis Dupeyron</name>
-</maintainer>
+<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libstrophe/Manifest b/dev-libs/libstrophe/Manifest
index e5c1bc327adc..12475731329b 100644
--- a/dev-libs/libstrophe/Manifest
+++ b/dev-libs/libstrophe/Manifest
@@ -1 +1,5 @@
-DIST libstrophe-0.9.2.tar.gz 500459 BLAKE2B 0b1f6f1daac1215bcdcbde0e54264b98f5a863de339500826f625f8c5e8143ce7200fb251d04248715e9a8b6621a4360e7ca2780bf4684d916ec13361b5f6fcc SHA512 a0129c49ca574afaefa77c412143571af2eb1100c7d737d497b65d44680d35e2404ee2d4d4e1378b06ac1bcc5c587f505f79fea9251af1cbb36afd990d48570d
+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/files/libstrophe-0.9.2-libressl.patch b/dev-libs/libstrophe/files/libstrophe-0.9.2-libressl.patch
deleted file mode 100644
index 1c0cf239cdfc..000000000000
--- a/dev-libs/libstrophe/files/libstrophe-0.9.2-libressl.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/tls_openssl.c
-+++ b/src/tls_openssl.c
-@@ -51,7 +51,7 @@
-
- void tls_initialize(void)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
- SSL_library_init();
- SSL_load_error_strings();
- #else
-@@ -120,7 +120,7 @@
- /* Trust server's certificate when user sets the flag explicitly. */
- mode = conn->tls_trust ? SSL_VERIFY_NONE : SSL_VERIFY_PEER;
- SSL_set_verify(tls->ssl, mode, 0);
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
- /* Hostname verification is supported in OpenSSL 1.0.2 and newer. */
- X509_VERIFY_PARAM *param = SSL_get0_param(tls->ssl);
-
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 f95cbfb67f5e..000000000000
--- a/dev-libs/libstrophe/libstrophe-0.9.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 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 libressl"
-
-RDEPEND="
- expat? ( dev-libs/expat )
- !expat? ( dev-libs/libxml2:2 )
- libressl? ( dev-libs/libressl:0= )
- !libressl? ( dev-libs/openssl:0= )
-"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
-"
-
-DOCS=( ChangeLog )
-PATCHES=( "${FILESDIR}/libstrophe-0.9.2-libressl.patch" )
-
-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' -delete || die
-}
diff --git a/dev-libs/libstrophe/metadata.xml b/dev-libs/libstrophe/metadata.xml
index 66bfa18199e7..b3da340e2c2a 100644
--- a/dev-libs/libstrophe/metadata.xml
+++ b/dev-libs/libstrophe/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <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 cbc4d499d82a..000000000000
--- a/dev-libs/libtar/libtar-1.2.20-r4.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 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 sparc x86 ~amd64-fbsd ~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/libtar/metadata.xml b/dev-libs/libtar/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/libtar/metadata.xml
+++ b/dev-libs/libtar/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libtasn1/Manifest b/dev-libs/libtasn1/Manifest
index 527b14e9c6f5..002fb8ad17a3 100644
--- a/dev-libs/libtasn1/Manifest
+++ b/dev-libs/libtasn1/Manifest
@@ -1 +1,2 @@
-DIST libtasn1-4.13.tar.gz 1891703 BLAKE2B 5a8bfefe1a3701505c8a1a4920412a6dd15fe771fb848fbd00f0a332388795dc6108a0fa5a282b4212abe0b0642f205bda53c2c39a4a2d65fa71e082fc76a6d2 SHA512 bf5b60a296795e0a8a4a658c0106492393aa7ce698e785256b3427c17215c2a5b6178a61a2043c93ea4334f754eabece20221ac8fef0fd5644086a3891d98a9f
+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.13.ebuild b/dev-libs/libtasn1/libtasn1-4.13.ebuild
deleted file mode 100644
index 76d5dcc9c67e..000000000000
--- a/dev-libs/libtasn1/libtasn1-4.13.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 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 ~sh sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc static-libs test valgrind"
-
-BDEPEND="sys-apps/help2man
- virtual/yacc
- test? ( valgrind? ( dev-util/valgrind ) )"
-
-DOCS=(
- AUTHORS
- ChangeLog
- NEWS
- README
- 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() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable static-libs static) \
- $(multilib_native_use_enable valgrind valgrind-tests)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -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 c7fc0ea791dc..2889e087bc6d 100644
--- a/dev-libs/libtasn1/metadata.xml
+++ b/dev-libs/libtasn1/metadata.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
+ <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/Manifest b/dev-libs/libtecla/Manifest
index a5b964a32f97..829dcef6241d 100644
--- a/dev-libs/libtecla/Manifest
+++ b/dev-libs/libtecla/Manifest
@@ -1,3 +1 @@
-DIST libtecla-1.6.1.tar.gz 518995 BLAKE2B 4aea38ecfbc96dc418a7f652f8a0caabd61625336bdcf611889bbcbfa7e7674877d239e34d7f23aa0b80ba664b97d9553586bbab36529e0761d7150300cf4bbb SHA512 89d550868c99739b5cfd0ddba45f61d9a8fd1454c7044f29db6cced9cd1de83b895409706a8b85024d6c75678469a4b8b39dd184322d01e1ab6b5faf03c90fc7
-DIST libtecla-1.6.2.tar.gz 535977 BLAKE2B 81b9402ae01414a05cfd75de1ec3a4e4a2ff3f3f19c466d9d220a585467b383db2ac2a542932ba361765405759bfdb8865a8c8eca136b0aa9c9bef3b4098ffe8 SHA512 cabfaa4ac386bceee6cd2887010af0c64b98f545ee5c2d367c3594925985df43525bfb5f028890904c66d0f767fc2cb0585a8500cbb06ffd10b7cd7a6d56adb1
DIST libtecla-1.6.3.tar.gz 531499 BLAKE2B 6cc585ce104a60138c8b1950f455be845f3db014f1b56585a6ff8c05101e187a3f9deb7546a24e28d8797a49c426606ff50ccb49065ec2dfe4999537c66579ba SHA512 e92da3e52f1e06f731378ea8d4529865526b7816f92c3cd41a24ee8b629453564ec1995cf528928dd0673826cdd88f57e057ec0641f9c00fc9ebb255c725df6b
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch b/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch
deleted file mode 100644
index c29d3e04c48e..000000000000
--- a/dev-libs/libtecla/files/libtecla-1.6.1-LDFLAGS2.patch
+++ /dev/null
@@ -1,20 +0,0 @@
- Makefile.in | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index e492136..a44371a 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -165,10 +165,10 @@ CFLAGS = $(OPT) $(WARNING_FLAGS) $(DEFINES) @CFLAGS@ @SHARED_CFLAGS@
- default: $(TARGETS)
-
- normal:
-- @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="" CFLAGS="$(CFLAGS)" CC="$(CC)" OBJDIR=normal_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS)' RANLIB='$(RANLIB)' LDFLAGS=$(LDFLAGS) CPPFLAGS=$(CPPFLAGS)
-+ @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="" CFLAGS="$(CFLAGS)" CC="$(CC)" OBJDIR=normal_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS)' RANLIB='$(RANLIB)' LDFLAGS='$(LDFLAGS)' CPPFLAGS='$(CPPFLAGS)'
-
- reentrant:
-- @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="_r" CFLAGS="$(CFLAGS) $(DEFINES_R)" CC="$(CC)" OBJDIR=reentrant_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS_R)' RANLIB='$(RANLIB)' LDFLAGS=$(LDFLAGS) CPPFLAGS=$(CPPFLAGS)
-+ @$(MAKE) -f $(srcdir)/Makefile.rules TARGETS="$(TARGET_LIBS)" SUFFIX="_r" CFLAGS="$(CFLAGS) $(DEFINES_R)" CC="$(CC)" OBJDIR=reentrant_obj LINK_SHARED='@LINK_SHARED@' SHARED_EXT='@SHARED_EXT@' SHARED_ALT='@SHARED_ALT@' LIBS='$(LIBS)' srcdir='$(srcdir)' LIBDIR='$(LIBDIR)' LN_S='@LN_S@' DEMOS="$(DEMOS)" PROGRAMS='$(PROGRAMS_R)' RANLIB='$(RANLIB)' LDFLAGS='$(LDFLAGS)' CPPFLAGS='$(CPPFLAGS)'
-
- demos: normal
-
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-ldflags.patch b/dev-libs/libtecla/files/libtecla-1.6.1-ldflags.patch
deleted file mode 100644
index 423e8113213d..000000000000
--- a/dev-libs/libtecla/files/libtecla-1.6.1-ldflags.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-# add missing LDFLAGS to build system.
-# the configure script still fails to add LDFLAGS when linking
-# the libtecla shared object but since it calls ld directory
-# LDFLAGS can't be used straight out of the box.
-
---- libtecla/Makefile.rules
-+++ libtecla/Makefile.rules
-@@ -66,7 +66,7 @@
- $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
-
- enhance$(SUFFIX): $(OBJDIR)/enhance.o
-- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
-+ LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
- $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
-
- #-----------------------------------------------------------------------
---- libtecla/configure.in
-+++ libtecla/configure.in
-@@ -468,7 +468,7 @@
- VERSION_OPT=''
- fi
-
-- LINK_SHARED="$LD"' -o $$@ -soname libtecla$$(SUFFIX).so.'${MAJOR_VER}' -shared '$VERSION_OPT' $$(LIB_OBJECTS) $$(LIBS) -lc'
-+ LINK_SHARED="$LD"' $$(LFLAGS) -o $$@ -soname libtecla$$(SUFFIX).so.'${MAJOR_VER}' -shared '$VERSION_OPT' $$(LIB_OBJECTS) $$(LIBS) -lc'
- SHARED_CFLAGS="-fpic"
-
- dnl Reenable the inclusion of symbols which get undefined when POSIX_C_SOURCE
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-parallel_build2.patch b/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build2.patch
deleted file mode 100644
index 3f85f5fdb854..000000000000
--- a/dev-libs/libtecla/files/libtecla-1.6.1-parallel_build2.patch
+++ /dev/null
@@ -1,36 +0,0 @@
- Makefile.rules | 16 ++++++++--------
- 1 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/Makefile.rules b/Makefile.rules
-index 0c2f1d1..a3960b5 100644
---- a/Makefile.rules
-+++ b/Makefile.rules
-@@ -53,20 +53,20 @@ libtecla.map.opt: $(srcdir)/libtecla.map
-
- demos: $(DEMO_PROGS)
-
--demo$(SUFFIX): $(OBJDIR)/demo.o
-- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
-+demo$(SUFFIX): $(OBJDIR)/demo.o libtecla$(SUFFIX)$(SHARED_EXT)
-+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
- $(OBJDIR)/demo.o -L. -ltecla$(SUFFIX) $(LIBS)
-
--demo2$(SUFFIX): $(OBJDIR)/demo2.o
-- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
-+demo2$(SUFFIX): $(OBJDIR)/demo2.o libtecla$(SUFFIX)$(SHARED_EXT)
-+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
- $(OBJDIR)/demo2.o -L. -ltecla$(SUFFIX) $(LIBS)
-
--demo3$(SUFFIX): $(OBJDIR)/demo3.o
-- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(CFLAGS) -o $@ \
-+demo3$(SUFFIX): $(OBJDIR)/demo3.o libtecla$(SUFFIX)$(SHARED_EXT)
-+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(CFLAGS) -o $@ \
- $(OBJDIR)/demo3.o -L. -ltecla$(SUFFIX) $(LIBS)
-
--enhance$(SUFFIX): $(OBJDIR)/enhance.o
-- LD_RUN_PATH="$(LIBDIR):$$LD_RUN_PATH:`pwd`" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
-+enhance$(SUFFIX): $(OBJDIR)/enhance.o libtecla$(SUFFIX)$(SHARED_EXT)
-+ LD_RUN_PATH="$(LIBDIR)" $(CC) $(LDFLAGS) $(CFLAGS) -o $@ \
- $(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
-
- #-----------------------------------------------------------------------
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.1-r2.ebuild b/dev-libs/libtecla/libtecla-1.6.1-r2.ebuild
deleted file mode 100644
index d84b97fb1857..000000000000
--- a/dev-libs/libtecla/libtecla-1.6.1-r2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools eutils flag-o-matic multilib
-
-DESCRIPTION="Tecla command-line editing library"
-HOMEPAGE="http://www.astro.caltech.edu/~mcs/tecla/"
-SRC_URI="http://www.astro.caltech.edu/~mcs/tecla/${P}.tar.gz"
-
-LICENSE="icu"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc x86"
-IUSE="static-libs"
-
-DEPEND="sys-libs/ncurses"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/libtecla
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/${P}-install.patch \
- "${FILESDIR}"/${P}-ldflags.patch \
- "${FILESDIR}"/${P}-no-strip.patch \
- "${FILESDIR}"/${P}-parallel_build2.patch \
- "${FILESDIR}"/${P}-LDFLAGS2.patch \
- "${FILESDIR}"/${P}-prll-install.patch
- eautoreconf
-}
-
-src_compile() {
- emake \
- OPT="" \
- LDFLAGS="${LDFLAGS}" \
- LFLAGS="$(raw-ldflags)"
-}
-
-src_install() {
- default
- use static-libs || \
- rm -rvf "${ED}"/usr/$(get_libdir)/*a || die
-}
diff --git a/dev-libs/libtecla/libtecla-1.6.2.ebuild b/dev-libs/libtecla/libtecla-1.6.2.ebuild
deleted file mode 100644
index 23ac353d4c44..000000000000
--- a/dev-libs/libtecla/libtecla-1.6.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools eutils flag-o-matic multilib
-
-DESCRIPTION="Tecla command-line editing library"
-HOMEPAGE="http://www.astro.caltech.edu/~mcs/tecla/"
-SRC_URI="http://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
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/${PN}-1.6.1-install.patch \
- "${FILESDIR}"/${PN}-1.6.1-ldflags.patch \
- "${FILESDIR}"/${PN}-1.6.1-no-strip.patch \
- "${FILESDIR}"/${PN}-1.6.1-parallel_build2.patch \
- "${FILESDIR}"/${PN}-1.6.1-LDFLAGS2.patch \
- "${FILESDIR}"/${PN}-1.6.1-prll-install.patch
- eautoreconf
-}
-
-src_compile() {
- emake \
- OPT="" \
- LDFLAGS="${LDFLAGS}" \
- LFLAGS="$(raw-ldflags)"
-}
-
-src_install() {
- default
- use static-libs || \
- rm -rv "${ED}"/usr/$(get_libdir)/*a || die
-}
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 954e62a71a87..000000000000
--- a/dev-libs/libtecla/libtecla-1.6.3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# 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="http://www.astro.caltech.edu/~mcs/tecla/"
-SRC_URI="http://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/libtecla/metadata.xml b/dev-libs/libtecla/metadata.xml
index 3b9879ad9f7c..199fcb857d14 100644
--- a/dev-libs/libtecla/metadata.xml
+++ b/dev-libs/libtecla/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/dev-libs/libtermkey/Manifest b/dev-libs/libtermkey/Manifest
index 60931f71232e..b720c446dac0 100644
--- a/dev-libs/libtermkey/Manifest
+++ b/dev-libs/libtermkey/Manifest
@@ -1,3 +1 @@
-DIST libtermkey-0.19.tar.gz 43148 BLAKE2B 652745171dded4a26c9c6557b8e97b390922a0ba9ed3e2f82d1d6255dfd7e73508ccf3581e2cd2b96115d4778a7b2c28477ae2e8795d14eef51d763d0a23733e SHA512 052ea6bcc7e440808e90e2f4912370985f3429866539a01f28676f1deb29381176bfa43de4c54ec1fa2682b399432c7a85c236c9de648a3c0f60087d2908e2d1
-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.19.ebuild b/dev-libs/libtermkey/libtermkey-0.19.ebuild
deleted file mode 100644
index d66e3a7b4049..000000000000
--- a/dev-libs/libtermkey/libtermkey-0.19.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils flag-o-matic multilib
-
-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"
-
-RDEPEND="dev-libs/unibilium:="
-DEPEND="${RDEPEND}
- sys-devel/libtool
- virtual/pkgconfig
- demos? ( dev-libs/glib:2 )"
-
-src_prepare() {
- if ! use demos; then
- sed -e '/^all:/s:$(DEMOS)::' -i Makefile || die
- fi
- eapply_user
-}
-
-src_compile() {
- append-flags -fPIC -fPIE
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" install
- prune_libtool_files
-}
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 4177883c0d2a..000000000000
--- a/dev-libs/libtermkey/libtermkey-0.22.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 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 ~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/metadata.xml b/dev-libs/libtermkey/metadata.xml
index 36b5bae3c20c..e51bb9bdff2f 100644
--- a/dev-libs/libtermkey/metadata.xml
+++ b/dev-libs/libtermkey/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>vim@gentoo.org</email>
diff --git a/dev-libs/libthreadar/Manifest b/dev-libs/libthreadar/Manifest
new file mode 100644
index 000000000000..55f6d02f827d
--- /dev/null
+++ b/dev-libs/libthreadar/Manifest
@@ -0,0 +1 @@
+DIST libthreadar-1.4.0.tar.gz 445672 BLAKE2B ce4165bfa507f27ea071dab067e1cda61e0812fd106ab80f0ef04a53ac68ce866a3d7c5ce6a26d6e9fc2c2085de7b8636492711a15a7103cc16b773d0a87aebe SHA512 3665817cf6327d4d24792d8cc2bd0a458bda1651b471e3440c1f63c22f397cfb4c8d81482f937e13f67f5ff1414662b1f69d9c311362a0a7a9249e8bc0236751
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..f25dd5a27e7e
--- /dev/null
+++ b/dev-libs/libthreadar/libthreadar-1.4.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2024 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="https://downloads.sourceforge.net/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
new file mode 100644
index 000000000000..95f7f3847988
--- /dev/null
+++ b/dev-libs/libthreadar/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>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</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.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">libthreadar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libtimezonemap/Manifest b/dev-libs/libtimezonemap/Manifest
new file mode 100644
index 000000000000..c721d4362ef6
--- /dev/null
+++ b/dev-libs/libtimezonemap/Manifest
@@ -0,0 +1 @@
+DIST libtimezonemap_0.4.6.tar.gz 2872895 BLAKE2B ec9da9efe4f58cd7c3cd6cb502ffc23d1331f8b8352021d30c4157d4a6fec983702c049725af672136f332e450191e03bb0c36c752cbd496c37a7e0bf64c4514 SHA512 3cbd4f577684254a91f1e745ecb49e58fe3c75e28c172a6115fbe68e7868c33ff4c68b80ef1d7f5c759f67d288e29a2a057e00e1788a57c4e55e0cbfef351761
diff --git a/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild b/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild
new file mode 100644
index 000000000000..a251b1b96df0
--- /dev/null
+++ b/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools xdg
+
+DESCRIPTION="GTK+3 timezone map widget"
+HOMEPAGE="https://launchpad.net/timezonemap"
+SRC_URI="mirror://debian/pool/main/libt/${PN}/${PN}_${PV}.orig.tar.gz -> ${PN}_${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
+
+DEPEND="dev-libs/glib:2
+ dev-libs/gobject-introspection:0=
+ dev-libs/json-glib
+ net-libs/libsoup:2.4
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libtimezonemap/metadata.xml b/dev-libs/libtimezonemap/metadata.xml
new file mode 100644
index 000000000000..86703e5d7283
--- /dev/null
+++ b/dev-libs/libtimezonemap/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>sparky@bluefang-logic.com</email>
+ <name>Matthew Turnbull</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">timezonemap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libtomcrypt/Manifest b/dev-libs/libtomcrypt/Manifest
new file mode 100644
index 000000000000..71ae48ee0d7c
--- /dev/null
+++ b/dev-libs/libtomcrypt/Manifest
@@ -0,0 +1 @@
+DIST libtomcrypt-1.18.2.tar.xz 2638064 BLAKE2B fad67e9e2a2002425488db9987a853bda631d6638c2cb1052a1d0d1f393945e38037cc75c54cd3a4bf87bb2e13b1e868e81da054a84bbdb393519ddef5e27300 SHA512 f6117a12a42b07f8de4a8aedbccf6ff4ee94b4b81cb7263af99627c32eae646ca8ead7d3063737918db4aa118673001fcf2cfa8e4ca8b528fb00045fda7cc893
diff --git a/dev-libs/libtomcrypt/files/libtomcrypt-1.18.2-slibtool.patch b/dev-libs/libtomcrypt/files/libtomcrypt-1.18.2-slibtool.patch
new file mode 100644
index 000000000000..b783ed1d2440
--- /dev/null
+++ b/dev-libs/libtomcrypt/files/libtomcrypt-1.18.2-slibtool.patch
@@ -0,0 +1,117 @@
+https://github.com/libtom/libtomcrypt/pull/433
+(and then https://github.com/libtom/libtomcrypt/commit/4b3ef7890156a55889b6657e4b295a77907c1f0f)
+
+https://bugs.gentoo.org/777084
+
+From ccc18b9eda52c31cc70a3e46eb33b87b3c076d65 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@fredslev.dk>
+Date: Mon, 13 Aug 2018 19:20:37 -0700
+Subject: [PATCH] makefile.shared: Support rlibtool.
+
+When building libtomcrypt with rlibtool instead of libtool it will fail
+when rlibtool fails to parse the generated libtool which does not exist.
+
+Since rlibtool should be the default choice for most slibtool users in
+the future this patch will use slibtool-shared instead which will
+correctly build the shared library.
+
+This could also help build the shared library on additional targets and
+hosts where the stock libtool does not have shared libraries enabled.
+---
+ makefile.shared | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/makefile.shared b/makefile.shared
+index 98ec2b501..c72f2ac8d 100644
+--- a/makefile.shared
++++ b/makefile.shared
+@@ -16,19 +16,24 @@
+
+ PLATFORM := $(shell uname | sed -e 's/_.*//')
+
++ifeq ($(LIBTOOL),rlibtool)
++ TGTLIBTOOL:=slibtool-shared
++endif
++
+ ifndef LIBTOOL
+ ifeq ($(PLATFORM), Darwin)
+ LIBTOOL:=glibtool
+ else
+ LIBTOOL:=libtool
+ endif
++ TGTLIBTOOL=$(LIBTOOL)
+ endif
+ ifeq ($(PLATFORM), CYGWIN)
+ NO_UNDEFINED:=-no-undefined
+ endif
+-LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC)
+-INSTALL_CMD = $(LIBTOOL) --mode=install install
+-UNINSTALL_CMD = $(LIBTOOL) --mode=uninstall rm
++LTCOMPILE = $(TGTLIBTOOL) --mode=compile --tag=CC $(CC)
++INSTALL_CMD = $(TGTLIBTOOL) --mode=install install
++UNINSTALL_CMD = $(TGTLIBTOOL) --mode=uninstall rm
+
+ #Output filenames for various targets.
+ ifndef LIBNAME
+@@ -49,15 +54,15 @@ src/ciphers/aes/aes_enc.o: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
+ LOBJECTS = $(OBJECTS:.o=.lo)
+
+ $(LIBNAME): $(OBJECTS)
+- $(LIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) $(LOBJECTS) $(EXTRALIBS) -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT) $(NO_UNDEFINED)
++ $(TGTLIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) $(LOBJECTS) $(EXTRALIBS) -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT) $(NO_UNDEFINED)
+
+ test: $(call print-help,test,Builds the library and the 'test' application to run all self-tests) $(LIBNAME) $(TOBJECTS)
+- $(LIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) -o $(TEST) $(TOBJECTS) $(LIBNAME) $(EXTRALIBS)
++ $(TGTLIBTOOL) --mode=link --tag=CC $(CC) $(LTC_LDFLAGS) -o $(TEST) $(TOBJECTS) $(LIBNAME) $(EXTRALIBS)
+
+ # build the demos from a template
+ define DEMO_template
+ $(1): $(call print-help,$(1),Builds the library and the '$(1)' demo) demos/$(1).o $$(LIBNAME)
+- $$(LIBTOOL) --mode=link --tag=CC $$(CC) $$(LTC_LDFLAGS) $$^ $$(EXTRALIBS) -o $(1)
++ $$(TGTLIBTOOL) --mode=link --tag=CC $$(CC) $$(LTC_LDFLAGS) $$^ $$(EXTRALIBS) -o $(1)
+ endef
+
+ $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo))))
+From 4b3ef7890156a55889b6657e4b295a77907c1f0f Mon Sep 17 00:00:00 2001
+From: Steffen Jaeckel <s@jaeckel.eu>
+Date: Mon, 3 Jun 2019 09:32:06 +0200
+Subject: [PATCH] TGTLIBTOOL wasn't always defined
+
+---
+ makefile.shared | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/makefile.shared b/makefile.shared
+index c72f2ac8d..e63d77032 100644
+--- a/makefile.shared
++++ b/makefile.shared
+@@ -18,19 +18,22 @@ PLATFORM := $(shell uname | sed -e 's/_.*//')
+
+ ifeq ($(LIBTOOL),rlibtool)
+ TGTLIBTOOL:=slibtool-shared
+-endif
+-
+-ifndef LIBTOOL
+- ifeq ($(PLATFORM), Darwin)
+- LIBTOOL:=glibtool
++else
++ ifndef LIBTOOL
++ ifeq ($(PLATFORM), Darwin)
++ TGTLIBTOOL:=glibtool
++ else
++ TGTLIBTOOL:=libtool
++ endif
+ else
+- LIBTOOL:=libtool
++ TGTLIBTOOL=$(LIBTOOL)
+ endif
+- TGTLIBTOOL=$(LIBTOOL)
+ endif
++
+ ifeq ($(PLATFORM), CYGWIN)
+ NO_UNDEFINED:=-no-undefined
+ endif
++
+ LTCOMPILE = $(TGTLIBTOOL) --mode=compile --tag=CC $(CC)
+ INSTALL_CMD = $(TGTLIBTOOL) --mode=install install
+ UNINSTALL_CMD = $(TGTLIBTOOL) --mode=uninstall rm
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/libtomcrypt/metadata.xml b/dev-libs/libtomcrypt/metadata.xml
new file mode 100644
index 000000000000..828e919db73c
--- /dev/null
+++ b/dev-libs/libtomcrypt/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">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="libtommath">Uses <pkg>dev-libs/libtommath</pkg> for mathematical operations</flag>
+ <flag name="tomsfastmath">Uses <pkg>dev-libs/tomsfastmath</pkg> for mathematical operations</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">libtom/libtomcrypt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libtomfloat/libtomfloat-0.02-r1.ebuild b/dev-libs/libtomfloat/libtomfloat-0.02-r1.ebuild
new file mode 100644
index 000000000000..48b02dfaa7a6
--- /dev/null
+++ b/dev-libs/libtomfloat/libtomfloat-0.02-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="library for floating point number manipulation"
+HOMEPAGE="https://www.libtom.net/"
+SRC_URI="https://github.com/libtom/libtomfloat/releases/download/${PV}/ltf-${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 's:\<ranlib\>:$(RANLIB):' \
+ -e "/^LIBPATH/s:/lib:/$(get_libdir):" \
+ makefile || die "Fixing makefile failed"
+ tc-export AR CC RANLIB
+}
+
+src_install() {
+ default
+ dodoc changes.txt float.pdf WARNING
+ docinto demos
+ dodoc demos/ex1.c
+}
diff --git a/dev-libs/libtomfloat/libtomfloat-0.02.ebuild b/dev-libs/libtomfloat/libtomfloat-0.02.ebuild
deleted file mode 100644
index a72fc3f8942f..000000000000
--- a/dev-libs/libtomfloat/libtomfloat-0.02.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit toolchain-funcs multilib
-
-DESCRIPTION="library for floating point number manipulation"
-HOMEPAGE="http://libtom.org/"
-SRC_URI="http://libtom.org/files/ltf-${PV}.tar.bz2"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-
-DEPEND="dev-libs/libtommath"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i \
- -e 's:\<ar\>:$(AR):' \
- -e 's:\<ranlib\>:$(RANLIB):' \
- -e "/^LIBPATH/s:/lib:/$(get_libdir):" \
- makefile || die
- tc-export AR CC RANLIB
-}
-
-src_install() {
- default
- dodoc changes.txt *.pdf WARNING
- docinto demos ; dodoc demos/*
-}
diff --git a/dev-libs/libtomfloat/metadata.xml b/dev-libs/libtomfloat/metadata.xml
index a7029b1a1086..59de49f6c1ef 100644
--- a/dev-libs/libtomfloat/metadata.xml
+++ b/dev-libs/libtomfloat/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>patrick@gentoo.org</email>
diff --git a/dev-libs/libtommath/Manifest b/dev-libs/libtommath/Manifest
index 252e843e5fdb..433619a4f62c 100644
--- a/dev-libs/libtommath/Manifest
+++ b/dev-libs/libtommath/Manifest
@@ -1,3 +1 @@
-DIST libtommath-0.42.0.tar.gz 1732144 BLAKE2B 624697bfa0bab0244783c3d2c92df2a1c0418611dc7f25989d038a5689beae325a426d8de38967ec856bd1e6f2d9413615333eebbf9316add838deda5b122de3 SHA512 d26e7737e5750530a7b96432502f0d458931e67af528872c46ad8dfc921b8f6ef4b3e05cb07d22bd13a8b24db65812928ae4c381250a4df95f6ca55efc3dae23
-DIST ltm-1.0.1.tar.xz 2210120 BLAKE2B e616f0359a1fffe8e1280dc24df1a83eb568d55f9f8acd0e4016fdd63b8ef10d939a8acbd4d49d70a69adf0e492ea5127200798f02af6af1c30e2e1f57870e3a SHA512 f98f7b0f91268e898803478fd52f578f476d378d096a25e48fa2e291159dc89bd1a6dc7d8c5c2254df840c731e5d009ec9728b72190318b6d1ba2916f5c66fb6
-DIST ltm-1.1.0.tar.xz 2125456 BLAKE2B 3aca7993704341f6a81e7fbef35389ac8ecd957dd78b5d576f0305d37493c3ddc32462cd787de2fb67d8e165417b18fcfde70accf991cd9433ff87591d8265ac SHA512 6d1b8b09d5b975a2b84ef6ab9cb1cc63db2f0503a906e499cb9d7eaba3f487be6e7f69bf692b188f888418c61ea563aa7e2411638d8979eac426b3d603ad1b91
+DIST ltm-1.2.1.tar.xz 635728 BLAKE2B b1464843af4a33f2ba0c824fe2dd080227c6b761b3f8059bbc5229f36d601aecc8bcb20c386718c71a1bc01f69e532647689b43252bd15143f809f7072de449e SHA512 50c9459357aa7f5076af93de6701c617da0dbbf2230a2f4468062704a6cd6e9d3c2fbb27016f68a7e1d6b35d6ddb2088630b24ea6acc20ed8c19594913d36e95
diff --git a/dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch b/dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch
deleted file mode 100644
index b3f1ed6252c8..000000000000
--- a/dev-libs/libtommath/files/libtommath-0.42.0-makefile.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- makefile.shared
-+++ makefile.shared
-@@ -3,7 +3,8 @@
- #Tom St Denis
- VERSION=0:41
-
--CC = libtool --mode=compile --tag=CC gcc
-+LT ?= libtool
-+LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC)
-
- CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare
-
-@@ -82,21 +83,24 @@
-
- objs: $(OBJECTS)
-
-+%.lo: %.c
-+ $(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
-+
--$(LIBNAME): $(OBJECTS)
-- libtool --mode=link gcc *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
-+$(LIBNAME): $(OBJECTS:.o=.lo)
-+ $(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION)
-
- install: $(LIBNAME)
-- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
-- libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
-- install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
-- install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH)
-+ install -d $(DESTDIR)$(LIBPATH)
-+ $(LT) --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
-+ install -d $(DESTDIR)$(INCPATH)
-+ install -m 644 $(HEADERS) $(DESTDIR)$(INCPATH)
-
- test: $(LIBNAME) demo/demo.o
-- gcc $(CFLAGS) -c demo/demo.c -o demo/demo.o
-- libtool --mode=link gcc -o test demo/demo.o $(LIBNAME_S)
-+ $(CC) $(CFLAGS) $(CPPFLAGS) -c demo/demo.c -o demo/demo.o
-+ $(LT) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o test demo/demo.o $(LIBNAME_S)
-
- mtest: test
-- cd mtest ; gcc $(CFLAGS) mtest.c -o mtest
-+ cd mtest ; $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) mtest.c -o mtest
-
- timing: $(LIBNAME)
-- gcc $(CFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
-+ $(LT) --mode=link $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest
diff --git a/dev-libs/libtommath/files/libtommath-1.2.0-sparc.patch b/dev-libs/libtommath/files/libtommath-1.2.0-sparc.patch
new file mode 100644
index 000000000000..3ed8aedf398c
--- /dev/null
+++ b/dev-libs/libtommath/files/libtommath-1.2.0-sparc.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/781938
+https://github.com/libtom/libtommath/issues/509
+https://github.com/libtom/libtommath/pull/510 (didn't apply)
+https://github.com/tcltk/tcl/commit/dadb2c18d0b1b2bd26628aded323e9df4566d463
+
+From: "jan.nijtmans" <nijtmans@users.sourceforge.net>
+Date: Wed, 14 Jul 2021 15:54:56 +0000
+Subject: [PATCH] Fix build on Linux/Sparc with 32 bit userspace. See:
+ [https://github.com/libtom/libtommath/issues/509] for the upstream libtommath
+ fix
+
+--- a/tommath.h
++++ b/tommath.h
+@@ -45,7 +45,7 @@ extern "C" {
+ defined(__ia64) || defined(__ia64__) || defined(__itanium__) || defined(_M_IA64) || \
+ defined(__LP64__) || defined(_LP64) || defined(__64BIT__)
+ # if !(defined(MP_64BIT) || defined(MP_32BIT) || defined(MP_16BIT) || defined(MP_8BIT))
+-# if defined(__GNUC__) && !defined(__hppa)
++# if defined(__GNUC__) && defined(__SIZEOF_INT128__) && !defined(__hppa)
+ /* we support 128bit integers only via: __attribute__((mode(TI))) */
+ # define MP_64BIT
+ # else
diff --git a/dev-libs/libtommath/libtommath-0.42.0-r1.ebuild b/dev-libs/libtommath/libtommath-0.42.0-r1.ebuild
deleted file mode 100644
index 32bd1cb9e072..000000000000
--- a/dev-libs/libtommath/libtommath-0.42.0-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit autotools eutils multilib toolchain-funcs
-
-DESCRIPTION="Optimized and portable routines for integer theoretic applications"
-HOMEPAGE="https://github.com/libtom/libtommath"
-SRC_URI="https://github.com/libtom/libtommath/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples static-libs"
-
-DEPEND="sys-devel/libtool"
-RDEPEND=""
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-makefile.patch
-
- # 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
- eautoreconf
- export LT="${S}"/libtool
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-_emake() {
- emake CC="$(tc-getCC)" -f makefile.shared \
- IGNORE_SPEED=1 \
- LIBPATH="${EPREFIX}/usr/$(get_libdir)" \
- INCPATH="${EPREFIX}/usr/include" \
- "$@"
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${ED}" install
- # We only link against -lc, so drop the .la file.
- find "${ED}" -name '*.la' -delete
-
- dodoc changes.txt
-
- use doc && dodoc *.pdf
-
- if use examples ; then
- docinto demo
- dodoc demo/*.c
- fi
-}
diff --git a/dev-libs/libtommath/libtommath-1.0.1.ebuild b/dev-libs/libtommath/libtommath-1.0.1.ebuild
deleted file mode 100644
index d369a6bdc05d..000000000000
--- a/dev-libs/libtommath/libtommath-1.0.1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils multilib toolchain-funcs
-
-DESCRIPTION="Optimized and portable routines for integer theoretic applications"
-HOMEPAGE="http://www.libtom.net/"
-SRC_URI="https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples static-libs"
-
-DEPEND="sys-devel/libtool"
-
-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
- eautoreconf
- export LT="${S}"/libtool
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-_emake() {
- emake \
- CC="$(tc-getCC)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- -f makefile.shared \
- IGNORE_SPEED=1 \
- LIBPATH="${EPREFIX}/usr/$(get_libdir)" \
- INCPATH="${EPREFIX}/usr/include" \
- "$@"
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test_standalone
- ./test || die
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
- # We only link against -lc, so drop the .la file.
- find "${ED}" -name '*.la' -delete
-
- dodoc changes.txt
-
- use doc && dodoc *.pdf
-
- if use examples ; then
- docinto demo
- dodoc demo/*.c
- fi
-}
diff --git a/dev-libs/libtommath/libtommath-1.1.0.ebuild b/dev-libs/libtommath/libtommath-1.1.0.ebuild
deleted file mode 100644
index d240a0bcc5ff..000000000000
--- a/dev-libs/libtommath/libtommath-1.1.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2019 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="http://www.libtom.net/"
-SRC_URI="https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples static-libs"
-
-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
- eautoreconf
- export LIBTOOL="${S}"/libtool
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-_emake() {
- emake \
- CC="$(tc-getCC)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- -f makefile.shared \
- IGNORE_SPEED=1 \
- LIBPATH="${EPREFIX}/usr/$(get_libdir)" \
- INCPATH="${EPREFIX}/usr/include" \
- "$@"
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test_standalone
- ./test || die
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
- # 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 *.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/libtommath/metadata.xml b/dev-libs/libtommath/metadata.xml
index ff7228943422..e94af9af76b1 100644
--- a/dev-libs/libtommath/metadata.xml
+++ b/dev-libs/libtommath/metadata.xml
@@ -1,64 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
</maintainer>
- <longdescription>
- LibTomMath is a free open source portable number theoretic multiple-precision
- integer library written entirely in C. (phew!). The library is designed to
- provide a simple to work with API that provides fairly efficient routines that
- build out of the box without configuration.
+ <longdescription>
+ LibTomMath is a free open source portable number theoretic multiple-precision
+ integer library written entirely in C. (phew!). The library is designed to
+ provide a simple to work with API that provides fairly efficient routines that
+ build out of the box without configuration.
- The library builds out of the box with GCC 2.95 [and up] as well as Visual C++
- v6.00 [with SP5] without configuration. The source code is arranged to make it
- easy to dive into a particular area very quickly. The code is also littered with
- comments [This is one of the on going goals] that help explain the algorithms and
- their implementations. Ideally the code will serve as an educational tool in the
- future for CS students studying number theory.
+ The library builds out of the box with GCC 2.95 [and up] as well as Visual C++
+ v6.00 [with SP5] without configuration. The source code is arranged to make it
+ easy to dive into a particular area very quickly. The code is also littered with
+ comments [This is one of the on going goals] that help explain the algorithms and
+ their implementations. Ideally the code will serve as an educational tool in the
+ future for CS students studying number theory.
- The library provides a vast array of highly optimized routines from various
- branches of number theory.
+ The library provides a vast array of highly optimized routines from various
+ branches of number theory.
- * Simple Algebraic
- o Addition
- o Subtraction
- o Multiplication
- o Squaring
- o Division
- * Digit Manipulation
- o Shift left/right whole digits (mult by 2b by moving digits)
- o Fast multiplication/division by 2 and 2k for k&gt;1
- o Binary AND, OR and XOR gates
- * Modular Reductions
- o Barrett Reduction (fast for any p)
- o Montgomery Reduction (faster for any odd p)
- o DR Reduction (faster for any restricted p see manual)
- o 2k Reduction (fast reduction modulo 2p - k)
- o The exptmod logic can use any of the four reduction algorithms when
- appropriate with a single function call.
- * Number Theoretic
- o Greatest Common Divisor
- o Least Common Multiple
- o Jacobi Symbol Computation (falls back to Legendre for prime moduli)
- o Multiplicative Inverse
- o Extended Euclidean Algorithm
- o Modular Exponentiation
- o Fermat and Miller-Rabin Primality Tests, utility function such as
- is_prime and next_prime
- * Miscellaneous
- o Root finding over Z
- o Pseudo-random integers
- o Signed and Unsigned comparisons
- * Optimizations
- o Fast Comba based Multiplier, Squaring and Montgomery routines.
- o Montgomery, Diminished Radix and Barrett based modular
- exponentiation.
- o Karatsuba and Toom-Cook multiplication algorithms.
- o Many pointer aliasing optimiztions throughout the entire library.
- </longdescription>
- <upstream>
- <remote-id type="github">libtom/libtommath</remote-id>
- </upstream>
+ * Simple Algebraic
+ o Addition
+ o Subtraction
+ o Multiplication
+ o Squaring
+ o Division
+ * Digit Manipulation
+ o Shift left/right whole digits (mult by 2b by moving digits)
+ o Fast multiplication/division by 2 and 2k for k&gt;1
+ o Binary AND, OR and XOR gates
+ * Modular Reductions
+ o Barrett Reduction (fast for any p)
+ o Montgomery Reduction (faster for any odd p)
+ o DR Reduction (faster for any restricted p see manual)
+ o 2k Reduction (fast reduction modulo 2p - k)
+ o The exptmod logic can use any of the four reduction algorithms when
+ appropriate with a single function call.
+ * Number Theoretic
+ o Greatest Common Divisor
+ o Least Common Multiple
+ o Jacobi Symbol Computation (falls back to Legendre for prime moduli)
+ o Multiplicative Inverse
+ o Extended Euclidean Algorithm
+ o Modular Exponentiation
+ o Fermat and Miller-Rabin Primality Tests, utility function such as
+ is_prime and next_prime
+ * Miscellaneous
+ o Root finding over Z
+ o Pseudo-random integers
+ o Signed and Unsigned comparisons
+ * Optimizations
+ o Fast Comba based Multiplier, Squaring and Montgomery routines.
+ o Montgomery, Diminished Radix and Barrett based modular
+ exponentiation.
+ o Karatsuba and Toom-Cook multiplication algorithms.
+ o Many pointer aliasing optimiztions throughout the entire library.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">libtom/libtommath</remote-id>
+ </upstream>
</pkgmetadata>
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-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/libtompoly/libtompoly-0.04.ebuild b/dev-libs/libtompoly/libtompoly-0.04.ebuild
deleted file mode 100644
index 038467c5d147..000000000000
--- a/dev-libs/libtompoly/libtompoly-0.04.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit toolchain-funcs multilib
-
-DESCRIPTION="portable ISO C library for polynomial basis arithmetic"
-HOMEPAGE="http://www.libtom.org/"
-SRC_URI="https://github.com/libtom/libtompoly/releases/download/${PV}/ltp-${PV}.tar.bz2"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE=""
-
-DEPEND="dev-libs/libtommath"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i \
- -e 's:\<ar\>:$(AR):' \
- -e "/^LIBPATH/s:/lib:/$(get_libdir):" \
- makefile || die
- tc-export AR CC
-}
-
-src_install() {
- default
- dodoc changes.txt *.pdf
- docinto demo ; dodoc demo/*
-}
diff --git a/dev-libs/libtompoly/metadata.xml b/dev-libs/libtompoly/metadata.xml
index a4b3cf633bd1..fa168c071423 100644
--- a/dev-libs/libtompoly/metadata.xml
+++ b/dev-libs/libtompoly/metadata.xml
@@ -1,10 +1,7 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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>
+ <!-- maintainer-needed -->
<longdescription>
LibTomPoly has the following features.
diff --git a/dev-libs/libtpms/Manifest b/dev-libs/libtpms/Manifest
new file mode 100644
index 000000000000..b2530480bc0a
--- /dev/null
+++ b/dev-libs/libtpms/Manifest
@@ -0,0 +1 @@
+DIST libtpms-0.9.6.tar.gz 1264338 BLAKE2B 7b127ef370a48214814bb9ad0e8461ed0af21f32ab84f243945980c5e36ba5e374b4de7a83bf9c67c29264609063d48eae2dae83832daed70170bb1ed39eafea SHA512 35f26e4849eb98cd73461aff439c19f77bbbcde9b7661402e3d419354c4dcddd057349c4f7178573f1ceea2e95326498eb9afea3bd48064bbff534fc7f6939c3
diff --git a/dev-libs/libtpms/files/libtpms-0.9.0-Remove-WError.patch b/dev-libs/libtpms/files/libtpms-0.9.0-Remove-WError.patch
new file mode 100644
index 000000000000..14fe4c5a8788
--- /dev/null
+++ b/dev-libs/libtpms/files/libtpms-0.9.0-Remove-WError.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 5f995a8..957c461 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -321,7 +321,7 @@ if test "x$enable_hardening" != "xno"; then
+ AC_SUBST([HARDENING_LDFLAGS])
+ fi
+
+-AM_CFLAGS="$CFLAGS $COVERAGE_CFLAGS -Wall -Werror -Wreturn-type -Wsign-compare -Wno-self-assign -Wmissing-prototypes"
++AM_CFLAGS="$CFLAGS $COVERAGE_CFLAGS -Wall -Wreturn-type -Wsign-compare -Wno-self-assign -Wmissing-prototypes"
+ AM_CFLAGS="$AM_CFLAGS"
+ AM_LDFLAGS="$LDFLAGS $COVERAGE_LDFLAGS"
+
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.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
new file mode 100644
index 000000000000..655ec184708d
--- /dev/null
+++ b/dev-libs/libtpms/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>salah.coronya@gmail.com</email>
+ <name>Christopher Byrne</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <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/libtrain/Manifest b/dev-libs/libtrain/Manifest
deleted file mode 100644
index e6b82bf45c95..000000000000
--- a/dev-libs/libtrain/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libtrain-0.9b.tar.gz 167075 BLAKE2B e21c8fb7e2d3ee268ab3414da05026944cfd1ebcddd569be22acfef9f12bd4d75c1375c6e04284070b5481ab0947bfd1b89819bbbf629d697f05afbb8172dea5 SHA512 72190d10a2d755ecdd791a2c90ab4de794fa9fe80b442824bc1bdfe04581db3fe6a6b4184928b7cec2c7221a999ff2a16ecf435554115d570ea714a72d7e9294
diff --git a/dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch b/dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch
deleted file mode 100644
index 7cc2339cf8ef..000000000000
--- a/dev-libs/libtrain/files/libtrain-0.9b-impl-dec.patch
+++ /dev/null
@@ -1,29 +0,0 @@
- libtrain/lcommon.c | 1 +
- libtrain/roma.c | 2 ++
- 2 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/libtrain/lcommon.c b/libtrain/lcommon.c
-index 8519c86..01a775e 100644
---- a/libtrain/lcommon.c
-+++ b/libtrain/lcommon.c
-@@ -2,6 +2,7 @@
- /* this file is modified by FURUKAWA Yo (you@ss.iij4u.or.jp) */
-
- #include "lfunc.h"
-+#include <string.h>
-
- BYTE Tmpbuf[ 256 ] ;
- char FileBuf[ 1024 ] ;
-diff --git a/libtrain/roma.c b/libtrain/roma.c
-index e61a428..41b969c 100644
---- a/libtrain/roma.c
-+++ b/libtrain/roma.c
-@@ -13,6 +13,8 @@
- #include <string.h>
- #endif /* MAIN */
-
-+#include <string.h>
-+
- #define Strlen(s) strlen((s))
- #define Strcpy(d,s) strcpy((d),(s))
- #define iskanji(x) (((x)>=0x81 && (x)<=0x9F)||((x)>=0xE0 && (x)<=0xFC))
diff --git a/dev-libs/libtrain/libtrain-0.9b.ebuild b/dev-libs/libtrain/libtrain-0.9b.ebuild
deleted file mode 100644
index c41c9c883d56..000000000000
--- a/dev-libs/libtrain/libtrain-0.9b.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-AUTOTOOLS_AUTORECONF=yes
-
-inherit autotools-utils
-
-DESCRIPTION="Library for calculating fastest train routes"
-SRC_URI="http://www.on.rim.or.jp/~katamuki/software/train/${P}.tar.gz"
-HOMEPAGE="http://www.on.rim.or.jp/~katamuki/software/train/"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~ppc sparc x86"
-IUSE="debug static-libs "
-
-PATCHES=( "${FILESDIR}"/${P}-impl-dec.patch )
-
-src_configure() {
- local myeconfargs=( $(use_enable debug) )
- autotools-utils_src_configure
-}
diff --git a/dev-libs/libtrain/metadata.xml b/dev-libs/libtrain/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libtrain/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/libtreadstone/Manifest b/dev-libs/libtreadstone/Manifest
deleted file mode 100644
index cb8e419272f0..000000000000
--- a/dev-libs/libtreadstone/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libtreadstone-0.1.0.tar.gz 361686 BLAKE2B 3900b43a91c0dd3225ba04ba35e9178bdfcab635a3224f109600c055b5069af08da27e57a29f24eeea4bdd0e61a3c88f68ac58e2963639a227a87cdc810287fb SHA512 72aec4b03d3824bb88c6d09cc8f5a32058ea3e1da8878af6987e656464c929c136003d37d6fb87a76980642f8af2d9cfc902946d5b523cf642368fc080c70a97
-DIST libtreadstone-0.2.0.tar.gz 364127 BLAKE2B 803ae1b61be62b067219198de526bb5e23a2e25f91ca928a7e92a83222f3f921835310f2a101c29309889129d15c872e679e4a5779747db5cdf87473f781406b SHA512 dfa8a592b4dbe8106716160e3108ba62a24e15d9ec827a4086f95db7dc8216c4d571c065f0e6773776693a29cca3aee29991b95f9aafae20d175403374a96014
diff --git a/dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild b/dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild
deleted file mode 100644
index 2860c46c030a..000000000000
--- a/dev-libs/libtreadstone/libtreadstone-0.1.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-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.6.0
- >=dev-libs/libe-0.9.0"
-RDEPEND="${DEPEND}"
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 6c6343ce6db3..000000000000
--- a/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-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}"
diff --git a/dev-libs/libtreadstone/metadata.xml b/dev-libs/libtreadstone/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/libtreadstone/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 0b8bf8f73327..a29ed58ccf33 100644
--- a/dev-libs/libtsm/Manifest
+++ b/dev-libs/libtsm/Manifest
@@ -1 +1 @@
-DIST libtsm-3.tar.xz 293264 BLAKE2B 51044f5e7be2269e1b3f40b04aa486f30a3a496d57d3aa64f25b148edb04d8e039dafbe0df32d0557f4c3a21da52bb53be146fe57d84d4e8201289c3bd347d95 SHA512 119834fd6a84489cc7904bf01905c29004901ddf73d6dc4a1f47f6b402ad76f65cb4226eaa718a73dc06694b1524647eff6046894fd9526a8588eed97f6f68b6
+DIST libtsm-4.0.2_p20231223.tar.gz 157342 BLAKE2B 082637022397b210ef95e1a0f827d4d340f60bf7a6f962d4c86087c0c604dea5fe2bd3a9e879008353726a5d6b4588da93b5c68b37501fa47c9c3cccf10de431 SHA512 f428969b8e108159671c6bb10898dcf07e829b7f2118e52331ca48d5f0efc212c14e42f5ac909adda5c5473980341828d085043687636c378f598479d7cb37ef
diff --git a/dev-libs/libtsm/files/libtsm-clang16-static_assert-fix.patch b/dev-libs/libtsm/files/libtsm-clang16-static_assert-fix.patch
new file mode 100644
index 000000000000..702ae5faaa4d
--- /dev/null
+++ b/dev-libs/libtsm/files/libtsm-clang16-static_assert-fix.patch
@@ -0,0 +1,10 @@
+Bug: https://bugs.gentoo.org/895052
+--- a/cmake/CompileOptions.cmake
++++ b/cmake/CompileOptions.cmake
+@@ -1,5 +1,5 @@
+ # Set compiler flags
+-set(CMAKE_C_STANDARD 99)
++set(CMAKE_C_STANDARD 11)
+ set(CMAKE_C_STANDARD_REQUIRED ON)
+
+ # analogous to AC_USE_SYSTEM_EXTENSIONS in configure.ac
diff --git a/dev-libs/libtsm/files/libtsm-cmake.patch b/dev-libs/libtsm/files/libtsm-cmake.patch
new file mode 100644
index 000000000000..eae34cf1aca8
--- /dev/null
+++ b/dev-libs/libtsm/files/libtsm-cmake.patch
@@ -0,0 +1,15 @@
+--- a/CMakeLists.txt 2018-10-09 19:40:23.000000000 +0200
++++ b/CMakeLists.txt 2021-03-06 17:37:02.596380373 +0100
+@@ -24,12 +24,6 @@
+ # For feature_summary
+ include(FeatureSummary)
+
+-# Extra build types
+-if(NOT CMAKE_BUILD_TYPE)
+- set(CMAKE_BUILD_TYPE "Debug")
+-endif()
+-include(cmake/BuildTypes.cmake)
+-
+ #---------------------------------------------------------------------------------------
+ # Options
+ #---------------------------------------------------------------------------------------
diff --git a/dev-libs/libtsm/libtsm-3.ebuild b/dev-libs/libtsm/libtsm-3.ebuild
deleted file mode 100644
index fe129ccf2169..000000000000
--- a/dev-libs/libtsm/libtsm-3.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Terminal Emulator State Machine"
-HOMEPAGE="https://cgit.freedesktop.org/~dvdhrm/libtsm"
-SRC_URI="https://www.freedesktop.org/software/kmscon/releases/${P}.tar.xz"
-
-LICENSE="LGPL-2.1 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
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..c61a7f827c19
--- /dev/null
+++ b/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+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"
+ "${FILESDIR}/${PN}-clang16-static_assert-fix.patch"
+)
diff --git a/dev-libs/libtsm/metadata.xml b/dev-libs/libtsm/metadata.xml
index 435234188908..b1ad7b5b71bf 100644
--- a/dev-libs/libtsm/metadata.xml
+++ b/dev-libs/libtsm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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 3763b397429e..000000000000
--- a/dev-libs/libtubo/libtubo-5.0.15.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils
-
-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"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- DOCS=( AUTHORS ChangeLog NEWS README TODO )
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/libtubo/metadata.xml b/dev-libs/libtubo/metadata.xml
deleted file mode 100644
index c6e70021a646..000000000000
--- a/dev-libs/libtubo/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 46484beb8ec8..d74b4cc231c5 100644
--- a/dev-libs/libucl/Manifest
+++ b/dev-libs/libucl/Manifest
@@ -1 +1,3 @@
-DIST libucl-0.7.3.tar.gz 1986726 BLAKE2B 8bd772d6bcce5ee6dd0c4611dac596f6168f263aedce7b9f4b1a30527fd9f991767d6db130d7b0e8b33a09357354010644fb8942812be2f06b37648890f491a3 SHA512 29b466254887f7be1168ce31de9f852f3f1868a3afaa5a73859a4cd43b915510850e786ff778613fa48579ee6f0f78e5898c83ce9423f1fb688cce8d969a8eab
+DIST libucl-0.8.1.tar.gz 2028394 BLAKE2B 18fda317b4b4aed3d6b72c599d191f141bf4722d1c08244deda9c5e77300e2bef7de029889a05d9b4573472928d9d49a797123ac392a4cdd3b690ac277ad673d SHA512 36a059561eadb2dd7253ca22ff56f6a0c6cdd28580e28451c0cf47e1aec321a2e1589fc83ccb2033346f2dbca31a7e6afa9666ea544a0c190b7f80ed0e9f45af
+DIST libucl-0.9.0.tar.gz 2043656 BLAKE2B eb2aeb1a818caffbadee9e351d144cc58d149b88e171750e1edfb679c9a42d1c0e8ef2a2dac763445e215370a359791f65364658d3d138e2262a46eba341c0f1 SHA512 a7bcb03dc3b5e3b8e5c141fb3edee0c749e20d63ad69fba4d3c6ca56ef56b1130287b0f497de37bf9789c2263a46121c662fedc7a870354c2849d2e14d90cab5
+DIST libucl-0.9.2.tar.gz 2044512 BLAKE2B c0290584517df16ea0e06aa8b5e8c62e8d4f883242a06bec0c385e4d0f5fe8092e076dcb80754963bfca38a9dff62744946096ae16eb547bfc61ffb158951ac4 SHA512 4df54788406baf81c80156cadd938b33aa9a16859981aaa4f82ff447183d87016f647ed22fcdf29fda51b25a58f99f7a1892305aff7c97615f05c125f5966066
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.7.3.ebuild b/dev-libs/libucl/libucl-0.7.3.ebuild
deleted file mode 100644
index ae7224e48e93..000000000000
--- a/dev-libs/libucl/libucl-0.7.3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Universal configuration library parser"
-HOMEPAGE="https://github.com/vstakhov/libucl"
-SRC_URI="https://github.com/vstakhov/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="lua +regex signatures static-libs urlfetch utils"
-DEPEND="!!dev-libs/ucl
- lua? ( >=dev-lang/lua-5.1:= )
- signatures? ( dev-libs/openssl:0 )
- urlfetch? ( net-misc/curl )"
-RDEPEND="${DEPEND}"
-
-DOCS=( README.md doc/api.md )
-
-src_prepare() {
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- local myeconf=""
- use urlfetch && myeconf="--with-urls"
- econf \
- $(use_enable lua) \
- $(use_enable regex) \
- $(use_enable signatures) \
- $(use_enable utils) \
- ${myeconf}
-}
-
-src_install() {
- default
- use lua && DOCS+=( doc/lua_api.md )
- # no .a's it seems
- use static-libs || find "${ED}" -name "*.la" -delete
-}
diff --git a/dev-libs/libucl/libucl-0.8.1-r100.ebuild b/dev-libs/libucl/libucl-0.8.1-r100.ebuild
new file mode 100644
index 000000000000..7452ade35ada
--- /dev/null
+++ b/dev-libs/libucl/libucl-0.8.1-r100.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+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}-openssl-1.1.1.patch
+)
+
+pkg_setup() {
+ use lua && lua_pkg_setup
+}
+
+src_prepare() {
+ default
+ rm tests/schema/{definitions,ref{,Remote}}.json || die
+ 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-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-0.9.2.ebuild b/dev-libs/libucl/libucl-0.9.2.ebuild
new file mode 100644
index 000000000000..3c35afc0af65
--- /dev/null
+++ b/dev-libs/libucl/libucl-0.9.2.ebuild
@@ -0,0 +1,70 @@
+# 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 )
+
+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
new file mode 100644
index 000000000000..3c35afc0af65
--- /dev/null
+++ b/dev-libs/libucl/libucl-9999.ebuild
@@ -0,0 +1,70 @@
+# 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 )
+
+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/metadata.xml b/dev-libs/libucl/metadata.xml
index 6d4d014359bc..9b920e38934c 100644
--- a/dev-libs/libucl/metadata.xml
+++ b/dev-libs/libucl/metadata.xml
@@ -1,7 +1,6 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
<longdescription>
UCL is heavily infused by nginx configuration as the example of a
convenient configuration system. However, UCL is fully compatible
@@ -9,13 +8,12 @@
UCL objects into different formats such as "nginx like", json,
yaml and compact json
</longdescription>
+ <!-- maintainer-needed -->
<use>
- <flag name="regex">Enable regex checking for schema</flag>
- <flag name="signatures">Enable signatures check</flag>
- <flag name="urlfetch">Enable URLs fetch</flag>
-
- <!-- in v0.8.0, also the ucl-tool utility -->
- <flag name="utils">Install the chargen and objdump utilities</flag>
+ <flag name="regex">Enable regex support</flag>
+ <flag name="sign">Enable signatures check</flag>
+ <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>
diff --git a/dev-libs/libudfread/Manifest b/dev-libs/libudfread/Manifest
new file mode 100644
index 000000000000..6bda96d9380a
--- /dev/null
+++ b/dev-libs/libudfread/Manifest
@@ -0,0 +1 @@
+DIST libudfread-1.1.2.tar.gz 33744 BLAKE2B 1801d84a0ca38410a78f23e7d44f37e6d53346753c853df2e7380d259ce1ae7f0c712825b95a5753ad0bc6360cfffe1888b9e7bc30da8b84549e0f1198248f61 SHA512 3069feb5db40288beb5b112b285186162a704f0fdd3cf67a17fd4eeea015f2cfcfbb455b7aa7c3d79d00fd095a3fd11cffc7b121dce94d99c3b06a509a8977d2
diff --git a/dev-libs/libudfread/libudfread-1.1.2.ebuild b/dev-libs/libudfread/libudfread-1.1.2.ebuild
new file mode 100644
index 000000000000..03c046d04323
--- /dev/null
+++ b/dev-libs/libudfread/libudfread-1.1.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 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 ~loong ~mips ppc ppc64 ~riscv sparc 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-9999.ebuild b/dev-libs/libudfread/libudfread-9999.ebuild
new file mode 100644
index 000000000000..f4fb055b98c6
--- /dev/null
+++ b/dev-libs/libudfread/libudfread-9999.ebuild
@@ -0,0 +1,37 @@
+# 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/metadata.xml b/dev-libs/libudfread/metadata.xml
new file mode 100644
index 000000000000..56f022c879d7
--- /dev/null
+++ b/dev-libs/libudfread/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>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libuev/Manifest b/dev-libs/libuev/Manifest
index 03a55d1c5d5b..5c410ab36337 100644
--- a/dev-libs/libuev/Manifest
+++ b/dev-libs/libuev/Manifest
@@ -1,3 +1,3 @@
-DIST libuev-2.1.0.tar.xz 247388 BLAKE2B e2934fb79e32bf61e22a7c8fcdd6371f089c5e8a4f5b3039c10c90abd852d08c5612f7b871ef705afdca68857a270dfd133a1436cd9f49876e0bf47b903e6328 SHA512 82bd68c75f015284d3757886720d1a0e5689cf71b40b896410e5e4e952761fe05b090a33e0787f632afa7726567667e4dbbbc6270129828656953ded6d28d02b
-DIST libuev-2.1.2.tar.xz 248092 BLAKE2B 7229acc6ae0e55a5ceba00e970a9e7b4b11049dc4f4435643e0541a7b3c75ac300ffc2839da0eaa7b3819a5910d20b608247812d32c028ff19c0cf3735d2941c SHA512 65a35f1e2cda5383267ba47bc90e2cdd769e5fb1318c11969c8f44262d8a5b2edad522688619aa6e9219c278286ba9ff997967f9281aa4f667fbe9b0842bf0ee
-DIST libuev-2.2.0.tar.xz 245680 BLAKE2B 40d0912dcec56d58863411e034c6ddded3470bc2ea3a9f49d36fa0ef924e9ff206cb96ef93582134881ce8377938688d44cfa04d7e533321baf7cfd754f0dff0 SHA512 700c91100c61af2101a6d1756eed97aaf51d6b1dc3a59f90f668d8bb6e3d817aa6f765af5acbbdaeccd4382a97c8e99d2a13ad679fc8582891e0546baa6f001f
+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/files/libuev-fix-tests.patch b/dev-libs/libuev/files/libuev-fix-tests.patch
new file mode 100644
index 000000000000..68e4b2c4fd6b
--- /dev/null
+++ b/dev-libs/libuev/files/libuev-fix-tests.patch
@@ -0,0 +1,9 @@
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -14,5 +14,5 @@ check_PROGRAMS = $(TESTS)
+
+ # Ignore warnings about unused result, in e.g. write()
+ CFLAGS = -W -Wall -Wextra -Wno-unused-result -Wno-unused-parameter
+-CPPFLAGS = -D_GNU_SOURCE
++CPPFLAGS = -D_GNU_SOURCE -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64
+ LDADD = -L../src ../src/libuev.la
diff --git a/dev-libs/libuev/files/libuev-large-files-fix.patch b/dev-libs/libuev/files/libuev-large-files-fix.patch
new file mode 100644
index 000000000000..61a4cdb3ed27
--- /dev/null
+++ b/dev-libs/libuev/files/libuev-large-files-fix.patch
@@ -0,0 +1,9 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,6 +1,6 @@
+ lib_LTLIBRARIES = libuev.la
+ libuev_la_SOURCES = uev.c uev.h private.h io.c timer.c signal.c cron.c event.c
+-libuev_la_CPPFLAGS = -D_GNU_SOURCE -D_TIME_BITS=64
++libuev_la_CPPFLAGS = -D_GNU_SOURCE -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64
+ libuev_la_CFLAGS = -W -Wall -Wextra -std=gnu11
+ libuev_la_LDFLAGS = $(AM_LDFLAGS) -version-info 4:0:2
diff --git a/dev-libs/libuev/libuev-2.1.0.ebuild b/dev-libs/libuev/libuev-2.1.0.ebuild
deleted file mode 100644
index 299e8c4aa126..000000000000
--- a/dev-libs/libuev/libuev-2.1.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A collection of useful BSD 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 ~x86"
-IUSE="static-libs"
-
-src_configure(){
- econf --enable-static=$(usex static-libs)
-}
-
-src_install(){
- default
- find "${D}" -name '*.la' -delete || die
- rm "${D}/usr/share/doc/${PF}/LICENSE" || die
-}
diff --git a/dev-libs/libuev/libuev-2.1.2.ebuild b/dev-libs/libuev/libuev-2.1.2.ebuild
deleted file mode 100644
index e82786a75198..000000000000
--- a/dev-libs/libuev/libuev-2.1.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A collection of useful BSD 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 ~x86"
-IUSE="static-libs"
-
-src_configure(){
- econf --enable-static=$(usex static-libs)
-}
-
-src_install(){
- default
- find "${D}" -name '*.la' -delete || die
- rm "${D}/usr/share/doc/${PF}/LICENSE" || die
-}
diff --git a/dev-libs/libuev/libuev-2.2.0.ebuild b/dev-libs/libuev/libuev-2.2.0.ebuild
deleted file mode 100644
index aab6a4daf462..000000000000
--- a/dev-libs/libuev/libuev-2.2.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Lightweight event loop library for Linux"
-
-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 ~x86"
-IUSE="static-libs"
-
-src_configure(){
- econf --enable-static=$(usex static-libs)
-}
-
-src_install(){
- default
- find "${D}" -name '*.la' -delete || die
- rm "${D}/usr/share/doc/${PF}/LICENSE" || die
-}
diff --git a/dev-libs/libuev/libuev-2.3.2-r1.ebuild b/dev-libs/libuev/libuev-2.3.2-r1.ebuild
new file mode 100644
index 000000000000..f8a20c0605ff
--- /dev/null
+++ b/dev-libs/libuev/libuev-2.3.2-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+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 ~x86"
+IUSE="static-libs"
+
+PATCHES=(
+ "${FILESDIR}/${PN}"-fix-tests.patch
+ "${FILESDIR}/${PN}"-large-files-fix.patch
+)
+
+src_prepare() {
+ default
+
+ # Needed for glibc/LFS patches
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-static=$(usex static-libs)
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+ rm "${D}/usr/share/doc/${PF}/LICENSE" || die
+}
diff --git a/dev-libs/libuev/libuev-2.4.0.ebuild b/dev-libs/libuev/libuev-2.4.0.ebuild
new file mode 100644
index 000000000000..011168732e7f
--- /dev/null
+++ b/dev-libs/libuev/libuev-2.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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/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/libuev/metadata.xml b/dev-libs/libuev/metadata.xml
index 55df3087918b..951f7ad8c769 100644
--- a/dev-libs/libuev/metadata.xml
+++ b/dev-libs/libuev/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<name>Oz Tiram</name>
<email>oz.tiram@gmail.com</email>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
</maintainer>
<longdescription lang="en">
diff --git a/dev-libs/libugpio/Manifest b/dev-libs/libugpio/Manifest
index b401fa766438..70bbdec1d2b9 100644
--- a/dev-libs/libugpio/Manifest
+++ b/dev-libs/libugpio/Manifest
@@ -1 +1 @@
-DIST libugpio-0.0.6.tar.bz2 252283 BLAKE2B ebdfae8ef400b3deb95e4313fd0ca2ad7b195945c850ce5c84904373bca2f2c9d446aec45b0500f549ab5319a294fbc2f0c37a6734fab69d8571389a0cb5fb63 SHA512 f40517d34509f9f3b5b26a5cb5523863034d48887ef3f26bd38a38e9aeac73e09ecf71099cd5a036e23fe3db5c8c2ead588c49022a398f2a426bc7148cc64ecd
+DIST libugpio-0.0.7.tar.bz2 300015 BLAKE2B 430a17651f3c443424694d50817e562ab3c682ae2006c14d2ca46ee3078993e85214a0ca0b9323d148ca3aedaa758985cf5e2e45527e1d1278d3a36c3648ecf9 SHA512 27f8b00b13b4865635fa26e9b14c7fe217ee005c316500f0f344268d82f8d2858def524bd5cee11e9cca9c2a534a50546d5fc3504ecd1f88bd96c6fbefe1586e
diff --git a/dev-libs/libugpio/libugpio-0.0.6.ebuild b/dev-libs/libugpio/libugpio-0.0.6.ebuild
deleted file mode 100644
index 21229f6f0191..000000000000
--- a/dev-libs/libugpio/libugpio-0.0.6.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 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/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/metadata.xml b/dev-libs/libugpio/metadata.xml
index 1340ccfdad65..8766bbbc8105 100644
--- a/dev-libs/libugpio/metadata.xml
+++ b/dev-libs/libugpio/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
Libugpio is a free software library to ease the use of linux kernel's sysfs
gpio interface from C programs and/or other libraries.
diff --git a/dev-libs/libunibreak/Manifest b/dev-libs/libunibreak/Manifest
index 983c6d6e38ae..ebde696ff28f 100644
--- a/dev-libs/libunibreak/Manifest
+++ b/dev-libs/libunibreak/Manifest
@@ -1,2 +1,4 @@
-DIST libunibreak-4.0.tar.gz 629403 BLAKE2B 067d09bd48c5381ebef1f3a0ca488732e216234e45977d5c2eee181c9c98b435a7e4030fb5bdbd83035a7937c2107ec05f78dc33158ec64297511d24e329f03d SHA512 43da73f66fabd8fdef444c5a06ad1800464a0aeab590938522d6c19973950a242f2ccc0575a93d10d87bdcf82610452117ac081ddb73f47271a8c2a65897e11c
-DIST libunibreak-4.1.tar.gz 642497 BLAKE2B 79a09cc19e72bcf98605f3c49649c2d0753774825e737e0682ff4b67d4908be748b81b6ba79827ccc2032b7c5284fc2dd932d61d6775cae841888d6ee4a77b70 SHA512 f02a94b1c1757c0321f112ef9b44a17fc9f73c9ec6041f263bb55fe8ec44e5599c6061c4e1f6f92ca9069b282e5a8e40d90dcceaf04b6e2ed6ae948f104e1ce2
+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.0.ebuild b/dev-libs/libunibreak/libunibreak-4.0.ebuild
deleted file mode 100644
index ede6eebde7e0..000000000000
--- a/dev-libs/libunibreak/libunibreak-4.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit versionator
-
-DESCRIPTION="Line and word breaking library"
-HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
-SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(replace_all_version_separators '_')/${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"
-
-DEPEND="man? ( app-doc/doxygen )"
-RDEPEND="!dev-libs/liblinebreak"
-
-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-4.1.ebuild b/dev-libs/libunibreak/libunibreak-4.1.ebuild
deleted file mode 100644
index 132e80d6701c..000000000000
--- a/dev-libs/libunibreak/libunibreak-4.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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"
-
-DEPEND="man? ( app-doc/doxygen )"
-RDEPEND="!dev-libs/liblinebreak"
-
-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 fc50d1f50d2e..3618bfe8d2ce 100644
--- a/dev-libs/libunibreak/metadata.xml
+++ b/dev-libs/libunibreak/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>grozin@gentoo.org</email>
@@ -11,6 +11,8 @@
</longdescription>
<use>
<flag name="doc">Install html API documentation.</flag>
- <flag name="man">Generate man pages with doxygen.</flag>
</use>
+ <upstream>
+ <remote-id type="github">adah1972/libunibreak</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libunicode/Manifest b/dev-libs/libunicode/Manifest
deleted file mode 100644
index e4b4c06a6bb2..000000000000
--- a/dev-libs/libunicode/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libunicode-0.4.gnome.tar.gz 211622 BLAKE2B 299e6ed5e3991b836ac43c07aca058b7c96a030648280792ec1c83fc590817147f577c86ef7e3138c431a3f54a175349a32a9ed3363e23d032efe8f0c7e69e3f SHA512 acfd67f80f194780ee6784abe3e41ae1557c177b8f07ee4bb9c9767499bd5f4b2e6ad7ce66653fd55b7e8ff765e5f7e8134cd5e3e28735e0c4f78cba60f6205f
diff --git a/dev-libs/libunicode/libunicode-0.4-r2.ebuild b/dev-libs/libunicode/libunicode-0.4-r2.ebuild
deleted file mode 100644
index 469332e132f7..000000000000
--- a/dev-libs/libunicode/libunicode-0.4-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Unicode library"
-HOMEPAGE="https://www.gnome.org/"
-SRC_URI="ftp://ftp.gnome.org/pub/GNOME/sources/${PN}/${PV}/${P}.gnome.tar.gz"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ~sparc x86"
-IUSE=""
-
-src_prepare() {
- default
- # The build system is too old, regenerate here to fix crossbuild and
- # respect LDFLAGS and probably other problems too.
- sed -i -e "/testsuite/d" configure.in || die
- mv configure.{in,ac} || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- # no static libs installed
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libunicode/metadata.xml b/dev-libs/libunicode/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/libunicode/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</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/libuninum/metadata.xml b/dev-libs/libuninum/metadata.xml
index 0db8928175d3..b7ed665d6b08 100644
--- a/dev-libs/libuninum/metadata.xml
+++ b/dev-libs/libuninum/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
This is a library for converting unicode strings to numbers and numbers to unicode strings.
Standard functions like strtoul, strtod, and sprintf do this for numbers written in the
diff --git a/dev-libs/libunique/libunique-1.1.6-r2.ebuild b/dev-libs/libunique/libunique-1.1.6-r2.ebuild
deleted file mode 100644
index 363759d8bf9c..000000000000
--- a/dev-libs/libunique/libunique-1.1.6-r2.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
-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-util/gtk-doc-am-1.11
- sys-devel/gettext
- virtual/pkgconfig
-"
-# For eautoreconf
-# dev-util/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 \
- --disable-static \
- --enable-bacon \
- $(use_enable introspection) \
- $(usex debug --enable-debug=yes ' ') \
- $(use_enable dbus)
-}
-
-src_test() {
- cd "${S}/tests"
- cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
- virtx emake -f run-tests || die "Tests failed"
-}
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..ed73d65d71df
--- /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 8d23f7f79e75..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-2018 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 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~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
@@ -42,5 +42,5 @@ src_configure() {
src_test() {
cd "${S}/tests"
cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
- virtx emake -f run-tests || die "Tests failed"
+ virtx emake -f run-tests
}
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..fdfb9ba07816
--- /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/libunique/metadata.xml b/dev-libs/libunique/metadata.xml
index b89a42c7196e..14c0bf11bfbd 100644
--- a/dev-libs/libunique/metadata.xml
+++ b/dev-libs/libunique/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
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/files/libunistring-test.patch b/dev-libs/libunistring/files/libunistring-test.patch
new file mode 100644
index 000000000000..c87befbd987f
--- /dev/null
+++ b/dev-libs/libunistring/files/libunistring-test.patch
@@ -0,0 +1,15 @@
+https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=cca32830b57e91f837c01d15b8732f23ff97fc36
+
+Author: Bruno Haible <bruno@clisp.org>
+
+--- a/tests/glthread/thread.h
++++ b/tests/glthread/thread.h
+@@ -133,8 +133,6 @@ extern int glthread_in_use (void);
+ call to foo(...) in the same function. To avoid this, we test the
+ address of a function in libpthread that we don't use. */
+
+-# pragma weak pthread_create
+-
+ # ifndef pthread_sigmask /* Do not declare rpl_pthread_sigmask weak. */
+ # pragma weak pthread_sigmask
+ # endif
diff --git a/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild b/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild
new file mode 100644
index 000000000000..ae2ec9293f80
--- /dev/null
+++ b/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 ~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
+ "${FILESDIR}"/${PN}-test.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-0.9.10.ebuild b/dev-libs/libunistring/libunistring-0.9.10.ebuild
deleted file mode 100644
index 2532ee55788b..000000000000
--- a/dev-libs/libunistring/libunistring-0.9.10.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils 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"
-
-LICENSE="LGPL-3 GPL-3"
-SLOT="0/2"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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() {
- default
-
- prune_libtool_files
-}
-
-multilib_src_install_all() {
- default
-
- if use doc; then
- dohtml doc/*.html
- doinfo doc/*.info
- fi
-}
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..dfd324c69756
--- /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 da522d18c473..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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-r2.ebuild b/dev-libs/libusb-compat/libusb-compat-0.1.5-r2.ebuild
deleted file mode 100644
index a6572e20ab75..000000000000
--- a/dev-libs/libusb-compat/libusb-compat-0.1.5-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs 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 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug examples static-libs"
-
-RDEPEND=">=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
- !dev-libs/libusb:0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS="AUTHORS ChangeLog NEWS README"
-
-PATCHES=(
- "${FILESDIR}"/${PN/-compat}-0.1-ansi.patch
-)
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable debug debug-log)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- gen_usr_ldscript -a usb
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
- einstalldocs
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.c
- fi
-}
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 4e620b5b8fb4..000000000000
--- a/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs 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 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug examples static-libs"
-
-RDEPEND=">=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
- !dev-libs/libusb:0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS="AUTHORS ChangeLog NEWS README"
-
-PATCHES=(
- "${FILESDIR}"/${PN/-compat}-0.1-ansi.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libusb-config
-)
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable debug debug-log)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- gen_usr_ldscript -a usb
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
- einstalldocs
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.c
- fi
-}
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 66a6901dc0bd..d1dd0ce264bf 100644
--- a/dev-libs/libusb-compat/metadata.xml
+++ b/dev-libs/libusb-compat/metadata.xml
@@ -1,19 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>peter@stuge.se</email>
- <name>Peter Stuge</name>
- </maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </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 d4b6054f7afc..5ec672cd41dc 100644
--- a/dev-libs/libusb/Manifest
+++ b/dev-libs/libusb/Manifest
@@ -1,3 +1,2 @@
-DIST libusb-1.0.19.tar.bz2 521496 BLAKE2B 9f38dcb8f053019511dc2eed93772183c5487917794abd2839e981924bf05e39aba5cee4fb9a366b78e4d265fb16a921fb64c9a083323993ce21543d37073720 SHA512 f42f0187bfec16ebabad64efef7a7651ee85dcf2af1b7cbe543b7de615f9c6432f7eea5fcc6b23335591dcad287c905eb9bd56199cc5d3b47435027ad678f2c1
-DIST libusb-1.0.21.tar.bz2 607417 BLAKE2B c76352a19f416ad27b8940e99f38878e248cdbc04ef97752f8c8468ab0391869ab611197e3e143d69e0e23563da59f1691c14fce72958fdf28ebf10dd8c1521b SHA512 015ca07bdb559aa40af5db1302ab0b1c8a30d593699fe2f3c9f45162673dc7b608cecc58d60fde8f3bde2a68370794a045e8efa48fc55402eece11261e525762
-DIST libusb-1.0.22.tar.bz2 598833 BLAKE2B 38d01c1dd1837434c24008151a27cdfb2b2e9aab30fe95e4403bad613a0147a13b9b029814e15520bcfc2c181b00e3c5cc1ffdc3a586a604190bf441d3c89318 SHA512 2a93ba48bb66b9775838c16d74f7269348d9bc163f94ccf2842d1108d95a41cf79f8c8065233bea410fb94261a462dbb08ecfa1a9b6d3ddf4a5980e6043f74f4
+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/libusb-1.0.19-r1.ebuild b/dev-libs/libusb/libusb-1.0.19-r1.ebuild
deleted file mode 100644
index c2aeaec6561f..000000000000
--- a/dev-libs/libusb/libusb-1.0.19-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="Userspace access to USB devices"
-HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="1"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc examples static-libs test udev"
-
-RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP},static-libs?] )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- !udev? ( virtual/os-headers )"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable udev) \
- $(use_enable debug debug-log) \
- $(use_enable test tests-build)
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi; then
- use doc && emake -C doc docs
- fi
-}
-
-multilib_src_test() {
- emake check
-
- # noinst_PROGRAMS from tests/Makefile.am
- tests/stress || die
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi; then
- gen_usr_ldscript -a usb-1.0
-
- use doc && dohtml doc/html/*
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
-
- dodoc AUTHORS ChangeLog NEWS PORTING README TODO
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.{c,h}
- insinto /usr/share/doc/${PF}/examples/getopt
- doins examples/getopt/*.{c,h}
- fi
-}
diff --git a/dev-libs/libusb/libusb-1.0.21.ebuild b/dev-libs/libusb/libusb-1.0.21.ebuild
deleted file mode 100644
index b9139ce49c31..000000000000
--- a/dev-libs/libusb/libusb-1.0.21.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal toolchain-funcs
-
-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 ~s390 ~sh sparc x86 -x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc examples static-libs test udev"
-
-RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP},static-libs?] )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- !udev? ( virtual/os-headers )"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable udev) \
- $(use_enable debug debug-log) \
- $(use_enable test tests-build)
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi; then
- use doc && emake -C doc docs
- fi
-}
-
-multilib_src_test() {
- emake check
-
- # noinst_PROGRAMS from tests/Makefile.am
- tests/stress || die
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi; then
- gen_usr_ldscript -a usb-1.0
-
- use doc && dohtml doc/html/*
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
-
- dodoc AUTHORS ChangeLog NEWS PORTING README TODO
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.{c,h}
- insinto /usr/share/doc/${PF}/examples/getopt
- doins examples/getopt/*.{c,h}
- fi
-}
diff --git a/dev-libs/libusb/libusb-1.0.22.ebuild b/dev-libs/libusb/libusb-1.0.22.ebuild
deleted file mode 100644
index 0b14288ec0d2..000000000000
--- a/dev-libs/libusb/libusb-1.0.22.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit ltprune toolchain-funcs 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 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 -x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="debug doc examples static-libs test udev"
-
-RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP},static-libs?] )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- !udev? ( virtual/os-headers )"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- $(use_enable static-libs static) \
- $(use_enable udev) \
- $(use_enable debug debug-log) \
- $(use_enable test tests-build)
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi; then
- use doc && emake -C doc docs
- fi
-}
-
-multilib_src_test() {
- emake check
-
- # noinst_PROGRAMS from tests/Makefile.am
- tests/stress || die
-}
-
-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/html
- fi
-}
-
-multilib_src_install_all() {
- prune_libtool_files
-
- dodoc AUTHORS ChangeLog NEWS PORTING README TODO
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins examples/*.{c,h}
- insinto /usr/share/doc/${PF}/examples/getopt
- doins examples/getopt/*.{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..93daca66f7b8
--- /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 d66b26b86d07..00111e2f3be2 100644
--- a/dev-libs/libusb/metadata.xml
+++ b/dev-libs/libusb/metadata.xml
@@ -1,15 +1,12 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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>
- <maintainer type="person">
- <email>peter@stuge.se</email>
- <name>Peter Stuge</name>
- </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
new file mode 100644
index 000000000000..9f881e3540b9
--- /dev/null
+++ b/dev-libs/libusbhp/libusbhp-1.0.2-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="USB Hotplug Library"
+HOMEPAGE="http://www.aasimon.org/libusbhp/"
+SRC_URI="http://www.aasimon.org/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~x86"
+
+RDEPEND=">=virtual/libudev-147"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ econf \
+ --disable-static \
+ --without-debug
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libusbhp/libusbhp-1.0.2.ebuild b/dev-libs/libusbhp/libusbhp-1.0.2.ebuild
deleted file mode 100644
index a0f207b35800..000000000000
--- a/dev-libs/libusbhp/libusbhp-1.0.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DESCRIPTION="Usb Hotplug Library"
-HOMEPAGE="http://www.aasimon.org/libusbhp/"
-SRC_URI="http://www.aasimon.org/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~mips ~x86"
-IUSE="static-libs"
-
-RDEPEND=">=virtual/libudev-147"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --without-debug
-}
-
-src_install() {
- default
- use static-libs || find "${ED}" -name '*.la' -delete
-}
diff --git a/dev-libs/libusbhp/metadata.xml b/dev-libs/libusbhp/metadata.xml
index 13092b003d31..ad9f3c1895e5 100644
--- a/dev-libs/libusbhp/metadata.xml
+++ b/dev-libs/libusbhp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/dev-libs/libutf8proc/Manifest b/dev-libs/libutf8proc/Manifest
index 88837e1a87f9..29cd3c50b814 100644
--- a/dev-libs/libutf8proc/Manifest
+++ b/dev-libs/libutf8proc/Manifest
@@ -1,2 +1,2 @@
-DIST libutf8proc-2.2.0-1-src.tar.gz 156447 BLAKE2B 1ccf32760bcb8a0d4d9fbf94177ffee97e735a8cb309d5522df1b5ecd5f313a6d0c681209adb066c16ac65573c9c1edaa336b52de1b057a4b74ed6a7e9ca2671 SHA512 eedaafb2fdb3b6bd47da002a48043c26c1cd3c6b96c447a02f2fea19954c1689dcdb5f64b7c662dd8c5de4f971d75b2d69c8483bd29d49675ef47b362ad0c9ad
-DIST libutf8proc-2.4.0.tar.gz 154936 BLAKE2B a4fea823806bb784c83504de2ade985d3f0e86aa8d64747f389724ef10122953312e398a7a342cf28f25502693ee507be246338dba37c976998f6a1922cd94c5 SHA512 2bbd056b488cd30faca26618389d8af84edc39ade9b705e147b676bf39eee65b40239d01c32c46dfc2a289d79e869ed1bb3c347365603dcaab2f69e34427441a
+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-2.3.0-no-static.patch b/dev-libs/libutf8proc/files/libutf8proc-2.3.0-no-static.patch
deleted file mode 100644
index 75e9eaac6b53..000000000000
--- a/dev-libs/libutf8proc/files/libutf8proc-2.3.0-no-static.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index e3310f7..44c8977 100644
---- a/Makefile
-+++ b/Makefile
-@@ -46,7 +46,7 @@ pkgincludedir=$(includedir:$(prefix)/%=%)
-
- .PHONY: all clean data update manifest install
-
--all: libutf8proc.a libutf8proc.$(SHLIB_EXT)
-+all: libutf8proc.$(SHLIB_EXT)
-
- clean:
- rm -f utf8proc.o libutf8proc.a libutf8proc.$(SHLIB_VERS_EXT) libutf8proc.$(SHLIB_EXT)
-@@ -104,7 +104,6 @@ install: libutf8proc.a libutf8proc.$(SHLIB_EXT) libutf8proc.$(SHLIB_VERS_EXT) li
- mkdir -m 755 -p $(DESTDIR)$(includedir)
- $(INSTALL) -m 644 utf8proc.h $(DESTDIR)$(includedir)
- mkdir -m 755 -p $(DESTDIR)$(libdir)
-- $(INSTALL) -m 644 libutf8proc.a $(DESTDIR)$(libdir)
- $(INSTALL) -m 755 libutf8proc.$(SHLIB_VERS_EXT) $(DESTDIR)$(libdir)
- mkdir -m 755 -p $(DESTDIR)$(pkgconfigdir)
- $(INSTALL) -m 644 libutf8proc.pc $(DESTDIR)$(pkgconfigdir)/libutf8proc.pc
diff --git a/dev-libs/libutf8proc/files/libutf8proc-2.3.0-tests-nofetch.patch b/dev-libs/libutf8proc/files/libutf8proc-2.3.0-tests-nofetch.patch
deleted file mode 100644
index f438fdd9779b..000000000000
--- a/dev-libs/libutf8proc/files/libutf8proc-2.3.0-tests-nofetch.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/data/Makefile b/data/Makefile
-index f5d1dd9..60c09e3 100644
---- a/data/Makefile
-+++ b/data/Makefile
-@@ -10,6 +10,7 @@ PERL=perl
- MAKE=make
- JULIA=julia
- CURLFLAGS = --retry 5 --location
-+UDATA=${EPREFIX}/usr/share/unicode-data
-
- .PHONY: clean
-
-@@ -25,6 +26,7 @@ CharWidths.txt: charwidths.jl EastAsianWidth.txt
- UNICODE_VERSION=12.0.0
-
- UnicodeData.txt:
-+ cp $(UDATA)/$@ $@
- $(CURL) $(CURLFLAGS) -o $@ -O http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/UnicodeData.txt
-
- EastAsianWidth.txt:
-@@ -43,10 +45,10 @@ CaseFolding.txt:
- $(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/CaseFolding.txt
-
- NormalizationTest.txt:
-- $(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/NormalizationTest.txt
-+ cp $(UDATA)/$@ $@
-
- GraphemeBreakTest.txt:
-- $(CURL) $(CURLFLAGS) $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/GraphemeBreakTest.txt | $(PERL) -pe 's,÷,/,g;s,×,+,g' > $@
-+ cat $(UDATA)/auxiliary/$@ | $(PERL) -pe 's,÷,/,g;s,×,+,g' > $@
-
- emoji-data.txt:
- $(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://unicode.org/Public/emoji/`echo $(UNICODE_VERSION) | cut -d. -f1-2`/emoji-data.txt
diff --git a/dev-libs/libutf8proc/libutf8proc-2.2.0_p1-r1.ebuild b/dev-libs/libutf8proc/libutf8proc-2.2.0_p1-r1.ebuild
deleted file mode 100644
index 9e5c990c74f5..000000000000
--- a/dev-libs/libutf8proc/libutf8proc-2.2.0_p1-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
-
-MY_P="${P/_p/-}"
-DESCRIPTION="mapping tool for UTF-8 strings"
-HOMEPAGE="http://www.netsurf-browser.org/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${MY_P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86"
-IUSE=""
-
-DEPEND="dev-util/netsurf-buildsystem"
-
-S="${WORKDIR}/${MY_P}"
-
-_emake() {
- source "${EPREFIX}"/usr/share/netsurf-buildsystem/gentoo-helpers.sh
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/libutf8proc/libutf8proc-2.4.0.ebuild b/dev-libs/libutf8proc/libutf8proc-2.4.0.ebuild
deleted file mode 100644
index 37472dcfb717..000000000000
--- a/dev-libs/libutf8proc/libutf8proc-2.4.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-MY_P="${P#lib}"
-DESCRIPTION="mapping tool for UTF-8 strings"
-HOMEPAGE="https://github.com/JuliaStrings/utf8proc"
-SRC_URI="https://github.com/JuliaStrings/utf8proc/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux"
-IUSE="test"
-
-S="${WORKDIR}/${MY_P}"
-
-BDEPEND="test? ( =app-i18n/unicode-data-12.0* )"
-
-PATCHES=(
- # Don't build or install static libs
- "${FILESDIR}/${PN}-2.3.0-no-static.patch"
- # use app-i18n/unicode-data for test data instead of curl
- "${FILESDIR}/${PN}-2.3.0-tests-nofetch.patch"
-)
-
-_emake() {
- emake CC=$(tc-getCC) AR=$(tc-getAR) "$@"
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${D}" \
- prefix="${EPREFIX}/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)" \
- install
- # This package used to use netsurf's version as an upstream, which lives in
- # its own little world. Unlike julia's version, it puts its header file
- # in libutf8proc/utf8proc.h instead of utf8proc.h. The problem is that
- # revdeps are *already* patched to ajust to this. As a transitionary
- # measure until we unpatch revdeps, we add a symlink to utf8proc.h.
- dodir /usr/include/libutf8proc
- dosym ../utf8proc.h /usr/include/libutf8proc/utf8proc.h
-}
-
-src_test() {
- _emake 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 7a38bb900964..78d1f13937f3 100644
--- a/dev-libs/libutf8proc/metadata.xml
+++ b/dev-libs/libutf8proc/metadata.xml
@@ -1,5 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <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 e594852d850e..1c5d46d282d2 100644
--- a/dev-libs/libuv/Manifest
+++ b/dev-libs/libuv/Manifest
@@ -1,4 +1,2 @@
-DIST libuv-1.28.0.tar.gz 1218769 BLAKE2B 444881479688144b36559a258f998e99e663d856c349086f74a21c3946f8d48d0fd9ed0a7c64c76c18b47edd3df037936fd87c4d47e9ae7c5639bb6e289e026d SHA512 5f49b980b69011897bbb7a00d779fe0e71528d106626bc13fc130cd09afb7c8188007f354cd6320b1eba67f77c938ae3e83f3bd4a3ef5b9ea65a3adf51f66a53
-DIST libuv-1.29.1.tar.gz 1224127 BLAKE2B f116b0e0df9c2b65bafb8ebe0259ac1e1702232e751e015dbffa9be403f39727d255a7abc560b219279caff1bfab9528f38e32dbd2cf42dc0274dbaa57727861 SHA512 7e1ed1bc500bfaab44858b3ff4685ec3d2abce412718ad144d642f7526f6dbcba643ea9a623bb129d545599570be64ed9a498d85485c1716c4c365bb7ab61898
-DIST libuv-1.30.0.tar.gz 1228356 BLAKE2B 1e70ff162f5b6200e1a88c069360cbbc246d8bd5428c918ff80fadd139b3416301116c1015953ff7be583523a5c977b1da003958e6dd66cf2f43ef5adfc798c3 SHA512 3ba158cea5027fe7c30314da08a620a718cb30ca38997e46ad00912eefac9d2d94f9dd256c204771686a546d7445da2db1be2a0abed7ba14f122332767ee5ee8
-DIST libuv-1.30.1.tar.gz 1228593 BLAKE2B db45d283b7aec00ee5b617a6d3578112aeae6f006da5b09c9d0eb07ce9ceee59d6acc0ae9e476602f664c67d24685c4e1ac0e1524f38475da1f00e89c8376bd8 SHA512 bf6d99e4807da3e90c1852b901953fb5ddb9354942a433d8ddfef9a0766abfe3783216936c546ea1b9f2872d0d031dd184519bb5c7f58f6baeae4446f0f5e3fd
+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.41.0-darwin.patch b/dev-libs/libuv/files/libuv-1.41.0-darwin.patch
new file mode 100644
index 000000000000..a2b02d7b34f1
--- /dev/null
+++ b/dev-libs/libuv/files/libuv-1.41.0-darwin.patch
@@ -0,0 +1,45 @@
+--- a/src/unix/darwin-proctitle.c
++++ b/src/unix/darwin-proctitle.c
+@@ -41,7 +41,7 @@ static int uv__pthread_setname_np(const char* name) {
+ strncpy(namebuf, name, sizeof(namebuf) - 1);
+ namebuf[sizeof(namebuf) - 1] = '\0';
+
+- err = pthread_setname_np(namebuf);
++ err = 0;
+ if (err)
+ return UV__ERR(err);
+
+--- a/src/unix/getaddrinfo.c
++++ b/src/unix/getaddrinfo.c
+@@ -225,6 +225,13 @@ void uv_freeaddrinfo(struct addrinfo* ai) {
+ freeaddrinfo(ai);
+ }
+
++static size_t strnlen(char *x, size_t len) {
++ char *r = memchr(x, '\n', len);
++ if (r == NULL)
++ return len;
++ else
++ return r - x;
++}
+
+ int uv_if_indextoname(unsigned int ifindex, char* buffer, size_t* size) {
+ char ifname_buf[UV_IF_NAMESIZE];
+--- a/src/unix/udp.c
++++ b/src/unix/udp.c
+@@ -854,6 +854,7 @@ static int uv__udp_set_membership6(uv_udp_t* handle,
+ #if !defined(__OpenBSD__) && \
+ !defined(__NetBSD__) && \
+ !defined(__ANDROID__) && \
++ !defined(__APPLE__) && \
+ !defined(__DragonFly__) & \
+ !defined(__QNX__)
+ static int uv__udp_set_source_membership4(uv_udp_t* handle,
+@@ -1046,6 +1047,7 @@ int uv_udp_set_source_membership(uv_udp_t* handle,
+ #if !defined(__OpenBSD__) && \
+ !defined(__NetBSD__) && \
+ !defined(__ANDROID__) && \
++ !defined(__APPLE__) && \
+ !defined(__DragonFly__) && \
+ !defined(__QNX__)
+ int err;
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.28.0.ebuild b/dev-libs/libuv/libuv-1.28.0.ebuild
deleted file mode 100644
index f4cf2dc83fe3..000000000000
--- a/dev-libs/libuv/libuv-1.28.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2019 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"
-SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-RESTRICT="test"
-
-DEPEND="sys-devel/libtool
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- # upstream fails to ship a configure script
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- cc_cv_cflags__g=no
- $(use_enable static-libs static)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- mkdir "${BUILD_DIR}"/test || die
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
- default
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libuv/libuv-1.29.1.ebuild b/dev-libs/libuv/libuv-1.29.1.ebuild
deleted file mode 100644
index 82a9f17f9244..000000000000
--- a/dev-libs/libuv/libuv-1.29.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2019 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"
-SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-RESTRICT="test"
-
-DEPEND="sys-devel/libtool
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- # upstream fails to ship a configure script
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- cc_cv_cflags__g=no
- $(use_enable static-libs static)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- mkdir "${BUILD_DIR}"/test || die
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
- default
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libuv/libuv-1.30.0.ebuild b/dev-libs/libuv/libuv-1.30.0.ebuild
deleted file mode 100644
index 82a9f17f9244..000000000000
--- a/dev-libs/libuv/libuv-1.30.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2019 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"
-SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-RESTRICT="test"
-
-DEPEND="sys-devel/libtool
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- # upstream fails to ship a configure script
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- cc_cv_cflags__g=no
- $(use_enable static-libs static)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- mkdir "${BUILD_DIR}"/test || die
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
- default
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libuv/libuv-1.30.1.ebuild b/dev-libs/libuv/libuv-1.30.1.ebuild
deleted file mode 100644
index 82a9f17f9244..000000000000
--- a/dev-libs/libuv/libuv-1.30.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2019 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"
-SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-RESTRICT="test"
-
-DEPEND="sys-devel/libtool
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- # upstream fails to ship a configure script
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- cc_cv_cflags__g=no
- $(use_enable static-libs static)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_test() {
- mkdir "${BUILD_DIR}"/test || die
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
- default
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -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 5e8f4c3920c3..056ed6900a01 100644
--- a/dev-libs/libuv/libuv-9999.ebuild
+++ b/dev-libs/libuv/libuv-9999.ebuild
@@ -1,47 +1,62 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit autotools git-r3 multilib-minimal
+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"
-EGIT_REPO_URI="${HOMEPAGE}"
+
+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"
-KEYWORDS=""
-IUSE="static-libs"
-RESTRICT="test"
-DEPEND="sys-devel/libtool
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
+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
-
- # upstream fails to ship a configure script
eautoreconf
}
-multilib_src_configure() {
+src_configure() {
local myeconfargs=(
cc_cv_cflags__g=no
- $(use_enable static-libs static)
)
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+
+ econf "${myeconfargs[@]}"
}
-multilib_src_test() {
- mkdir "${BUILD_DIR}"/test || die
- cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
+src_install() {
default
-}
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libuv/metadata.xml b/dev-libs/libuv/metadata.xml
index 6842acbec120..718fde52d3a0 100644
--- a/dev-libs/libuv/metadata.xml
+++ b/dev-libs/libuv/metadata.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>kde@gentoo.org</email>
<name>Gentoo KDE Project</name>
</maintainer>
<maintainer type="person">
- <email>jer@gentoo.org</email>
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
</maintainer>
<longdescription lang="en">
libuv is a platform layer for node.js. Its purpose is to abstract
@@ -33,6 +34,7 @@
<upstream>
<bugs-to>https://github.com/libuv/libuv/issues</bugs-to>
<remote-id type="github">libuv/libuv</remote-id>
+ <remote-id type="cpe">cpe:/a:libuv:libuv</remote-id>
</upstream>
<slots>
<subslots>Reflect ABI compatibility of libuv.so.</subslots>
diff --git a/dev-libs/libvarlink/Manifest b/dev-libs/libvarlink/Manifest
index 8b15cd6b1c5a..95f534fbc04e 100644
--- a/dev-libs/libvarlink/Manifest
+++ b/dev-libs/libvarlink/Manifest
@@ -1 +1,2 @@
-DIST libvarlink-16.tar.gz 56886 BLAKE2B 6c65199ced429eac733d1114cfad59c4514d299bd3bba0d4a9907498655545fd9edb9999428f39df936cd1e6710bacc08c04f05710e80f0ceb974b43809b9c22 SHA512 8152fc4fab4e9e829c2bc1585e479c23b0329c59da0be8712ff64dbbe01cde9630f228ac7edc06e9faa39dfd3d38007032ec6ed561e2363d4d33f65856f1a271
+DIST libvarlink-22.tar.gz 80867 BLAKE2B 4b538846219d21dce92f8b49548b24c6efa72e31fc78ce09e5bb8f76bfddc2c05479bc5b84981042315fae154c2884c9956fb651812ec257bc4a2b0fc0e70021 SHA512 edb6aab02df775b872621f59bb98e8567b74ec4e1311ad5195f87529e7070fbfb6a92e1580b0433efcd7512d5f47f55ed91a406a3fb51f61c8d6feb263367fa0
+DIST libvarlink-23.tar.gz 81048 BLAKE2B bb3410eaef0bbdfa5010a1f643ce0f54564133070245fb1101655698b1d1186ae822cbf6ffa29201104477023db2b91ee5320f0cfa128d95d39b3af6e297c051 SHA512 b118ec9142ee73fe8fd53d5439f19a29013157a339da5bdcbfad2892d450486a1d8200b23101a5ffe15c80f78c90c6d4ce3bc605074bfdee15de8775b1135b5b
diff --git a/dev-libs/libvarlink/libvarlink-16.ebuild b/dev-libs/libvarlink/libvarlink-16.ebuild
deleted file mode 100644
index b15afea5560f..000000000000
--- a/dev-libs/libvarlink/libvarlink-16.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-DESCRIPTION="C implementation of the Varlink protocol and command line tool"
-HOMEPAGE="https://github.com/varlink/libvarlink"
-SRC_URI="https://github.com/varlink/libvarlink/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-RDEPEND=""
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- -Dtests="$(usex test true false)"
- )
- meson_src_configure
-}
diff --git a/dev-libs/libvarlink/libvarlink-22.ebuild b/dev-libs/libvarlink/libvarlink-22.ebuild
new file mode 100644
index 000000000000..03eb294c694d
--- /dev/null
+++ b/dev-libs/libvarlink/libvarlink-22.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+DESCRIPTION="C implementation of the Varlink protocol and command line tool"
+HOMEPAGE="https://github.com/varlink/libvarlink"
+SRC_URI="https://github.com/varlink/libvarlink/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT+=" test"
+
+BDEPEND="virtual/pkgconfig"
diff --git a/dev-libs/libvarlink/libvarlink-23.ebuild b/dev-libs/libvarlink/libvarlink-23.ebuild
new file mode 100644
index 000000000000..d21a73577c23
--- /dev/null
+++ b/dev-libs/libvarlink/libvarlink-23.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+DESCRIPTION="C implementation of the Varlink protocol and command line tool"
+HOMEPAGE="https://github.com/varlink/libvarlink"
+SRC_URI="https://github.com/varlink/libvarlink/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+RESTRICT+=" test"
+
+BDEPEND="virtual/pkgconfig"
diff --git a/dev-libs/libvarlink/metadata.xml b/dev-libs/libvarlink/metadata.xml
index b3e25ca23723..603aa6c1d4fc 100644
--- a/dev-libs/libvarlink/metadata.xml
+++ b/dev-libs/libvarlink/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zmedico@gentoo.org</email>
diff --git a/dev-libs/libverto/Manifest b/dev-libs/libverto/Manifest
index 21ca6f940acf..e762a2961874 100644
--- a/dev-libs/libverto/Manifest
+++ b/dev-libs/libverto/Manifest
@@ -1,2 +1 @@
-DIST libverto-0.2.5.tar.gz 349722 BLAKE2B fd46b1fd1500d4732baa2d461e4b490386ff54efa8a23f06f40048e1624b4698cfedcfda79cc0a21c9a77050baafe8572835f1c0d174873772afe46b199a6294 SHA512 d57a7f86e714d3fbed391984de3356d8a2769f846985769c1be7d881647c1be95a5fc6a82bba1660ef3241aa1a40150b5e005af6f35dc32473facfdea49c556e
-DIST libverto-0.3.0.tar.gz 380822 BLAKE2B 7dd31e62a4f4d8ce5cdb77ba96b9e4c957b117ade67f2fb8d38c98e05334fd952386f5690bbe49eba60c545c02ef99dcf63dee3fb17910589013b2868ee24139 SHA512 af4fec9cd20058c1db404443004c2b6c98bcacd0742369bb91f46dde6a35358e44f659bdfef30ab113e112ac1afb3156b098f5b5e2f4a58d1f4cd949abf0f57f
+DIST libverto-0.3.2.tar.gz 383181 BLAKE2B 76d43397ecd6b7839be2a588c5b668eb6657138e48b786cde6fd82bb33aa071ce5f9efa19f06765d868033fa2ef4a03cf6d43bcd087c431909d2ca17562a5a48 SHA512 342f20f83b8f674230fefba013505e1339dab0022e5e232c39d6763e4307088fa290b5a8e83f588e97142f5c4d190b1430288750e45f37a5fe4174d84ef85fc1
diff --git a/dev-libs/libverto/files/libverto-0.3.2-non-bash.patch b/dev-libs/libverto/files/libverto-0.3.2-non-bash.patch
new file mode 100644
index 000000000000..4d035a4617a3
--- /dev/null
+++ b/dev-libs/libverto/files/libverto-0.3.2-non-bash.patch
@@ -0,0 +1,117 @@
+https://github.com/latchset/libverto/pull/31
+
+Strips bashisms from configure.ac causing breakage in net-nds/gssproxy
+https://bugs.gentoo.org/762823
+
+From bf5e1eac51cd8aa801c0125b892412bb73b97b08 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 23 Jun 2021 03:29:56 +0100
+Subject: [PATCH] Fix bashisms in configure.ac
+
+'==' is not supported in POSIX shells. = is equivalent for us, so let's
+use that instead.
+
+Bug: https://bugs.gentoo.org/762823
+---
+ configure.ac | 42 +++++++++++++++++++++---------------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1e510dc..30b7aa4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,15 +82,15 @@ AC_ARG_WITH([libevent],
+
+ # 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
+-elif test x$WITH_LIBEV == xbuiltin; then
++elif test x$WITH_LIBEV = xbuiltin; then
+ BUILTIN_MODULE=libev
+ WITH_LIBGLIB=no
+ WITH_LIBEVENT=no
+-elif test x$WITH_LIBEVENT == xbuiltin; then
++elif test x$WITH_LIBEVENT = xbuiltin; then
+ BUILTIN_MODULE=libevent
+ WITH_LIBGLIB=no
+ WITH_LIBEV=no
+@@ -101,20 +101,20 @@ 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_LIBEV = xdefault && WITH_LIBEV=yes
++ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=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_LIBGLIB = xdefault && WITH_GLIB=yes
++ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=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_GLIB = xdefault && WITH_GLIB=yes
++ test x$WITH_LIBEV = xdefault && WITH_LIBEV=yes
+ fi
+
+ BUILD_GLIB=no
+@@ -124,7 +124,7 @@ BUILD_LIBEVENT=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
+@@ -138,7 +138,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
+@@ -146,17 +146,17 @@ 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
+
+-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([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([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([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])
+
+ AC_MSG_NOTICE()
+ AC_MSG_NOTICE([BUILD CONFIGURATION])
+--
+2.32.0
+
diff --git a/dev-libs/libverto/files/libverto-Wflags.patch b/dev-libs/libverto/files/libverto-Wflags.patch
deleted file mode 100644
index de403720dd62..000000000000
--- a/dev-libs/libverto/files/libverto-Wflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f3935464e3a823539394dcb4669a6e7a889a95ef Mon Sep 17 00:00:00 2001
-From: Robbie Harwood <rharwood@redhat.com>
-Date: Wed, 31 Jan 2018 18:21:04 +0100
-Subject: [PATCH] Turn off -Wcast-function-type
-
-The glib event library forces all callbacks to the same type, even
-when they have different arities. Turn off the gcc warning for this
-gross behavior.
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4084965..dcab593 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -9,7 +9,7 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
-
- AC_PROG_CC_C99
-
--for flag in -Wall -Wextra; do
-+for flag in -Wall -Wextra -Wno-cast-function-type; do
- OLD_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $flag"
- AC_TRY_COMPILE(, [return 0;], [], [CFLAGS=$OLD_CFLAGS])
diff --git a/dev-libs/libverto/files/libverto-libev-c89.patch b/dev-libs/libverto/files/libverto-libev-c89.patch
deleted file mode 100644
index e63c032b0c89..000000000000
--- a/dev-libs/libverto/files/libverto-libev-c89.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 09ee123..b7b5908 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -7,8 +7,8 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
- [AC_USE_SYSTEM_EXTENSIONS],
- [AC_GNU_SOURCE])
-
--AC_PROG_CC_C89
--for flag in -std=c89 -Wall -Wextra; do
-+AC_PROG_CC_C99
-+for flag in -Wall -Wextra; do
- AC_TRY_COMPILE([], [return 0;], [CFLAGS="$CFLAGS $flag"],)
- done
-
diff --git a/dev-libs/libverto/files/libverto-load.patch b/dev-libs/libverto/files/libverto-load.patch
deleted file mode 100644
index 94dceac5d69c..000000000000
--- a/dev-libs/libverto/files/libverto-load.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 7989b3c6bdfdeb8770d17d8717b4a0cd48e79386 Mon Sep 17 00:00:00 2001
-From: Robbie Harwood <rharwood@redhat.com>
-Date: Wed, 24 Oct 2018 16:57:11 -0400
-Subject: [PATCH] Fix rare leak of DSO in module_load
-
----
- src/module.c | 31 +++++++++++++++----------------
- 1 file changed, 15 insertions(+), 16 deletions(-)
-
-diff --git a/src/module.c b/src/module.c
-index 1f1b7c9..0b59034 100644
---- a/src/module.c
-+++ b/src/module.c
-@@ -182,7 +182,7 @@ module_load(const char *filename, const char *symbname,
- intdll = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
- #endif /* WIN32 */
- if (!intdll)
-- return dllerror();
-+ goto fail;
-
- /* Get the module symbol */
- #ifdef WIN32
-@@ -190,16 +190,12 @@ module_load(const char *filename, const char *symbname,
- #else /* WIN32 */
- intsym = dlsym(intdll, symbname);
- #endif /* WIN32 */
-- if (!intsym) {
-- module_close(intdll);
-- return dllerror();
-- }
-+ if (!intsym)
-+ goto fail;
-
- /* Figure out whether or not to load this module */
-- if (!shouldload(intsym, misc, &interr)) {
-- module_close(intdll);
-- return interr;
-- }
-+ if (!shouldload(intsym, misc, &interr))
-+ goto fail;
-
- /* Re-open the module */
- module_close(intdll);
-@@ -208,9 +204,8 @@ module_load(const char *filename, const char *symbname,
- #else /* WIN32 */
- intdll = dlopen(filename, RTLD_NOW | RTLD_LOCAL);
- #endif /* WIN32 */
-- if (!intdll) {
-- return dllerror();
-- }
-+ if (!intdll)
-+ goto fail;
-
- /* Get the symbol again */
- #ifdef WIN32
-@@ -218,14 +213,18 @@ module_load(const char *filename, const char *symbname,
- #else /* WIN32 */
- intsym = dlsym(intdll, symbname);
- #endif /* WIN32 */
-- if (!intsym) {
-- module_close(intdll);
-- return dllerror();
-- }
-+ if (!intsym)
-+ goto fail;
-
- if (dll)
- *dll = intdll;
- if (symb)
- *symb = intsym;
- return NULL;
-+
-+fail:
-+ if (!interr)
-+ interr = dllerror();
-+ module_close(intdll);
-+ return interr;
- }
diff --git a/dev-libs/libverto/files/libverto-verify-cflags.patch b/dev-libs/libverto/files/libverto-verify-cflags.patch
deleted file mode 100644
index dce747239dc7..000000000000
--- a/dev-libs/libverto/files/libverto-verify-cflags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5bbe8b009d6daa809f679fd1d25c270abba468b4 Mon Sep 17 00:00:00 2001
-From: Robbie Harwood <rharwood@redhat.com>
-Date: Wed, 31 Jan 2018 17:52:39 +0100
-Subject: [PATCH] Verify flags prior to adding them to CFLAGS, not after
-
----
- configure.ac | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index b7b5908..4084965 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -8,8 +8,11 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
- [AC_GNU_SOURCE])
-
- AC_PROG_CC_C99
-+
- for flag in -Wall -Wextra; do
-- AC_TRY_COMPILE([], [return 0;], [CFLAGS="$CFLAGS $flag"],)
-+ OLD_CFLAGS=$CFLAGS
-+ CFLAGS="$CFLAGS $flag"
-+ AC_TRY_COMPILE(, [return 0;], [], [CFLAGS=$OLD_CFLAGS])
- done
-
- AC_CANONICAL_SYSTEM
diff --git a/dev-libs/libverto/libverto-0.2.5-r1.ebuild b/dev-libs/libverto/libverto-0.2.5-r1.ebuild
deleted file mode 100644
index 9502f0809ac0..000000000000
--- a/dev-libs/libverto/libverto-0.2.5-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit 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 s390 ~sh sparc x86 ~amd64-fbsd"
-IUSE="glib +libev libevent tevent +threads static-libs"
-
-# file collisions
-DEPEND="!=app-crypt/mit-krb5-1.10.1-r0
- !=app-crypt/mit-krb5-1.10.1-r1
- !=app-crypt/mit-krb5-1.10.1-r2
- 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}"
-
-REQUIRED_USE="|| ( glib libev libevent tevent ) "
-
-src_prepare() {
- # 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
-}
-
-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() {
- dodoc AUTHORS ChangeLog NEWS INSTALL README
- use static-libs || prune_libtool_files --all
-}
diff --git a/dev-libs/libverto/libverto-0.3.0.ebuild b/dev-libs/libverto/libverto-0.3.0.ebuild
deleted file mode 100644
index b4a749110cc3..000000000000
--- a/dev-libs/libverto/libverto-0.3.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 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 ~sh ~sparc ~x86 ~amd64-fbsd"
-IUSE="glib +libev libevent tevent +threads static-libs"
-
-# file collisions
-DEPEND="!=app-crypt/mit-krb5-1.10.1-r0
- !=app-crypt/mit-krb5-1.10.1-r1
- !=app-crypt/mit-krb5-1.10.1-r2
- 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}"
-
-REQUIRED_USE="|| ( glib libev libevent tevent ) "
-
-PATCHES=( "${FILESDIR}/${PN}-libev-c89.patch" \
- "${FILESDIR}/${PN}-verify-cflags.patch" \
- "${FILESDIR}/${PN}-Wflags.patch" \
- "${FILESDIR}/${PN}-load.patch" )
-
-DOCS=( AUTHORS ChangeLog NEWS INSTALL README )
-
-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
new file mode 100644
index 000000000000..6fb7b0c2d40d
--- /dev/null
+++ b/dev-libs/libverto/libverto-0.3.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 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="glib +libev libevent +threads"
+REQUIRED_USE="|| ( glib libev libevent )"
+
+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}] )"
+
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS ChangeLog NEWS INSTALL README )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-non-bash.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_with glib) \
+ $(use_with libev) \
+ $(use_with libevent) \
+ $(use_with threads pthread) \
+ --disable-static
+}
+
+multilib_src_install_all() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libverto/metadata.xml b/dev-libs/libverto/metadata.xml
index 24304b1cca36..a8ac1e8d61f8 100644
--- a/dev-libs/libverto/metadata.xml
+++ b/dev-libs/libverto/metadata.xml
@@ -1,15 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<longdescription lang="en">Many applications and libraries are unable to write asynchronous code because they are unable to pick an event loop. This is particularly true of libraries who want to be useful to many applications who use loops that do not integrate with one another or which use home-grown loops. libverto provides a loop-neutral async api which allows the library to expose asynchronous interfaces and offload the choice of the main loop to the application.</longdescription>
<maintainer type="person">
<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/libvformat/files/libvformat-nodoc.patch b/dev-libs/libvformat/files/libvformat-nodoc.patch
index e9dd55ce25ef..cba04e1e569d 100644
--- a/dev-libs/libvformat/files/libvformat-nodoc.patch
+++ b/dev-libs/libvformat/files/libvformat-nodoc.patch
@@ -1,5 +1,5 @@
---- Makefile.am.orig 2005-08-12 13:36:39.000000000 +0200
-+++ Makefile.am 2005-08-12 13:36:57.000000000 +0200
+--- a/Makefile.am
++++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = src vformat test doc
+SUBDIRS = src vformat
diff --git a/dev-libs/libvformat/libvformat-1.13-r2.ebuild b/dev-libs/libvformat/libvformat-1.13-r2.ebuild
index 45b7ef932415..323b1ec0b2de 100644
--- a/dev-libs/libvformat/libvformat-1.13-r2.ebuild
+++ b/dev-libs/libvformat/libvformat-1.13-r2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils autotools
+EAPI=7
+
+inherit autotools
DESCRIPTION="Library to read and write vcard files"
HOMEPAGE="https://sourceforge.net/projects/vformat/"
@@ -10,29 +11,30 @@ SRC_URI="
mirror://debian/pool/main/libv/${PN}/${PN}_${PV}.orig.tar.gz
mirror://debian/pool/main/libv/${PN}/${PN}_${PV}-10.debian.tar.gz
"
+S="${WORKDIR}/${P}.orig"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="alpha amd64 ppc ppc64 sparc x86"
-IUSE="static-libs"
-
-S="${WORKDIR}/${P}.orig"
+KEYWORDS="~alpha amd64 ppc ppc64 sparc x86"
src_prepare() {
- epatch \
+ eapply \
"${WORKDIR}"/debian/patches/*.patch \
"${FILESDIR}"/${PN}-nodoc.patch \
"${FILESDIR}"/${P}-has_unistd.patch \
"${FILESDIR}"/${P}-str.patch
+ default
+
eautoreconf
}
src_configure() {
- econf $(use_enable static-libs static)
+ econf --disable-static
}
src_install() {
default
- use static-libs || prune_libtool_files
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libvformat/metadata.xml b/dev-libs/libvformat/metadata.xml
index 5951eb73bdb6..4b2337b5ff46 100644
--- a/dev-libs/libvformat/metadata.xml
+++ b/dev-libs/libvformat/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/libvoikko/Manifest b/dev-libs/libvoikko/Manifest
new file mode 100644
index 000000000000..27032288f6ea
--- /dev/null
+++ b/dev-libs/libvoikko/Manifest
@@ -0,0 +1,2 @@
+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.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.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/libvoikko/metadata.xml b/dev-libs/libvoikko/metadata.xml
new file mode 100644
index 000000000000..e32249010232
--- /dev/null
+++ b/dev-libs/libvoikko/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>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+ <use>
+ <flag name="expvfst">Enable experimental features of VFST morphology backend</flag>
+ <flag name="hfst">Enable HFST morphology backend</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libvolume_id/Manifest b/dev-libs/libvolume_id/Manifest
deleted file mode 100644
index 49e87ed301b8..000000000000
--- a/dev-libs/libvolume_id/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libvolume_id-0.81.1.tar.bz2 23399 BLAKE2B ba586630200eea63fae41b464c74e15151708888fac4f5ab49b3156c53520ca248b68e5812ebac157fda1c74b1ef70828d48584cba9e9adac043b6f835d97abc SHA512 a30c08fcdb020e8b7d0e5350d996d7007040d72e3c1caf3244cf7c6e08cc7d5eee9b94edbc04a073519243884be8b27e61c33a3f61c25e7bfb42eb96785d992f
diff --git a/dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild b/dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild
deleted file mode 100644
index 8702793a0e2c..000000000000
--- a/dev-libs/libvolume_id/libvolume_id-0.81.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-DESCRIPTION="Library to provide file system information"
-HOMEPAGE="http://www.marcuscom.com"
-SRC_URI="http://www.marcuscom.com/downloads/${PF}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~x86-fbsd"
-IUSE="static"
-
-DEPEND=""
-RDEPEND=""
-
-src_compile() {
- make E="@echo" RANLIB=ranlib AR=ar Q=@
-}
-
-src_install() {
- dodir /usr/share/pkgconfig
- insinto /usr/share/pkgconfig
- doins libvolume_id.pc
-
- insinto /usr/include
- doins libvolume_id.h
-
- insinto /usr
- dolib libvolume_id.so.0
- dosym libvolume_id.so.0 /usr/lib/libvolume_id.so
- use static && dolib libvolume_id.a
-}
diff --git a/dev-libs/libvolume_id/metadata.xml b/dev-libs/libvolume_id/metadata.xml
deleted file mode 100644
index 89c6d8ad612b..000000000000
--- a/dev-libs/libvolume_id/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>bsd@gentoo.org</email>
- <name>BSD Project</name>
- </maintainer>
- <longdescription lang="en">
- Provided file system type information for systems that don't have udev.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/libvterm-neovim/Manifest b/dev-libs/libvterm-neovim/Manifest
deleted file mode 100644
index 1f844d4a1d35..000000000000
--- a/dev-libs/libvterm-neovim/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST libvterm-neovim-0.0_pre20150309.tar.xz 52244 BLAKE2B e4791789b2373e9cad4796d0567dd87f347f5b83b293a996d155f163602d10a3d9326d5f0b1417cd46c5b26532064f2d90b1401002413d44e81f895038bef8ac SHA512 916bf1806f6c88b64debb19a119010e6e3ef968e289ab921ebf7a5ed2d98f52881379792bc9c8826bba546da0f65cb6154d9743bb89a614ac4e12d24167a1fb4
-DIST libvterm-neovim-0.0_pre20150621.tar.xz 52240 BLAKE2B 040c2510356a03c4b5b98197a2353285e23025fb8377396fafd4dce3b1afdf0d969e067317f5eb08878fbe69cca601ac85c8dc6cc51416f58e0611100bd54f5d SHA512 e6fe678da5498177d7fbd0cd945600b643f7cd76ff9ed00f3ac7923be55793765429a2f2da5fba4055dfaa4b7200c28a021f3672ce7ae16b99e58738e5093fd8
diff --git a/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild b/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild
deleted file mode 100644
index 3ccf9cdee2c0..000000000000
--- a/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150309.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib
-
-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"
-IUSE=""
-
-DEPEND="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
- prune_libtool_files
-
- dodoc doc/*
-}
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 3ccf9cdee2c0..000000000000
--- a/dev-libs/libvterm-neovim/libvterm-neovim-0.0_pre20150621.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib
-
-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"
-IUSE=""
-
-DEPEND="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
- prune_libtool_files
-
- dodoc doc/*
-}
diff --git a/dev-libs/libvterm-neovim/metadata.xml b/dev-libs/libvterm-neovim/metadata.xml
deleted file mode 100644
index 84f8f1cf6bcb..000000000000
--- a/dev-libs/libvterm-neovim/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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 7e6e12617d32..ae74e3979919 100644
--- a/dev-libs/libvterm/Manifest
+++ b/dev-libs/libvterm/Manifest
@@ -1,3 +1,5 @@
-DIST libvterm-0.0_pre20160305.tar.xz 665672 BLAKE2B 3f86ada9967f8c5e085ef324330082858c27b07583af2fa4946f74f3edf3bc697cb3335108df89a6de7f058b9649e82fc85b133084c0c8212a98e5f8adab6ce8 SHA512 7e9a44ae679b8c7216f019c0c6b90f1b762f051f58fdb349cfa2a3b2df606940d891547fbc24f05ff32a33e4749242ce8ee2af214b7b3623b83a9f4b9fd53585
-DIST libvterm-0.0_pre20171004.tar.xz 618644 BLAKE2B 07ca64652e09825b5ddf644b962eddcb5c3c97b099da853f091d784a30b5740b77d0f92f8047f8387804cd9ad98f1342ee989cca648bda27260659eb130a2245 SHA512 96b4b113046797a14287f13f39c05da3fe1d52211de44cc11d44848563fa9c234d53a59b66af27721118c2267ad02c9c5b3f6d5be8e1769c708ed90a79b1dcd8
-DIST libvterm-0.0_pre20181126.tar.gz 65524 BLAKE2B 00ad4cbc60739aae173e86ae7aa357869f815658c3c13e04808841e5e1e847732046e212153d4e4d49bbddcd5c661cdb7f7f962e6fd0a305a534bbca074a4ca6 SHA512 9f55c9a00807e46c1c6157fc372d3cad575f2574ac8b3abc82acd26ef6425166ac18ee1b7d77a9dfc617b14bc9eb7dc3a364cef5c0bf6c4951dc755d9c6c5ce0
+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_pre20160305.ebuild b/dev-libs/libvterm/libvterm-0.0_pre20160305.ebuild
deleted file mode 100644
index 65353c8e11ac..000000000000
--- a/dev-libs/libvterm/libvterm-0.0_pre20160305.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib
-
-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.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="
- sys-devel/libtool
- virtual/pkgconfig"
-
-RDEPEND="!dev-libs/libvterm-neovim"
-
-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
- prune_libtool_files
-
- dodoc doc/*
-}
diff --git a/dev-libs/libvterm/libvterm-0.0_pre20171004.ebuild b/dev-libs/libvterm/libvterm-0.0_pre20171004.ebuild
deleted file mode 100644
index 155f107ba9bd..000000000000
--- a/dev-libs/libvterm/libvterm-0.0_pre20171004.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib
-
-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.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- sys-devel/libtool
- virtual/pkgconfig"
-
-RDEPEND="!dev-libs/libvterm-neovim"
-
-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
- prune_libtool_files
-
- dodoc doc/*
-}
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 387a458e471e..000000000000
--- a/dev-libs/libvterm/libvterm-0.0_pre20181126.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit eutils flag-o-matic multilib
-
-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"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-
-DEPEND="
- sys-devel/libtool
- virtual/pkgconfig"
-
-RDEPEND="!dev-libs/libvterm-neovim"
-
-S=${WORKDIR}/libvterm-0.0
-
-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
- 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 84f8f1cf6bcb..f370d3be1a38 100644
--- a/dev-libs/libvterm/metadata.xml
+++ b/dev-libs/libvterm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>vim@gentoo.org</email>
- <name>Gentoo Vim Project</name>
- </maintainer>
+ <maintainer type="project">
+ <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 c77305410958..15b5c4b67c06 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -1 +1,5 @@
-DIST libwacom-0.30.tar.gz 119261 BLAKE2B 4f76fcbed42c5453701e3b5dda880a26f9956a803827584aeaf080196b26bedb65f6bdccb7ffe18e7f93861dfee8a633894869b1ea4f6b95e72d64273087b60c SHA512 952ead4b39461d64d9592d0e05824669d0a8bc721aced46f5a99832da0fc63a4023f9803d416ceaf71dc7182660d05d45b799424bca7f54128fa7c44447b688b
+DIST libwacom-2.10.0.tar.xz 114952 BLAKE2B ec9226feeac9998bc8b1886967db1ef5ea34312717eec5cce31796ffb2209cd479f6b2c1f7e2fe63c7c26ff7bdc93cf33a04314caefe84bb1113693086a78de5 SHA512 dc62db42596e14ace8463bc6bb115503d55f14c23a2a259b2169746e21b25eeeaacc09d7d1dd85c3e05f6dc5f3d96a3c757b2c93b171673e8f869337408495f9
+DIST libwacom-2.11.0.tar.xz 116056 BLAKE2B 2091859e036d928bc62543a56ea6ca0e2a879f83000437bc73560c334533a1b7b17e36a4f730c51f5b944cea6dbed0bc90b924c1f2112cd8f4bf0cb82505a0b7 SHA512 66823d97d165b428ddbfc3539572c94e2138b0732bc1c9e97c5ee071982fe8b82ead1302a5c308cbd1038e283fdfd7db853ef4a822c946f85a63b8247877a8a9
+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-0.30.ebuild b/dev-libs/libwacom/libwacom-0.30.ebuild
deleted file mode 100644
index 874bf7986c96..000000000000
--- a/dev-libs/libwacom/libwacom-0.30.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools 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}/archive/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86"
-IUSE="doc static-libs"
-
-RDEPEND="
- dev-libs/glib:2
- virtual/libgudev:=
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
- default
- if ! use doc; then
- sed -e 's:^\(SUBDIRS = .* \)doc:\1:' -i Makefile.am || die
- fi
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
- local udevdir="$(get_udevdir)"
- dodir "${udevdir}/rules.d"
- # generate-udev-rules must be run from inside tools directory
- pushd tools > /dev/null || die
- ./generate-udev-rules > "${ED}/${udevdir}/rules.d/65-libwacom.rules" || \
- die "generating udev rules failed"
- popd > /dev/null || die
- find "${D}" -name '*.la' -exec rm -f {} + || die
-}
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..4b992460e769
--- /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.11.0.ebuild b/dev-libs/libwacom/libwacom-2.11.0.ebuild
new file mode 100644
index 000000000000..ec6ea6420bb5
--- /dev/null
+++ b/dev-libs/libwacom/libwacom-2.11.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 0a5e779e809b..7b987913f902 100644
--- a/dev-libs/libwacom/metadata.xml
+++ b/dev-libs/libwacom/metadata.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<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/Manifest b/dev-libs/libwapcaplet/Manifest
index 72e8840dac50..7a273649321e 100644
--- a/dev-libs/libwapcaplet/Manifest
+++ b/dev-libs/libwapcaplet/Manifest
@@ -1 +1 @@
-DIST libwapcaplet-0.4.1-src.tar.gz 31448 BLAKE2B a686a357dc84135da902380de17b0f8415a682cdb258ea0a8f7899581d23f6fef3aa1600e2657aa728b5689a8fa31a3fe489a7ce8a339adf958c3c25f6151a04 SHA512 49efb958ee79e932916a956844970780723cc71b4b2e5f442507566b2d632cc17c67d984018b48ae31a9bd7d92797766e39110dec02937b45ead26523e8cc2e1
+DIST libwapcaplet-0.4.3-src.tar.gz 31766 BLAKE2B 7a51b27911192b0697d6eebe9e98abf720a76daa0e0ce0eb6148186e21e36d3b1853d3b24c8fa325ecaa4ed69d8262a9282ef77ba028d316dd16a225a6766d64 SHA512 b4cc8b0dac86c87b1806acfcf5c4734955eb797cb04ea67f764bae32fdecfd3ee4d8ad0f2f3f0a1813c9684b7120dbb97ecf11f29de0d60a7bd45d96c1a451cb
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.1-r1.ebuild b/dev-libs/libwapcaplet/libwapcaplet-0.4.1-r1.ebuild
deleted file mode 100644
index c625ebe79b69..000000000000
--- a/dev-libs/libwapcaplet/libwapcaplet-0.4.1-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="string internment library, written in C"
-HOMEPAGE="http://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 ~ppc ~ppc64 ~m68k-mint"
-IUSE="test"
-
-DEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1
- test? ( >=dev-libs/check-0.9.11 )"
-
-PATCHES=(
- # bug 664288
- "${FILESDIR}/${PN}-0.4.1-makefile.patch"
-)
-
-_emake() {
- source /usr/share/netsurf-buildsystem/gentoo-helpers.sh
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test
-}
-
-src_install() {
- _emake DESTDIR="${ED}" install
-}
diff --git a/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild b/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..d4494f601744
--- /dev/null
+++ b/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit netsurf
+
+DESCRIPTION="string internment library, written in C"
+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 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( >=dev-libs/check-0.9.11 )"
+BDEPEND="
+ >=dev-build/netsurf-buildsystem-1.7-r1"
+
+_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/libwapcaplet/metadata.xml b/dev-libs/libwapcaplet/metadata.xml
index 7a38bb900964..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 4062485fb086..0eb3efae0e0b 100644
--- a/dev-libs/libwbxml/Manifest
+++ b/dev-libs/libwbxml/Manifest
@@ -1 +1 @@
-DIST libwbxml-0.11.2.tar.bz2 354176 BLAKE2B bedc86dc269c876d788b682b67fbc021a50ee6742dad4424a118edee061e5f745941dff5589c2b4da562822f655b277c09858382615564831317bcb5b51a4c16 SHA512 1eb01e35b1fab548163caca8ba024216926995adaf2e3bd7a001927858c51a792620eb7e9ca111fc6bdf5af5c1a1cbd3eac3fe53d427cd1a6d9e8aadfc51bf1f
+DIST libwbxml-0.11.8.tar.gz 362833 BLAKE2B 8501a578c1937097a7f0993baf0bed1d645d14441fca149142a8d338f9b6aece7f726576d9170dfc298388c66937d8a6549d52ed75305cab2c427c82b1331dfd SHA512 14b74e3d25f21ce4bf05f4ed546087817c698b5a44190c569b7691e26510b117118bf828e15beccaa4bdd2e744c45f9b5695b38eb7994f3af0f4f81f90ecff69
diff --git a/dev-libs/libwbxml/libwbxml-0.11.2.ebuild b/dev-libs/libwbxml/libwbxml-0.11.2.ebuild
deleted file mode 100644
index 5c14fc4f61f0..000000000000
--- a/dev-libs/libwbxml/libwbxml-0.11.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="Library and tools to parse, encode and handle WBXML documents"
-HOMEPAGE="http://libwbxml.opensync.org/"
-SRC_URI="mirror://sourceforge/libwbxml/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="test"
-
-RDEPEND="
- dev-libs/expat
- virtual/libiconv
-"
-DEPEND="${RDEPEND}
- test? ( dev-libs/check )
-"
-
-DOCS=( AUTHORS BUGS ChangeLog NEWS README References THANKS TODO )
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_INSTALL_DOC=OFF
- -DENABLE_UNIT_TEST=$(usex test)
- )
-
- cmake-utils_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/libwbxml/metadata.xml b/dev-libs/libwbxml/metadata.xml
index f71bb61e3def..ba72f4175e24 100644
--- a/dev-libs/libwbxml/metadata.xml
+++ b/dev-libs/libwbxml/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
<upstream>
+ <remote-id type="github">libwbxml/libwbxml</remote-id>
<remote-id type="sourceforge">libwbxml</remote-id>
</upstream>
</pkgmetadata>
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 24efb4976012..000000000000
--- a/dev-libs/libx86/libx86-1.1-r4.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils 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 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 5b159fbcadd1..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/files/libx86emu-1.1-fix-makefile.patch b/dev-libs/libx86emu/files/libx86emu-1.1-fix-makefile.patch
new file mode 100644
index 000000000000..6e565340e67b
--- /dev/null
+++ b/dev-libs/libx86emu/files/libx86emu-1.1-fix-makefile.patch
@@ -0,0 +1,82 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,15 +1,4 @@
+-ARCH := $(shell uname -m)
+-ifneq ($(filter i386 i486 i586 i686, $(ARCH)),)
+-ARCH := i386
+-endif
+-
+-CC = gcc
+-CFLAGS = -g -O2 -fPIC -fomit-frame-pointer -Wall
+-ifneq ($(filter x86_64, $(ARCH)),)
+-LIBDIR = /usr/lib64
+-else
+-LIBDIR = /usr/lib
+-endif
++CFLAGS += -fPIC -Wall
+ LIBX86 = libx86emu
+
+ VERSION := $(shell cat VERSION)
+@@ -24,9 +13,6 @@
+
+ .PHONY: all shared install test clean
+
+-%.o: %.c
+- $(CC) -c $(CFLAGS) $<
+-
+ all: shared
+
+ shared: $(LIB_NAME)
+@@ -38,13 +24,15 @@
+ install -m 644 -D include/x86emu.h $(DESTDIR)/usr/include/x86emu.h
+
+ $(LIB_NAME): .depend $(OBJS)
+- $(CC) -shared -Wl,-soname,$(LIB_SONAME) $(OBJS) -o $(LIB_NAME)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,$(LIB_SONAME) $(OBJS) -o $(LIB_NAME)
++ ln -snf $(LIB_NAME) $(LIB_SONAME)
++ ln -snf $(LIB_SONAME) $(LIBX86).so
+
+-test:
+- make -C test
++check:
++ $(MAKE) -C test
+
+ clean:
+- make -C test clean
++ $(MAKE) -C test clean
+ rm -f *.o *~ include/*~ *.so.* .depend
+
+ ifneq "$(MAKECMDGOALS)" "clean"
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -1,9 +1,10 @@
+-CC = gcc
+-CFLAGS = -g -Wall -fomit-frame-pointer -O2
++CFLAGS += -fPIC -Wall
++CPPFLAGS += -I../include
+ TST_FILES = $(wildcard *.tst)
+ INIT_FILES = $(addsuffix .init,$(basename $(wildcard *.tst)))
+ RES_FILES = $(addsuffix .result,$(basename $(wildcard *.tst)))
+ TEST_OPTS = --verbose --show code,regs,data,acc,io,ints,attr,time
++LDLIBS = -L.. -lx86emu
+
+ .PHONY: all test clean
+ .SECONDARY: $(INIT_FILES)
+@@ -12,13 +13,12 @@
+
+ all: x86test
+ @./prepare_test *.tst
+- @./x86test $(TEST_OPTS) *.init
++ @LD_LIBRARY_PATH=.. ./x86test $(TEST_OPTS) *.init
+
+-x86test: x86test.c
+- $(CC) $(CFLAGS) $< -lx86emu -o $@
++x86test: x86test.o
+
+-%.result: %.init
+- @./x86test $(TEST_OPTS) $<
++%.result: %.init x86test
++ @LD_LIBRARY_PATH=.. ./x86test $(TEST_OPTS) $<
+
+ %.init: %.tst
+ @./prepare_test $<
diff --git a/dev-libs/libx86emu/files/libx86emu-1.1-gcc10-fno-common.patch b/dev-libs/libx86emu/files/libx86emu-1.1-gcc10-fno-common.patch
new file mode 100644
index 000000000000..8d69e874523d
--- /dev/null
+++ b/dev-libs/libx86emu/files/libx86emu-1.1-gcc10-fno-common.patch
@@ -0,0 +1,13 @@
+--- a/include/ops.h
++++ b/include/ops.h
+@@ -39,8 +39,8 @@
+ #ifndef __X86EMU_OPS_H
+ #define __X86EMU_OPS_H
+
+-void (*x86emu_optab[0x100])(u8 op1) L_SYM;
+-void (*x86emu_optab2[0x100])(u8 op2) L_SYM;
++extern void (*x86emu_optab[0x100])(u8 op1) L_SYM;
++extern void (*x86emu_optab2[0x100])(u8 op2) L_SYM;
+
+ void decode_cond(int type) L_SYM;
+
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 b8392b9291f2..000000000000
--- a/dev-libs/libx86emu/libx86emu-1.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit multilib 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"
-IUSE=""
-
-src_prepare() {
- sed -i \
- -e 's:$(CC) -shared:& $(LDFLAGS):' \
- Makefile || die
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -fPIC -Wall"
-}
-
-src_test() {
- ln -sf libx86emu.so.1.1 libx86emu.so || die
- ln -sf libx86emu.so.1.1 libx86emu.so.1 || die
- emake \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS} ${LDFLAGS} -Wl,-rpath,${S} -fPIC -Wall -I../include/ -L../" test
-}
-
-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 6f49eba8f496..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 2fe7a3ceb60d..c2fba695e2f4 100644
--- a/dev-libs/libxdg-basedir/Manifest
+++ b/dev-libs/libxdg-basedir/Manifest
@@ -1 +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 96a53b458718..000000000000
--- a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils
-
-DESCRIPTION="Small library to access XDG Base Directories Specification paths"
-HOMEPAGE="https://github.com/devnev/libxdg-basedir"
-SRC_URI="${HOMEPAGE}/archive/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 hppa ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x64-macos ~x86-solaris"
-IUSE="doc static-libs"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-buffer-overflow.patch"
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-dependency-tracking \
- $(use_enable static-libs 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
- dohtml -r doc/html/*
- fi
-
- find "${D}" -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
new file mode 100644
index 000000000000..e4e7f70a1632
--- /dev/null
+++ b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 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 ~riscv x86 ~amd64-linux ~x64-macos"
+IUSE="doc"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+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
+
+ use doc && local HTML_DOCS=( doc/html/. )
+ einstalldocs
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libxdg-basedir/metadata.xml b/dev-libs/libxdg-basedir/metadata.xml
index 26b0caef5e23..1478f0b1fe68 100644
--- a/dev-libs/libxdg-basedir/metadata.xml
+++ b/dev-libs/libxdg-basedir/metadata.xml
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">devnev/libxdg-basedir</remote-id>
- </upstream>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@tastytea.de</email>
+ <name>Ronny (tastytea) Gutbrod</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">devnev/libxdg-basedir</remote-id>
+ </upstream>
</pkgmetadata>
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/libxdiff/metadata.xml b/dev-libs/libxdiff/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/libxdiff/metadata.xml
+++ b/dev-libs/libxdiff/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libxls/Manifest b/dev-libs/libxls/Manifest
index b22cd686234a..de7f1516cbcb 100644
--- a/dev-libs/libxls/Manifest
+++ b/dev-libs/libxls/Manifest
@@ -1 +1 @@
-DIST libxls-1.4.0.zip 428782 BLAKE2B 52b67eff4ae315dfde42abd276ace7adaecdd4d88d971a97f9aca1f0cce0c874cbcfa6a060880f1101e4fa685fa566475e753eb34ee621e509fbee8c427e6d52 SHA512 e55c0faa25b17a42d53ca939c80e1d3fd0c0e91de7f73d3d10d1fb6658e58e8f38f4e6288a3e3ecb9ae53ea681629ee66ec173229325eea69e01cbd038e68c95
+DIST libxls-1.6.2.tar.gz 443736 BLAKE2B 46f875613caa423dcb3acac0c38a68c7274993b25cc9be891266b8cf59e8eb0f17580e399305cf927854e090f34fa34f57f7fcbdceb75dffaf04c3362fa63095 SHA512 55e5cb33ec63484063d0893eee7352b89f993363762cd5ef42b5f918b09d1eafcf933fba076255267d9413c963481eb07c7054a2495d2d529db2e1d626353d22
diff --git a/dev-libs/libxls/files/libxls-1.4.0-infinite.patch b/dev-libs/libxls/files/libxls-1.4.0-infinite.patch
deleted file mode 100644
index 6f6e9fc1e1ec..000000000000
--- a/dev-libs/libxls/files/libxls-1.4.0-infinite.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-cellRow and cellCol need to be of a type larger than WORD.
-Otherwise for for documents with 65535 columns condition
-loops forever in the following line:
- for (cellRow = 0; cellRow <= pWS->rows.lastrow; cellRow++) {
-In this case <= 65535 is always true.
-
-https://bugs.gentoo.org/607094 has an example doc of this kind.
-diff --git a/libxls/src/xls2csv.c b/libxls/src/xls2csv.c
-index b804267..1f0d4b3 100644
---- a/src/xls2csv.c
-+++ b/src/xls2csv.c
-@@ -104,3 +104,3 @@ int main(int argc, char *argv[]) {
- struct st_row_data* row;
-- WORD cellRow, cellCol;
-+ DWORD cellRow, cellCol;
-
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.4.0-r1.ebuild b/dev-libs/libxls/libxls-1.4.0-r1.ebuild
deleted file mode 100644
index fd8b84de8c06..000000000000
--- a/dev-libs/libxls/libxls-1.4.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils
-
-DESCRIPTION="A library which can read Excel (xls) files"
-HOMEPAGE="http://libxls.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/libxls/${P}.zip"
-
-LICENSE="GPL-2 LGPL-3"
-SLOT="0/1" # libxlsreader.so.1
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-RESTRICT=test # test driver is missing
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-asprintf.patch
- "${FILESDIR}"/${P}-infinite.patch
-)
-
-src_configure() {
- econf \
- --disable-static
-}
-
-src_install() {
- default
-
- prune_libtool_files
-}
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/metadata.xml b/dev-libs/libxls/metadata.xml
index 8a47f96b1b95..4af449bcd91e 100644
--- a/dev-libs/libxls/metadata.xml
+++ b/dev-libs/libxls/metadata.xml
@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">libxls</remote-id>
+ <remote-id type="github">libxls/libxls</remote-id>
</upstream>
</pkgmetadata>
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 7c58d04e3ed3..417300261f0f 100644
--- a/dev-libs/libxml2/Manifest
+++ b/dev-libs/libxml2/Manifest
@@ -1,5 +1,6 @@
-DIST libxml2-2.9.9-patchset.tar.xz 16792 BLAKE2B f761b5cda41d57543dadf2cdd8915b69727a818f31badc1092903a9e4341b807852fed0887e9ec7a06a0c19c4a49f9afc2f3c048947f21a09006bb51ef8399ef SHA512 c8c0ee6d0a2833e5664aa7549999f8ba63b9f0bbfda4651050eeee7d3a958c33ef55daba8cfb1ca73ebffeb44d411b5f4259fe6e11ef0204ad2deebd1708ebfb
-DIST libxml2-2.9.9.tar.gz 5476717 BLAKE2B 00a67c38084f2effd5d68d7d3e68f0c96cf4f52eab6d8d9b96dc91f03a84baa132abeaf303a836ff9bbf04f832432a036077316c464398e433c9779d8519074b SHA512 cb7784ba4e72e942614e12e4f83f4ceb275f3d738b30e3b5c1f25edf8e9fa6789e854685974eed95b362049dbf6c8e7357e0327d64c681ed390534ac154e6810
-DIST xmlts20080827.tar.gz 638940 BLAKE2B c5aab959c6e0698acd5b9be82b48a8ac26f4d01cc03f9acfff20d344f97f4711fc6d4a524ae70457147e8e30c72e27b6726829e1dd21896286aa974ed60774e7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d
+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/files/libxml2-2.7.1-catalog_path.patch b/dev-libs/libxml2/files/libxml2-2.7.1-catalog_path.patch
deleted file mode 100644
index 3f69ec2a4d88..000000000000
--- a/dev-libs/libxml2/files/libxml2-2.7.1-catalog_path.patch
+++ /dev/null
@@ -1,66 +0,0 @@
---- a/catalog.c
-+++ b/catalog.c
-@@ -68,10 +68,10 @@
- #define XML_URN_PUBID "urn:publicid:"
- #define XML_CATAL_BREAK ((xmlChar *) -1)
- #ifndef XML_XML_DEFAULT_CATALOG
--#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
-+#define XML_XML_DEFAULT_CATALOG "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog"
- #endif
- #ifndef XML_SGML_DEFAULT_CATALOG
--#define XML_SGML_DEFAULT_CATALOG "file:///etc/sgml/catalog"
-+#define XML_SGML_DEFAULT_CATALOG "file://@GENTOO_PORTAGE_EPREFIX@/etc/sgml/catalog"
- #endif
-
- #if defined(_WIN32) && defined(_MSC_VER)
-@@ -76,7 +76,7 @@
-
- #if defined(_WIN32) && defined(_MSC_VER)
- #undef XML_XML_DEFAULT_CATALOG
--static char XML_XML_DEFAULT_CATALOG[256] = "file:///etc/xml/catalog";
-+static char XML_XML_DEFAULT_CATALOG[256] = "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog";
- #if defined(_WIN32_WCE)
- /* Windows CE don't have a A variant */
- #define GetModuleHandleA GetModuleHandle
---- a/xmlcatalog.c
-+++ b/xmlcatalog.c
-@@ -43,7 +43,7 @@
-
-
- #ifndef XML_SGML_DEFAULT_CATALOG
--#define XML_SGML_DEFAULT_CATALOG "/etc/sgml/catalog"
-+#define XML_SGML_DEFAULT_CATALOG "@GENTOO_PORTAGE_EPREFIX@/etc/sgml/catalog"
- #endif
-
- /************************************************************************
---- a/runtest.c
-+++ b/runtest.c
-@@ -2747,7 +2747,7 @@
- */
- static int
- uripMatch(const char * URI) {
-- if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
-+ if ((URI == NULL) || (!strcmp(URI, "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog")))
- return(0);
- /* Verify we received the escaped URL */
- if (strcmp(urip_rcvsURLs[urip_current], URI))
-@@ -2766,7 +2766,7 @@
- */
- static void *
- uripOpen(const char * URI) {
-- if ((URI == NULL) || (!strcmp(URI, "file:///etc/xml/catalog")))
-+ if ((URI == NULL) || (!strcmp(URI, "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog")))
- return(NULL);
- /* Verify we received the escaped URL */
- if (strcmp(urip_rcvsURLs[urip_current], URI))
---- a/xmllint.c
-+++ b/xmllint.c
-@@ -103,7 +103,7 @@
- #endif
-
- #ifndef XML_XML_DEFAULT_CATALOG
--#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog"
-+#define XML_XML_DEFAULT_CATALOG "file://@GENTOO_PORTAGE_EPREFIX@/etc/xml/catalog"
- #endif
-
- typedef enum {
diff --git a/dev-libs/libxml2/files/libxml2-2.9.2-python-ABIFLAG.patch b/dev-libs/libxml2/files/libxml2-2.9.2-python-ABIFLAG.patch
deleted file mode 100644
index 14dd5bc7342e..000000000000
--- a/dev-libs/libxml2/files/libxml2-2.9.2-python-ABIFLAG.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 14ac0a8..f787b12 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -844,7 +844,7 @@ if test "$with_python" != "no" ; then
- fi
- if test "$PYTHON" != ""
- then
-- PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
-+ PYTHON_VERSION=`$PYTHON -c "import sysconfig; print(sysconfig.get_config_var('LDVERSION') or sysconfig.get_config_var('py_version_short'))"`
- PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
- # does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
- #
diff --git a/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch b/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch
deleted file mode 100644
index fcc441d05de2..000000000000
--- a/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://gitlab.gnome.org/GNOME/libxml2/merge_requests/14
-
-From 54878c018af979b20ca1bfbf12599973484cae5b Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Thu, 3 Jan 2019 05:44:03 -0500
-Subject: [PATCH] fix reader5.py test when building out of tree
-
-When building out of tree, the relative path this test uses doesn't
-work. Resolve the path relative to the test script itself instead.
-
-Url: https://bugs.gentoo.org/565576
----
- python/tests/reader5.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/python/tests/reader5.py b/python/tests/reader5.py
-index 82d0daea474a..da5355ffc4c6 100755
---- a/python/tests/reader5.py
-+++ b/python/tests/reader5.py
-@@ -4,6 +4,7 @@
- # this extract the Dragon bibliography entries from the XML specification
- #
- import libxml2
-+import os
- import sys
-
- # Memory debug specific
-@@ -14,7 +15,8 @@ Ravi Sethi, and Jeffrey D. Ullman.
- <emph>Compilers: Principles, Techniques, and Tools</emph>.
- Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>"""
-
--f = open('../../test/valid/REC-xml-19980210.xml', 'rb')
-+basedir = os.path.dirname(os.path.realpath(__file__))
-+f = open(os.path.join(basedir, '../../test/valid/REC-xml-19980210.xml'), 'rb')
- input = libxml2.inputBuffer(f)
- reader = input.newTextReader("REC")
- res=""
---
-2.19.1
-
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..bcb12e755d35
--- /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.9-r1.ebuild b/dev-libs/libxml2/libxml2-2.9.9-r1.ebuild
deleted file mode 100644
index 8f07efb6168f..000000000000
--- a/dev-libs/libxml2/libxml2-2.9.9-r1.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-PYTHON_REQ_USE="xml"
-
-inherit libtool flag-o-matic ltprune python-r1 autotools prefix multilib-minimal
-
-DESCRIPTION="XML C parser and toolkit"
-HOMEPAGE="http://www.xmlsoft.org/"
-
-LICENSE="MIT"
-SLOT="2"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug examples icu ipv6 lzma python readline static-libs test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-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="xmlts20080827.tar.gz"
-
-SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
- https://dev.gentoo.org/~leio/distfiles/${P}-patchset.tar.xz
- test? (
- ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
- ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
- http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
-
-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}
- dev-util/gtk-doc-am
- virtual/pkgconfig
- hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
-"
-
-S="${WORKDIR}/${PN}-${PV%_rc*}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/xml2-config
-)
-
-src_unpack() {
- # ${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 ${P/_rc/-rc}.tar.gz
- unpack ${P}-patchset.tar.xz
- 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
-
- DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
-
- # Selective cherry-picks from master up to 2019-02-28 (commit 8161b463f5)
- eapply "${WORKDIR}"/patches
-
- # Patches needed for prefix support
- eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
-
- eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
-
- # Fix build for Windows platform
- # https://bugzilla.gnome.org/show_bug.cgi?id=760456
- # eapply "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
-
- # Fix python detection, bug #567066
- # https://bugzilla.gnome.org/show_bug.cgi?id=760458
- eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
-
- # Fix python tests when building out of tree #565576
- eapply "${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
-
- 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
-# epunt_cxx # if we don't eautoreconf
-
- eautoreconf
-}
-
-multilib_src_configure() {
- # filter seemingly problematic CFLAGS (#26320)
- filter-flags -fprefetch-loop-arrays -funroll-loops
-
- # USE zlib support breaks gnome2
- # (libgnomeprint for instance fails to compile with
- # fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
-
- # The meaning of the 'debug' USE flag does not apply to the --with-debug
- # switch (enabling the libxml2 debug module). See bug #100898.
-
- # --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() {
- mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
- run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130
- }
-
- libxml2_configure --without-python # build python bindings separately
-
- if multilib_is_native_abi && use python; then
- python_foreach_impl libxml2_py_configure
- fi
-}
-
-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 || die "tests failed"
- multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test
-}
-
-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() {
- # on windows, xmllint is installed by interix libxml2 in parent prefix.
- # this is the version to use. the native winnt version does not support
- # symlinks, which makes repoman fail if the portage tree is linked in
- # from another location (which is my default). -- mduft
- if [[ ${CHOST} == *-winnt* ]]; then
- rm -rf "${ED}"/usr/bin/xmllint
- rm -rf "${ED}"/usr/bin/xmlcatalog
- fi
-
- 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
-
- prune_libtool_files --modules
-}
-
-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 [[ "${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 dont 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
-}
-
-libxml2_py_emake() {
- pushd "${BUILD_DIR}/python" > /dev/null || die
- emake "$@"
- popd > /dev/null
-}
diff --git a/dev-libs/libxml2/libxml2-2.9.9.ebuild b/dev-libs/libxml2/libxml2-2.9.9.ebuild
deleted file mode 100644
index 577d8feba4a1..000000000000
--- a/dev-libs/libxml2/libxml2-2.9.9.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
-PYTHON_REQ_USE="xml"
-
-inherit libtool flag-o-matic ltprune python-r1 autotools prefix multilib-minimal
-
-DESCRIPTION="XML C parser and toolkit"
-HOMEPAGE="http://www.xmlsoft.org/"
-
-LICENSE="MIT"
-SLOT="2"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug examples icu ipv6 lzma python readline static-libs test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-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="xmlts20080827.tar.gz"
-
-SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
- test? (
- ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
- ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
- http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
-
-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}
- dev-util/gtk-doc-am
- virtual/pkgconfig
- hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
-"
-
-S="${WORKDIR}/${PN}-${PV%_rc*}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/xml2-config
-)
-
-src_unpack() {
- # ${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 ${P/_rc/-rc}.tar.gz
- 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
-
- DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
-
- # Patches needed for prefix support
- eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
-
- eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
-
- # Fix build for Windows platform
- # https://bugzilla.gnome.org/show_bug.cgi?id=760456
- # eapply "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
-
- # Fix python detection, bug #567066
- # https://bugzilla.gnome.org/show_bug.cgi?id=760458
- eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
-
- # Fix python tests when building out of tree #565576
- eapply "${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
-
- 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
-# epunt_cxx # if we don't eautoreconf
-
- eautoreconf
-}
-
-multilib_src_configure() {
- # filter seemingly problematic CFLAGS (#26320)
- filter-flags -fprefetch-loop-arrays -funroll-loops
-
- # USE zlib support breaks gnome2
- # (libgnomeprint for instance fails to compile with
- # fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
-
- # The meaning of the 'debug' USE flag does not apply to the --with-debug
- # switch (enabling the libxml2 debug module). See bug #100898.
-
- # --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() {
- mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
- run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130
- }
-
- libxml2_configure --without-python # build python bindings separately
-
- if multilib_is_native_abi && use python; then
- python_foreach_impl libxml2_py_configure
- fi
-}
-
-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() {
- emake check
- multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test
-}
-
-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() {
- # on windows, xmllint is installed by interix libxml2 in parent prefix.
- # this is the version to use. the native winnt version does not support
- # symlinks, which makes repoman fail if the portage tree is linked in
- # from another location (which is my default). -- mduft
- if [[ ${CHOST} == *-winnt* ]]; then
- rm -rf "${ED}"/usr/bin/xmllint
- rm -rf "${ED}"/usr/bin/xmlcatalog
- fi
-
- 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
-
- prune_libtool_files --modules
-}
-
-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 [[ "${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 dont 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
-}
-
-libxml2_py_emake() {
- pushd "${BUILD_DIR}/python" > /dev/null || die
- emake "$@"
- popd > /dev/null
-}
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 137e67bdbf95..46e3b3676cb5 100644
--- a/dev-libs/libxml2/metadata.xml
+++ b/dev-libs/libxml2/metadata.xml
@@ -1,11 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</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 fa97a1acd2d4..fcb0d2199be7 100644
--- a/dev-libs/libxmlb/Manifest
+++ b/dev-libs/libxmlb/Manifest
@@ -1,3 +1,3 @@
-DIST libxmlb-0.1.10.tar.gz 86237 BLAKE2B 042898be9ff8bb6b253ce7194e774bf6a1d8f08316ba54647b3667b1969c035364c3ef25d179fab20cbf9ca83bbd7e4d6012ec1adf08849fe99e40ab9a294983 SHA512 81f5edf776241580c0e47f43f9b15ecbc695022007cf90070f95ca190f2a270f15a856a89246c772f52e93b8eed88d228c5f426cd4dc84e8e6fdf2556b8714b3
-DIST libxmlb-0.1.11.tar.gz 88848 BLAKE2B b8ae448f8ead51c884304c190c2b5535f864eb410f45adc4c1f548d6aedcba944b6e0418fbc781e2561e18b392f3a77df8512f6d3ec5e0831513a2dac520409d SHA512 734082c4c15d8b02eb3e526b59fb6be8a7a61758a059792fca567c9a647df0597561fb6967903fb44d566ccd6e8e6d99286d0cae495b9d8ec12a3cd257c24a16
-DIST libxmlb-0.1.8.tar.gz 85945 BLAKE2B 4d17aaf4e5ed3001a4db24e7ca220cba3fc14ee446b127b65b545fab997c7c31835b57b0dd9d23da74200d774e3986558e7618789f42d1e95c0734fa5bb6e098 SHA512 4109f171da4622429d18afdb9ae183a64f89e0b92df285efae5736017970f877a92391876969c20894184c6d5df96390ccd46be1d1087882a5461476c39e433a
+DIST libxmlb-0.3.14.tar.gz 127096 BLAKE2B d99ec674385cd8dc31d92b14ac1539138b00c980ba3561fd406099a64afdf2f8b6fa2d808b5a33daafbcbc5ef87e20a02a534f860699f78bc71aa55d4b507d51 SHA512 6c77b9475ca3430270ca29e3d1c5720740c54ff55da76501495da315ea039500e64791689600aa59f3003ff54d030203616ad468169c296bf34434a68e24df50
+DIST libxmlb-0.3.18.tar.gz 131331 BLAKE2B 8ee200c28b5159a895d601700b6553945b23e321d2266a0438a176747be4922b81bdbc9b9a27c3ff8490f8d40fd5e2d6e7eb5c2ca21484438a55adc54c6d3be3 SHA512 2576aca6b7651cf484694ad157914982ef1e3949ea641b4181966e5d5292b3d8c16318fe61b14d8c7e6d0e0d184ed30d498f874f5ada196f0ca69c6180d9061f
+DIST libxmlb-0.3.19.tar.gz 131490 BLAKE2B 1455e14a90f29865f304b16cbf0355966e7fd0766f8033cb2b2bc9fe28ad0a1266c1e06faaeb3677a683be56bc2fd9a64094d958f00358292fae55949229ab9a SHA512 07db2e99b2f78f6e99cccbf5ca250978955d5a9bf18aaa675b2292d1df438fc3f98a5d0e8ddcfa41e686782f35947fe92b54b520b4e6e278d6e5c871e7491271
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.10.ebuild b/dev-libs/libxmlb/libxmlb-0.1.10.ebuild
deleted file mode 100644
index 487a34f0da43..000000000000
--- a/dev-libs/libxmlb/libxmlb-0.1.10.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-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"
-
-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="
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
-"
-
-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.1.11.ebuild b/dev-libs/libxmlb/libxmlb-0.1.11.ebuild
deleted file mode 100644
index 487a34f0da43..000000000000
--- a/dev-libs/libxmlb/libxmlb-0.1.11.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-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"
-
-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="
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
-"
-
-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.1.8.ebuild b/dev-libs/libxmlb/libxmlb-0.1.8.ebuild
deleted file mode 100644
index 01048bf0e9d5..000000000000
--- a/dev-libs/libxmlb/libxmlb-0.1.8.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson
-
-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"
-
-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="
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
-"
-
-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.19.ebuild b/dev-libs/libxmlb/libxmlb-0.3.19.ebuild
new file mode 100644
index 000000000000..1d407706e7cc
--- /dev/null
+++ b/dev-libs/libxmlb/libxmlb-0.3.19.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/metadata.xml b/dev-libs/libxmlb/metadata.xml
index 1fda232c2458..cb44de14664d 100644
--- a/dev-libs/libxmlb/metadata.xml
+++ b/dev-libs/libxmlb/metadata.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</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 83895cac52ef..0c049556676a 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1,2 +1 @@
-DIST libxslt-1.1.33-CVE-2019-11068.patch 3965 BLAKE2B eb3a0741ac9f464e31e8edd276fec4d837c63676a56a446ad42a0e251508bacb0129cbe18783de305336eaa32b189ffc23e95e03cfd5f940d4dee376f1fa0f8c SHA512 9a97c5038809aaf64cb4eb7d67b95acc4b62236d7613a5f753e2a0f4c9e707c22cd07bda2e518d3f36a40b9ed5aa93496b743998c7adadb84ca147e045e35948
-DIST libxslt-1.1.33.tar.gz 3444093 BLAKE2B 3457e5b62328ccbc48fbc5f71bf8a54c195c0059dd18afa38e6916e74c57e72601970446210c7584d5410b956e3bbb8cd4b852ec71e0a13c4441e6de095d86d1 SHA512 ebbe438a38bf6355950167d3b580edc22baa46a77068c18c42445c1c9c716d42bed3b30c5cd5bec359ab32d03843224dae458e9e32dc61693e7cf4bab23536e0
+DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89
diff --git a/dev-libs/libxslt/files/1.1.32-simplify-python.patch b/dev-libs/libxslt/files/1.1.32-simplify-python.patch
deleted file mode 100644
index d5a4401afd61..000000000000
--- a/dev-libs/libxslt/files/1.1.32-simplify-python.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 11 Nov 2015 17:49:07 +0100
-Subject: [PATCH] Simplify python setup in autoconf
-
-AM_PATH_PYTHON does most of the job without using pkg-config as expected
-from the rest of the autoconf script.
----
- Makefile.am | 14 +++++--
- configure.ac | 119 ++++++++++++++---------------------------------------
- python/Makefile.am | 28 ++++---------
- 3 files changed, 49 insertions(+), 112 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index ff10f574..65decb3c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,9 +2,13 @@ SUBDIRS = \
- libxslt \
- libexslt \
- xsltproc \
-- doc \
-- $(PYTHON_SUBDIR) \
-- tests
-+ doc
-+
-+if WITH_PYTHON
-+SUBDIRS += python
-+endif
-+
-+SUBDIRS += tests
-
- DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
-
-@@ -51,7 +55,9 @@ tests: dummy
- @echo '## Running the regression test suite'
- @(cd tests ; $(MAKE) -s tests)
- @(cd xsltproc ; $(MAKE) -s tests)
-- @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi)
-+if WITH_PYTHON
-+ @(cd python ; $(MAKE) -s tests)
-+endif
-
- valgrind:
- @echo '## Running the regression tests under Valgrind'
-diff --git a/configure.ac b/configure.ac
-index d6aa3664..0a538944 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -293,90 +293,37 @@ dnl
- dnl check for python
- dnl
-
--PYTHON_VERSION=
--PYTHON_INCLUDES=
--PYTHON_SITE_PACKAGES=
--pythondir=
--AC_ARG_WITH(python, [ --with-python[=DIR] Build Python bindings if found])
--if test "$with_python" != "no" ; then
-- if test -x "$with_python/bin/python"
-- then
-- echo Found python in $with_python/bin/python
-- PYTHON="$with_python/bin/python"
-- else
-- if test -x "$with_python"
-- then
-- echo Found python in $with_python
-- PYTHON="$with_python"
-- else
-- if test -x "$PYTHON"
-- then
-- echo Found python in environment PYTHON=$PYTHON
-- with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
-- else
-- AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
-- fi
-- fi
-- fi
-- if test "$PYTHON" != ""
-- then
-- echo "PYTHON is pointing at $PYTHON"
-- PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
-- echo Found Python version $PYTHON_VERSION
-- LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
--except: print 0"`
-- if test "$LIBXML2_PYTHON" = "1"
-- then
-- echo Found libxml2-python module
-- else
-- echo Warning: Missing libxml2-python
-- fi
-- fi
-- if test "$PYTHON_VERSION" != ""
-- then
-- if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
-- -d $with_python/lib/python$PYTHON_VERSION/site-packages
-- then
-- PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
-- PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-- else
-- if test -r $prefix/include/python$PYTHON_VERSION/Python.h
-- then
-- PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
-- PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-- else
-- if test -r /usr/include/python$PYTHON_VERSION/Python.h
-- then
-- PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
-- PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-- else
-- echo could not find python$PYTHON_VERSION/Python.h
-- fi
-- fi
-- if test ! -d "$PYTHON_SITE_PACKAGES"
-- then
-- PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
-- fi
-- fi
-- PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
-- fi
-- if test "$with_python" != ""
-- then
-- pythondir='$(PYTHON_SITE_PACKAGES)'
-- else
-- pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-- fi
--fi
--AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
--if test "$PYTHON_INCLUDES" != ""
--then
-- PYTHON_SUBDIR=python
--else
-- PYTHON_SUBDIR=
--fi
--AC_SUBST(pythondir)
--AC_SUBST(PYTHON_SUBDIR)
--AC_SUBST(PYTHON_LIBS)
-+AC_ARG_WITH([python],
-+ AS_HELP_STRING([--with-python], [Build Python bindings if found])
-+)
-+
-+AS_IF([test "$with_python" = "yes"],
-+ [AM_PATH_PYTHON
-+ AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
-+ AS_IF([test "$PYTHON_CONFIG" = "no"],
-+ [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
-+ AS_IF([test "$PYTHON_CONFIG" != "no"],
-+ [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
-+ PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
-+ PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
-+ [AC_MSG_ERROR([Missing python development files.])])
-+ AC_MSG_CHECKING([libxml2 module in $PYTHON])
-+ LIBXML2_PYTHON=`$PYTHON -c "import sys;
-+try:
-+ import libxml2
-+ sys.stdout.write('1')
-+except:
-+ sys.stdout.write('0')"`
-+ AS_IF([test "$LIBXML2_PYTHON" = "1"],
-+ [AC_MSG_RESULT([yes])],
-+ [AC_MSG_RESULT([no])
-+ AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
-+ ])
-+
-+AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
-+AC_SUBST([PYTHON_CFLAGS])
-+AC_SUBST([PYTHON_LDFLAGS])
-+AC_SUBST([PYTHON_LIBS])
-
- AC_ARG_WITH(crypto, [ --with-crypto Add crypto support to exslt (on)])
- WITH_CRYPTO=0
-@@ -678,10 +625,6 @@ AC_SUBST(PYTHONSODV)
- AC_SUBST(XML_CONFIG)
- AC_SUBST(LIBXML_LIBS)
- AC_SUBST(LIBXML_CFLAGS)
--AC_SUBST(PYTHON)
--AC_SUBST(PYTHON_VERSION)
--AC_SUBST(PYTHON_INCLUDES)
--AC_SUBST(PYTHON_SITE_PACKAGES)
-
- XSLT_LIBDIR='-L${libdir}'
- XSLT_INCLUDEDIR='-I${includedir}'
-diff --git a/python/Makefile.am b/python/Makefile.am
-index fa58b78f..3a5ecd6a 100644
---- a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -5,9 +5,9 @@ SUBDIRS= . tests
-
- AM_CFLAGS = $(LIBXML_CFLAGS)
-
--DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
-+docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
- # libxsltclass.txt is generated
--DOCS = TODO
-+dist_docs_DATA = TODO
-
- EXTRA_DIST = \
- libxslt.c \
-@@ -16,10 +16,7 @@ EXTRA_DIST = \
- libxml_wrap.h \
- libxslt_wrap.h \
- libxsl.py \
-- libxslt-python-api.xml \
-- $(DOCS)
--
--libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
-+ libxslt-python-api.xml
-
- if WITH_PYTHON
- mylibs = \
-@@ -28,31 +25,22 @@ mylibs = \
-
- all-local: libxslt.py
-
--python_LTLIBRARIES = libxsltmod.la
-+python_PYTHON = libxslt.py
-+pyexec_LTLIBRARIES = libxsltmod.la
-
- libxsltmod_la_CPPFLAGS = \
-- -I$(PYTHON_INCLUDES) \
- -I$(top_srcdir)/libxslt \
- -I$(top_srcdir) \
-- -I../libexslt
-+ -I$(top_srcdir)/libexslt \
-+ $(PYTHON_CFLAGS)
- libxsltmod_la_SOURCES = libxslt.c types.c
- nodist_libxsltmod_la_SOURCES = libxslt-py.c
- libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
-+libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
-
- libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
- cat $(srcdir)/libxsl.py libxsltclass.py > $@
-
--install-data-local:
-- $(MKDIR_P) $(DESTDIR)$(pythondir)
-- $(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
-- $(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
-- @(for doc in $(DOCS) ; \
-- do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
--
--uninstall-local:
-- rm -f $(DESTDIR)$(pythondir)/libxslt.py
-- rm -rf $(DESTDIR)$(DOCS_DIR)
--
- GENERATE = generator.py
- API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
- GENERATED= libxsltclass.py \
---
-2.14.1
-
diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch b/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch
deleted file mode 100644
index b30a08406d31..000000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 06c9dba42097b06a18c81bb54a8da8b2bfaf991d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 11 Nov 2015 20:01:14 +0100
-Subject: [PATCH 3/3] Disable static module for python module
-
----
- python/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/python/Makefile.am b/python/Makefile.am
-index cc13c62..62afd1b 100644
---- a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -27,6 +27,7 @@ python_PYTHON = libxslt.py
- pyexec_LTLIBRARIES = libxsltmod.la
-
- libxsltmod_la_CPPFLAGS = \
-+ -shared \
- -I$(top_srcdir)/libxslt \
- -I$(top_srcdir) \
- -I$(top_srcdir)/libexslt \
-@@ -34,7 +35,7 @@ libxsltmod_la_CPPFLAGS = \
- libxsltmod_la_SOURCES = libxslt.c types.c
- nodist_libxsltmod_la_SOURCES = libxslt-py.c
- libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
--libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
-+libxsltmod_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version -shared
-
- libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
- cat $(srcdir)/libxsl.py libxsltclass.py > $@
---
-2.6.3
-
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.33-r1.ebuild b/dev-libs/libxslt/libxslt-1.1.33-r1.ebuild
deleted file mode 100644
index bab71915297a..000000000000
--- a/dev-libs/libxslt/libxslt-1.1.33-r1.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz
- https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch -> libxslt-1.1.33-CVE-2019-11068.patch"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-IUSE="crypt debug examples python static-libs elibc_Darwin"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
- crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
- python? (
- ${PYTHON_DEPS}
- dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/xslt-config
-)
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/libxslt/xsltconfig.h
-)
-
-src_prepare() {
- default
-
- DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
- # Simplify python setup
- # https://bugzilla.gnome.org/show_bug.cgi?id=758095
- eapply "${FILESDIR}"/1.1.32-simplify-python.patch
- eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
- eapply "${DISTDIR}"/libxslt-1.1.33-CVE-2019-11068.patch
-
- eautoreconf
- # If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
- # and it is propably otherwise too if upstream generated with new
- # autoconf
-# epunt_cxx
- # But Prefix always needs elibtoolize if not eautoreconf'd.
-# elibtoolize
-}
-
-multilib_src_configure() {
- libxslt_configure() {
- ECONF_SOURCE="${S}" econf \
- --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
- --with-html-subdir=html \
- $(use_with crypt crypto) \
- $(use_with debug) \
- $(use_with debug mem-debug) \
- $(use_enable static-libs static) \
- "$@"
- }
-
- libxslt_py_configure() {
- mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
- run_in_build_dir libxslt_configure --with-python
- }
-
- libxslt_configure --without-python # build python bindings separately
-
- if multilib_is_native_abi && use python; then
- python_foreach_impl libxslt_py_configure
- fi
-}
-
-multilib_src_compile() {
- default
- multilib_is_native_abi && use python && libxslt_foreach_py_emake all
-}
-
-multilib_src_test() {
- default
- multilib_is_native_abi && use python && libxslt_foreach_py_emake test
-}
-
-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
- libxslt_foreach_py_emake \
- DESTDIR="${D}" \
- docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
- EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
- install
- python_foreach_impl python_optimize
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use examples && use python; then
- rm -r "${ED}"/usr/share/doc/${PF}/python/examples || die
- fi
-
- prune_libtool_files --modules
-}
-
-libxslt_foreach_py_emake() {
- libxslt_py_emake() {
- pushd "${BUILD_DIR}/python" > /dev/null || die
- emake "$@"
- popd > /dev/null
- }
- local native_builddir=${BUILD_DIR}
- python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
-}
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 4cbddcaa19ad..e97f0e37509c 100644
--- a/dev-libs/libxslt/metadata.xml
+++ b/dev-libs/libxslt/metadata.xml
@@ -1,8 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</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/Manifest b/dev-libs/libyaml/Manifest
index 838b0d453059..46772dd37857 100644
--- a/dev-libs/libyaml/Manifest
+++ b/dev-libs/libyaml/Manifest
@@ -1,3 +1,2 @@
-DIST libyaml-0.2.1.tar.gz 601443 BLAKE2B 4940d1f0a698a985502d6e1c4d3d064061462642829aecc75a820bebcb7b7e4ae5d62777162063650d24962c93da6449bca791811d0438222d897388ec07c2ea SHA512 f91297c37dbbf03aaff718947474381a4a6a4ee1a39171d7fc32c3710ce55321028f3485ea1fcd52b962da36ed021c0b7ec05718296dca636329a19aecc809b8
DIST libyaml-0.2.2.tar.gz 79465 BLAKE2B fd37cac256b40b0c5daa32584d271448e5e1c196a7fa7eeda753fb962c7d916b3c415425170d70db67c3f114b27d03fdd67fb4e380c04027198a601e1bd5a094 SHA512 455494591014a97c4371a1f372ad09f0d6e487e4f1d3419c98e9cd2f16d43a0cf9a0787d7250bebee8b8d400df4626f5acd81e90139e54fa574a66ec84964c06
-DIST yaml-0.1.7.tar.gz 527518 BLAKE2B 80bb082e22e7f8275924aaa4f8e95eefdc94e929690ddefdba61f50d57d01428990687d2c7bcc5b277888825b8bc0619c572594dae64ce00013adde685f9a8d9 SHA512 1ee5007dd10db137b5ee80f8117f07390ec04af98d087a5f5475dd2b38d87c699b79ab1676e6c7bfa263323fcdf8edd69fada2b0b7f9c57bef4e46cd65f1e975
+DIST libyaml-0.2.5.tar.gz 85055 BLAKE2B 71d1a002b8969db96af9e942bf67944acfdf2e740744b1abceacfd1c3bc54d8936d7048760aa81f1cf22518241e9f45ecf95c76d6ac41eefbdf04eb40e16a618 SHA512 a0f01e3fc616b65b18a4aa17692ee8ea1a84dc6387d1cf02ac7ef7ab7f46b9744c2aac0a047ff69d6c2da1d2a2d7b355c877da0db57e34d95cd4f37213ab6e7e
diff --git a/dev-libs/libyaml/files/libyaml-0.1.7-mingw-no-undefined.patch b/dev-libs/libyaml/files/libyaml-0.1.7-mingw-no-undefined.patch
deleted file mode 100644
index 5e0ef5249413..000000000000
--- a/dev-libs/libyaml/files/libyaml-0.1.7-mingw-no-undefined.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/include/yaml.h
-+++ b/include/yaml.h
-@@ -26,7 +26,9 @@ extern "C" {
-
- /** The public API declaration. */
-
--#ifdef _WIN32
-+#if defined(__MINGW32__)
-+# define YAML_DECLARE(type) type
-+#elif defined(WIN32)
- # if defined(YAML_DECLARE_STATIC)
- # define YAML_DECLARE(type) type
- # elif defined(YAML_DECLARE_EXPORT)
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,4 +1,4 @@
- AM_CPPFLAGS = -I$(top_srcdir)/include
- lib_LTLIBRARIES = libyaml.la
- libyaml_la_SOURCES = yaml_private.h api.c reader.c scanner.c parser.c loader.c writer.c emitter.c dumper.c
--libyaml_la_LDFLAGS = -release $(YAML_LT_RELEASE) -version-info $(YAML_LT_CURRENT):$(YAML_LT_REVISION):$(YAML_LT_AGE)
-+libyaml_la_LDFLAGS = -no-undefined -release $(YAML_LT_RELEASE) -version-info $(YAML_LT_CURRENT):$(YAML_LT_REVISION):$(YAML_LT_AGE)
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -312,7 +312,7 @@ top_srcdir = @top_srcdir@
- AM_CPPFLAGS = -I$(top_srcdir)/include
- lib_LTLIBRARIES = libyaml.la
- libyaml_la_SOURCES = yaml_private.h api.c reader.c scanner.c parser.c loader.c writer.c emitter.c dumper.c
--libyaml_la_LDFLAGS = -release $(YAML_LT_RELEASE) -version-info $(YAML_LT_CURRENT):$(YAML_LT_REVISION):$(YAML_LT_AGE)
-+libyaml_la_LDFLAGS = -no-undefined -release $(YAML_LT_RELEASE) -version-info $(YAML_LT_CURRENT):$(YAML_LT_REVISION):$(YAML_LT_AGE)
- all: all-am
-
- .SUFFIXES:
diff --git a/dev-libs/libyaml/libyaml-0.1.7-r1.ebuild b/dev-libs/libyaml/libyaml-0.1.7-r1.ebuild
deleted file mode 100644
index 8e168bc585df..000000000000
--- a/dev-libs/libyaml/libyaml-0.1.7-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool
-
-MY_P="${P/lib}"
-
-DESCRIPTION="YAML 1.1 parser and emitter written in C"
-HOMEPAGE="http://pyyaml.org/wiki/LibYAML"
-SRC_URI="http://pyyaml.org/download/${PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc static-libs test"
-
-S="${WORKDIR}/${MY_P}"
-PATCHES=(
- "${FILESDIR}/${PN}-0.1.7-mingw-no-undefined.patch"
-)
-
-src_prepare() {
- default
-
- # conditionally remove tests
- if ! use test; then
- sed -i -e 's: tests::g' Makefile* || die
- fi
-
- elibtoolize # for FreeMiNT
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
-
- find "${D}" -name '*.la' -delete || die
-
- docinto examples
- dodoc tests/example-*.c
- docompress -x /usr/share/doc/${PF}/examples
-}
diff --git a/dev-libs/libyaml/libyaml-0.1.7.ebuild b/dev-libs/libyaml/libyaml-0.1.7.ebuild
deleted file mode 100644
index b41eaa33016c..000000000000
--- a/dev-libs/libyaml/libyaml-0.1.7.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils libtool
-
-MY_P="${P/lib}"
-
-DESCRIPTION="YAML 1.1 parser and emitter written in C"
-HOMEPAGE="http://pyyaml.org/wiki/LibYAML"
-SRC_URI="http://pyyaml.org/download/${PN}/${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples test static-libs"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
-
- # conditionally remove tests
- if ! use test; then
- sed -i -e 's: tests::g' Makefile* || die
- fi
-
- elibtoolize # for FreeMiNT
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- prune_libtool_files
- use doc && dodoc -r doc/html
-
- if use examples ; then
- docompress -x /usr/share/doc/${PF}/examples
- insinto /usr/share/doc/${PF}/examples
- doins tests/example-*.c
- fi
-}
diff --git a/dev-libs/libyaml/libyaml-0.2.1.ebuild b/dev-libs/libyaml/libyaml-0.2.1.ebuild
deleted file mode 100644
index dc16d59c679c..000000000000
--- a/dev-libs/libyaml/libyaml-0.2.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool
-
-DESCRIPTION="YAML 1.1 parser and emitter written in C"
-HOMEPAGE="https://github.com/yaml/libyaml"
-SRC_URI="https://github.com/yaml/${PN}/archive/dist-${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc static-libs test"
-
-S=${WORKDIR}/${PN}-dist-${PV}
-
-src_prepare() {
- default
-
- # conditionally remove tests
- if ! use test; then
- sed -i -e 's: tests::g' Makefile* || die
- fi
-
- elibtoolize # for FreeMiNT
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
-
- find "${D}" -name '*.la' -delete || die
-
- docinto examples
- dodoc tests/example-*.c
- docompress -x /usr/share/doc/${PF}/examples
-}
diff --git a/dev-libs/libyaml/libyaml-0.2.2.ebuild b/dev-libs/libyaml/libyaml-0.2.2.ebuild
index 84ef17996558..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-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,10 +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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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 )"
-DEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
@@ -24,7 +25,7 @@ src_prepare() {
sed -i -e 's: tests::g' Makefile* || die
fi
- elibtoolize # for FreeMiNT
+ elibtoolize
eautoreconf
}
diff --git a/dev-libs/libyaml/libyaml-0.2.5.ebuild b/dev-libs/libyaml/libyaml-0.2.5.ebuild
new file mode 100644
index 000000000000..9f1a136feadd
--- /dev/null
+++ b/dev-libs/libyaml/libyaml-0.2.5.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools libtool
+
+DESCRIPTION="YAML 1.1 parser and emitter written in C"
+HOMEPAGE="https://github.com/yaml/libyaml"
+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 ~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-text/doxygen )"
+
+src_prepare() {
+ default
+
+ # conditionally remove tests
+ if ! use test; then
+ sed -i -e 's: tests::g' Makefile* || die
+ fi
+
+ elibtoolize
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ emake
+ use doc && emake html
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libyaml/metadata.xml b/dev-libs/libyaml/metadata.xml
index 7a9a3509acdf..026624f02c4d 100644
--- a/dev-libs/libyaml/metadata.xml
+++ b/dev-libs/libyaml/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>radhermit@gentoo.org</email>
- <name>Tim Harder</name>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
</maintainer>
- <longdescription lang="en">
- LibYAML is a YAML 1.1 parser and emitter written in C.
- It's in an early stage of development.
- </longdescription>
+ <upstream>
+ <remote-id type="github">yaml/libyaml</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libzia/Manifest b/dev-libs/libzia/Manifest
index 6eee3ea7d5c0..763a280b836d 100644
--- a/dev-libs/libzia/Manifest
+++ b/dev-libs/libzia/Manifest
@@ -1,3 +1,3 @@
-DIST libzia-4.14.tar.gz 597138 BLAKE2B 200e0682c6bc28248646775c5e5a71bad329edf031d0950ad8ab5244e5e925903147467d23eb3a04f9be05cca6b34947692df15620331ffc5357b73f20d363b0 SHA512 c382ef352e80df69daf3d3e4da0c0de5d8037b32182a760f88a1edf7d2b9cc7d5112de942a5a85973ccf82ca1e0771c2e92de7972ff9bec745fdb525419a2365
-DIST libzia-4.15.tar.gz 600728 BLAKE2B 7e359a09c9e440c65fe369a8ff9004883ecbc047cfa4995e671c74662f9658370e0e8f613e626f9480abb9fb6d94e777bde70b44d080d45f4e17b1f982c48237 SHA512 041e21e1506b4cc38a0b9a5fa07037de01d19a390b6ba46159688b2bd7c75c44faf6e84d1ec929a582a2c8038c60f986d6d172636b5e9cb1b2fc5a729ec2225f
-DIST libzia-4.16.tar.gz 623606 BLAKE2B 48c5eb65890c87ed48bfaee60a6683f5320c561c8f6bf55268690675e388aefeb52e229c16430b9ff04b8ae29749e52beb71ac7d7f0642f4fa255e1bef85b452 SHA512 cbf0e678abadd670acde1778dcb137a49ad11f8e8d8d8465ebac542deb964e1c138b65ebf61404ea0219e17cdb336585545eee3f63d4e0ac41bffe0010f2c2fb
+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/files/libzia-4.14-ldadd.patch b/dev-libs/libzia/files/libzia-4.14-ldadd.patch
deleted file mode 100644
index 4d0becc5306c..000000000000
--- a/dev-libs/libzia/files/libzia-4.14-ldadd.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-# add local .libs directory to library search path during build of zsdltest
---- src/Makefile.am.orig 2018-10-27 19:44:55.332591275 +0200
-+++ src/Makefile.am 2018-10-27 19:45:54.268730862 +0200
-@@ -70,10 +70,11 @@
- library_includedir = $(includedir)/libzia
-
- zsdltest_SOURCES = zsdltest.c
--zsdltest_LDFLAGS = -lzia
-+zsdltest_LDFLAGS = -lzia -lm
-+zsdltest_LDADD = -L.libs
-
--gpiotest_SOURCES = gpiotest.c
--gpiotest_LDFLAGS = -lzia
-+#gpiotest_SOURCES = gpiotest.c
-+#gpiotest_LDFLAGS = -lzia
-
- EXTRA_DIST = regcomp.c regex_internal.c regexec.c
-
diff --git a/dev-libs/libzia/libzia-4.14.ebuild b/dev-libs/libzia/libzia-4.14.ebuild
deleted file mode 100644
index 5a63aa43ba6f..000000000000
--- a/dev-libs/libzia/libzia-4.14.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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:0 )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/$P-ldadd.patch )
-
-MAKEOPTS+=" -j1"
-
-src_prepare() {
- eapply_user
- eapply -p0 ${PATCHES}
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ftdi) --with-sdl \
- --with-png --without-bfd
-}
diff --git a/dev-libs/libzia/libzia-4.15.ebuild b/dev-libs/libzia/libzia-4.15.ebuild
deleted file mode 100644
index 88159bfcae8d..000000000000
--- a/dev-libs/libzia/libzia-4.15.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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:0 )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-MAKEOPTS+=" -j1"
-
-src_prepare() {
- eapply_user
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ftdi) --with-sdl \
- --with-png --without-bfd
-}
diff --git a/dev-libs/libzia/libzia-4.16.ebuild b/dev-libs/libzia/libzia-4.16.ebuild
deleted file mode 100644
index 89fcf6a119f7..000000000000
--- a/dev-libs/libzia/libzia-4.16.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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:0 )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-MAKEOPTS+=" -j1"
-
-src_prepare() {
- eapply_user
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ftdi) --with-sdl \
- --with-png --without-bfd
-}
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/libzia/metadata.xml b/dev-libs/libzia/metadata.xml
index b845e64532d2..0d1bf80f44ed 100644
--- a/dev-libs/libzia/metadata.xml
+++ b/dev-libs/libzia/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tomjbe@gentoo.org</email>
@@ -8,8 +8,4 @@
<use>
<flag name="ftdi">Enable support for FTDI USB chips</flag>
</use>
- <longdescription>
- libzia contains the platform abstraction layer for
- the media-radio/tucnak package
- </longdescription>
</pkgmetadata>
diff --git a/dev-libs/libzip/Manifest b/dev-libs/libzip/Manifest
index 713cf88635ca..01ddc1b30655 100644
--- a/dev-libs/libzip/Manifest
+++ b/dev-libs/libzip/Manifest
@@ -1,2 +1 @@
-DIST libzip-1.5.1.tar.xz 717908 BLAKE2B f2c19d3a8d9d60f3a0a9bc06359104187e75bcb59ab2aa06df611b487f0c91c27cf52f24bcc24e3d4358c5fe11882661b245829e6cdee2b39559f728cd20f899 SHA512 92df9490a9910ebb1da49ecaec96f364fce39a779e1bc739f7796b27b3a864301f5e1ba0108947708dda1d90af7a9e751be54cbb8a0de2a04a48f9f3eb728e3d
-DIST libzip-1.5.2.tar.xz 725724 BLAKE2B 3d67fc3ed9a242047fdeb1bae7fdbdcbed660853bbb36590b082646619e1cccb1dd49506248bba66759e27691f9a83ed186731eb57f47cc5e21f07f28e391387 SHA512 1e6d48ddbac4d270f70b314f6ada3c93a3196a8cc3b8d17c6cf5ea8409ff29f36ac351206675f9d81351fcf633b0c15d7b0b5530c30c4140e4fe55e64c602643
+DIST libzip-1.9.2.tar.xz 763980 BLAKE2B ceeca4dccbe7552f7f545b00ea44b342398d18eb996e39045b9d6efafe50f8890333ddf220c86b59f5ab2849420eb76761c42b16de8b174629f53e327f9e83e7 SHA512 82cb2533c25b5b540aa73856c958750d32eeceb192cce257eded15b396a24652041c8531f20366ac4c2dc6b7c0310c558d19c12b611576eccb07cfbaf98120b5
diff --git a/dev-libs/libzip/files/libzip-1.5.1-bzip2.patch b/dev-libs/libzip/files/libzip-1.5.1-bzip2.patch
deleted file mode 100644
index 9b70eaca8e87..000000000000
--- a/dev-libs/libzip/files/libzip-1.5.1-bzip2.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 028c492c9d45ca29e2fbec79a203ba492016f15e Mon Sep 17 00:00:00 2001
-From: Miklos Vajna <vmiklos@collabora.co.uk>
-Date: Fri, 7 Sep 2018 23:12:36 +0200
-Subject: [PATCH] Add an option to disable bzip2 support
-
-The explicit switch is still on by default, but this way it's possible
-to explicitly disable bzip2 support even if bzip2 is available on the
-system.
-
-This is useful if bzip2 is not needed, but would automatically lead to
-an unwanted dependency.
----
- CMakeLists.txt | 19 +++++++++++--------
- 1 file changed, 11 insertions(+), 8 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 73a34855..879e0f21 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -10,6 +10,7 @@ PROJECT(libzip C)
- OPTION(ENABLE_GNUTLS "Enable use of GnuTLS" ON)
- OPTION(ENABLE_OPENSSL "Enable use of OpenSSL" ON)
- OPTION(ENABLE_COMMONCRYPTO "Enable use of CommonCrypto" ON)
-+OPTION(ENABLE_BZIP2 "Enable use of BZip2" ON)
-
- OPTION(BUILD_TOOLS "Build tools in the src directory (zipcmp, zipmerge, ziptool)" ON)
- OPTION(BUILD_REGRESS "Build regression tests" ON)
-@@ -186,15 +187,17 @@ IF(ZLIB_VERSION_STRING VERSION_LESS "1.1.2")
- MESSAGE(FATAL_ERROR "-- ZLIB version too old, please install at least v1.1.2")
- ENDIF(ZLIB_VERSION_STRING VERSION_LESS "1.1.2")
-
--FIND_PACKAGE(BZip2)
--IF(BZIP2_FOUND)
-- SET (HAVE_LIBBZ2 1)
-+IF(ENABLE_BZIP2)
-+ FIND_PACKAGE(BZip2)
-+ IF(BZIP2_FOUND)
-+ SET (HAVE_LIBBZ2 1)
-
-- INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR})
-- SET (OPTIONAL_LIBRARY ${BZIP2_LIBRARY})
--ELSE()
-- MESSAGE(WARNING "-- bzip2 library not found; bzip2 support disabled")
--ENDIF(BZIP2_FOUND)
-+ INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR})
-+ SET (OPTIONAL_LIBRARY ${BZIP2_LIBRARY})
-+ ELSE()
-+ MESSAGE(WARNING "-- bzip2 library not found; bzip2 support disabled")
-+ ENDIF(BZIP2_FOUND)
-+ENDIF(ENABLE_BZIP2)
-
- IF (COMMONCRYPTO_FOUND)
- SET (HAVE_CRYPTO 1)
diff --git a/dev-libs/libzip/files/libzip-1.5.1-options.patch b/dev-libs/libzip/files/libzip-1.5.1-options.patch
deleted file mode 100644
index 0cca187d90a0..000000000000
--- a/dev-libs/libzip/files/libzip-1.5.1-options.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From b6e53cce5370fba88299f9ed2944ab8a7a4cef5c Mon Sep 17 00:00:00 2001
-From: Florian Delizy <florian.delizy@gmail.com>
-Date: Tue, 7 Aug 2018 22:09:32 +0800
-Subject: [PATCH] adding BUILD_TOOLS BUILD_REGRESS BUILD_EXAMPLES BUILD_DOC
- options (default ON)
-
----
- CMakeLists.txt | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 69e6548e..def25607 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -11,6 +11,11 @@ OPTION(ENABLE_GNUTLS "Enable use of GnuTLS" ON)
- OPTION(ENABLE_OPENSSL "Enable use of OpenSSL" ON)
- OPTION(ENABLE_COMMONCRYPTO "Enable use of CommonCrypto" ON)
-
-+OPTION(BUILD_TOOLS "Build tools in the src directory (zipcmp, zipmerge, ziptool)" ON)
-+OPTION(BUILD_REGRESS "Build regression tests" ON)
-+OPTION(BUILD_EXAMPLES "Build examples" ON)
-+OPTION(BUILD_DOC "Build documentation" ON)
-+
- INCLUDE(CheckFunctionExists)
- INCLUDE(CheckIncludeFiles)
- INCLUDE(CheckSymbolExists)
-@@ -234,10 +239,23 @@ ENABLE_TESTING()
-
- # Targets
- ADD_SUBDIRECTORY(lib)
-+
-+IF(BUILD_DOC)
- ADD_SUBDIRECTORY(man)
-+ENDIF()
-+
-+IF(BUILD_TOOLS)
- ADD_SUBDIRECTORY(src)
-+ENDIF()
-+
-+IF(BUILD_REGRESS)
- ADD_SUBDIRECTORY(regress)
-+ENDIF()
-+
-+IF(BUILD_EXAMPLES)
- ADD_SUBDIRECTORY(examples)
-+ENDIF()
-+
-
- # pkgconfig file
- SET(prefix ${CMAKE_INSTALL_PREFIX})
diff --git a/dev-libs/libzip/files/libzip-1.5.2-mbedtls.patch b/dev-libs/libzip/files/libzip-1.5.2-mbedtls.patch
deleted file mode 100644
index 564cc9b79f1d..000000000000
--- a/dev-libs/libzip/files/libzip-1.5.2-mbedtls.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From e34b2ed6116ba5e6d3c25cd504d91bb680db92e8 Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <tk@giga.or.at>
-Date: Tue, 2 Apr 2019 15:26:06 +0200
-Subject: [PATCH] mbedtls: link against the correct library
-
-Inspired by https://github.com/nih-at/libzip/pull/88
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3f252b3f7..f8eb16eeb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -42,7 +42,7 @@ ELSE()
- ENDIF()
- IF(ENABLE_MBEDTLS)
- FIND_PATH(MBEDTLS_INCLUDE_DIR mbedtls/aes.h)
-- FIND_LIBRARY(MBEDTLS_LIBRARIES NAMES mbedtls)
-+ FIND_LIBRARY(MBEDTLS_LIBRARIES NAMES mbedcrypto)
- ELSE()
- SET(MBEDTLS_LIBRARIES FALSE)
- ENDIF()
diff --git a/dev-libs/libzip/libzip-1.5.1.ebuild b/dev-libs/libzip/libzip-1.5.1.ebuild
deleted file mode 100644
index 95c3608bf77c..000000000000
--- a/dev-libs/libzip/libzip-1.5.1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils multibuild
-
-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 ~mips ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="bzip2 doc gnutls libressl ssl static-libs test"
-
-DEPEND="
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- ssl? (
- gnutls? ( net-libs/gnutls )
- !gnutls? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-options.patch"
- "${FILESDIR}/${P}-bzip2.patch"
-)
-
-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() {
- myconfigure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=OFF # nothing is installed
- -DENABLE_COMMONCRYPTO=OFF # not in tree
- -DENABLE_BZIP2=$(usex bzip2)
- )
- if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then
- mycmakeargs+=(
- -DBUILD_DOC=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_SHARED_LIBS=OFF
- -DBUILD_TOOLS=OFF
- )
- else
- mycmakeargs+=(
- -DBUILD_DOC=$(usex doc)
- -DBUILD_REGRESS=$(usex test)
- )
- fi
-
- if use ssl; then
- mycmakeargs+=(
- -DENABLE_GNUTLS=$(usex gnutls)
- -DENABLE_OPENSSL=$(usex !gnutls)
- )
- else
- mycmakeargs+=(
- -DENABLE_GNUTLS=OFF
- -DENABLE_OPENSSL=OFF
- )
- fi
- cmake-utils_src_configure
- }
-
- multibuild_foreach_variant myconfigure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake-utils_src_compile
-}
-
-src_test() {
- [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake-utils_src_test
-}
-
-src_install() {
- multibuild_foreach_variant cmake-utils_src_install
-}
diff --git a/dev-libs/libzip/libzip-1.5.2-r1.ebuild b/dev-libs/libzip/libzip-1.5.2-r1.ebuild
deleted file mode 100644
index 814a668c4300..000000000000
--- a/dev-libs/libzip/libzip-1.5.2-r1.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils multibuild
-
-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 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
-IUSE="bzip2 doc gnutls libressl mbedtls ssl static-libs test"
-
-DEPEND="
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.6.5:= )
- !gnutls? (
- mbedtls? ( net-libs/mbedtls:= )
- !mbedtls? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )
- )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-mbedtls.patch" ) # bug 680820
-
-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() {
- myconfigure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=OFF # nothing is installed
- -DENABLE_COMMONCRYPTO=OFF # not in tree
- -DENABLE_BZIP2=$(usex bzip2)
- )
- if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then
- mycmakeargs+=(
- -DBUILD_DOC=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_SHARED_LIBS=OFF
- -DBUILD_TOOLS=OFF
- )
- else
- mycmakeargs+=(
- -DBUILD_DOC=$(usex doc)
- -DBUILD_REGRESS=$(usex test)
- )
- 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-utils_src_configure
- }
-
- multibuild_foreach_variant myconfigure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake-utils_src_compile
-}
-
-src_test() {
- [[ ${MULTIBUILD_VARIANT} = shared ]] && cmake-utils_src_test
-}
-
-src_install() {
- multibuild_foreach_variant cmake-utils_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 87a5b99d4f34..fb236457f255 100644
--- a/dev-libs/libzip/metadata.xml
+++ b/dev-libs/libzip/metadata.xml
@@ -1,15 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>creffett@gentoo.org</email>
- <name>Chris Reffett</name>
-</maintainer>
-<maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
-</maintainer>
-<use>
- <flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> as TLS provider</flag>
-</use>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </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>
+ <flag name="tools">Install binary tools to compare, modify and merge zip files</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/light/Manifest b/dev-libs/light/Manifest
index bb1931fe604d..40377959c4be 100644
--- a/dev-libs/light/Manifest
+++ b/dev-libs/light/Manifest
@@ -1 +1 @@
-DIST light-1.2.tar.gz 32592 BLAKE2B 86d2bf4a88cf61ec1b7af16510db3d26698397d5cc3ddee7f663c1f501ca6b5bf238e5f29f17142d6196908e1d444795abed41a12560c9411214d4a874c96ddb SHA512 3f876262a730ef34219e0d596065c725376218ca88a2e9f56f62a25956b9ba505168f32c5877715abf746090c053873322a3292680055cc2f5b77ec8c0d466a4
+DIST light-1.2.2.tar.gz 33009 BLAKE2B 6e23d7f89c1dbf412943f2b60a09f9189c5420649397a286fa964d249adb57cafb2943ef610dd13470e486d9dfb51ca40289d9974760e907f794baa27963821d SHA512 5815394fb1545d1e06234c261d475e1836e4c43e47e7707b8628891d20b70db04f1661b78ca1d236d549c734430b606498fa46de060c854791b13cf49de07b59
diff --git a/dev-libs/light/files/light-1.2.2-fcommon.patch b/dev-libs/light/files/light-1.2.2-fcommon.patch
new file mode 100644
index 000000000000..6f37fc4d4114
--- /dev/null
+++ b/dev-libs/light/files/light-1.2.2-fcommon.patch
@@ -0,0 +1,22 @@
+--- a/src/helpers.c
++++ b/src/helpers.c
+@@ -9,6 +9,8 @@
+ #include <errno.h> // errno
+ #include <libgen.h> // dirname
+
++light_loglevel_t light_loglevel;
++
+
+ bool light_file_read_uint64(char const *filename, uint64_t *val)
+ {
+--- a/src/helpers.h
++++ b/src/helpers.h
+@@ -21,7 +21,7 @@
+ LIGHT_NOTE_LEVEL
+ } light_loglevel_t;
+
+-light_loglevel_t light_loglevel;
++extern light_loglevel_t light_loglevel;
+
+ #define LIGHT_LOG(lvl, fp, fmt, args...)\
+ if (light_loglevel >= lvl)\
diff --git a/dev-libs/light/light-1.2-r1.ebuild b/dev-libs/light/light-1.2-r1.ebuild
deleted file mode 100644
index ce2801ebb1c1..000000000000
--- a/dev-libs/light/light-1.2-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="A program to control backlights (and other hardware lights)"
-HOMEPAGE="https://github.com/haikarainen/light"
-SRC_URI="https://github.com/haikarainen/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="udev"
-
-RDEPEND=""
-DEPEND="udev? ( virtual/libudev:= )
- ${RDEPEND}"
-
-src_prepare() {
- eautoreconf
- default
-}
-
-src_configure() {
- use udev && econf \
- --with-udev="/lib/udev/rules.d"
-}
diff --git a/dev-libs/light/light-1.2.2-r2.ebuild b/dev-libs/light/light-1.2.2-r2.ebuild
new file mode 100644
index 000000000000..9d2a121969e2
--- /dev/null
+++ b/dev-libs/light/light-1.2.2-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools udev
+
+DESCRIPTION="A program to control backlights (and other hardware lights)"
+HOMEPAGE="https://github.com/haikarainen/light"
+SRC_URI="https://github.com/haikarainen/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="udev"
+
+RDEPEND="
+ acct-group/video
+ !sys-power/acpilight
+ udev? ( virtual/libudev:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fcommon.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(usex udev --with-udev="$(get_udevdir)/rules.d" "")
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+pkg_postinst() {
+ use udev && udev_reload
+
+ ewarn "To use light as a regular user you must be a part of the video group"
+}
diff --git a/dev-libs/light/metadata.xml b/dev-libs/light/metadata.xml
index 62e9eba6759d..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 97d340e7ab7a..eff4c9094f3c 100644
--- a/dev-libs/link-grammar/Manifest
+++ b/dev-libs/link-grammar/Manifest
@@ -1 +1,2 @@
-DIST link-grammar-5.3.11.tar.gz 3632617 BLAKE2B 07fe951743096a0d6b906c9b7174b58fcc54b0e2c54805d15731de783888327799fd77f64a2ae7f4e09327feb08d91cb95471e9c0c3c2fe00fca3553f40b1905 SHA512 09671d187deac3b9530dd63eb4497de9c2c9db32d79da06c677bdbccac015adef06813819692a92d15499c7cb347071c58b73c52505af154bdc8a8fcd409ddd2
+DIST link-grammar-5.12.3.tar.gz 4704751 BLAKE2B a7f0fe39c51ed26ea764d583b38b21cfce6e596c6cd94db6ba47b3606a2b6cd9e56bd6fedeb104dbb345baedae3e144af96999739dda9daa9a9e5886bd98d2f4 SHA512 e0fdb78ec03042119011afea005a62829317fd0bc20afcd94e3f234c9c5252ed9c57d717b75368ac4a63dd8493bd86f551870299925f3b9b95b11915f48d8abe
+DIST link-grammar-5.12.4.tar.gz 4720724 BLAKE2B 6573895298128165d7f840a13aad124418dbd1b9c70436dbe2bd65b3fd1883777e72da13f5196031696edb7cdc6c9d86acd5fdd4d1aa8fb295a136b2ba0568cf SHA512 fd5318c21202c17902de996882fd8630c7e95622b8ebe6877a334df22ff678a6040e0519bdabfa1138aaefdf3a7c20cbfe9e65bdce4dfe568729c9ba5a2d6fe5
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.3.9-out-of-source-build.patch b/dev-libs/link-grammar/files/link-grammar-5.3.9-out-of-source-build.patch
deleted file mode 100644
index 6eacc6610f90..000000000000
--- a/dev-libs/link-grammar/files/link-grammar-5.3.9-out-of-source-build.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- a/bindings/python/Makefile.am 2016-08-26 04:28:48.000000000 +0200
-+++ b/bindings/python/Makefile.am 2016-09-10 16:13:33.554781694 +0200
-@@ -4,9 +4,8 @@
- # Created by Linas Vepstas February 2014
- #
-
--SWIG_SOURCES = ../swig/link_grammar.i
--# BUILT_C_SOURCES = $(top_builddir)/bindings/python/lg_python_wrap.cc
--BUILT_C_SOURCES = ../../bindings/python/lg_python_wrap.cc
-+SWIG_SOURCES = $(top_srcdir)/bindings/swig/link_grammar.i
-+BUILT_C_SOURCES = $(top_builddir)/bindings/python/lg_python_wrap.cc
- BUILT_PY_SOURCES = $(top_builddir)/bindings/python/clinkgrammar.py
-
- # Over-ride the install location, so as to remove the dash in the
-@@ -20,7 +19,7 @@
- pkgpython_PYTHON = \
-- linkgrammar.py \
-+ $(srcdir)/linkgrammar.py \
- $(top_builddir)/bindings/python/__init__.py \
-- $(top_builddir)/bindings/python/clinkgrammar.py
-+ $(BUILT_PY_SOURCES)
-
-
- # These are packaged in the tarball; make clean should not remove them.
---- a/bindings/python3/Makefile.am 2016-08-26 04:28:48.000000000 +0200
-+++ b/bindings/python3/Makefile.am 2016-09-11 01:30:35.700926275 +0200
-@@ -4,9 +4,8 @@
- # Created by Linas Vepstas February 2014
- #
-
--SWIG_SOURCES = ../swig/link_grammar.i
--# BUILT_C_SOURCES = $(top_builddir)/bindings/python3/lg_python_wrap.cc
--BUILT_C_SOURCES = ../../bindings/python3/lg_python_wrap.cc
-+SWIG_SOURCES = $(top_srcdir)/bindings/swig/link_grammar.i
-+BUILT_C_SOURCES = $(top_builddir)/bindings/python3/lg_python_wrap.cc
- BUILT_PY_SOURCES = $(top_builddir)/bindings/python3/clinkgrammar.py
-
- # Over-ride the install location, so as to remove the dash in the
-@@ -18,9 +17,9 @@
-
- # Files that get installed in $pkgpythondir
- pkgpython3_PYTHON = \
-- ../../bindings/python/linkgrammar.py \
-+ $(top_srcdir)/bindings/python/linkgrammar.py \
- $(top_builddir)/bindings/python3/__init__.py \
-- $(top_builddir)/bindings/python3/clinkgrammar.py
-+ $(BUILT_PY_SOURCES)
-
-
- # Apparently, anaconda does not work without this!?
---- a/bindings/python3/Makefile.am 2016-09-11 12:44:01.466971878 +0200
-+++ b/bindings/python3/Makefile.am 2016-09-11 12:44:22.385788941 +0200
-@@ -26,7 +26,7 @@
- # This seems wrong and lme to me, but see issue #298
- pkgpypathdir=$(pythondir)
- pkgpypath_PYTHON = \
-- linkgrammar.pth
-+ $(srcdir)/linkgrammar.pth
-
- # These are packaged in the tarball; make clean should not remove them.
- maintainer-clean-local:
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.12.4.ebuild b/dev-libs/link-grammar/link-grammar-5.12.4.ebuild
new file mode 100644
index 000000000000..b6ed517ee9e9
--- /dev/null
+++ b/dev-libs/link-grammar/link-grammar-5.12.4.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+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.gnucash.org/link-grammar/downloads/${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"
+
+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.3.11.ebuild b/dev-libs/link-grammar/link-grammar-5.3.11.ebuild
deleted file mode 100644
index 56368f232027..000000000000
--- a/dev-libs/link-grammar/link-grammar-5.3.11.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit autotools eutils gnome2 java-pkg-opt-2 python-r1
-
-DESCRIPTION="A Syntactic English parser"
-HOMEPAGE="http://www.abisource.com/projects/link-grammar/ http://www.link.cs.cmu.edu/link/"
-SRC_URI="http://www.abisource.com/downloads/${PN}/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~ppc ~ppc64 sparc x86"
-IUSE="aspell +hunspell java python static-libs threads" # 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}
- dev-lang/swig:0
- sys-devel/autoconf-archive
- virtual/pkgconfig
-"
-
-NORMAL_BUILD_DIR="${WORKDIR}/${P}-normal"
-
-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.3.9-out-of-source-build.patch
- eapply_user
- eautoreconf
-
- if use python ; then
- prepare_python() {
- mkdir -p "${BUILD_DIR}" || die
- }
- python_foreach_impl prepare_python
- fi
-
- mkdir -p "${NORMAL_BUILD_DIR}" || die
- gnome2_src_prepare
-}
-
-src_configure() {
- local myconf=(
- --disable-editline
- --disable-perl-bindings
- --enable-shared
- --enable-sat-solver=bundled
- $(use_enable aspell)
- $(use_enable hunspell)
- $(usex hunspell --with-hunspell-dictdir=/usr/share/myspell)
- $(use_enable java java-bindings)
- # $(use_enable pcre regex-tokenizer)
- # $(use_with pcre)
- $(use_enable static-libs static)
- $(use_enable threads pthreads)
- )
-
- cd "${NORMAL_BUILD_DIR}" || die
- ECONF_SOURCE="${S}" gnome2_src_configure \
- --disable-python-bindings \
- --disable-python3-bindings \
- ${myconf[@]}
-
- if use python ; then
- prepare_python() {
- if python_is_python3; then
- ECONF_SOURCE="${S}" gnome2_src_configure \
- --disable-python-bindings \
- --enable-python3-bindings \
- ${myconf[@]}
- else
- ECONF_SOURCE="${S}" gnome2_src_configure \
- --enable-python-bindings \
- --disable-python3-bindings \
- ${myconf[@]}
- fi
- }
- python_foreach_impl run_in_build_dir prepare_python
- fi
-}
-
-src_compile() {
- cd "${NORMAL_BUILD_DIR}" || die
- gnome2_src_compile
-
- if use python ; then
- compile_binding() {
- local pysuffix
- if python_is_python3; then
- pysuffix=3
- else
- pysuffix=
- fi
-
- emake -C bindings/python$pysuffix \
- VPATH="${S}:${NORMAL_BUILD_DIR}" \
- _clinkgrammar_la_DEPENDENCIES="${NORMAL_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- _clinkgrammar_la_LIBADD="${NORMAL_BUILD_DIR}"/link-grammar/liblink-grammar.la
- }
- python_foreach_impl run_in_build_dir compile_binding
- fi
-}
-
-src_test() {
- cd "${NORMAL_BUILD_DIR}" || die
- ln -s "${S}"/data tests/data || die
- emake check
-}
-
-src_install() {
- cd "${NORMAL_BUILD_DIR}" || die
- gnome2_src_install
-
- if use python ; then
- install_binding() {
- local pysuffix
- if python_is_python3; then
- pysuffix=3
- else
- pysuffix=
- fi
-
- emake -C bindings/python$pysuffix \
- VPATH="${S}:${NORMAL_BUILD_DIR}" \
- _clinkgrammar_la_DEPENDENCIES="${NORMAL_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- _clinkgrammar_la_LIBADD="${NORMAL_BUILD_DIR}"/link-grammar/liblink-grammar.la \
- DESTDIR="${D}" \
- install
- }
- python_foreach_impl run_in_build_dir install_binding
- fi
-}
-
-pkg_preinst() {
- use java && java-pkg-opt-2_pkg_preinst
- gnome2_pkg_preinst
-}
diff --git a/dev-libs/link-grammar/metadata.xml b/dev-libs/link-grammar/metadata.xml
index d0d22785b362..cde193a9efa3 100644
--- a/dev-libs/link-grammar/metadata.xml
+++ b/dev-libs/link-grammar/metadata.xml
@@ -1,18 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="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/files/lockdev-1.0.3-add-autotools.patch b/dev-libs/lockdev/files/lockdev-1.0.3-add-autotools.patch
index f54bcb8fd72c..01551f56295d 100644
--- a/dev-libs/lockdev/files/lockdev-1.0.3-add-autotools.patch
+++ b/dev-libs/lockdev/files/lockdev-1.0.3-add-autotools.patch
@@ -5,8 +5,8 @@ Contributed by Nick Fortino (nfortino@gmail.com) 2/1/2009
Updated by Jonathan Callen <abcd@gentoo.org> 2009-09-11
---- Makefile.am
-+++ Makefile.am
+--- a/Makefile.am
++++ b/Makefile.am
@@ -0,0 +1,20 @@
+include_HEADERS = src/lockdev.h src/ttylock.h
+
@@ -28,9 +28,9 @@ Updated by Jonathan Callen <abcd@gentoo.org> 2009-09-11
+ for page in $(manpage_links); do \
+ $(LN_S) -f lockdev.3 $(DESTDIR)$(man3dir)/$${page} ; \
+ done
---- configure.ac
-+++ configure.ac
-@@ -0,0 +1,22 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -0,0 +1,25 @@
+AC_INIT([lockdev], [1.0.3], [BUG-REPORT-ADDRESS])
+AC_CONFIG_AUX_DIR([scripts])
+AM_INIT_AUTOMAKE
@@ -51,5 +51,8 @@ Updated by Jonathan Callen <abcd@gentoo.org> 2009-09-11
+# Checks for programs.
+AC_PROG_LN_S
+
++AC_HEADER_MAJOR
++
++AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/dev-libs/lockdev/files/lockdev-1.0.3-major-minor.patch b/dev-libs/lockdev/files/lockdev-1.0.3-major-minor.patch
new file mode 100644
index 000000000000..8a47137f8aee
--- /dev/null
+++ b/dev-libs/lockdev/files/lockdev-1.0.3-major-minor.patch
@@ -0,0 +1,24 @@
+--- a/src/lockdev.c
++++ b/src/lockdev.c
+@@ -123,13 +123,17 @@
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/file.h>
+-#if defined (__GNU_LIBRARY__)
++
++#include "config.h"
++#if defined (MAJOR_IN_MKDEV)
++# include <sys/mkdev.h>
++#elif defined (MAJOR_IN_SYSMACROS)
+ # include <sys/sysmacros.h>
+-# define MAJOR(dev) gnu_dev_major (dev)
+-# define MINOR(dev) gnu_dev_minor (dev)
+ #else
+-# error "put here a define for MAJOR and MINOR"
++# error "include here the header file defining major() and minor()"
+ #endif
++#define MAJOR(dev) major (dev)
++#define MINOR(dev) minor (dev)
+
+ #include "lockdev.h"
+
diff --git a/dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild b/dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild
deleted file mode 100644
index adea574b396b..000000000000
--- a/dev-libs/lockdev/lockdev-1.0.3.1.2-r2.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-GENTOO_DEPEND_ON_PERL="no"
-inherit toolchain-funcs base perl-module eutils versionator autotools
-
-MAJOR=$(get_major_version)
-MY_PV=$(get_version_component_range 1-3)
-MY_P=${PN}-${MY_PV}
-DEB_PV=$(replace_version_separator 3 '-')
-DEB_P=${PN}_${DEB_PV}
-
-DESCRIPTION="Library for locking devices"
-HOMEPAGE="http://packages.debian.org/source/sid/lockdev"
-SRC_URI="
- mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}.orig.tar.gz
- mirror://debian/pool/main/${PN:0:1}/${PN}/${DEB_P}.diff.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ppc ppc64 ~s390 ~sparc ~x86"
-IUSE="perl"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${MY_P}-add-autotools.patch"
- "${FILESDIR}/${MY_P}-fix-perl.patch"
-)
-
-S=${WORKDIR}/${PN}-${MY_PV}
-PERL_S=${S}/LockDev
-
-pkg_setup() {
- use perl && perl_set_version
-}
-
-src_prepare() {
- cd "${WORKDIR}"
- # Note: we do *not* want to be in ${S} for this, as that breaks the patch
- epatch "${WORKDIR}/${DEB_P}.diff"
-
- cd "${S}"
- base_src_prepare
-
- eautoreconf
-}
-
-src_configure() {
- econf
-
- if use perl; then
- cd "${PERL_S}"
- perl-module_src_configure
- fi
-}
-
-src_compile() {
- emake
-
- if use perl; then
- cd "${PERL_S}"
- perl-module_src_compile
- fi
-}
-
-src_test() {
- if use perl; then
- cd "${PERL_S}"
- SRC_TEST="do"
- export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${S}/.libs"
- perl-module_src_test
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- dodoc AUTHORS ChangeLog* debian/NEWS README.debug
- newdoc debian/changelog changelog.debian
-
- if use perl; then
- cd "${PERL_S}"
- mytargets="pure_install"
- docinto perl
- perl-module_src_install
- fi
-
- # Remove *.la files
- find "${D}" -name "*.la" -exec rm {} + || die "removal of *.la files failed"
-}
-
-pkg_preinst() {
- use perl && perl_set_version
-}
diff --git a/dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild b/dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild
deleted file mode 100644
index 386ed2155028..000000000000
--- a/dev-libs/lockdev/lockdev-1.0.3.1.2-r3.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-GENTOO_DEPEND_ON_PERL="no"
-inherit toolchain-funcs perl-module eutils versionator autotools multilib-minimal
-
-MAJOR=$(get_major_version)
-MY_PV=$(get_version_component_range 1-3)
-MY_P=${PN}-${MY_PV}
-DEB_PV=$(replace_version_separator 3 '-')
-DEB_P=${PN}_${DEB_PV}
-
-DESCRIPTION="Library for locking devices"
-HOMEPAGE="http://packages.debian.org/source/sid/lockdev"
-SRC_URI="
- mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}.orig.tar.gz
- mirror://debian/pool/main/${PN:0:1}/${PN}/${DEB_P}.diff.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 ~s390 ~sparc x86"
-IUSE="perl"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${MY_P}-add-autotools.patch"
- "${FILESDIR}/${MY_P}-fix-perl.patch"
-)
-
-S=${WORKDIR}/${PN}-${MY_PV}
-PERL_S=./LockDev
-
-pkg_setup() {
- use perl && perl_set_version
-}
-
-src_prepare() {
- cd "${WORKDIR}" || die
- # Note: we do *not* want to be in ${S} for this, as that breaks the patch
- epatch "${WORKDIR}/${DEB_P}.diff"
-
- cd "${S}" || die
- epatch "${PATCHES[@]}"
- epatch_user
-
- eautoreconf
-
- # perl module build
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- econf
-
- if multilib_is_native_abi && use perl; then
- cd "${PERL_S}" || die
- perl-module_src_configure
- fi
-}
-
-multilib_src_compile() {
- emake
-
- if multilib_is_native_abi && use perl; then
- cd "${PERL_S}" || die
- perl-module_src_compile
- fi
-}
-
-multilib_src_test() {
- if multilib_is_native_abi && use perl; then
- cd "${PERL_S}" || die
- SRC_TEST="do"
- export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${BUILD_DIR}/.libs"
- perl-module_src_test
- fi
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- if multilib_is_native_abi && use perl; then
- cd "${PERL_S}" || die
- mytargets="pure_install"
- perl-module_src_install
- fi
-}
-
-multilib_src_install_all() {
- dodoc AUTHORS ChangeLog* debian/NEWS README.debug
- newdoc debian/changelog changelog.debian
-
- prune_libtool_files --all
-}
-
-pkg_preinst() {
- use perl && perl_set_version
-}
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
new file mode 100644
index 000000000000..8447e6e1dabf
--- /dev/null
+++ b/dev-libs/lockdev/lockdev-1.0.3.1.2-r4.ebuild
@@ -0,0 +1,97 @@
+# Copyright 2001-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GENTOO_DEPEND_ON_PERL="no"
+
+inherit perl-module autotools multilib-minimal
+
+MAJOR=$(ver_cut 1)
+MY_PV=$(ver_cut 1-3)
+MY_P=${PN}-${MY_PV}
+DEB_PV=$(ver_rs 3 '-')
+DEB_P=${PN}_${DEB_PV}
+
+DESCRIPTION="Library for locking devices"
+HOMEPAGE="http://packages.debian.org/source/sid/lockdev"
+SRC_URI="
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${MY_PV}.orig.tar.gz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${DEB_P}.diff.gz
+"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="perl"
+
+PATCHES=(
+ "${WORKDIR}/${DEB_P}.diff"
+ "${FILESDIR}/${MY_P}-add-autotools.patch"
+ "${FILESDIR}/${MY_P}-fix-perl.patch"
+ "${FILESDIR}/${MY_P}-major-minor.patch"
+)
+
+PERL_S=./LockDev
+
+pkg_setup() {
+ use perl && perl_set_version
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ # perl module build
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ econf
+
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ perl-module_src_configure
+ fi
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ perl-module_src_compile
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ DIST_TEST="do"
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${BUILD_DIR}/.libs"
+ perl-module_src_test
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use perl; then
+ cd "${PERL_S}" || die
+ mytargets="pure_install"
+ perl-module_src_install
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc AUTHORS ChangeLog* debian/NEWS README.debug
+ newdoc debian/changelog changelog.debian
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+ use perl && perl_set_version
+}
diff --git a/dev-libs/lockdev/metadata.xml b/dev-libs/lockdev/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/lockdev/metadata.xml
+++ b/dev-libs/lockdev/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/locked_sstream/Manifest b/dev-libs/locked_sstream/Manifest
deleted file mode 100644
index 0c019ef55497..000000000000
--- a/dev-libs/locked_sstream/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST locked_sstream-0.0.5.tar.bz2 98277 BLAKE2B 096c215a5b64c51755505be9e45b5ccfff8a08d6a2d301b1501960a1b7f111b245f91d0200f80332109f7ca7045cbca625f0f3ab1d04bc26191e0c13295e5209 SHA512 5d136c2e1ac5b1eabd07a8048715f47881662ce7a3bfdc2460428f34ab51b0474327b2f28ce6ba2f4ac9774478abb20082af8f954ebb1c4653ba24ca82991c32
diff --git a/dev-libs/locked_sstream/locked_sstream-0.0.5.ebuild b/dev-libs/locked_sstream/locked_sstream-0.0.5.ebuild
deleted file mode 100644
index 64efb28d1858..000000000000
--- a/dev-libs/locked_sstream/locked_sstream-0.0.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_5 python3_6 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit python-any-r1 waf-utils
-
-DESCRIPTION="tiny C++ library which wraps std::stringstream in a mutex"
-HOMEPAGE="https://carlh.net/locked_sstream"
-SRC_URI="https://carlh.net/downloads/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND=""
-DEPEND="dev-util/waf
- ${PYTHON_DEPS}"
-
-src_prepare() {
- rm -vf ./waf || die
- WAF_BINARY=${EROOT}usr/bin/waf
-
- default
-}
diff --git a/dev-libs/locked_sstream/metadata.xml b/dev-libs/locked_sstream/metadata.xml
deleted file mode 100644
index 1d02d02cd9a0..000000000000
--- a/dev-libs/locked_sstream/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription lang="en">
-locked_sstream is a tiny C++ library which wraps std::stringstream in a mutex to attempt to fix crashes on OS X when multiple threads simultaneously use different stringstreams. It remains to be seen whether it fixes the problem completely, but it certainly helps.
-</longdescription>
-</pkgmetadata>
diff --git a/dev-libs/log4cplus/Manifest b/dev-libs/log4cplus/Manifest
index 3384710de4a5..aeac6e36da7b 100644
--- a/dev-libs/log4cplus/Manifest
+++ b/dev-libs/log4cplus/Manifest
@@ -1 +1 @@
-DIST log4cplus-1.2.0.tar.bz2 629119 BLAKE2B f1b4629f7b6184b3f34f9d702c17487e113548cba46f5a25bb0f4972d7f3ce207310b25c94abea8cc1360591f7d0ac3d466075e584f25ce1968fee9d5b5c543a SHA512 2c3f16645051a230f9ec9a6ac689421efc4b51d5f40cb772e552bd199d2ad13c39d7e577cc63d51617555941412da166a6cda8861ee219154a953d9926aae626
+DIST log4cplus-2.0.7.tar.xz 930924 BLAKE2B b36022403c070df5dfd57e2d61ca87d9bf56ff951e525be83f6bca77c0f39f4065fe18a2de4fd79fe5b4cb0d5953bee76dffd65e8d8ffb847a48166a0e6a7207 SHA512 5f5a84f215a00b52313cf75bce19a450e810300f232cd29582a23a24b426bfb62047099792243f8ec5347a8c04eb7744237b1ed4615f4a8913575406486c59c5
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 07cf88b00eb3..000000000000
--- a/dev-libs/log4cplus/log4cplus-1.2.0.ebuild
+++ /dev/null
@@ -1,71 +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="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 ~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() {
- # bug 648714
- # Qt5 now requires C++11
- append-cxxflags -std=c++11
-
- 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.7.ebuild b/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
new file mode 100644
index 000000000000..83bb995a3864
--- /dev/null
+++ b/dev-libs/log4cplus/log4cplus-2.0.7.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="C++ port of the Log for Java (log4j) logging library"
+HOMEPAGE="https://log4cplus.sourceforge.io/ https://github.com/log4cplus/log4cplus"
+SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}-stable/${PV}/${P}.tar.xz"
+
+LICENSE="|| ( Apache-2.0 BSD-2 )"
+SLOT="0/3"
+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 )
+"
+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/metadata.xml b/dev-libs/log4cplus/metadata.xml
index ccbce42becd1..a7db4616f45a 100644
--- a/dev-libs/log4cplus/metadata.xml
+++ b/dev-libs/log4cplus/metadata.xml
@@ -1,13 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
- <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>
+ <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>
</use>
+ <slots>
+ <subslots>soname major version number</subslots>
+ </slots>
<upstream>
+ <bugs-to>https://github.com/log4cplus/log4cplus/issues</bugs-to>
<remote-id type="github">log4cplus/log4cplus</remote-id>
<remote-id type="sourceforge">log4cplus</remote-id>
</upstream>
diff --git a/dev-libs/log4cpp/Manifest b/dev-libs/log4cpp/Manifest
index 5273c7eecda3..58f428e911e6 100644
--- a/dev-libs/log4cpp/Manifest
+++ b/dev-libs/log4cpp/Manifest
@@ -1 +1,2 @@
-DIST log4cpp-1.1.tar.gz 547676 BLAKE2B 3fee8e575b404215d308a0d6c72feef612dcfb9c881c97500937d1a94d1c435108a24ae1ad20f19cedb1613735c22a37354226699fe6cafbf6d23dcd12668271 SHA512 e1a723641c75a0b7f9ad2338134b327cd9a0a1bd67ff76bca726389ad76e8ba0ee5a95abe6f29e05a77980255dc08b0aa5c906395b0a0ad094994c9e450e3ecb
+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-glibc-2.31.patch b/dev-libs/log4cpp/files/log4cpp-1.1-glibc-2.31.patch
new file mode 100644
index 000000000000..5b927dfe20fa
--- /dev/null
+++ b/dev-libs/log4cpp/files/log4cpp-1.1-glibc-2.31.patch
@@ -0,0 +1,22 @@
+diff --git a/tests/testDailyRollingFileAppender.cpp b/tests/testDailyRollingFileAppender.cpp
+index 9958f41..158c08b 100644
+--- a/tests/testDailyRollingFileAppender.cpp
++++ b/tests/testDailyRollingFileAppender.cpp
+@@ -22,6 +22,7 @@
+
+ #ifndef WIN32 // only available on Win32
+ #include <dirent.h>
++#include <sys/time.h>
+ #else
+ #include <direct.h>
+ #endif
+@@ -232,7 +233,8 @@ namespace OnlyManualTesting {
+
+ now += seconds;
+
+- if (stime(&now) == -1) {
++ struct timeval tv = {.tv_sec = now, .tv_usec = 0};
++ if (settimeofday(&tv, NULL) < 0) {
+ std::cerr << "Can not set date. Need admin privileges?" << std::endl;
+ return -1;
+ }
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..e73fe69e5d42
--- /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="https://downloads.sourceforge.net/${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..4f5b087204d6
--- /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="https://downloads.sourceforge.net/${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.4.ebuild b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
new file mode 100644
index 000000000000..a3223acb40bc
--- /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="https://downloads.sourceforge.net/${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/log4cpp/log4cpp-1.1.ebuild b/dev-libs/log4cpp/log4cpp-1.1.ebuild
deleted file mode 100644
index c2371180dd30..000000000000
--- a/dev-libs/log4cpp/log4cpp-1.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# 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"
-
-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}"/${P}-cmath-fix.patch
- "${FILESDIR}"/${P}-automake-1.13.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/metadata.xml b/dev-libs/log4cpp/metadata.xml
index dc3d0de5eaa2..9e51dcaca112 100644
--- a/dev-libs/log4cpp/metadata.xml
+++ b/dev-libs/log4cpp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/log4cxx/Manifest b/dev-libs/log4cxx/Manifest
index eac0d6890bbe..3edaca4bd2f9 100644
--- a/dev-libs/log4cxx/Manifest
+++ b/dev-libs/log4cxx/Manifest
@@ -1 +1,3 @@
-DIST apache-log4cxx-0.10.0.tar.gz 1667425 BLAKE2B f753e1ddb1f2d7abfca92e60883752acfacc0491aa93cfe0ac26c12b32c1f6406df7be2aa83b65a176671debdaa67a69d68af6cb7901cb626eee572425de40c4 SHA512 1c34d80983db5648bc4582ddcf6b4fdefdc6594c2769f95235f5441cd6d03cf279cc8f365e9a687085b113f79ebac9d7d33a54b6aa3b3b808c0e1a56a15ffa37
+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/files/log4cxx-0.10.0-fix-c++14.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-fix-c++14.patch
deleted file mode 100644
index 86ebdcccd5b8..000000000000
--- a/dev-libs/log4cxx/files/log4cxx-0.10.0-fix-c++14.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-Fix building with C++14, which errors out due to narrowing conversions.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=593874
-
---- a/src/main/cpp/locationinfo.cpp
-+++ b/src/main/cpp/locationinfo.cpp
-@@ -153,8 +153,8 @@
- 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, 0x6C,
- 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69,
- 0x2E, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F,
-- 0x6E, 0x49, 0x6E, 0x66, 0x6F, 0xED, 0x99, 0xBB,
-- 0xE1, 0x4A, 0x91, 0xA5, 0x7C, 0x02, 0x00, 0x01,
-+ 0x6E, 0x49, 0x6E, 0x66, 0x6F, (char)0xED, (char)0x99, (char)0xBB,
-+ (char)0xE1, 0x4A, (char)0x91, (char)0xA5, 0x7C, 0x02, 0x00, 0x01,
- 0x4C, 0x00, 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49,
- 0x6E, 0x66, 0x6F,
- 0x74, 0x00, 0x12, 0x4C, 0x6A,
---- a/src/main/cpp/loggingevent.cpp
-+++ b/src/main/cpp/loggingevent.cpp
-@@ -242,7 +242,7 @@
- 0x68, 0x65, 0x2E, 0x6C, 0x6F, 0x67, 0x34, 0x6A,
- 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F, 0x67,
- 0x67, 0x69, 0x6E, 0x67, 0x45, 0x76, 0x65, 0x6E,
-- 0x74, 0xF3, 0xF2, 0xB9, 0x23, 0x74, 0x0B, 0xB5,
-+ 0x74, (char)0xF3, (char)0xF2, (char)0xB9, 0x23, 0x74, 0x0B, (char)0xB5,
- 0x3F, 0x03, 0x00, 0x0A, 0x5A, 0x00, 0x15, 0x6D,
- 0x64, 0x63, 0x43, 0x6F, 0x70, 0x79, 0x4C, 0x6F,
- 0x6F, 0x6B, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75,
---- a/src/main/cpp/objectoutputstream.cpp
-+++ b/src/main/cpp/objectoutputstream.cpp
-@@ -36,7 +36,7 @@
- objectHandle(0x7E0000),
- classDescriptions(new ClassDescriptionMap())
- {
-- char start[] = { 0xAC, 0xED, 0x00, 0x05 };
-+ char start[] = { (char)0xAC, (char)0xED, 0x00, 0x05 };
- ByteBuffer buf(start, sizeof(start));
- os->write(buf, p);
- }
-@@ -85,7 +85,7 @@
- 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61,
- 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61,
- 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13,
-- 0xBB, 0x0F, 0x25, 0x21, 0x4A, 0xE4, 0xB8, 0x03,
-+ (char)0xBB, 0x0F, 0x25, 0x21, 0x4A, (char)0xE4, (char)0xB8, 0x03,
- 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61,
- 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49,
- 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
---- a/src/main/cpp/synchronized.cpp
-+++ b/src/main/cpp/synchronized.cpp
-@@ -38,6 +38,9 @@
- }
-
- synchronized::~synchronized()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
- {
- #if APR_HAS_THREADS
- apr_status_t stat = apr_thread_mutex_unlock(
---- a/src/main/include/log4cxx/helpers/synchronized.h
-+++ b/src/main/include/log4cxx/helpers/synchronized.h
-@@ -29,7 +29,11 @@
- {
- public:
- synchronized(const Mutex& mutex);
-- ~synchronized();
-+ ~synchronized()
-+#if __cplusplus >= 201103L
-+ noexcept(false)
-+#endif
-+;
-
-
- private:
---- a/src/test/cpp/xml/domtestcase.cpp
-+++ b/src/test/cpp/xml/domtestcase.cpp
-@@ -190,9 +190,9 @@
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml"));
- LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3");
- #if LOG4CXX_LOGCHAR_IS_UTF8
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xC2, 0xB3, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xC2, (logchar)0xB3, 0 };
- #else
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xB3, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xB3, 0 };
- #endif
- File file;
- file.setPath(fname);
-@@ -209,9 +209,9 @@
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml"));
- LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4");
- #if LOG4CXX_LOGCHAR_IS_UTF8
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xE3, 0x86, 0x95, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xE3, (logchar)0x86, (logchar)0x95, 0 };
- #else
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0x3195, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0x3195, 0 };
- #endif
- File file;
- file.setPath(fname);
diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch
deleted file mode 100644
index 854d34a17492..000000000000
--- a/dev-libs/log4cxx/files/log4cxx-0.10.0-gcc44.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Fix for gcc-4.4
---- apache-log4cxx-0.10.0-orig/src/examples/cpp/console.cpp 2009-06-12 13:01:06.000000000 +0200
-+++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2009-06-12 13:07:05.000000000 +0200
-@@ -15,6 +15,7 @@
- * limitations under the License.
- */
-
-+#include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <log4cxx/logger.h>
-
diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch
deleted file mode 100644
index 78a57916bde0..000000000000
--- a/dev-libs/log4cxx/files/log4cxx-0.10.0-missing_includes.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -Naur apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp
---- apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp 2008-04-01 00:34:52.000000000 +0200
-+++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2008-05-06 05:40:52.000000000 +0200
-@@ -15,7 +15,8 @@
- * limitations under the License.
- */
-
--#include <stdlib.h>
-+#include <cstdlib>
-+#include <cstring>
- #include <log4cxx/logger.h>
- #include <log4cxx/consoleappender.h>
- #include <log4cxx/simplelayout.h>
-diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp
---- apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp 2008-04-01 00:34:09.000000000 +0200
-+++ apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp 2008-05-06 05:32:31.000000000 +0200
-@@ -21,6 +21,8 @@
- #include <log4cxx/helpers/pool.h>
- #include <log4cxx/helpers/bytebuffer.h>
-
-+#include <cstring>
-+
- using namespace log4cxx;
- using namespace log4cxx::helpers;
-
-diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp
---- apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp 2008-04-01 00:34:09.000000000 +0200
-+++ apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp 2008-05-06 05:35:55.000000000 +0200
-@@ -20,6 +20,8 @@
- #include <log4cxx/helpers/socket.h>
- #include <log4cxx/helpers/bytebuffer.h>
-
-+#include <cstring>
-+
- using namespace log4cxx;
- using namespace log4cxx::helpers;
-
diff --git a/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch b/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch
deleted file mode 100644
index cedca2ccdf42..000000000000
--- a/dev-libs/log4cxx/files/log4cxx-0.10.0-unixODBC.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-http://issues.apache.org/jira/browse/LOGCXX-299
-http://bugs.gentoo.org/show_bug.cgi?id=254920
-
-diff -ur apache-log4cxx-0.10.0.orig/src/main/cpp/odbcappender.cpp apache-log4cxx-0.10.0/src/main/cpp/odbcappender.cpp
---- apache-log4cxx-0.10.0.orig/src/main/cpp/odbcappender.cpp 2008-04-01 01:34:09.000000000 +0300
-+++ apache-log4cxx-0.10.0/src/main/cpp/odbcappender.cpp 2010-02-24 14:39:37.000000000 +0200
-@@ -167,7 +167,8 @@
- throw SQLException( SQL_HANDLE_DBC, con, "Failed to allocate sql handle.", p);
- }
-
-- SQLWCHAR* wsql = Transcoder::wencode(sql, p);
-+ SQLWCHAR* wsql;
-+ encode(&wsql, sql, p);
- ret = SQLExecDirectW(stmt, wsql, SQL_NTS);
-
- if (ret < 0)
-@@ -237,9 +238,10 @@
- }
-
-
-- SQLWCHAR* wURL = Transcoder::wencode(databaseURL, p);
-+ SQLWCHAR* wURL;
-+ encode(&wURL, databaseURL, p);
-
-- wchar_t szOutConnectionString[1024];
-+ SQLWCHAR szOutConnectionString[1024];
- SQLSMALLINT nOutConnctionLength = 0;
-
- ret = SQLDriverConnectW( connection, NULL,
-@@ -331,3 +333,31 @@
- }
- }
- }
-+
-+void ODBCAppender::encode(wchar_t** dest, const LogString& src, Pool& p) {
-+ *dest = Transcoder::wencode(src, p);
-+}
-+
-+void ODBCAppender::encode(unsigned short** dest,
-+ const LogString& src, Pool& p) {
-+ // worst case double number of characters from UTF-8 or wchar_t
-+ *dest = (unsigned short*)
-+ p.palloc((src.size() + 1) * 2 * sizeof(unsigned short));
-+ unsigned short* current = *dest;
-+ for(LogString::const_iterator i = src.begin();
-+ i != src.end();) {
-+ unsigned int sv = Transcoder::decode(src, i);
-+ if (sv < 0x10000) {
-+ *current++ = (unsigned short) sv;
-+ } else {
-+ unsigned char u = (unsigned char) (sv >> 16);
-+ unsigned char w = (unsigned char) (u - 1);
-+ unsigned short hs = (0xD800 + ((w & 0xF) << 6) + ((sv & 0xFFFF) >> 10));
-+ unsigned short ls = (0xDC00 + (sv && 0x3FF));
-+ *current++ = (unsigned short) hs;
-+ *current++ = (unsigned short) ls;
-+ }
-+ }
-+ *current = 0;
-+}
-+
-diff -ur apache-log4cxx-0.10.0.orig/src/main/include/log4cxx/db/odbcappender.h apache-log4cxx-0.10.0/src/main/include/log4cxx/db/odbcappender.h
---- apache-log4cxx-0.10.0.orig/src/main/include/log4cxx/db/odbcappender.h 2008-04-01 01:34:09.000000000 +0300
-+++ apache-log4cxx-0.10.0/src/main/include/log4cxx/db/odbcappender.h 2010-02-24 14:39:39.000000000 +0200
-@@ -279,6 +279,10 @@
- private:
- ODBCAppender(const ODBCAppender&);
- ODBCAppender& operator=(const ODBCAppender&);
-+ static void encode(wchar_t** dest, const LogString& src,
-+ log4cxx::helpers::Pool& p);
-+ static void encode(unsigned short** dest, const LogString& src,
-+ log4cxx::helpers::Pool& p);
- }; // class ODBCAppender
- LOG4CXX_PTR_DEF(ODBCAppender);
-
diff --git a/dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild b/dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild
deleted file mode 100644
index a305c20e25e5..000000000000
--- a/dev-libs/log4cxx/log4cxx-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P=apache-${P}
-
-DESCRIPTION="Library of C++ classes for logging to files, syslog and other destinations"
-HOMEPAGE="http://logging.apache.org/log4cxx/"
-SRC_URI="mirror://apache/logging/${PN}/${PV}/${MY_P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos"
-IUSE="iodbc unicode odbc smtp"
-
-RDEPEND="dev-libs/apr:1
- dev-libs/apr-util:1
- odbc? (
- iodbc? ( >=dev-db/libiodbc-3.52.4 )
- !iodbc? ( dev-db/unixODBC ) )
- smtp? ( net-libs/libesmtp )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-# test suite fails
-RESTRICT="test"
-
-HTML_DOCS=( site/. )
-PATCHES=(
- "${FILESDIR}/${PN}-0.10.0-missing_includes.patch"
- "${FILESDIR}/${PN}-0.10.0-gcc44.patch"
- "${FILESDIR}/${PN}-0.10.0-unixODBC.patch"
- "${FILESDIR}/${PN}-0.10.0-fix-c++14.patch"
-)
-
-pkg_setup() {
- if use iodbc && ! use odbc; then
- elog "Please enable the odbc USE-flag as well if you want odbc-support through iodbc."
- fi
-}
-
-src_configure() {
- econf \
- --disable-doxygen \
- --disable-html-docs \
- --with-apr-util="${SYSROOT}${EPREFIX}/usr" \
- $(use_with smtp SMTP libesmtp) \
- $(use_with odbc ODBC $(usex iodbc iODBC unixODBC)) \
- --with-charset=$(usex unicode utf-8 auto)
-}
-
-src_install() {
- default
-
- docinto examples
- dodoc src/examples/cpp/*.cpp
- docompress -x /usr/share/doc/${PF}/examples
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/log4cxx/log4cxx-0.11.0.ebuild b/dev-libs/log4cxx/log4cxx-0.11.0.ebuild
new file mode 100644
index 000000000000..a03ea1c0a647
--- /dev/null
+++ b/dev-libs/log4cxx/log4cxx-0.11.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools
+
+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"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~ppc-macos"
+IUSE="iodbc unicode odbc smtp"
+REQUIRED_USE="iodbc? ( !odbc )"
+# test suite fails
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ odbc? (
+ iodbc? ( >=dev-db/libiodbc-3.52.4 )
+ !iodbc? ( dev-db/unixODBC )
+ )
+ smtp? ( net-libs/libesmtp )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --disable-doxygen \
+ --disable-html-docs \
+ --with-apr-util="${ESYSROOT}"/usr \
+ $(use_with smtp SMTP libesmtp) \
+ $(use_with odbc ODBC $(usex iodbc iODBC unixODBC)) \
+ --with-charset=$(usex unicode utf-8 auto)
+}
+
+src_install() {
+ default
+
+ docinto examples
+ dodoc src/examples/cpp/*.cpp
+ docompress -x /usr/share/doc/${PF}/examples
+
+ # package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
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 9113d9e78cad..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/log4sh-1.4.2.ebuild b/dev-libs/log4sh/log4sh-1.4.2.ebuild
index bb98dc57cf64..9464b3d9655c 100644
--- a/dev-libs/log4sh/log4sh-1.4.2.ebuild
+++ b/dev-libs/log4sh/log4sh-1.4.2.ebuild
@@ -1,13 +1,11 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-
-inherit eutils
+EAPI=7
DESCRIPTION="A flexible logging framework for shell scripts"
HOMEPAGE="https://sourceforge.net/projects/log4sh"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
LICENSE="LGPL-2.1"
SLOT="0"
@@ -22,8 +20,7 @@ src_compile() {
src_test() {
# testsuite needs USER variable
- export USER="$(whoami)"
- make test || die "make test failed"
+ USER="$(whoami)" emake test
}
src_install() {
@@ -31,7 +28,9 @@ src_install() {
doins build/log4sh
dodoc doc/*.txt
- dohtml doc/*.{html,css}
+
+ docinto html
+ dodoc doc/*.{html,css}
if use examples; then
docinto examples
@@ -41,7 +40,7 @@ src_install() {
}
pkg_postinst() {
- elog "To use log4sh, have your script source /usr/lib/log4sh/log4sh"
+ elog "To use log4sh, have your script source ${EPREFIX}/usr/lib/log4sh/log4sh"
elog "If you want to use remote logging, you should install package,"
elog "that provides netcat binary (for example - net-analyzer/netcat)"
}
diff --git a/dev-libs/log4sh/metadata.xml b/dev-libs/log4sh/metadata.xml
index 1190c8b40ad6..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/log4shib/Manifest b/dev-libs/log4shib/Manifest
deleted file mode 100644
index 984ad1ebdd62..000000000000
--- a/dev-libs/log4shib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST log4shib-1.0.4.tar.gz 487529 BLAKE2B 8ba4dd17e2f35c6566ba4736b5450c41fab1c5506ab6e994136b97ccab4d399281afb32fcf13935c25acd7ba063d2ed6595bab564614ffbb0d944074b68a5bba SHA512 af31bb436393e1a6a2674c0f4804148dea4f4081bb07b78f158f4109157bef4ed40647a3e4da7ec5eef0ed38b6286aee6d8b8a3320572c2b55df2998850d5245
diff --git a/dev-libs/log4shib/log4shib-1.0.4-r1.ebuild b/dev-libs/log4shib/log4shib-1.0.4-r1.ebuild
deleted file mode 100644
index 63ac7a704a4d..000000000000
--- a/dev-libs/log4shib/log4shib-1.0.4-r1.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
-
-DESCRIPTION="Internet2 version for OpenSAML of log4cpp logging framework"
-HOMEPAGE="https://wiki.shibboleth.net/confluence/display/OpenSAML/log4shib"
-SRC_URI="https://shibboleth.net/downloads/${PN}/${PV}/${P}.tar.gz"
-
-KEYWORDS="~amd64 ~x86"
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="debug doc static-libs"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_configure() {
- econf --without-idsa \
- $(use_enable debug) \
- $(use_enable doc doxygen) \
- $(use_enable static-libs static)
-}
diff --git a/dev-libs/log4shib/metadata.xml b/dev-libs/log4shib/metadata.xml
deleted file mode 100644
index 67c3230498ed..000000000000
--- a/dev-libs/log4shib/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>log4shib is a library of C++ classes for flexible logging
- to files, syslog, IDSA and other destinations. It is a forked version
- of log4cpp especially adapted for the shibboleth framework
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/ltxml/Manifest b/dev-libs/ltxml/Manifest
deleted file mode 100644
index fc89fefe5a0e..000000000000
--- a/dev-libs/ltxml/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ltxml-1.2.9.tar.gz 304050 BLAKE2B 607fdcdfd056784862d06a7c6d3ea980695cff429f843235a0f5d8ce981996e1e3028cf5d7cf6329f208fabd7021ad15bd3e70efec8500d529d802e30994b18f SHA512 1c0b965b7ed330069a23259bc937546a6a0eb639206a844b6c4d524acfaeb1ec6978467fa8e63c8430ca222cec04386368e7ce625ac829ea5be445e880b86ac9
diff --git a/dev-libs/ltxml/ltxml-1.2.9.ebuild b/dev-libs/ltxml/ltxml-1.2.9.ebuild
deleted file mode 100644
index c1063f3255cf..000000000000
--- a/dev-libs/ltxml/ltxml-1.2.9.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit multilib toolchain-funcs
-
-DESCRIPTION="Integrated set of XML tools and a developers tool-kit with C API"
-HOMEPAGE="http://www.ltg.ed.ac.uk/software/xml/"
-SRC_URI=ftp://ftp.cogsci.ed.ac.uk/pub/LTXML/${P}.tar.gz
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ia64 ppc x86"
-IUSE=""
-
-DEPEND="dev-lang/perl"
-RDEPEND=""
-
-PV_MAJ="${PV:0:1}${PV:2:1}"
-
-S=${WORKDIR}/${P}/XML
-
-pkg_setup() {
- tc-export AR
-}
-
-src_prepare() {
- sed -e '/CFLAGS=/s:-g::' \
- -e '/CFLAGS=/s:-O2::' \
- -i configure || die
- sed -e 's/ar rv/$(AR) rv/' -i src/Makefile.sub.in || die
-}
-
-src_compile() {
- emake all
-}
-
-src_install() {
- emake -j1 install \
- datadir="${D}"/usr/$(get_libdir)/${PN}${PV_MAJ} \
- libdir="${D}"/usr/$(get_libdir) \
- prefix="${D}"/usr
-}
diff --git a/dev-libs/ltxml/metadata.xml b/dev-libs/ltxml/metadata.xml
deleted file mode 100644
index 3ff7c54672fe..000000000000
--- a/dev-libs/ltxml/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>
-Integrated set of XML tools and a developers tool-kit with C API
-</longdescription>
-</pkgmetadata>
diff --git a/dev-libs/luise-bin/luise-bin-0.1.1.ebuild b/dev-libs/luise-bin/luise-bin-0.1.1.ebuild
deleted file mode 100644
index c1ffd9dd703c..000000000000
--- a/dev-libs/luise-bin/luise-bin-0.1.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit multilib
-
-MY_PN="LUIse"
-
-DESCRIPTION="Programming interface for the Wallbraun LCD-USB-Interface"
-HOMEPAGE="http://wallbraun-electronics.de/downloadssite/"
-SRC_URI="http://www.wallbraun-electronics.de/downloads/${MY_PN}_${PV}.tar.gz"
-
-LICENSE="BSD GPL-2+"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE="doc examples"
-
-DEPEND="=virtual/libusb-0*"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_PN}_${PV}"
-src_install() {
- if use x86 ; then
- insinto /usr/include
- doins 32bit/luise.h
- dolib.so 32bit/libluise.so.0.1.1
- fi
- if use amd64 ; then
- insinto /usr/include
- doins 64bit/luise.h
- newlib.so 64bit/libluise_64.so.0.1.1 libluise.so.0.1.1
- fi
- dosym /usr/$(get_libdir)/libluise.so{.0.1.1,}
-
- newdoc doc/readme README
- use doc && dodoc doc/docu_luise011_Linux.pdf
- if use examples ; then
- docinto examples
- dodoc samples/luise-test/*
- fi
-}
diff --git a/dev-libs/luise-bin/metadata.xml b/dev-libs/luise-bin/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/luise-bin/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/luise-bin/Manifest b/dev-libs/luise/Manifest
index 226d7aa07b94..226d7aa07b94 100644
--- a/dev-libs/luise-bin/Manifest
+++ b/dev-libs/luise/Manifest
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/luise/metadata.xml b/dev-libs/luise/metadata.xml
new file mode 100644
index 000000000000..b8830c1b68c7
--- /dev/null
+++ b/dev-libs/luise/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>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ The libluise.so lib provides a very simple interface for programming
+ the USB LCDs ready. The programmer has three independent screens available,
+ a text screen and two graphic screens. The screens are each 320x240 pixels.
+ By the two separate graphic screens can be very easily superimposed static and
+ represent dynamic data. This is for example when using background images
+ helpful because the environment of the dynamic data / graphics is not constantly recalculated
+ got to. All three screens will appear "on top of each other" on the LCD and will go through
+ previously defined parameters (LUI_LCDmode ()) corresponding to each other bitwise
+ connected. The coordinate origin (x = 0, y = 0) of a screen is always in the
+ left upper corner. In addition, the inversion and the rotation of the screens
+ supports (90 ° steps), while saving the programmer the coordinates conversions stay.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/lzo/lzo-2.10.ebuild b/dev-libs/lzo/lzo-2.10.ebuild
index 2960660b6803..8ad80605d20a 100644
--- a/dev-libs/lzo/lzo-2.10.ebuild
+++ b/dev-libs/lzo/lzo-2.10.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit multilib-minimal toolchain-funcs
+inherit multilib-minimal usr-ldscript
DESCRIPTION="An extremely fast compression and decompression library"
-HOMEPAGE="http://www.oberhumer.com/opensource/lzo/"
-SRC_URI="http://www.oberhumer.com/opensource/lzo/download/${P}.tar.gz"
+HOMEPAGE="https://www.oberhumer.com/opensource/lzo/"
+SRC_URI="https://www.oberhumer.com/opensource/lzo/download/${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="2"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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/lzo/metadata.xml b/dev-libs/lzo/metadata.xml
index 0319eec4c8be..58200bf1569f 100644
--- a/dev-libs/lzo/metadata.xml
+++ b/dev-libs/lzo/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:lzo_project:lzo</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/m17n-lib/Manifest b/dev-libs/m17n-lib/Manifest
index 4af74c61ae16..3cda17fa644a 100644
--- a/dev-libs/m17n-lib/Manifest
+++ b/dev-libs/m17n-lib/Manifest
@@ -1,2 +1 @@
-DIST m17n-lib-1.7.0.tar.gz 1063169 BLAKE2B 61192d26dec8a8bdb55b6a819c5b1aa5503e4320d57864889065c9490ee6720f5b258fbef10d5944f69f5a9ccbe49ea5494c8b0a10d536592c301f46df6826c5 SHA512 26fc1be02a5e487a2fa5f2f63d991f3c745aa1b78e20d931fe4b265125266501cc8d402aa3cb5c1b71a7d4c0f7a0bf5b2c3b17ec5f4f8e0f5ee3052ad4e205b7
DIST m17n-lib-1.8.0.tar.gz 1091731 BLAKE2B a4b55fbc3246fe0865dcf1647e91d03de6ead06fb4349ba207613cdea6bb079c0e7623510a6fb046dce4bfefd262f68c41c9174d29a2b4a6f673da298642e1cb SHA512 8aba862888393232172c03cdf52531e29ea969c4327e6f69879ecf7438eafee32782f509ec292b3e1b7cd3202e2764984d7a59e85cdb87a7c8bfcbac5b0ee6fd
diff --git a/dev-libs/m17n-lib/files/m17n-lib-freetype.patch b/dev-libs/m17n-lib/files/m17n-lib-freetype.patch
index 59b040c4335b..93612fd22a86 100644
--- a/dev-libs/m17n-lib/files/m17n-lib-freetype.patch
+++ b/dev-libs/m17n-lib/files/m17n-lib-freetype.patch
@@ -1,5 +1,5 @@
---- /src/font.c
-+++ /src/font.c
+--- a/src/font.c
++++ b/src/font.c
@@ -1763,10 +1763,10 @@
if (format == Mx || format == Mnil)
@@ -27,8 +27,8 @@
else
MERROR (MERROR_FONT, NULL);
return name;
---- /src/font.h
-+++ /src/font.h
+--- a/src/font.h
++++ b/src/font.h
@@ -307,10 +307,14 @@
extern void mfont__ft_fini ();
diff --git a/dev-libs/m17n-lib/m17n-lib-1.7.0.ebuild b/dev-libs/m17n-lib/m17n-lib-1.7.0.ebuild
deleted file mode 100644
index b5dcd1285ee7..000000000000
--- a/dev-libs/m17n-lib/m17n-lib-1.7.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit autotools
-
-DESCRIPTION="Multilingual Library for Unix/Linux"
-HOMEPAGE="https://savannah.nongnu.org/projects/m17n https://git.savannah.nongnu.org/cgit/m17n/m17n-lib.git"
-SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86"
-IUSE="X anthy athena bidi fontconfig gd libotf libxml2 spell xft"
-
-RDEPEND="~dev-db/m17n-db-${PV}
- X? (
- x11-libs/libX11
- athena? ( x11-libs/libXaw )
- bidi? ( dev-libs/fribidi )
- fontconfig? ( media-libs/fontconfig )
- gd? ( media-libs/gd[png] )
- libotf? ( dev-libs/libotf )
- xft? (
- media-libs/freetype
- x11-libs/libXft
- )
- )
- anthy? ( app-i18n/anthy )
- libxml2? ( dev-libs/libxml2 )
- spell? ( app-text/aspell )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-configure.patch
- "${FILESDIR}"/${PN}-freetype.patch
- "${FILESDIR}"/${PN}-ispell.patch
- "${FILESDIR}"/${PN}-parallel-make.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
- # workaround for parallel install
- sed -i "/^install-module/s/:/: install-libLTLIBRARIES/" src/Makefile.in
-}
-
-src_configure() {
- local myconf=(
- $(use_with anthy)
- $(use_with libxml2)
- $(use_with spell ispell)
- )
- if use X; then
- myconf+=(
- $(use_with athena)
- $(use_with bidi fribidi)
- $(use_with fontconfig)
- $(use_with xft freetype)
- $(use_with gd)
- --with-gui
- $(use_with libotf)
- --with-x
- $(use_with xft)
- )
- else
- myconf+=(
- --without-athena
- --without-fontconfig
- --without-freetype
- --without-fribidi
- --without-gd
- --without-gui
- --without-libotf
- --without-x
- --without-xft
- )
- fi
-
- econf "${myconf[@]}"
-}
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 767f8eabe5f1..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,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI="8"
inherit autotools
@@ -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 ~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}
@@ -30,8 +30,8 @@ RDEPEND="~dev-db/m17n-db-${PV}
anthy? ( app-i18n/anthy )
libxml2? ( dev-libs/libxml2 )
spell? ( app-text/aspell )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-configure.patch
diff --git a/dev-libs/m17n-lib/metadata.xml b/dev-libs/m17n-lib/metadata.xml
index 75b918da5084..b4b71f49542e 100644
--- a/dev-libs/m17n-lib/metadata.xml
+++ b/dev-libs/m17n-lib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>cjk@gentoo.org</email>
diff --git a/dev-libs/maloc/files/1.4-asneeded.patch b/dev-libs/maloc/files/1.4-asneeded.patch
deleted file mode 100644
index aed7299e089a..000000000000
--- a/dev-libs/maloc/files/1.4-asneeded.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/aaa_lib/Makefile.am b/src/aaa_lib/Makefile.am
-index 512e1ef..eda73ee 100644
---- a/src/aaa_lib/Makefile.am
-+++ b/src/aaa_lib/Makefile.am
-@@ -49,11 +49,10 @@ else
- LIBEFENCE =
- endif
-
--libdir = ${prefix}/lib
- lib_LTLIBRARIES = libmaloc.la ${LIBEFENCE}
-
- libmaloc_la_SOURCES =
--libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS}
-+libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS} -lreadline -lm
- libmaloc_la_LDFLAGS = -version-info ${FETK_VERSION}
-
- libefence_la_SOURCES =
diff --git a/dev-libs/maloc/files/1.4-doc.patch b/dev-libs/maloc/files/1.4-doc.patch
deleted file mode 100644
index 73be364812cc..000000000000
--- a/dev-libs/maloc/files/1.4-doc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am
-index 2686292..8f77fe2 100644
---- a/doc/doxygen/Makefile.am
-+++ b/doc/doxygen/Makefile.am
-@@ -29,14 +29,12 @@
- ## Author: Michael Holst
- ## ###########################################################################
-
--docdir = @prefix@/doc/maloc
--
- doc_DATA = maloc_doc
-
- maloc_doc:
- $(doxygen_path) $(top_srcdir)/doc/doxygen/maloc.dox
-
- install-docDATA:
-- mkdir -p $(docdir)
-- cp -r ../api $(docdir)/
-+ mkdir -p $(DESTDIR)/@docdir@
-+ cp -r ../api $(DESTDIR)/@docdir@
-
diff --git a/dev-libs/maloc/files/1.4-mpi.patch b/dev-libs/maloc/files/1.4-mpi.patch
deleted file mode 100644
index 807d5ddc8d38..000000000000
--- a/dev-libs/maloc/files/1.4-mpi.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index d82b184..b8c5321 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -397,12 +397,14 @@ AC_SUBST(rl_inc)
- dnl # ----------------------
- dnl # HANDLE THE MPI LIBRARY
- dnl # ----------------------
-+mpi_use=""
- AC_MSG_CHECKING([whether you want MPI])
--AC_ARG_ENABLE(mpi,
-- [ --enable-mpi enable MPI layer [[default=no]]],
-- [ mpi_use="yes" ],
-- [ mpi_use="" ]
--)
-+AC_ARG_ENABLE([mpi],
-+ AS_HELP_STRING([--enable-mpi enable MPI layer [[default=no]]]))
-+
-+AS_IF([test "x$enable_mpi" = "xyes"], [
-+ mpi_use="yes"
-+])
- mpi_lib="";
- mpi_inc="";
- if test -z "${mpi_use}"; then
diff --git a/dev-libs/maloc/files/maloc-1.4-asneeded.patch b/dev-libs/maloc/files/maloc-1.4-asneeded.patch
new file mode 100644
index 000000000000..966c28a4d1e1
--- /dev/null
+++ b/dev-libs/maloc/files/maloc-1.4-asneeded.patch
@@ -0,0 +1,15 @@
+--- a/src/aaa_lib/Makefile.am
++++ b/src/aaa_lib/Makefile.am
+@@ -49,11 +49,10 @@ else
+ LIBEFENCE =
+ endif
+
+-libdir = ${prefix}/lib
+ lib_LTLIBRARIES = libmaloc.la ${LIBEFENCE}
+
+ libmaloc_la_SOURCES =
+-libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS}
++libmaloc_la_LIBADD = ${BASE_LIBS} ${VSYS_LIBS} ${VSH_LIBS} ${PSH_LIBS} -lreadline -lm
+ libmaloc_la_LDFLAGS = -version-info ${FETK_VERSION}
+
+ libefence_la_SOURCES =
diff --git a/dev-libs/maloc/files/maloc-1.4-doc.patch b/dev-libs/maloc/files/maloc-1.4-doc.patch
new file mode 100644
index 000000000000..575b44f228f1
--- /dev/null
+++ b/dev-libs/maloc/files/maloc-1.4-doc.patch
@@ -0,0 +1,19 @@
+--- a/doc/doxygen/Makefile.am
++++ b/doc/doxygen/Makefile.am
+@@ -29,14 +29,12 @@
+ ## Author: Michael Holst
+ ## ###########################################################################
+
+-docdir = @prefix@/doc/maloc
+-
+ doc_DATA = maloc_doc
+
+ maloc_doc:
+ $(doxygen_path) $(top_srcdir)/doc/doxygen/maloc.dox
+
+ install-docDATA:
+- mkdir -p $(docdir)
+- cp -r ../api $(docdir)/
++ mkdir -p $(DESTDIR)/@docdir@
++ cp -r ../api $(DESTDIR)/@docdir@
+
diff --git a/dev-libs/maloc/files/maloc-1.4-mpi.patch b/dev-libs/maloc/files/maloc-1.4-mpi.patch
new file mode 100644
index 000000000000..c11420e80213
--- /dev/null
+++ b/dev-libs/maloc/files/maloc-1.4-mpi.patch
@@ -0,0 +1,22 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -397,12 +397,14 @@ AC_SUBST(rl_inc)
+ dnl # ----------------------
+ dnl # HANDLE THE MPI LIBRARY
+ dnl # ----------------------
++mpi_use=""
+ AC_MSG_CHECKING([whether you want MPI])
+-AC_ARG_ENABLE(mpi,
+- [ --enable-mpi enable MPI layer [[default=no]]],
+- [ mpi_use="yes" ],
+- [ mpi_use="" ]
+-)
++AC_ARG_ENABLE([mpi],
++ AS_HELP_STRING([--enable-mpi enable MPI layer [[default=no]]]))
++
++AS_IF([test "x$enable_mpi" = "xyes"], [
++ mpi_use="yes"
++])
+ mpi_lib="";
+ mpi_inc="";
+ if test -z "${mpi_use}"; then
diff --git a/dev-libs/maloc/maloc-1.5-r1.ebuild b/dev-libs/maloc/maloc-1.5-r1.ebuild
index a28998d13c5e..d18f95929c5e 100644
--- a/dev-libs/maloc/maloc-1.5-r1.ebuild
+++ b/dev-libs/maloc/maloc-1.5-r1.ebuild
@@ -1,59 +1,66 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-AUTOTOOLS_AUTORECONF=yes
-
-inherit autotools-utils
+inherit autotools
DESCRIPTION="Minimal Abstraction Layer for Object-oriented C/C++ programs"
HOMEPAGE="http://www.fetk.org/codes/maloc/index.html"
SRC_URI="http://www.fetk.org/codes/download/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
SLOT="0"
LICENSE="GPL-2"
-IUSE="doc mpi static-libs"
+IUSE="doc mpi"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
-RDEPEND="
- sys-libs/readline
- mpi? ( virtual/mpi )"
-DEPEND="${RDEPEND}
+BDEPEND="
doc? (
+ app-text/doxygen
media-gfx/graphviz
- app-doc/doxygen
- )"
-
-S="${WORKDIR}/${PN}"
+ )
+"
+RDEPEND="
+ sys-libs/readline:0=
+ mpi? ( virtual/mpi )
+"
+DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/1.4-mpi.patch
- "${FILESDIR}"/1.4-asneeded.patch
- "${FILESDIR}"/1.4-doc.patch
- )
+ "${FILESDIR}"/${PN}-1.4-mpi.patch
+ "${FILESDIR}"/${PN}-1.4-asneeded.patch
+ "${FILESDIR}"/${PN}-1.4-doc.patch
+)
src_prepare() {
+ default
+
echo 'VPUBLIC int Vio_getc(Vio *thee){ ASC *asc; asc = thee->axdr; return asc->buf[asc->pos++]; }' >> src/vsys/vio.c || die
- autotools-utils_src_prepare
+ eautoreconf
}
src_configure() {
- local myeconfargs
+ local myeconfargs=()
+
use mpi && export CC="mpicc"
use doc || myeconfargs+=( --with-doxygen= --with-dot= )
myeconfargs+=(
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- $(use_enable mpi)
--disable-triplet
- )
- autotools-utils_src_configure
+ --disable-static
+ $(use_enable mpi)
+ )
+
+ econf "${myeconfargs[@]}"
}
src_install() {
- autotools-utils_src_install
+ default
+
+ docinto html
+ dodoc doc/index.html
- # install doc
- dohtml doc/index.html
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name '*.a' -delete || die
}
diff --git a/dev-libs/maloc/metadata.xml b/dev-libs/maloc/metadata.xml
index 8425c0d53cb0..7d3acaf5d252 100644
--- a/dev-libs/maloc/metadata.xml
+++ b/dev-libs/maloc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/dev-libs/mapm/Manifest b/dev-libs/mapm/Manifest
deleted file mode 100644
index 5f104f18ec24..000000000000
--- a/dev-libs/mapm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mapm-4.9.5.tar.gz 162943 BLAKE2B db0ba331cb3eb526c13de24e6aeafef9ea5f4391b0450386a263507e164ed15616c747e6237b886a60bc186550f3c7350776a5c699952b20121c2ba766f03d28 SHA512 1d0b489395fdfcb0c23ce2d242c63de739c45e33827411c976f6e7c48b18fc2afe599270139f40108b1f30573134d9d5950f3316613a45f567f53cfd59f4dc3e
diff --git a/dev-libs/mapm/files/4.9.5-missing_include.patch b/dev-libs/mapm/files/4.9.5-missing_include.patch
deleted file mode 100644
index e03b122ea0dc..000000000000
--- a/dev-libs/mapm/files/4.9.5-missing_include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur mapm_4.9.5.orig/m_apm.h mapm_4.9.5/m_apm.h
---- mapm_4.9.5.orig/m_apm.h 2009-03-02 11:55:18.914770612 +0100
-+++ mapm_4.9.5/m_apm.h 2009-03-02 11:56:19.585923499 +0100
-@@ -159,6 +159,8 @@
- #ifndef M__APM__INCLUDED
- #define M__APM__INCLUDED
-
-+#include <stdlib.h>
-+
- #ifdef __cplusplus
- /* Comment this line out if you've compiled the library as C++. */
- #define APM_CONVERT_FROM_C
diff --git a/dev-libs/mapm/mapm-4.9.5-r1.ebuild b/dev-libs/mapm/mapm-4.9.5-r1.ebuild
deleted file mode 100644
index cc8171276d8a..000000000000
--- a/dev-libs/mapm/mapm-4.9.5-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils toolchain-funcs
-
-DESCRIPTION="Mike's Arbitrary Precision Math Library"
-HOMEPAGE="http://www.tc.umn.edu/~ringx004/mapm-main.html"
-SRC_URI="http://www.tc.umn.edu/~ringx004/${P}.tar.gz"
-
-LICENSE="mapm-4.9.5"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~sparc x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-S="${WORKDIR}/${PN}_${PV}"
-
-PATCHES=( "${FILESDIR}/${PV}-missing_include.patch" )
-
-src_compile() {
- $(tc-getCC) -c -Wall ${CFLAGS} -fPIC map*.c || die "compiling sources failed"
- $(tc-getCC) -shared ${LDFLAGS} -Wl,--soname=libmapm.so -o libmapm.so.0 map*.o || die "linking sources failed"
-}
-
-src_install() {
- dolib.so libmapm.so.0
- dosym libmapm.so.0 /usr/$(get_libdir)/libmapm.so
-
- insinto /usr/include
- doins m_apm.h
-
- insinto /usr/share/doc/${PF}/examples
- doins calc.c validate.c primenum.c cpp_demo.cpp
-
- cd DOCS || die
- dodoc README article.pdf algorithms.used commentary.txt \
- cpp_function.ref function.ref history.txt struct.ref
-
-}
diff --git a/dev-libs/mapm/metadata.xml b/dev-libs/mapm/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/mapm/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/marisa/Manifest b/dev-libs/marisa/Manifest
index 2939d5c54996..e6b7e3213805 100644
--- a/dev-libs/marisa/Manifest
+++ b/dev-libs/marisa/Manifest
@@ -1 +1 @@
-DIST marisa-0.2.4.tar.gz 502552 BLAKE2B aa8e6ce11c35db41f386d1c5d3ffdf56a940f298e10a7f6b1fa14cb80c27c9c4af1d4d61c58786f96e9598effe26379127c69b8fe72b1ca561a44ee2b9cddc61 SHA512 71aee3ae034d1ce725d986bef43472d61bd64f0af3ccda01bb019cce03f0872629b6a1b305e717056bef06e036372323b2a67e5dc69705d6a74e028b5e2553e4
+DIST marisa-0.2.6.tar.gz 168332 BLAKE2B 3b8a89a9a0b344d9de96edb5bf17c50db07da373e75eba098f48c9064321d579ac104db622608119377084c79165bf558c804eaff591903b67330b13bc8acf55 SHA512 c094e4b22e1457efdd20f2b978ee421b53e36ed94e4fdbd8944136c0ba23da4f6ba9fe3a2c64729c1426aee4dbe8098bfa5eebb943ae7fdaa4eec760485c564d
diff --git a/dev-libs/marisa/files/marisa-0.2.4-python.patch b/dev-libs/marisa/files/marisa-0.2.4-python.patch
deleted file mode 100644
index fba0e016d475..000000000000
--- a/dev-libs/marisa/files/marisa-0.2.4-python.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- bindings/python/setup.py 2011-05-14 07:20:52.000000000 +0200
-+++ bindings/python/setup.py 2013-08-02 17:04:16.423771834 +0200
-@@ -1,8 +1,10 @@
- from distutils.core import setup, Extension
-
- marisa_module = Extension("_marisa",
-- sources=["marisa-swig_wrap.cxx", "marisa-swig.cxx"],
-- libraries=["marisa"])
-+ sources=["marisa-swig.i", "marisa-swig.cxx"],
-+ swig_opts=["-c++"],
-+ libraries=["marisa"], library_dirs=["../../lib/.libs"],
-+ include_dirs=["../../lib"])
-
- setup(name = "marisa",
- ext_modules = [marisa_module],
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-riscv_word_size.patch b/dev-libs/marisa/files/marisa-0.2.6-riscv_word_size.patch
new file mode 100644
index 000000000000..49750d807619
--- /dev/null
+++ b/dev-libs/marisa/files/marisa-0.2.6-riscv_word_size.patch
@@ -0,0 +1,11 @@
+--- a/include/marisa/base.h
++++ b/include/marisa/base.h
+@@ -31,7 +31,7 @@
+ #if defined(_WIN64) || defined(__amd64__) || defined(__x86_64__) || \
+ defined(__ia64__) || defined(__ppc64__) || defined(__powerpc64__) || \
+ defined(__sparc64__) || defined(__mips64__) || defined(__aarch64__) || \
+- defined(__s390x__)
++ defined(__s390x__) || (defined(__riscv) && (__riscv_xlen == 64))
+ #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.4.ebuild b/dev-libs/marisa/marisa-0.2.4.ebuild
deleted file mode 100644
index 365ab5407b2a..000000000000
--- a/dev-libs/marisa/marisa-0.2.4.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-DISTUTILS_OPTIONAL=1
-
-inherit distutils-r1 eutils
-
-DESCRIPTION="Matching Algorithm with Recursively Implemented StorAge"
-HOMEPAGE="https://github.com/s-yata/marisa-trie https://code.google.com/archive/p/marisa-trie/"
-SRC_URI="https://marisa-trie.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86"
-IUSE="python doc static-libs cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_sse4a cpu_flags_x86_popcnt"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-lang/swig )"
-
-# implied by --enable switches
-REQUIRED_USE="
- cpu_flags_x86_popcnt? ( cpu_flags_x86_sse3 )
- cpu_flags_x86_sse4a? ( cpu_flags_x86_popcnt cpu_flags_x86_sse3 )
- cpu_flags_x86_sse4_2? ( cpu_flags_x86_popcnt cpu_flags_x86_sse4_1 )
- cpu_flags_x86_sse4_1? ( cpu_flags_x86_ssse3 )
- cpu_flags_x86_ssse3? ( cpu_flags_x86_sse3 )
- cpu_flags_x86_sse3? ( cpu_flags_x86_sse2 )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-python.patch"
- if use python; then
- pushd bindings/python || die
- ln -sf ../marisa-swig.i marisa-swig.i || die
- ln -sf ../marisa-swig.h marisa-swig.h || die
- ln -sf ../marisa-swig.cxx marisa-swig.cxx || die
- distutils-r1_src_prepare
- popd || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- $(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 sse4.1)
- $(use_enable cpu_flags_x86_sse4_2 sse4.2)
- # sse4 is just an alias to sse4.2
- $(use_enable cpu_flags_x86_sse4a sse4a)
- $(use_enable cpu_flags_x86_popcnt popcnt)
- )
- econf "${myeconfargs[@]}"
-
- if use python; then
- pushd bindings/python || die
- distutils-r1_src_configure
- popd || die
- fi
-}
-
-src_compile() {
- default
- if use python; then
- pushd bindings/python || die
- distutils-r1_src_compile
- popd || die
- fi
-}
-
-src_install() {
- default
- if use python; then
- pushd bindings/python || die
- distutils-r1_src_install
- popd || die
- fi
- use doc && dohtml docs/readme.en.html
- prune_libtool_files
-}
diff --git a/dev-libs/marisa/marisa-0.2.6.ebuild b/dev-libs/marisa/marisa-0.2.6.ebuild
new file mode 100644
index 000000000000..6e587ffcb945
--- /dev/null
+++ b/dev-libs/marisa/marisa-0.2.6.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2014-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_OPTIONAL="1"
+DISTUTILS_EXT=1
+
+inherit autotools distutils-r1 toolchain-funcs
+
+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 ~hppa ~loong ppc ppc64 ~riscv 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}/${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() {
+ 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}"
+
+ cpu_instructions_option() {
+ local option="${1}"
+ local macros="${2}"
+ local result="--enable-${option}"
+ local macro
+ for macro in ${macros}; do
+ if ! $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -Eq "^#define ${macro}([[:space:]]|$)"; then
+ result="--disable-${option}"
+ fi
+ done
+ echo "${result}"
+ }
+
+ local options=(
+ $(cpu_instructions_option sse2 __SSE2__)
+ $(cpu_instructions_option sse3 __SSE3__)
+ $(cpu_instructions_option ssse3 __SSSE3__)
+ $(cpu_instructions_option sse4.1 __SSE4_1__)
+ $(cpu_instructions_option sse4.2 __SSE4_2__)
+ $(cpu_instructions_option sse4 __POPCNT__ __SSE4_2__)
+ $(cpu_instructions_option sse4a __SSE4A__)
+ $(cpu_instructions_option popcnt __POPCNT__)
+ $(cpu_instructions_option bmi __BMI__)
+ $(cpu_instructions_option bmi2 __BMI2__)
+ $(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 "${ED}" -name "*.la" -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-9999.ebuild b/dev-libs/marisa/marisa-9999.ebuild
new file mode 100644
index 000000000000..7731d92f28e3
--- /dev/null
+++ b/dev-libs/marisa/marisa-9999.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2014-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_OPTIONAL="1"
+DISTUTILS_EXT=1
+
+inherit autotools distutils-r1 toolchain-funcs
+
+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=""
+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
+
+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}"
+
+ cpu_instructions_option() {
+ local option="${1}"
+ local macros="${2}"
+ local result="--enable-${option}"
+ local macro
+ for macro in ${macros}; do
+ if ! $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -Eq "^#define ${macro}([[:space:]]|$)"; then
+ result="--disable-${option}"
+ fi
+ done
+ echo "${result}"
+ }
+
+ local options=(
+ $(cpu_instructions_option sse2 __SSE2__)
+ $(cpu_instructions_option sse3 __SSE3__)
+ $(cpu_instructions_option ssse3 __SSSE3__)
+ $(cpu_instructions_option sse4.1 __SSE4_1__)
+ $(cpu_instructions_option sse4.2 __SSE4_2__)
+ $(cpu_instructions_option sse4 __POPCNT__ __SSE4_2__)
+ $(cpu_instructions_option sse4a __SSE4A__)
+ $(cpu_instructions_option popcnt __POPCNT__)
+ $(cpu_instructions_option bmi __BMI__)
+ $(cpu_instructions_option bmi2 __BMI2__)
+ $(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 "${ED}" -name "*.la" -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/metadata.xml b/dev-libs/marisa/metadata.xml
index 4aa8461d2b54..e8ad4beb2372 100644
--- a/dev-libs/marisa/metadata.xml
+++ b/dev-libs/marisa/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
<maintainer type="project">
<email>cjk@gentoo.org</email>
<name>Cjk</name>
diff --git a/dev-libs/mathjax/Manifest b/dev-libs/mathjax/Manifest
index 60e9420aa42d..8779b8b2d315 100644
--- a/dev-libs/mathjax/Manifest
+++ b/dev-libs/mathjax/Manifest
@@ -1,2 +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 e7c89b829bfe..000000000000
--- a/dev-libs/mathjax/mathjax-2.7.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils
-
-DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
-HOMEPAGE="http://www.mathjax.org/"
-SRC_URI="https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples"
-
-RESTRICT="binchecks strip"
-
-S=${WORKDIR}/MathJax-${PV}
-
-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 cd23b2b8e94a..000000000000
--- a/dev-libs/mathjax/mathjax-2.7.4.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils
-
-DESCRIPTION="JavaScript display engine for LaTeX, MathML and AsciiMath"
-HOMEPAGE="http://www.mathjax.org/"
-SRC_URI="https://github.com/mathjax/MathJax/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples"
-
-RESTRICT="binchecks strip"
-
-S=${WORKDIR}/MathJax-${PV}
-
-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
new file mode 100644
index 000000000000..0232c759f19b
--- /dev/null
+++ b/dev-libs/mathjax/mathjax-2.7.7.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 examples"
+
+RDEPEND="doc? ( app-doc/mathjax-docs:${SLOT} )"
+
+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.md )
+ if use doc; then
+ dodir /usr/share/doc/${P}
+ dosym ../${PN}-docs-${SLOT}/html /usr/share/doc/${P}/html
+ fi
+
+ 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-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 02ddbd0ff229..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/mdsplib/Manifest b/dev-libs/mdsplib/Manifest
deleted file mode 100644
index d03c37ffebb3..000000000000
--- a/dev-libs/mdsplib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mdsplib-0.11.tar.gz 70435 BLAKE2B 8a2de901d8f386a989eedb95f85171e93d51e9c87c45b0fb6bfcb76bb3d6394a0a2453cdbbb6cd2b87e64a16eb18201107f7b61fb0747a1c9e53df77f0479c04 SHA512 5baf7c23884ab21d2111a05c97a988ff82b003f0b3243ce5fabe5a9757c149a007e7ec6e0baf80de4fa75630c640b2411598a0b06848c7b96fd6ef070e76a687
diff --git a/dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch b/dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch
deleted file mode 100644
index 92d96147bb72..000000000000
--- a/dev-libs/mdsplib/files/mdsplib-0.11-gentoo.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -ur mdsplib-0.11.orig/Makefile mdsplib-0.11/Makefile
---- mdsplib-0.11.orig/Makefile 2003-12-10 21:56:23.000000000 +0200
-+++ mdsplib-0.11/Makefile 2009-08-06 13:33:03.000000000 +0300
-@@ -1,5 +1,6 @@
--CC = gcc
--CFLAGS = -O3
-+AR ?= ar
-+CC ?= gcc
-+RANLIB ?= ranlib
- LIBS =
-
- library: libmetar.a
-@@ -7,11 +8,11 @@
- all: dmetar library
-
- libmetar.a: src/antoi.o src/charcmp.o src/dcdmetar.o src/dcdmtrmk.o src/fracpart.o src/prtdmetr.o src/stspack2.o src/stspack3.o
-- ar ruv libmetar.a src/antoi.o src/charcmp.o src/dcdmetar.o src/dcdmtrmk.o src/fracpart.o src/prtdmetr.o src/stspack2.o src/stspack3.o
-- ranlib libmetar.a
-+ $(AR) ruv libmetar.a src/antoi.o src/charcmp.o src/dcdmetar.o src/dcdmtrmk.o src/fracpart.o src/prtdmetr.o src/stspack2.o src/stspack3.o
-+ $(RANLIB) libmetar.a
-
- dmetar: src/drvmetar.o libmetar.a
-- $(CC) $(CFLAGS) -o dmetar src/drvmetar.o libmetar.a $(LIBS)
-+ $(CC) $(LDFLAGS) $(CFLAGS) -o dmetar src/drvmetar.o libmetar.a $(LIBS)
-
- src/antoi.o: src/antoi.c src/local.h
- $(CC) $(CFLAGS) -c src/antoi.c -o src/antoi.o
-@@ -48,5 +49,5 @@
- chmod 0644 /usr/local/include/metar.h
- cp libmetar.a /usr/local/lib/
- chmod 0644 /usr/local/lib/libmetar.a
-- ranlib /usr/local/lib/libmetar.a
-+ $(RANLIB) /usr/local/lib/libmetar.a
-
-diff -ur mdsplib-0.11.orig/src/local.h mdsplib-0.11/src/local.h
---- mdsplib-0.11.orig/src/local.h 2003-12-10 23:30:56.000000000 +0200
-+++ mdsplib-0.11/src/local.h 2009-08-06 13:27:03.000000000 +0300
-@@ -1175,7 +1175,7 @@
- char *strupr(char *);
- char *strlwr(char *);
- /* char *strdup(char *); */
--char *strndup(char *, int);
-+/* char *strndup(char *, int); */
- int strcmpi(char *, char *);
-
- /* void *memccpy(void *, void *, int, unsigned); */
diff --git a/dev-libs/mdsplib/mdsplib-0.11.ebuild b/dev-libs/mdsplib/mdsplib-0.11.ebuild
deleted file mode 100644
index 47af62190af3..000000000000
--- a/dev-libs/mdsplib/mdsplib-0.11.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="METAR Decoder Software Package Library"
-HOMEPAGE="http://limulus.net/mdsplib/"
-SRC_URI="http://limulus.net/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~sparc ~x86"
-IUSE=""
-
-PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
-
-src_configure() {
- tc-export AR CC RANLIB
-}
-
-src_compile() {
- emake all
-}
-
-src_install() {
- dobin dmetar
- doheader metar.h
- dolib.a libmetar.a
- einstalldocs
-}
diff --git a/dev-libs/mdsplib/metadata.xml b/dev-libs/mdsplib/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/mdsplib/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/metadata.xml b/dev-libs/metadata.xml
index e85537c9b212..1c967901d698 100644
--- a/dev-libs/metadata.xml
+++ b/dev-libs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The dev-libs category contains various miscellaneous programming
@@ -36,4 +36,3 @@
Kategoria dev-libs zawiera różne dodatkowe biblioteki związane z programowaniem.
</longdescription>
</catmetadata>
-
diff --git a/dev-libs/metee/Manifest b/dev-libs/metee/Manifest
new file mode 100644
index 000000000000..efd450ae6bb3
--- /dev/null
+++ b/dev-libs/metee/Manifest
@@ -0,0 +1 @@
+DIST metee-3.2.4.tar.gz 77148 BLAKE2B 9539178deb97465bfcb1c226fadd50a81d5923a5b4b433c60fd35e7f4dd5c6042d281d4bf44c68598bd62f963a893e5b1278fd464055fa7cf7f52d97f3891c6d SHA512 ed611fedbde9719c385b015504798af89ec2f59213573cfdb4b6af01febd0956f2fd7ce3c136481dee5b5e195fbb9c2fc71a2362c87b8b94f31a7d35bc732b96
diff --git a/dev-libs/metee/metadata.xml b/dev-libs/metee/metadata.xml
new file mode 100644
index 000000000000..cd961586e85b
--- /dev/null
+++ b/dev-libs/metee/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>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/metee</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..bd29ba52dd71
--- /dev/null
+++ b/dev-libs/mimalloc/Manifest
@@ -0,0 +1,2 @@
+DIST mimalloc-2.1.2.tar.gz 1163868 BLAKE2B bba29671fdca81b682edeefe16a1239640ea28fee4e44c97d0422ae81e0b3e7141c733459ccafc6672780157af67ff7d2a10cf4157180e003b458332a79d8481 SHA512 927b046e67783b325a6e41e3a9a6d3d78306fa1c82255defd1f3a7a60a27fd809a601f65b1b27fa38f2064e124f29856d7c0e5ccc33c54c2e4b6ebb9816d74b1
+DIST mimalloc-2.1.4.tar.gz 1133761 BLAKE2B 6271f54b8c0c0397bc0d7fb909009e05b9119c15ad3f926a82f078f3ffa7320503cc679487414d3b8e17bb41b17a43f71982727f80c7288b3b2d473992d706e5 SHA512 cdc43b212b9c67cd50b31bfae875387e3099165260fec995681a4079ca107c275452c2aadc5ee9a177391d1856750e0e2b104191bbb9829aeb5a42406267832e
diff --git a/dev-libs/mimalloc/metadata.xml b/dev-libs/mimalloc/metadata.xml
new file mode 100644
index 000000000000..62ab55808822
--- /dev/null
+++ b/dev-libs/mimalloc/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">
+ <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>
+</pkgmetadata>
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/mimalloc/mimalloc-2.1.4.ebuild b/dev-libs/mimalloc/mimalloc-2.1.4.ebuild
new file mode 100644
index 000000000000..bd26f566a18c
--- /dev/null
+++ b/dev-libs/mimalloc/mimalloc-2.1.4.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-multilib
+
+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() {
+ 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)
+
+ # Bug #923177
+ # find_library(... atomic) appears to not work. Fall back to -latomic
+ -DMI_USE_LIBATOMIC=ON
+
+ -DMI_LIBC_MUSL=$(usex elibc_musl)
+ )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/mimetic/files/mimetic-0.9.8-build-mmap.patch b/dev-libs/mimetic/files/mimetic-0.9.8-build-mmap.patch
new file mode 100644
index 000000000000..d6c6582cd42f
--- /dev/null
+++ b/dev-libs/mimetic/files/mimetic-0.9.8-build-mmap.patch
@@ -0,0 +1,22 @@
+From bf84940f9021950c80846e6b1a5f8b0b55991b00 Mon Sep 17 00:00:00 2001
+From: Stefano Barbato <stefano@parkopedia.com>
+Date: Sat, 27 Apr 2019 15:00:58 +0200
+Subject: [PATCH] better mmap error check
+
+---
+ mimetic/os/mmfile.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mimetic/os/mmfile.cxx b/mimetic/os/mmfile.cxx
+index dfc95b7..9627516 100644
+--- a/mimetic/os/mmfile.cxx
++++ b/mimetic/os/mmfile.cxx
+@@ -57,7 +57,7 @@ bool MMFile::open(int mode)
+ bool MMFile::map()
+ {
+ m_beg = (char*) mmap(0, m_st.st_size, PROT_READ, MAP_SHARED,m_fd,0);
+- if(m_beg > 0)
++ if(m_beg != MAP_FAILED)
+ {
+ m_end = m_beg + m_st.st_size;
+ #if HAVE_MADVISE
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/files/signed-char.patch b/dev-libs/mimetic/files/signed-char.patch
new file mode 100644
index 000000000000..df33df9e2b72
--- /dev/null
+++ b/dev-libs/mimetic/files/signed-char.patch
@@ -0,0 +1,31 @@
+Description: fix FTBFS on architectures where char is unsigned
+ Fix error
+ base64.cxx:30:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
+ by making Base64::sDecTable a signed char.
+Bug-Debian: https://bugs.debian.org/859963
+Forwarded: via email
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2017-04-10
+
+--- a/mimetic/codec/base64.cxx
++++ b/mimetic/codec/base64.cxx
+@@ -13,7 +13,7 @@
+ "abcdefghijklmnopqrstuvwxyz"
+ "0123456789+/=";
+
+-const char Base64::sDecTable[] = {
++const signed char Base64::sDecTable[] = {
+ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+--- a/mimetic/codec/base64.h
++++ b/mimetic/codec/base64.h
+@@ -20,7 +20,7 @@
+ enum { default_maxlen = 76 };
+ enum { eq_sign = 100 };
+ static const char sEncTable[];
+- static const char sDecTable[];
++ static const signed char sDecTable[];
+ static const int sDecTableSz;
+ public:
+ class Encoder; class Decoder;
diff --git a/dev-libs/mimetic/metadata.xml b/dev-libs/mimetic/metadata.xml
index f15aa1f11854..4918c8c54396 100644
--- a/dev-libs/mimetic/metadata.xml
+++ b/dev-libs/mimetic/metadata.xml
@@ -1,10 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <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>
</pkgmetadata>
diff --git a/dev-libs/mimetic/mimetic-0.9.8.ebuild b/dev-libs/mimetic/mimetic-0.9.8.ebuild
index ffa4669138a1..0b546da4add4 100644
--- a/dev-libs/mimetic/mimetic-0.9.8.ebuild
+++ b/dev-libs/mimetic/mimetic-0.9.8.ebuild
@@ -1,20 +1,26 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+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"
+DESCRIPTION="C++ MIME library designed to be easy to use and integrate, fast and efficient"
+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 x86"
+KEYWORDS="amd64 ~loong ~ppc64 x86"
IUSE="doc examples"
-DEPEND="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() {
default
@@ -44,5 +50,6 @@ src_install() {
dodoc examples/{README,TODO,test.msg,*.cxx,*.h}
fi
- rm "${D}"/usr/$(get_libdir)/libmimetic.la || die
+ # bug #778887
+ find "${ED}" -name '*.la' -delete || die
}
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
new file mode 100644
index 000000000000..636a018f5d56
--- /dev/null
+++ b/dev-libs/miniz/Manifest
@@ -0,0 +1,3 @@
+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/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/metadata.xml b/dev-libs/miniz/metadata.xml
new file mode 100644
index 000000000000..c43f3b1a6204
--- /dev/null
+++ b/dev-libs/miniz/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>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
+ used functions exported by the zlib library, but is a completely independent implementation so zlib's licensing
+ requirements do not apply. Miniz also contains simple to use functions for writing .PNG format image files and
+ reading/writing/appending .ZIP format archives. Miniz's compression speed has been tuned to be comparable to
+ zlib's, and it also has a specialized real-time compressor function designed to compare well against
+ fastlz/minilzo.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/richgel999/miniz/issues</bugs-to>
+ <remote-id type="github">richgel999/miniz</remote-id>
+ </upstream>
+</pkgmetadata>
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/mm/metadata.xml b/dev-libs/mm/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/mm/metadata.xml
+++ b/dev-libs/mm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/mm/mm-1.4.2-r2.ebuild b/dev-libs/mm/mm-1.4.2-r2.ebuild
index 51290880bc5d..54ff28be6414 100644
--- a/dev-libs/mm/mm-1.4.2-r2.ebuild
+++ b/dev-libs/mm/mm-1.4.2-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Shared Memory Abstraction Library"
HOMEPAGE="http://www.ossp.org/pkg/lib/mm/"
@@ -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 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd"
+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/metadata.xml b/dev-libs/mmtf-cpp/metadata.xml
index a213d5dda834..c73d5a4e0a93 100644
--- a/dev-libs/mmtf-cpp/metadata.xml
+++ b/dev-libs/mmtf-cpp/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
diff --git a/dev-libs/mmtf-cpp/mmtf-cpp-1.0.0-r1.ebuild b/dev-libs/mmtf-cpp/mmtf-cpp-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..c31d0595eb2f
--- /dev/null
+++ b/dev-libs/mmtf-cpp/mmtf-cpp-1.0.0-r1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2019-2022 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"
+IUSE=""
+
+DEPEND="dev-libs/msgpack"
+RDEPEND="${DEPEND}"
+BDEPEND=""
diff --git a/dev-libs/mmtf-cpp/mmtf-cpp-1.0.0.ebuild b/dev-libs/mmtf-cpp/mmtf-cpp-1.0.0.ebuild
deleted file mode 100644
index 18b4c860d755..000000000000
--- a/dev-libs/mmtf-cpp/mmtf-cpp-1.0.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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 ~x86-macos"
-IUSE=""
-
-DEPEND="dev-libs/msgpack"
-RDEPEND="${DEPEND}"
-BDEPEND=""
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 9ecf336d91ec..2e83e1e3a78a 100644
--- a/dev-libs/mongo-c-driver/Manifest
+++ b/dev-libs/mongo-c-driver/Manifest
@@ -1,15 +1,2 @@
-DIST mongo-c-driver-0.7.1.tar.gz 108537 BLAKE2B 29d7f6680d700d15d02b3d5deefbdc27b4e0841a2ac30205ed148216d15e95fe487f4cea4decacdf573a4ce78248cfd12cba72b9dbf90065e127fa7fb56cad27 SHA512 5c6996dc47ecbe4d77971e3aa983a877e7de736bf358c467808eceba8b1a5eea342376249cdc682a034fc7ec39290d234527cec3c3732686f184281a72aec724
-DIST mongo-c-driver-0.8.1.tar.gz 124053 BLAKE2B 1c6b0d3998c6497c39fc2f6597021e84571c717e5d6f288d79d3862e7f15f131604648595ca0e12200352a7fbf40652803afd0f60a80eac657b9853a1de51173 SHA512 7b61ac4b1b154ee1f518eddb2bbc0cdafe0da8786eed4475e5703c2a735ec5a09efde59f5bfa45fb226cbce24d8c0ba0de403d8fc3e561c0e48507dfb07962b1
-DIST mongo-c-driver-0.98.2.tar.gz 5342760 BLAKE2B 399fb03464234c87dcb66647c5383c505e654238e72e86794fdbc56716590ea6637aa7bfb0d25c0fb6aae8fce6055741753ac33125cb1b475c7bfe1e198a0a1e SHA512 6e3abc31b1e0e02d3bb864882444a95aa01ec4a85ee77abdc52675a730790be7f1924f3c6ea36405ff0f2066e332302ca567bbfa35ba7b918bce81fb409600eb
-DIST mongo-c-driver-1.1.10.tar.gz 5321144 BLAKE2B d63ba4b1a256b8b29654398a53d9ca46d49faad0e0327db0d51cfc4e2a1771568341ff4e7ba6ff2ff31fb11ad8a14c452e52cabdd83da7eb1c1ceb8af7bef7d2 SHA512 10ebd1bddc0c713c0934679974fb1ed29eda1bf8e2ebbe2a1ebbcba219574092c34c4b352231ec65ffe3e350d8d701ef85debaaa9f9c10e6ab36fc3fa29f69df
-DIST mongo-c-driver-1.1.2.tar.gz 5443153 BLAKE2B f8004486baf6d2d3086e458bdb4bc8060462fd52ba700cbf05fdb9827adcbd087b61d7e0e00169cf635c8021983dc851b7f34c3e08d66efc65483fce98a85f74 SHA512 d420fc407f6a04c06a959b8971dc2643c987df5c3d82f2b13bfdf6a44e96bc377478c4d0e385abf67f21b56892c915c79675fe9ebf6efa9aab51fe452c5e6f95
-DIST mongo-c-driver-1.10.3.tar.gz 5616159 BLAKE2B 368e273aedc21ec79b804625276a49f7b670f027b410595b1e6455228dc776f0ed629d6ee599d16b9d0db08ec08a8e4dac2bdf06fa931ef1578849bf86d85726 SHA512 47af1baad1ad74bbbdf2fd22a437034d317a2f3ec02fee485e983ae6829b3f01af2649a09577f08144a88385fa940dfa211ea02bfa3c0e25b59dbe2090269603
-DIST mongo-c-driver-1.11.0.tar.gz 5681593 BLAKE2B 43f70943cc7f1a9f6285c71136b1284be7ef0f223b777d5884d795102910aedb8d4f516d5d50cdecfa9219835a884b237aa98ab3742067c36944f0abdc67a8e4 SHA512 d20d83c9470972641407550bf835701df28c196b1cf19097450a062fd3c560c452c658aa5080bb28066079cea27888731f3670e81bd1b0cd5be1b97a2988074e
-DIST mongo-c-driver-1.12.0.tar.gz 5708175 BLAKE2B 113db7ec95f8e9b65433fc20def7224ee8d54c9ddb14cfc68ccf7ccb1995808f4c4c372806e85e1c8bb8b8541bb8b8b5236fd06d7605b78a4bbcee6560642bec SHA512 e4688da8a94fc499893b6001fc444b97fc05c89672fd9700bf30c6af7f1bbb02b1a658aa74470e0e5d5e72bc28a5753aa7dcda14dba7e75fbce0b4bb94b7373f
-DIST mongo-c-driver-1.13.0.tar.gz 5734887 BLAKE2B ce5c78dde31edc753a6678e90889a0da7129cd1fcf1dce7222df4d25ca109b1bfbb545c755abf8e4cc39dd40dde7ba4c50dd51dcfc67c970e2b8eb278bd543fc SHA512 d2f5b04b3d2dbdeba4547ec1fe8a0da7bad5214de92fff480ef0ff7d97ea45d5e6347c11c249867d4905b1dd81b76c7cfbb9094a58df586dae881955ee246907
-DIST mongo-c-driver-1.13.1.tar.gz 5740487 BLAKE2B 92184df6f15f951564a7df14d8ec52eb0199a49af102d44c8fb7678db82a41f915c984e95f5301f533dde63139221cb6e161fa5053b9fcc33080abe1095d9c35 SHA512 454670a145a5f2272daa5ca88f2e7d7e42c9b7df62dfc29b3c4b602ef8f819a740890c40872fa47dc411cc5ef9a34b55a6feea3657a802a5be378c4dbe79f42d
-DIST mongo-c-driver-1.14.0.tar.gz 6573651 BLAKE2B 0b1157473554a5aa49e61cf1c85dc7b1f1917581e661a4295876d4c93e72137b4c7c04e1b7545ba7272706499dbe868a36f1c888d2d07a8176f1c4dc01f9fa5f SHA512 99ca4001341d044a8ffc02a5d7175d40f8a998bdaad15a668a7db0558fa616ec18152faeda6da7f28b34c5d2cf4b649180c9390d2229e1342b6c4f6742816994
-DIST mongo-c-driver-1.3.5.tar.gz 5860804 BLAKE2B a55de56d285638f21caff06446e3c0c19a5b8722a2ed69fdf046c35973c9bedcc1686065e4355db28afc83c1415872eee2972a6fb3f21647d2cafce12706adc0 SHA512 23844ffe20580998308aa9c8409afcb87dccde874077eefc6806b705e5de5743846ba0513f3a3fe83147fc47842ab8c7438ad1de5f3f55b81586b9e19046aabf
-DIST mongo-c-driver-1.6.2.tar.gz 6907818 BLAKE2B 7922a50ba58d92d2954eb5c2ccb02fd3b70861bd26516fd12fe6bdf79a926799fbc3a367e1c24a57932870726aa5abc1d264215ea964a56bc318ab0f413afc60 SHA512 b3fe08a31bc83707a4d94f8ea2742fc9b17d024d6c2f92b49cfc4fe012e58cd441c9f0fa4bae9f4205fca44b2a0d8c6d5bc32a05fc9ede9bab0011839a1394af
-DIST mongo-c-driver-1.8.2.tar.gz 7308675 BLAKE2B ca82c2824486cee78b164d1fdfcf1de062804f0f8637a36ec197efe434ae23a387ec0e6b2e4aa3e9c8bb2434a3cef48fecd17fc4b159a92ad86b8b940b17598a SHA512 af23601ba33694d80acdb890c1b85a354fda966491c4bbfb341a884bcd6314886e405efa3a09e47398adf8dbfdeb1b05ae8b022a72f04a66265bfaeddb661f76
-DIST mongo-c-driver-1.9.3.tar.gz 7716783 BLAKE2B 9f5fc8cddbc1c4cf1f85016027e49d4c3bf2ebe50b1df45eda8569d48b88e174fe2c73e76f7afd4f3a36b74c5d02b826f55c610b8c4df273d8ebd4047e823edc SHA512 2c3f915c4f367f5614a904741b4b480896dd521b7039158b2f421d0d7579a45862d5099cd26b6d14cb088f9db49019538aca553c5cf72d9706ec9ab6516ff40a
+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/files/0.8.1-api-version.diff b/dev-libs/mongo-c-driver/files/0.8.1-api-version.diff
deleted file mode 100644
index 2bd52253a17b..000000000000
--- a/dev-libs/mongo-c-driver/files/0.8.1-api-version.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -uNr mongo-c-driver-0.8.1.ORIG/src/mongo.h mongo-c-driver-0.8.1/src/mongo.h
---- mongo-c-driver-0.8.1.ORIG/src/mongo.h 2014-03-27 17:00:42.880465606 +0000
-+++ mongo-c-driver-0.8.1/src/mongo.h 2014-03-27 17:01:05.131465940 +0000
-@@ -33,8 +33,8 @@
- #endif
-
- #define MONGO_MAJOR 0
--#define MONGO_MINOR 7
--#define MONGO_PATCH 0
-+#define MONGO_MINOR 8
-+#define MONGO_PATCH 1
-
- #define MONGO_OK 0
- #define MONGO_ERROR -1
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.10.3-enable-tests.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.10.3-enable-tests.patch
deleted file mode 100644
index af26b6953139..000000000000
--- a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.10.3-enable-tests.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2eeb6cb..aeaa23b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -109,7 +109,6 @@ if (ENABLE_BSON STREQUAL SYSTEM)
- message ("-- libbson include path \"${BSON_INCLUDE_DIRS}\"")
- message ("-- libbson libraries \"${BSON_LIBRARIES}\"")
- message ("-- disabling test-libmongoc since using system libbson")
-- SET (ENABLE_TESTS OFF)
-
- if (ENABLE_STATIC MATCHES "ON|AUTO")
- find_package (libbson-static-1.0
-diff --git a/src/libbson/tests/test-bson.c b/src/libbson/tests/test-bson.c
-index 51514ed..accb251 100644
---- a/src/libbson/tests/test-bson.c
-+++ b/src/libbson/tests/test-bson.c
-@@ -18,7 +18,7 @@
- #include <bson.h>
- #include <bcon.h>
- #define BSON_INSIDE
--#include <bson-private.h>
-+#include "bson-private.h"
- #undef BSON_INSIDE
- #include <fcntl.h>
- #include <time.h>
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.11.0-enable-tests.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.11.0-enable-tests.patch
deleted file mode 100644
index 67fafafc93b2..000000000000
--- a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.11.0-enable-tests.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 860e4ea..7d646b1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -110,7 +110,6 @@ if (ENABLE_BSON STREQUAL SYSTEM)
- message ("-- libbson include path \"${BSON_INCLUDE_DIRS}\"")
- message ("-- libbson libraries \"${BSON_LIBRARIES}\"")
- message ("-- disabling test-libmongoc since using system libbson")
-- SET (ENABLE_TESTS OFF)
-
- if (ENABLE_STATIC MATCHES "ON|AUTO")
- find_package (libbson-static-1.0
-diff --git a/src/libbson/tests/test-bson.c b/src/libbson/tests/test-bson.c
-index 51514ed..accb251 100644
---- a/src/libbson/tests/test-bson.c
-+++ b/src/libbson/tests/test-bson.c
-@@ -18,7 +18,7 @@
- #include <bson.h>
- #include <bcon.h>
- #define BSON_INSIDE
--#include <bson-private.h>
-+#include "bson-private.h"
- #undef BSON_INSIDE
- #include <fcntl.h>
- #include <time.h>
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.12.0-libressl.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.12.0-libressl.patch
deleted file mode 100644
index e61bffafeed6..000000000000
--- a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.12.0-libressl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt
-index d09d706..5d84225 100644
---- a/src/libmongoc/CMakeLists.txt
-+++ b/src/libmongoc/CMakeLists.txt
-@@ -109,7 +109,9 @@ if (NOT ENABLE_SSL STREQUAL OFF)
- if (LIBRESSL_FOUND)
- message ("-- Found ${LIBRESSL_LIBRARIES}")
- set (SSL_LIBRARIES ${LIBRESSL_LIBRARIES})
-- include_directories ("${LIBRESSL_INCLUDE_DIRS}")
-+ if (${LIBRESSL_INCLUDE_DIRS})
-+ include_directories ("${LIBRESSL_INCLUDE_DIRS}")
-+ endif ()
- link_directories ("${LIBRESSL_LIBRARY_DIRS}")
- set (LIBRESSL 1)
- else ()
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-enable-tests.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-enable-tests.patch
deleted file mode 100644
index 983e025b9170..000000000000
--- a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-enable-tests.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 22d1f4f..8ab33c6 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -118,7 +118,6 @@ if (ENABLE_BSON STREQUAL SYSTEM)
- message ("-- libbson include path \"${BSON_INCLUDE_DIRS}\"")
- message ("-- libbson libraries \"${BSON_LIBRARIES}\"")
- message ("-- disabling test-libmongoc since using system libbson")
-- SET (ENABLE_TESTS OFF)
-
- if (ENABLE_STATIC MATCHES "ON|AUTO")
- find_package (libbson-static-1.0
-diff --git a/src/libbson/tests/test-bson.c b/src/libbson/tests/test-bson.c
-index 6ac94f3..cec430f 100644
---- a/src/libbson/tests/test-bson.c
-+++ b/src/libbson/tests/test-bson.c
-@@ -18,7 +18,7 @@
- #include <bson/bson.h>
- #include <bson/bcon.h>
- #define BSON_INSIDE
--#include <bson/bson-private.h>
-+#include "bson/bson-private.h"
- #undef BSON_INSIDE
- #include <fcntl.h>
- #include <time.h>
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-no-uninstall.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-no-uninstall.patch
deleted file mode 100644
index 64a90bbe3ece..000000000000
--- a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.0-no-uninstall.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f7a0dfe..22d1f4f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -271,7 +271,6 @@ if (ENABLE_MONGOC)
- VERSION_CURRENT
- VERSION_RELEASED
- # This sub-directory is added later, so manually include here
-- generate_uninstall/CMakeLists.txt
- )
-
- set_local_dist (top_DIST ${top_DIST_local})
-@@ -341,14 +340,8 @@ if (WIN32)
- else ()
- set (UNINSTALL_PROG "uninstall.sh")
- endif ()
--set (UNINSTALL_PROG_DIR "${CMAKE_INSTALL_FULL_DATADIR}/mongo-c-driver")
-
- # Create uninstall program and associated uninstall target
- #
- # This needs to be last (after all other add_subdirectory calls) to ensure that
- # the generated uninstall program is complete and correct
--add_subdirectory (generate_uninstall)
--
--add_custom_target (uninstall
-- COMMAND "${UNINSTALL_PROG_DIR}/${UNINSTALL_PROG}"
--)
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.1-drop-failing-test.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.1-drop-failing-test.patch
deleted file mode 100644
index 6ef137fdba7c..000000000000
--- a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.13.1-drop-failing-test.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/libmongoc/tests/test-mongoc-topology.c b/src/libmongoc/tests/test-mongoc-topology.c
-index d1ca7cf..245a470 100644
---- a/src/libmongoc/tests/test-mongoc-topology.c
-+++ b/src/libmongoc/tests/test-mongoc-topology.c
-@@ -1964,12 +1964,6 @@ test_topology_install (TestSuite *suite)
- NULL,
- NULL,
- test_framework_skip_if_slow);
-- TestSuite_AddFull (suite,
-- "/Topology/multiple_selection_errors",
-- test_multiple_selection_errors,
-- NULL,
-- NULL,
-- test_framework_skip_if_offline);
- TestSuite_AddMockServerTest (
- suite, "/Topology/connect_timeout/succeed", test_select_after_timeout);
- TestSuite_AddMockServerTest (
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.14.0-enable-tests.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.14.0-enable-tests.patch
deleted file mode 100644
index 76202b5e387a..000000000000
--- a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.14.0-enable-tests.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c0e01a8..3371dae 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -163,7 +163,6 @@ if (ENABLE_BSON STREQUAL SYSTEM)
- message ("-- libbson include path \"${BSON_INCLUDE_DIRS}\"")
- message ("-- libbson libraries \"${BSON_LIBRARIES}\"")
- message ("-- disabling test-libmongoc since using system libbson")
-- SET (ENABLE_TESTS OFF)
-
- if (ENABLE_STATIC MATCHES "ON|AUTO")
- find_package (libbson-static-1.0
-diff --git a/src/libbson/tests/test-bson.c b/src/libbson/tests/test-bson.c
-index 95356fa..9f9aea3 100644
---- a/src/libbson/tests/test-bson.c
-+++ b/src/libbson/tests/test-bson.c
-@@ -17,7 +17,7 @@
-
- #include <bson/bson.h>
- #include <bson/bcon.h>
--#include <bson/bson-private.h>
-+#include "bson/bson-private.h"
- #include <fcntl.h>
- #include <time.h>
-
diff --git a/dev-libs/mongo-c-driver/files/mongo-c-driver-1.16.2-enable-tests.patch b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.16.2-enable-tests.patch
new file mode 100644
index 000000000000..47cce862c8bb
--- /dev/null
+++ b/dev-libs/mongo-c-driver/files/mongo-c-driver-1.16.2-enable-tests.patch
@@ -0,0 +1,35 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1a2b7ba..26fbe9b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -161,8 +161,6 @@ if (ENABLE_BSON STREQUAL SYSTEM)
+ endif ()
+
+ message ("-- libbson found version \"${bson-1.0_VERSION}\"")
+- message ("-- disabling test-libmongoc since using system libbson")
+- SET (ENABLE_TESTS OFF)
+
+ if (ENABLE_STATIC MATCHES "ON|AUTO")
+ set (MONGOC_ENABLE_STATIC ON)
+@@ -174,7 +172,7 @@ if (ENABLE_BSON STREQUAL SYSTEM)
+ endif ()
+ set (BSON_LIBRARIES mongo::bson_shared)
+ if (NOT TARGET mongo::bson_static)
+- message (FATAL_ERROR "System libbson built without static library target")
++ message (STATUS "System libbson built without static library target")
+ endif ()
+ set (BSON_STATIC_LIBRARIES mongo::bson_static)
+ endif ()
+diff --git a/src/libbson/tests/test-bson.c b/src/libbson/tests/test-bson.c
+index c949d22..4d5a47f 100644
+--- a/src/libbson/tests/test-bson.c
++++ b/src/libbson/tests/test-bson.c
+@@ -17,7 +17,7 @@
+
+ #include <bson/bson.h>
+ #include <bson/bcon.h>
+-#include <bson/bson-private.h>
++#include "bson/bson-private.h"
+ #include <fcntl.h>
+ #include <time.h>
+
diff --git a/dev-libs/mongo-c-driver/metadata.xml b/dev-libs/mongo-c-driver/metadata.xml
index a833260a7b8d..6969885d798c 100644
--- a/dev-libs/mongo-c-driver/metadata.xml
+++ b/dev-libs/mongo-c-driver/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ultrabug@gentoo.org</email>
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild
deleted file mode 100644
index 3530dfaeb047..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-0.7.1-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-inherit flag-o-matic multilib python-any-r1 toolchain-funcs
-
-DESCRIPTION="C Driver for MongoDB"
-HOMEPAGE="http://www.mongodb.org/ https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/tarball/v${PV/_/} -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ppc ~s390 x86"
-IUSE="doc static-libs"
-
-# tests fails to build
-RESTRICT="test"
-
-RDEPEND=""
-DEPEND="${PYTHON_DEPS}
- doc? ( $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]') )
-"
-
-python_check_deps() {
- if use doc; then
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
- fi
-}
-
-src_unpack() {
- unpack ${A}
- mv *-${PN}-* "${S}"
-}
-
-src_prepare() {
- # bug #510722
- sed -e 's/-O3//g' \
- -e 's/-ggdb//g' \
- -e "s/CC:=.*/CC:=$(tc-getCC)/g" \
- -i Makefile || die
-}
-
-src_compile() {
- append-cflags -D_POSIX_C_SOURCE=200112L
- emake
- use doc && make -C docs/source/sphinx html
-}
-
-src_install() {
- emake install \
- INSTALL_LIBRARY_PATH="${D}/usr/$(get_libdir)" \
- INSTALL_INCLUDE_PATH="${D}/usr/include"
-
- use static-libs || find "${ED}" -name '*.a' -exec rm -f {} +
-
- use doc && dohtml -r docs/source/sphinx/build/html/*
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild
deleted file mode 100644
index 846ae840b0f7..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-0.8.1-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-PYTHON_COMPAT=( python2_7 )
-
-inherit base flag-o-matic multilib python-any-r1 toolchain-funcs
-
-DESCRIPTION="C Driver for MongoDB"
-HOMEPAGE="http://www.mongodb.org/ https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/tarball/v${PV/_/} -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~ppc ~s390 x86"
-IUSE="doc static-libs"
-
-# tests fails to build
-RESTRICT="test"
-
-RDEPEND=""
-DEPEND="${PYTHON_DEPS}
- doc? ( $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]') )
-"
-PATCHES=( "${FILESDIR}/${PV}-api-version.diff" )
-
-python_check_deps() {
- if use doc; then
- has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
- fi
-}
-
-src_unpack() {
- unpack ${A}
- mv *-${PN}-* "${S}"
-}
-
-src_compile() {
- append-cflags -D_POSIX_C_SOURCE=200112L
- tc-export CC
- emake
- use doc && make -C docs/source/sphinx html
-}
-
-src_install() {
- emake install \
- INSTALL_LIBRARY_PATH="${D}/usr/$(get_libdir)" \
- INSTALL_INCLUDE_PATH="${D}/usr/include"
-
- use static-libs || find "${ED}" -name '*.a' -exec rm -f {} +
-
- use doc && dohtml -r docs/source/sphinx/build/html/*
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild
deleted file mode 100644
index 73a6478fd07c..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-0.98.2.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A high-performance MongoDB driver for C"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-
-RDEPEND=">=dev-libs/libbson-0.98.0
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( dev-db/mongodb )"
-
-DOCS=( NEWS README.rst TUTORIAL.md )
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-src_prepare() {
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --disable-hardening \
- --disable-optimizations \
- --disable-examples \
- $(use_enable sasl) \
- $(use_enable ssl) \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- doman doc/*.3
-
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins -r examples/*.c examples/aggregation examples/bulk
- fi
-}
-
-src_test() {
- # Avoid allocating too much disk space by using server.smallFiles = 1
- echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf"
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- -f "${T}/mongod.conf" --dbpath="${T}" \
- --logpath="${T}/mongod.log" || die
- MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
- kill `cat "${T}/mongod.lock"`
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.1.10.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.1.10.ebuild
deleted file mode 100644
index e7ca688a3cd1..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.1.10.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A high-performance MongoDB driver for C"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-
-RDEPEND=">=dev-libs/libbson-1.1.10
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( dev-db/mongodb )"
-
-DOCS=( NEWS README.rst TUTORIAL.md )
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-src_prepare() {
- rm -r src/libbson || die
- sed -i -e '/SUBDIRS/s:src/libbson::g' Makefile.am || die
-
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --with-libbson=system \
- --disable-hardening \
- --disable-optimizations \
- --disable-examples \
- $(use_enable sasl) \
- $(use_enable ssl) \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- doman doc/*.3
-
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins -r examples/*.c examples/aggregation examples/bulk
- fi
-}
-
-src_test() {
- # Avoid allocating too much disk space by using server.smallFiles = 1
- echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf"
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- -f "${T}/mongod.conf" --dbpath="${T}" \
- --logpath="${T}/mongod.log" || die
- MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
- kill `cat "${T}/mongod.lock"`
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild
deleted file mode 100644
index 46adaf6e0c40..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A high-performance MongoDB driver for C"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-
-RDEPEND=">=dev-libs/libbson-1.0
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( dev-db/mongodb )"
-
-DOCS=( NEWS README.rst TUTORIAL.md )
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-src_prepare() {
- rm -r src/libbson || die
- sed -i -e '/SUBDIRS/s:src/libbson::g' Makefile.am || die
-
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --with-libbson=system \
- --disable-hardening \
- --disable-optimizations \
- --disable-examples \
- $(use_enable sasl) \
- $(use_enable ssl) \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- doman doc/*.3
-
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins -r examples/*.c examples/aggregation examples/bulk
- fi
-}
-
-src_test() {
- # Avoid allocating too much disk space by using server.smallFiles = 1
- echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf"
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- -f "${T}/mongod.conf" --dbpath="${T}" \
- --logpath="${T}/mongod.log" || die
- MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
- kill `cat "${T}/mongod.lock"`
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.10.3.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.10.3.ebuild
deleted file mode 100644
index e9641be05a99..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.10.3.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-1.10.3
- dev-python/sphinx
- sys-libs/zlib:=
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? (
- dev-db/mongodb
- dev-libs/libbson[static-libs]
- )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${P}-enable-tests.patch" # enable tests without libbson
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # copy private headers for tests since we don't build libbson
- if use test; then
- for f in bson-private.h bson-iso8601-private.h bson-thread-private.h; do
- cp -v src/libbson/src/bson/${f} src/libbson/tests/ || die
- done
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
- -DENABLE_BSON=SYSTEM
- -DENABLE_EXAMPLES=OFF
- -DENABLE_MAN_PAGES=ON
- -DENABLE_MONGOC=ON
- -DENABLE_SNAPPY=SYSTEM
- -DENABLE_ZLIB=SYSTEM
- -DENABLE_SASL="$(usex sasl CYRUS OFF)"
- -DENABLE_SSL="$(usex ssl $(usex libressl LIBRESSL OPENSSL) OFF)"
- -DENABLE_STATIC="$(usex static-libs ON OFF)"
- -DENABLE_TESTS="$(usex test ON OFF)"
- -DENABLE_TRACING="$(usex debug ON OFF)"
- )
-
- cmake-utils_src_configure
-}
-
-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-utils_src_install
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.11.0.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.11.0.ebuild
deleted file mode 100644
index 9555f7a1f3cb..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.11.0.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-${PV}
- dev-python/sphinx
- sys-libs/zlib:=
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? (
- dev-db/mongodb
- dev-libs/libbson[static-libs]
- )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${P}-enable-tests.patch" # enable tests without libbson
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # copy private headers for tests since we don't build libbson
- if use test; then
- for f in bson-fnv-private.h bson-iso8601-private.h bson-private.h bson-thread-private.h; do
- cp -v src/libbson/src/bson/${f} src/libbson/tests/ || die
- done
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
- -DENABLE_BSON=SYSTEM
- -DENABLE_EXAMPLES=OFF
- -DENABLE_MAN_PAGES=ON
- -DENABLE_MONGOC=ON
- -DENABLE_SNAPPY=SYSTEM
- -DENABLE_ZLIB=SYSTEM
- -DENABLE_SASL="$(usex sasl CYRUS OFF)"
- -DENABLE_SSL="$(usex ssl $(usex libressl LIBRESSL OPENSSL) OFF)"
- -DENABLE_STATIC="$(usex static-libs ON OFF)"
- -DENABLE_TESTS="$(usex test ON OFF)"
- -DENABLE_TRACING="$(usex debug ON OFF)"
- )
-
- cmake-utils_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-utils_src_install
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.12.0.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.12.0.ebuild
deleted file mode 100644
index 8b1af6b106f7..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.12.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-${PV}
- dev-python/sphinx
- sys-libs/zlib:=
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? (
- dev-db/mongodb
- dev-libs/libbson[static-libs]
- )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.11.0-enable-tests.patch" # enable tests without libbson
- "${FILESDIR}/${PN}-1.12.0-libressl.patch" # Bug 662654
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # copy private headers for tests since we don't build libbson
- if use test; then
- for f in bson-fnv-private.h bson-iso8601-private.h bson-private.h bson-thread-private.h; do
- cp -v src/libbson/src/bson/${f} src/libbson/tests/ || die
- done
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
- -DENABLE_BSON=SYSTEM
- -DENABLE_EXAMPLES=OFF
- -DENABLE_MAN_PAGES=ON
- -DENABLE_MONGOC=ON
- -DENABLE_SNAPPY=SYSTEM
- -DENABLE_ZLIB=SYSTEM
- -DENABLE_SASL="$(usex sasl CYRUS OFF)"
- -DENABLE_SSL="$(usex ssl $(usex libressl LIBRESSL OPENSSL) OFF)"
- -DENABLE_STATIC="$(usex static-libs ON OFF)"
- -DENABLE_TESTS="$(usex test ON OFF)"
- -DENABLE_TRACING="$(usex debug ON OFF)"
- )
-
- cmake-utils_src_configure
-}
-
-# FEATURES="test" 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-utils_src_install
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.13.0-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.13.0-r1.ebuild
deleted file mode 100644
index 78ede21f8526..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.13.0-r1.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ~s390 x86"
-IUSE="debug examples icu libressl sasl ssl static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-${PV}
- dev-python/sphinx
- sys-libs/zlib:=
- icu? ( dev-libs/icu:= )
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? (
- dev-db/mongodb
- dev-libs/libbson[static-libs]
- )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${P}-no-uninstall.patch"
- "${FILESDIR}/${P}-enable-tests.patch" # enable tests with system libbson
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # copy private headers for tests since we don't build libbson
- if use test; then
- mkdir -p src/libbson/tests/bson || die
- for f in bson-fnv-private.h bson-iso8601-private.h bson-private.h bson-thread-private.h; do
- cp -v src/libbson/src/bson/${f} src/libbson/tests/bson/ || die
- done
- 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 $(usex libressl LIBRESSL OPENSSL) OFF)"
- -DENABLE_STATIC="$(usex static-libs ON OFF)"
- -DENABLE_TESTS="$(usex test ON OFF)"
- -DENABLE_TRACING="$(usex debug ON OFF)"
- )
-
- cmake-utils_src_configure
-}
-
-# FEATURES="test" 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-utils_src_install
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.13.1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.13.1.ebuild
deleted file mode 100644
index 9c37da616632..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.13.1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples icu libressl sasl ssl static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-${PV}
- dev-python/sphinx
- sys-libs/zlib:=
- icu? ( dev-libs/icu:= )
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? (
- dev-db/mongodb
- dev-libs/libbson[static-libs]
- )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.13.0-enable-tests.patch" # enable tests with system libbson
- "${FILESDIR}/${P}-drop-failing-test.patch" # one test fails
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # copy private headers for tests since we don't build libbson
- if use test; then
- mkdir -p src/libbson/tests/bson || die
- for f in bson-fnv-private.h bson-iso8601-private.h bson-private.h; do
- cp -v src/libbson/src/bson/${f} src/libbson/tests/bson/ || die
- done
- 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 $(usex libressl LIBRESSL OPENSSL) OFF)"
- -DENABLE_STATIC="$(usex static-libs ON OFF)"
- -DENABLE_TESTS="$(usex test ON OFF)"
- -DENABLE_TRACING="$(usex debug ON OFF)"
- -DENABLE_UNINSTALL=OFF
- )
-
- cmake-utils_src_configure
-}
-
-# FEATURES="test" 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-utils_src_install
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.14.0.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.14.0.ebuild
deleted file mode 100644
index eaea5a9fc5ac..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.14.0.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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 -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples icu libressl sasl ssl static-libs test"
-REQUIRED_USE="test? ( static-libs )"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-${PV}
- dev-python/sphinx
- sys-libs/zlib:=
- icu? ( dev-libs/icu:= )
- sasl? ( dev-libs/cyrus-sasl:= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? (
- dev-db/mongodb
- dev-libs/libbson[static-libs]
- )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.13.1-drop-failing-test.patch" # one test fails
- "${FILESDIR}/${PN}-1.14.0-enable-tests.patch" # enable tests with system libbson
- "${FILESDIR}/${PN}-1.14.0-no-docs.patch"
-)
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # copy private headers for tests since we don't build libbson
- if use test; then
- mkdir -p src/libbson/tests/bson || die
- for f in bson-context-private.h bson-iso8601-private.h bson-private.h; do
- cp -v src/libbson/src/bson/${f} src/libbson/tests/bson/ || die
- done
- 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 $(usex libressl LIBRESSL OPENSSL) OFF)"
- -DENABLE_STATIC="$(usex static-libs ON OFF)"
- -DENABLE_TESTS="$(usex test ON OFF)"
- -DENABLE_TRACING="$(usex debug ON OFF)"
- -DENABLE_UNINSTALL=OFF
- )
-
- cmake-utils_src_configure
-}
-
-# FEATURES="test" 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-utils_src_install
-}
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.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/mongo-c-driver/mongo-c-driver-1.3.5.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.3.5.ebuild
deleted file mode 100644
index e48c6b583445..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.3.5.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="A high-performance MongoDB driver for C"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-
-RDEPEND=">=dev-libs/libbson-1.3.5
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( dev-db/mongodb )"
-
-DOCS=( NEWS README.rst )
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-src_prepare() {
- rm -r src/libbson || die
- sed -i -e '/SUBDIRS/s:src/libbson::g' Makefile.am || die
-
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-}
-
-src_configure() {
- econf --with-libbson=system \
- --disable-hardening \
- --disable-optimizations \
- --disable-examples \
- --docdir="${EPREFIX}/usr/share/doc/${P}" \
- $(use_enable sasl) \
- $(use_enable ssl ssl openssl) \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default_src_install
- if [[ -f "${D}usr/share/doc/${P}/COPYING" ]] ; then
- rm "${D}usr/share/doc/${P}/COPYING" || die
- fi
- # Only install the mongoc man pages to avoid conflicts of common names
- doman doc/man/mongoc_*.3
-
- use static-libs || find "${D}" -name '*.la' -delete
-
- if use examples; then
- insinto /usr/share/${PF}/examples
- doins -r examples/*.c examples/aggregation examples/bulk
- fi
-}
-
-src_test() {
- # Avoid allocating too much disk space by using server.smallFiles = 1
- echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf"
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- -f "${T}/mongod.conf" --dbpath="${T}" \
- --logpath="${T}/mongod.log" || die
- MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
- kill `cat "${T}/mongod.lock"`
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.6.2.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.6.2.ebuild
deleted file mode 100644
index b637d1e84498..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.6.2.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A high-performance MongoDB driver for C"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-
-RDEPEND=">=dev-libs/libbson-1.6.2
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( dev-db/mongodb )"
-
-DOCS=( NEWS README.rst )
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-src_prepare() {
- rm -r src/libbson || die
- sed -i -e '/SUBDIRS/s:src/libbson::g' Makefile.am || die
-
- # https://github.com/mongodb/mongo-c-driver/issues/54
- sed -i -e "s/PTHREAD_LIBS/PTHREAD_CFLAGS/g" src/Makefile.am \
- tests/Makefile.am || die
- eautoreconf
-
- default
-}
-
-src_configure() {
- econf --with-libbson=system \
- --disable-optimizations \
- --disable-shm-counters \
- --disable-examples \
- --docdir="${EPREFIX}/usr/share/doc/${P}" \
- $(use_enable sasl) \
- $(use_enable ssl ssl $(usex libressl libressl openssl)) \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default_src_install
-
- # Only install the mongoc man pages to avoid conflicts of common names
- doman doc/man/mongoc_*.3
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-
- if use examples; then
- docinto examples
- dodoc -r examples/*.c examples/aggregation examples/bulk
- fi
-}
-
-src_test() {
- # Avoid allocating too much disk space by using server.smallFiles = 1
- echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf" || die
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- -f "${T}/mongod.conf" --dbpath="${T}" \
- --logpath="${T}/mongod.log" || die
- MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
- kill $(<"${T}/mongod.lock")
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.8.2.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.8.2.ebuild
deleted file mode 100644
index beb5282faaf3..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.8.2.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A high-performance MongoDB driver for C"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 hppa ~s390 x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-1.8.2
- sys-libs/zlib:=
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( dev-db/mongodb )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-src_prepare() {
- # remove bundled libs
- rm -rv src/{libbson,zlib*} || die
-
- # bundled headers are gone
- sed -e '/^ac_config_files/s@src/zlib-.*/zconf.h@@g' \
- -i configure || die
-
- # this test fails
- sed -e '/test_topology_install (&suite)/d' \
- -i tests/test-libmongoc.c || die
-
- default
-}
-
-src_configure() {
- econf --with-libbson=system \
- --with-snappy=system \
- --with-zlib=system \
- --disable-optimizations \
- --disable-shm-counters \
- --disable-examples \
- --docdir="${EPREFIX}/usr/share/doc/${P}" \
- $(use_enable sasl) \
- $(use_enable ssl ssl $(usex libressl libressl openssl)) \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default_src_install
-
- # Only install the mongoc man pages to avoid conflicts of common names
- doman doc/man/mongoc_*.3
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-
- if use examples; then
- docinto examples
- dodoc -r examples/*.c examples/aggregation examples/bulk
- fi
-}
-
-src_test() {
- # Avoid allocating too much disk space by using server.smallFiles = 1
- echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf" || die
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- -f "${T}/mongod.conf" --dbpath="${T}" \
- --logpath="${T}/mongod.log" || die
- MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
- kill $(<"${T}/mongod.lock")
-}
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.9.3.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.9.3.ebuild
deleted file mode 100644
index 825f4a506112..000000000000
--- a/dev-libs/mongo-c-driver/mongo-c-driver-1.9.3.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A high-performance MongoDB driver for C"
-HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
-SRC_URI="https://github.com/mongodb/${PN}/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~s390 ~x86"
-IUSE="debug examples libressl sasl ssl static-libs test"
-
-RDEPEND="app-arch/snappy:=
- >=dev-libs/libbson-1.8.2
- sys-libs/zlib:=
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( dev-db/mongodb )"
-
-# No tests on x86 because tests require dev-db/mongodb which don't support
-# x86 anymore (bug #645994)
-RESTRICT="x86? ( test )"
-
-src_prepare() {
- # remove bundled libs
- rm -rv src/{libbson,zlib*} || die
-
- # bundled headers are gone
- sed -e '/^ac_config_files/s@src/zlib-.*/zconf.h@@g' \
- -i configure || die
-
- # this test fails
- sed -e '/test_topology_install (&suite)/d' \
- -i tests/test-libmongoc.c || die
-
- default
-}
-
-src_configure() {
- econf --with-libbson=system \
- --with-snappy=system \
- --with-zlib=system \
- --disable-optimizations \
- --disable-shm-counters \
- --disable-examples \
- --docdir="${EPREFIX}/usr/share/doc/${P}" \
- $(use_enable sasl) \
- $(use_enable ssl ssl $(usex libressl libressl openssl)) \
- $(use_enable debug) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default_src_install
-
- # Only install the mongoc man pages to avoid conflicts of common names
- doman doc/man/mongoc_*.3
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-
- if use examples; then
- docinto examples
- dodoc -r examples/*.c examples/aggregation examples/bulk
- fi
-}
-
-src_test() {
- # Avoid allocating too much disk space by using server.smallFiles = 1
- echo -e "storage:\n smallFiles: true" > "${T}/mongod.conf" || die
- local PORT=27099
- mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
- -f "${T}/mongod.conf" --dbpath="${T}" \
- --logpath="${T}/mongod.log" || die
- MONGOC_TEST_HOST="127.0.0.1:${PORT}" emake test
- kill $(<"${T}/mongod.lock")
-}
diff --git a/dev-libs/mongo-cxx-driver/Manifest b/dev-libs/mongo-cxx-driver/Manifest
deleted file mode 100644
index 7837ecb34b35..000000000000
--- a/dev-libs/mongo-cxx-driver/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST legacy-0.0-26compat-2.6.7.tar.gz 1512331 BLAKE2B 43735ef7be4d5f3094eccedb5ee70f9f9722a174513a10f2f5f7c3c5603766f85e13717ea8c68b935c0ba5914c8e4a9b6e6797cd1a10d0257b654473799070bc SHA512 edf13d5b7802c3b2e9772f08949fd0c412f2cd25ec6d05ff4e8c1f25c3e3506da6ebbd7b017ceec5478585c84e9fa44c66a5094ad3e7a7373187d3fb3c1c1222
-DIST legacy-1.0.0.tar.gz 1569156 BLAKE2B 6c231d6a4c9f6c54aaea2b6f5ce10c80537875e69508fbd3598a835b52ca2bd984d2d7bf3bd35bff83b78408d3c185715f2fb8d6eef3b697c864161479a016ab SHA512 e161972715fe45b777ee3d9c7e788ee3a808af789e2c1248af1dde3d3f3936e29f619e039f53210cdd3fc6a6bd8a02c101facf49c61759c6f108d25c5c03b59b
-DIST legacy-1.0.5.tar.gz 1573929 BLAKE2B 85476dddefdcbd7a4b8ac945a39633965ade0389131e554c04aab3d457a3651b79292b88882613af6bb07f56759e75f67eb72d27b23209cc0df36df9eec58846 SHA512 e904d73f78ffbc1ce18ffa11dd7e3dddd67c730b6e79bace0e48c0be4e8ffd7b5fe12e1373e42ad941d8fc239ef031a47d39ff04aaf3f0a5ecf88115c816bc70
-DIST legacy-1.1.2.tar.gz 1577527 BLAKE2B 277e5ed6d6897587d3d9f9681b6821d2cc4bba71191c27083306d3a4d7dd778fdb3707e5b70fe9f528be8142dd755ba8e2a19ee866f5583dc57d297c642e6e02 SHA512 a0b21719db8205a16c574ce21565577787ea00cf2492353bcd4dd79a7ef3b7d685287be47e6eee59fad46c6fa2ac3c6a0e00c26ef88be8b17e9d93fbc763cb10
diff --git a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch
deleted file mode 100644
index 319773c7d571..000000000000
--- a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.0.0-fix-scons.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/SConstruct 2015-03-17 10:19:58.766530807 +0100
-+++ b/SConstruct 2015-03-17 10:27:58.400062874 +0100
-@@ -853,7 +853,6 @@
-
- # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
- env.Append( CCFLAGS=["-fPIC",
-- "-ggdb",
- "-pthread",
- "-Wall",
- "-Wsign-compare",
-@@ -861,13 +860,13 @@
- "-Winvalid-pch"] )
- # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
- if linux or darwin:
-- env.Append( CCFLAGS=["-pipe"] )
- if not has_option("disable-warnings-as-errors"):
- env.Append( CCFLAGS=["-Werror"] )
-
- env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] )
-- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] )
- env.Append( LINKFLAGS=["-fPIC"] )
-+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
-+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
-
- # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program
- # startup.
-@@ -933,7 +932,6 @@
- except OSError:
- pass
-
--env.Prepend(CPPPATH=['$VARIANT_DIR/third_party/gtest-1.7.0/include'])
-
- boostSuffixList = ["-mt", ""]
- if get_option("boost-lib-search-suffixes") is not None:
diff --git a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.0-fix-scons.patch b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.0-fix-scons.patch
deleted file mode 100644
index 2a8ce309b66c..000000000000
--- a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.0-fix-scons.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/SConstruct
-+++ b/SConstruct
-@@ -865,7 +865,6 @@
-
- # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
- env.Append( CCFLAGS=["-fPIC",
-- "-ggdb",
- "-pthread",
- "-Wall",
- "-Wsign-compare",
-@@ -873,13 +872,13 @@
- "-Winvalid-pch"] )
- # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
- if linux or darwin:
-- env.Append( CCFLAGS=["-pipe"] )
- if not has_option("disable-warnings-as-errors"):
- env.Append( CCFLAGS=["-Werror"] )
-
- env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] )
-- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] )
- env.Append( LINKFLAGS=["-fPIC"] )
-+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
-+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
-
- # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program
- # startup.
-@@ -905,11 +904,6 @@
- env.Append( CXXFLAGS=" -fprofile-arcs -ftest-coverage " )
- env.Append( LINKFLAGS=" -fprofile-arcs -ftest-coverage " )
-
-- if optBuild:
-- env.Append( CCFLAGS=["-O3"] )
-- else:
-- env.Append( CCFLAGS=["-O0"] )
--
- if debugBuild:
- if not optBuild:
- env.Append( CCFLAGS=["-fstack-protector"] )
-@@ -932,7 +926,6 @@
- except OSError:
- pass
-
--env.Prepend(CPPPATH=['$VARIANT_DIR/third_party/gtest-1.7.0/include'])
-
- boostSuffixList = ["-mt", ""]
- if get_option("boost-lib-search-suffixes") is not None:
-@@ -1143,6 +1136,7 @@
- # Clang likes to warn about unused functions, which seems a tad aggressive and breaks
- # -Werror, which we want to be able to use.
- AddToCCFLAGSIfSupported(myenv, '-Wno-unused-function')
-+ AddToCCFLAGSIfSupported(myenv, '-Wno-unused-variable')
-
- # TODO: Note that the following two flags are added to CCFLAGS even though they are
- # really C++ specific. We need to do this because SCons passes CXXFLAGS *before*
diff --git a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-next.patch b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-next.patch
deleted file mode 100644
index 68bdc4dc1a4e..000000000000
--- a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-next.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Add missing include for boost::next()
-
-https://bugs.gentoo.org/671422
---- a/src/mongo/client/command_writer.cpp
-+++ b/src/mongo/client/command_writer.cpp
-@@ -22,4 +22,6 @@
- #include "mongo/db/namespace_string.h"
-
-+#include <boost/next_prior.hpp>
-+
- namespace mongo {
-
---- a/src/mongo/client/wire_protocol_writer.cpp
-+++ b/src/mongo/client/wire_protocol_writer.cpp
-@@ -22,4 +22,6 @@
- #include "mongo/db/namespace_string.h"
-
-+#include <boost/next_prior.hpp>
-+
- namespace mongo {
-
diff --git a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-ref.patch b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-ref.patch
deleted file mode 100644
index 9997dd57a2c1..000000000000
--- a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-1.1.2-boost-ref.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix missing implicit include.
-Patch by Jan-Matthias Braun
-See also: https://bugs.gentoo.org/show_bug.cgi?id=598340
-
---- a/src/mongo/client/examples/connect.cpp
-+++ b/src/mongo/client/examples/connect.cpp
-@@ -29,6 +29,8 @@
- #include "mongo/client/dbclient.h"
- #include "mongo/stdx/functional.h"
-
-+#include <boost/core/ref.hpp>
-+
- namespace {
-
- class OstreamAppender : public mongo::logger::MessageLogDomain::EventAppender {
diff --git a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch b/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch
deleted file mode 100644
index be5408511bda..000000000000
--- a/dev-libs/mongo-cxx-driver/files/mongo-cxx-driver-26compat-fix-scons.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/SConstruct 2015-03-23 10:36:42.328921927 +0100
-+++ b/SConstruct 2015-03-23 10:37:37.599310414 +0100
-@@ -828,7 +828,6 @@
- # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used.
- env.Append( CCFLAGS=["-fPIC",
- "-fno-strict-aliasing",
-- "-ggdb",
- "-pthread",
- "-Wall",
- "-Wsign-compare",
-@@ -836,13 +835,13 @@
- "-Winvalid-pch"] )
- # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
- if linux or darwin:
-- env.Append( CCFLAGS=["-pipe"] )
- if not has_option("disable-warnings-as-errors"):
- env.Append( CCFLAGS=["-Werror"] )
-
- env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] )
-- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] )
- env.Append( LINKFLAGS=["-fPIC", "-pthread"] )
-+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] )
-+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] )
-
- # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program
- # startup.
-@@ -938,7 +937,6 @@
- if not use_system_version_of_library("snappy"):
- env.Prepend(CPPPATH=['$BUILD_DIR/third_party/snappy'])
-
--env.Prepend(CPPPATH=['$BUILD_DIR/third_party/gtest-1.7.0/include'])
-
- env.Append( CPPPATH=['$EXTRACPPPATH'],
- LIBPATH=['$EXTRALIBPATH'] )
diff --git a/dev-libs/mongo-cxx-driver/metadata.xml b/dev-libs/mongo-cxx-driver/metadata.xml
deleted file mode 100644
index e27bea24f74d..000000000000
--- a/dev-libs/mongo-cxx-driver/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>ultrabug@gentoo.org</email>
- <name>Alexys Jacob</name>
- </maintainer>
- <upstream>
- <remote-id type="github">mongodb/mongo-cxx-driver</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild
deleted file mode 100644
index b30484198d61..000000000000
--- a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-0.0.2.6.7-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-SCONS_MIN_VERSION="2.3.0"
-
-inherit eutils flag-o-matic multilib scons-utils versionator
-
-MY_PV=$(get_version_component_range 3-5)
-MY_P=legacy-0.0-26compat-${MY_PV}
-
-DESCRIPTION="C++ Driver for MongoDB"
-HOMEPAGE="https://github.com/mongodb/mongo-cxx-driver"
-SRC_URI="https://github.com/mongodb/${PN}/archive/${MY_P}.tar.gz"
-
-LICENSE="AGPL-3 Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="kerberos libressl ssl static-libs"
-
-RDEPEND="
- app-arch/snappy
- >=dev-cpp/yaml-cpp-0.5.1
- >=dev-libs/boost-1.50[threads(+)]
- >=dev-libs/libpcre-8.30[cxx]
- dev-util/google-perftools[-minimal]
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}
- kerberos? ( dev-libs/cyrus-sasl[kerberos] )"
-
-S=${WORKDIR}/${PN}-${MY_P}
-
-pkg_setup() {
- scons_opts="--variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
- scons_opts+=" --disable-warnings-as-errors --sharedclient"
- scons_opts+=" --use-system-boost"
- scons_opts+=" --use-system-pcre"
- scons_opts+=" --use-system-snappy"
- scons_opts+=" --use-system-yaml"
-
- if use prefix; then
- scons_opts+=" --cpppath=${EPREFIX}/usr/include"
- scons_opts+=" --libpath=${EPREFIX}/usr/$(get_libdir)"
- fi
-
- if use kerberos; then
- scons_opts+=" --use-sasl-client"
- fi
-
- if use ssl; then
- scons_opts+=" --ssl"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-26compat-fix-scons.patch"
-
- # stemmer/pcap are not used, strip them wrt #518104
- sed -e '/stemmer/d' -e '/pcap/d' -i SConstruct || die
-
- # fix yaml-cpp detection
- sed -i -e "s/\[\"yaml\"\]/\[\"yaml-cpp\"\]/" SConstruct || die
-
- # bug #462606
- sed -i -e "s@\$INSTALL_DIR/lib@\$INSTALL_DIR/$(get_libdir)@g" src/SConscript.client || die
-}
-
-src_compile() {
- escons ${scons_opts} mongoclient
-}
-
-src_install() {
- escons ${scons_opts} --full --nostrip install-mongoclient --prefix="${ED}"/usr
-
- use static-libs || find "${ED}"/usr/ -type f -name "*.a" -delete
-
- dodoc README.md CONTRIBUTING.md
-}
-
-pkg_preinst() {
- if [[ "$(get_libdir)" == "lib64" ]]; then
- rmdir "${ED}"/usr/lib64/ &>/dev/null
- else
- rmdir "${ED}"/usr/lib/ &>/dev/null
- fi
-}
diff --git a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild
deleted file mode 100644
index a32629c15ff1..000000000000
--- a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-SCONS_MIN_VERSION="2.3.0"
-
-inherit eutils flag-o-matic multilib scons-utils
-
-DESCRIPTION="C++ Driver for MongoDB"
-HOMEPAGE="https://github.com/mongodb/mongo-cxx-driver"
-SRC_URI="https://github.com/mongodb/${PN}/archive/legacy-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug libressl sasl ssl static-libs"
-
-RDEPEND="!dev-db/tokumx
- >=dev-libs/boost-1.50[threads(+)]
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}"
-
-# Maintainer notes
-# TODO: enable test in IUSE with
-# test? ( >=dev-cpp/gtest-1.7.0 dev-db/mongodb )
-
-DOCS=( README.md )
-
-S="${WORKDIR}/${PN}-legacy-${PV}"
-
-pkg_setup() {
- scons_opts="--variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
- scons_opts+=" --disable-warnings-as-errors --sharedclient"
-
- if use debug; then
- scons_opts+=" --dbg=on"
- fi
-
- if use prefix; then
- scons_opts+=" --cpppath=${EPREFIX}/usr/include"
- scons_opts+=" --libpath=${EPREFIX}/usr/$(get_libdir)"
- fi
-
- if use sasl; then
- scons_opts+=" --use-sasl-client"
- fi
-
- if use ssl; then
- scons_opts+=" --ssl"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.0.0-fix-scons.patch"
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-}
-
-src_install() {
- escons ${scons_opts} install --prefix="${ED}"/usr
-
- use static-libs || find "${D}" -name '*.a' -delete
-}
diff --git a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.5.ebuild b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.5.ebuild
deleted file mode 100644
index a32629c15ff1..000000000000
--- a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.0.5.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-SCONS_MIN_VERSION="2.3.0"
-
-inherit eutils flag-o-matic multilib scons-utils
-
-DESCRIPTION="C++ Driver for MongoDB"
-HOMEPAGE="https://github.com/mongodb/mongo-cxx-driver"
-SRC_URI="https://github.com/mongodb/${PN}/archive/legacy-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug libressl sasl ssl static-libs"
-
-RDEPEND="!dev-db/tokumx
- >=dev-libs/boost-1.50[threads(+)]
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}"
-
-# Maintainer notes
-# TODO: enable test in IUSE with
-# test? ( >=dev-cpp/gtest-1.7.0 dev-db/mongodb )
-
-DOCS=( README.md )
-
-S="${WORKDIR}/${PN}-legacy-${PV}"
-
-pkg_setup() {
- scons_opts="--variant-dir=build --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
- scons_opts+=" --disable-warnings-as-errors --sharedclient"
-
- if use debug; then
- scons_opts+=" --dbg=on"
- fi
-
- if use prefix; then
- scons_opts+=" --cpppath=${EPREFIX}/usr/include"
- scons_opts+=" --libpath=${EPREFIX}/usr/$(get_libdir)"
- fi
-
- if use sasl; then
- scons_opts+=" --use-sasl-client"
- fi
-
- if use ssl; then
- scons_opts+=" --ssl"
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.0.0-fix-scons.patch"
-
- # respect mongoDB upstream's basic recommendations
- # see bug #536688 and #526114
- if ! use debug; then
- filter-flags '-m*'
- filter-flags '-O?'
- fi
-}
-
-src_install() {
- escons ${scons_opts} install --prefix="${ED}"/usr
-
- use static-libs || find "${D}" -name '*.a' -delete
-}
diff --git a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.1.2-r1.ebuild b/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.1.2-r1.ebuild
deleted file mode 100644
index 2dad30753129..000000000000
--- a/dev-libs/mongo-cxx-driver/mongo-cxx-driver-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-SCONS_MIN_VERSION=2.3.0
-
-inherit scons-utils toolchain-funcs
-
-DESCRIPTION="C++ Driver for MongoDB"
-HOMEPAGE="https://github.com/mongodb/mongo-cxx-driver"
-SRC_URI="https://github.com/mongodb/${PN}/archive/legacy-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug libressl sasl ssl static-libs"
-
-RDEPEND="
- !dev-db/tokumx
- dev-libs/boost:=[threads(+)]
- sasl? ( dev-libs/cyrus-sasl )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}"
-
-# Maintainer notes
-# TODO: enable test in IUSE with
-# test? ( >=dev-cpp/gtest-1.7.0 dev-db/mongodb )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0-fix-scons.patch
- "${FILESDIR}"/${PN}-1.1.2-boost-ref.patch
- "${FILESDIR}"/${PN}-1.1.2-boost-next.patch
-)
-
-S="${WORKDIR}/${PN}-legacy-${PV}"
-
-src_configure() {
- scons_opts=(
- --cc=$(tc-getCC)
- --cxx=$(tc-getCXX)
- --cpppath="${EPREFIX}"/usr/include
- --libpath="${EPREFIX}"/usr/$(get_libdir)
- --variant-dir=build
- --disable-warnings-as-errors
- --sharedclient
- )
-
- use debug && scons_opts+=( --dbg=on )
- use sasl && scons_opts+=( --use-sasl-client )
- use ssl && scons_opts+=( --ssl )
-}
-
-src_compile() {
- escons "${scons_opts[@]}"
-}
-
-src_install() {
- escons "${scons_opts[@]}" install --prefix="${ED%/}"/usr
-
- # fix multilib-strict QA failures
- mv "${ED%/}"/usr/{lib,$(get_libdir)} || die
-
- einstalldocs
-
- if ! use static-libs; then
- find "${D}" -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/mpc/Manifest b/dev-libs/mpc/Manifest
index f0edc3d40fbd..0b2e2d8ce907 100644
--- a/dev-libs/mpc/Manifest
+++ b/dev-libs/mpc/Manifest
@@ -1,2 +1 @@
-DIST mpc-1.0.3.tar.gz 669925 BLAKE2B 4b5a1db5220b58070f9356041f44f021c2c9ec46aa4303d0a31e809d649897bc3547e9b06271dae4e80be569ee67e2a84f86b662e05dac0ca36ff87e95fcbd62 SHA512 0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43
-DIST mpc-1.1.0.tar.gz 701263 BLAKE2B afd9fefe687b7cd3c3a483e183f366348e34f58f5d713e2f6b38da16e2e382248b446d9da01ea89fe7202b795b08929b7c42c89c2c1e9a57482faf01ee697beb SHA512 72d657958b07c7812dc9c7cbae093118ce0e454c68a585bfb0e2fa559f1bf7c5f49b93906f580ab3f1073e5b595d23c6494d4d76b765d16dde857a18dd239628
+DIST mpc-1.3.1.tar.gz 773573 BLAKE2B 76434e6f8830af3571836d51576bfebbc9701e9bbb5c4686f134081cd96cd90ae02f7ff42bf9e3957c7a7ba92b6b2d9cdabe18f0269271147521cd7f6a2d551c SHA512 4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97
diff --git a/dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch b/dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch
deleted file mode 100644
index 3a62d9bd20a3..000000000000
--- a/dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-https://bugs.gentoo.org/642300
-
-From 36a84f43f326de14db888ba07936cc9621c23f19 Mon Sep 17 00:00:00 2001
-From: Paul Zimmermann <Paul.Zimmermann@inria.fr>
-Date: Sun, 10 Jan 2016 23:19:37 +0100
-Subject: [PATCH] use mpfr_fmma and mpfr_fmms if provided by mpfr
-
----
- configure.ac | 16 ++++++++++++++++
- src/mul.c | 15 ++++++++++++---
- 2 files changed, 28 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b6fa199..bdb21ff 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -165,6 +165,22 @@ AC_LINK_IFELSE(
- AC_MSG_ERROR([libmpfr not found or uses a different ABI (including static vs shared).])
- ])
-
-+AC_MSG_CHECKING(for mpfr_fmma)
-+LIBS="-lmpfr $LIBS"
-+AC_LINK_IFELSE(
-+ [AC_LANG_PROGRAM(
-+ [[#include "mpfr.h"]],
-+ [[mpfr_t x; mpfr_fmma (x, x, x, x, x, 0);]]
-+ )],
-+ [
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_MPFR_FMMA, 1, [mpfr_fmma is present])
-+ ],
-+ [
-+ AC_MSG_RESULT(no)
-+ AC_DEFINE(HAVE_MPFR_FMMA, 0, [mpfr_fmma is not present])
-+ ])
-+
- # Check for a recent GMP
- # We only guarantee that with a *functional* and recent enough GMP version,
- # MPC will compile; we do not guarantee that GMP will compile.
-diff --git a/src/mul.c b/src/mul.c
-index 3c9c0a7..8c4afe4 100644
---- a/src/mul.c
-+++ b/src/mul.c
-@@ -171,8 +171,9 @@
- }
-
-
-+#if HAVE_MPFR_FMMA == 0
- static int
--mpfr_fmma (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c,
-+mpc_fmma (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c,
- mpfr_srcptr d, int sign, mpfr_rnd_t rnd)
- {
- /* Computes z = ab+cd if sign >= 0, or z = ab-cd if sign < 0.
-@@ -319,6 +320,7 @@
-
- return inex;
- }
-+#endif
-
-
- int
-@@ -337,10 +339,17 @@
- else
- rop [0] = z [0];
-
-- inex = MPC_INEX (mpfr_fmma (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
-- mpc_imagref (y), -1, MPC_RND_RE (rnd)),
-+#if HAVE_MPFR_FMMA
-+ inex = MPC_INEX (mpfr_fmms (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
-+ mpc_imagref (y), MPC_RND_RE (rnd)),
- mpfr_fmma (mpc_imagref (rop), mpc_realref (x), mpc_imagref (y), mpc_imagref (x),
-+ mpc_realref (y), MPC_RND_IM (rnd)));
-+#else
-+ inex = MPC_INEX (mpc_fmma (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
-+ mpc_imagref (y), -1, MPC_RND_RE (rnd)),
-+ mpc_fmma (mpc_imagref (rop), mpc_realref (x), mpc_imagref (y), mpc_imagref (x),
- mpc_realref (y), +1, MPC_RND_IM (rnd)));
-+#endif
-
- mpc_set (z, rop, MPC_RNDNN);
- if (overlap)
---- a/configure
-+++ b/configure
-@@ -13835,6 +13835,41 @@ else
- $as_echo "no" >&6; }
- as_fn_error $? "libmpfr not found or uses a different ABI (including static vs shared)." "$LINENO" 5
-
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpfr_fmma" >&5
-+$as_echo_n "checking for mpfr_fmma... " >&6; }
-+LIBS="-lmpfr $LIBS"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include "mpfr.h"
-+int
-+main ()
-+{
-+mpfr_t x; mpfr_fmma (x, x, x, x, x, 0);
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+
-+$as_echo "#define HAVE_MPFR_FMMA 1" >>confdefs.h
-+
-+
-+else
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+
-+$as_echo "#define HAVE_MPFR_FMMA 0" >>confdefs.h
-+
-+
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
---
-2.15.1
-
diff --git a/dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch b/dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch
deleted file mode 100644
index 445e94191030..000000000000
--- a/dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-mpfr-4.0.0 removed 'mpfr_add_one_ulp' and 'mpfr_sub_one_ulp'
-
-From 5eaa17651b759c7856a118835802fecbebcf46ad Mon Sep 17 00:00:00 2001
-From: Paul Zimmermann <Paul.Zimmermann@inria.fr>
-Date: Wed, 4 Oct 2017 22:09:40 +0200
-Subject: [PATCH] replace obsolete mpfr_add_one_ulp/mpfr_sub_one_ulp functions
-
----
- src/mpc-impl.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/mpc-impl.h b/src/mpc-impl.h
-index 4026765..5420691 100644
---- a/src/mpc-impl.h
-+++ b/src/mpc-impl.h
-@@ -60,2 +60,4 @@ along with this program. If not, see http://www.gnu.org/licenses/ .
--#define MPFR_ADD_ONE_ULP(x) mpfr_add_one_ulp (x, GMP_RNDN)
--#define MPFR_SUB_ONE_ULP(x) mpfr_sub_one_ulp (x, GMP_RNDN)
-+#define MPFR_ADD_ONE_ULP(x) \
-+ (mpfr_sgn (x) > 0 ? mpfr_nextabove (x) : mpfr_nextbelow (x))
-+#define MPFR_SUB_ONE_ULP(x) \
-+ (mpfr_sgn (x) > 0 ? mpfr_nextbelow (x) : mpfr_nextabove (x))
---
-2.15.1
-
diff --git a/dev-libs/mpc/metadata.xml b/dev-libs/mpc/metadata.xml
index 67bd6a97db11..e9de1423720b 100644
--- a/dev-libs/mpc/metadata.xml
+++ b/dev-libs/mpc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>toolchain@gentoo.org</email>
diff --git a/dev-libs/mpc/mpc-1.0.3-r2.ebuild b/dev-libs/mpc/mpc-1.0.3-r2.ebuild
deleted file mode 100644
index f8291888155b..000000000000
--- a/dev-libs/mpc/mpc-1.0.3-r2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils libtool 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"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-DEPEND=">=dev-libs/gmp-4.3.2:0=[${MULTILIB_USEDEP},static-libs?]
- >=dev-libs/mpfr-2.4.2:0=[${MULTILIB_USEDEP},static-libs?]"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-mpfr-4.0.0.patch
- "${FILESDIR}"/${P}-no-ulp.patch
-)
-
-src_prepare() {
- default
-
- elibtoolize #347317
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/mpc/mpc-1.0.3.ebuild b/dev-libs/mpc/mpc-1.0.3.ebuild
deleted file mode 100644
index 584f40e71e93..000000000000
--- a/dev-libs/mpc/mpc-1.0.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit eutils libtool 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"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-DEPEND=">=dev-libs/gmp-4.3.2[${MULTILIB_USEDEP},static-libs?]
- >=dev-libs/mpfr-2.4.2[${MULTILIB_USEDEP},static-libs?]
- <dev-libs/mpfr-4.0.0"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- elibtoolize #347317
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}
diff --git a/dev-libs/mpc/mpc-1.1.0-r1.ebuild b/dev-libs/mpc/mpc-1.1.0-r1.ebuild
deleted file mode 100644
index 1db10b16274d..000000000000
--- a/dev-libs/mpc/mpc-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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-3.0.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/mpdecimal/Manifest b/dev-libs/mpdecimal/Manifest
new file mode 100644
index 000000000000..925cbb7e68f4
--- /dev/null
+++ b/dev-libs/mpdecimal/Manifest
@@ -0,0 +1,2 @@
+DIST dectest.zip 791733 BLAKE2B ba74ee96f6687ce34cac8406fd7fd1f743d72647a5f883f1054829d992d4dc0f61c9e3b88e2529f425cc2fbda14dfc372b3fbfafe6553baabb3244172fed712f SHA512 05f9d12aec1ebfc9ca211b01705b41c5cd1bbc54d9aa6c4799b40fb3ab1835433fd1a277735d26d2530c3793c58b107b3abb1c31f64340e5e9d7856d92c821cf
+DIST mpdecimal-4.0.0.tar.gz 315325 BLAKE2B aed5b6d5c03b12017989bbac9a166366e800ce5ee8d2fad5a1b81def48877126233998df306968902c728776616b1c06ce0ef05ea066c07daf841a53541a09f9 SHA512 7610ac53ac79f7a8a33fa7a3e61515810444ec73ebca859df7a9ddc18e96b990c99323172810c9cc7f6d6e1502c0be308cd443d6c2d5d0c871648e4842e05d59
diff --git a/dev-libs/mpdecimal/metadata.xml b/dev-libs/mpdecimal/metadata.xml
new file mode 100644
index 000000000000..076793e3f54b
--- /dev/null
+++ b/dev-libs/mpdecimal/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>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild b/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild
new file mode 100644
index 000000000000..bee1b8bfd34e
--- /dev/null
+++ b/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Correctly-rounded arbitrary precision decimal floating point arithmetic"
+HOMEPAGE="https://www.bytereef.org/mpdecimal/"
+SRC_URI="
+ https://www.bytereef.org/software/mpdecimal/releases/${P}.tar.gz
+ test? (
+ https://speleotrove.com/decimal/dectest.zip
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cxx test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-arch/unzip
+ )
+"
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ if use test; then
+ mkdir "${P}/tests/testdata" || die
+ cd "${P}/tests/testdata" || die
+ unpack dectest.zip
+ fi
+}
+
+src_prepare() {
+ default
+
+ # sigh
+ sed -i -e "s:/lib:/$(get_libdir):" lib*/.pc/*.pc.in || die
+}
+
+src_configure() {
+ local myconf=(
+ # just COPYRIGHT.txt
+ --docdir=/removeme
+ $(use_enable cxx)
+ )
+
+ # more sigh
+ # https://bugs.gentoo.org/931599
+ local -x LDXXFLAGS="${LDFLAGS}" LD="${CC}" LDXX="${CXX}"
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+ rm -r "${D}/removeme" || die
+}
diff --git a/dev-libs/mpfr/Manifest b/dev-libs/mpfr/Manifest
index cee8cb9e963f..8c08820634e9 100644
--- a/dev-libs/mpfr/Manifest
+++ b/dev-libs/mpfr/Manifest
@@ -1,11 +1,2 @@
-DIST mpfr-2.4.2-patchset.tar.bz2 2965 BLAKE2B 2748f8ebea766265ea1b31de1c0494e89e8868440675e4f8b03a771b220f3007ffa1bfdeb84112560d95107d4075ed6e37d54aa71546c8bc7e518ff32a1adce6 SHA512 d28749096ff1d8ab026eba076d7874fd0687dd5199dcadb60ab9a5adcfbe4c1a4583c83e5d4868e16e2218247f129623128af89d41e1c348c64c1e91bcb5e653
-DIST mpfr-2.4.2.tar.bz2 1077886 BLAKE2B bdbd8fcd5b3f459383fff60adb75e3e419b65b20073a86fbad83677fa546f8f2364bce799f623964cafe94b1b8652a13b54cdae8d9316350c24061c396cafa8b SHA512 c004b3dbf86c04960e4a1f8db37a409a7cc4cb76135e76e98dcc5ad93aaa8deb62334ee13ff84447a7c12a5e8cb57f25c62ac908c24920f1fb1a38d79d4a4c5e
-DIST mpfr-3.1.3-patchset.tar.xz 12988 BLAKE2B b2ebf0f0d5b90f8f9618c71762ca3def64bad6c79e7b32ca0d9121d2ed4032b869b945359da79ba2eb2cca07789cc1ede1502bb998f5f1234b206825d2db6ebd SHA512 dd2de34aad0470920f75b8911701a2979205b3173b97c41d4b5cd9ff78a38633ca7d6993c2e5465b5e5f76066d46189a32437f5b79ac50c29f2a47970c0421ea
-DIST mpfr-3.1.3.tar.xz 1112096 BLAKE2B cd7bc886e73ff43e323cde837bc90a41cf97238054e1ffe597455314f307ff7d8c95756b1414ee030a1f974c8041669b75dbf90581c9c5705e3f5c8a1878de46 SHA512 79846fd82974269aa48152c2b6dbcb2321130dc4d0f0ba2eb94d56619b177add9b2077ebf88b4382c56db19c4215910e5a252f216715c1eee40baa299da42eb4
-DIST mpfr-3.1.4.tar.xz 1122152 BLAKE2B d8d686c3280c062a0941c37cb0a0bacfb25a03a6064489b56db331ffbd9369c453ded1357b2c5841fc72eee2ef36c4d7a8acc27418dcf5f045c7e4ea6615d682 SHA512 4ef61708834efdea6b85258f46f1b25ce1c55b912f44b117d8c3d5e06d8f1177e50f627d9736f3289bd159c5bb10c80e09d1ad9f6f52c4ff43c3496034b04232
-DIST mpfr-3.1.5-patchset.tar.xz 1840 BLAKE2B c18392ecc3325c0b889b540257f3bfe3c382a7f0d12a5dc87550e9ee884f87480bcfec7541e05c6c27bcfd7c5fa60d35f575f56ccea59912434b241f51e5d113 SHA512 24ae807db036345267623dd977387b154e905197aa826e82cfc8dcf324ade78f78aef9e86ca6e2cbc091e01a8da9ea6c52a91a5183375d5fab45e54912bd3fd8
-DIST mpfr-3.1.5.tar.xz 1126668 BLAKE2B f902925036a4310e7b10461438bae5d5770b95ca6bd897038dc306d597ea412013c869b3d2f9c4ba2a1d5e59eee67f562fc3bf5db8fd1584b70c1b30574e42f5 SHA512 3643469b9099b31e41d6ec9158196cd1c30894030c8864ee5b1b1e91b488bccbf7c263c951b03fe9f4ae6f9d29279e157a7dfed0885467d875f107a3d964f032
-DIST mpfr-3.1.6.tar.xz 1133672 BLAKE2B ab8b87be9d29e9ae5807976f72d65e16cd3e5b4c2ffc4e5bd7829e664250b1969a1ec3928b3519cd75365692e23eadfd413a8116f8c77d6cd66183020b72b656 SHA512 746ee74d5026f267f74ab352d850ed30ff627d530aa840c71b24793e44875f8503946bd7399905dea2b2dd5744326254d7889337fe94cfe58d03c4066e9d8054
-DIST mpfr-4.0.0.tar.xz 1406244 BLAKE2B 2d1e356ac1f7119aa8896c438e7e30c4b316780d76fa2690e50482005e9ff5d6b5cd368d4c9a524df66ea3e7f2942c627329fa15be83402209c6e249cd1abd28 SHA512 9c9c4535f33fffd2126d1c290e5eeda7cd2804219244643f09c9a2d2acfa3d410d2cb1e4a7bb77cd86cffc2fac59c7f5d32c9910317cac37dbca474ab6d63808
-DIST mpfr-4.0.1.tar.xz 1412692 BLAKE2B 3e8d5cf558071571c21417088e74b8cb94a2e179667af41f734a68c7bd89d4beff245b9344c4c37d2f6558036a1a8c9ad3ea5ec8fbde16d2c7ebbf37a22cf424 SHA512 137ad68bc1e33a155edc1247fcdba27f999cf48ed526773136584090ddf2cfdfc9ea79fbf74ea1943b835b4b1ff29b05087114738c6ad3b485848540f30cac4f
-DIST mpfr-4.0.2.tar.xz 1441996 BLAKE2B 4c1a15208c2dc3dcc1424974de506198e9cc479c70255149876c7f541133499ada5c89f07393b120b7079e6bbaf8ea03e5e496e1350b295e687392a6e0341c1c SHA512 d583555d08863bf36c89b289ae26bae353d9a31f08ee3894520992d2c26e5683c4c9c193d7ad139632f71c0a476d85ea76182702a98bf08dde7b6f65a54f8b88
+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/files/mpfr-3.1.4-cygwin.patch b/dev-libs/mpfr/files/mpfr-3.1.4-cygwin.patch
deleted file mode 100644
index c051b4621bd2..000000000000
--- a/dev-libs/mpfr/files/mpfr-3.1.4-cygwin.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://bugs.gentoo.org/579840
-
-fix from upstream
-
-r10260 | vlefevre | 2016-04-08 19:17:07 -0400 (Fri, 08 Apr 2016) | 8 lines
-
-[src/mpfr-impl.h] Removed the detection of possible inconsistencies
-under Unix because the tests could yield spurious errors with Cygwin
-or other similar implementations. Moreover, such tests were used for
-debugging purpose or to detect potential problems in the environment,
-thus were not really useful for the end user. They were initially
-added in the win-thread-safe-dll branch (r9682, following a problem
-found in r9680). One alternative for checking by the MPFR developers
-would be to output the status of some internal macros in tversion.
-
-Index: src/mpfr-impl.h
-===================================================================
---- src/mpfr-impl.h (revision 10259)
-+++ src/mpfr-impl.h (revision 10260)
-@@ -208,19 +208,6 @@ typedef struct __gmpfr_cache_s *mpfr_cac
- # define MPFR_WIN_THREAD_SAFE_DLL 1
- #endif
-
--/* Detect some possible inconsistencies under Unix. */
--#if defined(__unix__)
--# if defined(_WIN32)
--# error "Both __unix__ and _WIN32 are defined"
--# endif
--# if __GMP_LIBGMP_DLL
--# error "__unix__ is defined and __GMP_LIBGMP_DLL is true"
--# endif
--# if defined(MPFR_WIN_THREAD_SAFE_DLL)
--# error "Both __unix__ and MPFR_WIN_THREAD_SAFE_DLL are defined"
--# endif
--#endif
--
- #if defined(__MPFR_WITHIN_MPFR) || !defined(MPFR_WIN_THREAD_SAFE_DLL)
- extern MPFR_THREAD_ATTR mpfr_flags_t __gmpfr_flags;
- extern MPFR_THREAD_ATTR mpfr_exp_t __gmpfr_emin;
diff --git a/dev-libs/mpfr/metadata.xml b/dev-libs/mpfr/metadata.xml
index e396f3755977..27009fac6749 100644
--- a/dev-libs/mpfr/metadata.xml
+++ b/dev-libs/mpfr/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>toolchain@gentoo.org</email>
- <name>Gentoo Toolchain Project</name>
-</maintainer>
+ <maintainer type="project">
+ <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-2.4.2_p3-r1.ebuild b/dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild
deleted file mode 100644
index 7967195aea45..000000000000
--- a/dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# this ebuild is only for the libmpfr.so.1 ABI SONAME
-
-EAPI="5"
-
-inherit eutils libtool multilib multilib-minimal flag-o-matic
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/${MY_P}-patchset.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="1"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2:0[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- epatch "${WORKDIR}"/${MY_P}-patchset/patch*
- sed -i '/if test/s:==:=:' configure #261016
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Newer gmp has deleted this define, so export it for older mpfr.
- append-cppflags -D__gmp_const=const
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf --disable-static
-}
-
-multilib_src_compile() {
- emake libmpfr.la
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install-libLTLIBRARIES
- rm -f "${ED}"/usr/*/libmpfr.{la,so,dylib,a}
-}
diff --git a/dev-libs/mpfr/mpfr-3.1.3_p4.ebuild b/dev-libs/mpfr/mpfr-3.1.3_p4.ebuild
deleted file mode 100644
index e19a31cc851b..000000000000
--- a/dev-libs/mpfr/mpfr-3.1.3_p4.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit libtool multilib multilib-minimal preserve-libs
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/${MY_P}-patchset.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- if [[ ${PLEVEL} != ${PV} ]] ; then
- local i
- for (( i = 1; i <= PLEVEL; ++i )) ; do
- epatch "${WORKDIR}"/${MY_P}-patchset/patch$(printf '%02d' ${i})
- done
- fi
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}" \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || find "${ED}"/usr -name '*.la' -delete
-
- # clean up html/license install
- pushd "${ED}"/usr/share/doc/${PF} >/dev/null
- dohtml *.html && rm COPYING* *.html || die
- popd >/dev/null
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
-}
diff --git a/dev-libs/mpfr/mpfr-3.1.4.ebuild b/dev-libs/mpfr/mpfr-3.1.4.ebuild
deleted file mode 100644
index f5a549273d6c..000000000000
--- a/dev-libs/mpfr/mpfr-3.1.4.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit eutils libtool multilib-minimal
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- if [[ ${PLEVEL} != ${PV} ]] ; then
- local i
- for (( i = 1; i <= PLEVEL; ++i )) ; do
- epatch "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
- done
- fi
- epatch "${FILESDIR}"/${P}-cygwin.patch #579840
- epatch_user
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}" \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || find "${ED}"/usr -name '*.la' -delete
-
- # clean up html/license install
- pushd "${ED}"/usr/share/doc/${PF} >/dev/null
- dohtml *.html && rm COPYING* *.html || die
- popd >/dev/null
-}
diff --git a/dev-libs/mpfr/mpfr-3.1.5_p2.ebuild b/dev-libs/mpfr/mpfr-3.1.5_p2.ebuild
deleted file mode 100644
index bb73ce2d6a48..000000000000
--- a/dev-libs/mpfr/mpfr-3.1.5_p2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit eutils libtool multilib-minimal
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/${MY_P}-patchset.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/4" # libmpfr.so version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- if [[ ${PLEVEL} != ${PV} ]] ; then
- local i
- for (( i = 1; i <= PLEVEL; ++i )) ; do
- epatch "${WORKDIR}"/${MY_P}-patchset/patch$(printf '%02d' ${i})
- done
- fi
- epatch_user
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}" \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || find "${ED}"/usr -name '*.la' -delete
-
- # clean up html/license install
- pushd "${ED}"/usr/share/doc/${PF} >/dev/null || die
- dohtml *.html && rm COPYING* *.html
- popd >/dev/null || die
-}
diff --git a/dev-libs/mpfr/mpfr-3.1.6.ebuild b/dev-libs/mpfr/mpfr-3.1.6.ebuild
deleted file mode 100644
index 54529fa86a00..000000000000
--- a/dev-libs/mpfr/mpfr-3.1.6.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit eutils libtool multilib-minimal
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/4" # libmpfr.so version
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- if [[ ${PLEVEL} != ${PV} ]] ; then
- local i
- for (( i = 1; i <= PLEVEL; ++i )) ; do
- epatch "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
- done
- fi
- epatch_user
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}" \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- use static-libs || find "${ED}"/usr -name '*.la' -delete
-
- # clean up html/license install
- pushd "${ED}"/usr/share/doc/${PF} >/dev/null || die
- dohtml *.html && rm COPYING* *.html
- popd >/dev/null || die
-}
diff --git a/dev-libs/mpfr/mpfr-4.0.0-r1.ebuild b/dev-libs/mpfr/mpfr-4.0.0-r1.ebuild
deleted file mode 100644
index b15b4e64c7aa..000000000000
--- a/dev-libs/mpfr/mpfr-4.0.0-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit libtool multilib-minimal preserve-libs
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/6" # libmpfr.so version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-HTML_DOCS=( doc/FAQ.html )
-
-src_prepare() {
- if [[ ${PLEVEL} != ${PV} ]] ; then
- local i
- for (( i = 1; i <= PLEVEL; ++i )) ; do
- eapply "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
- done
- fi
- eapply_user
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}" \
- $(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
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 4)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 4)
-}
diff --git a/dev-libs/mpfr/mpfr-4.0.1.ebuild b/dev-libs/mpfr/mpfr-4.0.1.ebuild
deleted file mode 100644
index b15b4e64c7aa..000000000000
--- a/dev-libs/mpfr/mpfr-4.0.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit libtool multilib-minimal preserve-libs
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/6" # libmpfr.so version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-HTML_DOCS=( doc/FAQ.html )
-
-src_prepare() {
- if [[ ${PLEVEL} != ${PV} ]] ; then
- local i
- for (( i = 1; i <= PLEVEL; ++i )) ; do
- eapply "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
- done
- fi
- eapply_user
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}" \
- $(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
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 4)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 4)
-}
diff --git a/dev-libs/mpfr/mpfr-4.0.2.ebuild b/dev-libs/mpfr/mpfr-4.0.2.ebuild
deleted file mode 100644
index 710dd1db5dce..000000000000
--- a/dev-libs/mpfr/mpfr-4.0.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit libtool multilib-minimal preserve-libs
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="https://www.mpfr.org/"
-SRC_URI="https://www.mpfr.org/mpfr-${MY_PV}/${MY_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 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${MY_P}
-
-HTML_DOCS=( doc/FAQ.html )
-
-src_prepare() {
- if [[ ${PLEVEL} != ${PV} ]] ; then
- local i
- for (( i = 1; i <= PLEVEL; ++i )) ; do
- eapply "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
- done
- fi
- eapply_user
- find . -type f -exec touch -r configure {} +
- elibtoolize
-}
-
-multilib_src_configure() {
- # Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
- ECONF_SOURCE=${S} \
- user_redefine_cc=yes \
- econf \
- --docdir="\$(datarootdir)/doc/${PF}" \
- $(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
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 4)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 4)
-}
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/mps/Manifest b/dev-libs/mps/Manifest
deleted file mode 100644
index bd268ad7de2c..000000000000
--- a/dev-libs/mps/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST mps-kit-1.106.2.tar.gz 1303450 BLAKE2B 15de3706adbe05e195342b4bc72f3bbeef7df1c288eea7c4e25ee95bd64a45a83604379c2c20be44d2fdfcc23894ff210637d5ea8040922462d2126292ea29a1 SHA512 6d4a6441c4b0afd9daa0ef20a962fd9a5cd120ed324bfb7ece95ec7570f2907853ff4843fcb71537910d81339bb92cd612fa67ad0beb0ad89382339f39760a34
-DIST mps-kit-1.110.0.tar.gz 1920116 BLAKE2B e77c08ee59b879c47046eee40c833d733da924e2088297fc3f762eb64237744fd924be3d226b1a14c10ae0d1becf6c2ade77c5e38c198b3a5c799d5e48c000ca SHA512 b613833a9b9a79547639337e4cda897b939c45cb84579521ec63b5560ad94cb7a8b4885b51eace119fc7c3ebf725433dfca41d96c8a773df94b37abb605bb07f
-DIST mps-kit-1.111.0.tar.gz 3197286 BLAKE2B 464fdd2144da219e0407875c1295a3c923dc4c7529146706e5d43b232d8fe5939ac4a1b7fc658cd7cbc2496fcdafaca9065c7515815ae85df109e85bc99df9c8 SHA512 628ad619dbce1460265ffbfc76adb4a88a2168b80bd1d8de10509d7025e7f9cd240ccc7dda044119863d0f2db95792ca9c94a35271dac5a995e8609221d7e67b
-DIST mps-kit-1.114.0.tar.gz 2461796 BLAKE2B bc065708f8b4df6a4d7dcf415efd120ecb18461949a000430731ae34cd25bdf90f857bc711b6cc05c7ddd9a50ff8660ddbda146ce2175116d4fc6a8098d8bdc1 SHA512 78ec4f470a1c7e1aa377a61a6ccefbc77fa6e84de73b209cc3544452843ecb09a0d889121e51cfbe64d788c658c68b12a4ed150b7f82df78d4416987ded21fc9
diff --git a/dev-libs/mps/metadata.xml b/dev-libs/mps/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/mps/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/mps/mps-1.106.2.ebuild b/dev-libs/mps/mps-1.106.2.ebuild
deleted file mode 100644
index 962588d710c0..000000000000
--- a/dev-libs/mps/mps-1.106.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Ravenbrook Memory Pool System"
-
-MY_P="${PN}-kit-${PV}"
-HOMEPAGE="http://www.ravenbrook.com/project/mps/"
-SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
-
-LICENSE="Sleepycat"
-SLOT="0"
-KEYWORDS="~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}/code
-
-src_prepare() {
- # need to fix CFLAGS, it's still being silly
- sed -i -e 's/-Werror//' gc.gmk
-}
-
-src_compile() {
- emake -f lii4gc.gmk
- emake -f lii4gc.gmk mpsplan.a
- emake -f lii4gc.gmk mmdw.a
-}
-
-src_install() {
- mkdir -p "${D}"/usr/include/mps
- cp "${S}"/*.h "${D}"/usr/include/mps
- dolib.a "${S}"/lii4gc/ci/*.a
-}
diff --git a/dev-libs/mps/mps-1.110.0.ebuild b/dev-libs/mps/mps-1.110.0.ebuild
deleted file mode 100644
index da17850546fa..000000000000
--- a/dev-libs/mps/mps-1.110.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-DESCRIPTION="Ravenbrook Memory Pool System"
-
-MY_P="${PN}-kit-${PV}"
-HOMEPAGE="http://www.ravenbrook.com/project/mps/"
-SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
-
-LICENSE="Sleepycat"
-SLOT="0"
-KEYWORDS="~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}/
-
-src_prepare() {
- # need to fix CFLAGS, it's still being silly
- sed -i -e 's/-Werror//' code/g{c,p}.gmk || die "Failed to fix CFLAGS"
-}
diff --git a/dev-libs/mps/mps-1.111.0.ebuild b/dev-libs/mps/mps-1.111.0.ebuild
deleted file mode 100644
index 1bd9a1f18277..000000000000
--- a/dev-libs/mps/mps-1.111.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-DESCRIPTION="Ravenbrook Memory Pool System"
-
-MY_P="${PN}-kit-${PV}"
-HOMEPAGE="http://www.ravenbrook.com/project/mps/"
-SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
-
-LICENSE="Sleepycat"
-SLOT="0"
-KEYWORDS="~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}/
-
-src_prepare() {
- # need to fix CFLAGS, it's still being silly
- sed -i -e 's/-Werror//' code/g{c,p}.gmk || die "Failed to fix CFLAGS"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die
-}
diff --git a/dev-libs/mps/mps-1.114.0.ebuild b/dev-libs/mps/mps-1.114.0.ebuild
deleted file mode 100644
index 7adf0b24abc9..000000000000
--- a/dev-libs/mps/mps-1.114.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils
-
-DESCRIPTION="Ravenbrook Memory Pool System"
-
-MY_P="${PN}-kit-${PV}"
-HOMEPAGE="http://www.ravenbrook.com/project/mps/"
-SRC_URI="http://www.ravenbrook.com/project/${PN}/release/${PV}/${MY_P}.tar.gz"
-
-LICENSE="Sleepycat"
-SLOT="0"
-KEYWORDS="~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${MY_P}/
-
-src_prepare() {
- # need to fix CFLAGS, it's still being silly
- sed -i -e 's/-Werror//' code/g{c,p}.gmk || die "Failed to fix CFLAGS"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die
-}
diff --git a/dev-libs/msgpack/Manifest b/dev-libs/msgpack/Manifest
index e787b4f704cf..7d06ba598e97 100644
--- a/dev-libs/msgpack/Manifest
+++ b/dev-libs/msgpack/Manifest
@@ -1,3 +1,2 @@
-DIST msgpack-1.1.0.tar.gz 493551 BLAKE2B 3ee162fcba5ae61c7c69945a567ac4d39526e7941f42cc2ed55bc5885b823af84eea212c4e75e8e8583e8ea8a5e12f75e969409193c5e7273430e2e02d33a02c SHA512 6823fab090c2146f871a45736c29b8f81434f0d72c597ebea2e947e4a9a17554e163bc88fbbc3dd0805b2ef0df029b10ca30c09dfbd1111252b9861a1e373901
-DIST msgpack-3.1.1.tar.gz 495858 BLAKE2B a99b7edb2a6de80e018d5c4084ea199518e34045a6293c622c8690147ae353abdb63856eb031962a02ce20903d4443ec2b01a3c033e756c339f8674ff801d4c3 SHA512 cc634ef38b3844bf994159024441fe72d99055c42b0a4d81245b0629fd1f3147587eb36537cfb85e4cae2edc1dc23d7fa400022efa5a10dca295f9a6acd38346
-DIST msgpack-3.2.0.tar.gz 499188 BLAKE2B 6e5fd59a96ca726d3429b173b3db4c74163eaf6d314b289845237b6ace6208478dbbbb60397c630d515f6f6eed344b74f76225d1a4ca143b91ebb9b3a1369c14 SHA512 f3d011adfaa71b3c5d5f3eb43f0addbd461ae82b8ac22f367ddba7ef762d3bea500477501cf394d1770f0c47809bc363fc1088819ecfdfa668e93529885f4b88
+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/files/msgpack-1.0.0-cflags.patch b/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch
deleted file mode 100644
index fc6cacd0a03c..000000000000
--- a/dev-libs/msgpack/files/msgpack-1.0.0-cflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- msgpack-1.0.0/CMakeLists.txt
-+++ msgpack-1.0.0/CMakeLists.txt
-@@ -213,10 +213,6 @@
- ADD_SUBDIRECTORY (test)
- ENDIF ()
-
--IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-- SET_PROPERTY (TARGET msgpack APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3 -DPIC")
-- SET_PROPERTY (TARGET msgpack-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3" )
--ENDIF ()
- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
- IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
- STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
---- msgpack-1.0.0/test/CMakeLists.txt
-+++ msgpack-1.0.0/test/CMakeLists.txt
-@@ -52,9 +52,6 @@
- ${CMAKE_THREAD_LIBS_INIT}
- )
- ADD_TEST (${source_file_we} ${source_file_we})
-- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-- SET_PROPERTY (TARGET ${source_file_we} APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -g -O3")
-- ENDIF ()
- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
- IF (CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
- STRING(REGEX REPLACE "/W[0-4]" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
diff --git a/dev-libs/msgpack/files/msgpack-1.0.0-static.patch b/dev-libs/msgpack/files/msgpack-1.0.0-static.patch
deleted file mode 100644
index e40a9deaaece..000000000000
--- a/dev-libs/msgpack/files/msgpack-1.0.0-static.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- msgpack-1.0.0/CMakeLists.txt
-+++ msgpack-1.0.0/CMakeLists.txt
-@@ -17,6 +17,7 @@
-
- OPTION (MSGPACK_CXX11 "Using c++11 compiler" OFF)
- OPTION (MSGPACK_32BIT "32bit compile" OFF)
-+OPTION (MSGPACK_STATIC "Build static library" ON)
-
- IF (MSGPACK_CXX11)
- IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-@@ -196,12 +197,15 @@
- ${msgpack_HEADERS}
- )
-
--ADD_LIBRARY (msgpack-static STATIC
-- ${msgpack_SOURCES}
-- ${msgpack_HEADERS}
--)
-+IF (MSGPACK_STATIC)
-+ ADD_LIBRARY (msgpack-static STATIC
-+ ${msgpack_SOURCES}
-+ ${msgpack_HEADERS}
-+ )
-+ SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
-+ INSTALL (TARGETS msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+ENDIF ()
-
--SET_TARGET_PROPERTIES (msgpack-static PROPERTIES OUTPUT_NAME "msgpack")
- SET_TARGET_PROPERTIES (msgpack PROPERTIES IMPORT_SUFFIX "_import.lib")
- SET_TARGET_PROPERTIES (msgpack PROPERTIES SOVERSION 3 VERSION 4.0.0)
-
-@@ -233,7 +237,7 @@
- SET(CMAKE_INSTALL_LIBDIR lib)
- ENDIF ()
-
--INSTALL (TARGETS msgpack msgpack-static DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+INSTALL (TARGETS msgpack DESTINATION ${CMAKE_INSTALL_LIBDIR})
- INSTALL (DIRECTORY include DESTINATION ${CMAKE_INSTALL_PREFIX})
- INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
diff --git a/dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch b/dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch
deleted file mode 100644
index 2fc9bb46e4bf..000000000000
--- a/dev-libs/msgpack/files/msgpack-1.1.0-gcc6.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Bug: https://bugs.gentoo.org/623492
-Backported from: https://github.com/msgpack/msgpack-c/commit/66a5fcf8f1a9e57b02904a6ac55a86a9c74ea1de
-
---- a/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp
-+++ b/include/msgpack/adaptor/detail/cpp11_msgpack_tuple.hpp
-@@ -46,13 +46,14 @@
- public:
- using base = std::tuple<Types...>;
-
-- using base::base;
-
-- tuple() = default;
- tuple(tuple const&) = default;
- tuple(tuple&&) = default;
-
- template<typename... OtherTypes>
-+ tuple(OtherTypes&&... other):base(std::forward<OtherTypes>(other)...) {}
-+
-+ template<typename... OtherTypes>
- tuple(tuple<OtherTypes...> const& other):base(static_cast<std::tuple<OtherTypes...> const&>(other)) {}
- template<typename... OtherTypes>
- tuple(tuple<OtherTypes...> && other):base(static_cast<std::tuple<OtherTypes...> &&>(other)) {}
diff --git a/dev-libs/msgpack/metadata.xml b/dev-libs/msgpack/metadata.xml
index 452594740686..738a3c879cff 100644
--- a/dev-libs/msgpack/metadata.xml
+++ b/dev-libs/msgpack/metadata.xml
@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
- <use>
- <flag name="boost">Enable boost support</flag>
- </use>
<upstream>
<remote-id type="github">msgpack/msgpack-c</remote-id>
</upstream>
diff --git a/dev-libs/msgpack/msgpack-1.1.0.ebuild b/dev-libs/msgpack/msgpack-1.1.0.ebuild
deleted file mode 100644
index 027734b5670d..000000000000
--- a/dev-libs/msgpack/msgpack-1.1.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
-HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="+cxx static-libs test"
-
-DEPEND="
- test? (
- >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )
-"
-
-DOCS=( README.md )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.0-cflags.patch
- "${FILESDIR}"/${PN}-1.0.0-static.patch
- "${FILESDIR}"/${P}-gcc6.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DMSGPACK_ENABLE_CXX=$(usex cxx)
- -DMSGPACK_STATIC=$(usex static-libs)
- -DMSGPACK_BUILD_TESTS=$(usex test)
- )
-
- cmake-multilib_src_configure
-}
diff --git a/dev-libs/msgpack/msgpack-3.1.1.ebuild b/dev-libs/msgpack/msgpack-3.1.1.ebuild
deleted file mode 100644
index 768e32012a7b..000000000000
--- a/dev-libs/msgpack/msgpack-3.1.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-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 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-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"
-
-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}]
- )
- doc? ( app-doc/doxygen[dot] )
-"
-
-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-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- if multilib_is_native_abi && use doc; then
- cmake-utils_src_make 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
-
- use cxx && mv doc_cpp/html docs/cpp || die
- fi
-
- if use examples; then
- docinto examples
-
- dodoc -r "${WORKDIR}/${P}/example/."
-
- docompress -x /usr/share/doc/${PF}/examples
- fi
- fi
-
- cmake-utils_src_install
-}
diff --git a/dev-libs/msgpack/msgpack-3.2.0.ebuild b/dev-libs/msgpack/msgpack-3.2.0.ebuild
deleted file mode 100644
index a4bf98c62275..000000000000
--- a/dev-libs/msgpack/msgpack-3.2.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-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 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-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"
-
-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}]
- )
- doc? ( app-doc/doxygen[dot] )
-"
-
-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-multilib_src_configure
-}
-
-multilib_src_compile() {
- cmake-utils_src_compile
-
- if multilib_is_native_abi && use doc; then
- cmake-utils_src_make 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
-
- use cxx && mv doc_cpp/html docs/cpp || die
- fi
-
- if use examples; then
- docinto examples
-
- dodoc -r "${WORKDIR}/${P}/example/."
-
- docompress -x /usr/share/doc/${PF}/examples
- fi
- fi
-
- cmake-utils_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 9874fdfd13f5..f48bdf977e33 100644
--- a/dev-libs/mxml/Manifest
+++ b/dev-libs/mxml/Manifest
@@ -1,2 +1,2 @@
-DIST mxml-2.12.tar.gz 9112072 BLAKE2B 29e63abdd567c76209ca41adf608bd752863cdb2911d5bda482a2c6ac50ccdae2179941a3899d7e58480bab8903fee8a6c431619072d2861acd01f18d0eeb9e5 SHA512 49233a0087f3ef73a01ef71bb79511af36bb72027e3d9f6df919385e9ff0b03a489a3ccc590941bc4af1f558f82b2ed9bf8ff641863300a7791ce6dddfd56e77
-DIST mxml-3.0.tar.gz 9266886 BLAKE2B d5d3481cfd1d015c620ef897bfc21e839ad2a70f5ffd58973f8435e0e6a66abd477f8fcaacfab05ce608314fed27241702becb60b49b8492560bcc9418b317f5 SHA512 3c540348022226b122ce014f183368cda6631600a11d8f4d43c99c62fba2f3ca4b23dff4122082f63915b59a46a5475d1d12d0081f9315c65f5c044ac3c751d6
+DIST mxml-3.3.1.tar.gz 1554784 BLAKE2B e0d599fd947dfef72edae40c1e70ea76c92105128dd46e772a7c71f9293cab3339c980396dffe105246cad64d0474935cc1939005ad9a2bffc8e8107f025a466 SHA512 43e6a92806d9c3f5db39fbf960c15ebfa6d92ef98274b7ce39b57724d6c26ad4362d6d8f3c1023efda92e6a815df068e5038a0cd479562b6be9dbdda8e827a41
+DIST mxml-4.0.3.tar.gz 1576958 BLAKE2B fe65513190bc8c03b8a66fb6711f9dcc846c19cdf67c17908fd5795408fead3e6ae2c11c8d4ca1c10be7b68d54ab87c602ab6ca3e5386d26ff75753d4dbe6476 SHA512 5855ea90c32a250ca0943389c768f1b9d9a231762d9b678d56bcb55c12d90a51b28c66940355e945b3d315bd764001e05ede576de976132768eb1eecb2667bba
diff --git a/dev-libs/mxml/metadata.xml b/dev-libs/mxml/metadata.xml
index a4af87ab4c46..2220302b0433 100644
--- a/dev-libs/mxml/metadata.xml
+++ b/dev-libs/mxml/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
Mini-XML is a small XML parsing library that you can use to read XML data files or strings
in your application without requiring large non-standard libraries.
diff --git a/dev-libs/mxml/mxml-2.12.ebuild b/dev-libs/mxml/mxml-2.12.ebuild
deleted file mode 100644
index 1944085d2527..000000000000
--- a/dev-libs/mxml/mxml-2.12.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-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"
-
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ~ppc64 ~sparc x86"
-LICENSE="Mini-XML"
-SLOT="0"
-IUSE="static-libs threads"
-
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # Respect users CFLAGS
- sed -e 's/-Os -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 myeconfopts=(
- $(use_enable threads)
- --with-docdir=/usr/share/doc/${PF}
- )
-
- econf "${myeconfopts[@]}"
-}
-
-src_test() {
- emake testmxml
-}
-
-src_install() {
- emake DSTROOT="${ED}" install
-}
diff --git a/dev-libs/mxml/mxml-3.0.ebuild b/dev-libs/mxml/mxml-3.0.ebuild
deleted file mode 100644
index c158f00b2a06..000000000000
--- a/dev-libs/mxml/mxml-3.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="static-libs threads"
-
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # Respect users CFLAGS
- sed -e 's/-Os -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 myeconfopts=(
- $(use_enable threads)
- --with-docdir=/usr/share/doc/"${PF}"
- )
-
- econf "${myeconfopts[@]}"
-}
-
-src_test() {
- emake testmxml
-}
-
-src_install() {
- emake DSTROOT="${ED}" install
-}
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-4.0.3.ebuild b/dev-libs/mxml/mxml-4.0.3.ebuild
new file mode 100644
index 000000000000..5056680d49d8
--- /dev/null
+++ b/dev-libs/mxml/mxml-4.0.3.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 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"
+
+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 cfaf4fc41956..57a64ee14c0e 100644
--- a/dev-libs/nanomsg/Manifest
+++ b/dev-libs/nanomsg/Manifest
@@ -1,2 +1,2 @@
-DIST nanomsg-1.1.4.tar.gz 310182 BLAKE2B d47d270bb1f631e332b6b9c2be1a29aebc2f3e0a2190aba1f4d0ccccbc5415899bd1bda5608dea1510b4ac8b1c8a076c8b6a5d126de6bfc938b54e8a34becd5a SHA512 a1f002f988f2d98eff03387b496fe15a099fef4eb9ccd1c46ade63fbbe5a4ad4cf9fa0fd1e612e1a6f2747bc2af63b7044ec1e920e1c9a0d8c8bc2191ad7046a
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/metadata.xml b/dev-libs/nanomsg/metadata.xml
index 5388d1835bb3..ecadb27ff833 100644
--- a/dev-libs/nanomsg/metadata.xml
+++ b/dev-libs/nanomsg/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
- <maintainer type="person">
- <email>djc@gentoo.org</email>
- <name>Dirkjan Ochtman</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">nanomsg/nanomsg</remote-id>
</upstream>
diff --git a/dev-libs/nanomsg/nanomsg-1.1.4.ebuild b/dev-libs/nanomsg/nanomsg-1.1.4.ebuild
deleted file mode 100644
index deb63c3d8256..000000000000
--- a/dev-libs/nanomsg/nanomsg-1.1.4.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~x86"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( dev-ruby/asciidoctor )"
-RDEPEND=""
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DNN_STATIC_LIB=$(usex static-libs ON 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-utils_src_configure
-}
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 73f7851f7dd1..000000000000
--- a/dev-libs/nanomsg/nanomsg-1.1.5.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~x86"
-IUSE="doc static-libs"
-
-DEPEND="doc? ( dev-ruby/asciidoctor )"
-RDEPEND=""
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DNN_STATIC_LIB=$(usex static-libs ON 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-utils_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
new file mode 100644
index 000000000000..21d62df6542b
--- /dev/null
+++ b/dev-libs/ncnn/Manifest
@@ -0,0 +1 @@
+DIST ncnn-20240410.tar.gz 12835689 BLAKE2B b4c2ffdf525719dca81d020695f03cd963c3a1f1a0ecc61b6e08c75da212d280210bf1be9b54343a771661fef747675e7f08d0dd9e3ea942adfda1e07d1f6868 SHA512 61865af26aecc6b0eccdfd46c5b3f6e4dd06d7409298051c91d141e64b8c15690f2f982c0aeb3a11d3a575061ab7606710cb0e710f4cb6539c7a14ff440aaaf7
diff --git a/dev-libs/ncnn/metadata.xml b/dev-libs/ncnn/metadata.xml
new file mode 100644
index 000000000000..99103221bbbb
--- /dev/null
+++ b/dev-libs/ncnn/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="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>
+ </use>
+ <upstream>
+ <remote-id type="github">Tencent/ncnn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/ncnn/ncnn-20240410.ebuild b/dev-libs/ncnn/ncnn-20240410.ebuild
new file mode 100644
index 000000000000..3ca6898ed9c5
--- /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 580f010e0622..80fa221ca4ae 100644
--- a/dev-libs/nettle/Manifest
+++ b/dev-libs/nettle/Manifest
@@ -1,2 +1,6 @@
-DIST nettle-3.4.1.tar.gz 1947053 BLAKE2B 354318c46c28aeaaca611abe70298024ec12ff70aed53c741e43c1b5373361e5cffb03df7b8e86ef103a3b7770b2b4fe39fbca00b128f2b7ec810b3a4d9fd0fd SHA512 26aefbbe9927e90e28f271e56d2ba876611831222d0e1e1a58bdb75bbd50934fcd84418a4fe47b845f557e60a9786a72a4de2676c930447b104f2256aca7a54f
-DIST nettle-3.5.1.tar.gz 1989593 BLAKE2B 40e527a4cc541674acc39072f2ebbab4b6ed1b043687d88c776ce9c58374538b111d282e0eea5424059260b0876c5cf01f97470c850e082c167b05a57e6c591a SHA512 f738121b9091cbe79435fb5d46b45cf6f10912320c233829356908127bab1cac6946ca56e022a832380c44f2c10f21d2feef64cb0f4f41e3da4a681dc0131784
+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/files/nettle-3.4.1-build.patch b/dev-libs/nettle/files/nettle-3.4.1-build.patch
deleted file mode 100644
index 4351dfeb5bcb..000000000000
--- a/dev-libs/nettle/files/nettle-3.4.1-build.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From f5a3a224bf00bef5669366d2ae23c2b2b13b8016 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
-Date: Wed, 26 Dec 2018 11:04:31 +0100
-Subject: [PATCH] Fix accidental use of C99 for loop.
-
-* rsa-sign-tr.c (sec_equal): Fix accidental use of C99 for loop.
-Reported by Andreas Gustafsson.
-* testsuite/rsa-sec-decrypt-test.c (test_main): Likewise.
----
- ChangeLog | 6 ++++++
- rsa-sign-tr.c | 3 ++-
- testsuite/rsa-sec-decrypt-test.c | 3 ++-
- 3 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/rsa-sign-tr.c b/rsa-sign-tr.c
-index 59c9bd07..f824c4ca 100644
---- a/rsa-sign-tr.c
-+++ b/rsa-sign-tr.c
-@@ -239,8 +239,9 @@ static int
- sec_equal(const mp_limb_t *a, const mp_limb_t *b, size_t limbs)
- {
- volatile mp_limb_t z = 0;
-+ size_t i;
-
-- for (size_t i = 0; i < limbs; i++)
-+ for (i = 0; i < limbs; i++)
- {
- z |= (a[i] ^ b[i]);
- }
-diff --git a/testsuite/rsa-sec-decrypt-test.c b/testsuite/rsa-sec-decrypt-test.c
-index 64f0b13c..fb0ed3a1 100644
---- a/testsuite/rsa-sec-decrypt-test.c
-+++ b/testsuite/rsa-sec-decrypt-test.c
-@@ -68,6 +68,7 @@ test_main(void)
- unsigned n_size = 1024;
- mpz_t gibberish;
- mpz_t garbage;
-+ size_t size;
-
- rsa_private_key_init(&key);
- rsa_public_key_init(&pub);
-@@ -78,7 +79,7 @@ test_main(void)
-
- memset(verifybad, 'A', PAYLOAD_SIZE);
-
-- for (size_t size = 1; size < 51; size++)
-+ for (size = 1; size < 51; size++)
- {
- ASSERT (rsa_generate_keypair(&pub, &key, &random_ctx,
- (nettle_random_func *) knuth_lfib_random,
---
-2.18.1
-
diff --git a/dev-libs/nettle/metadata.xml b/dev-libs/nettle/metadata.xml
index 040cba5f7c5b..bb86443f7022 100644
--- a/dev-libs/nettle/metadata.xml
+++ b/dev-libs/nettle/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
+ <name>Gentoo Base System</name>
+ <email>base-system@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:nettle_project:nettle</remote-id>
+ <remote-id type="github">gnutls/nettle</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/nettle/nettle-3.4.1.ebuild b/dev-libs/nettle/nettle-3.4.1.ebuild
deleted file mode 100644
index c2a18046a70b..000000000000
--- a/dev-libs/nettle/nettle-3.4.1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-build multilib-minimal multilib 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/6.2" # subslot = libnettle soname version, .2 as broke ABI bug#601512 then fixed
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~riscv s390 ~sh sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc +gmp neon static-libs test cpu_flags_x86_aes"
-
-DEPEND="gmp? ( >=dev-libs/gmp-6.0:0=[static-libs?,${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/nettle/nettle-stdint.h
- /usr/include/nettle/version.h
-)
-
-DOCS=()
-HTML_DOCS=()
-
-PATCHES=(
- "${FILESDIR}/${P}-build.patch"
-)
-
-pkg_setup() {
- use doc && DOCS+=(
- nettle.pdf
- )
- use doc && HTML_DOCS+=(
- nettle.html
- )
-}
-
-src_prepare() {
- default
-
- sed -e '/CFLAGS=/s: -ggdb3::' \
- -e 's/solaris\*)/sunldsolaris*)/' \
- -i configure.ac || die
-
- # conditionally build tests and examples required by tests
- use test || sed -i '/SUBDIRS/s/testsuite examples//' Makefile.in || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- # --disable-openssl bug #427526
- ECONF_SOURCE="${S}" econf \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --disable-openssl \
- --disable-fat \
- $(use_enable gmp public-key) \
- $(use_enable static-libs static) \
- $(tc-is-static-only && echo --disable-shared) \
- $(use_enable doc documentation) \
- $(use_enable neon arm-neon) \
- $(use_enable cpu_flags_x86_aes x86-aesni)
-}
diff --git a/dev-libs/nettle/nettle-3.5.1.ebuild b/dev-libs/nettle/nettle-3.5.1.ebuild
deleted file mode 100644
index 45fc672b7231..000000000000
--- a/dev-libs/nettle/nettle-3.5.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-build multilib-minimal multilib 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/7" # subslot = libnettle soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc +gmp neon static-libs test cpu_flags_x86_aes"
-
-DEPEND="gmp? ( >=dev-libs/gmp-6.0:0=[static-libs?,${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}"
-
-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() {
- # --disable-openssl bug #427526
- ECONF_SOURCE="${S}" econf \
- $(tc-is-static-only && echo --disable-shared) \
- $(use_enable cpu_flags_x86_aes x86-aesni) \
- --disable-x86-sha-ni \
- $(use_enable doc documentation) \
- $(use_enable gmp public-key) \
- $(use_enable neon arm-neon) \
- $(use_enable static-libs static) \
- --disable-fat \
- --disable-openssl \
- --libdir="${EPREFIX}"/usr/$(get_libdir)
-}
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 b3f5023371f8..397932fcbcff 100644
--- a/dev-libs/newt/Manifest
+++ b/dev-libs/newt/Manifest
@@ -1,2 +1 @@
-DIST newt-0.52.20.tar.gz 181163 BLAKE2B c6def9fae612f8dcffb396ea4013cf3e034da8f346fb7bf71de6fc5a59ee3d9d43bb4ad3bdfab7535d4d2eddeed62f72cea1861ac537f2bd7a62e7f76069c692 SHA512 0c10c373c6a5299a85fc38f32d3590fff3b26c4be40e6c85ed73c20724ef2fb094bf37a8c3b1b80a4bcdfc14fe59254d4419c391245c298a4e16788954b88236
-DIST newt-0.52.21.tar.gz 174895 BLAKE2B a0d6a15f87fe04dc535e65fcd28606cd666142d006a53b6ee0c8387a6295215e44f1815ac56ceb56b561ca9b5bc8f3cab2d04b5decd62642f46b744333dc7e34 SHA512 d53d927996d17223e688bf54dccfabb2a3dc02bfe38ffc455964e86feaca3cd9f9ab5b19774433be430fa4d761cd9b6680b558f297acb86f80daeb6942f7d23c
+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.14-tcl.patch b/dev-libs/newt/files/newt-0.52.14-tcl.patch
deleted file mode 100644
index 4e10d2baae9e..000000000000
--- a/dev-libs/newt/files/newt-0.52.14-tcl.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-diff --git a/whiptcl.c b/whiptcl.c
-index 8688780..7219911 100644
---- a/whiptcl.c
-+++ b/whiptcl.c
-@@ -137,45 +137,45 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
-
- if (arg < -1) {
- /* this could buffer oveflow, bug we're not setuid so I don't care */
-- interp->result = malloc(200);
-- interp->freeProc = TCL_DYNAMIC;
-- sprintf(interp->result, "%s: %s\n",
-+ char *tmp = malloc(200);
-+ sprintf(tmp, "%s: %s\n",
- poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
- poptStrerror(arg));
-+ Tcl_SetResult(interp, tmp, TCL_DYNAMIC);
-
- return TCL_ERROR;
- }
-
- if (mode == MODE_NONE) {
-- interp->result = "no dialog mode was specified";
-+ Tcl_SetResultString(interp, "no dialog mode was specified");
- return TCL_ERROR;
- } else if (rc) {
-- interp->result = "multiple modes were specified";
-+ Tcl_SetResultString(interp, "multiple modes were specified");
- return TCL_ERROR;
- }
-
- if (!(text = poptGetArg(optCon))) {
-- interp->result = "missing text parameter";
-+ Tcl_SetResultString(interp, "missing text parameter");
- return TCL_ERROR;
- }
-
- if (!(nextArg = poptGetArg(optCon))) {
-- interp->result = "height missing";
-+ Tcl_SetResultString(interp, "height missing");
- return TCL_ERROR;
- }
- height = strtoul(nextArg, &end, 10);
- if (*end) {
-- interp->result = "height is not a number";
-+ Tcl_SetResultString(interp, "height is not a number");
- return TCL_ERROR;
- }
-
- if (!(nextArg = poptGetArg(optCon))) {
-- interp->result = "width missing";
-+ Tcl_SetResultString(interp, "width missing");
- return TCL_ERROR;
- }
- width = strtoul(nextArg, &end, 10);
- if (*end) {
-- interp->result = "width is not a number";
-+ Tcl_SetResultString(interp, "width is not a number");
- return TCL_ERROR;
- }
-
-@@ -196,33 +196,30 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
- case MODE_YESNO:
- rc = messageBox(text, height, width, MSGBOX_YESNO, flags);
- if (rc == DLG_OKAY)
-- interp->result = "yes";
-+ Tcl_SetResultString(interp, "yes");
- else
-- interp->result = "no";
-+ Tcl_SetResultString(interp, "no");
- if (rc == DLG_ERROR) rc = 0;
- break;
-
- case MODE_INPUTBOX:
- rc = inputBox(text, height, width, optCon, flags, &result);
- if (rc ==DLG_OKAY) {
-- interp->result = result;
-- interp->freeProc = TCL_DYNAMIC;
-+ Tcl_SetResult(interp, result, TCL_DYNAMIC);
- }
- break;
-
- case MODE_MENU:
- rc = listBox(text, height, width, optCon, flags, default_item, &result);
- if (rc==DLG_OKAY) {
-- interp->result = result;
-- interp->freeProc = TCL_DYNAMIC;
-+ Tcl_SetResult(interp, result, TCL_DYNAMIC);
- }
- break;
-
- case MODE_RADIOLIST:
- rc = checkList(text, height, width, optCon, 1, flags, &selections);
- if (rc==DLG_OKAY) {
-- interp->result = selections[0];
-- interp->freeProc = TCL_DYNAMIC;
-+ Tcl_SetResult(interp, selections[0], TCL_DYNAMIC);
-
- free(selections);
- }
-@@ -247,7 +244,7 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
- newtPopWindow();
-
- if (rc == DLG_ERROR) {
-- interp->result = "bad paramter for whiptcl dialog box";
-+ Tcl_SetResultString(interp, "bad paramter for whiptcl dialog box");
- return TCL_ERROR;
- }
-
diff --git a/dev-libs/newt/files/newt-0.52.15-makefile.patch b/dev-libs/newt/files/newt-0.52.15-makefile.patch
deleted file mode 100644
index 55812bf10460..000000000000
--- a/dev-libs/newt/files/newt-0.52.15-makefile.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile.in b/Makefile.in
-index 4ae284b..cd5c4a7 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -127,7 +127,7 @@ $(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS)
- ln -fs $(LIBNEWTSONAME) libnewt.so
- ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
-
--$(SHAREDDIR)/%.o : %.c
-+$(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
- $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-
- install: $(LIBNEWT) install-sh whiptail
diff --git a/dev-libs/newt/files/newt-0.52.21-python-sitedir.patch b/dev-libs/newt/files/newt-0.52.21-python-sitedir.patch
new file mode 100644
index 000000000000..6b535b683cd4
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.21-python-sitedir.patch
@@ -0,0 +1,18 @@
+It is not specified whether the python sitedir is located within the native
+ABI's $libdir folder. This breaks Gentoo's py3.7 and 3.8 installations.
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -154,9 +154,9 @@
+ ln -sf $(LIBNEWTSH) $(DESTDIR)/$(libdir)/$(LIBNEWTSONAME)
+ [ -n "$(WHIPTCLSO)" ] && install -m 755 whiptcl.$(SOEXT) $(DESTDIR)/$(libdir) || :
+ [ -n "$(PYTHONVERS)" ] && for ver in $(PYTHONVERS) ; do \
+- [ -d $(DESTDIR)/$(libdir)/$$ver/site-packages ] || install -m 755 -d $(DESTDIR)/$(libdir)/$$ver/site-packages ;\
+- install -m 755 $$ver/_snack.$(SOEXT) $(DESTDIR)/$(libdir)/$$ver/site-packages ;\
+- install -m 644 snack.py $(DESTDIR)/$(libdir)/$$ver/site-packages ;\
++ [ -d $(DESTDIR)/$(PYTHON_SITEDIR) ] || install -m 755 -d $(DESTDIR)/$(PYTHON_SITEDIR) ;\
++ install -m 755 $$ver/_snack.$(SOEXT) $(DESTDIR)/$(PYTHON_SITEDIR) ;\
++ install -m 644 snack.py $(DESTDIR)/$(PYTHON_SITEDIR) ;\
+ done || :
+
+ Makefile: configure.ac
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 95c74e676f59..f26997536e0e 100644
--- a/dev-libs/newt/metadata.xml
+++ b/dev-libs/newt/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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.20.ebuild b/dev-libs/newt/newt-0.52.20.ebuild
deleted file mode 100644
index b272773647d3..000000000000
--- a/dev-libs/newt/newt-0.52.20.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-
-inherit python-r1 multilib autotools 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 sparc x86 ~x86-fbsd"
-IUSE="gpm nls tcl"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-libs/popt-1.6
- =sys-libs/slang-2*
- elibc_uclibc? ( sys-libs/ncurses:0= )
- gpm? ( sys-libs/gpm )
- tcl? ( >=dev-lang/tcl-8.5:0 )
- "
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- # bug 73850
- if use elibc_uclibc; then
- sed -i -e 's:-lslang:-lslang -lncurses:g' Makefile.in || die
- fi
-
- 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"
-
- local langs=""
- if [ -n "${LINGUAS}" ]; then
- 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
-
- eapply "${FILESDIR}"/${PN}-0.52.13-gold.patch \
- "${FILESDIR}"/${PN}-0.52.14-tcl.patch \
- "${FILESDIR}"/${PN}-0.52.15-makefile.patch
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- configuring() {
- econf \
- PYTHONVERS="${PYTHON}" \
- $(use_with gpm gpm-support) \
- $(use_with tcl) \
- $(use_enable nls)
- }
- python_foreach_impl configuring
-}
-
-src_compile() {
- building() {
- emake PYTHONVERS="${EPYTHON}"
- }
- python_foreach_impl building
-}
-
-src_install() {
- installit() {
- emake \
- DESTDIR="${D}" \
- PYTHONVERS="${EPYTHON}" \
- install
- python_optimize
- }
- python_foreach_impl installit
- dodoc peanuts.py popcorn.py tutorial.sgml
- doman whiptail.1
- einstalldocs
-}
diff --git a/dev-libs/newt/newt-0.52.21.ebuild b/dev-libs/newt/newt-0.52.21.ebuild
deleted file mode 100644
index 8af4c46bcaa8..000000000000
--- a/dev-libs/newt/newt-0.52.21.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
-
-inherit python-r1 multilib autotools 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 ~sparc ~x86 ~x86-fbsd"
-IUSE="gpm nls tcl"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=dev-libs/popt-1.6
- =sys-libs/slang-2*
- elibc_uclibc? ( sys-libs/ncurses:0= )
- gpm? ( sys-libs/gpm )
- tcl? ( >=dev-lang/tcl-8.5:0 )
- "
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- # bug 73850
- if use elibc_uclibc; then
- sed -i -e 's:-lslang:-lslang -lncurses:g' Makefile.in || die
- fi
-
- 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"
-
- local langs=""
- if [ -n "${LINGUAS}" ]; then
- 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
-
- eapply "${FILESDIR}"/${PN}-0.52.13-gold.patch \
- "${FILESDIR}"/${PN}-0.52.14-tcl.patch
- eapply_user
- eautoreconf
-}
-
-src_configure() {
- configuring() {
- econf \
- PYTHONVERS="${PYTHON}" \
- $(use_with gpm gpm-support) \
- $(use_with tcl) \
- $(use_enable nls)
- }
- python_foreach_impl configuring
-}
-
-src_compile() {
- building() {
- emake PYTHONVERS="${EPYTHON}"
- }
- python_foreach_impl building
-}
-
-src_install() {
- installit() {
- emake \
- DESTDIR="${D}" \
- PYTHONVERS="${EPYTHON}" \
- install
- python_optimize
- }
- python_foreach_impl installit
- dodoc peanuts.py popcorn.py tutorial.sgml
- doman whiptail.1
- einstalldocs
-}
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..35ed84283890
--- /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 8a6d20835c54..abcf97a319da 100644
--- a/dev-libs/nmeap/metadata.xml
+++ b/dev-libs/nmeap/metadata.xml
@@ -1,18 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<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 65da3ee31eb4..000000000000
--- a/dev-libs/nmeap/nmeap-0.3-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 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"
-
-DEPEND="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..98901544f3dc
--- /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="https://downloads.sourceforge.net/${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/nmeap/nmeap-0.3.ebuild b/dev-libs/nmeap/nmeap-0.3.ebuild
deleted file mode 100644
index 0a0e61c6988e..000000000000
--- a/dev-libs/nmeap/nmeap-0.3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-DEPEND="doc? ( app-doc/doxygen )"
-
-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, 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 1ef1314ed2a6..528f8a186b80 100644
--- a/dev-libs/npth/Manifest
+++ b/dev-libs/npth/Manifest
@@ -1,4 +1,2 @@
-DIST npth-1.3.tar.bz2 295998 BLAKE2B 25c0176439a5be3766df15526b06dd07f318dca8b729eb5ec461a40b912132ebbf7bf6ddb2b57a064bfba73f3fe0ab59c00daf6138324f53f5e9e6df91941bf8 SHA512 97b0278cc9448adb42c4a83b8e7bafeed939acaf3dd3a201a1b103df4e48f24224d4bdaeb97903ad1884914ce363cbceffe948a7c1db4f19abf87ca5964f5699
-DIST npth-1.4.tar.bz2 299106 BLAKE2B ba5186de1371d08137e86ef1f6ad12a610a26b7ae3ca50d6fc49f685083380803b245acf01110a28ab25427208bab82de73f16d6f21011b1a0590d16c7c85cf7 SHA512 649009b4fbd2bbbb8fce2911c2f9070a758d037be0d147a63754e3c1f5a9ffb73b907cd09c79314fe60c25084ca7a7b3b387139dd83cc0e11a7e7ba64630ae1f
-DIST npth-1.5.tar.bz2 299308 BLAKE2B 1a3cef4475ad5440487151026889ef321626b372d1c6970c7482df92a702d02860589f7f1f541b1fccf0e8f39b194476ef91507e33a35e05ba3713465f9f11d1 SHA512 20f0ec59d304c68081e42535870af8e76c18e30aa7b04ccdafe60fe5261ad7275c2c0e3ea3a767d6145258a3a39fa641032cd97205318266dd727a5fe7ee331a
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/metadata.xml b/dev-libs/npth/metadata.xml
index 4f6e28828f65..4c1f213dd4ed 100644
--- a/dev-libs/npth/metadata.xml
+++ b/dev-libs/npth/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/npth/npth-1.3.ebuild b/dev-libs/npth/npth-1.3.ebuild
deleted file mode 100644
index 1b6b254ae4ca..000000000000
--- a/dev-libs/npth/npth-1.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool
-
-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="GPL-3"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-src_prepare() {
- default
- elibtoolize # for Solaris shared library
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
diff --git a/dev-libs/npth/npth-1.4.ebuild b/dev-libs/npth/npth-1.4.ebuild
deleted file mode 100644
index 02fb9ddf559e..000000000000
--- a/dev-libs/npth/npth-1.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool
-
-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 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-src_prepare() {
- default
- elibtoolize # for Solaris shared library
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
diff --git a/dev-libs/npth/npth-1.5.ebuild b/dev-libs/npth/npth-1.5.ebuild
deleted file mode 100644
index e7f3e4b96a87..000000000000
--- a/dev-libs/npth/npth-1.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool ltprune
-
-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 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-src_prepare() {
- default
- elibtoolize # for Solaris shared library
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/dev-libs/npth/npth-1.6-r1.ebuild b/dev-libs/npth/npth-1.6-r1.ebuild
index 6669793ebb4a..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-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit libtool
+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,20 +11,31 @@ 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 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
+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
- elibtoolize # for Solaris shared library
+ eautoreconf
}
src_configure() {
+ # 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 \
- $(use_enable static-libs static)
+ --disable-static \
+ $(use_enable test tests)
}
src_install() {
default
- find "${D}" -name '*.la' -delete || die
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
}
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.6.ebuild b/dev-libs/npth/npth-1.6.ebuild
deleted file mode 100644
index df775b203fea..000000000000
--- a/dev-libs/npth/npth-1.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit libtool
-
-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 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-src_prepare() {
- default
- elibtoolize # for Solaris shared library
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- find "${D}" -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 cc7b56f09034..3656e534ec02 100644
--- a/dev-libs/nsgenbind/Manifest
+++ b/dev-libs/nsgenbind/Manifest
@@ -1 +1 @@
-DIST nsgenbind-0.6-src.tar.gz 106862 BLAKE2B 9b40ae6298921736f7d876ae664207eb71102adbe44f4072ea46b08b63cb5cf608df4c96f3ade1c8cca964d8d8b32d68aad25431f6fd455eb8392d8313faa9e9 SHA512 3083b48e48fcf8c7f32b09d040998470d5917469e020c4ccbfb8ffdb7d1252fd27dd02f590f5a2485c6984cdbc005ea87adf0db45077aee0a91f68037c542ffb
+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 7a38bb900964..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.6-r1.ebuild b/dev-libs/nsgenbind/nsgenbind-0.6-r1.ebuild
deleted file mode 100644
index e85a58a5c920..000000000000
--- a/dev-libs/nsgenbind/nsgenbind-0.6-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="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 ~ppc ~ppc64"
-IUSE=""
-
-DEPEND="
- dev-util/netsurf-buildsystem
- virtual/yacc"
-
-_emake() {
- source /usr/share/netsurf-buildsystem/gentoo-helpers.sh
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=binary $@
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${ED}" 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 64e6370a1475..3c544ab050a2 100644
--- a/dev-libs/nspr/Manifest
+++ b/dev-libs/nspr/Manifest
@@ -1,2 +1 @@
-DIST nspr-4.20.tar.gz 1140892 BLAKE2B 2cb96b7a40c307f904dac038f016b5c0e527aaf673463cbcb59d8bb6c9d0239219402587d624f48804e33f43abd4427c87f267bf1a88a0dacffcc408ac15dc49 SHA512 22fdf7627f450b0594ebccaee170098e1a8cd0f429fd44816f1322756002ced3d69cf686c3f69f7cb30b8132d3605a9fce5457ab99d0002e6af11a3408a5c949
-DIST nspr-4.21.tar.gz 1140741 BLAKE2B 9d6d079ac50c97ed7fff957e23506a24ab0d723cadc2ddb0c4283a2abdf387f0d55116ff82bf748500026b5d493909aa5495bd220f3b6e83ad4990f29eb446a0 SHA512 4f152c6ca32d9dd4cf3d92b4b54f249ac1fa39047811f7c0c7a67bdc73173cf7de0dce36dc278ad781189ea2fdc71fa70e044597676a8b1f5e6d664907e5ab7c
+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.23-prtime.patch b/dev-libs/nspr/files/nspr-4.23-prtime.patch
new file mode 100644
index 000000000000..087e427866f9
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.23-prtime.patch
@@ -0,0 +1,26 @@
+--- a/pr/src/misc/prtime.c
++++ b/pr/src/misc/prtime.c
+@@ -1621,7 +1621,7 @@
+ case TT_EET: zone_offset = 2 * 60; break;
+ case TT_JST: zone_offset = 9 * 60; break;
+ default:
+- PR_ASSERT (0);
++ return PR_FAILURE;
+ break;
+ }
+ }
+@@ -1677,11 +1677,12 @@
+ struct tm localTime;
+ time_t secs;
+
+- PR_ASSERT(result->tm_month > -1 &&
++ if (!(result->tm_month > -1 &&
+ result->tm_mday > 0 &&
+ result->tm_hour > -1 &&
+ result->tm_min > -1 &&
+- result->tm_sec > -1);
++ result->tm_sec > -1))
++ return PR_FAILURE;
+
+ /*
+ * To obtain time_t from a tm structure representing the local
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/files/nspr-4.7.0-prtime.patch b/dev-libs/nspr/files/nspr-4.7.0-prtime.patch
deleted file mode 100644
index 2de3ba344578..000000000000
--- a/dev-libs/nspr/files/nspr-4.7.0-prtime.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/pr/src/misc/prtime.c
-+++ b/pr/src/misc/prtime.c
-@@ -1536,7 +1536,7 @@
- case TT_EET: zone_offset = 2 * 60; break;
- case TT_JST: zone_offset = 9 * 60; break;
- default:
-- PR_ASSERT (0);
-+ return PR_FAILURE;
- break;
- }
- }
-@@ -1578,11 +1578,12 @@
- struct tm localTime;
- time_t secs;
-
-- PR_ASSERT(result->tm_month > -1 &&
-+ if (!(result->tm_month > -1 &&
- result->tm_mday > 0 &&
- result->tm_hour > -1 &&
- result->tm_min > -1 &&
-- result->tm_sec > -1);
-+ result->tm_sec > -1))
-+ return PR_FAILURE;
-
- /*
- * To obtain time_t from a tm structure representing the local
diff --git a/dev-libs/nspr/metadata.xml b/dev-libs/nspr/metadata.xml
index d9b367ed3b93..83cf207dd405 100644
--- a/dev-libs/nspr/metadata.xml
+++ b/dev-libs/nspr/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>mozilla@gentoo.org</email>
<name>Gentoo Mozilla Team</name>
</maintainer>
+<upstream>
+ <remote-id type="cpe">cpe:/a:mozilla:netscape_portable_runtime</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/dev-libs/nspr/nspr-4.20.ebuild b/dev-libs/nspr/nspr-4.20.ebuild
deleted file mode 100644
index f20d29ee3411..000000000000
--- a/dev-libs/nspr/nspr-4.20.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2019 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="http://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 s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nspr-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.7.0-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
-
- # 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
- 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 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}" \
- 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.21.ebuild b/dev-libs/nspr/nspr-4.21.ebuild
deleted file mode 100644
index 172a334d4b2d..000000000000
--- a/dev-libs/nspr/nspr-4.21.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 1999-2019 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="http://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 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug elibc_musl"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nspr-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.7.0-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
- 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 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}" \
- 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
new file mode 100644
index 000000000000..99e45521a375
--- /dev/null
+++ b/dev-libs/nss-pem/Manifest
@@ -0,0 +1 @@
+DIST nss-pem-1.1.0.tar.xz 41928 BLAKE2B 99dae611fd8caa58947fb518a68462c1fc779fd19bc3ba8d81aa81bc167b9ecb77830d9dd0b883996b2b62a49809f9830a989ae39facc3d421266c17af1c28c7 SHA512 0fe2b4a3f1fe1746845ba51fa246b7c21b3197e7533fa77851eba2c4163e07b53114ee84f8ad493542ffc00bc1dfe2bf93524f4fead4e3d7b1eed600f73c048c
diff --git a/dev-libs/nss-pem/metadata.xml b/dev-libs/nss-pem/metadata.xml
new file mode 100644
index 000000000000..b7157b669770
--- /dev/null
+++ b/dev-libs/nss-pem/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>mozilla@gentoo.org</email>
+ <name>Gentoo Mozilla Team</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kdudka/nss-pem</remote-id>
+ </upstream>
+</pkgmetadata>
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 3d235a763490..26f62fc839a4 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -1,5 +1,4 @@
-DIST nss-3.40.1.tar.gz 23311074 BLAKE2B 9cd723e983a3f70748b0734bb2a6cc1ddfa280f1c167c3b1b371a58900fb3d9b3bf3482293bb8614d39ffb538bcca815a2aedbe03d2d643731817452f82bc2ca SHA512 464ae843161e8deb911975d2117e8bf1194a968689b4ce70f9a12d5a33dba7ddd69f1248ec45244139c30fcc87678b206a4e124f032b26ead8bf894e4e8d0564
-DIST nss-3.44.1.tar.gz 75986343 BLAKE2B b0a91ffdf879c8fd684abcb92480dd465466e83d3bad346d937bae285543705d10817527ed4f5ddbb618ad52103d4aedfc25e03053225010abc80267d2f94034 SHA512 eb8777701a25b54377026633b6bf284e4c62308012058355f348a7c57525afe96db74a07de41ba01754e316a7dff06689de527359a5474ed7ab606779c4cf169
-DIST nss-3.45.tar.gz 76017462 BLAKE2B 33b310a2cfe86bbbcbb34aa0ea8f11ef8bc9ba45301bf338a1271e88f606b89cb98ad12fad9ae248fa1205218bcf10a106437972fbf56c6563255f3ba0cbf466 SHA512 33360a1bb4e0a0a974070c354ee82c515d5cfa2a12c9c96817a9fdb3e4ca1ad62eb95886b9b0d60e2f69efda964376d0671c1e3c920b2ea614aeecb719c6ff29
-DIST nss-cacert-class1-class3.patch 22950 BLAKE2B 9d5e60df5f161a3c27c41e5a9419440a54f888eda454e3cde5ebe626d4075b65cf9938b5144d0fb022377f4bd415bff5e5c67d104409860aa9391b3eb8872c68 SHA512 a5aa740bf110a3f0262e3f1ef2fc739ac2b44f042e220039d48aee8e97cd764d5c10718220364f4098aba955882bd02cadb5481512388971a8290312f88a7df0
-DIST nss-pem-20160329.tar.xz 27732 BLAKE2B 7c23133a7bfb969d8eac98fb6311e76ab60c5d6601c7329f3c492da30c017e66d64a1f8bc827dd36e52e65c1a1ec02b58816442aaf410345c5ed759a02264b84 SHA512 5834b06e4c64205447573d4f4c8989e20986ae67ee00eebce3817eb73794a6355a404143ba1c676ec302ceefaf9df103cb879b1d4ff14ba4e3790dbee3e40eb2
+DIST nss-3.100.tar.gz 76746058 BLAKE2B 3e114ff7ae5b06a05af9cd62315cbc8d56bf3153126be857b935c5f8db52defcfc2ef13820a896127172a5cb3628c0773965d29a928f41cb5c43630e64095344 SHA512 725c10ffc02fc17347a213b42fabad789aec2c6352fe803b4ad166695ab59495849e9a69684578eb274faf818ec2277f2d433167cdd27997dcf8d8e94dd4df34
+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.21-enable-pem.patch b/dev-libs/nss/files/nss-3.21-enable-pem.patch
deleted file mode 100644
index e6de275787dc..000000000000
--- a/dev-libs/nss/files/nss-3.21-enable-pem.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- nss/lib/ckfw/manifest.mn
-+++ nss/lib/ckfw/manifest.mn
-@@ -5,7 +5,7 @@
-
- CORE_DEPTH = ../..
-
--DIRS = builtins
-+DIRS = builtins pem
-
- PRIVATE_EXPORTS = \
- ck.h \
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.32-gentoo-fixups.patch b/dev-libs/nss/files/nss-3.32-gentoo-fixups.patch
deleted file mode 100644
index 1773da98819c..000000000000
--- a/dev-libs/nss/files/nss-3.32-gentoo-fixups.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 8e49e1c92dadc2e7a41cad44637f4a224e4f5b39 Mon Sep 17 00:00:00 2001
-From: "Jory A. Pratt" <anarchy@gentoo.org>
-Date: Fri, 28 Jul 2017 14:00:41 -0500
-Subject: [PATCH] add pkg-config file
-
-Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
----
- Makefile | 11 +---
- config/Makefile | 40 ++++++++++++++
- config/nss-config.in | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++
- config/nss.pc.in | 12 +++++
- manifest.mn | 2 +-
- 5 files changed, 199 insertions(+), 11 deletions(-)
- create mode 100644 config/Makefile
- create mode 100644 config/nss-config.in
- create mode 100644 config/nss.pc.in
-
-diff --git a/Makefile b/Makefile
-index 48bae37..9850883 100644
---- a/Makefile
-+++ b/Makefile
-@@ -47,7 +47,7 @@ include $(CORE_DEPTH)/coreconf/rules.mk
- # (7) Execute "local" rules. (OPTIONAL). #
- #######################################################################
-
--nss_build_all: build_nspr all latest
-+nss_build_all: all latest
-
- nss_clean_all: clobber_nspr clobber
-
-@@ -135,15 +135,6 @@ $(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
- --prefix='$(NSS_GYP_PREFIX)'
- endif
-
--build_nspr: $(NSPR_CONFIG_STATUS)
-- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
--
--install_nspr: build_nspr
-- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install
--
--clobber_nspr: $(NSPR_CONFIG_STATUS)
-- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
--
- build_docs:
- $(MAKE) -C $(CORE_DEPTH)/doc
-
-diff --git a/config/Makefile b/config/Makefile
-new file mode 100644
-index 0000000..600fe48
---- /dev/null
-+++ b/config/Makefile
-@@ -0,0 +1,40 @@
-+CORE_DEPTH = ..
-+DEPTH = ..
-+
-+include $(CORE_DEPTH)/coreconf/config.mk
-+
-+NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
-+PREFIX = /usr
-+
-+all: export libs
-+
-+export:
-+ # Create the nss.pc file
-+ mkdir -p $(DIST)/lib/pkgconfig
-+ sed -e "s,@prefix@,$(PREFIX)," \
-+ -e "s,@exec_prefix@,\$${prefix}," \
-+ -e "s,@libdir@,\$${prefix}/lib64," \
-+ -e "s,@includedir@,\$${prefix}/include/nss," \
-+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
-+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+ nss.pc.in > nss.pc
-+ chmod 0644 nss.pc
-+ ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
-+
-+ # Create the nss-config script
-+ mkdir -p $(DIST)/bin
-+ sed -e "s,@prefix@,$(PREFIX)," \
-+ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
-+ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+ nss-config.in > nss-config
-+ chmod 0755 nss-config
-+ ln -sf ../../../config/nss-config $(DIST)/bin
-+
-+libs:
-+
-+dummy: all export libs
-+
-diff --git a/config/nss-config.in b/config/nss-config.in
-new file mode 100644
-index 0000000..1d7c444
---- /dev/null
-+++ b/config/nss-config.in
-@@ -0,0 +1,145 @@
-+#!/bin/sh
-+
-+prefix=@prefix@
-+
-+major_version=@NSS_MAJOR_VERSION@
-+minor_version=@NSS_MINOR_VERSION@
-+patch_version=@NSS_PATCH_VERSION@
-+
-+usage()
-+{
-+ cat <<EOF
-+Usage: nss-config [OPTIONS] [LIBRARIES]
-+Options:
-+ [--prefix[=DIR]]
-+ [--exec-prefix[=DIR]]
-+ [--includedir[=DIR]]
-+ [--libdir[=DIR]]
-+ [--version]
-+ [--libs]
-+ [--cflags]
-+Dynamic Libraries:
-+ nss
-+ ssl
-+ smime
-+ nssutil
-+EOF
-+ exit $1
-+}
-+
-+if test $# -eq 0; then
-+ usage 1 1>&2
-+fi
-+
-+lib_ssl=yes
-+lib_smime=yes
-+lib_nss=yes
-+lib_nssutil=yes
-+
-+while test $# -gt 0; do
-+ case "$1" in
-+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-+ *) optarg= ;;
-+ esac
-+
-+ case $1 in
-+ --prefix=*)
-+ prefix=$optarg
-+ ;;
-+ --prefix)
-+ echo_prefix=yes
-+ ;;
-+ --exec-prefix=*)
-+ exec_prefix=$optarg
-+ ;;
-+ --exec-prefix)
-+ echo_exec_prefix=yes
-+ ;;
-+ --includedir=*)
-+ includedir=$optarg
-+ ;;
-+ --includedir)
-+ echo_includedir=yes
-+ ;;
-+ --libdir=*)
-+ libdir=$optarg
-+ ;;
-+ --libdir)
-+ echo_libdir=yes
-+ ;;
-+ --version)
-+ echo ${major_version}.${minor_version}.${patch_version}
-+ ;;
-+ --cflags)
-+ echo_cflags=yes
-+ ;;
-+ --libs)
-+ echo_libs=yes
-+ ;;
-+ ssl)
-+ lib_ssl=yes
-+ ;;
-+ smime)
-+ lib_smime=yes
-+ ;;
-+ nss)
-+ lib_nss=yes
-+ ;;
-+ nssutil)
-+ lib_nssutil=yes
-+ ;;
-+ *)
-+ usage 1 1>&2
-+ ;;
-+ esac
-+ shift
-+done
-+
-+# Set variables that may be dependent upon other variables
-+if test -z "$exec_prefix"; then
-+ exec_prefix=`pkg-config --variable=exec_prefix nss`
-+fi
-+if test -z "$includedir"; then
-+ includedir=`pkg-config --variable=includedir nss`
-+fi
-+if test -z "$libdir"; then
-+ libdir=`pkg-config --variable=libdir nss`
-+fi
-+
-+if test "$echo_prefix" = "yes"; then
-+ echo $prefix
-+fi
-+
-+if test "$echo_exec_prefix" = "yes"; then
-+ echo $exec_prefix
-+fi
-+
-+if test "$echo_includedir" = "yes"; then
-+ echo $includedir
-+fi
-+
-+if test "$echo_libdir" = "yes"; then
-+ echo $libdir
-+fi
-+
-+if test "$echo_cflags" = "yes"; then
-+ echo -I$includedir
-+fi
-+
-+if test "$echo_libs" = "yes"; then
-+ libdirs=""
-+ if test -n "$lib_ssl"; then
-+ libdirs="$libdirs -lssl${major_version}"
-+ fi
-+ if test -n "$lib_smime"; then
-+ libdirs="$libdirs -lsmime${major_version}"
-+ fi
-+ if test -n "$lib_nss"; then
-+ libdirs="$libdirs -lnss${major_version}"
-+ fi
-+ if test -n "$lib_nssutil"; then
-+ libdirs="$libdirs -lnssutil${major_version}"
-+ fi
-+ echo $libdirs
-+fi
-+
-diff --git a/config/nss.pc.in b/config/nss.pc.in
-new file mode 100644
-index 0000000..df9e2cf
---- /dev/null
-+++ b/config/nss.pc.in
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: NSS
-+Description: Network Security Services
-+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
-+Requires: nspr >= 4.8
-+Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
-+Cflags: -I${includedir}
-+
-diff --git a/manifest.mn b/manifest.mn
-index 500a5ad..87c905e 100644
---- a/manifest.mn
-+++ b/manifest.mn
-@@ -10,4 +10,4 @@ IMPORTS = nspr20/v4.8 \
-
- RELEASE = nss
-
--DIRS = coreconf lib cmd cpputil gtests
-+DIRS = coreconf lib cmd cpputil config
---
-2.13.3
-
diff --git a/dev-libs/nss/files/nss-3.36.7-fix-cms.patch b/dev-libs/nss/files/nss-3.36.7-fix-cms.patch
deleted file mode 100644
index 57b4cdaf5a5d..000000000000
--- a/dev-libs/nss/files/nss-3.36.7-fix-cms.patch
+++ /dev/null
@@ -1,531 +0,0 @@
-From d54a1f812ae23ec11d2af6ed93ba1a11609421a8 Mon Sep 17 00:00:00 2001
-From: "J.C. Jones" <jjones@mozilla.com>
-Date: Mon, 14 Jan 2019 10:35:25 -0700
-Subject: [PATCH] Bug 1507135 - Add additional null checks to CMS message
- functions r=mt
-
-Differential review: https://phabricator.services.mozilla.com//D16488
-
---HG--
-branch : NSS_3_36_BRANCH
-extra : transplant_source : 1%02%80%21%BE%C8B%D5%21%D7%0CR%00%ED%B6%EA%84a%FA%23
----
- lib/smime/cmsmessage.c | 69 ++++++++++++++++++++++++++++++++++++------
- 1 file changed, 59 insertions(+), 10 deletions(-)
-
-diff --git a/lib/smime/cmsmessage.c b/lib/smime/cmsmessage.c
-index 27d1256ec..f41a432b1 100644
---- a/lib/smime/cmsmessage.c
-+++ b/lib/smime/cmsmessage.c
-@@ -29,8 +29,9 @@ NSS_CMSMessage_Create(PLArenaPool *poolp)
-
- if (poolp == NULL) {
- poolp = PORT_NewArena(1024); /* XXX what is right value? */
-- if (poolp == NULL)
-+ if (poolp == NULL) {
- return NULL;
-+ }
- poolp_is_ours = PR_TRUE;
- }
-
-@@ -44,8 +45,9 @@ NSS_CMSMessage_Create(PLArenaPool *poolp)
- if (mark) {
- PORT_ArenaRelease(poolp, mark);
- }
-- } else
-+ } else {
- PORT_FreeArena(poolp, PR_FALSE);
-+ }
- return NULL;
- }
-
-@@ -53,8 +55,9 @@ NSS_CMSMessage_Create(PLArenaPool *poolp)
- cmsg->poolp_is_ours = poolp_is_ours;
- cmsg->refCount = 1;
-
-- if (mark)
-+ if (mark) {
- PORT_ArenaUnmark(poolp, mark);
-+ }
-
- return cmsg;
- }
-@@ -73,8 +76,13 @@ NSS_CMSMessage_SetEncodingParams(NSSCMSMessage *cmsg,
- NSSCMSGetDecryptKeyCallback decrypt_key_cb, void *decrypt_key_cb_arg,
- SECAlgorithmID **detached_digestalgs, SECItem **detached_digests)
- {
-- if (pwfn)
-+ if (cmsg == NULL) {
-+ return;
-+ }
-+ if (pwfn) {
- PK11_SetPasswordFunc(pwfn);
-+ }
-+
- cmsg->pwfn_arg = pwfn_arg;
- cmsg->decrypt_key_cb = decrypt_key_cb;
- cmsg->decrypt_key_cb_arg = decrypt_key_cb_arg;
-@@ -89,18 +97,21 @@ void
- NSS_CMSMessage_Destroy(NSSCMSMessage *cmsg)
- {
- PORT_Assert(cmsg->refCount > 0);
-- if (cmsg->refCount <= 0) /* oops */
-+ if (cmsg->refCount <= 0) { /* oops */
- return;
-+ }
-
- cmsg->refCount--; /* thread safety? */
-- if (cmsg->refCount > 0)
-+ if (cmsg->refCount > 0) {
- return;
-+ }
-
- NSS_CMSContentInfo_Destroy(&(cmsg->contentInfo));
-
- /* if poolp is not NULL, cmsg is the owner of its arena */
-- if (cmsg->poolp_is_ours)
-+ if (cmsg->poolp_is_ours) {
- PORT_FreeArena(cmsg->poolp, PR_FALSE); /* XXX clear it? */
-+ }
- }
-
- /*
-@@ -112,8 +123,9 @@ NSS_CMSMessage_Destroy(NSSCMSMessage *cmsg)
- NSSCMSMessage *
- NSS_CMSMessage_Copy(NSSCMSMessage *cmsg)
- {
-- if (cmsg == NULL)
-+ if (cmsg == NULL) {
- return NULL;
-+ }
-
- PORT_Assert(cmsg->refCount > 0);
-
-@@ -127,6 +139,10 @@ NSS_CMSMessage_Copy(NSSCMSMessage *cmsg)
- PLArenaPool *
- NSS_CMSMessage_GetArena(NSSCMSMessage *cmsg)
- {
-+ if (cmsg == NULL) {
-+ return NULL;
-+ }
-+
- return cmsg->poolp;
- }
-
-@@ -136,6 +152,10 @@ NSS_CMSMessage_GetArena(NSSCMSMessage *cmsg)
- NSSCMSContentInfo *
- NSS_CMSMessage_GetContentInfo(NSSCMSMessage *cmsg)
- {
-+ if (cmsg == NULL) {
-+ return NULL;
-+ }
-+
- return &(cmsg->contentInfo);
- }
-
-@@ -147,6 +167,10 @@ NSS_CMSMessage_GetContentInfo(NSSCMSMessage *cmsg)
- SECItem *
- NSS_CMSMessage_GetContent(NSSCMSMessage *cmsg)
- {
-+ if (cmsg == NULL) {
-+ return NULL;
-+ }
-+
- /* this is a shortcut */
- NSSCMSContentInfo *cinfo = NSS_CMSMessage_GetContentInfo(cmsg);
- SECItem *pItem = NSS_CMSContentInfo_GetInnerContent(cinfo);
-@@ -164,6 +188,10 @@ NSS_CMSMessage_ContentLevelCount(NSSCMSMessage *cmsg)
- int count = 0;
- NSSCMSContentInfo *cinfo;
-
-+ if (cmsg == NULL) {
-+ return 0;
-+ }
-+
- /* walk down the chain of contentinfos */
- for (cinfo = &(cmsg->contentInfo); cinfo != NULL;) {
- count++;
-@@ -183,6 +211,10 @@ NSS_CMSMessage_ContentLevel(NSSCMSMessage *cmsg, int n)
- int count = 0;
- NSSCMSContentInfo *cinfo;
-
-+ if (cmsg == NULL) {
-+ return NULL;
-+ }
-+
- /* walk down the chain of contentinfos */
- for (cinfo = &(cmsg->contentInfo); cinfo != NULL && count < n;
- cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
-@@ -200,6 +232,10 @@ NSS_CMSMessage_ContainsCertsOrCrls(NSSCMSMessage *cmsg)
- {
- NSSCMSContentInfo *cinfo;
-
-+ if (cmsg == NULL) {
-+ return PR_FALSE;
-+ }
-+
- /* descend into CMS message */
- for (cinfo = &(cmsg->contentInfo); cinfo != NULL;
- cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
-@@ -221,6 +257,10 @@ NSS_CMSMessage_IsEncrypted(NSSCMSMessage *cmsg)
- {
- NSSCMSContentInfo *cinfo;
-
-+ if (cmsg == NULL) {
-+ return PR_FALSE;
-+ }
-+
- /* walk down the chain of contentinfos */
- for (cinfo = &(cmsg->contentInfo); cinfo != NULL;
- cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
-@@ -251,13 +291,21 @@ NSS_CMSMessage_IsSigned(NSSCMSMessage *cmsg)
- {
- NSSCMSContentInfo *cinfo;
-
-+ if (cmsg == NULL) {
-+ return PR_FALSE;
-+ }
-+
- /* walk down the chain of contentinfos */
- for (cinfo = &(cmsg->contentInfo); cinfo != NULL;
- cinfo = NSS_CMSContentInfo_GetChildContentInfo(cinfo)) {
- switch (NSS_CMSContentInfo_GetContentTypeTag(cinfo)) {
- case SEC_OID_PKCS7_SIGNED_DATA:
-- if (!NSS_CMSArray_IsEmpty((void **)cinfo->content.signedData->signerInfos))
-+ if (cinfo->content.signedData == NULL) {
-+ return PR_FALSE;
-+ }
-+ if (!NSS_CMSArray_IsEmpty((void **)cinfo->content.signedData->signerInfos)) {
- return PR_TRUE;
-+ }
- break;
- default:
- /* callback here for generic wrappers? */
-@@ -278,8 +326,9 @@ NSS_CMSMessage_IsContentEmpty(NSSCMSMessage *cmsg, unsigned int minLen)
- {
- SECItem *item = NULL;
-
-- if (cmsg == NULL)
-+ if (cmsg == NULL) {
- return PR_TRUE;
-+ }
-
- item = NSS_CMSContentInfo_GetContent(NSS_CMSMessage_GetContentInfo(cmsg));
-
-From fa26771e9515cc82c941fcef689dd797a3e308c3 Mon Sep 17 00:00:00 2001
-From: "J.C. Jones" <jjones@mozilla.com>
-Date: Fri, 11 Jan 2019 22:33:16 -0700
-Subject: [PATCH] Bug 1507174 - Add additional null checks to other CMS
- functions r=mt
-
-Differential review: https://phabricator.services.mozilla.com//D16383
-
---HG--
-branch : NSS_3_36_BRANCH
-extra : transplant_source : %B5%A8su%96%5B%BE%F9%CD%93%E0%EE%93a4c%1BYp%09
----
- lib/smime/cmscinfo.c | 92 ++++++++++++++++++++++++++++++++++++------
- lib/smime/cmsdigdata.c | 4 +-
- lib/smime/cmsencdata.c | 4 +-
- lib/smime/cmsenvdata.c | 5 +++
- lib/smime/cmsmessage.c | 3 ++
- lib/smime/cmsudf.c | 2 +-
- 6 files changed, 95 insertions(+), 15 deletions(-)
-
-diff --git a/lib/smime/cmscinfo.c b/lib/smime/cmscinfo.c
-index 08db662f8..453ccaada 100644
---- a/lib/smime/cmscinfo.c
-+++ b/lib/smime/cmscinfo.c
-@@ -51,6 +51,10 @@ NSS_CMSContentInfo_Destroy(NSSCMSContentInfo *cinfo)
- {
- SECOidTag kind;
-
-+ if (cinfo == NULL) {
-+ return;
-+ }
-+
- kind = NSS_CMSContentInfo_GetContentTypeTag(cinfo);
- switch (kind) {
- case SEC_OID_PKCS7_ENVELOPED_DATA:
-@@ -86,6 +90,11 @@ NSSCMSContentInfo *
- NSS_CMSContentInfo_GetChildContentInfo(NSSCMSContentInfo *cinfo)
- {
- NSSCMSContentInfo *ccinfo = NULL;
-+
-+ if (cinfo == NULL) {
-+ return NULL;
-+ }
-+
- SECOidTag tag = NSS_CMSContentInfo_GetContentTypeTag(cinfo);
- switch (tag) {
- case SEC_OID_PKCS7_SIGNED_DATA:
-@@ -127,6 +136,9 @@ SECStatus
- NSS_CMSContentInfo_SetDontStream(NSSCMSContentInfo *cinfo, PRBool dontStream)
- {
- SECStatus rv;
-+ if (cinfo == NULL) {
-+ return SECFailure;
-+ }
-
- rv = NSS_CMSContentInfo_Private_Init(cinfo);
- if (rv != SECSuccess) {
-@@ -145,15 +157,20 @@ NSS_CMSContentInfo_SetContent(NSSCMSMessage *cmsg, NSSCMSContentInfo *cinfo,
- SECOidTag type, void *ptr)
- {
- SECStatus rv;
-+ if (cinfo == NULL || cmsg == NULL) {
-+ return SECFailure;
-+ }
-
- cinfo->contentTypeTag = SECOID_FindOIDByTag(type);
-- if (cinfo->contentTypeTag == NULL)
-+ if (cinfo->contentTypeTag == NULL) {
- return SECFailure;
-+ }
-
- /* do not copy the oid, just create a reference */
- rv = SECITEM_CopyItem(cmsg->poolp, &(cinfo->contentType), &(cinfo->contentTypeTag->oid));
-- if (rv != SECSuccess)
-+ if (rv != SECSuccess) {
- return SECFailure;
-+ }
-
- cinfo->content.pointer = ptr;
-
-@@ -185,8 +202,9 @@ SECStatus
- NSS_CMSContentInfo_SetContent_Data(NSSCMSMessage *cmsg, NSSCMSContentInfo *cinfo,
- SECItem *data, PRBool detached)
- {
-- if (NSS_CMSContentInfo_SetContent(cmsg, cinfo, SEC_OID_PKCS7_DATA, (void *)data) != SECSuccess)
-+ if (NSS_CMSContentInfo_SetContent(cmsg, cinfo, SEC_OID_PKCS7_DATA, (void *)data) != SECSuccess) {
- return SECFailure;
-+ }
- if (detached) {
- cinfo->rawContent = NULL;
- }
-@@ -230,6 +248,10 @@ NSS_CMSContentInfo_SetContent_EncryptedData(NSSCMSMessage *cmsg, NSSCMSContentIn
- void *
- NSS_CMSContentInfo_GetContent(NSSCMSContentInfo *cinfo)
- {
-+ if (cinfo == NULL) {
-+ return NULL;
-+ }
-+
- SECOidTag tag = cinfo->contentTypeTag
- ? cinfo->contentTypeTag->offset
- : SEC_OID_UNKNOWN;
-@@ -260,6 +282,10 @@ NSS_CMSContentInfo_GetInnerContent(NSSCMSContentInfo *cinfo)
- SECOidTag tag;
- SECItem *pItem = NULL;
-
-+ if (cinfo == NULL) {
-+ return NULL;
-+ }
-+
- tag = NSS_CMSContentInfo_GetContentTypeTag(cinfo);
- if (NSS_CMSType_IsData(tag)) {
- pItem = cinfo->content.data;
-@@ -282,6 +308,10 @@ NSS_CMSContentInfo_GetInnerContent(NSSCMSContentInfo *cinfo)
- SECOidTag
- NSS_CMSContentInfo_GetContentTypeTag(NSSCMSContentInfo *cinfo)
- {
-+ if (cinfo == NULL) {
-+ return SEC_OID_UNKNOWN;
-+ }
-+
- if (cinfo->contentTypeTag == NULL)
- cinfo->contentTypeTag = SECOID_FindOID(&(cinfo->contentType));
-
-@@ -294,11 +324,17 @@ NSS_CMSContentInfo_GetContentTypeTag(NSSCMSContentInfo *cinfo)
- SECItem *
- NSS_CMSContentInfo_GetContentTypeOID(NSSCMSContentInfo *cinfo)
- {
-- if (cinfo->contentTypeTag == NULL)
-+ if (cinfo == NULL) {
-+ return NULL;
-+ }
-+
-+ if (cinfo->contentTypeTag == NULL) {
- cinfo->contentTypeTag = SECOID_FindOID(&(cinfo->contentType));
-+ }
-
-- if (cinfo->contentTypeTag == NULL)
-+ if (cinfo->contentTypeTag == NULL) {
- return NULL;
-+ }
-
- return &(cinfo->contentTypeTag->oid);
- }
-@@ -310,8 +346,13 @@ NSS_CMSContentInfo_GetContentTypeOID(NSSCMSContentInfo *cinfo)
- SECOidTag
- NSS_CMSContentInfo_GetContentEncAlgTag(NSSCMSContentInfo *cinfo)
- {
-- if (cinfo->contentEncAlgTag == SEC_OID_UNKNOWN)
-+ if (cinfo == NULL) {
-+ return SEC_OID_UNKNOWN;
-+ }
-+
-+ if (cinfo->contentEncAlgTag == SEC_OID_UNKNOWN) {
- cinfo->contentEncAlgTag = SECOID_GetAlgorithmTag(&(cinfo->contentEncAlg));
-+ }
-
- return cinfo->contentEncAlgTag;
- }
-@@ -322,6 +363,10 @@ NSS_CMSContentInfo_GetContentEncAlgTag(NSSCMSContentInfo *cinfo)
- SECAlgorithmID *
- NSS_CMSContentInfo_GetContentEncAlg(NSSCMSContentInfo *cinfo)
- {
-+ if (cinfo == NULL) {
-+ return NULL;
-+ }
-+
- return &(cinfo->contentEncAlg);
- }
-
-@@ -330,10 +375,14 @@ NSS_CMSContentInfo_SetContentEncAlg(PLArenaPool *poolp, NSSCMSContentInfo *cinfo
- SECOidTag bulkalgtag, SECItem *parameters, int keysize)
- {
- SECStatus rv;
-+ if (cinfo == NULL) {
-+ return SECFailure;
-+ }
-
- rv = SECOID_SetAlgorithmID(poolp, &(cinfo->contentEncAlg), bulkalgtag, parameters);
-- if (rv != SECSuccess)
-+ if (rv != SECSuccess) {
- return SECFailure;
-+ }
- cinfo->keysize = keysize;
- return SECSuccess;
- }
-@@ -343,27 +392,42 @@ NSS_CMSContentInfo_SetContentEncAlgID(PLArenaPool *poolp, NSSCMSContentInfo *cin
- SECAlgorithmID *algid, int keysize)
- {
- SECStatus rv;
-+ if (cinfo == NULL) {
-+ return SECFailure;
-+ }
-
- rv = SECOID_CopyAlgorithmID(poolp, &(cinfo->contentEncAlg), algid);
-- if (rv != SECSuccess)
-+ if (rv != SECSuccess) {
- return SECFailure;
-- if (keysize >= 0)
-+ }
-+ if (keysize >= 0) {
- cinfo->keysize = keysize;
-+ }
- return SECSuccess;
- }
-
- void
- NSS_CMSContentInfo_SetBulkKey(NSSCMSContentInfo *cinfo, PK11SymKey *bulkkey)
- {
-- cinfo->bulkkey = PK11_ReferenceSymKey(bulkkey);
-- cinfo->keysize = PK11_GetKeyStrength(cinfo->bulkkey, &(cinfo->contentEncAlg));
-+ if (cinfo == NULL) {
-+ return;
-+ }
-+
-+ if (bulkkey == NULL) {
-+ cinfo->bulkkey = NULL;
-+ cinfo->keysize = 0;
-+ } else {
-+ cinfo->bulkkey = PK11_ReferenceSymKey(bulkkey);
-+ cinfo->keysize = PK11_GetKeyStrength(cinfo->bulkkey, &(cinfo->contentEncAlg));
-+ }
- }
-
- PK11SymKey *
- NSS_CMSContentInfo_GetBulkKey(NSSCMSContentInfo *cinfo)
- {
-- if (cinfo->bulkkey == NULL)
-+ if (cinfo == NULL || cinfo->bulkkey == NULL) {
- return NULL;
-+ }
-
- return PK11_ReferenceSymKey(cinfo->bulkkey);
- }
-@@ -371,5 +435,9 @@ NSS_CMSContentInfo_GetBulkKey(NSSCMSContentInfo *cinfo)
- int
- NSS_CMSContentInfo_GetBulkKeySize(NSSCMSContentInfo *cinfo)
- {
-+ if (cinfo == NULL) {
-+ return 0;
-+ }
-+
- return cinfo->keysize;
- }
-diff --git a/lib/smime/cmsdigdata.c b/lib/smime/cmsdigdata.c
-index 9ea22702e..a249686bb 100644
---- a/lib/smime/cmsdigdata.c
-+++ b/lib/smime/cmsdigdata.c
-@@ -56,7 +56,9 @@ void
- NSS_CMSDigestedData_Destroy(NSSCMSDigestedData *digd)
- {
- /* everything's in a pool, so don't worry about the storage */
-- NSS_CMSContentInfo_Destroy(&(digd->contentInfo));
-+ if (digd != NULL) {
-+ NSS_CMSContentInfo_Destroy(&(digd->contentInfo));
-+ }
- return;
- }
-
-diff --git a/lib/smime/cmsencdata.c b/lib/smime/cmsencdata.c
-index c3a4549ad..8b520b439 100644
---- a/lib/smime/cmsencdata.c
-+++ b/lib/smime/cmsencdata.c
-@@ -87,7 +87,9 @@ void
- NSS_CMSEncryptedData_Destroy(NSSCMSEncryptedData *encd)
- {
- /* everything's in a pool, so don't worry about the storage */
-- NSS_CMSContentInfo_Destroy(&(encd->contentInfo));
-+ if (encd != NULL) {
-+ NSS_CMSContentInfo_Destroy(&(encd->contentInfo));
-+ }
- return;
- }
-
-diff --git a/lib/smime/cmsenvdata.c b/lib/smime/cmsenvdata.c
-index f2c8e171d..9bc77be8b 100644
---- a/lib/smime/cmsenvdata.c
-+++ b/lib/smime/cmsenvdata.c
-@@ -144,6 +144,11 @@ NSS_CMSEnvelopedData_Encode_BeforeStart(NSSCMSEnvelopedData *envd)
- poolp = envd->cmsg->poolp;
- cinfo = &(envd->contentInfo);
-
-+ if (cinfo == NULL) {
-+ PORT_SetError(SEC_ERROR_BAD_DATA);
-+ goto loser;
-+ }
-+
- recipientinfos = envd->recipientInfos;
- if (recipientinfos == NULL) {
- PORT_SetError(SEC_ERROR_BAD_DATA);
-diff --git a/lib/smime/cmsmessage.c b/lib/smime/cmsmessage.c
-index f41a432b1..366b71aba 100644
---- a/lib/smime/cmsmessage.c
-+++ b/lib/smime/cmsmessage.c
-@@ -96,6 +96,9 @@ NSS_CMSMessage_SetEncodingParams(NSSCMSMessage *cmsg,
- void
- NSS_CMSMessage_Destroy(NSSCMSMessage *cmsg)
- {
-+ if (cmsg == NULL)
-+ return;
-+
- PORT_Assert(cmsg->refCount > 0);
- if (cmsg->refCount <= 0) { /* oops */
- return;
-diff --git a/lib/smime/cmsudf.c b/lib/smime/cmsudf.c
-index 3ef4268d4..5c8a81e6d 100644
---- a/lib/smime/cmsudf.c
-+++ b/lib/smime/cmsudf.c
-@@ -239,7 +239,7 @@ NSS_CMSGenericWrapperData_Destroy(SECOidTag type, NSSCMSGenericWrapperData *gd)
- {
- const nsscmstypeInfo *typeInfo = nss_cmstype_lookup(type);
-
-- if (typeInfo && typeInfo->destroy) {
-+ if (typeInfo && (typeInfo->destroy) && (gd != NULL)) {
- (*typeInfo->destroy)(gd);
- }
- }
diff --git a/dev-libs/nss/files/nss-3.53-gentoo-fixups.patch b/dev-libs/nss/files/nss-3.53-gentoo-fixups.patch
new file mode 100644
index 000000000000..2d8bdb6f5a31
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.53-gentoo-fixups.patch
@@ -0,0 +1,290 @@
+From 1b3c48499abb000d708abe5f05413c1f4155e086 Mon Sep 17 00:00:00 2001
+From: Jory Pratt <anarchy@gentoo.org>
+Date: Mon, 8 Jun 2020 12:22:29 -0500
+Subject: [PATCH] Add pkg-config and nss-config for Gentoo
+
+---
+ Makefile | 15 +----
+ config/Makefile | 40 ++++++++++++
+ config/nss-config.in | 145 +++++++++++++++++++++++++++++++++++++++++++
+ config/nss.pc.in | 12 ++++
+ manifest.mn | 2 +-
+ 5 files changed, 200 insertions(+), 14 deletions(-)
+ create mode 100644 config/Makefile
+ create mode 100644 config/nss-config.in
+ create mode 100644 config/nss.pc.in
+
+diff --git a/Makefile b/Makefile
+index eb4ed1a..f979d90 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,6 +4,8 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
++default: nss_build_all
++
+ #######################################################################
+ # (1) Include initial platform-independent assignments (MANDATORY). #
+ #######################################################################
+@@ -48,12 +50,9 @@ include $(CORE_DEPTH)/coreconf/rules.mk
+ #######################################################################
+
+ nss_build_all:
+- $(MAKE) build_nspr
+ $(MAKE) all
+- $(MAKE) latest
+
+ nss_clean_all:
+- $(MAKE) clobber_nspr
+ $(MAKE) clobber
+
+ NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/config.status
+@@ -138,16 +137,6 @@ $(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
+ --prefix='$(NSS_GYP_PREFIX)'
+ endif
+
+-build_nspr: $(NSPR_CONFIG_STATUS)
+- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
+- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/pr/tests
+-
+-install_nspr: build_nspr
+- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install
+-
+-clobber_nspr: $(NSPR_CONFIG_STATUS)
+- $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
+-
+ build_docs:
+ $(MAKE) -C $(CORE_DEPTH)/doc
+
+diff --git a/config/Makefile b/config/Makefile
+new file mode 100644
+index 0000000..aaf1991
+--- /dev/null
++++ b/config/Makefile
+@@ -0,0 +1,40 @@
++CORE_DEPTH = ..
++DEPTH = ..
++
++include $(CORE_DEPTH)/coreconf/config.mk
++
++NSS_MAJOR_VERSION = $(shell grep -F "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}')
++NSS_MINOR_VERSION = $(shell grep -F "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}')
++NSS_PATCH_VERSION = $(shell grep -F "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}')
++PREFIX = /usr
++
++all: export libs
++
++export:
++ # Create the nss.pc file
++ mkdir -p $(DIST)/lib/pkgconfig
++ sed -e "s,@prefix@,$(PREFIX)," \
++ -e "s,@exec_prefix@,\$${prefix}," \
++ -e "s,@libdir@,\$${prefix}/lib64," \
++ -e "s,@includedir@,\$${prefix}/include/nss," \
++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++ nss.pc.in > nss.pc
++ chmod 0644 nss.pc
++ ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
++
++ # Create the nss-config script
++ mkdir -p $(DIST)/bin
++ sed -e "s,@prefix@,$(PREFIX)," \
++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
++ nss-config.in > nss-config
++ chmod 0755 nss-config
++ ln -sf ../../../config/nss-config $(DIST)/bin
++
++libs:
++
++dummy: all export libs
++
+diff --git a/config/nss-config.in b/config/nss-config.in
+new file mode 100644
+index 0000000..3a957b8
+--- /dev/null
++++ b/config/nss-config.in
+@@ -0,0 +1,145 @@
++#!/bin/sh
++
++prefix=@prefix@
++
++major_version=@NSS_MAJOR_VERSION@
++minor_version=@NSS_MINOR_VERSION@
++patch_version=@NSS_PATCH_VERSION@
++
++usage()
++{
++ cat <<EOF
++Usage: nss-config [OPTIONS] [LIBRARIES]
++Options:
++ [--prefix[=DIR]]
++ [--exec-prefix[=DIR]]
++ [--includedir[=DIR]]
++ [--libdir[=DIR]]
++ [--version]
++ [--libs]
++ [--cflags]
++Dynamic Libraries:
++ nss
++ ssl
++ smime
++ nssutil
++EOF
++ exit $1
++}
++
++if test $# -eq 0; then
++ usage 1 1>&2
++fi
++
++lib_ssl=yes
++lib_smime=yes
++lib_nss=yes
++lib_nssutil=yes
++
++while test $# -gt 0; do
++ case "$1" in
++ -*=*) optarg=$(echo "$1" | sed 's/[-_a-zA-Z0-9]*=//') ;;
++ *) optarg= ;;
++ esac
++
++ case $1 in
++ --prefix=*)
++ prefix=${optarg}
++ ;;
++ --prefix)
++ echo_prefix=yes
++ ;;
++ --exec-prefix=*)
++ exec_prefix=${optarg}
++ ;;
++ --exec-prefix)
++ echo_exec_prefix=yes
++ ;;
++ --includedir=*)
++ includedir=${optarg}
++ ;;
++ --includedir)
++ echo_includedir=yes
++ ;;
++ --libdir=*)
++ libdir=${optarg}
++ ;;
++ --libdir)
++ echo_libdir=yes
++ ;;
++ --version)
++ echo ${major_version}.${minor_version}.${patch_version}
++ ;;
++ --cflags)
++ echo_cflags=yes
++ ;;
++ --libs)
++ echo_libs=yes
++ ;;
++ ssl)
++ lib_ssl=yes
++ ;;
++ smime)
++ lib_smime=yes
++ ;;
++ nss)
++ lib_nss=yes
++ ;;
++ nssutil)
++ lib_nssutil=yes
++ ;;
++ *)
++ usage 1 1>&2
++ ;;
++ esac
++ shift
++done
++
++# Set variables that may be dependent upon other variables
++if test -z "${exec_prefix}"; then
++ exec_prefix=$(pkg-config --variable=exec_prefix nss)
++fi
++if test -z "${includedir}"; then
++ includedir=$(pkg-config --variable=includedir nss)
++fi
++if test -z "${libdir}"; then
++ libdir=$(pkg-config --variable=libdir nss)
++fi
++
++if test "${echo_prefix}" = "yes"; then
++ echo ${prefix}
++fi
++
++if test "${echo_exec_prefix}" = "yes"; then
++ echo ${exec_prefix}
++fi
++
++if test "${echo_includedir}" = "yes"; then
++ echo ${includedir}
++fi
++
++if test "${echo_libdir}" = "yes"; then
++ echo ${libdir}
++fi
++
++if test "${echo_cflags}" = "yes"; then
++ echo -I${includedir}
++fi
++
++if test "${echo_libs}" = "yes"; then
++ libdirs=""
++ if test -n "${lib_ssl}"; then
++ libdirs="${libdirs} -lssl${major_version}"
++ fi
++ if test -n "${lib_smime}"; then
++ libdirs="${libdirs} -lsmime${major_version}"
++ fi
++ if test -n "${lib_nss}"; then
++ libdirs="${libdirs} -lnss${major_version}"
++ fi
++ if test -n "${lib_nssutil}"; then
++ libdirs="${libdirs} -lnssutil${major_version}"
++ fi
++ echo ${libdirs}
++fi
++
+diff --git a/config/nss.pc.in b/config/nss.pc.in
+new file mode 100644
+index 0000000..03f1e39
+--- /dev/null
++++ b/config/nss.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: NSS
++Description: Network Security Services
++Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
++Requires: nspr >= 4.25
++Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
++Cflags: -I${includedir}
++
+diff --git a/manifest.mn b/manifest.mn
+index dada8ab..72dc9b3 100644
+--- a/manifest.mn
++++ b/manifest.mn
+@@ -10,7 +10,7 @@ IMPORTS = nspr20/v4.8 \
+
+ RELEASE = nss
+
+-DIRS = coreconf lib cmd cpputil gtests
++DIRS = coreconf lib cmd cpputil config
+
+ lib: coreconf
+ cmd: lib
+--
+2.26.2
+
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-backport-D180718.patch b/dev-libs/nss/files/nss-3.90.2-backport-D180718.patch
new file mode 100644
index 000000000000..102ed5227488
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90.2-backport-D180718.patch
@@ -0,0 +1,35 @@
+https://github.com/nss-dev/nss/commit/6ab861ba652985ce5985a3fb1ddc87a15aac5027
+https://bugzilla.mozilla.org/show_bug.cgi?id=1835357
+https://phabricator.services.mozilla.com/D180718
+
+From 6ab861ba652985ce5985a3fb1ddc87a15aac5027 Mon Sep 17 00:00:00 2001
+From: Robert Relyea <rrelyea@redhat.com>
+Date: Mon, 12 Jun 2023 11:18:03 -0700
+Subject: [PATCH] Bug 1835357 dbtests.sh failure in "certutil dump keys with
+ explicit default trust flags" r=jschanck
+
+ Fix the time value so we don't fail on slower or overloaded platforms.
+
+ bob
+
+Differential Revision: https://phabricator.services.mozilla.com/D180718
+
+--HG--
+extra : rebase_source : 3fb50de29dbf5f635cae10e962eb995c25cd108a
+---
+ tests/dbtests/dbtests.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/dbtests/dbtests.sh b/tests/dbtests/dbtests.sh
+index b0b195d4d0..c82ea85caf 100755
+--- a/tests/dbtests/dbtests.sh
++++ b/tests/dbtests/dbtests.sh
+@@ -366,7 +366,7 @@ dbtest_main()
+ RARRAY=($dtime)
+ TIMEARRAY=(${RARRAY[1]//./ })
+ echo "${TIMEARRAY[0]} seconds"
+- test ${TIMEARRAY[0]} -lt 2
++ test ${TIMEARRAY[0]} -lt 5
+ ret=$?
+ html_msg ${ret} 0 "certutil dump keys with explicit default trust flags"
+ fi
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 009a09732ad8..ed59ce5ad9ec 100644
--- a/dev-libs/nss/metadata.xml
+++ b/dev-libs/nss/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>mozilla@gentoo.org</email>
@@ -7,12 +7,12 @@
</maintainer>
<use>
<flag name="cacert">
- Include root/class3 certs from CAcert (http://www.cacert.org/)
+ Include root/class3 certs from CAcert (https://www.cacert.org/)
</flag>
- <flag name="nss-pem">Add support for libnsspem</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.100.ebuild b/dev-libs/nss/nss-3.100.ebuild
new file mode 100644
index 000000000000..0977ca4223fb
--- /dev/null
+++ b/dev-libs/nss/nss-3.100.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/nss/nss-3.40.1-r1.ebuild b/dev-libs/nss/nss-3.40.1-r1.ebuild
deleted file mode 100644
index 5200c1dcab7d..000000000000
--- a/dev-libs/nss/nss-3.40.1-r1.ebuild
+++ /dev/null
@@ -1,373 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
-
-NSPR_VER="4.16"
-RTM_NAME="NSS_${PV//./_}_RTM"
-# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
-PEM_GIT_REV="429b0222759d8ad8e6dcd29e62875ae3efd69116"
-PEM_P="${PN}-pem-20160329"
-
-DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
-HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
-SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
- cacert? ( https://dev.gentoo.org/~axs/distfiles/${PN}-cacert-class1-class3.patch )
- nss-pem? ( https://dev.gentoo.org/~polynomial-c/${PEM_P}.tar.xz )"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="cacert +nss-pem utils"
-CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
-DEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- ${CDEPEND}"
-RDEPEND=">=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- ${CDEPEND}
-"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${P}/${PN}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nss-config
-)
-
-PATCHES=(
- # Custom changes for gentoo
- "${FILESDIR}/${PN}-3.32-gentoo-fixups.patch"
- "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
- # fix for bugs ported forward from 3.36.7
- "${FILESDIR}/${PN}-3.36.7-fix-cms.patch"
-)
-
-src_unpack() {
- unpack ${A}
- if use nss-pem ; then
- mv "${PN}"/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
- fi
-}
-
-src_prepare() {
- if use nss-pem ; then
- PATCHES+=(
- "${FILESDIR}/${PN}-3.21-enable-pem.patch"
- )
- fi
- if use cacert ; then #521462
- PATCHES+=(
- "${DISTDIR}/${PN}-cacert-class1-class3.patch"
- )
- fi
-
- default
-
- 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
- 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
-
- # Do not let `uname` be used.
- if use kernel_linux ; then
- makeargs+=(
- OS_TARGET=Linux
- OS_RELEASE=2.6
- OS_TEST="$(nssarch)"
- )
- fi
-
- export NSS_ENABLE_WERROR=0 #567158
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSDISTMODE=copy
- export NSS_ENABLE_ECC=1
- export FREEBL_NO_DEPEND=1
- export ASFLAGS=""
-
- 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}
- 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}.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.44.1.ebuild b/dev-libs/nss/nss-3.44.1.ebuild
deleted file mode 100644
index bd22251e6050..000000000000
--- a/dev-libs/nss/nss-3.44.1.ebuild
+++ /dev/null
@@ -1,373 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
-
-NSPR_VER="4.16"
-RTM_NAME="NSS_${PV//./_}_RTM"
-# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
-PEM_GIT_REV="429b0222759d8ad8e6dcd29e62875ae3efd69116"
-PEM_P="${PN}-pem-20160329"
-
-DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
-HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
-SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
- cacert? ( https://dev.gentoo.org/~axs/distfiles/${PN}-cacert-class1-class3.patch )
- nss-pem? ( https://dev.gentoo.org/~polynomial-c/${PEM_P}.tar.xz )"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="cacert +nss-pem utils"
-CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
-DEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- ${CDEPEND}"
-RDEPEND=">=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- ${CDEPEND}
-"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${P}/${PN}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nss-config
-)
-
-PATCHES=(
- # Custom changes for gentoo
- "${FILESDIR}/${PN}-3.32-gentoo-fixups.patch"
- "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
-)
-
-src_unpack() {
- unpack ${A}
- if use nss-pem ; then
- mv "${PN}"/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
- fi
-}
-
-src_prepare() {
- if use nss-pem ; then
- PATCHES+=(
- "${FILESDIR}/${PN}-3.21-enable-pem.patch"
- )
- fi
- if use cacert ; then #521462
- PATCHES+=(
- "${DISTDIR}/${PN}-cacert-class1-class3.patch"
- )
- fi
-
- default
-
- 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
- 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
-
- # Do not let `uname` be used.
- if use kernel_linux ; then
- makeargs+=(
- OS_TARGET=Linux
- OS_RELEASE=2.6
- OS_TEST="$(nssarch)"
- )
- fi
-
- export NSS_ENABLE_WERROR=0 #567158
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSDISTMODE=copy
- export NSS_ENABLE_ECC=1
- export FREEBL_NO_DEPEND=1
- export FREEBL_LOWHASH=1
- export NSS_SEED_ONLY_DEV_URANDOM=1
- export ASFLAGS=""
-
- 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}
- 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}.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.45.ebuild b/dev-libs/nss/nss-3.45.ebuild
deleted file mode 100644
index bd22251e6050..000000000000
--- a/dev-libs/nss/nss-3.45.ebuild
+++ /dev/null
@@ -1,373 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
-
-NSPR_VER="4.16"
-RTM_NAME="NSS_${PV//./_}_RTM"
-# Rev of https://git.fedorahosted.org/cgit/nss-pem.git
-PEM_GIT_REV="429b0222759d8ad8e6dcd29e62875ae3efd69116"
-PEM_P="${PN}-pem-20160329"
-
-DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
-HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
-SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
- cacert? ( https://dev.gentoo.org/~axs/distfiles/${PN}-cacert-class1-class3.patch )
- nss-pem? ( https://dev.gentoo.org/~polynomial-c/${PEM_P}.tar.xz )"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="cacert +nss-pem utils"
-CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"
-DEPEND=">=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- ${CDEPEND}"
-RDEPEND=">=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
- ${CDEPEND}
-"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${P}/${PN}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nss-config
-)
-
-PATCHES=(
- # Custom changes for gentoo
- "${FILESDIR}/${PN}-3.32-gentoo-fixups.patch"
- "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
-)
-
-src_unpack() {
- unpack ${A}
- if use nss-pem ; then
- mv "${PN}"/lib/ckfw/pem/ "${S}"/lib/ckfw/ || die
- fi
-}
-
-src_prepare() {
- if use nss-pem ; then
- PATCHES+=(
- "${FILESDIR}/${PN}-3.21-enable-pem.patch"
- )
- fi
- if use cacert ; then #521462
- PATCHES+=(
- "${DISTDIR}/${PN}-cacert-class1-class3.patch"
- )
- fi
-
- default
-
- 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
- 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
-
- # Do not let `uname` be used.
- if use kernel_linux ; then
- makeargs+=(
- OS_TARGET=Linux
- OS_RELEASE=2.6
- OS_TEST="$(nssarch)"
- )
- fi
-
- export NSS_ENABLE_WERROR=0 #567158
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSDISTMODE=copy
- export NSS_ENABLE_ECC=1
- export FREEBL_NO_DEPEND=1
- export FREEBL_LOWHASH=1
- export NSS_SEED_ONLY_DEV_URANDOM=1
- export ASFLAGS=""
-
- 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}
- 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}.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..2e45d9109df5
--- /dev/null
+++ b/dev-libs/nss/nss-3.90.2-r1.ebuild
@@ -0,0 +1,421 @@
+# 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
+ "${FILESDIR}/${PN}-3.90.2-backport-D180718.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 40c1fd70c042..64fd3e8bb3c6 100644
--- a/dev-libs/nsync/Manifest
+++ b/dev-libs/nsync/Manifest
@@ -1 +1,2 @@
-DIST nsync-1.20.1.tar.gz 154106 BLAKE2B 94eeb647de2ca58a3f3837119ef30805f0a72a9d12c19aa705f815955723ddefa1de4d2a3fe5fd0b227ffdd70d5208ab9a300e40b2aff2591a1cef28c79b450a SHA512 d7b9be1052b7d11d896d3fade822f7b1eebbd0a772c9f6e2cd827921f1adc29ed18f7587ebc7d29623d230be384a7a2356c1da3abd53567fc934979d89c70e0c
+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 2ab0dafc343e..c987c5582dd3 100644
--- a/dev-libs/nsync/metadata.xml
+++ b/dev-libs/nsync/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>perfinion@gentoo.org</email>
<name>Jason Zaman</name>
</maintainer>
- <longdescription lang="en">
- nsync is a C library that exports various synchronization primitives, such as mutexes
- </longdescription>
+ <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 cd34bebab49d..000000000000
--- a/dev-libs/nsync/nsync-1.20.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib
-
-DESCRIPTION="A 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"
-
-DOCS=( README )
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DNSYNC_ENABLE_TESTS=$(usex test)
- )
-
- cmake-utils_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 c4a37d6c5ded..e07916ee1821 100644
--- a/dev-libs/ntl/Manifest
+++ b/dev-libs/ntl/Manifest
@@ -1,3 +1 @@
-DIST ntl-10.5.0.tar.gz 1278729 BLAKE2B a061ac4e0989ea671c51a22904851e5b7919f3a7e55624048c576d6f48d2ba3d6f88baa6c656c9ef43ad2145a03df9d891372f8462a1c5b6b53bc1d05301d9f6 SHA512 b299dfc29005079470972c2a9ca02acd0ebdbc31ff8923df02f3627dbc66daa0f527226972cef032e1e488c4272554634a96456e94653fdf8b01356160319aa0
-DIST ntl-9.3.0.tar.gz 888710 BLAKE2B 153a6f1bd11f27ef2944e4df5e941c4ddbb1783449e2a72aa1a272fcf169997b01646cfac63ac3af5a85a7f9a4db99a664503615d323ba54784849e764316b0c SHA512 dfb4ac7a66aaddcf5d0d0c9fcaff253b0196a9d9f727788127dd18e131528fe60dedf8bfb864503225fc5796987aec9c7019b74e0fc12cd12c20aa33a9cf9d7d
-DIST ntl-9.6.4.tar.gz 915256 BLAKE2B 78d8415bb1fe858881f997383ca9adcc8af2499251fc1b2e8e2211a8c7b8edc249ef28f3705e302d438c19cc07bd31d8b36681cb6b5a846d4f0b35ff09d310ff SHA512 ec8a4deb6996b31140edff978e07844ea8e30327491a6777d3982bffec01599b0cb5cc5dca297c8610ecb7ac9a4eae3407a59736fed840a2415a52a159370868
+DIST ntl-11.5.1.tar.gz 2304103 BLAKE2B 92284383451c7a810f7ee8d9a82836695d19d2a2e46b71c8c60b00acb77f4b4d3bad5497a309616a3e3188567d20203f5ad31295130ab0f3ace08417188c9fda SHA512 cf1f642b8a0f9cdc6dda888e07183817dc67ff494e56a852053aeb15b3d2a0e61fbc05824779c5d1f20b8115fba6f97266acf7e0b0b527c25df5989c86d5928f
diff --git a/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch b/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch
deleted file mode 100644
index 2e8b77ae4b92..000000000000
--- a/dev-libs/ntl/files/ntl-9.2.0-sanitize-makefile.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-diff -Naur ntl-9.2.0.orig/src/DoConfig ntl-9.2.0/src/DoConfig
---- ntl-9.2.0.orig/src/DoConfig 2015-07-09 21:45:26.959930693 +1200
-+++ ntl-9.2.0/src/DoConfig 2015-07-09 21:46:52.250122780 +1200
-@@ -38,14 +38,16 @@
-
- 'LDFLAGS' => '',
- 'LDLIBS' => '-lm',
-+'PICFLAG' => '-fPIC',
- 'CPPFLAGS' => '',
-
--'DEF_PREFIX' => '/usr/local',
-+'DEF_PREFIX' => '/usr',
-
- 'PREFIX' => '$(DEF_PREFIX)',
- 'LIBDIR' => '$(PREFIX)/lib',
- 'INCLUDEDIR' => '$(PREFIX)/include',
- 'DOCDIR' => '$(PREFIX)/share/doc',
-+'SHMAKE' => 'non-gld',
-
- 'GMP_PREFIX' => '$(DEF_PREFIX)',
- 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
-diff -Naur ntl-9.2.0.orig/src/mfile ntl-9.2.0/src/mfile
---- ntl-9.2.0.orig/src/mfile 2015-07-09 21:45:26.959930693 +1200
-+++ ntl-9.2.0/src/mfile 2015-07-09 21:57:40.631583489 +1200
-@@ -109,6 +109,16 @@
- WIZARD=@{WIZARD}
- # Set to off if you want to bypass the wizard; otherwise, set to on.
-
-+###############################################################
-+#
-+# New addition for shared library building. With gcc you need to
-+# choose the Position Indepent Code flag. You have a choice of
-+# -fpic better code but in rare case not available (ppc)
-+# -fPIC slightly slower code but guaranted to work anywhere.
-+#
-+###############################################################
-+
-+PICFLAG=@{PICFLAG}
-
- #################################################################
- #
-@@ -141,6 +151,8 @@
-
- OBJ=$(O19)
-
-+SHOBJ=$(subst .o,.lo,$(OBJ))
-+
- # library source files
-
-
-@@ -314,6 +326,8 @@
-
- LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS)
-
-+.SUFFIXES: .lo
-+
-
-
- # 'make all' does a complete make, including all setup.
-@@ -322,11 +336,11 @@
- # again.
-
- all:
-- make setup1
-- make setup2
-- make setup3
-- make setup4
-- make ntl.a
-+ ${MAKE} setup1
-+ ${MAKE} setup2
-+ ${MAKE} setup3
-+ ${MAKE} setup4
-+ ${MAKE} ntl.a
- touch all
-
-
-@@ -373,22 +387,37 @@
- lip.o: lip.c g_lip_impl.h c_lip_impl.h
- $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
-
-+lip.lo: lip.c g_lip_impl.h c_lip_impl.h
-+ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_OPT_INCDIR) lip.c -o lip.lo
-+
- ctools.o: ctools.c
- $(LCOMP) $(COMPILE) ctools.c
-
-+ctools.lo: ctools.c
-+ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
-+
-
- GetTime.o: GetTime.c
- $(LCOMP) $(COMPILE) GetTime.c
-
-+GetTime.lo: GetTime.c
-+ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
-+
- GetPID.o: GetPID.c
- $(LCOMP) $(COMPILE) GetPID.c
-
-+GetPID.lo: GetPID.c
-+ $(LCOMP) $(COMPILE) $(PICFLAG) GetPID.c -o GetPID.lo
-+
- CheckPCLMUL: CheckPCLMUL.c
- $(LINK) -o CheckPCLMUL CheckPCLMUL.c $(LDLIBS)
-
- .c.o:
- $(LCOMP) $(COMPILE) $(GF2X_OPT_INCDIR) $<
-
-+.c.lo:
-+ $(LCOMP) $(COMPILE) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
-+
- .c:
- @{LSTAT} $(LINK) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS) #LSTAT
- @{LSHAR} $(LIBTOOL) --tag=CXX --mode=link $(LINK) -o $@ $< libntl.la #LSHAR
-@@ -402,7 +431,7 @@
-
- check:
- sh RemoveProg $(PROGS)
-- make QuickTest
-+ ${MAKE} QuickTest
- ./QuickTest
- sh RemoveProg QuickTest
- sh TestScript
-@@ -459,21 +488,19 @@
- #
- #################################################################
-
--clobber:
-+clobber: clean
- rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c GetPID.c
- cp ../include/NTL/have_LL_no.h ../include/NTL/have_LL.h
- cp ../include/NTL/have_builtin_clzl_no.h ../include/NTL/have_builtin_clzl.h
- rm -f ../include/NTL/gmp_aux.h
-- sh RemoveProg $(PROGS) MakeDesc TestGetTime TestGetPID gen_gmp_aux
-- rm -f *.o
-- rm -rf small
-+ sh RemoveProg $(PROGS)
- rm -f cfileout mfileout
- rm -rf .libs *.lo libntl.la
- rm -f all
-
- clean:
- sh RemoveProg MakeDesc TestGetTime TestGetPID gen_gmp_aux
-- rm -f *.o
-+ rm -f *.o *.lo
- rm -rf small
- @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
-
-@@ -558,4 +585,11 @@
-
-
-
-+sharedso: DIRNAME $(SHOBJ)
-+ $(LINK) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
-+ ln -s lib`cat DIRNAME`.so libntl.so
-+
-+shareddylib: DIRNAME $(SHOBJ)
-+ $(LINK) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
-+ ln -s lib`cat DIRNAME`.dylib libntl.dylib
-
diff --git a/dev-libs/ntl/files/ntl-9.2.0-singular.patch b/dev-libs/ntl/files/ntl-9.2.0-singular.patch
deleted file mode 100644
index 58f9491c12a0..000000000000
--- a/dev-libs/ntl/files/ntl-9.2.0-singular.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Modfiy new.h to accomodate Singular.
---- src.orig/include/NTL/new.h 2012-08-06 17:12:25.658913083 +0200
-+++ src/include/NTL/new.h 2012-08-06 17:11:15.002915713 +0200
-@@ -12,7 +12,8 @@
- #include <NTL/config.h>
- #include <new>
-
--#define NTL_NEW_OP new (std::nothrow)
-+// commenting std::nothrow makes this ntl work properly with Singular
-+#define NTL_NEW_OP new //(std::nothrow)
-
-
- #endif
diff --git a/dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch b/dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch
deleted file mode 100644
index ed2e533fe430..000000000000
--- a/dev-libs/ntl/files/ntl-9.6.4-sanitize-makefile.patch
+++ /dev/null
@@ -1,160 +0,0 @@
---- ntl-9.6.4/src/DoConfig
-+++ ntl-9.6.4/src/DoConfig
-@@ -24,14 +24,16 @@
-
- 'LDFLAGS' => '',
- 'LDLIBS' => '-lm',
-+'PICFLAG' => '-fPIC',
- 'CPPFLAGS' => '',
-
--'DEF_PREFIX' => '/usr/local',
-+'DEF_PREFIX' => '/usr',
-
- 'PREFIX' => '$(DEF_PREFIX)',
- 'LIBDIR' => '$(PREFIX)/lib',
- 'INCLUDEDIR' => '$(PREFIX)/include',
- 'DOCDIR' => '$(PREFIX)/share/doc',
-+'SHMAKE' => 'non-gld',
-
- 'GMP_PREFIX' => '$(DEF_PREFIX)',
- 'GMP_INCDIR' => '$(GMP_PREFIX)/include',
---- ntl-9.6.4/src/mfile
-+++ ntl-9.6.4/src/mfile
-@@ -113,6 +113,18 @@
- # Set to off if you want to bypass the wizard; otherwise, set to on.
-
-
-+###############################################################
-+#
-+# New addition for shared library building. With gcc you need to
-+# choose the Position Indepent Code flag. You have a choice of
-+# -fpic better code but in rare case not available (ppc)
-+# -fPIC slightly slower code but guaranted to work anywhere.
-+#
-+###############################################################
-+
-+PICFLAG=@{PICFLAG}
-+
-+
- #################################################################
- #
- # That's it! You can ignore everything else in this file!
-@@ -144,6 +156,8 @@
-
- OBJ=$(O19)
-
-+SHOBJ=$(subst .o,.lo,$(OBJ))
-+
- # library source files
-
-
-@@ -317,6 +331,7 @@
-
- LINK = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXAUTOFLAGS) $(CXXFLAGS) $(LDFLAGS)
-
-+.SUFFIXES: .lo
-
-
- # 'make all' does a complete make, including all setup.
-@@ -325,11 +340,11 @@
- # again.
-
- all:
-- make setup1
-- make setup2
-- make setup3
-- make setup4
-- make ntl.a
-+ ${MAKE} setup1
-+ ${MAKE} setup2
-+ ${MAKE} setup3
-+ ${MAKE} setup4
-+ ${MAKE} ntl.a
- touch all
-
-
-@@ -378,16 +393,28 @@
- lip.o: lip.c g_lip_impl.h c_lip_impl.h
- $(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
-
-+lip.lo: lip.c g_lip_impl.h c_lip_impl.h
-+ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_OPT_INCDIR) lip.c -o lip.lo
-+
- ctools.o: ctools.c
- $(LCOMP) $(COMPILE) ctools.c
-
-+ctools.lo: ctools.c
-+ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
-+
-
- GetTime.o: GetTime.c
- $(LCOMP) $(COMPILE) GetTime.c
-
-+GetTime.lo: GetTime.c
-+ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
-+
- GetPID.o: GetPID.c
- $(LCOMP) $(COMPILE) GetPID.c
-
-+GetPID.lo: GetPID.c
-+ $(LCOMP) $(COMPILE) $(PICFLAG) GetPID.c -o GetPID.lo
-+
- CheckCompile: CheckCompile.c
- $(LINK) -o CheckCompile CheckCompile.c $(LDLIBS)
-
-@@ -395,6 +422,9 @@
- .c.o:
- $(LCOMP) $(COMPILE) $(GF2X_OPT_INCDIR) $<
-
-+.c.lo:
-+ $(LCOMP) $(COMPILE) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
-+
- .c:
- @{LSTAT} $(LINK) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS) #LSTAT
- @{LSHAR} $(LIBTOOL) --tag=CXX --mode=link $(LINK) -o $@ $< libntl.la #LSHAR
-@@ -408,7 +438,7 @@
-
- check:
- sh RemoveProg $(PROGS)
-- make QuickTest
-+ ${MAKE} QuickTest
- ./QuickTest
- sh RemoveProg QuickTest
- sh TestScript
-@@ -465,20 +495,18 @@
- #
- #################################################################
-
--clobber:
-+clobber: clean
- rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c GetPID.c
- sh ResetFeatures '..'
- rm -f ../include/NTL/gmp_aux.h
-- sh RemoveProg $(PROGS) MakeDesc $(AUXPROGS) gen_gmp_aux
-- rm -f *.o
-- rm -rf small
-+ sh RemoveProg $(PROGS)
- rm -f cfileout mfileout
- rm -rf .libs *.lo libntl.la
- rm -f all
-
- clean:
- sh RemoveProg $(PROGS) MakeDesc $(AUXPROGS) gen_gmp_aux
-- rm -f *.o
-+ rm -f *.o *.lo
- rm -rf small
- @{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
-
-@@ -570,5 +598,11 @@
- $(LINK) -o DispSettings DispSettings.c $(LDLIBS)
-
-
--
-+sharedso: DIRNAME $(SHOBJ)
-+ $(LINK) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
-+ ln -s lib`cat DIRNAME`.so libntl.so
-+
-+shareddylib: DIRNAME $(SHOBJ)
-+ $(LINK) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
-+ ln -s lib`cat DIRNAME`.dylib libntl.dylib
-
diff --git a/dev-libs/ntl/metadata.xml b/dev-libs/ntl/metadata.xml
index ab65f6e343e5..495cab106d33 100644
--- a/dev-libs/ntl/metadata.xml
+++ b/dev-libs/ntl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-mathematics@gentoo.org</email>
@@ -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-10.5.0.ebuild b/dev-libs/ntl/ntl-10.5.0.ebuild
deleted file mode 100644
index 00821f04ef33..000000000000
--- a/dev-libs/ntl/ntl-10.5.0.ebuild
+++ /dev/null
@@ -1,61 +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="High-performance and portable Number Theory C++ library"
-HOMEPAGE="http://shoup.net/ntl/"
-SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/35"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc static-libs test threads bindist"
-
-RDEPEND="dev-libs/gmp:0=
- >=dev-libs/gf2x-0.9"
-DEPEND="${RDEPEND}
- dev-lang/perl"
-
-S="${WORKDIR}/${P}/src"
-
-pkg_setup() {
- replace-flags -O[3-9] -O2
-}
-
-src_configure() {
- # Currently the build system can build a static library or
- # both static and shared libraries. But not only shared libraries.
- 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 \
- $(usex threads NTL_THREADS= NTL_THREADS= on off) \
- $(usex bindist NATIVE= NATIVE= off on) \
- || die "DoConfig failed"
-}
-
-src_install() {
- default
- if ! use static-libs; then
- prune_libtool_files --all
- rm -f "${ED}"/usr/$(get_libdir)/libntl.a
- fi
-
- cd ..
- rm -rf "${ED}"/usr/share/doc/NTL
- dodoc README
- if use doc ; then
- dodoc doc/*.txt
- docinto html
- dodoc doc/*.html doc/*.gif
- fi
-}
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/ntl/ntl-9.3.0.ebuild b/dev-libs/ntl/ntl-9.3.0.ebuild
deleted file mode 100644
index 29ace84f8f4a..000000000000
--- a/dev-libs/ntl/ntl-9.3.0.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit toolchain-funcs eutils multilib flag-o-matic
-
-DESCRIPTION="High-performance and portable Number Theory C++ library"
-HOMEPAGE="http://shoup.net/ntl/"
-SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc static-libs test"
-
-RDEPEND="dev-libs/gmp:=
- >=dev-libs/gf2x-0.9"
-DEPEND="${RDEPEND}
- dev-lang/perl"
-
-S="${WORKDIR}/${P}/src"
-
-src_prepare() {
- # fix parallel make
- sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
- cd ..
- # sanitize the makefile and allow the building of shared library
- epatch "${FILESDIR}"/${PN}-9.2.0-sanitize-makefile.patch
- # enable compatibility with singular
- epatch "${FILESDIR}"/${PN}-9.2.0-singular.patch
- replace-flags -O[3-9] -O2
-}
-
-src_configure() {
- perl DoConfig \
- PREFIX="${EPREFIX}"/usr \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- NTL_GMP_LIP=on NTL_GF2X_LIB=on NTL_LEGACY_SP_MULMOD=on \
- || die "DoConfig failed"
-}
-
-src_compile() {
- # split the targets to allow parallel make to run properly
- emake setup1 setup2
- emake setup3
- sh Wizard on || die "Tuning wizard failed"
- if use static-libs; then
- emake ntl.a
- fi
- local trg=so
- [[ ${CHOST} == *-darwin* ]] && trg=dylib
- emake shared${trg}
-}
-
-src_install() {
- if use static-libs; then
- newlib.a ntl.a libntl.a
- fi
- dolib.so lib*$(get_libname)
-
- cd ..
- insinto /usr/include
- doins -r include/NTL
-
- dodoc README
- if use doc ; then
- dodoc doc/*.txt
- dohtml doc/*
- fi
-}
-
-src_test(){
- # the current ebuild need static library to run tests
- emake ntl.a
-
- default
-}
diff --git a/dev-libs/ntl/ntl-9.6.4.ebuild b/dev-libs/ntl/ntl-9.6.4.ebuild
deleted file mode 100644
index 40c071f7ddbc..000000000000
--- a/dev-libs/ntl/ntl-9.6.4.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="High-performance and portable Number Theory C++ library"
-HOMEPAGE="http://shoup.net/ntl/"
-SRC_URI="http://www.shoup.net/ntl/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc static-libs test"
-
-RDEPEND="dev-libs/gmp:0=
- >=dev-libs/gf2x-0.9"
-DEPEND="${RDEPEND}
- dev-lang/perl"
-
-S="${WORKDIR}/${P}/src"
-PATCHES=(
- "${FILESDIR}/${P}-sanitize-makefile.patch"
- "${FILESDIR}/${PN}-9.2.0-singular.patch"
-)
-
-src_prepare() {
- # fix parallel make
- sed -i -e "s/make/make ${MAKEOPTS}/g" WizardAux || die
- cd .. || die
- default
-
- replace-flags -O[3-9] -O2
-}
-
-src_configure() {
- perl DoConfig \
- PREFIX="${EPREFIX}"/usr \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- NTL_GMP_LIP=on NTL_GF2X_LIB=on NTL_LEGACY_SP_MULMOD=on \
- || die "DoConfig failed"
-}
-
-src_compile() {
- # split the targets to allow parallel make to run properly
- emake setup1 setup2
- emake setup3
- sh Wizard on || die "Tuning wizard failed"
- if use static-libs; then
- emake ntl.a
- fi
- local trg=so
- [[ ${CHOST} == *-darwin* ]] && trg=dylib
- emake shared${trg}
-}
-
-src_install() {
- if use static-libs; then
- newlib.a ntl.a libntl.a
- fi
- dolib.so lib*$(get_libname)
-
- cd .. || die
- insinto /usr/include
- doins -r include/NTL
-
- dodoc README
- if use doc ; then
- dodoc doc/*.txt
- docinto html
- dodoc doc/*.html doc/*.gif
- fi
-}
-
-src_test(){
- # the current ebuild need static library to run tests
- emake ntl.a
-
- default
-}
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 c9dd68dd06a9..000000000000
--- a/dev-libs/ocl-icd/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ocl-icd-2.2.11.tar.gz 455800 BLAKE2B 64da3670d3631dba06030d5f6764522fae6c868d4cf45b1a47a0e2b004831797ff7881353a34fb6fff64e4af5b9ebd475b800303ad1e37c7c11b265981ed22a3 SHA512 54d6a281f0fc04858323ef8d1764c5d2276d9a003853d5af5821a6dd24c74a744da0ff2204179a5877d0e3f156d03c83236797cd5ca88e6897457c75da6713cd
-DIST ocl-icd-2.2.12.tar.gz 80718 BLAKE2B 524f9eea9782323eafa2f41858c4970333c029898c651bbf15624331e184d1b439d2259532b02defd67c9ab434a35b1b9a64a28e1515b3f42f09b3a270975df7 SHA512 f1668c3a39ecfbc089ee5a5f61f44ceb86ab80e504e58064dec306ce907daf77936c5403b4af15ed8714068891d68346c86725f285cfbc90c4fcb35d18db4048
diff --git a/dev-libs/ocl-icd/metadata.xml b/dev-libs/ocl-icd/metadata.xml
deleted file mode 100644
index 1cfa787eaf17..000000000000
--- a/dev-libs/ocl-icd/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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.11.ebuild b/dev-libs/ocl-icd/ocl-icd-2.2.11.ebuild
deleted file mode 100644
index 6815b304b061..000000000000
--- a/dev-libs/ocl-icd/ocl-icd-2.2.11.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib
-
-DESCRIPTION="Alternative to vendor specific OpenCL ICD loaders"
-HOMEPAGE="http://forge.imag.fr/projects/ocl-icd/"
-SRC_URI="https://forge.imag.fr/frs/download.php/814/${P}.tar.gz"
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE=""
-
-DEPEND="dev-lang/ruby
- dev-ruby/rubygems"
-RDEPEND="app-eselect/eselect-opencl"
-
-src_prepare() {
- echo "/usr/$(get_libdir)/OpenCL/vendors/ocl-icd/libOpenCL.so" > ocl-icd.icd
-}
-
-src_install() {
- insinto /etc/OpenCL/vendors/
- doins ocl-icd.icd
-
- emake DESTDIR="${D}" install
-
- OCL_DIR="${D}"/usr/"$(get_libdir)"/OpenCL/vendors/ocl-icd/
- mkdir -p ${OCL_DIR} || die "mkdir failed"
-
- mv "${D}/usr/$(get_libdir)"/libOpenCL* "${OCL_DIR}"
-}
diff --git a/dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild b/dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild
deleted file mode 100644
index 7bc7cd5195e1..000000000000
--- a/dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-USE_RUBY="ruby24 ruby25 ruby26"
-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"
-
-IUSE="+khronos-headers"
-
-BDEPEND="${RUBY_DEPS}"
-RDEPEND="app-eselect/eselect-opencl"
-
-src_prepare() {
- replace-flags -Os -O2 # bug 646122
-
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf --enable-pthread-once
-}
-
-multilib_src_install() {
- default
-
- # Drop .la files
- find "${D}" -name '*.la' -delete || die
-
- OCL_DIR="/usr/$(get_libdir)/OpenCL/vendors/ocl-icd"
- dodir ${OCL_DIR}/{,include}
-
- # Install vendor library
- mv -f "${D}/usr/$(get_libdir)"/libOpenCL* "${ED}${OCL_DIR}" || die "Can't install vendor library"
-
- # Install vendor headers
- if use khronos-headers; then
- cp -r "${S}/khronos-headers/CL" "${ED}${OCL_DIR}/include" || die "Can't install vendor headers"
- fi
-}
-
-pkg_postinst() {
- eselect opencl set --use-old ${PN}
-}
diff --git a/dev-libs/ocl-icd/ocl-icd-2.2.12.ebuild b/dev-libs/ocl-icd/ocl-icd-2.2.12.ebuild
deleted file mode 100644
index 38bc636d4462..000000000000
--- a/dev-libs/ocl-icd/ocl-icd-2.2.12.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-USE_RUBY="ruby23 ruby24 ruby25"
-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"
-
-IUSE="+khronos-headers"
-
-DEPEND="${RUBY_DEPS}"
-RDEPEND="app-eselect/eselect-opencl"
-
-src_prepare() {
- replace-flags -Os -O2 # bug 646122
-
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf --enable-pthread-once
-}
-
-multilib_src_install() {
- default
-
- # Drop .la files
- find "${D}" -name '*.la' -delete || die
-
- OCL_DIR="/usr/$(get_libdir)/OpenCL/vendors/ocl-icd"
- dodir ${OCL_DIR}/{,include}
-
- # Install vendor library
- mv -f "${D}/usr/$(get_libdir)"/libOpenCL* "${ED}${OCL_DIR}" || die "Can't install vendor library"
-
- # Install vendor headers
- if use khronos-headers; then
- cp -r "${S}/khronos-headers/CL" "${ED}${OCL_DIR}/include" || die "Can't install vendor headers"
- fi
-}
-
-pkg_postinst() {
- eselect opencl set --use-old ${PN}
-}
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 5ae4efdd1e26..ed9ae2097049 100644
--- a/dev-libs/onigmo/Manifest
+++ b/dev-libs/onigmo/Manifest
@@ -1 +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/metadata.xml b/dev-libs/onigmo/metadata.xml
index b1cea8c977b4..9b85592ddb1f 100644
--- a/dev-libs/onigmo/metadata.xml
+++ b/dev-libs/onigmo/metadata.xml
@@ -1,22 +1,22 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
- </maintainer>
- <slots>
- <subslots>Reflect ABI of libonigmo.so.</subslots>
- </slots>
- <use>
- <flag name="combination-explosion-check">
- enable combination explosion check
- </flag>
- <flag name="crnl-as-line-terminator">
- enable CR+NL as line terminator
- </flag>
- </use>
- <upstream>
- <remote-id type="github">k-takata/Onigmo</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <slots>
+ <subslots>Reflect ABI of libonigmo.so.</subslots>
+ </slots>
+ <use>
+ <flag name="combination-explosion-check">
+ enable combination explosion check
+ </flag>
+ <flag name="crnl-as-line-terminator">
+ enable CR+NL as line terminator
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">k-takata/Onigmo</remote-id>
+ </upstream>
</pkgmetadata>
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 4c34afcf8ac8..000000000000
--- a/dev-libs/onigmo/onigmo-6.1.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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/oniguruma/Manifest b/dev-libs/oniguruma/Manifest
index 198c2d1c2de5..4526f5b9ea8f 100644
--- a/dev-libs/oniguruma/Manifest
+++ b/dev-libs/oniguruma/Manifest
@@ -1,2 +1,2 @@
-DIST onig-6.9.1.tar.gz 870525 BLAKE2B 8427b92670545e66deba35dfde0cb0ce346629a188c4adaa3025d0acaa81d2ffd86111be17419ea67b2d5f3fb4387aab0d8d20d70fb2f518ccc0ca165b66207d SHA512 5454c161d2d45f2c992513a695ff586ffa99e44a27d7ac5498370e200adb664bb02f2d8cd7d73e61d467f626d1a9b41d9e6e3051e1ea1a021624f94f7d52975f
-DIST onig-6.9.2.tar.gz 901931 BLAKE2B 93326408c7c9cd9c5053f14edd0e5fbf348a4da135146cfbff7659518686a83301b8d4111dbd65b834e201334871d9fa8202a8ed3cc4f793d444591e96071c74 SHA512 c10134e42a3c0b0eeae2027ffb7a3e1bcc9228dee286f6b6e997f8a73d717217fa74de0e19c40975d2e78044c8c4f029eb622f90c8eb4fdc4667eb4804e97001
+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/metadata.xml b/dev-libs/oniguruma/metadata.xml
index 2dc293268b64..9525dd0504d6 100644
--- a/dev-libs/oniguruma/metadata.xml
+++ b/dev-libs/oniguruma/metadata.xml
@@ -1,25 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
- </maintainer>
- <longdescription>
- Oniguruma is a regular expression library. The characteristics of
- this library is that different character encoding for every regular
- expression object can be specified. (Supported character encodings:
- ASCII, UTF-8, EUC-JP, Shift_JIS)
- </longdescription>
- <slots>
- <subslots>Reflect ABI of libonig.so.</subslots>
- </slots>
- <use>
- <flag name="crnl-as-line-terminator">
- enable CR+NL as line terminator
- </flag>
- </use>
- <upstream>
- <remote-id type="github">kkos/oniguruma</remote-id>
- </upstream>
+ <maintainer type="person" proxied="yes">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+ <longdescription>
+ Oniguruma is a regular expression library. The characteristics of
+ this library is that different character encoding for every regular
+ expression object can be specified. (Supported character encodings:
+ ASCII, UTF-8, EUC-JP, Shift_JIS)
+ </longdescription>
+ <slots>
+ <subslots>libonig.so soname version number</subslots>
+ </slots>
+ <use>
+ <flag name="crnl-as-line-terminator">Enable CR+NL as line terminator</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">kkos/oniguruma</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/oniguruma/oniguruma-6.9.1.ebuild b/dev-libs/oniguruma/oniguruma-6.9.1.ebuild
deleted file mode 100644
index 83ded610f130..000000000000
--- a/dev-libs/oniguruma/oniguruma-6.9.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib-minimal
-
-MY_P="onig-${PV}"
-
-DESCRIPTION="Regular expression library for different character encodings"
-HOMEPAGE="https://github.com/kkos/oniguruma"
-SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/5"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
-IUSE="crnl-as-line-terminator static-libs"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/UNICODE_PROPERTIES)
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(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/oniguruma-6.9.2.ebuild b/dev-libs/oniguruma/oniguruma-6.9.2.ebuild
deleted file mode 100644
index 0586b41ac75f..000000000000
--- a/dev-libs/oniguruma/oniguruma-6.9.2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2003-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib-minimal
-
-MY_P="onig-${PV}"
-
-DESCRIPTION="Regular expression library for different character encodings"
-HOMEPAGE="https://github.com/kkos/oniguruma"
-SRC_URI="https://github.com/kkos/${PN}/releases/download/v${PV}/${MY_P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/5"
-KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
-IUSE="crnl-as-line-terminator static-libs"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS=(AUTHORS HISTORY README{,_japanese} doc/{API,CALLOUTS.API,CALLOUTS.BUILTIN,FAQ,RE}{,.ja} doc/{SYNTAX.md,UNICODE_PROPERTIES})
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- $(use_enable crnl-as-line-terminator) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name "*.la" -type f -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
new file mode 100644
index 000000000000..97f1a28922bd
--- /dev/null
+++ b/dev-libs/oniguruma/oniguruma-9999.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=""
+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/opencl-clang/Manifest b/dev-libs/opencl-clang/Manifest
index aa1ed4914d74..50ef0f399661 100644
--- a/dev-libs/opencl-clang/Manifest
+++ b/dev-libs/opencl-clang/Manifest
@@ -1,2 +1,3 @@
-DIST opencl-clang-8.0.0.tar.gz 40789 BLAKE2B baa559e90bf7f57cc59942c279b0488e306c7fd481582b213707d1cf0382f717965cd0fc7278e9c5a359847cead097243509a0730cd38f70fbbb2586c3145265 SHA512 4a353e2b28d54671be0eea00536c05093d358dec9950ea5b0732c8f46dd03bc29884487fb88f762f2c20311b928496c3b5729a8c6a72a7ce9caf30b23895340f
-DIST opencl-clang-8.0.1.tar.gz 42069 BLAKE2B 9d095b2f14b1fb0cbe3eacfba9cae013dbe41e90a367d7acfe4f56496fbdd673fccf16a09a78affa43aa427f5bd0abc400319128525a660d57308cf16bd4e638 SHA512 3e1714b65311b5c07537329c94d55f037c219eaf41380960e5220b0e85761a69b45b469507dc168c09ae4801fb6e14db256acdb7bd2f7e9734f6f84ad3ba49b2
+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-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 b4f521584bbd..8d57fc8b99de 100644
--- a/dev-libs/opencl-clang/metadata.xml
+++ b/dev-libs/opencl-clang/metadata.xml
@@ -1,12 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person" 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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
</maintainer>
<upstream>
<remote-id type="github">intel/opencl-clang</remote-id>
</upstream>
</pkgmetadata>
-
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-clang/opencl-clang-8.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-8.0.0.ebuild
deleted file mode 100644
index ac93a0e876ba..000000000000
--- a/dev-libs/opencl-clang/opencl-clang-8.0.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="UoI-NCSA"
-SLOT="8"
-KEYWORDS="~amd64"
-
-COMMON="sys-devel/clang:8=[static-analyzer,${MULTILIB_USEDEP}]"
-DEPEND="${COMMON}
- dev-util/spirv-llvm-translator:8=[${MULTILIB_USEDEP}]
- dev-vcs/git"
-RDEPEND="${COMMON}"
-
-LLVM_MAX_SLOT=8
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
- -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/opencl-clang/opencl-clang-8.0.1.ebuild b/dev-libs/opencl-clang/opencl-clang-8.0.1.ebuild
deleted file mode 100644
index 914e05911fec..000000000000
--- a/dev-libs/opencl-clang/opencl-clang-8.0.1.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 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/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="UoI-NCSA"
-SLOT="8"
-KEYWORDS="~amd64"
-
-BDEPEND="dev-vcs/git"
-COMMON="sys-devel/clang:8=[static-analyzer,${MULTILIB_USEDEP}]"
-DEPEND="${COMMON}
- dev-util/spirv-llvm-translator:8=[${MULTILIB_USEDEP}]"
-RDEPEND="${COMMON}"
-
-LLVM_MAX_SLOT=8
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
- -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/opencl-icd-loader/Manifest b/dev-libs/opencl-icd-loader/Manifest
new file mode 100644
index 000000000000..049e67cc4f88
--- /dev/null
+++ b/dev-libs/opencl-icd-loader/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-libs/opencl-icd-loader/metadata.xml
new file mode 100644
index 000000000000..7f8ede0aa2fd
--- /dev/null
+++ b/dev-libs/opencl-icd-loader/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">KhronosGroup/OpenCL-ICD-Loader</remote-id>
+ </upstream>
+</pkgmetadata>
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..64e4a5ed7503
--- /dev/null
+++ b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.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-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/opencryptoki/Manifest b/dev-libs/opencryptoki/Manifest
index 9d6774ceda6f..fadade59bcd6 100644
--- a/dev-libs/opencryptoki/Manifest
+++ b/dev-libs/opencryptoki/Manifest
@@ -1,2 +1 @@
DIST opencryptoki-3.6.1.tgz 1068197 BLAKE2B 0e7d867bd21863f56471ac2c8664148e5a6988ffc30e71feaf960245a1908d676c1791f2b751de4bdd694096bf7360af3a8f79df895eef1b8f61391aba09aaad SHA512 1874fabba6d3da49596622c7f8142a37329df95f129cb08319bb3900a944dde1ae5ce9d845d400726f4bda4579c730012b9bfd6c69c6d5a16b1f75b28a0ba4af
-DIST opencryptoki-v3.4.1.tgz 1014416 BLAKE2B f95f9c4923fb7ce283f2031c21221ec2dacf1afca50a5fcdb4e2e173c952bbc4402fda56664428087a2c5b33af8a94aba9fa361ef5c0e4f0b865391cbc304250 SHA512 98643463102f70226255f17a7c49cc454cce377404155b9624e77e36c9f03fb30c216d1769177666489a539e0886b071103a089c565f8fbf120c2a53239a2dd6
diff --git a/dev-libs/opencryptoki/metadata.xml b/dev-libs/opencryptoki/metadata.xml
index 6a481bee9cb4..f30aee6419e8 100644
--- a/dev-libs/opencryptoki/metadata.xml
+++ b/dev-libs/opencryptoki/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="tpm">Enable support for Trusted Platform Module (TPM) using <pkg>app-crypt/trousers</pkg></flag>
</use>
diff --git a/dev-libs/opencryptoki/opencryptoki-3.4.1.ebuild b/dev-libs/opencryptoki/opencryptoki-3.4.1.ebuild
deleted file mode 100644
index da43888b4524..000000000000
--- a/dev-libs/opencryptoki/opencryptoki-3.4.1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib flag-o-matic user
-
-DESCRIPTION="PKCS#11 provider cryptographic hardware"
-HOMEPAGE="https://sourceforge.net/projects/opencryptoki"
-SRC_URI="mirror://sourceforge/opencryptoki/${PV}/${PN}-v${PV}.tgz"
-
-# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
-# token sources are under CPL-1.0 already.
-LICENSE="CPL-0.5"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~s390 ~x86"
-IUSE="debug libressl +tpm"
-
-RDEPEND="tpm? ( app-crypt/trousers )
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )"
-DEPEND="${RDEPEND}"
-
-DOCS=(
- README AUTHORS FAQ TODO
- doc/openCryptoki-HOWTO.pdf
-)
-
-# tests right now basically don't exist; the only available thing would
-# test against an installed copy and would kill a running pcscd, all
-# things that we're not interested to.
-RESTRICT=test
-
-S="${WORKDIR}/${PN}"
-
-pkg_setup() {
- enewgroup pkcs11
-}
-
-src_prepare() {
- default
- mv configure.in configure.ac || die
- eautoreconf
-}
-
-src_configure() {
- # package uses ${localstatedir}/lib as the default path, so if we
- # leave it to econf, it'll create /var/lib/lib.
-
- # Since upstream by default seem to enable any possible token, even
- # when they don't seem to be used, we limit ourselves to the
- # software emulation token (swtok) and if the user enabled the tpm
- # USE flag, tpmtok. The rest of the tokens seem to be hardware- or
- # software-dependent even when they build fine without their
- # requirements, but until somebody asks for those, I'd rather not
- # enable them.
-
- # We don't use --enable-debug because that tinkers with the CFLAGS
- # and we don't want that. Instead we append -DDEBUG which enables
- # debug information.
- use debug && append-flags -DDEBUG
-
- econf \
- --localstatedir=/var \
- --enable-fast-install \
- --disable-dependency-tracking \
- --disable-debug \
- --enable-daemon \
- --enable-library \
- --disable-icatok \
- --enable-swtok \
- $(use_enable tpm tpmtok) \
- --disable-ccatok
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-
- # Install libopencryptoki in the standard directory for libraries.
- mv "${ED}"/usr/$(get_libdir)/opencryptoki/libopencryptoki.so* "${ED}"/usr/$(get_libdir) || die
- rm "${ED}"/usr/$(get_libdir)/pkcs11/libopencryptoki.so
- dosym ../libopencryptoki.so /usr/$(get_libdir)/pkcs11/libopencryptoki.so
-
- # Remove compatibility symlinks as we _never_ required those and
- # they seem unused even upstream.
- find "${ED}" -name 'PKCS11_*' -delete
-
- # We replace their ld.so and init files (mostly designed for RedHat
- # as far as I can tell) with our own replacements.
- rm -rf "${ED}"/etc/ld.so.conf.d "${ED}"/etc/rc.d
-
- # make sure that we don't modify the init script if the USE flags
- # are enabled for the needed services.
- cp "${FILESDIR}"/pkcsslotd.init.2 "${T}"/pkcsslotd.init
- use tpm || sed -i -e '/use tcsd/d' "${T}"/pkcsslotd.init
- newinitd "${T}/pkcsslotd.init" pkcsslotd
-
- # We create /var dirs at runtime as needed, so don't bother installing
- # our own.
- rm -r "${ED}"/var/{lib,lock} || die
-}
diff --git a/dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild b/dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild
new file mode 100644
index 000000000000..5ab79025d6a4
--- /dev/null
+++ b/dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="PKCS#11 provider cryptographic hardware"
+HOMEPAGE="https://sourceforge.net/projects/opencryptoki"
+SRC_URI="https://downloads.sourceforge.net/opencryptoki/${PV}/${P}.tgz"
+S="${WORKDIR}/${PN}"
+
+# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
+# token sources are under CPL-1.0 already.
+LICENSE="CPL-0.5"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~s390 ~x86"
+IUSE="debug +tpm"
+
+DEPEND="
+ tpm? ( app-crypt/trousers )
+ >=dev-libs/openssl-1.1.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/pkcs11
+"
+
+DOCS=(
+ README AUTHORS FAQ TODO
+ doc/openCryptoki-HOWTO.pdf
+)
+
+# tests right now basically don't exist; the only available thing would
+# test against an installed copy and would kill a running pcscd, all
+# things that we're not interested to.
+RESTRICT=test
+
+src_prepare() {
+ default
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # package uses ${localstatedir}/lib as the default path, so if we
+ # leave it to econf, it'll create /var/lib/lib.
+
+ # Since upstream by default seem to enable any possible token, even
+ # when they don't seem to be used, we limit ourselves to the
+ # software emulation token (swtok) and if the user enabled the tpm
+ # USE flag, tpmtok. The rest of the tokens seem to be hardware- or
+ # software-dependent even when they build fine without their
+ # requirements, but until somebody asks for those, I'd rather not
+ # enable them.
+
+ # We don't use --enable-debug because that tinkers with the CFLAGS
+ # and we don't want that. Instead we append -DDEBUG which enables
+ # debug information.
+ use debug && append-flags -DDEBUG
+
+ econf \
+ --localstatedir=/var \
+ --enable-fast-install \
+ --disable-debug \
+ --enable-daemon \
+ --enable-library \
+ --disable-icatok \
+ --enable-swtok \
+ $(use_enable tpm tpmtok) \
+ --disable-ccatok
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ # Install libopencryptoki in the standard directory for libraries.
+ mv "${ED}"/usr/$(get_libdir)/opencryptoki/libopencryptoki.so* "${ED}"/usr/$(get_libdir) || die
+ rm "${ED}"/usr/$(get_libdir)/pkcs11/libopencryptoki.so || die
+ dosym ../libopencryptoki.so /usr/$(get_libdir)/pkcs11/libopencryptoki.so
+
+ # Remove compatibility symlinks as we _never_ required those and
+ # they seem unused even upstream.
+ find "${ED}" -name 'PKCS11_*' -delete || die
+
+ # We replace their ld.so and init files (mostly designed for RedHat
+ # as far as I can tell) with our own replacements.
+ rm -rf "${ED}"/etc/ld.so.conf.d "${ED}"/etc/rc.d || die
+
+ # make sure that we don't modify the init script if the USE flags
+ # are enabled for the needed services.
+ cp "${FILESDIR}"/pkcsslotd.init.2 "${T}"/pkcsslotd.init || die
+ use tpm || sed -i -e '/use tcsd/d' "${T}"/pkcsslotd.init
+ newinitd "${T}/pkcsslotd.init" pkcsslotd
+
+ # We create /var dirs at runtime as needed, so don't bother installing
+ # our own.
+ rm -r "${ED}"/var/{lib,lock} || die
+}
diff --git a/dev-libs/opencryptoki/opencryptoki-3.6.1.ebuild b/dev-libs/opencryptoki/opencryptoki-3.6.1.ebuild
deleted file mode 100644
index 3b129d8ab795..000000000000
--- a/dev-libs/opencryptoki/opencryptoki-3.6.1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib flag-o-matic user
-
-DESCRIPTION="PKCS#11 provider cryptographic hardware"
-HOMEPAGE="https://sourceforge.net/projects/opencryptoki"
-SRC_URI="mirror://sourceforge/opencryptoki/${PV}/${P}.tgz"
-
-# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
-# token sources are under CPL-1.0 already.
-LICENSE="CPL-0.5"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~s390 ~x86"
-IUSE="debug libressl +tpm"
-
-RDEPEND="tpm? ( app-crypt/trousers )
- !libressl? ( >=dev-libs/openssl-1.1.0:0= )
- libressl? ( >=dev-libs/libressl-2.7.0:0= )"
-DEPEND="${RDEPEND}"
-
-DOCS=(
- README AUTHORS FAQ TODO
- doc/openCryptoki-HOWTO.pdf
-)
-
-# tests right now basically don't exist; the only available thing would
-# test against an installed copy and would kill a running pcscd, all
-# things that we're not interested to.
-RESTRICT=test
-
-S="${WORKDIR}/${PN}"
-
-pkg_setup() {
- enewgroup pkcs11
-}
-
-src_prepare() {
- default
- mv configure.in configure.ac || die
- eautoreconf
-}
-
-src_configure() {
- # package uses ${localstatedir}/lib as the default path, so if we
- # leave it to econf, it'll create /var/lib/lib.
-
- # Since upstream by default seem to enable any possible token, even
- # when they don't seem to be used, we limit ourselves to the
- # software emulation token (swtok) and if the user enabled the tpm
- # USE flag, tpmtok. The rest of the tokens seem to be hardware- or
- # software-dependent even when they build fine without their
- # requirements, but until somebody asks for those, I'd rather not
- # enable them.
-
- # We don't use --enable-debug because that tinkers with the CFLAGS
- # and we don't want that. Instead we append -DDEBUG which enables
- # debug information.
- use debug && append-flags -DDEBUG
-
- econf \
- --localstatedir=/var \
- --enable-fast-install \
- --disable-dependency-tracking \
- --disable-debug \
- --enable-daemon \
- --enable-library \
- --disable-icatok \
- --enable-swtok \
- $(use_enable tpm tpmtok) \
- --disable-ccatok
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-
- # Install libopencryptoki in the standard directory for libraries.
- mv "${ED}"/usr/$(get_libdir)/opencryptoki/libopencryptoki.so* "${ED}"/usr/$(get_libdir) || die
- rm "${ED}"/usr/$(get_libdir)/pkcs11/libopencryptoki.so
- dosym ../libopencryptoki.so /usr/$(get_libdir)/pkcs11/libopencryptoki.so
-
- # Remove compatibility symlinks as we _never_ required those and
- # they seem unused even upstream.
- find "${ED}" -name 'PKCS11_*' -delete
-
- # We replace their ld.so and init files (mostly designed for RedHat
- # as far as I can tell) with our own replacements.
- rm -rf "${ED}"/etc/ld.so.conf.d "${ED}"/etc/rc.d
-
- # make sure that we don't modify the init script if the USE flags
- # are enabled for the needed services.
- cp "${FILESDIR}"/pkcsslotd.init.2 "${T}"/pkcsslotd.init
- use tpm || sed -i -e '/use tcsd/d' "${T}"/pkcsslotd.init
- newinitd "${T}/pkcsslotd.init" pkcsslotd
-
- # We create /var dirs at runtime as needed, so don't bother installing
- # our own.
- rm -r "${ED}"/var/{lib,lock} || die
-}
diff --git a/dev-libs/openct/files/openct-0.6.20-automake.patch b/dev-libs/openct/files/openct-0.6.20-automake.patch
new file mode 100644
index 000000000000..451af6a8a50e
--- /dev/null
+++ b/dev-libs/openct/files/openct-0.6.20-automake.patch
@@ -0,0 +1,24 @@
+From 86abf3cbddbdc590dbb2ff5b0bda263e42595b88 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Wed, 10 Oct 2012 08:48:02 +0000
+Subject: [PATCH] build: fix issue with latest automake
+
+---
+ etc/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/etc/Makefile.am b/etc/Makefile.am
+index ff66d4e..dc00f47 100644
+--- a/etc/Makefile.am
++++ b/etc/Makefile.am
+@@ -30,8 +30,8 @@ dist_noinst_DATA += openct.usermap
+ endif
+
+
+-sysconf_DATA=#required in order to create dir
+-install-exec-hook: install-sysconfDATA openct.conf
++install-exec-hook: openct.conf
++ $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
+ if [ -f "$(DESTDIR)$(sysconfdir)/openct.conf" ]; then \
+ $(INSTALL_DATA) openct.conf "$(DESTDIR)$(sysconfdir)/openct.conf.new"; \
+ else \
diff --git a/dev-libs/openct/files/openct-0.6.20-slibtool.patch b/dev-libs/openct/files/openct-0.6.20-slibtool.patch
new file mode 100644
index 000000000000..0c0af2e1bd94
--- /dev/null
+++ b/dev-libs/openct/files/openct-0.6.20-slibtool.patch
@@ -0,0 +1,34 @@
+From f329c2663bde748d4a8fc462a1ea7bbc4ab47b36 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Fri, 27 Sep 2013 23:27:24 +0300
+Subject: [PATCH] build: use newer libtool -shared option
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ src/ctapi/Makefile.am | 2 +-
+ src/pcsc/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/ctapi/Makefile.am b/src/ctapi/Makefile.am
+index 25627a3..c837820 100644
+--- a/src/ctapi/Makefile.am
++++ b/src/ctapi/Makefile.am
+@@ -8,4 +8,4 @@ libopenctapi_la_LIBADD = $(top_builddir)/src/ct/libopenct.la
+ libopenctapi_la_CFLAGS = $(AM_CFLAGS) \
+ -I$(top_srcdir)/src/include \
+ -I$(top_builddir)/src/include
+-libopenctapi_la_LDFLAGS = -avoid-version -no-undefined --module
++libopenctapi_la_LDFLAGS = -avoid-version -no-undefined -module -shared
+diff --git a/src/pcsc/Makefile.am b/src/pcsc/Makefile.am
+index 9986621..6aff8b8 100644
+--- a/src/pcsc/Makefile.am
++++ b/src/pcsc/Makefile.am
+@@ -5,7 +5,7 @@ lib_LTLIBRARIES = openct-ifd.la
+ endif
+
+ openct_ifd_la_SOURCES = pcsc.c
+-openct_ifd_la_LDFLAGS = -module -avoid-version -no-undefined
++openct_ifd_la_LDFLAGS = -module -shared -avoid-version -no-undefined
+ openct_ifd_la_LIBADD = $(PCSC_LIBS) $(top_builddir)/src/ctapi/libopenctapi.la
+ openct_ifd_la_CFLAGS = $(AM_CFLAGS) \
+ -I$(top_srcdir)/src/include \
diff --git a/dev-libs/openct/metadata.xml b/dev-libs/openct/metadata.xml
index 769c5bd3d17e..a947bf26eec2 100644
--- a/dev-libs/openct/metadata.xml
+++ b/dev-libs/openct/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="pcsc-lite">
Build a driver library for <pkg>sys-apps/pcsc-lite</pkg>,
diff --git a/dev-libs/openct/openct-0.6.20-r4.ebuild b/dev-libs/openct/openct-0.6.20-r4.ebuild
deleted file mode 100644
index cb39d7698bf9..000000000000
--- a/dev-libs/openct/openct-0.6.20-r4.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib udev user
-
-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 sh sparc x86"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="doc pcsc-lite usb debug"
-
-RDEPEND="pcsc-lite? ( >=sys-apps/pcsc-lite-1.7.2-r1:= )
- usb? ( virtual/libusb:0 )
- dev-libs/libltdl:0="
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-pkg_setup() {
- enewgroup openct
- enewuser openctd
-}
-
-src_configure() {
- use debug && append-cppflags -DDEBUG_IFDH
-
- econf \
- --docdir="/usr/share/doc/${PF}" \
- --htmldir="/usr/share/doc/${PF}/html" \
- --localstatedir=/var \
- --with-udev="$(get_udevdir)" \
- --enable-non-privileged \
- --with-daemon-user=openctd \
- --with-daemon-groups=usb \
- --enable-shared --disable-static \
- $(use_enable doc) \
- $(use_enable doc api-doc) \
- $(use_enable pcsc-lite pcsc) \
- $(use_with pcsc-lite bundle /usr/$(get_libdir)/readers/usb) \
- $(use_enable usb)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- rm "${D}"/usr/$(get_libdir)/openct-ifd.*
-
- udev_newrules etc/openct.udev 70-openct.rules
-
- newinitd "${FILESDIR}"/openct.initd openct
-}
-
-pkg_postinst() {
- elog
- elog "You need to edit /etc/openct.conf to enable serial readers."
- elog
- elog "You should add \"openct\" to your default runlevel. To do so"
- elog "type \"rc-update add openct default\"."
- elog
- elog "You need to be a member of the (newly created) group openct to"
- elog "access smart card readers connected to this system. Set users'"
- elog "groups with usermod -G. root always has access."
- elog
-}
diff --git a/dev-libs/openct/openct-0.6.20-r5.ebuild b/dev-libs/openct/openct-0.6.20-r5.ebuild
new file mode 100644
index 000000000000..c9552d7c8680
--- /dev/null
+++ b/dev-libs/openct/openct-0.6.20-r5.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic udev
+
+DESCRIPTION="library for accessing smart card terminals"
+HOMEPAGE="https://github.com/OpenSC/openct/wiki"
+SRC_URI="https://downloads.sourceforge.net/opensc/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+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:= )
+ usb? ( virtual/libusb:0 )
+ dev-libs/libltdl:0=
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/openct
+ acct-user/openctd
+ selinux? ( sec-policy/selinux-openct )
+"
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-automake.patch
+ "${FILESDIR}"/${P}-slibtool.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use debug && append-cppflags -DDEBUG_IFDH
+
+ econf \
+ --localstatedir=/var \
+ --with-udev="$(get_udevdir)" \
+ --enable-non-privileged \
+ --with-daemon-user=openctd \
+ --with-daemon-groups=usb \
+ --enable-shared \
+ --disable-static \
+ $(use_enable doc) \
+ $(use_enable doc api-doc) \
+ $(use_enable pcsc-lite pcsc) \
+ $(use_with pcsc-lite bundle /usr/$(get_libdir)/readers/usb) \
+ $(use_enable usb)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+ rm -f "${ED}"/usr/$(get_libdir)/openct-ifd.* || die
+
+ udev_newrules etc/openct.udev 70-openct.rules
+
+ newinitd "${FILESDIR}"/openct.initd openct
+}
+
+pkg_postinst() {
+ elog
+ elog "You need to edit /etc/openct.conf to enable serial readers."
+ elog
+ elog "You should add \"openct\" to your default runlevel. To do so"
+ elog "type \"rc-update add openct default\"."
+ elog
+ elog "You need to be a member of the (newly created) group openct to"
+ elog "access smart card readers connected to this system. Set users'"
+ elog "groups with usermod -G. root always has access."
+ elog
+}
diff --git a/dev-libs/openobex/metadata.xml b/dev-libs/openobex/metadata.xml
index b6f5436a0b06..4a0f60cd5772 100644
--- a/dev-libs/openobex/metadata.xml
+++ b/dev-libs/openobex/metadata.xml
@@ -1,12 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
- <longdescription>Free open source implementation of the Object Exchange (OBEX) protocol,
-used for transferring data to/from mobile devices.</longdescription>
+ <!-- maintainer-needed -->
<use>
<flag name="irda">Enable IrDA support</flag>
</use>
diff --git a/dev-libs/openobex/openobex-1.7.2-r1.ebuild b/dev-libs/openobex/openobex-1.7.2-r1.ebuild
deleted file mode 100644
index edcdf803d0a7..000000000000
--- a/dev-libs/openobex/openobex-1.7.2-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-RDEPEND="
- bluetooth? ( net-wireless/bluez:= )
- usb? ( virtual/libusb:= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-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}"
- -DCMAKE_INSTALL_UDEVRULESDIR="$(get_udevdir)/rules.d"
- )
-
- cmake-utils_src_configure
-}
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 e2a2f7cd5b0a..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..db4db851aa64
--- /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="https://downloads.sourceforge.net/${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 0ac21a4400fd..e358c7bd3399 100644
--- a/dev-libs/opensc/Manifest
+++ b/dev-libs/opensc/Manifest
@@ -1 +1,3 @@
-DIST opensc-0.19.0.tar.gz 2080320 BLAKE2B c07df317f26562107680ed586e9a1ea83252c10a7dd227cffe51de709d9c888874963f6835a68f83f212d83f264b0231ea7428ed8d3ecce74cb9265d8191040a SHA512 90659133fb593cbf82ed6502e3858f34119bff051e3090489b7622659dcb1c26d389a4715892aa60a5606bc0ce115bd6c504521abfb965de9ad46441e4ed2b8e
+DIST opensc-0.24.0.tar.gz 2440952 BLAKE2B afacdd151d169dd1840ecd6df1cec99a9805598d7b7af81e17b648f146cd1b3ad1d3dcae19ed94cf8ce0dbbd5b4285af9653af5ef5739d53908ce30a49544adb SHA512 0fd2ea858874ae0b85c8fe8c4b920988693a47ca95b26449a1e95f86e17b76000f236c1f75d63ee133306e01a965155da5e14c1b8a59053b85026ecb58fb97bb
+DIST opensc-0.25.0.tar.gz 2406137 BLAKE2B 07c7de7fa1c258a90b1acbfbc01383f204ad88169ae1d3681f240e881ab80652dc9b04ba452a433576847caa5ef49d35608b3f895e965fec9e79da231ecabab2 SHA512 c220607a543b1fcf7c89e051e7c7ca3908abab6c022818b01a6219becdbad217708fb3c5fe2fe2218ac82be0f174c5694e5fa07c6e0ae540cf3171462a23eee6
+DIST opensc-0.25.1.tar.gz 2395579 BLAKE2B cc7994cad78083c8eeafc947e90c06178209edc825cb14b54bc4281d37c6dae1006ab2c9b9566823ef90626a4134bce96a9806bebc455a389216d7953da6b873 SHA512 6277abb31f903af68b4c19f549fc881b69d7aa9a55ba39936386118eadde86b62853ba2906cd165d9b1ad9090e1aa4d2b236bf19650aa228ed776b3f4d9f8805
diff --git a/dev-libs/opensc/files/opensc-0.19.0-p11test_common.h.patch b/dev-libs/opensc/files/opensc-0.19.0-p11test_common.h.patch
deleted file mode 100644
index ca27c70245d7..000000000000
--- a/dev-libs/opensc/files/opensc-0.19.0-p11test_common.h.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From d1e4f4879b8d0a7423afc1c9a3632da4763ee31c Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Sat, 15 Sep 2018 11:04:13 +0300
-Subject: [PATCH] missing include
-
----
- src/tests/p11test/p11test_common.h | 89 ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 89 insertions(+)
- create mode 100644 src/tests/p11test/p11test_common.h
-
-diff --git a/src/tests/p11test/p11test_common.h b/src/tests/p11test/p11test_common.h
-new file mode 100644
-index 0000000..d3ca304
---- /dev/null
-+++ b/src/tests/p11test/p11test_common.h
-@@ -0,0 +1,89 @@
-+/*
-+ * p11test_common.h: Test suite shared declarations for PKCS#11 API
-+ *
-+ * Copyright (C) 2016 Martin Strhársky <strharsky.martin@gmail.com>
-+ * Copyright (C) 2016, 2017 Red Hat, Inc.
-+ *
-+ * Author: Jakub Jelen <jjelen@redhat.com>
-+ *
-+ * 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 General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef P11TEST_COMMON_H
-+#define P11TEST_COMMON_H
-+#include "config.h"
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <setjmp.h>
-+#include <cmocka.h>
-+#include "pkcs11/pkcs11.h"
-+#include "libopensc/sc-ossl-compat.h"
-+
-+#define MAX_MECHS 200
-+
-+#ifndef NDEBUG
-+ #define debug_print(fmt, ...) \
-+ { fprintf(stderr, fmt "\n", ##__VA_ARGS__); } while (0)
-+#else
-+ #define debug_print(fmt, ...)
-+#endif
-+
-+#define FLAGS_SIGN 0x01
-+#define FLAGS_SIGN_OPENSSL 0x02
-+#define FLAGS_SIGN_ANY ( FLAGS_SIGN | FLAGS_SIGN_OPENSSL )
-+#define FLAGS_DECRYPT 0x04
-+#define FLAGS_DECRYPT_OPENSSL 0x08
-+#define FLAGS_DECRYPT_ANY ( FLAGS_DECRYPT | FLAGS_DECRYPT_OPENSSL )
-+
-+typedef struct {
-+ char *outfile;
-+ FILE *fd;
-+ int in_test;
-+ int first;
-+ int in_data;
-+ int first_data;
-+} log_context_t;
-+
-+typedef struct {
-+ CK_MECHANISM_TYPE mech;
-+ CK_MECHANISM_TYPE hash;
-+ CK_RSA_PKCS_MGF_TYPE mgf;
-+ int salt;
-+ int usage_flags;
-+ int result_flags;
-+} test_mech_t;
-+
-+typedef struct {
-+ CK_FUNCTION_LIST_PTR function_pointer;
-+ CK_SLOT_ID slot_id;
-+ CK_SESSION_HANDLE session_handle;
-+ CK_UTF8CHAR* pin;
-+ size_t pin_length;
-+ char *library_path;
-+ unsigned int interactive;
-+ log_context_t log;
-+
-+ test_mech_t rsa_mechs[MAX_MECHS];
-+ size_t num_rsa_mechs;
-+ test_mech_t ec_mechs[MAX_MECHS];
-+ size_t num_ec_mechs;
-+ test_mech_t keygen_mechs[MAX_MECHS];
-+ size_t num_keygen_mechs;
-+} token_info_t;
-+
-+token_info_t token;
-+
-+#endif /* P11TEST_COMMON_H */
-+
---
-2.16.4
-
diff --git a/dev-libs/opensc/files/opensc.module b/dev-libs/opensc/files/opensc.module
new file mode 100644
index 000000000000..3246ab4da0a1
--- /dev/null
+++ b/dev-libs/opensc/files/opensc.module
@@ -0,0 +1,8 @@
+# This file describes how to load the opensc module
+# See: http://p11-glue.freedesktop.org/doc/p11-kit/config.html
+
+# This is a relative path, which means it will be loaded from
+# the p11-kit default path which is usually $(libdir)/pkcs11.
+# Doing it this way allows for packagers to package opensc for
+# 32-bit and 64-bit and make them parallel installable
+module: onepin-opensc-pkcs11.so
diff --git a/dev-libs/opensc/metadata.xml b/dev-libs/opensc/metadata.xml
index 7c8bf05b0e80..67d2c026ef02 100644
--- a/dev-libs/opensc/metadata.xml
+++ b/dev-libs/opensc/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
+ <maintainer type="person">
+ <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.19.0-r2.ebuild b/dev-libs/opensc/opensc-0.19.0-r2.ebuild
deleted file mode 100644
index d3734d86e9f9..000000000000
--- a/dev-libs/opensc/opensc-0.19.0-r2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1
-
-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 ~sh ~sparc x86"
-IUSE="ctapi doc libressl openct notify +pcsc-lite readline secure-messaging ssl test zlib"
-
-RDEPEND="zlib? ( sys-libs/zlib )
- readline? ( sys-libs/readline:0= )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( >=dev-libs/libressl-2.7.0: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 )"
-
-PATCHES=(
- "${FILESDIR}/${P}-p11test_common.h.patch"
-)
-
-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 openct) \
- $(use_enable pcsc-lite pcsc) \
- $(use_enable readline) \
- $(use_enable secure-messaging sm) \
- $(use_enable ssl openssl) \
- $(use_enable test tests) \
- $(use_enable zlib)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
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-0.25.1.ebuild b/dev-libs/opensc/opensc-0.25.1.ebuild
new file mode 100644
index 000000000000..5fbac563e07a
--- /dev/null
+++ b/dev-libs/opensc/opensc-0.25.1.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-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/openspecfun/Manifest b/dev-libs/openspecfun/Manifest
index 6122b8c3bfac..67b32d76b4ec 100644
--- a/dev-libs/openspecfun/Manifest
+++ b/dev-libs/openspecfun/Manifest
@@ -1 +1,2 @@
-DIST openspecfun-0.5.1.tar.gz 121110 BLAKE2B 157bf05d63048d88674d4dc2657d91b0ff5b69f93659eb86a235e805893571ce9eb3dd84be63ff5ea691b8047a25417a8d7f755d547ccbc8b3956b2d2b70a529 SHA512 7f7b0dd04d5c325a99bf5a44521edaed87ba75acc8d85be64e3be55ff697a1544430d1fe4b5330d5ceb907bada26b42750cf6654fc8ed12b1738ec29fcbeb0b3
+DIST openspecfun-0.5.3.tar.gz 121156 BLAKE2B 4b1d883634524db9a5c1d5c2e291667264f3bc15c2b6cd1c335ef7a4748668091255c4940c54cea27ab0fd301e7c08156825bcdecfef71802b7d571d74af021e SHA512 503da7592b126cce9ecb8af5ce16c667a9b022676721063e5f551fb88c0955f465ed66df7728ed2391f068ea14b77414bfd9934c0ee38081d11b998826d6b88a
+DIST openspecfun-0.5.5.tar.gz 121025 BLAKE2B 72d92a676c90f24378f9902f76d59df47a403810b56d9a90bd39d6348082d34be59223b0f6b9ad00cd1ebdeb03001b31141134088d8e8164cf9a9c4fad239c78 SHA512 429c0ce47c3a3a044266fee0e285bd4e53e7433c83bf02b03fc4526b8d0e415295143693642a34cdf1c6b59aa86e76fd76c51ffc9440d0ba655c16a8a24a2a1b
diff --git a/dev-libs/openspecfun/files/openspecfun-0.5.3-Makefile.patch b/dev-libs/openspecfun/files/openspecfun-0.5.3-Makefile.patch
new file mode 100644
index 000000000000..a7ebb8609f15
--- /dev/null
+++ b/dev-libs/openspecfun/files/openspecfun-0.5.3-Makefile.patch
@@ -0,0 +1,67 @@
+--- a/Makefile
++++ b/Makefile
+@@ -35,9 +35,7 @@
+ endif
+ endif
+
+-all: libopenspecfun.a libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT)
+-libopenspecfun.a: $(OBJS)
+- $(AR) -rcs libopenspecfun.a $(OBJS)
++all: libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT)
+ libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT): $(OBJS)
+ $(FC) -shared $(OBJS) $(LDFLAGS) $(LDFLAGS_add) -Wl,$(SONAME_FLAG),libopenspecfun.$(OSF_MAJOR_SHLIB_EXT) -o $@
+ ifneq ($(OS),WINNT)
+@@ -50,7 +48,6 @@
+ mkdir -p $(DESTDIR)$(libdir)
+ mkdir -p $(DESTDIR)$(includedir)
+ cp -a libopenspecfun.*$(SHLIB_EXT)* $(DESTDIR)$(shlibdir)/
+- cp -a libopenspecfun.a $(DESTDIR)$(libdir)/
+ cp -a Faddeeva/Faddeeva.h $(DESTDIR)$(includedir)
+
+ clean:
+--- a/Make.inc
++++ b/Make.inc
+@@ -14,42 +14,18 @@
+ libdir = $(prefix)/lib
+ includedir = $(prefix)/include
+
+-FC = gfortran
+ # CFLAGS_add and FFLAGS_add are flags that we always want to include
+ # They are not overridable by the user, whereas CFLAGS and FFLAGS are
+ # simply defaults and are overridable via environment variables or
+ # `make CFLAGS="foo"` on the command line
+
+-FFLAGS = -O3
+-CFLAGS = -std=c99 -Wall -O3
+-CPPFLAGS =
++CFLAGS += -std=c99 -Wall
+
+ override FFLAGS_add =
+ override CFLAGS_add =
+ override CPPFLAGS_add =
+ override LDFLAGS_add =
+
+-USEGCC = 1
+-USECLANG = 0
+-
+-ifeq ($(OS), Darwin)
+-USEGCC = 0
+-USECLANG = 1
+-endif
+-
+-AR = ar
+-
+-ifeq ($(USECLANG),1)
+-USEGCC = 0
+-CC = clang
+-override CFLAGS_add += -fno-builtin
+-endif
+-
+-ifeq ($(USEGCC),1)
+-CC = gcc
+-override CFLAGS_add += -fno-gnu89-inline -std=c99
+-endif
+-
+ ARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
+ ifeq ($(ARCH),mingw32)
+ $(error "the mingw32 compiler you are using fails the openblas testsuite. please see the Julia README.windows.md document for a replacement")
diff --git a/dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch b/dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch
new file mode 100644
index 000000000000..3544d8197a2e
--- /dev/null
+++ b/dev-libs/openspecfun/files/openspecfun-0.5.5-Makefile.patch
@@ -0,0 +1,68 @@
+--- a/Make.inc
++++ b/Make.inc
+@@ -14,41 +14,18 @@ bindir = $(prefix)/bin
+ libdir = $(prefix)/lib
+ includedir = $(prefix)/include
+
+-FC = gfortran
+ # CFLAGS_add and FFLAGS_add are flags that we always want to include
+ # They are not overridable by the user, whereas CFLAGS and FFLAGS are
+ # simply defaults and are overridable via environment variables or
+ # `make CFLAGS="foo"` on the command line
+
+-FFLAGS = -O3 -fno-optimize-sibling-calls
+-CFLAGS = -std=c99 -O3
+-CPPFLAGS =
++CFLAGS += -std=c99 -Wall
+
+ override FFLAGS_add =
+ override CFLAGS_add =
+ override CPPFLAGS_add =
+ override LDFLAGS_add =
+
+-USEGCC = 1
+-USECLANG = 0
+-
+-ifneq (,$(findstring $(OS),FreeBSD Darwin))
+-USEGCC = 0
+-USECLANG = 1
+-endif
+-
+-AR = ar
+-
+-ifeq ($(USECLANG),1)
+-USEGCC = 0
+-CC = clang
+-override CFLAGS_add += -fno-builtin
+-endif
+-
+-ifeq ($(USEGCC),1)
+-CC = gcc
+-override CFLAGS_add += -fno-gnu89-inline -std=c99
+-endif
+
+ ARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
+ ifeq ($(ARCH),mingw32)
+diff --git a/Makefile b/Makefile
+index 7b028b8..c30ed98 100644
+--- a/Makefile
++++ b/Makefile
+@@ -35,9 +35,7 @@ OSF_MAJOR_SHLIB_EXT := $(SHLIB_EXT).$(SOMAJOR)
+ endif
+ endif
+
+-all: libopenspecfun.a libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT)
+-libopenspecfun.a: $(OBJS)
+- $(AR) -rcs libopenspecfun.a $(OBJS)
++all: libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT)
+ libopenspecfun.$(OSF_MAJOR_MINOR_SHLIB_EXT): $(OBJS)
+ $(FC) -shared $(OBJS) $(LDFLAGS) $(LDFLAGS_add) -Wl,$(SONAME_FLAG),libopenspecfun.$(OSF_MAJOR_SHLIB_EXT) -o $@
+ ifneq ($(OS),WINNT)
+@@ -50,7 +48,6 @@ install: all
+ mkdir -p $(DESTDIR)$(libdir)
+ mkdir -p $(DESTDIR)$(includedir)
+ cp -a libopenspecfun.*$(SHLIB_EXT)* $(DESTDIR)$(shlibdir)/
+- cp -a libopenspecfun.a $(DESTDIR)$(libdir)/
+ cp -a Faddeeva/Faddeeva.h $(DESTDIR)$(includedir)
+
+ clean:
diff --git a/dev-libs/openspecfun/metadata.xml b/dev-libs/openspecfun/metadata.xml
index c693c8be928c..bf9f74f828f8 100644
--- a/dev-libs/openspecfun/metadata.xml
+++ b/dev-libs/openspecfun/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>patrick@gentoo.org</email>
diff --git a/dev-libs/openspecfun/openspecfun-0.5.1.ebuild b/dev-libs/openspecfun/openspecfun-0.5.1.ebuild
deleted file mode 100644
index 40545b5459de..000000000000
--- a/dev-libs/openspecfun/openspecfun-0.5.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit fortran-2 multilib
-
-DESCRIPTION="A collection of special mathematical functions"
-HOMEPAGE="https://julialang.org"
-SRC_URI="https://github.com/JuliaLang/openspecfun/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-DEPEND="sci-libs/openlibm"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i "s:/lib:/$(get_libdir):" Make.inc || die
- default
-}
-
-src_compile() {
- emake prefix="${EPREFIX}/usr" USE_OPENLIBM=1
-}
-
-src_install() {
- emake DESTDIR="${D}" prefix="${EPREFIX}/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)" install
- use static-libs || rm "${D}/${EPREFIX}/usr/$(get_libdir)/libopenspecfun.a" || die "rm failed"
- dodoc README.md
-}
diff --git a/dev-libs/openspecfun/openspecfun-0.5.3.ebuild b/dev-libs/openspecfun/openspecfun-0.5.3.ebuild
new file mode 100644
index 000000000000..5fc0b9cb540f
--- /dev/null
+++ b/dev-libs/openspecfun/openspecfun-0.5.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit fortran-2 toolchain-funcs
+
+DESCRIPTION="A collection of special mathematical functions"
+HOMEPAGE="https://julialang.org"
+SRC_URI="https://github.com/JuliaLang/openspecfun/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="sci-libs/openlibm:="
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-Makefile.patch )
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ prefix="${EPREFIX}"/usr \
+ libdir="${EPREFIX}"/usr/$(get_libdir) \
+ USE_OPENLIBM=1
+}
+
+src_install() {
+ emake \
+ prefix="${EPREFIX}"/usr \
+ libdir="${EPREFIX}"/usr/$(get_libdir) \
+ DESTDIR="${D}" \
+ install
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/openspecfun/openspecfun-0.5.5.ebuild b/dev-libs/openspecfun/openspecfun-0.5.5.ebuild
new file mode 100644
index 000000000000..da7263c522f8
--- /dev/null
+++ b/dev-libs/openspecfun/openspecfun-0.5.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit fortran-2 toolchain-funcs
+
+DESCRIPTION="A collection of special mathematical functions"
+HOMEPAGE="https://julialang.org"
+SRC_URI="https://github.com/JuliaLang/openspecfun/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="sci-libs/openlibm:="
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-Makefile.patch )
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ prefix="${EPREFIX}"/usr \
+ libdir="${EPREFIX}"/usr/$(get_libdir) \
+ USE_OPENLIBM=1
+}
+
+src_install() {
+ emake \
+ prefix="${EPREFIX}"/usr \
+ libdir="${EPREFIX}"/usr/$(get_libdir) \
+ DESTDIR="${D}" \
+ install
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/openssl-compat/Manifest b/dev-libs/openssl-compat/Manifest
index 8fc04945964a..6cc3d6b74332 100644
--- a/dev-libs/openssl-compat/Manifest
+++ b/dev-libs/openssl-compat/Manifest
@@ -1,6 +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.2r.tar.gz 5348369 BLAKE2B 9f9c2d2fe6eaf9acacab29b394a318f30c38e831a5f9c193b2da660f9d04acbf407d8b752274783765416c0f5ba557c24ee293ad7fb7d727771db289e6acc901 SHA512 6eb2211f3ad56d7573ac26f388338592c37e5faaf5e2d44c0fa9062c12186e56a324f135d1c956a89b55fcce047e6428bec2756658d103e7275e08b46f741235
-DIST openssl-1.0.2r_ec_curve.c 17254 BLAKE2B d40d8d6e770443f07abe70e2c4ddda6aec1cc8e37dc1f226a3fdd9ed5d228f09c6d372e8956b1948b55ee1d57d1429493e7288d0f54d9466a37fec805c85aacb SHA512 8e92fb100bcf4bd918c82b9a6cbd75a55abe1a2c08230a007e441c51577f974f8cc336e9ac8a672b32641480428ca8cead5380da1fe81bacb088145a1b754a15
-DIST openssl-1.0.2r_ectest.c 30735 BLAKE2B 95333a27f1cf0a4305a3cee7f6d46b9d4673582ca9acfcf5ba2a0d9d317ab6219cd0d2ff0ba3a55a317c8f5819342f05cc17ba80ec2c92b2b4cab9a3552382e1 SHA512 f2e4d34327b490bc8371f0845c69df3f9fc51ea16f0ea0de0411a0c1fa9d49bb2b6fafc363eb3b3cd919dc7c24e4a0d075c6ff878c01d70dae918f2540874c19
-DIST openssl-1.0.2r_hobble-openssl 1302 BLAKE2B 647caa6a0f4c53a2e77baa3b8e5961eaef3bb0ff38e7d5475eab8deef3439f7fe49028ec9ed0406f3453870b62cac67c496b3a048ee4c9ff4c6866d520235960 SHA512 3d757a4708e74a03dd5cb9b8114dfe442ed9520739a6eca693be4c4265771696f1449ea06d1c9bcfc6e94fc9b0dd0c10e153f1c3b0334831c0550b36cd63326e
+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 02698250c19d..000000000000
--- a/dev-libs/openssl-compat/files/gentoo.config-0.9.8
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 1999-2009 Gentoo Foundation
-# 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.2 b/dev-libs/openssl-compat/files/gentoo.config-1.0.2
index d16175e6292e..0a5b2ae00908 100644
--- a/dev-libs/openssl-compat/files/gentoo.config-1.0.2
+++ b/dev-libs/openssl-compat/files/gentoo.config-1.0.2
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-# Copyright 1999-2018 Gentoo Foundation
+# 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
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.0.2p-hobble-ecc.patch b/dev-libs/openssl-compat/files/openssl-1.0.2p-hobble-ecc.patch
deleted file mode 100644
index 3a458a783603..000000000000
--- a/dev-libs/openssl-compat/files/openssl-1.0.2p-hobble-ecc.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-Port of Fedora's Hobble-EC patches for OpenSSL 1.0 series.
-
-From https://src.fedoraproject.org/git/rpms/openssl.git
-
-Contains parts of the following patches, rediffed. The patches are on various
-different branches.
-f23 openssl-1.0.2c-ecc-suiteb.patch
-f23 openssl-1.0.2a-fips-ec.patch
-f28 openssl-1.1.0-ec-curves.patch
-
-Signed-off-By: Robin H. Johnson <robbat2@gentoo.org>
-
---- a/apps/speed.c
-+++ b/apps/speed.c
-@@ -989,10 +989,7 @@ int MAIN(int argc, char **argv)
- } else
- # endif
- # ifndef OPENSSL_NO_ECDSA
-- if (strcmp(*argv, "ecdsap160") == 0)
-- ecdsa_doit[R_EC_P160] = 2;
-- else if (strcmp(*argv, "ecdsap192") == 0)
-- ecdsa_doit[R_EC_P192] = 2;
-+ if (0) {}
- else if (strcmp(*argv, "ecdsap224") == 0)
- ecdsa_doit[R_EC_P224] = 2;
- else if (strcmp(*argv, "ecdsap256") == 0)
-@@ -1001,36 +998,13 @@ int MAIN(int argc, char **argv)
- ecdsa_doit[R_EC_P384] = 2;
- else if (strcmp(*argv, "ecdsap521") == 0)
- ecdsa_doit[R_EC_P521] = 2;
-- else if (strcmp(*argv, "ecdsak163") == 0)
-- ecdsa_doit[R_EC_K163] = 2;
-- else if (strcmp(*argv, "ecdsak233") == 0)
-- ecdsa_doit[R_EC_K233] = 2;
-- else if (strcmp(*argv, "ecdsak283") == 0)
-- ecdsa_doit[R_EC_K283] = 2;
-- else if (strcmp(*argv, "ecdsak409") == 0)
-- ecdsa_doit[R_EC_K409] = 2;
-- else if (strcmp(*argv, "ecdsak571") == 0)
-- ecdsa_doit[R_EC_K571] = 2;
-- else if (strcmp(*argv, "ecdsab163") == 0)
-- ecdsa_doit[R_EC_B163] = 2;
-- else if (strcmp(*argv, "ecdsab233") == 0)
-- ecdsa_doit[R_EC_B233] = 2;
-- else if (strcmp(*argv, "ecdsab283") == 0)
-- ecdsa_doit[R_EC_B283] = 2;
-- else if (strcmp(*argv, "ecdsab409") == 0)
-- ecdsa_doit[R_EC_B409] = 2;
-- else if (strcmp(*argv, "ecdsab571") == 0)
-- ecdsa_doit[R_EC_B571] = 2;
- else if (strcmp(*argv, "ecdsa") == 0) {
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i < R_EC_P521; i++)
- ecdsa_doit[i] = 1;
- } else
- # endif
- # ifndef OPENSSL_NO_ECDH
-- if (strcmp(*argv, "ecdhp160") == 0)
-- ecdh_doit[R_EC_P160] = 2;
-- else if (strcmp(*argv, "ecdhp192") == 0)
-- ecdh_doit[R_EC_P192] = 2;
-+ if (0) {}
- else if (strcmp(*argv, "ecdhp224") == 0)
- ecdh_doit[R_EC_P224] = 2;
- else if (strcmp(*argv, "ecdhp256") == 0)
-@@ -1039,28 +1013,8 @@ int MAIN(int argc, char **argv)
- ecdh_doit[R_EC_P384] = 2;
- else if (strcmp(*argv, "ecdhp521") == 0)
- ecdh_doit[R_EC_P521] = 2;
-- else if (strcmp(*argv, "ecdhk163") == 0)
-- ecdh_doit[R_EC_K163] = 2;
-- else if (strcmp(*argv, "ecdhk233") == 0)
-- ecdh_doit[R_EC_K233] = 2;
-- else if (strcmp(*argv, "ecdhk283") == 0)
-- ecdh_doit[R_EC_K283] = 2;
-- else if (strcmp(*argv, "ecdhk409") == 0)
-- ecdh_doit[R_EC_K409] = 2;
-- else if (strcmp(*argv, "ecdhk571") == 0)
-- ecdh_doit[R_EC_K571] = 2;
-- else if (strcmp(*argv, "ecdhb163") == 0)
-- ecdh_doit[R_EC_B163] = 2;
-- else if (strcmp(*argv, "ecdhb233") == 0)
-- ecdh_doit[R_EC_B233] = 2;
-- else if (strcmp(*argv, "ecdhb283") == 0)
-- ecdh_doit[R_EC_B283] = 2;
-- else if (strcmp(*argv, "ecdhb409") == 0)
-- ecdh_doit[R_EC_B409] = 2;
-- else if (strcmp(*argv, "ecdhb571") == 0)
-- ecdh_doit[R_EC_B571] = 2;
- else if (strcmp(*argv, "ecdh") == 0) {
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i <= R_EC_P521; i++)
- ecdh_doit[i] = 1;
- } else
- # endif
-@@ -1149,21 +1103,13 @@ int MAIN(int argc, char **argv)
- BIO_printf(bio_err, "dsa512 dsa1024 dsa2048\n");
- # endif
- # ifndef OPENSSL_NO_ECDSA
-- BIO_printf(bio_err, "ecdsap160 ecdsap192 ecdsap224 "
-+ BIO_printf(bio_err, "ecdsap224 "
- "ecdsap256 ecdsap384 ecdsap521\n");
-- BIO_printf(bio_err,
-- "ecdsak163 ecdsak233 ecdsak283 ecdsak409 ecdsak571\n");
-- BIO_printf(bio_err,
-- "ecdsab163 ecdsab233 ecdsab283 ecdsab409 ecdsab571\n");
- BIO_printf(bio_err, "ecdsa\n");
- # endif
- # ifndef OPENSSL_NO_ECDH
-- BIO_printf(bio_err, "ecdhp160 ecdhp192 ecdhp224 "
-+ BIO_printf(bio_err, "ecdhp224 "
- "ecdhp256 ecdhp384 ecdhp521\n");
-- BIO_printf(bio_err,
-- "ecdhk163 ecdhk233 ecdhk283 ecdhk409 ecdhk571\n");
-- BIO_printf(bio_err,
-- "ecdhb163 ecdhb233 ecdhb283 ecdhb409 ecdhb571\n");
- BIO_printf(bio_err, "ecdh\n");
- # endif
-
-@@ -1242,11 +1188,11 @@ int MAIN(int argc, char **argv)
- for (i = 0; i < DSA_NUM; i++)
- dsa_doit[i] = 1;
- # ifndef OPENSSL_NO_ECDSA
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i <= R_EC_P521; i++)
- ecdsa_doit[i] = 1;
- # endif
- # ifndef OPENSSL_NO_ECDH
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i <= R_EC_P521; i++)
- ecdh_doit[i] = 1;
- # endif
- }
---- a/crypto/ec/ecp_smpl.c
-+++ b/crypto/ec/ecp_smpl.c
-@@ -187,6 +187,11 @@ int ec_GFp_simple_group_set_curve(EC_GROUP *group,
- return 0;
- }
-
-+ if (BN_num_bits(p) < 224) {
-+ ECerr(EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE, EC_R_UNSUPPORTED_FIELD);
-+ return 0;
-+ }
-+
- if (ctx == NULL) {
- ctx = new_ctx = BN_CTX_new();
- if (ctx == NULL)
---- a/crypto/ecdh/ecdhtest.c
-+++ b/crypto/ecdh/ecdhtest.c
-@@ -501,11 +501,13 @@ int main(int argc, char *argv[])
- goto err;
-
- /* NIST PRIME CURVES TESTS */
-+# if 0
- if (!test_ecdh_curve
- (NID_X9_62_prime192v1, "NIST Prime-Curve P-192", ctx, out))
- goto err;
- if (!test_ecdh_curve(NID_secp224r1, "NIST Prime-Curve P-224", ctx, out))
- goto err;
-+# endif
- if (!test_ecdh_curve
- (NID_X9_62_prime256v1, "NIST Prime-Curve P-256", ctx, out))
- goto err;
-@@ -536,13 +538,14 @@ int main(int argc, char *argv[])
- if (!test_ecdh_curve(NID_sect571r1, "NIST Binary-Curve B-571", ctx, out))
- goto err;
- # endif
-+# if 0
- if (!test_ecdh_kat(out, "Brainpool Prime-Curve brainpoolP256r1", 256))
- goto err;
- if (!test_ecdh_kat(out, "Brainpool Prime-Curve brainpoolP384r1", 384))
- goto err;
- if (!test_ecdh_kat(out, "Brainpool Prime-Curve brainpoolP512r1", 512))
- goto err;
--
-+# endif
- ret = 0;
-
- err:
---- a/crypto/ecdsa/ecdsatest.c
-+++ b/crypto/ecdsa/ecdsatest.c
-@@ -138,9 +138,12 @@ int restore_rand(void)
- }
-
- static int fbytes_counter = 0, use_fake = 0;
--static const char *numbers[8] = {
-+static const char *numbers[10] = {
-+ "651056770906015076056810763456358567190100156695615665659",
- "651056770906015076056810763456358567190100156695615665659",
- "6140507067065001063065065565667405560006161556565665656654",
-+ "8763001015071075675010661307616710783570106710677817767166"
-+ "71676178726717",
- "8763001015071075675010661307616710783570106710677817767166"
- "71676178726717",
- "7000000175690566466555057817571571075705015757757057795755"
-@@ -163,7 +166,7 @@ int fbytes(unsigned char *buf, int num)
-
- use_fake = 0;
-
-- if (fbytes_counter >= 8)
-+ if (fbytes_counter >= 10)
- return 0;
- tmp = BN_new();
- if (!tmp)
-@@ -539,8 +542,10 @@ int main(void)
- RAND_seed(rnd_seed, sizeof(rnd_seed));
-
- /* the tests */
-+# if 0
- if (!x9_62_tests(out))
- goto err;
-+# endif
- if (!test_builtin(out))
- goto err;
-
---- a/ssl/t1_lib.c
-+++ b/ssl/t1_lib.c
-@@ -271,10 +271,7 @@ static const unsigned char eccurves_auto[] = {
- 0, 23, /* secp256r1 (23) */
- /* Other >= 256-bit prime curves. */
- 0, 25, /* secp521r1 (25) */
-- 0, 28, /* brainpool512r1 (28) */
-- 0, 27, /* brainpoolP384r1 (27) */
- 0, 24, /* secp384r1 (24) */
-- 0, 26, /* brainpoolP256r1 (26) */
- 0, 22, /* secp256k1 (22) */
- # ifndef OPENSSL_NO_EC2M
- /* >= 256-bit binary curves. */
-@@ -292,10 +289,7 @@ static const unsigned char eccurves_all[] = {
- 0, 23, /* secp256r1 (23) */
- /* Other >= 256-bit prime curves. */
- 0, 25, /* secp521r1 (25) */
-- 0, 28, /* brainpool512r1 (28) */
-- 0, 27, /* brainpoolP384r1 (27) */
- 0, 24, /* secp384r1 (24) */
-- 0, 26, /* brainpoolP256r1 (26) */
- 0, 22, /* secp256k1 (22) */
- # ifndef OPENSSL_NO_EC2M
- /* >= 256-bit binary curves. */
-@@ -310,13 +304,6 @@ static const unsigned char eccurves_all[] = {
- * Remaining curves disabled by default but still permitted if set
- * via an explicit callback or parameters.
- */
-- 0, 20, /* secp224k1 (20) */
-- 0, 21, /* secp224r1 (21) */
-- 0, 18, /* secp192k1 (18) */
-- 0, 19, /* secp192r1 (19) */
-- 0, 15, /* secp160k1 (15) */
-- 0, 16, /* secp160r1 (16) */
-- 0, 17, /* secp160r2 (17) */
- # ifndef OPENSSL_NO_EC2M
- 0, 8, /* sect239k1 (8) */
- 0, 6, /* sect233k1 (6) */
-@@ -351,29 +338,21 @@ static const unsigned char fips_curves_default[] = {
- 0, 9, /* sect283k1 (9) */
- 0, 10, /* sect283r1 (10) */
- # endif
-- 0, 22, /* secp256k1 (22) */
- 0, 23, /* secp256r1 (23) */
- # ifndef OPENSSL_NO_EC2M
- 0, 8, /* sect239k1 (8) */
- 0, 6, /* sect233k1 (6) */
- 0, 7, /* sect233r1 (7) */
- # endif
-- 0, 20, /* secp224k1 (20) */
-- 0, 21, /* secp224r1 (21) */
- # ifndef OPENSSL_NO_EC2M
- 0, 4, /* sect193r1 (4) */
- 0, 5, /* sect193r2 (5) */
- # endif
-- 0, 18, /* secp192k1 (18) */
-- 0, 19, /* secp192r1 (19) */
- # ifndef OPENSSL_NO_EC2M
- 0, 1, /* sect163k1 (1) */
- 0, 2, /* sect163r1 (2) */
- 0, 3, /* sect163r2 (3) */
- # endif
-- 0, 15, /* secp160k1 (15) */
-- 0, 16, /* secp160r1 (16) */
-- 0, 17, /* secp160r2 (17) */
- };
- # endif
-
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 8419c576d834..bfc9fa7650db 100644
--- a/dev-libs/openssl-compat/metadata.xml
+++ b/dev-libs/openssl-compat/metadata.xml
@@ -1,19 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="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-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-r1.ebuild b/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r1.ebuild
deleted file mode 100644
index 26730ec90fe6..000000000000
--- a/dev-libs/openssl-compat/openssl-compat-0.9.8z_p8-r1.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2019 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 eutils flag-o-matic toolchain-funcs multilib 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 ~sh ~sparc x86 ~x86-fbsd"
-IUSE="bindist gmp kerberos cpu_flags_x86_sse2 test zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}] )
- zlib? ( >=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 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.2r.ebuild b/dev-libs/openssl-compat/openssl-compat-1.0.2r.ebuild
deleted file mode 100644
index 7aef40f273d2..000000000000
--- a/dev-libs/openssl-compat/openssl-compat-1.0.2r.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
-
-# openssl-1.0.2-patches-1.6 contain additional CVE patches
-# which got fixed with this release.
-# Please use 1.7 version number when rolling a new tarball!
-PATCH_SET="openssl-1.0.2-patches-1.5"
-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
- !vanilla? (
- mirror://gentoo/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~chutzpah/dist/openssl/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~whissi/dist/openssl/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
- )"
-
-LICENSE="openssl"
-SLOT="1.0.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
- !=dev-libs/openssl-1.0.2*:0
- !dev-libs/openssl:1.0.0"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-
-RESTRICT="test"
-
-# Do not install any docs
-DOCS=()
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-# These are ported instead
-#PATCH1=openssl-1.1.0-build.patch # Fixes EVP testcase for EC
-#PATCH37=openssl-1.1.0-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f25'
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( $SOURCE1 $SOURCE12 $SOURCE13 )
-FEDORA_PATCH=( $PATCH1 $PATCH37 )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> openssl-${PV}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-src_prepare() {
- if use bindist; then
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"openssl-${PV}_${i}" "${WORKDIR}"/"${i}" || die
- done
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/crypto/ec/ || die # Moves to test/ in OpenSSL-1.1
- for i in "${FEDORA_PATCH[@]}" ; do
- eapply "${DISTDIR}"/"${i}"
- done
- eapply "${FILESDIR}"/openssl-1.0.2p-hobble-ecc.patch
- # Also see the configure parts below:
- # enable-ec \
- # $(use_ssl !bindist ec2m) \
- # $(use_ssl !bindist srp) \
- 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
- eapply "${WORKDIR}"/patch/*.patch
- fi
-
- eapply_user
-
- # 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:=.*:='${EPREFIX%/}'/usr/share/man:') \
- Makefile.org \
- || die
- # show the actual commands in the log
- sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
-
- # since we're forcing $(CC) as makedep anyway, just fix
- # the conditional as always-on
- # helps clang (#417795), and versioned gcc (#499818)
- # this breaks build with 1.0.2p, not sure if it is needed anymore
- #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-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- sed -i '1s,^:$,#!'${EPREFIX%/}'/usr/bin/perl,' Configure #141906
- # 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
-
- # https://github.com/openssl/openssl/issues/2286
- if use ia64 ; then
- replace-flags -g3 -g2
- replace-flags -ggdb3 -ggdb2
- 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', 'no-srp'
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- $(use_ssl !bindist srp) \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- enable-tlsext \
- $(use_ssl asm) \
- $(use_ssl gmp gmp -lgmp) \
- $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl sslv2 ssl2) \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl tls-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX%/}"/usr \
- --openssldir="${EPREFIX%/}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # 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 "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
- -e "/^SHARED_LDFLAGS=/s|$| ${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 V=1 depend
- emake build_libs
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- dolib.so lib{crypto,ssl}.so.${SLOT}
-}
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
new file mode 100644
index 000000000000..e3f11f7685f4
--- /dev/null
+++ b/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic toolchain-funcs multilib-minimal
+
+# openssl-1.0.2-patches-1.6 contain additional CVE patches
+# which got fixed with this release.
+# Please use 1.7 version number when rolling a new tarball!
+PATCH_SET="openssl-1.0.2-patches-1.5"
+
+MY_P=openssl-${PV/_/-}
+
+# This patch set is based on the following files from Fedora 25,
+# see https://src.fedoraproject.org/rpms/openssl/blob/25/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.0.2t-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}
+ )
+ !vanilla? (
+ mirror://gentoo/${PATCH_SET}.tar.xz
+ https://dev.gentoo.org/~chutzpah/dist/openssl/${PATCH_SET}.tar.xz
+ https://dev.gentoo.org/~whissi/dist/openssl/${PATCH_SET}.tar.xz
+ https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
+ )
+ https://dev.gentoo.org/~whissi/dist/openssl/openssl-compat-1.0.2u-versioned-symbols.patch.gz"
+
+LICENSE="openssl"
+SLOT="1.0.0"
+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 )
+ test"
+
+RDEPEND="gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ !=dev-libs/openssl-1.0.2*:0
+ !dev-libs/openssl:1.0.0"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ )"
+
+# Do not install any docs
+DOCS=()
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ mv "${WORKDIR}"/openssl-compat-1.0.2u-versioned-symbols.patch "${WORKDIR}"/patch || 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}"/crypto/ec/ || die
+
+ eapply "${WORKDIR}"/bindist-patches/ec-curves.patch
+
+ # Also see the configure parts below:
+ # enable-ec \
+ # $(use_ssl !bindist ec2m) \
+ # $(use_ssl !bindist srp) \
+ 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
+ eapply "${WORKDIR}"/patch/*.patch
+ fi
+
+ eapply_user
+
+ # 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:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ # this breaks build with 1.0.2p, not sure if it is needed anymore
+ #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-1.0.2 gentoo.config || die
+ chmod a+rx gentoo.config || die
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # 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
+
+ # https://github.com/openssl/openssl/issues/2286
+ if use ia64 ; then
+ replace-flags -g3 -g2
+ replace-flags -ggdb3 -ggdb2
+ 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', 'no-srp'
+ # 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 srp) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ enable-tlsext \
+ $(use_ssl asm) \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl sctp) \
+ $(use_ssl sslv2 ssl2) \
+ $(use_ssl sslv3 ssl3) \
+ $(use_ssl tls-heartbeat heartbeats) \
+ $(use_ssl tls-compression zlib) \
+ --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 ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -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 "/^CFLAG/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 V=1 depend
+ emake build_libs
+}
+
+multilib_src_test() {
+ emake -j1 test
+}
+
+multilib_src_install() {
+ dolib.so lib{crypto,ssl}.so.${SLOT}
+}
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 ae40847f77dc..eeae374ea4b7 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -1,28 +1,17 @@
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
-DIST openssl-1.0.2r.tar.gz 5348369 BLAKE2B 9f9c2d2fe6eaf9acacab29b394a318f30c38e831a5f9c193b2da660f9d04acbf407d8b752274783765416c0f5ba557c24ee293ad7fb7d727771db289e6acc901 SHA512 6eb2211f3ad56d7573ac26f388338592c37e5faaf5e2d44c0fa9062c12186e56a324f135d1c956a89b55fcce047e6428bec2756658d103e7275e08b46f741235
-DIST openssl-1.0.2r_ec_curve.c 17254 BLAKE2B d40d8d6e770443f07abe70e2c4ddda6aec1cc8e37dc1f226a3fdd9ed5d228f09c6d372e8956b1948b55ee1d57d1429493e7288d0f54d9466a37fec805c85aacb SHA512 8e92fb100bcf4bd918c82b9a6cbd75a55abe1a2c08230a007e441c51577f974f8cc336e9ac8a672b32641480428ca8cead5380da1fe81bacb088145a1b754a15
-DIST openssl-1.0.2r_ectest.c 30735 BLAKE2B 95333a27f1cf0a4305a3cee7f6d46b9d4673582ca9acfcf5ba2a0d9d317ab6219cd0d2ff0ba3a55a317c8f5819342f05cc17ba80ec2c92b2b4cab9a3552382e1 SHA512 f2e4d34327b490bc8371f0845c69df3f9fc51ea16f0ea0de0411a0c1fa9d49bb2b6fafc363eb3b3cd919dc7c24e4a0d075c6ff878c01d70dae918f2540874c19
-DIST openssl-1.0.2r_hobble-openssl 1302 BLAKE2B 647caa6a0f4c53a2e77baa3b8e5961eaef3bb0ff38e7d5475eab8deef3439f7fe49028ec9ed0406f3453870b62cac67c496b3a048ee4c9ff4c6866d520235960 SHA512 3d757a4708e74a03dd5cb9b8114dfe442ed9520739a6eca693be4c4265771696f1449ea06d1c9bcfc6e94fc9b0dd0c10e153f1c3b0334831c0550b36cd63326e
-DIST openssl-1.0.2s.tar.gz 5349149 BLAKE2B 46c72dcceb5b473b129be0a895f3d6c25a24ee852a31dc369ccf0e44319259d8694d3571b8cb698efb8bce89dbe31f4fc9f82753cacb24cbd3d50fa2ab9b6e83 SHA512 9f745452c4f777df694158e95003cde78a2cf8199bc481a563ec36644664c3c1415a774779b9791dd18f2aeb57fa1721cb52b3db12d025955e970071d5b66d2a
-DIST openssl-1.0.2s_ec_curve.c 17254 BLAKE2B d40d8d6e770443f07abe70e2c4ddda6aec1cc8e37dc1f226a3fdd9ed5d228f09c6d372e8956b1948b55ee1d57d1429493e7288d0f54d9466a37fec805c85aacb SHA512 8e92fb100bcf4bd918c82b9a6cbd75a55abe1a2c08230a007e441c51577f974f8cc336e9ac8a672b32641480428ca8cead5380da1fe81bacb088145a1b754a15
-DIST openssl-1.0.2s_ectest.c 30735 BLAKE2B 95333a27f1cf0a4305a3cee7f6d46b9d4673582ca9acfcf5ba2a0d9d317ab6219cd0d2ff0ba3a55a317c8f5819342f05cc17ba80ec2c92b2b4cab9a3552382e1 SHA512 f2e4d34327b490bc8371f0845c69df3f9fc51ea16f0ea0de0411a0c1fa9d49bb2b6fafc363eb3b3cd919dc7c24e4a0d075c6ff878c01d70dae918f2540874c19
-DIST openssl-1.0.2s_hobble-openssl 1302 BLAKE2B 647caa6a0f4c53a2e77baa3b8e5961eaef3bb0ff38e7d5475eab8deef3439f7fe49028ec9ed0406f3453870b62cac67c496b3a048ee4c9ff4c6866d520235960 SHA512 3d757a4708e74a03dd5cb9b8114dfe442ed9520739a6eca693be4c4265771696f1449ea06d1c9bcfc6e94fc9b0dd0c10e153f1c3b0334831c0550b36cd63326e
-DIST openssl-1.1.0-build_d2ede125556ac99aa0faa7744c703af3f559094e.patch 3001 BLAKE2B 8f0ac4be6409b4ec50bec171697da2aebe2688e8ae06bd0dfac8b0c74661d38ebeb0a12bde0ef941b213eee9b85965262213b140636060285dcfb02a3bd14961 SHA512 ec6710e9669ac19e4c6f1286c89a383e7d276a773a2740037f98a8f2dbf18305614e7d30d9ed530923a0e7d10a3776fea2ca77229adc25df13ecad55589a3673
-DIST openssl-1.1.0-ec-curves_d2ede125556ac99aa0faa7744c703af3f559094e.patch 5311 BLAKE2B e9ec985adf6f13eb04412158a05da7cbe10be7d64bce73b899152ea379336ece7b7069089ef46993ac301ef850fd46fd0352898e249b2ea9fff5baf20896e5b5 SHA512 c38c4b05195f2b323a07efd8d17335ba2a168a16a59d7941da36568081f1c043da8d2216b7084b0617963635ded9bafeee736ecddbfa251cf0a02e4cba64cdc8
-DIST openssl-1.1.0j.tar.gz 5411919 BLAKE2B 0fbd936f38d30b64bea717a67cd59704c5ce44ee19f377a820f89ba66b9e0a7509cf39e0fb00c104ae6440a6bd811e388239b458ffe685d8601235bab2afb2f1 SHA512 e7d30951ebb3cbcb6d59e3eb40f64f5a84634b7f5c380a588d378973f1c415395e3ab71a9aaff6478a89ec6efcc88f17f1882c99c25dcd18165f1435a51e5768
-DIST openssl-1.1.0j_d2ede125556ac99aa0faa7744c703af3f559094e_ec_curve.c 18401 BLAKE2B f969071ac1b5d0e43b50d54e50b5c4d9201fc8b94458902e9849f14841b5505a2e43ed57a8c13255f042a211af9ee904776c155c36da838a8ad22e1052b02bc1 SHA512 a1c2bb3c3e3d342bddc8c952985e87fc4bad2e8142d5d760b18f346c44c20f00db61c4856f3dcf879b2098e0c036330762915f65d80a1a2cba717d2caeb95457
-DIST openssl-1.1.0j_d2ede125556ac99aa0faa7744c703af3f559094e_ectest.c 30688 BLAKE2B 6673ef0fd139af82d830794179b19b9e06be25fac4a13b8bdfa5fd5dad25f594ce8eab118aab9ec2aab25001e1de127c03f8e1a04f4f3ef4c464b7fb1811ed4a SHA512 240fc72916caf4a8b0af774ce307abfe9a93a762eba6fae760cec79d619fe3db0d6919fc92a8951cb031f73958237700b45f590aa7f9f2890762cccda1f1e74b
-DIST openssl-1.1.0j_d2ede125556ac99aa0faa7744c703af3f559094e_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131ec500a311e22d3da55034800ca353c387b2e202575acf3badb00b236ff91d4bac1bb131a33930939646d26bec27be6e04 SHA512 fa9cc70afa11a7a292548b4bddbba8159824a364ce5c279b483768e6ae2aa4b5491d9bf2cc734819f30a11c8ee0d91bcb991c4a7ab357296aeb4c04feac74826
-DIST openssl-1.1.0k.tar.gz 5287321 BLAKE2B fce40a399f5a08d5fe183dfcaab11b211d982885fb9888b25fa41bdd9919ecd203fca6f573363cfb42c9a0776ae69ea50b0f144227a3f28ca0dbadf878d396bc SHA512 65f41a240a97d79504c0e1391fde8ac8692f0993437cdc35e4bc964ecc36e5ef75a62499c4c6cb4ce63f892135e06dba2d3594c8869d935554296fa3c6ccd822
-DIST openssl-1.1.0k_d2ede125556ac99aa0faa7744c703af3f559094e_ec_curve.c 18401 BLAKE2B f969071ac1b5d0e43b50d54e50b5c4d9201fc8b94458902e9849f14841b5505a2e43ed57a8c13255f042a211af9ee904776c155c36da838a8ad22e1052b02bc1 SHA512 a1c2bb3c3e3d342bddc8c952985e87fc4bad2e8142d5d760b18f346c44c20f00db61c4856f3dcf879b2098e0c036330762915f65d80a1a2cba717d2caeb95457
-DIST openssl-1.1.0k_d2ede125556ac99aa0faa7744c703af3f559094e_ectest.c 30688 BLAKE2B 6673ef0fd139af82d830794179b19b9e06be25fac4a13b8bdfa5fd5dad25f594ce8eab118aab9ec2aab25001e1de127c03f8e1a04f4f3ef4c464b7fb1811ed4a SHA512 240fc72916caf4a8b0af774ce307abfe9a93a762eba6fae760cec79d619fe3db0d6919fc92a8951cb031f73958237700b45f590aa7f9f2890762cccda1f1e74b
-DIST openssl-1.1.0k_d2ede125556ac99aa0faa7744c703af3f559094e_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131ec500a311e22d3da55034800ca353c387b2e202575acf3badb00b236ff91d4bac1bb131a33930939646d26bec27be6e04 SHA512 fa9cc70afa11a7a292548b4bddbba8159824a364ce5c279b483768e6ae2aa4b5491d9bf2cc734819f30a11c8ee0d91bcb991c4a7ab357296aeb4c04feac74826
-DIST openssl-1.1.1-ec-curves.patch 7265 BLAKE2B 04725d226c430132cf54afbfaa30a82f8f8bbfd3608823d1d0cd42c3c13f417e90762759da3134d7b0c4373e531925db337b681340f2f284cb2f16a4caef22e3 SHA512 de4d0f1635740c57217836a476c420141c0d34a5f90cbf7957aed7a80e7ac9ca036de2d8448e6bf4c122999e308730575899f61cea6e51ab6825dd04890d75a1
-DIST openssl-1.1.1b.tar.gz 8213737 BLAKE2B 7ad9da9548052e2a033a684038f97c420cfffd57994604bcb3fa12640796c8c0aea3d24fb05648ee4940fbec40b81462e81c353da5a41a2575c0585d9718eae8 SHA512 b54025fbb4fe264466f3b0d762aad4be45bd23cd48bdb26d901d4c41a40bfd776177e02230995ab181a695435039dbad313f4b9a563239a70807a2e19ecf045d
-DIST openssl-1.1.1b_ec_curve.c 17938 BLAKE2B d5cbde40dcd8608087aed6ffa9feb040ffadecf0c46b7f3978cc468a9503f0a5ad0a426ea6f8db56f49a64474a508bebdf946e01ebf09adc727675f3b180bcdc SHA512 ec470f6514cb9a4f680b8cbbe02e2bbe71639b288f3429d976726047901d9c50377dfb2737f32429da2fb0e52fd67878a86debb54520e307ee196d97b5c66415
-DIST openssl-1.1.1b_ectest.c 35091 BLAKE2B a9602255ab529751c2af2419206ce113f03f93b7b776691ea2ec550f26ddbecd241844bb81dc86988fdbb1c0a587318f82ce4faecba1a6142a19cf08d40fb2c5 SHA512 7813d9b6b7ab62119a7f2dd5431c17c5839f4c320ac7071b0714c9b8528bda5fda779dbb263328dca6ee8446e9fa09c663da659c9a82832a65cf53d1cd8a4cef
-DIST openssl-1.1.1b_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131ec500a311e22d3da55034800ca353c387b2e202575acf3badb00b236ff91d4bac1bb131a33930939646d26bec27be6e04 SHA512 fa9cc70afa11a7a292548b4bddbba8159824a364ce5c279b483768e6ae2aa4b5491d9bf2cc734819f30a11c8ee0d91bcb991c4a7ab357296aeb4c04feac74826
-DIST openssl-1.1.1c.tar.gz 8864262 BLAKE2B bd157b244bedcefb8e646a743732945119b267236789ac69c38856570318aca09299bdaaea3f20294863b633e6fd4dfe124820597185b3b7461cfdf094daadb0 SHA512 8e2c5cc11c120efbb7d7850980cb6eaa782d29b4996b3f3378d37613c1679f852d7cc08a90d62e78fcec3439f06bdbee70064579a8c2adaffd91532a97f646ff
-DIST openssl-1.1.1c_ec_curve.c 17938 BLAKE2B d5cbde40dcd8608087aed6ffa9feb040ffadecf0c46b7f3978cc468a9503f0a5ad0a426ea6f8db56f49a64474a508bebdf946e01ebf09adc727675f3b180bcdc SHA512 ec470f6514cb9a4f680b8cbbe02e2bbe71639b288f3429d976726047901d9c50377dfb2737f32429da2fb0e52fd67878a86debb54520e307ee196d97b5c66415
-DIST openssl-1.1.1c_ectest.c 35091 BLAKE2B a9602255ab529751c2af2419206ce113f03f93b7b776691ea2ec550f26ddbecd241844bb81dc86988fdbb1c0a587318f82ce4faecba1a6142a19cf08d40fb2c5 SHA512 7813d9b6b7ab62119a7f2dd5431c17c5839f4c320ac7071b0714c9b8528bda5fda779dbb263328dca6ee8446e9fa09c663da659c9a82832a65cf53d1cd8a4cef
-DIST openssl-1.1.1c_hobble-openssl 1117 BLAKE2B c3a1477e63331e83cf1cbe58e9ef131ec500a311e22d3da55034800ca353c387b2e202575acf3badb00b236ff91d4bac1bb131a33930939646d26bec27be6e04 SHA512 fa9cc70afa11a7a292548b4bddbba8159824a364ce5c279b483768e6ae2aa4b5491d9bf2cc734819f30a11c8ee0d91bcb991c4a7ab357296aeb4c04feac74826
+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.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
+DIST openssl-3.3.0.tar.gz 18038030 BLAKE2B c68efaf8aca87961f396e305acc767b56d651b9adf4fd2c9d9b5a3266e35da4b856c6ed34be47d656c782aade975f20317a6759913b33d29d7eb088e638fa501 SHA512 1f9daeee6542e1b831c65f1f87befaef98ccedc3abc958c9d17f064ef771924c30849e3ff880f94eed4aaa9d81ea105e3bc8815e6d2e4d6b60b5e890f14fc5da
+DIST openssl-3.3.0.tar.gz.asc 833 BLAKE2B 207b9fd53de6f57fe24d6a6e5e9f735b7649258bb2873b6c1e29b7d2689c9a75774dbf09392be40f8a8ab240e4e6c745e2864155e8b0f2f3f5ca3b45051e869a SHA512 8750daa607e6bfd2326a4d4f04c9c04608d9fa852fc1515acf1fcf3d1ad33b8ba8435d9ef1ac3a032fecd09aa90446c53996045506bcfbddb7544bb61b26af24
diff --git a/dev-libs/openssl/files/gentoo.config-1.0.2 b/dev-libs/openssl/files/gentoo.config-1.0.2
index d16175e6292e..caa569588f3c 100644
--- a/dev-libs/openssl/files/gentoo.config-1.0.2
+++ b/dev-libs/openssl/files/gentoo.config-1.0.2
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-# Copyright 1999-2018 Gentoo Foundation
+# 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
@@ -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";;
@@ -104,6 +105,8 @@ linux)
powerpc64*) machine=ppc64;;
powerpc*le*) machine="generic32 -DL_ENDIAN";;
powerpc*) machine=ppc;;
+ riscv32*) machine="generic32 -DL_ENDIAN";;
+ riscv64*) machine="generic64 -DL_ENDIAN";;
# sh64*) machine=elf;;
sh*b*) machine="generic32 -DB_ENDIAN";;
sh*) machine="generic32 -DL_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-1.0.2a-x32-asm.patch b/dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch
deleted file mode 100644
index 3a005c9b099d..000000000000
--- a/dev-libs/openssl/files/openssl-1.0.2a-x32-asm.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-https://rt.openssl.org/Ticket/Display.html?id=3759&user=guest&pass=guest
-
-From 6257d59b3a68d2feb9d64317a1c556dc3813ee61 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 21 Mar 2015 06:01:25 -0400
-Subject: [PATCH] crypto: use bigint in x86-64 perl
-
-When building on x32 systems where the default type is 32bit, make sure
-we can transparently represent 64bit integers. Otherwise we end up with
-build errors like:
-/usr/bin/perl asm/ghash-x86_64.pl elf > ghash-x86_64.s
-Integer overflow in hexadecimal number at asm/../../perlasm/x86_64-xlate.pl line 201, <> line 890.
-...
-ghash-x86_64.s: Assembler messages:
-ghash-x86_64.s:890: Error: junk '.15473355479995e+19' after expression
-
-We don't enable this globally as there are some cases where we'd get
-32bit values interpreted as unsigned when we need them as signed.
-
-Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh>
-URL: https://bugs.gentoo.org/542618
----
- crypto/perlasm/x86_64-xlate.pl | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
-index aae8288..0bf9774 100755
---- a/crypto/perlasm/x86_64-xlate.pl
-+++ b/crypto/perlasm/x86_64-xlate.pl
-@@ -195,6 +195,10 @@ my %globals;
- sub out {
- my $self = shift;
-
-+ # When building on x32 ABIs, the expanded hex value might be too
-+ # big to fit into 32bits. Enable transparent 64bit support here
-+ # so we can safely print it out.
-+ use bigint;
- if ($gas) {
- # Solaris /usr/ccs/bin/as can't handle multiplications
- # in $self->{value}
---
-2.3.3
-
diff --git a/dev-libs/openssl/files/openssl-1.0.2p-hobble-ecc.patch b/dev-libs/openssl/files/openssl-1.0.2p-hobble-ecc.patch
deleted file mode 100644
index 3a458a783603..000000000000
--- a/dev-libs/openssl/files/openssl-1.0.2p-hobble-ecc.patch
+++ /dev/null
@@ -1,283 +0,0 @@
-Port of Fedora's Hobble-EC patches for OpenSSL 1.0 series.
-
-From https://src.fedoraproject.org/git/rpms/openssl.git
-
-Contains parts of the following patches, rediffed. The patches are on various
-different branches.
-f23 openssl-1.0.2c-ecc-suiteb.patch
-f23 openssl-1.0.2a-fips-ec.patch
-f28 openssl-1.1.0-ec-curves.patch
-
-Signed-off-By: Robin H. Johnson <robbat2@gentoo.org>
-
---- a/apps/speed.c
-+++ b/apps/speed.c
-@@ -989,10 +989,7 @@ int MAIN(int argc, char **argv)
- } else
- # endif
- # ifndef OPENSSL_NO_ECDSA
-- if (strcmp(*argv, "ecdsap160") == 0)
-- ecdsa_doit[R_EC_P160] = 2;
-- else if (strcmp(*argv, "ecdsap192") == 0)
-- ecdsa_doit[R_EC_P192] = 2;
-+ if (0) {}
- else if (strcmp(*argv, "ecdsap224") == 0)
- ecdsa_doit[R_EC_P224] = 2;
- else if (strcmp(*argv, "ecdsap256") == 0)
-@@ -1001,36 +998,13 @@ int MAIN(int argc, char **argv)
- ecdsa_doit[R_EC_P384] = 2;
- else if (strcmp(*argv, "ecdsap521") == 0)
- ecdsa_doit[R_EC_P521] = 2;
-- else if (strcmp(*argv, "ecdsak163") == 0)
-- ecdsa_doit[R_EC_K163] = 2;
-- else if (strcmp(*argv, "ecdsak233") == 0)
-- ecdsa_doit[R_EC_K233] = 2;
-- else if (strcmp(*argv, "ecdsak283") == 0)
-- ecdsa_doit[R_EC_K283] = 2;
-- else if (strcmp(*argv, "ecdsak409") == 0)
-- ecdsa_doit[R_EC_K409] = 2;
-- else if (strcmp(*argv, "ecdsak571") == 0)
-- ecdsa_doit[R_EC_K571] = 2;
-- else if (strcmp(*argv, "ecdsab163") == 0)
-- ecdsa_doit[R_EC_B163] = 2;
-- else if (strcmp(*argv, "ecdsab233") == 0)
-- ecdsa_doit[R_EC_B233] = 2;
-- else if (strcmp(*argv, "ecdsab283") == 0)
-- ecdsa_doit[R_EC_B283] = 2;
-- else if (strcmp(*argv, "ecdsab409") == 0)
-- ecdsa_doit[R_EC_B409] = 2;
-- else if (strcmp(*argv, "ecdsab571") == 0)
-- ecdsa_doit[R_EC_B571] = 2;
- else if (strcmp(*argv, "ecdsa") == 0) {
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i < R_EC_P521; i++)
- ecdsa_doit[i] = 1;
- } else
- # endif
- # ifndef OPENSSL_NO_ECDH
-- if (strcmp(*argv, "ecdhp160") == 0)
-- ecdh_doit[R_EC_P160] = 2;
-- else if (strcmp(*argv, "ecdhp192") == 0)
-- ecdh_doit[R_EC_P192] = 2;
-+ if (0) {}
- else if (strcmp(*argv, "ecdhp224") == 0)
- ecdh_doit[R_EC_P224] = 2;
- else if (strcmp(*argv, "ecdhp256") == 0)
-@@ -1039,28 +1013,8 @@ int MAIN(int argc, char **argv)
- ecdh_doit[R_EC_P384] = 2;
- else if (strcmp(*argv, "ecdhp521") == 0)
- ecdh_doit[R_EC_P521] = 2;
-- else if (strcmp(*argv, "ecdhk163") == 0)
-- ecdh_doit[R_EC_K163] = 2;
-- else if (strcmp(*argv, "ecdhk233") == 0)
-- ecdh_doit[R_EC_K233] = 2;
-- else if (strcmp(*argv, "ecdhk283") == 0)
-- ecdh_doit[R_EC_K283] = 2;
-- else if (strcmp(*argv, "ecdhk409") == 0)
-- ecdh_doit[R_EC_K409] = 2;
-- else if (strcmp(*argv, "ecdhk571") == 0)
-- ecdh_doit[R_EC_K571] = 2;
-- else if (strcmp(*argv, "ecdhb163") == 0)
-- ecdh_doit[R_EC_B163] = 2;
-- else if (strcmp(*argv, "ecdhb233") == 0)
-- ecdh_doit[R_EC_B233] = 2;
-- else if (strcmp(*argv, "ecdhb283") == 0)
-- ecdh_doit[R_EC_B283] = 2;
-- else if (strcmp(*argv, "ecdhb409") == 0)
-- ecdh_doit[R_EC_B409] = 2;
-- else if (strcmp(*argv, "ecdhb571") == 0)
-- ecdh_doit[R_EC_B571] = 2;
- else if (strcmp(*argv, "ecdh") == 0) {
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i <= R_EC_P521; i++)
- ecdh_doit[i] = 1;
- } else
- # endif
-@@ -1149,21 +1103,13 @@ int MAIN(int argc, char **argv)
- BIO_printf(bio_err, "dsa512 dsa1024 dsa2048\n");
- # endif
- # ifndef OPENSSL_NO_ECDSA
-- BIO_printf(bio_err, "ecdsap160 ecdsap192 ecdsap224 "
-+ BIO_printf(bio_err, "ecdsap224 "
- "ecdsap256 ecdsap384 ecdsap521\n");
-- BIO_printf(bio_err,
-- "ecdsak163 ecdsak233 ecdsak283 ecdsak409 ecdsak571\n");
-- BIO_printf(bio_err,
-- "ecdsab163 ecdsab233 ecdsab283 ecdsab409 ecdsab571\n");
- BIO_printf(bio_err, "ecdsa\n");
- # endif
- # ifndef OPENSSL_NO_ECDH
-- BIO_printf(bio_err, "ecdhp160 ecdhp192 ecdhp224 "
-+ BIO_printf(bio_err, "ecdhp224 "
- "ecdhp256 ecdhp384 ecdhp521\n");
-- BIO_printf(bio_err,
-- "ecdhk163 ecdhk233 ecdhk283 ecdhk409 ecdhk571\n");
-- BIO_printf(bio_err,
-- "ecdhb163 ecdhb233 ecdhb283 ecdhb409 ecdhb571\n");
- BIO_printf(bio_err, "ecdh\n");
- # endif
-
-@@ -1242,11 +1188,11 @@ int MAIN(int argc, char **argv)
- for (i = 0; i < DSA_NUM; i++)
- dsa_doit[i] = 1;
- # ifndef OPENSSL_NO_ECDSA
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i <= R_EC_P521; i++)
- ecdsa_doit[i] = 1;
- # endif
- # ifndef OPENSSL_NO_ECDH
-- for (i = 0; i < EC_NUM; i++)
-+ for (i = R_EC_P224; i <= R_EC_P521; i++)
- ecdh_doit[i] = 1;
- # endif
- }
---- a/crypto/ec/ecp_smpl.c
-+++ b/crypto/ec/ecp_smpl.c
-@@ -187,6 +187,11 @@ int ec_GFp_simple_group_set_curve(EC_GROUP *group,
- return 0;
- }
-
-+ if (BN_num_bits(p) < 224) {
-+ ECerr(EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE, EC_R_UNSUPPORTED_FIELD);
-+ return 0;
-+ }
-+
- if (ctx == NULL) {
- ctx = new_ctx = BN_CTX_new();
- if (ctx == NULL)
---- a/crypto/ecdh/ecdhtest.c
-+++ b/crypto/ecdh/ecdhtest.c
-@@ -501,11 +501,13 @@ int main(int argc, char *argv[])
- goto err;
-
- /* NIST PRIME CURVES TESTS */
-+# if 0
- if (!test_ecdh_curve
- (NID_X9_62_prime192v1, "NIST Prime-Curve P-192", ctx, out))
- goto err;
- if (!test_ecdh_curve(NID_secp224r1, "NIST Prime-Curve P-224", ctx, out))
- goto err;
-+# endif
- if (!test_ecdh_curve
- (NID_X9_62_prime256v1, "NIST Prime-Curve P-256", ctx, out))
- goto err;
-@@ -536,13 +538,14 @@ int main(int argc, char *argv[])
- if (!test_ecdh_curve(NID_sect571r1, "NIST Binary-Curve B-571", ctx, out))
- goto err;
- # endif
-+# if 0
- if (!test_ecdh_kat(out, "Brainpool Prime-Curve brainpoolP256r1", 256))
- goto err;
- if (!test_ecdh_kat(out, "Brainpool Prime-Curve brainpoolP384r1", 384))
- goto err;
- if (!test_ecdh_kat(out, "Brainpool Prime-Curve brainpoolP512r1", 512))
- goto err;
--
-+# endif
- ret = 0;
-
- err:
---- a/crypto/ecdsa/ecdsatest.c
-+++ b/crypto/ecdsa/ecdsatest.c
-@@ -138,9 +138,12 @@ int restore_rand(void)
- }
-
- static int fbytes_counter = 0, use_fake = 0;
--static const char *numbers[8] = {
-+static const char *numbers[10] = {
-+ "651056770906015076056810763456358567190100156695615665659",
- "651056770906015076056810763456358567190100156695615665659",
- "6140507067065001063065065565667405560006161556565665656654",
-+ "8763001015071075675010661307616710783570106710677817767166"
-+ "71676178726717",
- "8763001015071075675010661307616710783570106710677817767166"
- "71676178726717",
- "7000000175690566466555057817571571075705015757757057795755"
-@@ -163,7 +166,7 @@ int fbytes(unsigned char *buf, int num)
-
- use_fake = 0;
-
-- if (fbytes_counter >= 8)
-+ if (fbytes_counter >= 10)
- return 0;
- tmp = BN_new();
- if (!tmp)
-@@ -539,8 +542,10 @@ int main(void)
- RAND_seed(rnd_seed, sizeof(rnd_seed));
-
- /* the tests */
-+# if 0
- if (!x9_62_tests(out))
- goto err;
-+# endif
- if (!test_builtin(out))
- goto err;
-
---- a/ssl/t1_lib.c
-+++ b/ssl/t1_lib.c
-@@ -271,10 +271,7 @@ static const unsigned char eccurves_auto[] = {
- 0, 23, /* secp256r1 (23) */
- /* Other >= 256-bit prime curves. */
- 0, 25, /* secp521r1 (25) */
-- 0, 28, /* brainpool512r1 (28) */
-- 0, 27, /* brainpoolP384r1 (27) */
- 0, 24, /* secp384r1 (24) */
-- 0, 26, /* brainpoolP256r1 (26) */
- 0, 22, /* secp256k1 (22) */
- # ifndef OPENSSL_NO_EC2M
- /* >= 256-bit binary curves. */
-@@ -292,10 +289,7 @@ static const unsigned char eccurves_all[] = {
- 0, 23, /* secp256r1 (23) */
- /* Other >= 256-bit prime curves. */
- 0, 25, /* secp521r1 (25) */
-- 0, 28, /* brainpool512r1 (28) */
-- 0, 27, /* brainpoolP384r1 (27) */
- 0, 24, /* secp384r1 (24) */
-- 0, 26, /* brainpoolP256r1 (26) */
- 0, 22, /* secp256k1 (22) */
- # ifndef OPENSSL_NO_EC2M
- /* >= 256-bit binary curves. */
-@@ -310,13 +304,6 @@ static const unsigned char eccurves_all[] = {
- * Remaining curves disabled by default but still permitted if set
- * via an explicit callback or parameters.
- */
-- 0, 20, /* secp224k1 (20) */
-- 0, 21, /* secp224r1 (21) */
-- 0, 18, /* secp192k1 (18) */
-- 0, 19, /* secp192r1 (19) */
-- 0, 15, /* secp160k1 (15) */
-- 0, 16, /* secp160r1 (16) */
-- 0, 17, /* secp160r2 (17) */
- # ifndef OPENSSL_NO_EC2M
- 0, 8, /* sect239k1 (8) */
- 0, 6, /* sect233k1 (6) */
-@@ -351,29 +338,21 @@ static const unsigned char fips_curves_default[] = {
- 0, 9, /* sect283k1 (9) */
- 0, 10, /* sect283r1 (10) */
- # endif
-- 0, 22, /* secp256k1 (22) */
- 0, 23, /* secp256r1 (23) */
- # ifndef OPENSSL_NO_EC2M
- 0, 8, /* sect239k1 (8) */
- 0, 6, /* sect233k1 (6) */
- 0, 7, /* sect233r1 (7) */
- # endif
-- 0, 20, /* secp224k1 (20) */
-- 0, 21, /* secp224r1 (21) */
- # ifndef OPENSSL_NO_EC2M
- 0, 4, /* sect193r1 (4) */
- 0, 5, /* sect193r2 (5) */
- # endif
-- 0, 18, /* secp192k1 (18) */
-- 0, 19, /* secp192r1 (19) */
- # ifndef OPENSSL_NO_EC2M
- 0, 1, /* sect163k1 (1) */
- 0, 2, /* sect163r1 (2) */
- 0, 3, /* sect163r2 (3) */
- # endif
-- 0, 15, /* secp160k1 (15) */
-- 0, 16, /* secp160r1 (16) */
-- 0, 17, /* secp160r2 (17) */
- };
- # endif
-
diff --git a/dev-libs/openssl/files/openssl-1.1.1b-CVE-2019-1543.patch b/dev-libs/openssl/files/openssl-1.1.1b-CVE-2019-1543.patch
deleted file mode 100644
index 4d478c484c90..000000000000
--- a/dev-libs/openssl/files/openssl-1.1.1b-CVE-2019-1543.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From f426625b6ae9a7831010750490a5f0ad689c5ba3 Mon Sep 17 00:00:00 2001
-From: Matt Caswell <matt@openssl.org>
-Date: Tue, 5 Mar 2019 14:39:15 +0000
-Subject: [PATCH] Prevent over long nonces in ChaCha20-Poly1305
-
-ChaCha20-Poly1305 is an AEAD cipher, and requires a unique nonce input for
-every encryption operation. RFC 7539 specifies that the nonce value (IV)
-should be 96 bits (12 bytes). OpenSSL allows a variable nonce length and
-front pads the nonce with 0 bytes if it is less than 12 bytes. However it
-also incorrectly allows a nonce to be set of up to 16 bytes. In this case
-only the last 12 bytes are significant and any additional leading bytes are
-ignored.
-
-It is a requirement of using this cipher that nonce values are unique.
-Messages encrypted using a reused nonce value are susceptible to serious
-confidentiality and integrity attacks. If an application changes the
-default nonce length to be longer than 12 bytes and then makes a change to
-the leading bytes of the nonce expecting the new value to be a new unique
-nonce then such an application could inadvertently encrypt messages with a
-reused nonce.
-
-Additionally the ignored bytes in a long nonce are not covered by the
-integrity guarantee of this cipher. Any application that relies on the
-integrity of these ignored leading bytes of a long nonce may be further
-affected.
-
-Any OpenSSL internal use of this cipher, including in SSL/TLS, is safe
-because no such use sets such a long nonce value. However user
-applications that use this cipher directly and set a non-default nonce
-length to be longer than 12 bytes may be vulnerable.
-
-CVE-2019-1543
-
-Fixes #8345
-
-Reviewed-by: Paul Dale <paul.dale@oracle.com>
-Reviewed-by: Richard Levitte <levitte@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/8406)
-
-(cherry picked from commit 2a3d0ee9d59156c48973592331404471aca886d6)
----
- crypto/evp/e_chacha20_poly1305.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c
-index c1917bb86a6..d3e2c622a1b 100644
---- a/crypto/evp/e_chacha20_poly1305.c
-+++ b/crypto/evp/e_chacha20_poly1305.c
-@@ -30,6 +30,8 @@ typedef struct {
-
- #define data(ctx) ((EVP_CHACHA_KEY *)(ctx)->cipher_data)
-
-+#define CHACHA20_POLY1305_MAX_IVLEN 12
-+
- static int chacha_init_key(EVP_CIPHER_CTX *ctx,
- const unsigned char user_key[CHACHA_KEY_SIZE],
- const unsigned char iv[CHACHA_CTR_SIZE], int enc)
-@@ -533,7 +535,7 @@ static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,
- return 1;
-
- case EVP_CTRL_AEAD_SET_IVLEN:
-- if (arg <= 0 || arg > CHACHA_CTR_SIZE)
-+ if (arg <= 0 || arg > CHACHA20_POLY1305_MAX_IVLEN)
- return 0;
- actx->nonce_len = arg;
- return 1;
diff --git a/dev-libs/openssl/files/openssl-1.1.1b-ec-curves-patch.patch b/dev-libs/openssl/files/openssl-1.1.1b-ec-curves-patch.patch
deleted file mode 100644
index c1f53c838230..000000000000
--- a/dev-libs/openssl/files/openssl-1.1.1b-ec-curves-patch.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-Based on openssl-1.1.1-ec-curves.patch.
-
-Updated for OpenSSL change b6d41ff73392df5af9c931c902ae4cd75c5b61ea.
-
---- a/apps/speed.c
-+++ b/apps/speed.c
-@@ -489,82 +489,28 @@ static const OPT_PAIR rsa_choices[] = {
- static double rsa_results[RSA_NUM][2]; /* 2 ops: sign then verify */
- #endif /* OPENSSL_NO_RSA */
-
--#define R_EC_P160 0
--#define R_EC_P192 1
--#define R_EC_P224 2
--#define R_EC_P256 3
--#define R_EC_P384 4
--#define R_EC_P521 5
--#define R_EC_K163 6
--#define R_EC_K233 7
--#define R_EC_K283 8
--#define R_EC_K409 9
--#define R_EC_K571 10
--#define R_EC_B163 11
--#define R_EC_B233 12
--#define R_EC_B283 13
--#define R_EC_B409 14
--#define R_EC_B571 15
--#define R_EC_BRP256R1 16
--#define R_EC_BRP256T1 17
--#define R_EC_BRP384R1 18
--#define R_EC_BRP384T1 19
--#define R_EC_BRP512R1 20
--#define R_EC_BRP512T1 21
--#define R_EC_X25519 22
--#define R_EC_X448 23
-+#define R_EC_P224 0
-+#define R_EC_P256 1
-+#define R_EC_P384 2
-+#define R_EC_P521 3
-+#define R_EC_X25519 4
-+#define R_EC_X448 5
- #ifndef OPENSSL_NO_EC
- static OPT_PAIR ecdsa_choices[] = {
-- {"ecdsap160", R_EC_P160},
-- {"ecdsap192", R_EC_P192},
- {"ecdsap224", R_EC_P224},
- {"ecdsap256", R_EC_P256},
- {"ecdsap384", R_EC_P384},
- {"ecdsap521", R_EC_P521},
-- {"ecdsak163", R_EC_K163},
-- {"ecdsak233", R_EC_K233},
-- {"ecdsak283", R_EC_K283},
-- {"ecdsak409", R_EC_K409},
-- {"ecdsak571", R_EC_K571},
-- {"ecdsab163", R_EC_B163},
-- {"ecdsab233", R_EC_B233},
-- {"ecdsab283", R_EC_B283},
-- {"ecdsab409", R_EC_B409},
-- {"ecdsab571", R_EC_B571},
-- {"ecdsabrp256r1", R_EC_BRP256R1},
-- {"ecdsabrp256t1", R_EC_BRP256T1},
-- {"ecdsabrp384r1", R_EC_BRP384R1},
-- {"ecdsabrp384t1", R_EC_BRP384T1},
-- {"ecdsabrp512r1", R_EC_BRP512R1},
-- {"ecdsabrp512t1", R_EC_BRP512T1}
- };
- # define ECDSA_NUM OSSL_NELEM(ecdsa_choices)
-
- static double ecdsa_results[ECDSA_NUM][2]; /* 2 ops: sign then verify */
-
- static const OPT_PAIR ecdh_choices[] = {
-- {"ecdhp160", R_EC_P160},
-- {"ecdhp192", R_EC_P192},
- {"ecdhp224", R_EC_P224},
- {"ecdhp256", R_EC_P256},
- {"ecdhp384", R_EC_P384},
- {"ecdhp521", R_EC_P521},
-- {"ecdhk163", R_EC_K163},
-- {"ecdhk233", R_EC_K233},
-- {"ecdhk283", R_EC_K283},
-- {"ecdhk409", R_EC_K409},
-- {"ecdhk571", R_EC_K571},
-- {"ecdhb163", R_EC_B163},
-- {"ecdhb233", R_EC_B233},
-- {"ecdhb283", R_EC_B283},
-- {"ecdhb409", R_EC_B409},
-- {"ecdhb571", R_EC_B571},
-- {"ecdhbrp256r1", R_EC_BRP256R1},
-- {"ecdhbrp256t1", R_EC_BRP256T1},
-- {"ecdhbrp384r1", R_EC_BRP384R1},
-- {"ecdhbrp384t1", R_EC_BRP384T1},
-- {"ecdhbrp512r1", R_EC_BRP512R1},
-- {"ecdhbrp512t1", R_EC_BRP512T1},
- {"ecdhx25519", R_EC_X25519},
- {"ecdhx448", R_EC_X448}
- };
-@@ -1495,29 +1441,10 @@ int speed_main(int argc, char **argv)
- unsigned int bits;
- } test_curves[] = {
- /* Prime Curves */
-- {"secp160r1", NID_secp160r1, 160},
-- {"nistp192", NID_X9_62_prime192v1, 192},
- {"nistp224", NID_secp224r1, 224},
- {"nistp256", NID_X9_62_prime256v1, 256},
- {"nistp384", NID_secp384r1, 384},
- {"nistp521", NID_secp521r1, 521},
-- /* Binary Curves */
-- {"nistk163", NID_sect163k1, 163},
-- {"nistk233", NID_sect233k1, 233},
-- {"nistk283", NID_sect283k1, 283},
-- {"nistk409", NID_sect409k1, 409},
-- {"nistk571", NID_sect571k1, 571},
-- {"nistb163", NID_sect163r2, 163},
-- {"nistb233", NID_sect233r1, 233},
-- {"nistb283", NID_sect283r1, 283},
-- {"nistb409", NID_sect409r1, 409},
-- {"nistb571", NID_sect571r1, 571},
-- {"brainpoolP256r1", NID_brainpoolP256r1, 256},
-- {"brainpoolP256t1", NID_brainpoolP256t1, 256},
-- {"brainpoolP384r1", NID_brainpoolP384r1, 384},
-- {"brainpoolP384t1", NID_brainpoolP384t1, 384},
-- {"brainpoolP512r1", NID_brainpoolP512r1, 512},
-- {"brainpoolP512t1", NID_brainpoolP512t1, 512},
- /* Other and ECDH only ones */
- {"X25519", NID_X25519, 253},
- {"X448", NID_X448, 448}
-@@ -2017,9 +1944,9 @@ int speed_main(int argc, char **argv)
- # endif
-
- # ifndef OPENSSL_NO_EC
-- ecdsa_c[R_EC_P160][0] = count / 1000;
-- ecdsa_c[R_EC_P160][1] = count / 1000 / 2;
-- for (i = R_EC_P192; i <= R_EC_P521; i++) {
-+ ecdsa_c[R_EC_P224][0] = count / 1000;
-+ ecdsa_c[R_EC_P224][1] = count / 1000 / 2;
-+ for (i = R_EC_P256; i <= R_EC_P521; i++) {
- ecdsa_c[i][0] = ecdsa_c[i - 1][0] / 2;
- ecdsa_c[i][1] = ecdsa_c[i - 1][1] / 2;
- if (ecdsa_doit[i] <= 1 && ecdsa_c[i][0] == 0)
-@@ -2031,6 +1958,7 @@ int speed_main(int argc, char **argv)
- }
- }
- }
-+#if 0
- ecdsa_c[R_EC_K163][0] = count / 1000;
- ecdsa_c[R_EC_K163][1] = count / 1000 / 2;
- for (i = R_EC_K233; i <= R_EC_K571; i++) {
-@@ -2059,9 +1987,9 @@ int speed_main(int argc, char **argv)
- }
- }
- }
--
-- ecdh_c[R_EC_P160][0] = count / 1000;
-- for (i = R_EC_P192; i <= R_EC_P521; i++) {
-+#endif
-+ ecdh_c[R_EC_P224][0] = count / 1000;
-+ for (i = R_EC_P256; i <= R_EC_P521; i++) {
- ecdh_c[i][0] = ecdh_c[i - 1][0] / 2;
- if (ecdh_doit[i] <= 1 && ecdh_c[i][0] == 0)
- ecdh_doit[i] = 0;
-@@ -2071,6 +1999,7 @@ int speed_main(int argc, char **argv)
- }
- }
- }
-+#if 0
- ecdh_c[R_EC_K163][0] = count / 1000;
- for (i = R_EC_K233; i <= R_EC_K571; i++) {
- ecdh_c[i][0] = ecdh_c[i - 1][0] / 2;
-@@ -2116,6 +2045,7 @@ int speed_main(int argc, char **argv)
- }
- }
- }
-+#endif
- /* default iteration count for the last two EC Curves */
- ecdh_c[R_EC_X25519][0] = count / 1800;
- ecdh_c[R_EC_X448][0] = count / 7200;
---- a/crypto/ec/ecp_smpl.c
-+++ b/crypto/ec/ecp_smpl.c
-@@ -145,6 +145,11 @@ int ec_GFp_simple_group_set_curve(EC_GROUP *group,
- return 0;
- }
-
-+ if (BN_num_bits(p) < 224) {
-+ ECerr(EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE, EC_R_UNSUPPORTED_FIELD);
-+ return 0;
-+ }
-+
- if (ctx == NULL) {
- ctx = new_ctx = BN_CTX_new();
- if (ctx == NULL)
---- a/test/ecdsatest.c
-+++ b/test/ecdsatest.c
-@@ -176,6 +176,7 @@ static int x9_62_tests(void)
- if (!change_rand())
- goto x962_err;
-
-+#if 0
- if (!TEST_true(x9_62_test_internal(NID_X9_62_prime192v1,
- "3342403536405981729393488334694600415596881826869351677613",
- "5735822328888155254683894997897571951568553642892029982342")))
-@@ -186,6 +187,7 @@ static int x9_62_tests(void)
- "3238135532097973577080787768312505059318910517550078427819"
- "78505179448783")))
- goto x962_err;
-+#endif
-
- # ifndef OPENSSL_NO_EC2M
- if (!TEST_true(x9_62_test_internal(NID_X9_62_c2tnb191v1,
diff --git a/dev-libs/openssl/files/openssl-1.1.1i-riscv32.patch b/dev-libs/openssl/files/openssl-1.1.1i-riscv32.patch
new file mode 100644
index 000000000000..c94b0323eb43
--- /dev/null
+++ b/dev-libs/openssl/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/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/files/openssl-3.2.1-s390x.patch b/dev-libs/openssl/files/openssl-3.2.1-s390x.patch
new file mode 100644
index 000000000000..3cbf4854e12e
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-s390x.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/923957
+https://github.com/openssl/openssl/pull/23458
+https://github.com/openssl/openssl/commit/5fa5d59750db9df00f4871949a66020ac44f4f9c
+
+From 5fa5d59750db9df00f4871949a66020ac44f4f9c Mon Sep 17 00:00:00 2001
+From: Ingo Franzki <ifranzki@linux.ibm.com>
+Date: Fri, 2 Feb 2024 10:20:55 +0100
+Subject: [PATCH] s390x: Fix build on s390x with 'disable-asm'
+
+Do not define S390X_MOD_EXP for a NO_ASM build, this would result in
+unresolved externals for s390x_mod_exp and s390x_crt.
+
+Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
+
+Reviewed-by: Hugo Landau <hlandau@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23458)
+
+(cherry picked from commit a5b0c568dbefddd154f99011d7ce76cfbfadb67a)
+--- a/include/crypto/bn.h
++++ b/include/crypto/bn.h
+@@ -116,7 +116,8 @@ OSSL_LIB_CTX *ossl_bn_get_libctx(BN_CTX *ctx);
+
+ extern const BIGNUM ossl_bn_inv_sqrt_2;
+
+-#if defined(OPENSSL_SYS_LINUX) && !defined(FIPS_MODULE) && defined (__s390x__)
++#if defined(OPENSSL_SYS_LINUX) && !defined(FIPS_MODULE) && defined (__s390x__) \
++ && !defined (OPENSSL_NO_ASM)
+ # define S390X_MOD_EXP
+ #endif
+
diff --git a/dev-libs/openssl/metadata.xml b/dev-libs/openssl/metadata.xml
index 5ca8d93d2f67..bbf8686ec6e9 100644
--- a/dev-libs/openssl/metadata.xml
+++ b/dev-libs/openssl/metadata.xml
@@ -1,26 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="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-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.2r.ebuild b/dev-libs/openssl/openssl-1.0.2r.ebuild
deleted file mode 100644
index c14fecb318d2..000000000000
--- a/dev-libs/openssl/openssl-1.0.2r.ebuild
+++ /dev/null
@@ -1,309 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
-
-# openssl-1.0.2-patches-1.6 contain additional CVE patches
-# which got fixed with this release.
-# Please use 1.7 version number when rolling a new tarball!
-PATCH_SET="openssl-1.0.2-patches-1.5"
-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
- !vanilla? (
- mirror://gentoo/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~chutzpah/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
- )"
-
-LICENSE="openssl"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-PDEPEND="app-misc/ca-certificates"
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-# These are ported instead
-#PATCH1=openssl-1.1.0-build.patch # Fixes EVP testcase for EC
-#PATCH37=openssl-1.1.0-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f25'
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( $SOURCE1 $SOURCE12 $SOURCE13 )
-FEDORA_PATCH=( $PATCH1 $PATCH37 )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${P}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-src_prepare() {
- if use bindist; then
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${i}" "${WORKDIR}"/"${i}" || die
- done
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/crypto/ec/ || die # Moves to test/ in OpenSSL-1.1
- for i in "${FEDORA_PATCH[@]}" ; do
- eapply "${DISTDIR}"/"${i}"
- done
- eapply "${FILESDIR}"/openssl-1.0.2p-hobble-ecc.patch
- # Also see the configure parts below:
- # enable-ec \
- # $(use_ssl !bindist ec2m) \
- # $(use_ssl !bindist srp) \
- 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
- eapply "${WORKDIR}"/patch/*.patch
- fi
-
- eapply_user
-
- # 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:=.*:='${EPREFIX%/}'/usr/share/man:') \
- Makefile.org \
- || die
- # show the actual commands in the log
- sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
-
- # since we're forcing $(CC) as makedep anyway, just fix
- # the conditional as always-on
- # helps clang (#417795), and versioned gcc (#499818)
- # this breaks build with 1.0.2p, not sure if it is needed anymore
- #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-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- sed -i '1s,^:$,#!'${EPREFIX%/}'/usr/bin/perl,' Configure #141906
- # 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
-
- # https://github.com/openssl/openssl/issues/2286
- if use ia64 ; then
- replace-flags -g3 -g2
- replace-flags -ggdb3 -ggdb2
- 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', 'no-srp'
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- $(use_ssl !bindist srp) \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- enable-tlsext \
- $(use_ssl asm) \
- $(use_ssl gmp gmp -lgmp) \
- $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl sslv2 ssl2) \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl tls-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX%/}"/usr \
- --openssldir="${EPREFIX%/}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # 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 "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
- -e "/^SHARED_LDFLAGS=/s|$| ${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 V=1 depend
- emake all
- # rehash is needed to prep the certs/ dir; do this
- # separately to avoid parallel build issues.
- emake rehash
-}
-
-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 INSTALL_PREFIX="${D%/}" install
-}
-
-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
-
- local -a DOCS=( CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el )
- einstalldocs
-
- use rfc3779 && dodoc engines/ccgost/README.gost
-
- # 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.
- use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
-
- # create the certs directory
- dodir ${SSL_CNF_DIR}/certs
- cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
- rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man
- 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}
- 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.0.2s-r200.ebuild b/dev-libs/openssl/openssl-1.0.2s-r200.ebuild
deleted file mode 100644
index 44b9547d141e..000000000000
--- a/dev-libs/openssl/openssl-1.0.2s-r200.ebuild
+++ /dev/null
@@ -1,248 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
-
-# openssl-1.0.2-patches-1.6 contain additional CVE patches
-# which got fixed with this release.
-# Please use 1.7 version number when rolling a new tarball!
-PATCH_SET="openssl-1.0.2-patches-1.5"
-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
- !vanilla? (
- mirror://gentoo/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~chutzpah/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
- )"
-
-LICENSE="openssl"
-SLOT="1.0.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
- !=dev-libs/openssl-1.0.2*:0"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-
-RESTRICT="test"
-
-# Do not install any docs
-DOCS=()
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-# These are ported instead
-#PATCH1=openssl-1.1.0-build.patch # Fixes EVP testcase for EC
-#PATCH37=openssl-1.1.0-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f25'
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( $SOURCE1 $SOURCE12 $SOURCE13 )
-FEDORA_PATCH=( $PATCH1 $PATCH37 )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${P}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-src_prepare() {
- if use bindist; then
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${i}" "${WORKDIR}"/"${i}" || die
- done
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/crypto/ec/ || die # Moves to test/ in OpenSSL-1.1
- for i in "${FEDORA_PATCH[@]}" ; do
- eapply "${DISTDIR}"/"${i}"
- done
- eapply "${FILESDIR}"/openssl-1.0.2p-hobble-ecc.patch
- # Also see the configure parts below:
- # enable-ec \
- # $(use_ssl !bindist ec2m) \
- # $(use_ssl !bindist srp) \
- 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
- eapply "${WORKDIR}"/patch/*.patch
- fi
-
- eapply_user
-
- # 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:=.*:='${EPREFIX%/}'/usr/share/man:') \
- Makefile.org \
- || die
- # show the actual commands in the log
- sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
-
- # since we're forcing $(CC) as makedep anyway, just fix
- # the conditional as always-on
- # helps clang (#417795), and versioned gcc (#499818)
- # this breaks build with 1.0.2p, not sure if it is needed anymore
- #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-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- sed -i '1s,^:$,#!'${EPREFIX%/}'/usr/bin/perl,' Configure #141906
- # 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
-
- # https://github.com/openssl/openssl/issues/2286
- if use ia64 ; then
- replace-flags -g3 -g2
- replace-flags -ggdb3 -ggdb2
- 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', 'no-srp'
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- $(use_ssl !bindist srp) \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- enable-tlsext \
- $(use_ssl asm) \
- $(use_ssl gmp gmp -lgmp) \
- $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl sslv2 ssl2) \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl tls-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX%/}"/usr \
- --openssldir="${EPREFIX%/}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # 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 "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
- -e "/^SHARED_LDFLAGS=/s|$| ${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 V=1 depend
- emake build_libs
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- dolib.so lib{crypto,ssl}.so.${SLOT}
-}
diff --git a/dev-libs/openssl/openssl-1.0.2s.ebuild b/dev-libs/openssl/openssl-1.0.2s.ebuild
deleted file mode 100644
index 57280189ad1b..000000000000
--- a/dev-libs/openssl/openssl-1.0.2s.ebuild
+++ /dev/null
@@ -1,309 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils flag-o-matic toolchain-funcs multilib multilib-minimal
-
-# openssl-1.0.2-patches-1.6 contain additional CVE patches
-# which got fixed with this release.
-# Please use 1.7 version number when rolling a new tarball!
-PATCH_SET="openssl-1.0.2-patches-1.5"
-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
- !vanilla? (
- mirror://gentoo/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~chutzpah/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
- )"
-
-LICENSE="openssl"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
- kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-PDEPEND="app-misc/ca-certificates"
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-# These are ported instead
-#PATCH1=openssl-1.1.0-build.patch # Fixes EVP testcase for EC
-#PATCH37=openssl-1.1.0-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f25'
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( $SOURCE1 $SOURCE12 $SOURCE13 )
-FEDORA_PATCH=( $PATCH1 $PATCH37 )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${P}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-src_prepare() {
- if use bindist; then
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${i}" "${WORKDIR}"/"${i}" || die
- done
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/crypto/ec/ || die # Moves to test/ in OpenSSL-1.1
- for i in "${FEDORA_PATCH[@]}" ; do
- eapply "${DISTDIR}"/"${i}"
- done
- eapply "${FILESDIR}"/openssl-1.0.2p-hobble-ecc.patch
- # Also see the configure parts below:
- # enable-ec \
- # $(use_ssl !bindist ec2m) \
- # $(use_ssl !bindist srp) \
- 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
- eapply "${WORKDIR}"/patch/*.patch
- fi
-
- eapply_user
-
- # 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:=.*:='${EPREFIX%/}'/usr/share/man:') \
- Makefile.org \
- || die
- # show the actual commands in the log
- sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
-
- # since we're forcing $(CC) as makedep anyway, just fix
- # the conditional as always-on
- # helps clang (#417795), and versioned gcc (#499818)
- # this breaks build with 1.0.2p, not sure if it is needed anymore
- #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-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- append-flags -fno-strict-aliasing
- append-flags $(test-flags-CC -Wa,--noexecstack)
- append-cppflags -DOPENSSL_NO_BUF_FREELISTS
-
- sed -i '1s,^:$,#!'${EPREFIX%/}'/usr/bin/perl,' Configure #141906
- # 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
-
- # https://github.com/openssl/openssl/issues/2286
- if use ia64 ; then
- replace-flags -g3 -g2
- replace-flags -ggdb3 -ggdb2
- 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', 'no-srp'
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- $(use_ssl !bindist srp) \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- enable-tlsext \
- $(use_ssl asm) \
- $(use_ssl gmp gmp -lgmp) \
- $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl sslv2 ssl2) \
- $(use_ssl sslv3 ssl3) \
- $(use_ssl tls-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX%/}"/usr \
- --openssldir="${EPREFIX%/}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # 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 "/^CFLAG/s|=.*|=${CFLAG} ${CFLAGS}|" \
- -e "/^SHARED_LDFLAGS=/s|$| ${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 V=1 depend
- emake all
- # rehash is needed to prep the certs/ dir; do this
- # separately to avoid parallel build issues.
- emake rehash
-}
-
-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 INSTALL_PREFIX="${D%/}" install
-}
-
-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
-
- local -a DOCS=( CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el )
- einstalldocs
-
- use rfc3779 && dodoc engines/ccgost/README.gost
-
- # 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.
- use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
-
- # create the certs directory
- dodir ${SSL_CNF_DIR}/certs
- cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
- rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man
- 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}
- 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.0.2u-r1.ebuild b/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
new file mode 100644
index 000000000000..a6de03448e18
--- /dev/null
+++ b/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
@@ -0,0 +1,313 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic toolchain-funcs multilib-minimal
+
+# openssl-1.0.2-patches-1.6 contain additional CVE patches
+# which got fixed with this release.
+# Please use 1.7 version number when rolling a new tarball!
+PATCH_SET="openssl-1.0.2-patches-1.5"
+
+MY_P=${P/_/-}
+
+# This patch set is based on the following files from Fedora 25,
+# see https://src.fedoraproject.org/rpms/openssl/blob/25/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.0.2t-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}
+ )
+ !vanilla? (
+ mirror://gentoo/${PATCH_SET}.tar.xz
+ https://dev.gentoo.org/~chutzpah/dist/${PN}/${PATCH_SET}.tar.xz
+ https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}.tar.xz
+ https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
+ )"
+
+LICENSE="openssl"
+SLOT="0"
+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 )"
+
+RDEPEND=">=app-misc/c_rehash-1.7-r1
+ gmp? ( >=dev-libs/gmp-5.1.3-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=app-crypt/mit-krb5-1.11.4[${MULTILIB_USEDEP}] )
+ 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
+ )"
+PDEPEND="app-misc/ca-certificates"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ usr/include/openssl/opensslconf.h
+)
+
+src_prepare() {
+ 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}"/crypto/ec/ || die
+
+ eapply "${WORKDIR}"/bindist-patches/ec-curves.patch
+
+ # Also see the configure parts below:
+ # enable-ec \
+ # $(use_ssl !bindist ec2m) \
+ # $(use_ssl !bindist srp) \
+ 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
+ eapply "${WORKDIR}"/patch/*.patch
+ fi
+
+ eapply_user
+
+ # 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:=.*:='${EPREFIX}'/usr/share/man:') \
+ Makefile.org \
+ || die
+ # show the actual commands in the log
+ sed -i '/^SET_X/s:=.*:=set -x:' Makefile.shared
+
+ # since we're forcing $(CC) as makedep anyway, just fix
+ # the conditional as always-on
+ # helps clang (#417795), and versioned gcc (#499818)
+ # this breaks build with 1.0.2p, not sure if it is needed anymore
+ #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-1.0.2 gentoo.config || die
+ chmod a+rx gentoo.config || die
+
+ append-flags -fno-strict-aliasing
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+ append-cppflags -DOPENSSL_NO_BUF_FREELISTS
+
+ sed -i '1s,^:$,#!'${EPREFIX}'/usr/bin/perl,' Configure #141906
+ # 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, 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
+ if use ia64 ; then
+ replace-flags -g3 -g2
+ replace-flags -ggdb3 -ggdb2
+ 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', 'no-srp'
+ # 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 srp) \
+ ${ec_nistp_64_gcc_128} \
+ enable-idea \
+ enable-mdc2 \
+ enable-rc5 \
+ enable-tlsext \
+ $(use_ssl asm) \
+ $(use_ssl gmp gmp -lgmp) \
+ $(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \
+ $(use_ssl rfc3779) \
+ $(use_ssl sctp) \
+ $(use_ssl sslv2 ssl2) \
+ $(use_ssl sslv3 ssl3) \
+ $(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 ^CFLAG= Makefile | LC_ALL=C sed \
+ -e 's:^CFLAG=::' \
+ -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 "/^CFLAG/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 V=1 depend
+ emake all
+ # rehash is needed to prep the certs/ dir; do this
+ # separately to avoid parallel build issues.
+ emake rehash
+}
+
+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
+
+ # 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
+ # 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
+
+ local -a DOCS=( CHANGES* FAQ NEWS README doc/*.txt doc/c-indentation.el )
+ einstalldocs
+
+ use rfc3779 && dodoc engines/ccgost/README.gost
+
+ # create the certs directory
+ dodir ${SSL_CNF_DIR}/certs
+ cp -RP certs/* "${ED}"${SSL_CNF_DIR}/certs/ || die
+ rm -r "${ED}"${SSL_CNF_DIR}/certs/{demo,expired}
+
+ # Namespace openssl programs to prevent conflicts with other man pages
+ cd "${ED}"/usr/share/man
+ 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}
+ 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.0j-r1.ebuild b/dev-libs/openssl/openssl-1.1.0j-r1.ebuild
deleted file mode 100644
index 165f6d9a0500..000000000000
--- a/dev-libs/openssl/openssl-1.1.0j-r1.ebuild
+++ /dev/null
@@ -1,299 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic toolchain-funcs multilib 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
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist elibc_musl rfc3779 sctp cpu_flags_x86_sse2 static-libs test tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-PDEPEND="app-misc/ca-certificates"
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-PATCH1=openssl-1.1.0-build.patch # Fixes EVP testcase for EC
-PATCH37=openssl-1.1.0-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f28'
-FEDORA_GIT_COMMIT="d2ede125556ac99aa0faa7744c703af3f559094e"
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( $SOURCE1 $SOURCE12 $SOURCE13 )
-FEDORA_PATCH=( $PATCH1 $PATCH37 )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH}&id=${FEDORA_GIT_COMMIT} -> ${P}_${FEDORA_GIT_COMMIT}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH}&id=${FEDORA_GIT_COMMIT} -> ${i%.patch}_${FEDORA_GIT_COMMIT}.patch" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
- "${FILESDIR}"/${PN}-1.1.1b-CVE-2019-1543.patch
-)
-
-src_prepare() {
- if use bindist; then
- # we need to patch the patch but we cannot patch in DISTDIR...
- mkdir "${WORKDIR}"/fedora_patches || die
- for i in "${FEDORA_PATCH[@]}" ; do
- cp "${DISTDIR}"/"${i%.patch}_${FEDORA_GIT_COMMIT}.patch" "${WORKDIR}"/fedora_patches || die
- done
-
- # now patch the path, due to OpenSSL change cb193560e0da17a41b40ce574a2349f1d4d59ed1
- sed -i -e 's#test/evptests.txt#test/recipes/30-test_evp_data/evppkey.txt#g' \
- "${WORKDIR}"/fedora_patches/openssl-1.1.0-build_d2ede125556ac99aa0faa7744c703af3f559094e.patch || \
- die
-
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${FEDORA_GIT_COMMIT}_${i}" "${WORKDIR}"/"${i}" || die
- done
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/test/ || die
- for i in "${FEDORA_PATCH[@]}" ; do
- #eapply "${DISTDIR}"/"${i%.patch}_${FEDORA_GIT_COMMIT}.patch"
- eapply "${WORKDIR}/fedora_patches/${i%.patch}_${FEDORA_GIT_COMMIT}.patch"
- 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
- eapply "${PATCHES[@]}"
- fi
-
- eapply_user #332661
-
- # 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
-
- # show the actual commands in the log
- sed -i '/^SET_X/s@=.*@=set -x@' Makefile.shared || 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-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- 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.
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- enable-srp \
- $(use elibc_musl && echo "no-async") \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- $(use_ssl asm) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl tls-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX}"/usr \
- --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- # Fix quoting for sed
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -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' \
- -e 's:\\:\\\\:g' \
- )
- 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() {
- emake DESTDIR="${D}" install
-}
-
-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
-
- # 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.
- use static-libs || rm -f "${ED%/}"/usr/lib*/lib*.a
-
- # 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.0k.ebuild b/dev-libs/openssl/openssl-1.1.0k.ebuild
deleted file mode 100644
index f5af55a9879c..000000000000
--- a/dev-libs/openssl/openssl-1.1.0k.ebuild
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic toolchain-funcs multilib 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
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist elibc_musl rfc3779 sctp cpu_flags_x86_sse2 static-libs test tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-PDEPEND="app-misc/ca-certificates"
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-PATCH1=openssl-1.1.0-build.patch # Fixes EVP testcase for EC
-PATCH37=openssl-1.1.0-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f28'
-FEDORA_GIT_COMMIT="d2ede125556ac99aa0faa7744c703af3f559094e"
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( $SOURCE1 $SOURCE12 $SOURCE13 )
-FEDORA_PATCH=( $PATCH1 $PATCH37 )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH}&id=${FEDORA_GIT_COMMIT} -> ${P}_${FEDORA_GIT_COMMIT}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH}&id=${FEDORA_GIT_COMMIT} -> ${i%.patch}_${FEDORA_GIT_COMMIT}.patch" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.2a-x32-asm.patch #542618
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
-)
-
-src_prepare() {
- if use bindist; then
- # we need to patch the patch but we cannot patch in DISTDIR...
- mkdir "${WORKDIR}"/fedora_patches || die
- for i in "${FEDORA_PATCH[@]}" ; do
- cp "${DISTDIR}"/"${i%.patch}_${FEDORA_GIT_COMMIT}.patch" "${WORKDIR}"/fedora_patches || die
- done
-
- # now patch the path, due to OpenSSL change cb193560e0da17a41b40ce574a2349f1d4d59ed1
- sed -i -e 's#test/evptests.txt#test/recipes/30-test_evp_data/evppkey.txt#g' \
- "${WORKDIR}"/fedora_patches/openssl-1.1.0-build_d2ede125556ac99aa0faa7744c703af3f559094e.patch || \
- die
-
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${FEDORA_GIT_COMMIT}_${i}" "${WORKDIR}"/"${i}" || die
- done
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/test/ || die
- for i in "${FEDORA_PATCH[@]}" ; do
- #eapply "${DISTDIR}"/"${i%.patch}_${FEDORA_GIT_COMMIT}.patch"
- eapply "${WORKDIR}/fedora_patches/${i%.patch}_${FEDORA_GIT_COMMIT}.patch"
- 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
- eapply "${PATCHES[@]}"
- fi
-
- eapply_user #332661
-
- # 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
-
- # show the actual commands in the log
- sed -i '/^SET_X/s@=.*@=set -x@' Makefile.shared || 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-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- 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.
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- enable-srp \
- $(use elibc_musl && echo "no-async") \
- ${ec_nistp_64_gcc_128} \
- enable-idea \
- enable-mdc2 \
- enable-rc5 \
- $(use_ssl asm) \
- $(use_ssl rfc3779) \
- $(use_ssl sctp) \
- $(use_ssl tls-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX}"/usr \
- --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- # Fix quoting for sed
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -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' \
- -e 's:\\:\\\\:g' \
- )
- 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() {
- emake DESTDIR="${D}" install
-}
-
-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
-
- # 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.
- use static-libs || rm -f "${ED%/}"/usr/lib*/lib*.a
-
- # 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.1b-r2.ebuild b/dev-libs/openssl/openssl-1.1.1b-r2.ebuild
deleted file mode 100644
index 09f5e991cf94..000000000000
--- a/dev-libs/openssl/openssl-1.1.1b-r2.ebuild
+++ /dev/null
@@ -1,299 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit flag-o-matic toolchain-funcs multilib 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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist elibc_musl rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-PDEPEND="app-misc/ca-certificates"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
- "${FILESDIR}"/${P}-CVE-2019-1543.patch
-)
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-PATCH37=openssl-1.1.1-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f29'
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( ${SOURCE1} ${SOURCE12} ${SOURCE13} )
-FEDORA_PATCH=( ${PATCH37} )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${P}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-src_prepare() {
- if use bindist; then
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${i}" "${WORKDIR}"/"${i}" || die
- done
-
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/test/ || die
- for i in "${FEDORA_PATCH[@]}" ; do
- if [[ "${i}" == "${PATCH37}" ]] ; then
- # apply our own for OpenSSL 1.1.1b adjusted version of this patch
- eapply "${FILESDIR}"/openssl-1.1.1b-ec-curves-patch.patch
- else
- eapply "${DISTDIR}"/"${i}"
- fi
- 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
-
- # 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
-
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- 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.
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- 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-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX%/}"/usr \
- --openssldir="${EPREFIX%/}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- # Fix quoting for sed
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -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' \
- -e 's:\\:\\\\:g' \
- )
- 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
-}
-
-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
-
- # 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.
- use static-libs || rm -f "${ED%/}"/usr/lib*/lib*.a
-
- # 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.1c.ebuild b/dev-libs/openssl/openssl-1.1.1c.ebuild
deleted file mode 100644
index f4e635b13b6d..000000000000
--- a/dev-libs/openssl/openssl-1.1.1c.ebuild
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs multilib 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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="+asm bindist elibc_musl rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-heartbeat vanilla zlib"
-RESTRICT="!bindist? ( bindist )"
-
-RDEPEND=">=app-misc/c_rehash-1.7-r1
- zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- )"
-PDEPEND="app-misc/ca-certificates"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.0j-parallel_install_fix.patch #671602
-)
-
-# This does not copy the entire Fedora patchset, but JUST the parts that
-# are needed to make it safe to use EC with RESTRICT=bindist.
-# See openssl.spec for the matching numbering of SourceNNN, PatchNNN
-SOURCE1=hobble-openssl
-SOURCE12=ec_curve.c
-SOURCE13=ectest.c
-PATCH37=openssl-1.1.1-ec-curves.patch
-FEDORA_GIT_BASE='https://src.fedoraproject.org/cgit/rpms/openssl.git/plain/'
-FEDORA_GIT_BRANCH='f29'
-FEDORA_SRC_URI=()
-FEDORA_SOURCE=( ${SOURCE1} ${SOURCE12} ${SOURCE13} )
-FEDORA_PATCH=( ${PATCH37} )
-for i in "${FEDORA_SOURCE[@]}" ; do
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${P}_${i}" )
-done
-for i in "${FEDORA_PATCH[@]}" ; do # Already have a version prefix
- FEDORA_SRC_URI+=( "${FEDORA_GIT_BASE}/${i}?h=${FEDORA_GIT_BRANCH} -> ${i}" )
-done
-SRC_URI+=" bindist? ( ${FEDORA_SRC_URI[@]} )"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_WRAPPED_HEADERS=(
- usr/include/openssl/opensslconf.h
-)
-
-src_prepare() {
- if use bindist; then
- # This just removes the prefix, and puts it into WORKDIR like the RPM.
- for i in "${FEDORA_SOURCE[@]}" ; do
- cp -f "${DISTDIR}"/"${P}_${i}" "${WORKDIR}"/"${i}" || die
- done
-
- # .spec %prep
- bash "${WORKDIR}"/"${SOURCE1}" || die
- cp -f "${WORKDIR}"/"${SOURCE12}" "${S}"/crypto/ec/ || die
- cp -f "${WORKDIR}"/"${SOURCE13}" "${S}"/test/ || die
- for i in "${FEDORA_PATCH[@]}" ; do
- if [[ "${i}" == "${PATCH37}" ]] ; then
- # apply our own for OpenSSL 1.1.1b adjusted version of this patch
- eapply "${FILESDIR}"/openssl-1.1.1b-ec-curves-patch.patch
- else
- eapply "${DISTDIR}"/"${i}"
- fi
- 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
-
- # 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
-
- # allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- 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.
- echoit \
- ./${config} \
- ${sslout} \
- $(use cpu_flags_x86_sse2 || echo "no-sse2") \
- enable-camellia \
- enable-ec \
- $(use_ssl !bindist ec2m) \
- 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-heartbeat heartbeats) \
- $(use_ssl zlib) \
- --prefix="${EPREFIX}"/usr \
- --openssldir="${EPREFIX}"${SSL_CNF_DIR} \
- --libdir=$(get_libdir) \
- shared threads \
- || die
-
- # Clean out hardcoded flags that openssl uses
- # Fix quoting for sed
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -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' \
- -e 's:\\:\\\\:g' \
- )
- 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
-}
-
-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
-
- # 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.
- use static-libs || rm -f "${ED}"/usr/lib*/lib*.a
-
- # 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.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..7419ab042851
--- /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..fb480821f325
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
@@ -0,0 +1,308 @@
+# 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
+ "${FILESDIR}"/${P}-s390x.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.3.0.ebuild b/dev-libs/openssl/openssl-3.3.0.ebuild
new file mode 100644
index 000000000000..97ec87920e44
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.3.0.ebuild
@@ -0,0 +1,300 @@
+# 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-20240424 )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+)
+
+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 || 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 -- 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}
+
+ $(multilib_is_native_abi || echo "no-docs")
+ $(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
+}
+
+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..93173c78a603
--- /dev/null
+++ b/dev-libs/optix/optix-7.5.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 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/metadata.xml b/dev-libs/ossp-uuid/metadata.xml
index 82f6562fd7e2..85e4ed814fa2 100644
--- a/dev-libs/ossp-uuid/metadata.xml
+++ b/dev-libs/ossp-uuid/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>dev-zero@gentoo.org</email>
- <name>Tiziano Müller</name>
-</maintainer>
+<!-- maintainer-needed -->
</pkgmetadata>
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 f0bc8e587ac4..000000000000
--- a/dev-libs/ossp-uuid/ossp-uuid-1.6.2-r6.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x86-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/metadata.xml b/dev-libs/pakchois/metadata.xml
index 040cba5f7c5b..115e9d64a669 100644
--- a/dev-libs/pakchois/metadata.xml
+++ b/dev-libs/pakchois/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/pakchois/pakchois-0.4-r2.ebuild b/dev-libs/pakchois/pakchois-0.4-r2.ebuild
index d291393a8190..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-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,10 +11,16 @@ SRC_URI="http://www.manyfish.co.uk/pakchois/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="nls"
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
- $(use_enable nls)
+ $(use_enable nls) \
+ --disable-static
+}
+
+multilib_src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/papi/Manifest b/dev-libs/papi/Manifest
index 2596b29b77ef..661455e14046 100644
--- a/dev-libs/papi/Manifest
+++ b/dev-libs/papi/Manifest
@@ -1,3 +1 @@
-DIST papi-5.3.0.tar.gz 3928589 BLAKE2B 64531442b5ebe846ba801455c3cb15437ee2d5eec8b4d567f4bf96f1c08e2af26aedcae0c5601e00e5454aa5ad5d482a6b113a52a20d5b2819161c82b51f8fb5 SHA512 a88d28d895a1b44b0d05ac90c39406b7e9806a1d865b39df405e55b27d7f6bb191330ed7df52d4f3f04f46ff94ce867e6c1bdd9b38c314652cff1ee9d838b226
-DIST papi-5.4.0.tar.gz 4075657 BLAKE2B 17d92eb379ef7c45071c32ca0bbf9baecd0044ed019a2aa731da32d9bb92fad707375f555dc87adc1a8e90e27d2d850c673fbc71c3f2a55f8621151ff21087bc SHA512 be4a929208a83765f99f2f34e98d6770bf46d4f336e492506cc86d6a34fbf84754b05cfd22db0949b382bb8f24ad0ed7f5e7c90941baad2593b82827ee27eb4a
-DIST papi-5.5.1.tar.gz 4233127 BLAKE2B e065bed5a5607bf5ce3459ea84e1dabd6a60cd1f78f3ec2fbed29676ff79a057c77bd4210b8c45428238d927016a5a1e16d7bdfb4a9f56ea1e180cb0b19ec182 SHA512 c65c3a4e95c33ee7ceb950c184c08019d83cfee38bfe1bac86e80670a5191918edab2916b6815b15001da961deb8b6cf51263541554eb92a817e1a48371cfcf5
+DIST papi-6.0.0.1.tar.gz 4665285 BLAKE2B 5b6b2de8c16510a05a57159ceba591625c78f2a6d4ea62979fea4dd3e72bce73138e36480d82e13713c9ff2298e00330619fa57fdc7f81d75e1ce519b6f600ae SHA512 54c37b49858e921bd1357d8b0bba12c27e40e89b1354d89e5a85672ef3e6d3a4784212079098004256369a172d744580fb283741e7b4ac2d6fa5642bc42ea2ad
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/metadata.xml b/dev-libs/papi/metadata.xml
index 9c43c5cbc14e..bef24d2c2337 100644
--- a/dev-libs/papi/metadata.xml
+++ b/dev-libs/papi/metadata.xml
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slis@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/papi/papi-5.3.0.ebuild b/dev-libs/papi/papi-5.3.0.ebuild
deleted file mode 100644
index e2aa6283e644..000000000000
--- a/dev-libs/papi/papi-5.3.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-inherit autotools-utils fortran-2 versionator
-
-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"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="static-libs"
-
-DEPEND="
- dev-libs/libpfm[static-libs]
- virtual/mpi
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)/src"
-
-src_configure() {
- local myeconfargs=(
- --with-shlib
- --with-perf-events
- --with-pfm-prefix="${EPREFIX}/usr"
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
- dodoc ../RE*
-}
diff --git a/dev-libs/papi/papi-5.4.0.ebuild b/dev-libs/papi/papi-5.4.0.ebuild
deleted file mode 100644
index 9a415cc1b998..000000000000
--- a/dev-libs/papi/papi-5.4.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-inherit autotools-utils fortran-2 versionator
-
-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"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="static-libs"
-
-DEPEND="
- dev-libs/libpfm[static-libs]
- virtual/mpi
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)/src"
-
-src_configure() {
- local myeconfargs=(
- --with-shlib
- --with-perf-events
- --with-pfm-prefix="${EPREFIX}/usr"
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
- dodoc ../RE*
-}
diff --git a/dev-libs/papi/papi-5.5.1.ebuild b/dev-libs/papi/papi-5.5.1.ebuild
deleted file mode 100644
index 0d2f0f2c48e2..000000000000
--- a/dev-libs/papi/papi-5.5.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-inherit autotools-utils fortran-2 versionator
-
-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"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="static-libs"
-
-DEPEND="
- dev-libs/libpfm[static-libs]
- virtual/mpi
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)/src"
-
-src_configure() {
- local myeconfargs=(
- --with-shlib
- --with-perf-events
- --with-pfm-prefix="${EPREFIX}/usr"
- )
- autotools-utils_src_configure
-}
-
-src_install() {
- autotools-utils_src_install
- dodoc ../RE*
-}
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/pcc-libs/metadata.xml b/dev-libs/pcc-libs/metadata.xml
index 40aa45df2b01..2ce0e74f9864 100644
--- a/dev-libs/pcc-libs/metadata.xml
+++ b/dev-libs/pcc-libs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>patrick@gentoo.org</email>
diff --git a/dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild b/dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild
index b084d5d901f4..1935211c9469 100644
--- a/dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild
+++ b/dev-libs/pcc-libs/pcc-libs-1.1.0.ebuild
@@ -1,28 +1,18 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-
-inherit eutils versionator
+EAPI=8
DESCRIPTION="pcc compiler support libs"
HOMEPAGE="http://pcc.ludd.ltu.se"
-
SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz"
+S="${WORKDIR}/${PN}-${PVR/*_pre/}/"
+
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-fbsd"
-
-IUSE=""
-DEPEND=""
-RDEPEND="${DEPEND}"
-S=${WORKDIR}/${PN}-${PVR/*_pre/}/
+KEYWORDS="~amd64 ~x86"
src_compile() {
# not parallel-safe yet
- emake -j1 || die "emake failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
+ emake -j1
}
diff --git a/dev-libs/pcc-libs/pcc-libs-9999.ebuild b/dev-libs/pcc-libs/pcc-libs-9999.ebuild
deleted file mode 100644
index af530465ea47..000000000000
--- a/dev-libs/pcc-libs/pcc-libs-9999.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils versionator
-
-DESCRIPTION="pcc compiler support libs"
-HOMEPAGE="http://pcc.ludd.ltu.se"
-
-if [[ ${PV} = 9999 ]]; then
- inherit cvs
- ECVS_SERVER="pcc.ludd.ltu.se:/cvsroot"
- ECVS_MODULE="${PN}"
- S="${WORKDIR}/${PN}"
- KEYWORDS=""
-else
- SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz"
- KEYWORDS="~amd64 ~x86 ~amd64-fbsd"
-fi
-LICENSE="BSD"
-SLOT="0"
-
-IUSE=""
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_compile() {
- # not parallel-safe yet
- emake -j1 || die "emake failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
-}
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/metadata.xml b/dev-libs/pcl/metadata.xml
index 1d859a5cde83..115e9d64a669 100644
--- a/dev-libs/pcl/metadata.xml
+++ b/dev-libs/pcl/metadata.xml
@@ -1,10 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
- <longdescription lang="en">
- The Portable Coroutine Library (PCL) implements the low level
- functionality for coroutines
- </longdescription>
</pkgmetadata>
-
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 9be9a04989ca..000000000000
--- a/dev-libs/pcl/pcl-1.12-r1.ebuild
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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 ~x86"
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/pcre++/Manifest b/dev-libs/pcre++/Manifest
deleted file mode 100644
index 1085ae8f4f07..000000000000
--- a/dev-libs/pcre++/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pcre++-0.9.5-patches.tar.bz2 3733 BLAKE2B b915f094498ba34d875515ab5e16db71d4e1a17c15b08332e761cc7ff2113d16afe6f12d8321194c7ef6dac960349b6ebb281eb8ddd25f239767a70db143a970 SHA512 ddfb13575f7950c7298ddce5fd603c8f34c1e901c8fef71f7591d0c4a49dc36cf5204240dbb23078346a4497f69b541374633e9f3f17b045fc58ba3ccd0f8019
-DIST pcre++-0.9.5.tar.gz 381589 BLAKE2B 573a8d43556e1d925cf21928d773f66086adb2a60db72865bb463fbe4810c5bc17e2a2c5c2a713c2bf2d512ae5255a81707536bbace65e9b467697e7776d0243 SHA512 509080e31483ea82f13873423b48adfcf78ff8d4b5480fb8d46f6bb4a596a0480e4ae32da9e5518b1a6e98679b4e1a523cc9d6f8d8373dcec6f73d18479712e5
diff --git a/dev-libs/pcre++/metadata.xml b/dev-libs/pcre++/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/pcre++/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/pcre++/pcre++-0.9.5-r1.ebuild b/dev-libs/pcre++/pcre++-0.9.5-r1.ebuild
deleted file mode 100644
index c6ee554bcc22..000000000000
--- a/dev-libs/pcre++/pcre++-0.9.5-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils autotools
-
-DESCRIPTION="A C++ support library for libpcre"
-HOMEPAGE="http://www.daemon.de/PCRE"
-SRC_URI="http://www.daemon.de/files/mirror/ftp.daemon.de/scip/Apps/${PN}/${P}.tar.gz
- mirror://gentoo/${P}-patches.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 s390 sh sparc x86"
-IUSE="static-libs"
-
-DEPEND="dev-libs/libpcre"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- EPATCH_SUFFIX="patch" \
- EPATCH_SOURCE="${WORKDIR}/${P}-patches" \
- EPATCH_FORCE="yes" \
- epatch
-
- sed -i 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.in || die #467670
-
- # Upstream is kind of dead, so handle the rename ourselves.
- mv configure.{in,ac} || die
-
- # Disable examples which we never run/install.
- echo > examples/Makefile.am || die
-
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- use static-libs || find "${ED}"/usr -name 'lib*.la' -delete
-
- dohtml -r doc/html/.
- doman doc/man/man3/Pcre.3
-
- rm -rf "${ED}/usr/doc"
-}
diff --git a/dev-libs/pegtl/Manifest b/dev-libs/pegtl/Manifest
index 526dd26e2517..7312966b6f99 100644
--- a/dev-libs/pegtl/Manifest
+++ b/dev-libs/pegtl/Manifest
@@ -1,4 +1,4 @@
-DIST pegtl-1.3.1.tar.gz 67183 BLAKE2B 1aef425e5777c44e30068d7b0f5bac813ef9af8e61fb91ddcc66116365d36258998bb26ae038fc40864b9716a13c39b82cb53637654fa2a3614e391c0d35f6b1 SHA512 6655be7806112878e2da00916b348c28939bc96e2a317eb00089be341fd5306ce5a1388ca5dbba21bcd7be2d6c24e3964b6a730031a16a7dd8ef6ec6acd6899e
-DIST pegtl-2.0.0.tar.gz 154718 BLAKE2B 775eccb11a44eca30ebf72cfa4dcb27e0f46c741efc8071d77232104cb7f6841da847b37b8dab19efcc07aac175558eca949d4c2d4d5d66fcf89793ae3cf7db2 SHA512 30d48bd4a02b7d089c09a6265cd52442d5d9812cf24ae992ea3f264ef8ea27b605771675558f5510e96aec425577beebeb150361001bbce58bd06217ee587f58
-DIST pegtl-2.0_pre1.tar.gz 146966 BLAKE2B e6894dce0df7d41126619523aae866b1335afaac70d0cce2852674e691c93d7f16b550fbc7bf626602a46e044a33f41e9d2e2aa24361088ba99111f23c8bf617 SHA512 180bd8b44ccfe406c818af6b3f5f22eb4cfc7bea6043af5141c6c5ed9b2770624326e67d6dfc47a22aaee3697e5cf1d2744d0a3d3d01a4ce47457189f2b19839
-DIST pegtl-2.1.4.tar.gz 157890 BLAKE2B 5d999b2d5471ff115a0ba38b0b874a031f875ae24b54c25d985bd8bdfd815f6b35b825a0ac5a183e3f87f90445fb98a4b8d7dbc4e8a79e2f6332daf57b6f89d9 SHA512 b4c227e795ab29221bce91b520c5965d48fec85ba53bb070b93e966dc20792189682850b106585ad8bd3e4f34ce8bdb72b576f5f329b2f160f9034b412c93768
+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/files/pegtl-2.8.3-cmake.patch b/dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch
new file mode 100644
index 000000000000..140e1f5cfbb8
--- /dev/null
+++ b/dev-libs/pegtl/files/pegtl-2.8.3-cmake.patch
@@ -0,0 +1,29 @@
+--- a/CMakeLists.txt 2020-04-22 19:43:00.000000000 +0200
++++ b/CMakeLists.txt 2020-12-27 00:00:15.886046938 +0100
+@@ -78,4 +78,3 @@
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pegtl-config-version.cmake DESTINATION ${PEGTL_INSTALL_CMAKE_DIR})
+ install(DIRECTORY include/ DESTINATION ${PEGTL_INSTALL_INCLUDE_DIR})
+-install(FILES LICENSE DESTINATION ${PEGTL_INSTALL_DOC_DIR})
+--- a/src/test/pegtl/CMakeLists.txt 2020-04-22 19:43:00.000000000 +0200
++++ b/src/test/pegtl/CMakeLists.txt 2020-12-27 00:07:19.122766830 +0100
+@@ -123,7 +123,7 @@
+ if(MSVC)
+ target_compile_options(${exename} PRIVATE /W4 /WX /utf-8)
+ else()
+- target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow -Werror)
++ target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow)
+ endif()
+ if(ANDROID)
+ add_test(NAME ${exename} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../.. COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} "-DTEST_RESOURCES=src/test/pegtl/data;src/test/pegtl/file_data.txt;Makefile" -DTEST_RESOURCES_DIR=${CMAKE_CURRENT_SOURCE_DIR}/../../.. -DUNITTEST=${CMAKE_CURRENT_BINARY_DIR}/${exename} -DTEST_PARAMETER=-all -P ${CMAKE_CURRENT_SOURCE_DIR}/ExecuteOnAndroid.cmake)
+--- a/src/example/pegtl/CMakeLists.txt 2020-04-22 19:43:00.000000000 +0200
++++ b/src/example/pegtl/CMakeLists.txt 2020-12-27 00:07:32.970832890 +0100
+@@ -48,7 +48,7 @@
+ if(MSVC)
+ target_compile_options(${exename} PRIVATE /W4 /WX /utf-8)
+ else()
+- target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow -Werror)
++ target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow)
+ endif()
+ endforeach(examplesourcefile)
+
diff --git a/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch b/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch
new file mode 100644
index 000000000000..ef418e44254e
--- /dev/null
+++ b/dev-libs/pegtl/files/pegtl-2.8.3-gcc-10.patch
@@ -0,0 +1,43 @@
+From a3a292c2ba66bf09b4adc4cee8fcdfb1b1386067 Mon Sep 17 00:00:00 2001
+From: Daniel Frey <d.frey@gmx.de>
+Date: Mon, 11 May 2020 22:19:31 +0200
+Subject: [PATCH] Repair warning from GCC 10
+
+* Backported patch thx to Fedora.
+
+---
+ include/tao/pegtl/contrib/rep_one_min_max.hpp | 21 +++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/include/tao/pegtl/contrib/rep_one_min_max.hpp b/include/tao/pegtl/contrib/rep_one_min_max.hpp
+index 7ec4639e..ee0a3782 100644
+--- a/include/tao/pegtl/contrib/rep_one_min_max.hpp
++++ b/include/tao/pegtl/contrib/rep_one_min_max.hpp
+@@ -45,6 +45,27 @@ namespace tao
+ }
+ };
+
++ template< unsigned Max, char C >
++ struct rep_one_min_max< 0, Max, C >
++ {
++ using analyze_t = analysis::counted< analysis::rule_type::any, 0 >;
++
++ template< typename Input >
++ static bool match( Input& in )
++ {
++ const auto size = in.size( Max + 1 );
++ std::size_t i = 0;
++ while( ( i < size ) && ( in.peek_char( i ) == C ) ) {
++ ++i;
++ }
++ if( i <= Max ) {
++ bump_help< result_on_found::success, Input, char, C >( in, i );
++ return true;
++ }
++ return false;
++ }
++ };
++
+ template< unsigned Min, unsigned Max, char C >
+ inline constexpr bool enable_control< rep_one_min_max< Min, Max, C > > = false;
+
diff --git a/dev-libs/pegtl/files/pegtl-3.2.1-werror.patch b/dev-libs/pegtl/files/pegtl-3.2.1-werror.patch
new file mode 100644
index 000000000000..776936bd3991
--- /dev/null
+++ b/dev-libs/pegtl/files/pegtl-3.2.1-werror.patch
@@ -0,0 +1,33 @@
+--- a/Makefile
++++ b/Makefile
+@@ -30,7 +30,7 @@ endif
+ # changed if desired.
+
+ CPPFLAGS ?= -pedantic
+-CXXFLAGS ?= -Wall -Wextra -Wshadow -Werror -O3 $(MINGW_CXXFLAGS)
++CXXFLAGS ?= -Wall -Wextra -Wshadow $(MINGW_CXXFLAGS)
+
+ HEADERS := $(shell find include -name '*.hpp')
+ SOURCES := $(shell find src -name '*.cpp')
+--- a/src/example/pegtl/CMakeLists.txt
++++ b/src/example/pegtl/CMakeLists.txt
+@@ -60,7 +60,7 @@ foreach(examplesourcefile ${example_sources})
+ if(MSVC)
+ target_compile_options(${exename} PRIVATE /W4 /WX /utf-8)
+ else()
+- target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow -Werror)
++ target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow )
+ endif()
+ endforeach()
+
+--- a/src/test/pegtl/CMakeLists.txt
++++ b/src/test/pegtl/CMakeLists.txt
+@@ -150,7 +150,7 @@ foreach(testsourcefile ${test_sources})
+ if(MSVC)
+ target_compile_options(${exename} PRIVATE /W4 /WX /utf-8)
+ else()
+- target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow -Werror)
++ target_compile_options(${exename} PRIVATE -pedantic -Wall -Wextra -Wshadow )
+ endif()
+ if(ANDROID)
+ add_test(NAME ${exename} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} "-DANDROID_NDK=${ANDROID_NDK}" "-DTEST_RESOURCES_DIR=${CMAKE_SOURCE_DIR}" "-DTEST_RESOURCES=src/test/pegtl/data;src/test/pegtl/file_data.txt;Makefile" "-DUNITTEST=${exename}" -P ${CMAKE_CURRENT_SOURCE_DIR}/ExecuteOnAndroid.cmake)
diff --git a/dev-libs/pegtl/metadata.xml b/dev-libs/pegtl/metadata.xml
index eabc3f6db52b..ec7e0b240c72 100644
--- a/dev-libs/pegtl/metadata.xml
+++ b/dev-libs/pegtl/metadata.xml
@@ -1,10 +1,6 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
diff --git a/dev-libs/pegtl/pegtl-1.3.1-r1.ebuild b/dev-libs/pegtl/pegtl-1.3.1-r1.ebuild
deleted file mode 100644
index 27485cd73385..000000000000
--- a/dev-libs/pegtl/pegtl-1.3.1-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
-HOMEPAGE="https://github.com/ColinH/PEGTL"
-SRC_URI="${HOMEPAGE}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/PEGTL-${PV}"
-
-src_compile() {
- :
-}
-
-src_test() {
- emake CXX="$(tc-getCXX)" PEGTL_CXXFLAGS="${CXXFLAGS}"
-}
-
-src_install() {
- dodoc README.md
- insinto /usr/include
- doins -r pegtl pegtl.hh
-}
diff --git a/dev-libs/pegtl/pegtl-2.0.0.ebuild b/dev-libs/pegtl/pegtl-2.0.0.ebuild
deleted file mode 100644
index ebadbdeda819..000000000000
--- a/dev-libs/pegtl/pegtl-2.0.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
-HOMEPAGE="https://github.com/taocpp/PEGTL"
-SRC_URI="${HOMEPAGE}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/PEGTL-${PV}"
diff --git a/dev-libs/pegtl/pegtl-2.0_pre1.ebuild b/dev-libs/pegtl/pegtl-2.0_pre1.ebuild
deleted file mode 100644
index 30237ac2126a..000000000000
--- a/dev-libs/pegtl/pegtl-2.0_pre1.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 vcs-snapshot
-
-COMMIT="bce83a6c7928c4cc8f9a5e18efbca40d18394d32"
-DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
-HOMEPAGE="https://github.com/taocpp/PEGTL"
-SRC_URI="${HOMEPAGE}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/pegtl/pegtl-2.1.4.ebuild b/dev-libs/pegtl/pegtl-2.1.4.ebuild
deleted file mode 100644
index ebadbdeda819..000000000000
--- a/dev-libs/pegtl/pegtl-2.1.4.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
-HOMEPAGE="https://github.com/taocpp/PEGTL"
-SRC_URI="${HOMEPAGE}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/PEGTL-${PV}"
diff --git a/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild b/dev-libs/pegtl/pegtl-2.8.3-r1.ebuild
new file mode 100644
index 000000000000..5f25adf3029b
--- /dev/null
+++ b/dev-libs/pegtl/pegtl-2.8.3-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 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"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/PEGTL-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-cmake.patch"
+ "${FILESDIR}/${P}-gcc-10.patch" # bug 733678
+)
+
+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.1.ebuild b/dev-libs/pegtl/pegtl-3.2.1.ebuild
new file mode 100644
index 000000000000..09fd47749d97
--- /dev/null
+++ b/dev-libs/pegtl/pegtl-3.2.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2021 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}"/${P}-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.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/Manifest b/dev-libs/pigpio/Manifest
index 9928f29679a2..90a5400497cd 100644
--- a/dev-libs/pigpio/Manifest
+++ b/dev-libs/pigpio/Manifest
@@ -1,2 +1 @@
-DIST pigpio-67.tar.gz 369268 BLAKE2B a9d59369f5eed4b733e0e5c0e85013a132e55ff63a2393d79a3fb52d1fcb2513559d4dfeea84c4842d6281936b6e116bd81cd63e4542bbcffaf813ee356ee0d1 SHA512 9792f8402ee0dd204f4a975ab0513099a1fe3d398a28b766f412c08d7908e8e307de4cc92b2a2519b6484f15a043bd40008b7707486015c08bda5f97b1e7e00b
-DIST pigpio-68.tar.gz 371251 BLAKE2B c0118854d18ce158a3d5c96380289cc8bc68f35f72ce28f207dfbb827f97f538acd82cec2af11590e59985b77ef08834d55b3ac7578e1f6b6d1a0b5d5d594632 SHA512 125364eab9dd33c39fda148c6018679ac91b099914d7f0c6362f61566a9c957065189ace03ad4668b29f25d4d542b81d42c0befe0712867b48977b755dc03edc
+DIST pigpio-79.tar.gz 2908059 BLAKE2B e33347a68635c1d8c9f65b3e1c23442b625a76c2c774326d093c281024abc7d588d4c5f7137056f49c44752752d0873fdbb24de9148a7306c61c91771d280e6b SHA512 bae24b0a28b6865bf4e0903d9e1881344ab7cf26a513f295d178402a426f90f2fdd43444cfe899c0bc25939a129ebf47ecd1ac1600683cd648902d56825a3203
diff --git a/dev-libs/pigpio/files/pigpio-67-makefile.patch b/dev-libs/pigpio/files/pigpio-67-makefile.patch
deleted file mode 100644
index 1df4475eb0ae..000000000000
--- a/dev-libs/pigpio/files/pigpio-67-makefile.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/Makefile 2018-03-21 19:51:11.711880972 +0100
-+++ b/Makefile 2018-03-21 20:51:46.341684595 +0100
-@@ -9,6 +9,9 @@
- STRIP = $(CROSS_PREFIX)strip
- SHLIB = $(CC) -shared
- STRIPLIB = $(STRIP) --strip-unneeded
-+LDCONFIG = ldconfig
-+PYTHON2 = $(shell type -P python2 || echo ':' 2> /dev/null)
-+PYTHON3 = $(shell type -P python3 || echo ':' 2> /dev/null)
-
- CFLAGS += -O3 -Wall -pthread
-
-@@ -23,7 +26,7 @@
-
- LIB = $(LIB1) $(LIB2) $(LIB3)
-
--ALL = $(LIB) x_pigpio x_pigpiod_if x_pigpiod_if2 pig2vcd pigpiod pigs
-+ALL = $(LIB) pig2vcd pigpiod pigs
-
- LL1 = -L. -lpigpio -pthread -lrt
-
-@@ -64,22 +67,21 @@
- $(CC) -o x_pigpiod_if2 x_pigpiod_if2.o $(LL3)
-
- pigpiod: pigpiod.o $(LIB1)
-- $(CC) -o pigpiod pigpiod.o $(LL1)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o pigpiod pigpiod.o $(LL1)
- $(STRIP) pigpiod
-
- pigs: pigs.o command.o
-- $(CC) -o pigs pigs.o command.o
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o pigs pigs.o command.o
- $(STRIP) pigs
-
- pig2vcd: pig2vcd.o
-- $(CC) -o pig2vcd pig2vcd.o
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o pig2vcd pig2vcd.o
- $(STRIP) pig2vcd
-
- clean:
- rm -f *.o *.i *.s *~ $(ALL)
-
- install: $(ALL)
-- install -m 0755 -d $(DESTDIR)/opt/pigpio/cgi
- install -m 0755 -d $(DESTDIR)$(includedir)
- install -m 0644 pigpio.h $(DESTDIR)$(includedir)
- install -m 0644 pigpiod_if.h $(DESTDIR)$(includedir)
-@@ -92,13 +94,13 @@
- install -m 0755 pig2vcd $(DESTDIR)$(bindir)
- install -m 0755 pigpiod $(DESTDIR)$(bindir)
- install -m 0755 pigs $(DESTDIR)$(bindir)
-- if which python2; then python2 setup.py install; fi
-- if which python3; then python3 setup.py install; fi
-+ $(PYTHON2) setup.py install
-+ $(PYTHON3) setup.py install
- install -m 0755 -d $(DESTDIR)$(mandir)/man1
- install -m 0644 *.1 $(DESTDIR)$(mandir)/man1
- install -m 0755 -d $(DESTDIR)$(mandir)/man3
- install -m 0644 *.3 $(DESTDIR)$(mandir)/man3
-- ldconfig
-+ $(LDCONFIG)
-
- uninstall:
- rm -f $(DESTDIR)$(includedir)/pigpio.h
diff --git a/dev-libs/pigpio/files/pigpio-70-makefile.patch b/dev-libs/pigpio/files/pigpio-70-makefile.patch
new file mode 100644
index 000000000000..ed3c22833946
--- /dev/null
+++ b/dev-libs/pigpio/files/pigpio-70-makefile.patch
@@ -0,0 +1,123 @@
+--- a/Makefile 2020-06-05 20:28:12.691759233 +0200
++++ b/Makefile 2020-06-05 21:23:46.334235268 +0200
+@@ -9,8 +9,12 @@
+ STRIP = $(CROSS_PREFIX)strip
+ SHLIB = $(CC) -shared
+ STRIPLIB = $(STRIP) --strip-unneeded
++LDCONFIG = ldconfig
++PYTHON2 = $(shell type -P python2 || echo ':' 2> /dev/null)
++PYTHON3 = $(shell type -P python3 || echo ':' 2> /dev/null)
+
+ SOVERSION = 1
++LIBVERSION = 1.0
+
+ CFLAGS += -O3 -Wall -pthread
+
+@@ -25,7 +29,7 @@
+
+ LIB = $(LIB1) $(LIB2) $(LIB3)
+
+-ALL = $(LIB) x_pigpio x_pigpiod_if x_pigpiod_if2 pig2vcd pigpiod pigs
++ALL = $(LIB) pig2vcd pigpiod pigs
+
+ LL1 = -L. -lpigpio -pthread -lrt
+
+@@ -66,52 +70,43 @@
+ $(CC) -o x_pigpiod_if2 x_pigpiod_if2.o $(LL3)
+
+ pigpiod: pigpiod.o $(LIB1)
+- $(CC) -o pigpiod pigpiod.o $(LL1)
+- $(STRIP) pigpiod
++ $(CC) $(CFLAGS) $(LDFLAGS) -o pigpiod pigpiod.o $(LL1)
+
+ pigs: pigs.o command.o
+- $(CC) -o pigs pigs.o command.o
+- $(STRIP) pigs
++ $(CC) $(CFLAGS) $(LDFLAGS) -o pigs pigs.o command.o
+
+ pig2vcd: pig2vcd.o
+- $(CC) -o pig2vcd pig2vcd.o
+- $(STRIP) pig2vcd
++ $(CC) $(CFLAGS) $(LDFLAGS) -o pig2vcd pig2vcd.o
+
+ clean:
+ rm -f *.o *.i *.s *~ $(ALL) *.so.$(SOVERSION)
+
+-ifeq ($(DESTDIR),)
+- PYINSTALLARGS =
+-else
+- PYINSTALLARGS = --root=$(DESTDIR)
+-endif
+-
+ install: $(ALL)
+- install -m 0755 -d $(DESTDIR)/opt/pigpio/cgi
+ install -m 0755 -d $(DESTDIR)$(includedir)
+ install -m 0644 pigpio.h $(DESTDIR)$(includedir)
+ install -m 0644 pigpiod_if.h $(DESTDIR)$(includedir)
+ install -m 0644 pigpiod_if2.h $(DESTDIR)$(includedir)
+ install -m 0755 -d $(DESTDIR)$(libdir)
+- install -m 0755 libpigpio.so.$(SOVERSION) $(DESTDIR)$(libdir)
+- install -m 0755 libpigpiod_if.so.$(SOVERSION) $(DESTDIR)$(libdir)
+- install -m 0755 libpigpiod_if2.so.$(SOVERSION) $(DESTDIR)$(libdir)
+- cd $(DESTDIR)$(libdir) && ln -fs libpigpio.so.$(SOVERSION) libpigpio.so
+- cd $(DESTDIR)$(libdir) && ln -fs libpigpiod_if.so.$(SOVERSION) libpigpiod_if.so
+- cd $(DESTDIR)$(libdir) && ln -fs libpigpiod_if2.so.$(SOVERSION) libpigpiod_if2.so
++ install -m 0755 libpigpio.so.$(LIBVERSION) $(DESTDIR)$(libdir)
++ install -m 0755 libpigpiod_if.so.$(LIBVERSION) $(DESTDIR)$(libdir)
++ install -m 0755 libpigpiod_if2.so.$(LIBVERSION) $(DESTDIR)$(libdir)
++ cd $(DESTDIR)$(libdir) && ln -fs libpigpio.so.$(LIBVERSION) libpigpio.so
++ cd $(DESTDIR)$(libdir) && ln -fs libpigpiod_if.so.$(LIBVERSION) libpigpiod_if.so
++ cd $(DESTDIR)$(libdir) && ln -fs libpigpiod_if2.so.$(LIBVERSION) libpigpiod_if2.so
++ cd $(DESTDIR)$(libdir) && ln -fs libpigpio.so.$(LIBVERSION) libpigpio.so.$(SOVERSION)
++ cd $(DESTDIR)$(libdir) && ln -fs libpigpiod_if.so.$(LIBVERSION) libpigpiod_if.so.$(SOVERSION)
++ cd $(DESTDIR)$(libdir) && ln -fs libpigpiod_if2.so.$(LIBVERSION) libpigpiod_if2.so.$(SOVERSION)
+ install -m 0755 -d $(DESTDIR)$(bindir)
+ install -m 0755 pig2vcd $(DESTDIR)$(bindir)
+ install -m 0755 pigpiod $(DESTDIR)$(bindir)
+ install -m 0755 pigs $(DESTDIR)$(bindir)
+- if which python2; then python2 setup.py install $(PYINSTALLARGS); fi
+- if which python3; then python3 setup.py install $(PYINSTALLARGS); fi
++ $(PYTHON2) setup.py install
++ $(PYTHON3) setup.py install
+ install -m 0755 -d $(DESTDIR)$(mandir)/man1
+- install -m 0644 p*.1 $(DESTDIR)$(mandir)/man1
++ install -m 0644 *.1 $(DESTDIR)$(mandir)/man1
+ install -m 0755 -d $(DESTDIR)$(mandir)/man3
+- install -m 0644 p*.3 $(DESTDIR)$(mandir)/man3
+-ifeq ($(DESTDIR),)
+- ldconfig
+-endif
++ install -m 0644 *.3 $(DESTDIR)$(mandir)/man3
++ $(LDCONFIG)
+
+ uninstall:
+ rm -f $(DESTDIR)$(includedir)/pigpio.h
+@@ -136,22 +131,16 @@
+ endif
+
+ $(LIB1): $(OBJ1)
+- $(SHLIB) -pthread -Wl,-soname,$(LIB1).$(SOVERSION) -o $(LIB1).$(SOVERSION) $(OBJ1)
+- ln -fs $(LIB1).$(SOVERSION) $(LIB1)
+- $(STRIPLIB) $(LIB1)
+- $(SIZE) $(LIB1)
++ $(SHLIB) $(LDFLAGS) -Wl,-soname,$(LIB1).$(SOVERSION) -o $(LIB1).$(LIBVERSION) $(OBJ1)
++ ln -sf $(LIB1).$(LIBVERSION) $(LIB1)
+
+ $(LIB2): $(OBJ2)
+- $(SHLIB) -pthread -Wl,-soname,$(LIB2).$(SOVERSION) -o $(LIB2).$(SOVERSION) $(OBJ2)
+- ln -fs $(LIB2).$(SOVERSION) $(LIB2)
+- $(STRIPLIB) $(LIB2)
+- $(SIZE) $(LIB2)
++ $(SHLIB) $(LDFLAGS) -Wl,-soname,$(LIB2).$(SOVERSION) -o $(LIB2).$(LIBVERSION) $(OBJ2)
++ ln -sf $(LIB2).$(LIBVERSION) $(LIB2)
+
+ $(LIB3): $(OBJ3)
+- $(SHLIB) -pthread -Wl,-soname,$(LIB3).$(SOVERSION) -o $(LIB3).$(SOVERSION) $(OBJ3)
+- ln -fs $(LIB3).$(SOVERSION) $(LIB3)
+- $(STRIPLIB) $(LIB3)
+- $(SIZE) $(LIB3)
++ $(SHLIB) $(LDFLAGS) -Wl,-soname,$(LIB3).$(SOVERSION) -o $(LIB3).$(LIBVERSION) $(OBJ3)
++ ln -sf $(LIB3).$(LIBVERSION) $(LIB3)
+
+ # generated using gcc -MM *.c
+
diff --git a/dev-libs/pigpio/files/pigpiod.confd b/dev-libs/pigpio/files/pigpiod.confd
index dbcf8a4c3efc..02c1442322ca 100644
--- a/dev-libs/pigpio/files/pigpiod.confd
+++ b/dev-libs/pigpio/files/pigpiod.confd
@@ -1,4 +1,4 @@
# Only listen on local interface by default
# use evironment variables PIGPIO_PORT="8888" and PIGPIO_ADDR="::1" for pigs with local interface
# PIGPIOD_OPTS="-l -p 8888"
-PIGPIOD_OPTS="-l"
+PIGPIOD_OPTS="-l -n 127.0.0.1"
diff --git a/dev-libs/pigpio/files/pigpiod.systemd b/dev-libs/pigpio/files/pigpiod.systemd
deleted file mode 100644
index b1d28a66f826..000000000000
--- a/dev-libs/pigpio/files/pigpiod.systemd
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Pigpio daemon
-
-[Service]
-Type=simple
-ExecStart=/usr/bin/pigpiod
-
-[Install]
-WantedBy=multi-user.target
diff --git a/dev-libs/pigpio/metadata.xml b/dev-libs/pigpio/metadata.xml
index 9344dda7b30f..f2abd79d936b 100644
--- a/dev-libs/pigpio/metadata.xml
+++ b/dev-libs/pigpio/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>gentoo@k8n.de</email>
<name>Daniel Kenzelmann</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Gentoo Proxy Maintainers Project</name>
</maintainer>
diff --git a/dev-libs/pigpio/pigpio-67.ebuild b/dev-libs/pigpio/pigpio-67.ebuild
deleted file mode 100644
index e10bc7791689..000000000000
--- a/dev-libs/pigpio/pigpio-67.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_{5,6}} )
-
-inherit distutils-r1 systemd toolchain-funcs
-
-DESCRIPTION="A library for the Raspberry which allows control of the GPIOs"
-HOMEPAGE="http://abyz.me.uk/rpi/pigpio/index.html"
-SRC_URI="https://github.com/joan2937/pigpio/archive/V${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Unlicense"
-SLOT="0"
-KEYWORDS="~arm"
-IUSE="python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- eapply "${FILESDIR}/${P}-makefile.patch"
- eapply_user
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" STRIP=: STRIPLIB=: SIZE=:
- use python && distutils-r1_src_compile
-}
-
-src_install() {
- emake DESTDIR="${D}" LDCONFIG=: PYTHON2=: PYTHON3=: libdir="$(get_libdir)" prefix="/usr" mandir="/usr/share/man" install
- einstalldocs
- newinitd "${FILESDIR}"/pigpiod.initd pigpiod
- newconfd "${FILESDIR}"/pigpiod.confd pigpiod
- systemd_newunit "${FILESDIR}"/pigpiod.systemd pigpiod.service
- use python && distutils-r1_src_install
-}
diff --git a/dev-libs/pigpio/pigpio-68.ebuild b/dev-libs/pigpio/pigpio-68.ebuild
deleted file mode 100644
index ab323e84a88e..000000000000
--- a/dev-libs/pigpio/pigpio-68.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
-
-inherit distutils-r1 systemd toolchain-funcs
-
-DESCRIPTION="A library for the Raspberry which allows control of the GPIOs"
-HOMEPAGE="http://abyz.me.uk/rpi/pigpio/index.html"
-SRC_URI="https://github.com/joan2937/pigpio/archive/V${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Unlicense"
-SLOT="0"
-KEYWORDS="~arm"
-IUSE="python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-src_prepare() {
- eapply "${FILESDIR}/${PN}-67-makefile.patch"
- eapply_user
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" STRIP=: STRIPLIB=: SIZE=:
- use python && distutils-r1_src_compile
-}
-
-src_install() {
- emake DESTDIR="${D}" LDCONFIG=: PYTHON2=: PYTHON3=: \
- libdir="$(get_libdir)" prefix="${EPREFIX}/usr" \
- mandir="${EPREFIX}/usr/share/man" install
- einstalldocs
- newinitd "${FILESDIR}"/pigpiod.initd pigpiod
- newconfd "${FILESDIR}"/pigpiod.confd pigpiod
- systemd_newunit "${FILESDIR}"/pigpiod.systemd pigpiod.service
- use python && distutils-r1_src_install
-}
diff --git a/dev-libs/pigpio/pigpio-79.ebuild b/dev-libs/pigpio/pigpio-79.ebuild
new file mode 100644
index 000000000000..f7a94b8e407e
--- /dev/null
+++ b/dev-libs/pigpio/pigpio-79.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 systemd toolchain-funcs
+
+DESCRIPTION="A library for the Raspberry which allows control of the GPIOs"
+HOMEPAGE="http://abyz.me.uk/rpi/pigpio/ https://github.com/joan2937/pigpio"
+SRC_URI="https://github.com/joan2937/pigpio/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~arm"
+IUSE="python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+PATCHES=( "${FILESDIR}/${PN}-70-makefile.patch" )
+
+src_compile() {
+ emake CC="$(tc-getCC)" STRIP=: STRIPLIB=: SIZE=:
+ use python && distutils-r1_src_compile
+}
+
+src_install() {
+ emake DESTDIR="${D}" LDCONFIG=: PYTHON2=: PYTHON3=: \
+ libdir="${EPREFIX}/usr/$(get_libdir)" prefix="${EPREFIX}/usr" \
+ mandir="${EPREFIX}/usr/share/man" install
+ einstalldocs
+ newinitd "${FILESDIR}"/pigpiod.initd pigpiod
+ newconfd "${FILESDIR}"/pigpiod.confd pigpiod
+ systemd_newunit "${S}"/util/pigpiod.service pigpiod.service
+ use python && distutils-r1_src_install
+}
diff --git a/dev-libs/pkcs11-helper/Manifest b/dev-libs/pkcs11-helper/Manifest
index c1231def323b..9db4112de573 100644
--- a/dev-libs/pkcs11-helper/Manifest
+++ b/dev-libs/pkcs11-helper/Manifest
@@ -1 +1 @@
-DIST pkcs11-helper-1.25.1.tar.bz2 425719 BLAKE2B 527b387a981dbfd855d4eb0024dd7625388cda27c3a0e993b49315e311d46f1735afc8d436361ac1b75a7b3d7f1f712d7dda8eb546ab7adc3dc046bc85fd4c5a SHA512 a5954f4d07a166ed7e711b7a0aa84b454b25774b2fb187ca65bba439f59539c8074bda8ddd5f579d635fe0dc27d8415d8bd22707dc91327bbe05ce03e277b499
+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.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/metadata.xml b/dev-libs/pkcs11-helper/metadata.xml
index 4a627dd9cc2d..6af095d1fca9 100644
--- a/dev-libs/pkcs11-helper/metadata.xml
+++ b/dev-libs/pkcs11-helper/metadata.xml
@@ -1,14 +1,12 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="nss">Enable NSS crypto engine</flag>
</use>
<upstream>
+ <remote-id type="cpe">cpe:/a:opensc-project:opensc</remote-id>
<remote-id type="sourceforge">opensc</remote-id>
<remote-id type="github">OpenSC/pkcs11-helper</remote-id>
</upstream>
diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.25.1.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.25.1.ebuild
deleted file mode 100644
index 3776a870c787..000000000000
--- a/dev-libs/pkcs11-helper/pkcs11-helper-1.25.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2019 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 ~s390 ~sh ~sparc x86 ~x86-fbsd"
-IUSE="bindist doc gnutls libressl nss static-libs"
-
-RDEPEND="
- !libressl? ( >=dev-libs/openssl-0.9.7:0=[bindist=] )
- libressl? ( dev-libs/libressl )
- 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.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
new file mode 100644
index 000000000000..d97aa1805490
--- /dev/null
+++ b/dev-libs/plasma-wayland-protocols/Manifest
@@ -0,0 +1 @@
+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
new file mode 100644
index 000000000000..d060b5f3ec64
--- /dev/null
+++ b/dev-libs/plasma-wayland-protocols/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/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/pmdk/Manifest b/dev-libs/pmdk/Manifest
new file mode 100644
index 000000000000..0c6c8f71eb51
--- /dev/null
+++ b/dev-libs/pmdk/Manifest
@@ -0,0 +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/metadata.xml b/dev-libs/pmdk/metadata.xml
new file mode 100644
index 000000000000..bd6443d4a375
--- /dev/null
+++ b/dev-libs/pmdk/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>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..624d696ce239
--- /dev/null
+++ b/dev-libs/pmdk/pmdk-1.9.2.ebuild
@@ -0,0 +1,54 @@
+# 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_install() {
+ emake install prefix=/usr sysconfdir=/etc DESTDIR="${ED}"
+}
diff --git a/dev-libs/pocketfft/Manifest b/dev-libs/pocketfft/Manifest
new file mode 100644
index 000000000000..6afacd0b6f91
--- /dev/null
+++ b/dev-libs/pocketfft/Manifest
@@ -0,0 +1,2 @@
+DIST pocketfft-2021.11.23.tar.gz 26769 BLAKE2B 80eb02a2a73d46febf562c3c0b7ad86ee5d9f93b41057c99f9f7f767b7cd2e6b7bc3986e67faaca6e69b9d7e2402febb8d427cb8c57badcafcc5ea0dafd04b20 SHA512 d212cfa34ecde2f38b789d218b5ed4fb9069e41f9d35587dd058b8af89cf22e79a1c8f8ddf2d47d794fa23a7e363cb0631b25461ae3fc9fc5d58e1bdf6356600
+DIST pocketfft-2023.12.30.tar.gz 26923 BLAKE2B 8e4db14899953a210101c63f2766200f96f2f6510dfe27dbc9edd89eea78d53834cc9f749ec37b393e4159be1fd9614745250331d52d417eca365490cbe5b80f SHA512 078f52440bd85107f7a26c2e6d8ad86d6900a178161b5a1b39b694146535915dbd0825bf6d6f187fe1a2ea0f14e5da7a6b32e57d149c9147377eb6bd5ce2394c
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/pocketfft/pocketfft-2023.12.30.ebuild b/dev-libs/pocketfft/pocketfft-2023.12.30.ebuild
new file mode 100644
index 000000000000..eab264d2972e
--- /dev/null
+++ b/dev-libs/pocketfft/pocketfft-2023.12.30.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CommitId=9d3ab05a7fffbc71a492bc6a17be034e83e8f0fe
+
+DESCRIPTION="PocketFFT for C++"
+HOMEPAGE="https://github.com/mreineck/pocketfft/"
+SRC_URI="https://github.com/mreineck/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_install() {
+ doheader pocketfft_hdronly.h
+ default
+}
diff --git a/dev-libs/pocl/Manifest b/dev-libs/pocl/Manifest
new file mode 100644
index 000000000000..b2eb19f5fd11
--- /dev/null
+++ b/dev-libs/pocl/Manifest
@@ -0,0 +1 @@
+DIST pocl-4.0.tar.gz 2140919 BLAKE2B 1e9dd4de4824dd4a9e2b0d053d1786062c135d3bf7ca99dc884657b89c651fca6c0f3dedb568439802a58b0bfabc10939ca344b0110ae5fdb31be06f596d2a48 SHA512 3835a9e8fc8562d50a91a11b807cf87a096891f5c27675127b66412eacff2e541b6143b49b4155f43a09f4e53faa062ec20f3b20badeca206ece9f45ad50f26a
diff --git a/dev-libs/pocl/metadata.xml b/dev-libs/pocl/metadata.xml
new file mode 100644
index 000000000000..385844d354c1
--- /dev/null
+++ b/dev-libs/pocl/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <use>
+ <flag name="accel">Enable the generic hardware accelerator device driver</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="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>-->
+ <flag name="hwloc">Enable hwloc support</flag>
+ <flag name="memmanager">Enables custom memory manager. Except for special circumstances, this should be disabled</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">pocl/pocl</remote-id>
+ </upstream>
+</pkgmetadata>
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 e2d003c8c1d1..dded174642a2 100644
--- a/dev-libs/poco/Manifest
+++ b/dev-libs/poco/Manifest
@@ -1,3 +1,2 @@
-DIST poco-1.4.6-all-doc.zip 2072762 BLAKE2B 51b8426d050e7ae373fbb0f3959657e37f1c3aeda75f5bf5cd3dc99e08414a9e65f61ea71dee6d8c40148f41157e2eac0888e64c5020707352c74b262ffae741 SHA512 458e1a3c6a6017b5ae5efcbd0d7b2bbf50aedd6ddc7ae7befddac07ed133b7243208aadd6ecdb17b3fa273e04eb0da4d73b1d3e5591aee98b754e430b2248e52
-DIST poco-1.4.6p4-all.tar.bz2 3158594 BLAKE2B 76accf617ddd087131a5960c131680451959704fee4b17b65bf85367a172d2fe023c9c7efde59fe5bd4142c7ca153734fb4ccbbf06bd5d0365a59d6e75a328a5 SHA512 ae4e1190a0ba719f807d0abaf1c47ff445a8f5867157f209260672546f3755ff021c7073bc8d5e656be383d5667dc15ad7eae8208728053fb61439c4c80a7fca
-DIST poco-1.9.0.tar.gz 10012966 BLAKE2B 98848e87008c71dc5131dbd1c2b17afc414074a3e26237918baf231b4e56ce3d69347cf7a3017715895f4ee56a428672fcb804fb3c732da0000ccc9790b0081d SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9
+DIST poco-1.12.4.tar.gz 11296139 BLAKE2B 45e1214616e78041d5ca512cee46621c006fe21f51231f3261dc40ca4941eb3cd4e52db493aa826779784f9d3f35cfd08e3e9d08fb35ebec2d610fb6528c635a SHA512 730700a24b5a00d44aa85914e7d3c9eff76969a123a67315ba5e9b2d18c0ace70d2664d8a611496851f497aa4985d36685a67813a95e814461ae0fffdb460d91
+DIST poco-1.13.3.tar.gz 11332562 BLAKE2B 04380cae92bbd2427873f0ea1a3fcade244ee5168390e26081983ded9faaf22e456bdd4ae87f9c77bafc92155f860ea9f56678ec2204bcd7c51a871e7f00d759 SHA512 084064fb462c9e7993d069ebdf395802af900ed92c5b294465a2c246162bb86caa3505985de329e8110d3e9fb3bc39ae9536d523843729d4ed5ce00c35289d92
diff --git a/dev-libs/poco/files/1.4.6_p4-gentoo.patch b/dev-libs/poco/files/1.4.6_p4-gentoo.patch
deleted file mode 100644
index 8cfc9237db01..000000000000
--- a/dev-libs/poco/files/1.4.6_p4-gentoo.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- components 2012-11-18 16:56:59.000000000 +0100
-+++ components 2012-12-06 12:29:07.779546771 +0100
-@@ -1,14 +1,8 @@
--CppUnit
- Foundation
- XML
- Util
- Net
--Crypto
--NetSSL_OpenSSL
- Data
--Data/SQLite
--Data/ODBC
--Data/MySQL
- Zip
- PageCompiler
- PageCompiler/File2Page
---- Data/ODBC/ODBC.make 2014-04-18 13:41:55.000000000 +0200
-+++ Data/ODBC/ODBC.make.new 2014-12-29 13:44:03.000000000 +0100
-@@ -14,9 +14,9 @@
- ifeq (0, $(shell test -d /usr/lib/$(OSARCH)-linux-gnu; echo $$?))
- ODBCLIBDIR = /usr/lib/$(OSARCH)-linux-gnu
- else ifeq (0, $(shell test -d /usr/lib64; echo $$?))
--ODBCLIBDIR = /usr/lib64
-+ODBCLIBDIR = /usr/$(LIBDIR)
- else
--ODBCLIBDIR = /usr/lib
-+ODBCLIBDIR = /usr/$(LIBDIR)
- endif
- endif
-
-@@ -35,10 +35,10 @@
- # -DODBCVER=0x0300: SQLHandle declaration issue
- # -DNOMINMAX : MIN/MAX macros defined in windows conflict with libstdc++
- CXXFLAGS += -DODBCVER=0x0300 -DNOMINMAX
--else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(LIBLINKEXT); echo $$?))
-+else ifeq (unixodbc, $(GENTOO_ODBC))
- SYSLIBS += -lodbc
- COMMONFLAGS += -DPOCO_UNIXODBC
--else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(LIBLINKEXT); echo $$?))
-+else ifeq (unixodbc, $(GENTOO_ODBC))
- SYSLIBS += -liodbc -liodbcinst
- COMMONFLAGS += -DPOCO_IODBC -I/usr/include/iodbc
- else
---- Makefile 2012-11-18 16:57:00.000000000 +0100
-+++ Makefile 2012-12-06 12:29:07.779546771 +0100
-@@ -33,7 +33,7 @@
-
- install: libexecs
- mkdir -p $(INSTALLDIR)/include/Poco
-- mkdir -p $(INSTALLDIR)/lib
-+ mkdir -p $(INSTALLDIR)/$(LIBDIR)
- mkdir -p $(INSTALLDIR)/bin
- for comp in $(COMPONENTS) ; do \
- if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
-@@ -43,11 +43,11 @@
- find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
- fi ; \
- done
-- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
-- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
-+ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
-+ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
-
--libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec
--tests = Foundation-tests XML-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests
-+libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec PageCompiler-libexec
-+tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
- samples = Foundation-samples XML-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples PageCompiler-samples
-
- .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch b/dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch
new file mode 100644
index 000000000000..afac9bc79229
--- /dev/null
+++ b/dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/FindODBC.cmake b/cmake/FindODBC.cmake
+index 55318b520..fb7efbffe 100644
+--- a/cmake/FindODBC.cmake
++++ b/cmake/FindODBC.cmake
+@@ -34,7 +34,7 @@ find_path(ODBC_INCLUDE_DIR
+ ${ODBC_ROOT_INCLUDE_DIRS}
+ PATHS
+ ${PC_ODBC_INCLUDE_DIRS}
+- /usr/include
++ /usr/include/iodbc
+ /usr/local/include
+ /usr/local/odbc/include
+ /usr/local/iodbc/include
diff --git a/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch b/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch
deleted file mode 100644
index d2654b59edec..000000000000
--- a/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: poco-1.5.0/Foundation/Makefile
-===================================================================
---- poco-1.5.0.orig/Foundation/Makefile
-+++ poco-1.5.0/Foundation/Makefile
-@@ -45,6 +45,7 @@ pcre_utf8_objects = pcre_ucd pcre_tables
-
- ifdef POCO_UNBUNDLED
- SYSLIBS += -lpcre -lz
-+ objects += $(pcre_utf8_objects) # unicode.cpp uses internal pcre tables
- else
- objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects)
- endif
-Index: poco-1.5.0/Foundation/src/pcre_internal.h
-===================================================================
---- poco-1.5.0.orig/Foundation/src/pcre_internal.h
-+++ poco-1.5.0/Foundation/src/pcre_internal.h
-@@ -1109,6 +1109,16 @@ typedef struct {
- } ucp_type_table;
-
-
-+/* renamed to avoid clashes with system pcre */
-+#define _pcre_utf8_table1 _poco__pcre_utf8_table1
-+#define _pcre_utf8_table1_size _poco__pcre_utf8_table1_size
-+#define _pcre_utf8_table2 _poco__pcre_utf8_table2
-+#define _pcre_utf8_table3 _poco__pcre_utf8_table3
-+#define _pcre_utf8_table4 _poco__pcre_utf8_table4
-+#define _pcre_utt _poco__pcre_utt
-+#define _pcre_utt_size _poco__pcre_utt_size
-+#define _pcre_utt_names _poco__pcre_utt_names
-+#define _pcre_OP_lengths _poco__pcre_OP_lengths
- /* Internal shared data tables. These are tables that are used by more than one
- of the exported public functions. They have to be "external" in the C sense,
- but are not part of the PCRE public API. The data for these tables is in the
-@@ -1153,6 +1163,11 @@ typedef struct {
- pcre_int32 other_case;
- } ucd_record;
-
-+/* renamed to avoid clashes with system pcre */
-+#define _pcre_ucd_records _poco__pcre_ucd_records
-+#define _pcre_ucd_stage1 _poco__pcre_ucd_stage1
-+#define _pcre_ucd_stage2 _poco__pcre_ucd_stage2
-+#define _pcre_ucp_gentype _poco__pcre_ucp_gentype
- extern const ucd_record _pcre_ucd_records[];
- extern const uschar _pcre_ucd_stage1[];
- extern const pcre_uint16 _pcre_ucd_stage2[];
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 6c90e505339c..f73e85906ed1 100644
--- a/dev-libs/poco/metadata.xml
+++ b/dev-libs/poco/metadata.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>davidroman96@gmail.com</email>
+ <name>David Roman</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<longdescription>
POCO, the C++ Portable Components, is a collection of open source
C++ class libraries that simplify and accelerate the development of
@@ -24,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="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="ssl">Encryption and digital signing classes</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.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.13.3.ebuild b/dev-libs/poco/poco-1.13.3.ebuild
new file mode 100644
index 000000000000..1ab18c28679e
--- /dev/null
+++ b/dev-libs/poco/poco-1.13.3.ebuild
@@ -0,0 +1,142 @@
+# 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/103"
+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 ) activerecord json jwt pdf util xml )
+"
+
+BDEPEND="
+ test? ( dev-util/cppunit )
+ 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}"
+
+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,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
+ 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
+
+ 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.4.6_p4.ebuild b/dev-libs/poco/poco-1.4.6_p4.ebuild
deleted file mode 100644
index 93c4559ec12a..000000000000
--- a/dev-libs/poco/poco-1.4.6_p4.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils toolchain-funcs flag-o-matic multilib versionator
-
-MY_P="${P/_}"
-MY_DOCP="${PN}-$(get_version_component_range 1-3)-all-doc"
-
-DESCRIPTION="C++ libraries for building network-based applications"
-HOMEPAGE="https://pocoproject.org/"
-SRC_URI="https://pocoproject.org/releases/poco-$(get_version_component_range 1-3)/${MY_P}-all.tar.bz2
- doc? ( mirror://sourceforge/poco/${MY_DOCP}.zip )"
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE="doc examples iodbc mysql odbc sqlite ssl test"
-
-DEPEND=">=dev-libs/libpcre-8.13
- dev-libs/expat
- sys-libs/zlib
- mysql? ( virtual/mysql )
- odbc? ( iodbc? ( dev-db/libiodbc )
- !iodbc? ( dev-db/unixODBC ) )
- ssl? ( dev-libs/openssl:0= )
- sqlite? ( dev-db/sqlite:3 )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}-all"
-
-src_prepare() {
- epatch \
- "${FILESDIR}"/${PV}-gentoo.patch \
- "${FILESDIR}"/poco-1.4.4-patch-for-libpcre-8.32.patch
-}
-
-src_configure() {
- targets="libexecs"
- odbc="unixodbc"
-
- if use ssl; then
- targets="${targets} NetSSL_OpenSSL-libexec Crypto-libexec"
- echo NetSSL_OpenSSL >> components
- echo Crypto >> components
- fi
- if use odbc; then
- targets="${targets} Data/ODBC-libexec"
- echo Data/ODBC >> components
- if use iodbc; then
- append-flags "-I/usr/include/iodbc"
- odbc="iodbc"
- fi
- fi
- if use sqlite; then
- targets="${targets} Data/SQLite-libexec"
- echo Data/SQLite >> components
- fi
- if use mysql; then
- targets="${targets} Data/MySQL-libexec"
- echo Data/MySQL >> components
- fi
-
- if use test; then
- targets="${targets} cppunit tests"
- echo CppUnit >> components
- use ssl && targets="${targets} NetSSL_OpenSSL-tests Crypto-tests"
- use odbc && targets="${targets} Data/ODBC-tests"
- use sqlite && targets="${targets} Data/SQLite-tests"
- use mysql && targets="${targets} Data/MySQL-tests"
- fi
-
- local myconf
- use test || myconf="--no-tests"
- # not autoconf
- ./configure \
- --no-samples ${myconf} \
- --prefix=/usr \
- --unbundled \
- || die "configure failed"
-
- sed -i \
- -e 's|-O2||g' \
- -e "s|CC = .*|CC = $(tc-getCC)|" \
- -e "s|CXX = .*|CXX = $(tc-getCXX)|" \
- -e "s|RANLIB = .*|RANLIB = $(tc-getRANLIB)|" \
- -e "s|LIB = ar|LIB = $(tc-getAR)|" \
- -e "s|STRIP = .*|STRIP = /bin/true|" \
- -e "s|CFLAGS = |CFLAGS = ${CFLAGS}|" \
- -e "s|CXXFLAGS = |CXXFLAGS = ${CXXFLAGS} |" \
- -e "s|LINKFLAGS =|LINKFLAGS = ${LDFLAGS} |" \
- -e "s|SHAREDOPT_LINK = -Wl,-rpath,\$(LIBPATH)|SHAREDOPT_LINK =|" \
- build/config/Linux build/config/FreeBSD || die "sed failed"
- sed -i -e "s|SHLIBFLAGS)|SHLIBFLAGS) ${LDFLAGS}|" build/rules/lib || die
-}
-
-src_compile() {
- emake POCO_PREFIX=/usr GENTOO_ODBC="${odbc}" LIBDIR="$(get_libdir)" ${targets} || die "emake failed"
-}
-
-src_install() {
- emake POCO_PREFIX=/usr LIBDIR="$(get_libdir)" DESTDIR="${D}" install || die "emake install failed"
-
- dodoc CHANGELOG CONTRIBUTORS NEWS README
-
- use doc && dohtml -r "${WORKDIR}/${MY_DOCP}"/*
-
- if use examples ; then
- for d in Net XML Data Util NetSSL_OpenSSL Foundation ; do
- insinto /usr/share/doc/${PF}/examples/${d}
- doins -r ${d}/samples
- 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/poco/poco-1.9.0-r2.ebuild b/dev-libs/poco/poco-1.9.0-r2.ebuild
deleted file mode 100644
index 0e799b657b11..000000000000
--- a/dev-libs/poco/poco-1.9.0-r2.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit cmake-utils
-
-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 +json +pagecompiler iodbc libressl mariadb +mongodb mysql +net odbc pdf pocodoc sqlite +ssl test +util +xml +zip"
-REQUIRED_USE="
- 7z? ( xml )
- file2pagecompiler? ( pagecompiler )
- iodbc? ( odbc )
- mongodb? ( data )
- mysql? ( data )
- odbc? ( data )
- pagecompiler? ( json net util xml )
- pocodoc? ( cppparser util xml )
- ssl? ( util )
- sqlite? ( data )
- test? ( data? ( sqlite ) json util xml )
-"
-
-RDEPEND="
- >=dev-libs/libpcre-8.42
- xml? ( dev-libs/expat )
- mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= )
- mariadb? ( dev-db/mariadb-connector-c:0= ) )
- odbc? ( iodbc? ( dev-db/libiodbc )
- !iodbc? ( dev-db/unixODBC ) )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- sqlite? ( dev-db/sqlite:3 )
- zip? ( sys-libs/zlib )
-"
-DEPEND="${DEPEND}
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${PN}-${P}-release"
-
-PATCHES=( "${FILESDIR}/${PN}-1.7.2-iodbc-incdir.patch" )
-
-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
-
- cmake-utils_src_prepare
-}
-
-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)"
- )
-
- if ! use iodbc ; then
- sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
- fi
-
- cmake-utils_src_configure
-}
-
-src_test() {
- POCO_BASE="${S}" cmake-utils_src_test
-}
-
-src_install() {
- cmake-utils_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/polylib/metadata.xml b/dev-libs/polylib/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/polylib/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/polylib/polylib-9999.ebuild b/dev-libs/polylib/polylib-9999.ebuild
deleted file mode 100644
index dabb9d8742d9..000000000000
--- a/dev-libs/polylib/polylib-9999.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 autotools git-r3
-
-EGIT_REPO_URI="https://repo.or.cz/r/${PN}.git"
-
-DESCRIPTION="ppl port of cloog"
-HOMEPAGE="http://icps.u-strasbg.fr/polylib/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE=""
-
-src_prepare() {
- default
- eautoreconf
- sed -i '/Libs:/s:@LDFLAGS@::' configure
-}
-
-src_install() {
- default
- dodoc doc/Changes
-}
diff --git a/dev-libs/popt/Manifest b/dev-libs/popt/Manifest
index 58bac3e2e664..e4cb7e35fb1f 100644
--- a/dev-libs/popt/Manifest
+++ b/dev-libs/popt/Manifest
@@ -1 +1 @@
-DIST popt-1.16.tar.gz 702769 BLAKE2B 37767ec50118f3675e8bfa780dca7989e092ea71c3ea1e1ab80d7cc13bf20a3b5f0681df2a7e0b1e3404404a0952f7b7f0135083d4166026dc26880a5a17ab3f SHA512 bae2dd4e5d682ef023fdc77ae60c4aad01a3a576d45af9d78d22490c11e410e60edda37ede171920746d4ae0d5de3c060d15cecfd41ba75b727a811be828d694
+DIST popt-1.19.tar.gz 596676 BLAKE2B 8f8965e2d339f0413e8d1da421ea7556526f39f089a822063d6fdc35b781a7c7ea84a91d6af3e25902c1f045f564ef956fc69cd4625e6cc008c9e3ca34923a9d SHA512 5d1b6a15337e4cd5991817c1957f97fc4ed98659870017c08f26f754e34add31d639d55ee77ca31f29bb631c0b53368c1893bd96cf76422d257f7997a11f6466
diff --git a/dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch b/dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch
deleted file mode 100644
index 32e1bb353037..000000000000
--- a/dev-libs/popt/files/fix-popt-pkgconfig-libdir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u popt-1.16.orig/Makefile.in popt-1.16/Makefile.in
---- popt-1.16.orig/Makefile.in 2010-05-04 16:55:59.000000000 -0400
-+++ popt-1.16/Makefile.in 2010-12-23 22:45:42.843131000 -0500
-@@ -370,7 +370,7 @@
- libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c
- libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@ \
- $(am__append_1)
--pkgconfigdir = $(prefix)/lib/pkgconfig
-+pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = popt.pc
- man_MANS = popt.3
- BUILT_SOURCES = popt.pc # popt.lcd
diff --git a/dev-libs/popt/metadata.xml b/dev-libs/popt/metadata.xml
index 3e60a9a347a4..5bbdd7a2e5cc 100644
--- a/dev-libs/popt/metadata.xml
+++ b/dev-libs/popt/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
- </maintainer>
+ <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.16-r2.ebuild b/dev-libs/popt/popt-1.16-r2.ebuild
deleted file mode 100644
index efda71d2e079..000000000000
--- a/dev-libs/popt/popt-1.16-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils multilib-minimal libtool
-
-DESCRIPTION="Parse Options - Command line parser"
-HOMEPAGE="http://rpm5.org/"
-SRC_URI="http://rpm5.org/files/popt/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-linux"
-IUSE="nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="nls? ( sys-devel/gettext )"
-
-src_prepare() {
- epatch "${FILESDIR}"/fix-popt-pkgconfig-libdir.patch #349558
- sed -i -e 's:lt-test1:test1:' testit.sh || die
- elibtoolize
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --disable-dependency-tracking \
- $(use_enable static-libs static) \
- $(use_enable nls)
-}
-
-multilib_src_install_all() {
- dodoc CHANGES README
- prune_libtool_files --all
-}
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/Manifest b/dev-libs/ppl/Manifest
index 7d13cd571112..1b10f505e69f 100644
--- a/dev-libs/ppl/Manifest
+++ b/dev-libs/ppl/Manifest
@@ -1,2 +1,2 @@
-DIST ppl-1.1.tar.xz 14734820 BLAKE2B 2c96d86b534c7f06569bfe37d0ca1938b0c7c708b38d62e210d868db005275e392b2cc9e6dded7d4a5bf1e901136c298b0ff86d2933dc89b4607d5ef9e286b86 SHA512 ae0503fb3eac494fa3edf5d5c9ec61e2419e6e2fa57d30323f7d0360ff080b033686410c7462f5b2ff5514803451cb91e9c0fc14cf953485c5f5fd664448cc27
+DIST ppl-1.2-r3-disable-boeing-tests.patch 21485 BLAKE2B e68bab59710c63726f04a139e84d72b277e85625bc405c594a22c005186a2c3aae3850e17b81d38fa0231dcfd08454d488bbad2474ed810be78ef646d9c92559 SHA512 fc8dc020e493e5726167741d1548c661bac07991a982bf09ff61f593adfd2faf723886cbcb16d741db61e46530c4dddf49b6b61b67fef7d5ac15ca577c7fc46d
DIST ppl-1.2.tar.xz 14136236 BLAKE2B 060b73384dac558dc8b2b0f1027ed0aa270b0adf0992c2ca1a281fa7bcdf959cba3a9e8ee29e978d12c3eee606b819075c5bcab59f4aed24fbf1c5512b5e2c36 SHA512 b509ed85fa6aedd40119bd4c980b17f33072c56c2acd923da3445b6bc80d48051cfa4c04cce96f6974711f5279c24b31cb3869f87b2eb6a2a1b30a058c809350
diff --git a/dev-libs/ppl/files/disable-containsintegerpoint1.patch b/dev-libs/ppl/files/disable-containsintegerpoint1.patch
new file mode 100644
index 000000000000..00494674073d
--- /dev/null
+++ b/dev-libs/ppl/files/disable-containsintegerpoint1.patch
@@ -0,0 +1,38 @@
+From c88aa34ffe31d4314ea87e27a2c974927bcd962e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 14 Apr 2020 10:40:29 -0400
+Subject: [PATCH 2/3] tests/Box/Makefile.am: disable the
+ "containsintegerpoint1" test.
+
+There is an upstream report about the "containsintegerpoint1" test
+failing on Arch Linux, so this commit proactively disables it.
+
+Upstream-bug: https://www.cs.unipr.it/mantis/view.php?id=2120
+---
+ tests/Box/Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/tests/Box/Makefile.am b/tests/Box/Makefile.am
+index adfcb8432..56e4fa535 100644
+--- a/tests/Box/Makefile.am
++++ b/tests/Box/Makefile.am
+@@ -73,7 +73,6 @@ congruences1 \
+ constrains1 \
+ constraints1 \
+ contains1 \
+-containsintegerpoint1 \
+ difference1 \
+ discrete1 \
+ disjoint1 \
+@@ -201,8 +200,6 @@ constraints1_SOURCES = constraints1.cc
+
+ contains1_SOURCES = contains1.cc
+
+-containsintegerpoint1_SOURCES = containsintegerpoint1.cc
+-
+ difference1_SOURCES = difference1.cc
+
+ discrete1_SOURCES = discrete1.cc
+--
+2.24.1
+
diff --git a/dev-libs/ppl/files/disable-mipproblem2.patch b/dev-libs/ppl/files/disable-mipproblem2.patch
new file mode 100644
index 000000000000..e2a507047f9c
--- /dev/null
+++ b/dev-libs/ppl/files/disable-mipproblem2.patch
@@ -0,0 +1,39 @@
+From 5199ade9ce4b09fdcc4bb4117d796eafe260cf56 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 14 Apr 2020 10:16:59 -0400
+Subject: [PATCH 1/3] tests/MIP_Problem/Makefile.am: disable mipproblem2.
+
+The "mipproblem2" test sometimes fails on PPC64 systems, and the
+easiest way to work around that is to simply delete the test. Guess
+what this commit does.
+
+Gentoo-bug: https://bugs.gentoo.org/717258
+Upstream-bug: https://www.cs.unipr.it/mantis/view.php?id=2653
+---
+ tests/MIP_Problem/Makefile.am | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/tests/MIP_Problem/Makefile.am b/tests/MIP_Problem/Makefile.am
+index 80f66cbb2..911fca67d 100644
+--- a/tests/MIP_Problem/Makefile.am
++++ b/tests/MIP_Problem/Makefile.am
+@@ -55,7 +55,6 @@ TESTS = \
+ ascii_dump_load1 \
+ exceptions1 \
+ mipproblem1 \
+-mipproblem2 \
+ mipproblem3 \
+ mipproblem4
+
+@@ -73,8 +72,6 @@ exceptions1_SOURCES = exceptions1.cc
+
+ mipproblem1_SOURCES = mipproblem1.cc
+
+-mipproblem2_SOURCES = mipproblem2.cc
+-
+ mipproblem3_SOURCES = mipproblem3.cc
+
+ mipproblem4_SOURCES = mipproblem4.cc
+--
+2.24.1
+
diff --git a/dev-libs/ppl/files/fix-clang-build.patch b/dev-libs/ppl/files/fix-clang-build.patch
new file mode 100644
index 000000000000..648ff59aa307
--- /dev/null
+++ b/dev-libs/ppl/files/fix-clang-build.patch
@@ -0,0 +1,37 @@
+From: Roberto Bagnara <bagnara@cs.unipr.it>
+Date: Sun, 11 Feb 2018 08:11:09 +0000 (+0100)
+Subject: Added missing "template" and "typename" keywords.
+X-Git-Url: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl%2Fppl.git;a=commitdiff_plain;h=c39f6a07b51f89e365b05ba4147aa2aa448febd7;hp=3a5e1e20a94cffb830182f22132b153d6691b7c5
+
+Added missing "template" and "typename" keywords.
+(Thanks to Dmitrii Pasechnik.)
+---
+
+diff --git a/src/Determinate_inlines.hh b/src/Determinate_inlines.hh
+index 2749953..5b47275 100644
+--- a/src/Determinate_inlines.hh
++++ b/src/Determinate_inlines.hh
+@@ -289,8 +289,8 @@ operator()(Determinate& x, const Determinate& y) const {
+
+ template <typename PSET>
+ template <typename Binary_Operator_Assign>
+-inline
+-Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
++inline typename
++Determinate<PSET>::template Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
+ Determinate<PSET>::lift_op_assign(Binary_Operator_Assign op_assign) {
+ return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
+ }
+diff --git a/src/OR_Matrix_inlines.hh b/src/OR_Matrix_inlines.hh
+index b20b697..8124b7f 100644
+--- a/src/OR_Matrix_inlines.hh
++++ b/src/OR_Matrix_inlines.hh
+@@ -97,7 +97,7 @@ OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(const Pseudo_Row<V>& y)
+
+ template <typename T>
+ template <typename U>
+-inline OR_Matrix<T>::Pseudo_Row<U>&
++inline typename OR_Matrix<T>::template Pseudo_Row<U>&
+ OR_Matrix<T>::Pseudo_Row<U>::operator=(const Pseudo_Row& y) {
+ first = y.first;
+ #if PPL_OR_MATRIX_EXTRA_DEBUG
diff --git a/dev-libs/ppl/metadata.xml b/dev-libs/ppl/metadata.xml
index d1dc39110e28..3a6a37e8d092 100644
--- a/dev-libs/ppl/metadata.xml
+++ b/dev-libs/ppl/metadata.xml
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>toolchain@gentoo.org</email>
- <name>Gentoo Toolchain Project</name>
-</maintainer>
-<use>
- <flag name="lpsol">Build the ppl_lpsol linear programming problem solver</flag>
-</use>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="cdd">
+ Build the ppl_lcdd program for vertex/facet enumeration
+ accepting the same input format as the programs shipped with
+ <pkg>sci-libs/cddlib</pkg> and <pkg>sci-libs/lrslib</pkg>
+ </flag>
+ <flag name="lpsol">
+ Build the ppl_lpsol linear program solver that uses
+ <pkg>sci-mathematics/glpk</pkg> for its input routines
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/ppl/ppl-1.1.ebuild b/dev-libs/ppl/ppl-1.1.ebuild
deleted file mode 100644
index 1aa44fbb4e19..000000000000
--- a/dev-libs/ppl/ppl-1.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-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"
-
-LICENSE="GPL-3"
-SLOT="0/4.13" # SONAMEs
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~sparc-solaris"
-IUSE="+cxx doc lpsol pch static-libs test"
-
-RDEPEND=">=dev-libs/gmp-6[cxx]
- lpsol? ( sci-mathematics/glpk )
- !dev-libs/cloog-ppl"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- sys-devel/m4"
-
-pkg_setup() {
- if use test ; then
- ewarn "The PPL testsuite will be run."
- ewarn "Note that this can take several hours to complete on a fast machine."
- fi
-}
-
-src_configure() {
- local interfaces=( c )
- use cxx && interfaces+=( cxx )
- econf \
- --docdir="${EPREFIX}"/usr/share/doc/${PF} \
- --disable-debugging \
- --disable-optimization \
- $(use_enable doc documentation) \
- $(use_enable lpsol ppl_lpsol) \
- $(use_enable pch) \
- $(use_enable static-libs static) \
- --enable-interfaces="${interfaces[*]}" \
- $(use test && echo --enable-check=quick)
-}
-
-src_test() {
- # default src_test runs with -j1, overriding it here saves about
- # 30 minutes and is recommended by upstream
- emake check
-}
-
-src_install() {
- default
- use static-libs || find "${ED}"/usr -name 'libppl*.la' -delete
-
- 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/ppl/ppl-1.2.ebuild b/dev-libs/ppl/ppl-1.2.ebuild
deleted file mode 100644
index 4c4cf952f0d8..000000000000
--- a/dev-libs/ppl/ppl-1.2.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-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"
-
-LICENSE="GPL-3"
-SLOT="0/4.14" # SONAMEs
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~sparc-solaris"
-IUSE="+cxx doc lpsol pch static-libs test"
-
-RDEPEND=">=dev-libs/gmp-6[cxx]
- lpsol? ( sci-mathematics/glpk )
- !dev-libs/cloog-ppl"
-DEPEND="${RDEPEND}
- app-arch/xz-utils
- sys-devel/m4"
-
-pkg_setup() {
- if use test ; then
- ewarn "The PPL testsuite will be run."
- ewarn "Note that this can take several hours to complete on a fast machine."
- fi
-}
-
-src_configure() {
- local interfaces=( c )
- use cxx && interfaces+=( cxx )
- econf \
- --docdir="${EPREFIX}"/usr/share/doc/${PF} \
- --disable-debugging \
- --disable-optimization \
- $(use_enable doc documentation) \
- $(use_enable lpsol ppl_lpsol) \
- $(use_enable pch) \
- $(use_enable static-libs static) \
- --enable-interfaces="${interfaces[*]}" \
- $(use test && echo --enable-check=quick)
-}
-
-src_test() {
- # default src_test runs with -j1, overriding it here saves about
- # 30 minutes and is recommended by upstream
- emake check
-}
-
-src_install() {
- default
- use static-libs || find "${ED}"/usr -name 'libppl*.la' -delete
-
- 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/processor-trace/Manifest b/dev-libs/processor-trace/Manifest
deleted file mode 100644
index a5ca8726e9cd..000000000000
--- a/dev-libs/processor-trace/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST processor-trace-1.6.1.tar.gz 250843 BLAKE2B 0fa3f97f14e6fb931ea787261e84c65cbce0667db7adc709bdf386f5a87a9eb9af71b3b5b45c1c0f17d6b8e6800b92e9417955dc5496f3f6d3022620153fc2ad SHA512 c7c9c8ba78021fff3fde12a216f5729c6031114e5a727f49b7ff1a31c53b5ddba24d1b3aee252d8278ecd1fafe78a44ed059c12b9eb29eca33093e0720673468
-DIST processor-trace-1.6.2.tar.gz 259982 BLAKE2B ab394dd37eab924e841d77911f90e0b3ecceac69ae1b8fcd911c0bc26c2ac4aedf8bde3e0d8197b3341159d6b35458177f0c795eb9c1b146e38fd278135042fe SHA512 10f4ef6bcca9a4b39b0cfbfc82d79a6adb206aaa1a78961b0dea0926f7e2e462ea3cd5430dc82e71ce9dede18550f3c84d38fee26e1b2065668767fb5f796995
-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 e55ddede119c..000000000000
--- a/dev-libs/processor-trace/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>jollheef@riseup.net</email>
- <name>Mikhail Klementev</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/processor-trace/processor-trace-1.6.1.ebuild b/dev-libs/processor-trace/processor-trace-1.6.1.ebuild
deleted file mode 100644
index 5e70a10ca37a..000000000000
--- a/dev-libs/processor-trace/processor-trace-1.6.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# 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
-KEYWORDS="-* ~amd64"
-IUSE="doc 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/processor-trace/processor-trace-1.6.2.ebuild b/dev-libs/processor-trace/processor-trace-1.6.2.ebuild
deleted file mode 100644
index 58e645476adf..000000000000
--- a/dev-libs/processor-trace/processor-trace-1.6.2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 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
-KEYWORDS="-* ~amd64"
-IUSE="doc 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/processor-trace/processor-trace-2.0.ebuild b/dev-libs/processor-trace/processor-trace-2.0.ebuild
deleted file mode 100644
index 253935c1743f..000000000000
--- a/dev-libs/processor-trace/processor-trace-2.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2018 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"
-
-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 0dd2386a7ba6..9e824fc64956 100644
--- a/dev-libs/protobuf-c/Manifest
+++ b/dev-libs/protobuf-c/Manifest
@@ -1 +1 @@
-DIST protobuf-c-1.3.1.tar.gz 498779 BLAKE2B f9ecb2cccd8e01a2ab5bd797883f245db418a76ac73ba3e756e997e944637732d45b3fca2a45d3caf4cd89f35259180fa05e64b8b02b63537005420f2233ba37 SHA512 b32920130b4be5e8a8373c2ca37ffe7eb263accf163d93e25a9eb4b6336ec40b05dda2458fe8f0c3cbcf6e0e08e9541fdff004d696f30a5d135b7a3bdca8b2c3
+DIST protobuf-c-1.4.1.tar.gz 513596 BLAKE2B b5e87a3154863581b81790a26b6b522c2b3ad138e966053f20c6264b4a7677d6c5bff8e27faa7c6cfa9e982b72b06e2f518a3def9f6db13241c3cb3ee9afc8f6 SHA512 190a4aa5c607853e6bf860b0974deb21e4f7f6209e810251eaca9612b59ea676779b0ca217fb1572914ffb8de3315a7d24f162b14d447ee671a9adc5b1271e41
diff --git a/dev-libs/protobuf-c/files/protobuf-c-1.3.1-protobuf-3.7.patch b/dev-libs/protobuf-c/files/protobuf-c-1.3.1-protobuf-3.7.patch
deleted file mode 100644
index 218dec00f872..000000000000
--- a/dev-libs/protobuf-c/files/protobuf-c-1.3.1-protobuf-3.7.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://github.com/protobuf-c/protobuf-c/commit/7456d1621223d425b8a3fd74e435a79c046169fb
-
---- /t/generated-code2/cxx-generate-packed-data.cc
-+++ /t/generated-code2/cxx-generate-packed-data.cc
-@@ -998,7 +998,7 @@
- static void dump_test_unknown_fields (void)
- {
- EmptyMess mess;
-- const google::protobuf::Message::Reflection *reflection = mess.GetReflection();
-+ const google::protobuf::Reflection *reflection = mess.GetReflection();
- google::protobuf::UnknownFieldSet *fs = reflection->MutableUnknownFields(&mess);
-
- #if GOOGLE_PROTOBUF_VERSION >= 2001000
diff --git a/dev-libs/protobuf-c/files/protobuf-c-1.4.0-include-path.patch b/dev-libs/protobuf-c/files/protobuf-c-1.4.0-include-path.patch
new file mode 100644
index 000000000000..80b6ea4705b1
--- /dev/null
+++ b/dev-libs/protobuf-c/files/protobuf-c-1.4.0-include-path.patch
@@ -0,0 +1,105 @@
+https://bugs.gentoo.org/818775
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -111,7 +111,7 @@ protoc_c_protoc_gen_c_LDADD = \
+ -lprotoc
+
+ protobuf-c/protobuf-c.pb.cc protobuf-c/protobuf-c.pb.h: @PROTOC@ $(top_srcdir)/protobuf-c/protobuf-c.proto
+- $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) --cpp_out=$(top_builddir) $(top_srcdir)/protobuf-c/protobuf-c.proto
++ $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) -I@includedir@ --cpp_out=$(top_builddir) $(top_srcdir)/protobuf-c/protobuf-c.proto
+
+ BUILT_SOURCES += \
+ protobuf-c/protobuf-c.pb.cc \
+@@ -174,16 +174,16 @@ t_generated_code2_cxx_generate_packed_da
+ $(protobuf_LIBS)
+
+ t/test.pb-c.c t/test.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/test.proto
+
+ t/test-optimized.pb-c.c t/test-optimized.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-optimized.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-optimized.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/test-optimized.proto
+
+ t/test-full.pb-c.c t/test-full.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-full.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
+
+ t/test-full.pb.cc t/test-full.pb.h: @PROTOC@ $(top_srcdir)/t/test-full.proto
+- $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) --cpp_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
++ $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) -I@includedir@ --cpp_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
+
+ t/generated-code2/test-full-cxx-output.inc: t/generated-code2/cxx-generate-packed-data$(EXEEXT)
+ $(AM_V_GEN)$(top_builddir)/t/generated-code2/cxx-generate-packed-data$(EXEEXT) > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc
+@@ -214,7 +214,7 @@ t_generated_code3_test_generated_code3_S
+ t/test-proto3.pb-c.c
+
+ t/test-proto3.pb-c.c t/test-proto3.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-proto3.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-proto3.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/test-proto3.proto
+
+ BUILT_SOURCES += \
+ t/test-proto3.pb-c.c t/test-proto3.pb-c.h
+@@ -237,7 +237,7 @@ t_issue204_issue204_SOURCES = \
+ t_issue204_issue204_LDADD = \
+ protobuf-c/libprotobuf-c.la
+ t/issue204/issue204.pb-c.c t/issue204/issue204.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue204/issue204.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue204/issue204.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/issue204/issue204.proto
+ BUILT_SOURCES += \
+ t/issue204/issue204.pb-c.c t/issue204/issue204.pb-c.h
+ EXTRA_DIST += \
+@@ -254,7 +254,7 @@ t_issue220_issue220_SOURCES = \
+ t_issue220_issue220_LDADD = \
+ protobuf-c/libprotobuf-c.la
+ t/issue220/issue220.pb-c.c t/issue220/issue220.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue220/issue220.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue220/issue220.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/issue220/issue220.proto
+ BUILT_SOURCES += \
+ t/issue220/issue220.pb-c.c t/issue220/issue220.pb-c.h
+ EXTRA_DIST += \
+@@ -271,7 +271,7 @@ t_issue251_issue251_SOURCES = \
+ t_issue251_issue251_LDADD = \
+ protobuf-c/libprotobuf-c.la
+ t/issue251/issue251.pb-c.c t/issue251/issue251.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue251/issue251.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue251/issue251.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/issue251/issue251.proto
+ BUILT_SOURCES += \
+ t/issue251/issue251.pb-c.c t/issue251/issue251.pb-c.h
+ EXTRA_DIST += \
+@@ -289,14 +289,14 @@ t_issue330_issue330_SOURCES = \
+ t_issue330_issue330_LDADD = \
+ protobuf-c/libprotobuf-c.la
+ t/issue330/issue330.pb-c.c t/issue330/issue330.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue330/issue330.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue330/issue330.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/issue330/issue330.proto
+ BUILT_SOURCES += \
+ t/issue330/issue330.pb-c.c t/issue330/issue330.pb-c.h
+
+ t_issue330_issue330_SOURCES += \
+ t/issue389/issue389.pb-c.c # Tack onto issue330 since there is no need for a separate binary here
+ t/issue389/issue389.pb-c.c t/issue389/issue389.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue389/issue389.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue389/issue389.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/issue389/issue389.proto
+ BUILT_SOURCES += \
+ t/issue389/issue389.pb-c.c t/issue389/issue389.pb-c.h
+ EXTRA_DIST += \
+@@ -312,7 +312,7 @@ t_issue440_issue440_SOURCES = \
+ t_issue440_issue440_LDADD = \
+ protobuf-c/libprotobuf-c.la
+ t/issue440/issue440.pb-c.c t/issue440/issue440.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue440/issue440.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue440/issue440.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/issue440/issue440.proto
+ BUILT_SOURCES += \
+ t/issue440/issue440.pb-c.c t/issue440/issue440.pb-c.h
+ EXTRA_DIST += \
+@@ -332,7 +332,7 @@ t_issue375_issue375_SOURCES = \
+ t_issue375_issue375_LDADD = \
+ protobuf-c/libprotobuf-c.la
+ t/issue375/issue375.pb-c.c t/issue375/issue375.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue375/issue375.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue375/issue375.proto
++ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) -I@includedir@ --c_out=$(top_builddir) $(top_srcdir)/t/issue375/issue375.proto
+ BUILT_SOURCES += \
+ t/issue375/issue375.pb-c.c t/issue375/issue375.pb-c.h
+ EXTRA_DIST += \
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 b15849585db8..f504bd5fa68e 100644
--- a/dev-libs/protobuf-c/metadata.xml
+++ b/dev-libs/protobuf-c/metadata.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-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.1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.3.1.ebuild
deleted file mode 100644
index 7c0ba929cee4..000000000000
--- a/dev-libs/protobuf-c/protobuf-c-1.3.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 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 s390 sparc x86"
-IUSE="static-libs test"
-
-BDEPEND="dev-libs/protobuf:0
- virtual/pkgconfig[${MULTILIB_USEDEP}]"
-DEPEND="dev-libs/protobuf:0=[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.3.1-protobuf-3.7.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[@]}"
-}
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 58f115f98dd4..8695f23be04a 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -1,3 +1,4 @@
-DIST protobuf-3.6.1.3.tar.gz 4490599 BLAKE2B 5a058f937330bd562e364a8d86e0b1376fdac9fded0fd23d6914cb59c5c15e8bfc1e203ea36b5a4eece8919708c1a9a6616b0ec2028d6ec339704da53ed81963 SHA512 9eadb46c7daa19e612516958169bc90943b38b429a4b2cf2171b66b57f50a2f8a9b66cbf58bdd44517af414b78e0f3ab2e1361891dc60ecd098185da2638d37e
-DIST protobuf-3.7.1.tar.gz 4795774 BLAKE2B a91155169623ee24ba49e397b151829321c01ff06bb27541e6c02701c37ac96ea9606961291ef0d4616dd6dba045bf7e893ec6288f5809d30cc026b60ae76590 SHA512 7d4cfabd4bd55926336a3baafa0bc1f1f15380b1b2af945f70a2bb3ba24c6ac6567f49c492326d6d1c43a488166bff178f9266377758a05d8541d8b242f4f80f
-DIST protobuf-3.8.0.tar.gz 4934577 BLAKE2B 4b86ab216e8a8b2c99c3620da9417c0562498e9d4dbf4957db186f51c62b0ed73b1322635a076b2d4054e015bdf6c8c50cc7fd0cb78d24a93b29d2a5b48f66fe SHA512 ba27c64e5193cd4a144bf0c9dc0d195fbbe6e580aaca01960362f0f185074588ca40046d3bcea76e1deae7508b722f6c5be484ea957122ae8e98229c7c3a4ad2
+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.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/files/protobuf-3.6.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.6.0-disable_no-warning-test.patch
deleted file mode 100644
index 834f6b0d1ab5..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.6.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
-@@ -717,7 +717,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.6.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.6.0-protoc_input_output_files.patch
deleted file mode 100644
index 8b583522f464..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.6.0-protoc_input_output_files.patch
+++ /dev/null
@@ -1,233 +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
-@@ -931,6 +931,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;
-@@ -939,13 +961,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;
- }
- }
-
-@@ -983,6 +1012,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)) {
-@@ -1571,6 +1605,12 @@
-
- codec_type_ = value;
-
-+ } 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;
-@@ -1693,18 +1733,29 @@
- " --version Show version info and exit.\n"
- " -h, --help Show this text and exit.\n"
- " --encode=MESSAGE_TYPE Read a text-format message of the given type\n"
--" from standard input and write it in binary\n"
--" to standard output. The message type must\n"
--" be defined in PROTO_FILES or their imports.\n"
--" --decode=MESSAGE_TYPE Read a binary message of the given type from\n"
--" standard input and write it in text format\n"
--" to standard output. The message type must\n"
-+" an write it in binary. The message type must\n"
- " be defined in PROTO_FILES or their imports.\n"
--" --decode_raw Read an arbitrary protocol message from\n"
--" standard input and write the raw tag/value\n"
--" pairs in text format to standard output. No\n"
-+" The input/output protobuf files are specified\n"
-+" using the --protobuf_in and --protobuf_out\n"
-+" command line flags.\n"
-+" --decode=MESSAGE_TYPE Read a binary message of the given type and\n"
-+" write it in text format. The message type\n"
-+" must be defined in PROTO_FILES or their\n"
-+" imports. The input/output protobuf files are\n"
-+" specified using the --protobuf_in and \n"
-+" --protobuf_out command line flags.\n"
-+" --decode_raw Read an arbitrary protocol message and write\n"
-+" the raw tag/value pairs in text format. No\n"
- " PROTO_FILES should be given when using this\n"
--" flag.\n"
-+" flag. The input/output protobuf files are\n"
-+" specified using the --protobuf_in and \n"
-+" --protobuf_out command line flags.\n"
-+" --protobuf_in Absolute path to the protobuf file to read to\n"
-+" encode/decode. If omitted, file will be read\n"
-+" from STDIN.\n"
-+" --protobuf_out Absolute path to the protobuf file to write to\n"
-+" after encode/decode operation. If omitted,\n"
-+" output is written to STDOUT.\n"
- " --descriptor_set_in=FILES Specifies a delimited list of FILES\n"
- " each containing a FileDescriptorSet (a\n"
- " protocol buffer defined in descriptor.proto).\n"
-@@ -1983,7 +2034,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) {
-@@ -1995,15 +2048,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
-@@ -272,7 +272,9 @@
- GeneratorContext* generator_context, 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(
-@@ -405,6 +407,13 @@
- // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty.
- std::vector<string> descriptor_set_in_names_;
-
-+ // When using --encode / --decode / --decode_raw absolute path to the output
-+ // file. (Empty string indicates write to STDOUT).
-+ string protobuf_out_path_;
-+ // When using --encode / --decode / --decode_raw, absolute path to the input
-+ // file. (Empty string indicates read from STDIN).
-+ string protobuf_in_path_;
-+
- // If --descriptor_set_out was given, this is the filename to which the
- // FileDescriptorSet should be written. Otherwise, empty.
- string descriptor_set_out_name_;
---- /src/google/protobuf/compiler/command_line_interface_unittest.cc
-+++ /src/google/protobuf/compiler/command_line_interface_unittest.cc
-@@ -94,7 +94,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 string& command);
-@@ -2337,6 +2337,17 @@
- EXPECT_EQ(StripCR(expected_text), StripCR(captured_stderr_));
- }
-
-+ 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_ =
-@@ -2427,6 +2438,18 @@
- "google/protobuf/no_such_file.proto: No such file or directory\n");
- }
-
-+TEST_P(EncodeDecodeTest, RedirectInputOutput) {
-+ string out_file = TestTempDir() + "/golden_message_out.pbf";
-+ string cmd = "";
-+ cmd += "google/protobuf/unittest.proto ";
-+ cmd += "--encode=protobuf_unittest.TestAllTypes ";
-+ cmd += "--protobuf_in=" + TestSourceDir() +
-+ "/google/protobuf/testdata/text_format_unittest_data_oneof_implemented.txt ";
-+ cmd += "--protobuf_out=" + out_file;
-+ EXPECT_TRUE(Run(cmd));
-+ ExpectBinaryFilesMatch(out_file, TestSourceDir() + "/google/protobuf/testdata/golden_message_oneof_implemented");
-+}
-+
- INSTANTIATE_TEST_CASE_P(FileDescriptorSetSource,
- EncodeDecodeTest,
- testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN));
diff --git a/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch
deleted file mode 100644
index b1408f050e00..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.6.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
-@@ -209,12 +209,5 @@
-
- AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
-
--# 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
-@@ -711,19 +711,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.6.1-libatomic_linking.patch b/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch
deleted file mode 100644
index 2b357b213170..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-https://github.com/protocolbuffers/protobuf/issues/5219
-https://github.com/protocolbuffers/protobuf/pull/5227
-https://github.com/protocolbuffers/protobuf/commit/56b40a8f055cfd05633054aed5d3466a6e058b72
-
---- /configure.ac
-+++ /configure.ac
-@@ -165,6 +165,22 @@
- ])
- AM_CONDITIONAL([HAVE_ZLIB], [test $HAVE_ZLIB = 1])
-
-+dnl On some platforms, std::atomic needs a helper library
-+AC_MSG_CHECKING(whether -latomic is needed)
-+AC_LINK_IFELSE([AC_LANG_SOURCE([[
-+ #include <atomic>
-+ #include <cstdint>
-+ std::atomic<std::int64_t> v;
-+ int main() {
-+ return v;
-+ }
-+]])], STD_ATOMIC_NEED_LIBATOMIC=no, STD_ATOMIC_NEED_LIBATOMIC=yes)
-+AC_MSG_RESULT($STD_ATOMIC_NEED_LIBATOMIC)
-+if test "x$STD_ATOMIC_NEED_LIBATOMIC" = xyes; then
-+ LIBATOMIC_LIBS="-latomic"
-+fi
-+AC_SUBST([LIBATOMIC_LIBS])
-+
- AS_IF([test "$with_protoc" != "no"], [
- PROTOC=$with_protoc
- AS_IF([test "$with_protoc" = "yes"], [
---- /src/Makefile.am
-+++ /src/Makefile.am
-@@ -163,7 +163,7 @@
-
- lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la
-
--libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS)
-+libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS)
- libprotobuf_lite_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined
- if HAVE_LD_VERSION_SCRIPT
- libprotobuf_lite_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf-lite.map
-@@ -209,7 +209,7 @@
- google/protobuf/io/zero_copy_stream.cc \
- google/protobuf/io/zero_copy_stream_impl_lite.cc
-
--libprotobuf_la_LIBADD = $(PTHREAD_LIBS)
-+libprotobuf_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS)
- libprotobuf_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined
- if HAVE_LD_VERSION_SCRIPT
- libprotobuf_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf.map
diff --git a/dev-libs/protobuf/files/protobuf-3.7.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.7.0-disable_no-warning-test.patch
deleted file mode 100644
index eadde9c04dc7..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.7.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 \
-@@ -893,4 +893,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.7.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.7.0-protoc_input_output_files.patch
deleted file mode 100644
index 54daa6de4ed2..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.7.0-protoc_input_output_files.patch
+++ /dev/null
@@ -1,236 +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
-@@ -951,6 +951,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;
-@@ -959,13 +981,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;
- }
- }
-
-@@ -1003,6 +1032,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)) {
-@@ -1622,6 +1656,12 @@
-
- codec_type_ = value;
-
-+ } 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;
-@@ -1749,18 +1789,31 @@
- " --version Show version info and exit.\n"
- " -h, --help Show this text and exit.\n"
- " --encode=MESSAGE_TYPE Read a text-format message of the given type\n"
--" from standard input and write it in binary\n"
--" to standard output. The message type must\n"
--" be defined in PROTO_FILES or their imports.\n"
--" --decode=MESSAGE_TYPE Read a binary message of the given type from\n"
--" standard input and write it in text format\n"
--" to standard output. The message type must\n"
-+" and write it in binary. The message type must\n"
- " be defined in PROTO_FILES or their imports.\n"
--" --decode_raw Read an arbitrary protocol message from\n"
--" standard input and write the raw tag/value\n"
--" pairs in text format to standard output. No\n"
-+" The input/output protobuf files are specified\n"
-+" using the --protobuf_in and --protobuf_out\n"
-+" command line flags.\n"
-+" --decode=MESSAGE_TYPE Read a binary message of the given type and\n"
-+" write it in text format. The message type\n"
-+" must be defined in PROTO_FILES or their imports.\n"
-+" The input/output protobuf files are specified\n"
-+" using the --protobuf_in and --protobuf_out\n"
-+" command line flags.\n"
-+" --decode_raw Read an arbitrary protocol message and write\n"
-+" the raw tag/value pairs in text format. No\n"
- " PROTO_FILES should be given when using this\n"
--" flag.\n"
-+" flag. The input/output protobuf files are\n"
-+" specified using the --protobuf_in and\n"
-+" --protobuf_out command line flags.\n"
-+" --protobuf_in=FILE Absolute path to the protobuf file from which\n"
-+" input of encoding/decoding operation will be\n"
-+" read. If omitted, input will be read from\n"
-+" standard input.\n"
-+" --protobuf_out=FILE Absolute path to the protobuf file to which\n"
-+" output of encoding/decoding operation will be\n"
-+" written. If omitted, output will be written to\n"
-+" standard output.\n"
- " --descriptor_set_in=FILES Specifies a delimited list of FILES\n"
- " each containing a FileDescriptorSet (a\n"
- " protocol buffer defined in descriptor.proto).\n"
-@@ -2039,7 +2092,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) {
-@@ -2051,15 +2106,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
-@@ -285,7 +285,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(
-@@ -418,6 +420,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
-@@ -95,7 +95,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 string& command);
-@@ -2367,6 +2367,17 @@
- EXPECT_EQ(StripCR(expected_text), StripCR(captured_stderr_));
- }
-
-+ 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_ =
-@@ -2463,6 +2474,19 @@
- "net/proto2/internal/no_such_file.proto: No such file or directory\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_CASE_P(FileDescriptorSetSource,
- EncodeDecodeTest,
- testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN));
diff --git a/dev-libs/protobuf/files/protobuf-3.7.1-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.7.1-system_libraries.patch
deleted file mode 100644
index 3ae92e2b87a5..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.7.1-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
-@@ -218,12 +218,5 @@
- esac
- AM_CONDITIONAL([OBJC_CONFORMANCE_TEST], [test $OBJC_CONFORMANCE_TEST = 1])
-
--# 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.
-@@ -804,12 +796,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 \
-@@ -830,11 +818,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 \
-@@ -846,11 +830,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 \
-@@ -860,8 +840,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.8.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.8.0-disable_no-warning-test.patch
deleted file mode 100644
index a09edb9ef368..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.8.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
-@@ -715,7 +715,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 \
-@@ -899,4 +899,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.8.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.8.0-protoc_input_output_files.patch
deleted file mode 100644
index fafd4bdb8f96..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.8.0-protoc_input_output_files.patch
+++ /dev/null
@@ -1,262 +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
-@@ -949,6 +949,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;
-@@ -957,13 +979,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;
- }
- }
-
-@@ -1001,6 +1030,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)) {
-@@ -1627,6 +1661,12 @@
-
- codec_type_ = value;
-
-+ } 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;
-@@ -1763,29 +1803,50 @@
- " -h, --help Show this text and exit.\n"
- " --encode=MESSAGE_TYPE Read a text-format message of the "
- "given type\n"
-- " from standard input and write it in "
-- "binary\n"
-- " to standard output. The message type "
-- "must\n"
-+ " and write it in binary. The message "
-+ "type must\n"
- " be defined in PROTO_FILES or their "
- "imports.\n"
-+ " The input/output protobuf files are "
-+ "specified\n"
-+ " using the --protobuf_in and "
-+ "--protobuf_out\n"
-+ " command line flags.\n"
- " --decode=MESSAGE_TYPE Read a binary message of the given "
-- "type from\n"
-- " standard input and write it in text "
-- "format\n"
-- " to standard output. The message type "
-- "must\n"
-- " be defined in PROTO_FILES or their "
-- "imports.\n"
-+ "type and\n"
-+ " write it in text format. The message "
-+ "type\n"
-+ " must be defined in PROTO_FILES or "
-+ "their imports.\n"
-+ " The input/output protobuf files are "
-+ "specified\n"
-+ " using the --protobuf_in and "
-+ "--protobuf_out\n"
-+ " command line flags.\n"
- " --decode_raw Read an arbitrary protocol message "
-- "from\n"
-- " standard input and write the raw "
-- "tag/value\n"
-- " pairs in text format to standard "
-- "output. No\n"
-+ "and write\n"
-+ " the raw tag/value pairs in text format."
-+ " No\n"
- " PROTO_FILES should be given when using "
- "this\n"
-- " flag.\n"
-+ " flag. The input/output protobuf files "
-+ "are\n"
-+ " specified using the --protobuf_in and\n"
-+ " --protobuf_out command line flags.\n"
-+ " --protobuf_in=FILE Absolute path to the protobuf file "
-+ "from which\n"
-+ " input of encoding/decoding operation "
-+ "will be\n"
-+ " read. If omitted, input will be read "
-+ "from\n"
-+ " standard input.\n"
-+ " --protobuf_out=FILE Absolute path to the protobuf file "
-+ "to which\n"
-+ " output of encoding/decoding operation "
-+ "will be\n"
-+ " written. If omitted, output will be "
-+ "written to\n"
-+ " standard output.\n"
- " --descriptor_set_in=FILES Specifies a delimited list of FILES\n"
- " each containing a FileDescriptorSet "
- "(a\n"
-@@ -2101,7 +2162,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) {
-@@ -2113,15 +2176,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
-@@ -286,7 +286,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(
-@@ -418,6 +420,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
-@@ -95,7 +95,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);
-@@ -2335,6 +2335,17 @@
- EXPECT_EQ(StripCR(expected_text), StripCR(captured_stderr_));
- }
-
-+ 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_ =
-@@ -2429,6 +2440,19 @@
- "net/proto2/internal/no_such_file.proto: No such file or directory\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.8.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.8.0-system_libraries.patch
deleted file mode 100644
index 020b0cc74aaa..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.8.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
-@@ -218,12 +218,5 @@
- esac
- AM_CONDITIONAL([OBJC_CONFORMANCE_TEST], [test $OBJC_CONFORMANCE_TEST = 1])
-
--# 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
-@@ -709,19 +709,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.
-@@ -810,12 +802,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 \
-@@ -836,11 +824,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 \
-@@ -852,11 +836,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 \
-@@ -866,8 +846,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/metadata.xml b/dev-libs/protobuf/metadata.xml
index f37667040e4f..4ac93ba8e52d 100644
--- a/dev-libs/protobuf/metadata.xml
+++ b/dev-libs/protobuf/metadata.xml
@@ -1,18 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>arfrever.fta@gmail.com</email>
<name>Arfrever Frehtes Taifersar Arahesis</name>
</maintainer>
<maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
</maintainer>
<slots>
<subslots>Soname version number</subslots>
</slots>
<upstream>
+ <remote-id type="cpe">cpe:/a:google:protobuf</remote-id>
<remote-id type="github">protocolbuffers/protobuf</remote-id>
</upstream>
</pkgmetadata>
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.6.1.3.ebuild b/dev-libs/protobuf/protobuf-3.6.1.3.ebuild
deleted file mode 100644
index d498903c8c4f..000000000000
--- a/dev-libs/protobuf/protobuf-3.6.1.3.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2008-2019 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
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/17"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( virtual/emacs )"
-DEPEND="test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( virtual/emacs )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.6.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.6.0-protoc_input_output_files.patch"
- "${FILESDIR}/${PN}-3.6.1-libatomic_linking.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=(
- $(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 "${D}" -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.7.1.ebuild b/dev-libs/protobuf/protobuf-3.7.1.ebuild
deleted file mode 100644
index aacbac676daa..000000000000
--- a/dev-libs/protobuf/protobuf-3.7.1.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 2008-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# True Authors: Arfrever Frehtes Taifersar Arahesis and others
-
-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/18"
-KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( virtual/emacs )"
-DEPEND="test? ( >=dev-cpp/gtest-1.8.0[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( virtual/emacs )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.7.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.7.1-system_libraries.patch"
- "${FILESDIR}/${PN}-3.7.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
-
- 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 "${D}" -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.8.0.ebuild b/dev-libs/protobuf/protobuf-3.8.0.ebuild
deleted file mode 100644
index 345fbe9a3df1..000000000000
--- a/dev-libs/protobuf/protobuf-3.8.0.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 2008-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# True Authors: Arfrever Frehtes Taifersar Arahesis and others
-
-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/19"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( virtual/emacs )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( virtual/emacs )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.8.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.8.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.8.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
-
- 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 "${D}" -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 00e035ecb002..000000000000
--- a/dev-libs/protobuf/protobuf-9999.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2008-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# True Authors: Arfrever Frehtes Taifersar Arahesis and others
-
-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/20"
-KEYWORDS=""
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( virtual/emacs )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( virtual/emacs )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.8.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.8.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.8.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=(
- $(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 "${D}" -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/metadata.xml b/dev-libs/pslib/metadata.xml
index a782aceab69c..b99791f20073 100644
--- a/dev-libs/pslib/metadata.xml
+++ b/dev-libs/pslib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>printing@gentoo.org</email>
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..d554739c4e28
--- /dev/null
+++ b/dev-libs/pslib/pslib-0.4.6.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/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 0c5f2e4c78df..6bba4f271f42 100644
--- a/dev-libs/ptexenc/Manifest
+++ b/dev-libs/ptexenc/Manifest
@@ -1,3 +1,2 @@
-DIST texlive-20160523-source.tar.xz 45941100 BLAKE2B 8752212d41d6bbabc725d9b1dcc187dd4dbb34df4271c768e83c13a2dd4e7170aa162d01a15d87fa02bc1b5abee648a2d35e3aa1380569851cc21d6f33f2f109 SHA512 915fa2f5e2099dd385ef81033db7aafdf09558c0c200fed0748a8a42fd61f69d3eaac9decea334e30981af739dd81061a9b1d6853c7f6d00285fe0be40e26c3e
-DIST texlive-20170524-source.tar.xz 63483372 BLAKE2B 44669d1228f5be27e9d93672a4f4ead40f7f4c6cf386f2db6fef54d64f8b8a743a485fe1170904d8117b9745f71ec77db8434caa6cdd79359b1f3f387130a3b4 SHA512 18c18940992ab94ce22e22ccd4ad798253ea14ac2ab296a10ea5e9a8da9f33989f2e2641b42b564d1d5fb53bd371da3e68726b676d706b469016ad146cd19daa
-DIST texlive-20190410-source.tar.xz 53783408 BLAKE2B 8e34c7c2b74eab1c4d16ddbf7eddd8566593e6d68c42a2634760f11d86e68970698d8b9deddcf3297966968ede11ecf30e0b04ec19b708dc3e6d0a2abcc3799d SHA512 7759d8e668e53c0c73e48907096da9d8fb6384dd9c3342ddfb05e17d077054c5351d35256cf4e63a6da502de2f09f521979bede7209cdd5bd8ae80eba0efed2e
+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/metadata.xml b/dev-libs/ptexenc/metadata.xml
index 13170c3184d8..edfe97231997 100644
--- a/dev-libs/ptexenc/metadata.xml
+++ b/dev-libs/ptexenc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>tex@gentoo.org</email>
diff --git a/dev-libs/ptexenc/ptexenc-1.3.4_p20160523.ebuild b/dev-libs/ptexenc/ptexenc-1.3.4_p20160523.ebuild
deleted file mode 100644
index a4689313395b..000000000000
--- a/dev-libs/ptexenc/ptexenc-1.3.4_p20160523.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit libtool
-
-DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
-HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
-SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
-# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-macos"
-IUSE="iconv static-libs"
-
-DEPEND="iconv? ( virtual/libiconv )
- dev-libs/kpathsea"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
-
-src_prepare() {
- default
-
- # https://bugs.gentoo.org/show_bug.cgi?id=377141
- sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
-
- cd "${WORKDIR}/texlive-${PV#*_p}-source"
- S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
-}
-
-src_configure() {
- econf \
- --with-system-kpathsea \
- $(use_enable static-libs static) \
- $(use_enable iconv kanji-iconv)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete
-
- insinto /usr/include/ptexenc
- doins ptexenc/unicode-jp.h
- use iconv && doins ptexenc/kanjicnv.h
-
- dodoc ChangeLog README
-}
diff --git a/dev-libs/ptexenc/ptexenc-1.3.5_p20170524.ebuild b/dev-libs/ptexenc/ptexenc-1.3.5_p20170524.ebuild
deleted file mode 100644
index 13abee827886..000000000000
--- a/dev-libs/ptexenc/ptexenc-1.3.5_p20170524.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit libtool
-
-DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
-HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
-SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
-# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="iconv static-libs"
-
-DEPEND="iconv? ( virtual/libiconv )
- dev-libs/kpathsea"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
-
-src_prepare() {
- default
-
- # https://bugs.gentoo.org/show_bug.cgi?id=377141
- sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
-
- cd "${WORKDIR}/texlive-${PV#*_p}-source"
- S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
-}
-
-src_configure() {
- econf \
- --with-system-kpathsea \
- $(use_enable static-libs static) \
- $(use_enable iconv kanji-iconv)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -delete
-
- insinto /usr/include/ptexenc
- doins ptexenc/unicode-jp.h
- use iconv && doins ptexenc/kanjicnv.h
-
- dodoc ChangeLog README
-}
diff --git a/dev-libs/ptexenc/ptexenc-1.3.7_p20190410.ebuild b/dev-libs/ptexenc/ptexenc-1.3.7_p20190410.ebuild
deleted file mode 100644
index 2539ee1a51e8..000000000000
--- a/dev-libs/ptexenc/ptexenc-1.3.7_p20190410.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool
-
-DESCRIPTION="Library for Japanese pTeX providing a better way of handling character encodings"
-HOMEPAGE="http://tutimura.ath.cx/ptexlive/?ptexenc"
-SRC_URI="mirror://gentoo/texlive-${PV#*_p}-source.tar.xz"
-# http://tutimura.ath.cx/~nob/tex/ptexlive/ptexenc/${P}.tar.xz
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="iconv static-libs"
-
-DEPEND="iconv? ( virtual/libiconv )
- dev-libs/kpathsea"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}
-
-src_prepare() {
- default
-
- # https://bugs.gentoo.org/show_bug.cgi?id=377141
- sed -i '/^LIBS/s:@LIBS@:@LIBS@ @KPATHSEA_LIBS@:' "${S}"/Makefile.in || die
-
- cd "${WORKDIR}/texlive-${PV#*_p}-source"
- S="${WORKDIR}/texlive-${PV#*_p}-source" elibtoolize #sane .so versionning on gfbsd
-}
-
-src_configure() {
- econf \
- --with-system-kpathsea \
- $(use_enable static-libs static) \
- $(use_enable iconv kanji-iconv)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete
-
- insinto /usr/include/ptexenc
- doins ptexenc/unicode-jp.h
- use iconv && doins ptexenc/kanjicnv.h
-
- dodoc ChangeLog README
-}
diff --git a/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild b/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild
new file mode 100644
index 000000000000..ccaf4a3f4df8
--- /dev/null
+++ b/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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/~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 ~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/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/pugixml/Manifest b/dev-libs/pugixml/Manifest
index 0bcbab4e0b01..4c599e303ab7 100644
--- a/dev-libs/pugixml/Manifest
+++ b/dev-libs/pugixml/Manifest
@@ -1 +1,2 @@
-DIST pugixml-1.9.tar.gz 377369 BLAKE2B 39b5b0d63a20e9c15c5634e56f82207aed63843d252900db94dbf06d100d03916a16523ccb9de433cc94ded4a9e9d1dc11f47bfd6fd75e348a9a2af31c305db6 SHA512 853a9d985aae537391c6524d5413ef4de237d99d96cc58ea7fe7152f786df1e408cdacd2e4387697e23c3e67cdc1d42b29de554501309eae16d86edd0e24785f
+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/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch b/dev-libs/pugixml/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch
deleted file mode 100644
index 18928e39cd6f..000000000000
--- a/dev-libs/pugixml/files/pugixml-1.9-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c12889f7ccee3a91754f12a4f5b2bf5eb87acabd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= <c72578@yahoo.de>
-Date: Wed, 27 Jun 2018 00:53:42 +0200
-Subject: [PATCH] Use CMAKE_INSTALL_LIBDIR for pugixml.pc (#215)
-
-- Up to now, the libdir was hardcoded to "lib" inside pugixml.pc and
- the install directory of pugixml.pc was "lib/pkgconfig"
-- Adds support for lib and lib64 by using CMAKE_INSTALL_LIBDIR variable
----
- CMakeLists.txt | 2 +-
- scripts/pugixml.pc.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 148f7b0d..d322a631 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -76,7 +76,7 @@ install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX
- install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml)
-
- configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
--install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
-+install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
- if(BUILD_TESTS)
- file(GLOB TEST_SOURCES tests/*.cpp)
-diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in
-index 04b4d3b0..fbb7f8b8 100644
---- a/scripts/pugixml.pc.in
-+++ b/scripts/pugixml.pc.in
-@@ -1,7 +1,7 @@
- prefix=@CMAKE_INSTALL_PREFIX@
- exec_prefix=${prefix}
- includedir=${prefix}/include@INSTALL_SUFFIX@
--libdir=${exec_prefix}/lib@INSTALL_SUFFIX@
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@@INSTALL_SUFFIX@
-
- Name: pugixml
- Description: Light-weight, simple and fast XML parser for C++ with XPath support.
diff --git a/dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch b/dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch
deleted file mode 100644
index 4551280b3728..000000000000
--- a/dev-libs/pugixml/files/pugixml-1.9-always-install-the-pkg-config-file.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From daeb8013b20f9c47e85730faaa4131064a1f9c2e Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Mon, 9 Apr 2018 13:48:53 -0400
-Subject: [PATCH] cmake: always install the pkg-config file (#193)
-
-There's really never a reason to *not* want this installed. If an option
-is needed to specify installing in a versioned subdirectory, this option
-should be explicitly described rather than hidden in something else.
-
-As an added bonus, this makes the CMake install code slightly *less*
-complicated.
----
- CMakeLists.txt | 10 ++++------
- scripts/pugixml.pc.in | 6 +++---
- 2 files changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 90fa6793..d7bc1b20 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -4,7 +4,7 @@ project(pugixml)
-
- option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF)
- option(BUILD_TESTS "Build tests" OFF)
--option(BUILD_PKGCONFIG "Build in PKGCONFIG mode" OFF)
-+option(USE_VERSIONED_LIBDIR "Use a private subdirectory to install the headers and libs" OFF)
-
- set(BUILD_DEFINES "" CACHE STRING "Build defines")
-
-@@ -55,7 +55,7 @@ endif()
- set_target_properties(pugixml PROPERTIES VERSION 1.9 SOVERSION 1)
- get_target_property(PUGIXML_VERSION_STRING pugixml VERSION)
-
--if(BUILD_PKGCONFIG)
-+if(USE_VERSIONED_LIBDIR)
- # Install library into its own directory under LIBDIR
- set(INSTALL_SUFFIX /pugixml-${PUGIXML_VERSION_STRING})
- endif()
-@@ -71,10 +71,8 @@ install(TARGETS pugixml EXPORT pugixml-config
- install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX})
- install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml)
-
--if(BUILD_PKGCONFIG)
-- configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
-- install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
--endif()
-+configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
-+install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
-
- if(BUILD_TESTS)
- file(GLOB TEST_SOURCES tests/*.cpp)
-diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in
-index 3c97c28d..804c4d38 100644
---- a/scripts/pugixml.pc.in
-+++ b/scripts/pugixml.pc.in
-@@ -1,11 +1,11 @@
- prefix=@CMAKE_INSTALL_PREFIX@
- exec_prefix=${prefix}
--includedir=${prefix}/include/pugixml-@PUGIXML_VERSION_STRING@
--libdir=${exec_prefix}/lib/pugixml-@PUGIXML_VERSION_STRING@
-+includedir=${prefix}/include@INSTALL_SUFFIX@
-+libdir=${exec_prefix}/lib@INSTALL_SUFFIX@
-
- Name: pugixml
- Description: Light-weight, simple and fast XML parser for C++ with XPath support.
- URL: http://pugixml.org/
- Version: @PUGIXML_VERSION_STRING@
- Cflags: -I${includedir}
--Libs: -L${libdir} -lpugixml
-\ No newline at end of file
-+Libs: -L${libdir} -lpugixml
diff --git a/dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch b/dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch
deleted file mode 100644
index 7a9b0c139cd2..000000000000
--- a/dev-libs/pugixml/files/pugixml-1.9-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b3db08ffccb78d680d8f7665ad9ed4cff6f92fcf Mon Sep 17 00:00:00 2001
-From: Millian Poquet <millian.poquet@inria.fr>
-Date: Mon, 10 Dec 2018 18:54:40 +0100
-Subject: [PATCH] pkg-config: Use CMake GnuInstallDirs FULL vars
-
-Fixes an installation problem in Nix packages, as non-FULL variables are
-already absolute paths in this case.
----
- CMakeLists.txt | 2 +-
- scripts/pugixml.pc.in | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ddc5a5ad..e8c4f592 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -76,7 +76,7 @@ install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX
- install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml)
-
- configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
--install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-+install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
-
- if(BUILD_TESTS)
- file(GLOB TEST_SOURCES tests/*.cpp)
-diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in
-index a1678272..f9c3fd45 100644
---- a/scripts/pugixml.pc.in
-+++ b/scripts/pugixml.pc.in
-@@ -1,7 +1,7 @@
- prefix=@CMAKE_INSTALL_PREFIX@
- exec_prefix=${prefix}
--includedir=${prefix}/include@INSTALL_SUFFIX@
--libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@@INSTALL_SUFFIX@
-+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@@INSTALL_SUFFIX@
-+libdir=@CMAKE_INSTALL_FULL_LIBDIR@@INSTALL_SUFFIX@
-
- Name: pugixml
- Description: Light-weight, simple and fast XML parser for C++ with XPath support.
diff --git a/dev-libs/pugixml/metadata.xml b/dev-libs/pugixml/metadata.xml
index 41b74343bca3..c2b8adf07dc4 100644
--- a/dev-libs/pugixml/metadata.xml
+++ b/dev-libs/pugixml/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
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-1.9-r1.ebuild b/dev-libs/pugixml/pugixml-1.9-r1.ebuild
deleted file mode 100644
index 4034fa88e5a6..000000000000
--- a/dev-libs/pugixml/pugixml-1.9-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 cmake-utils
-
-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 ~x86-fbsd ~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"
-
-PATCHES=(
- "${FILESDIR}/${P}-always-install-the-pkg-config-file.patch"
- "${FILESDIR}/${P}-Use-CMAKE_INSTALL_LIBDIR-for-pugixml.pc.patch"
- "${FILESDIR}/${P}-pkg-config-Use-CMake-GnuInstallDirs-FULL-vars.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/pugixml/pugixml-1.9.ebuild b/dev-libs/pugixml/pugixml-1.9.ebuild
deleted file mode 100644
index afcc7834a96b..000000000000
--- a/dev-libs/pugixml/pugixml-1.9.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-CMAKE_MAKEFILE_GENERATOR=emake
-
-inherit cmake-utils
-
-DESCRIPTION="Light-weight, simple, and fast XML parser for C++ with XPath support"
-HOMEPAGE="https://pugixml.org/ https://github.com/zeux/pugixml/"
-SRC_URI="https://github.com/zeux/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-
-src_configure() {
- local mycmakeargs=( -DBUILD_SHARED_LIBS=ON )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/pugixml/pugixml-9999.ebuild b/dev-libs/pugixml/pugixml-9999.ebuild
index 3cc627c8675a..ab15c38b19e9 100644
--- a/dev-libs/pugixml/pugixml-9999.ebuild
+++ b/dev-libs/pugixml/pugixml-9999.ebuild
@@ -1,27 +1,31 @@
-# 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
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 ~x86-fbsd ~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=(
- -DBUILD_SHARED_LIBS=ON
+ -D${PN^^}_BUILD_TESTS=$(usex test ON OFF)
)
- cmake-utils_src_configure
+ 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 2f2a77d38dda..3dcd20c8c631 100644
--- a/dev-libs/qcustomplot/Manifest
+++ b/dev-libs/qcustomplot/Manifest
@@ -1,4 +1,2 @@
-DIST qcustomplot-sharedlib-2.0.0.tar.gz 1949 BLAKE2B 6d2d1b7da0dbdb83485ce1a1b69b5d4270fa73af25240decd1764d0872065a7457252aac3b81ccc9d5cbcfe24f8ed67ff843f092b344065b8b0f26aa2c6bef14 SHA512 f4ba719287067c2bb999a6e4ffb3694b32b1d72867c396fee1834ba2916f2931eda07bbe25c4d2ea6f6af18bd78917660dc6eabd98f72c9da987ae288ed4e611
-DIST qcustomplot-sharedlib-2.0.1.tar.gz 1963 BLAKE2B 294877d929564767009a8a4409111408eda1eb4e0cc64b48e644d25f30ef18151c2df1f0c5caa4e95c5b75dd492e795f97077e47bb927ff9637a2da9a2ec757e SHA512 ce90540fca7226eac37746327e1939a9c7af38fc2595f385ed04d6d1f49560da08fb5fae15d1b9d22b6ba578583f70de8f89ef26796770d41bf599c1b15c535d
-DIST qcustomplot-source-2.0.0.tar.gz 317398 BLAKE2B c2d587e06026789a164f16ffdd00d324172654b6953ace637815b022dc14cc96362cf4022512ec3feea3725a651c1af0f50f09d0ca1c5e86ebcfbe3f50aa3ff2 SHA512 66c648877ed0a14cf527ac8526788065f494119cc61993d20268a0046c8e6c5a1c73a61f50a73e6a39ec55435bc5f74c613ee21254293ddab34ba7c2484c4f5a
-DIST qcustomplot-source-2.0.1.tar.gz 319140 BLAKE2B 868133f5126eea0aa8f80d34272f854de93b60575e3eed1b52211bec5ed96886503ba5c7f15c6f0ff15f3f67e35db6e5333adfc7465cee40768a65ed1b7275da SHA512 b44abbd8fd95970a829bbb6e7becc0765e24bd8f05958c8c1223303b68fb4c0a64f503cf0a2fe4fc53957e6e61a6618500475cff3e81ed0ab387a9eada2c83a3
+DIST qcustomplot-sharedlib-2.1.1.tar.gz 2315 BLAKE2B 5ded041a46a35dece817749479cba83da260407e387a339c5fba57a37897118b20cd50f362e78ea4a35c9babc5f6c73c235a671a17b5b0423b00e472c0a8eb60 SHA512 c661e4a835066fee92b254fbd7b825dbd5c58973189ff2099a01308cb81fe6bf3bac1456f5da91f01c6265f8f548f61b57e237d00a9b5c2c94acf1a024baa18e
+DIST qcustomplot-source-2.1.1.tar.gz 372955 BLAKE2B 985ce5fbfe2888ac2346a8c694e832f8d9e3d20ae1c2f93af8757f6a7c803e24ae429c11240aeaf9e79625d8eb0e8a835dca023b73eac4ca1338d21434bd3c67 SHA512 1feb4f45ef90d7709edb26c9964f0ec85ef4aa30f0a7e9fcd803fae586875e8d6744dbcfe08b21f461816ca426c8a6612f8e9c7ef9d3f5a7150c3de8fa5ee57d
diff --git a/dev-libs/qcustomplot/metadata.xml b/dev-libs/qcustomplot/metadata.xml
index 17237689dcfd..115e9d64a669 100644
--- a/dev-libs/qcustomplot/metadata.xml
+++ b/dev-libs/qcustomplot/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/qcustomplot/qcustomplot-2.0.0.ebuild b/dev-libs/qcustomplot/qcustomplot-2.0.0.ebuild
deleted file mode 100644
index 3d626c3e1188..000000000000
--- a/dev-libs/qcustomplot/qcustomplot-2.0.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-SLOT="0"
-LICENSE="GPL-3"
-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}"
-
-S=${WORKDIR}/${PN}-source
-
-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/qcustomplot/qcustomplot-2.0.1.ebuild b/dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild
deleted file mode 100644
index 51051c6445ad..000000000000
--- a/dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
-
-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}"
-
-S=${WORKDIR}/${PN}-source
-
-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/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/metadata.xml b/dev-libs/qoauth/metadata.xml
index 17237689dcfd..115e9d64a669 100644
--- a/dev-libs/qoauth/metadata.xml
+++ b/dev-libs/qoauth/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
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 6e88c34a7a64..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,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit qmake-utils
@@ -14,12 +14,16 @@ SLOT="5"
KEYWORDS="amd64 ~ppc64 x86"
IUSE="debug doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+"
COMMON_DEPEND="
app-crypt/qca:2[debug?,qt5(+)]
dev-qt/qtnetwork:5
"
DEPEND="${COMMON_DEPEND}
- doc? ( app-doc/doxygen )
test? ( dev-qt/qttest:5 )
"
RDEPEND="${COMMON_DEPEND}
@@ -56,7 +60,7 @@ src_configure() {
src_install() {
if use doc; then
doxygen "${S}"/Doxyfile || die "failed to generate documentation"
- HTML_DOCS=( "${S}"/doc/html/. )
+ local HTML_DOCS=( "${S}"/doc/html/. )
fi
INSTALL_ROOT="${D}" default
diff --git a/dev-libs/qof/Manifest b/dev-libs/qof/Manifest
deleted file mode 100644
index 5eb17c0766f0..000000000000
--- a/dev-libs/qof/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qof_0.8.8.orig.tar.gz 962548 BLAKE2B 0d380dd1363ec9b47e48a7dc1e296f4d09ed6e91243857c6f34828816291c42010119a14c554d9ddccc1a8a2ef638989ca6e94801422fda3e1b52508c4a651ae SHA512 f62597180f614067d72b5c6dcf4175aa9241e33d2437d6f18215a8c7389c67dd25ccd48dcdfd4c31794e0273e979e72aa0d4e66bb6d832c6f2da644889f848c4
diff --git a/dev-libs/qof/files/qof-0.8.8-cflags.patch b/dev-libs/qof/files/qof-0.8.8-cflags.patch
deleted file mode 100644
index 27d2172c7616..000000000000
--- a/dev-libs/qof/files/qof-0.8.8-cflags.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1c56fc78f2a04625ae8c3aebd55236556ce28a90 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Sun, 2 Nov 2014 12:04:24 +0100
-Subject: [PATCH 1/2] Remove some CFLAGS
-
-* Debugging level is only useful for debugging.
-* Werror is taken care of in error-on-warning configure switch.
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b38da9b..d80e7e5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -393,7 +393,7 @@ dnl # *************************************
- AC_MSG_CHECKING(what extra warning flags to pass to the C compiler)
- if test ${GCC}x = yesx; then
- warnFLAGS=
-- CFLAGS="${CFLAGS} -g2 -Wall"
-+ CFLAGS="${CFLAGS} -Wall"
- AC_ARG_ENABLE(error-on-warning,
- [ --disable-error-on-warning
- disable treating compile warnings as errors],
-@@ -431,7 +431,7 @@ AC_ARG_ENABLE(compile-warnings,
-
- if test "$GCC" = "yes" -a "$set_compile_warnings" != "no"; then
- warnFLAGS="$warnFLAGS -Wcast-align -Wsign-compare \
-- -Wmissing-prototypes -Wmissing-declarations -Werror -Wmissing-include-dirs \
-+ -Wmissing-prototypes -Wmissing-declarations -Wmissing-include-dirs \
- -Wstrict-prototypes -Winline -Wnested-externs -Wpointer-arith \
- -Wmissing-field-initializers"
- # LDFLAGS="$LDFLAGS -Wl,-z,defs"
---
-2.1.2
-
diff --git a/dev-libs/qof/files/qof-0.8.8-unistd-define.patch b/dev-libs/qof/files/qof-0.8.8-unistd-define.patch
deleted file mode 100644
index c76afadb6584..000000000000
--- a/dev-libs/qof/files/qof-0.8.8-unistd-define.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From f2504eacb6d5e42b28df77041ff659fded3fd1a4 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Sun, 2 Nov 2014 12:43:31 +0100
-Subject: [PATCH 3/5] Leave yacc defines to configure
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Resulted in:
-* QA Notice: Package triggers severe warnings which indicate that it
-* may exhibit random runtime failures.
-* lexer.c:1942:9: warning: implicit declaration of function ‘isatty’
-* [-Wimplicit-function-declaration]
----
- configure.ac | 2 ++
- lib/libsql/lexer.l | 2 ++
- lib/libsql/sql_parser.h | 1 -
- 3 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index d80e7e5..30ea37a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -52,6 +52,8 @@ AC_PROG_MAKE_SET
- AC_FUNC_MKTIME
- AC_FUNC_STRTOD
-
-+AC_CHECK_HEADERS_ONCE([unistd.h])
-+
- dnl # *****************************************
- dnl # pkg-config check time
- dnl # *****************************************
-diff --git a/lib/libsql/lexer.l b/lib/libsql/lexer.l
-index fa8c5d1..44d65e8 100644
---- a/lib/libsql/lexer.l
-+++ b/lib/libsql/lexer.l
-@@ -1,4 +1,6 @@
- %{
-+#include <config.h>
-+
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
-diff --git a/lib/libsql/sql_parser.h b/lib/libsql/sql_parser.h
-index 2157e5c..0eba93f 100644
---- a/lib/libsql/sql_parser.h
-+++ b/lib/libsql/sql_parser.h
-@@ -2,7 +2,6 @@
- #define SQL_PARSER_H
-
- #include <glib.h>
--#define YY_NO_UNISTD_H
-
-
- typedef struct sql_statement sql_statement;
---
-2.1.2
-
diff --git a/dev-libs/qof/files/qof-0.8.8-unittest.patch b/dev-libs/qof/files/qof-0.8.8-unittest.patch
deleted file mode 100644
index 070c37ead255..000000000000
--- a/dev-libs/qof/files/qof-0.8.8-unittest.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 21315eb014eb908ce3472fa75917412e21fcea29 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Sun, 2 Nov 2014 12:06:39 +0100
-Subject: [PATCH 2/2] Make unittest build on demand
-
-Unittests need not be built when not run.
-Also, solves a dependency problem where libqofsql would not be built
-before sql_backend_test is linked.
-
-https://bugs.gentoo.org/show_bug.cgi?id=197999
----
- lib/libsql/Makefile.am | 2 +-
- qof/test/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/libsql/Makefile.am b/lib/libsql/Makefile.am
-index b410689..c9534fb 100644
---- a/lib/libsql/Makefile.am
-+++ b/lib/libsql/Makefile.am
-@@ -21,7 +21,7 @@ libqofsql_la_LIBADD = ${GLIB_LIBS}
- qofsqlincludedir = ${pkgincludedir}
- qofsqlinclude_HEADERS = sql_parser.h
-
--noinst_PROGRAMS = sql_parse_test
-+check_PROGRAMS = sql_parse_test
-
- EXTRA_DIST = \
- README \
-diff --git a/qof/test/Makefile.am b/qof/test/Makefile.am
-index da7f28f..0760f45 100644
---- a/qof/test/Makefile.am
-+++ b/qof/test/Makefile.am
-@@ -65,7 +65,7 @@ test_sql_SOURCES = \
- test-stuff.c \
- test-sql.c
-
--noinst_PROGRAMS = \
-+check_PROGRAMS = \
- test-book-merge \
- test-date \
- test-guid \
---
-2.1.2
-
diff --git a/dev-libs/qof/files/qof-0.8.8-yacc-build.patch b/dev-libs/qof/files/qof-0.8.8-yacc-build.patch
deleted file mode 100644
index cb4f9a9c0d07..000000000000
--- a/dev-libs/qof/files/qof-0.8.8-yacc-build.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 118b7287f776b789a7c122f7c7e8a1cc1084e15e Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Sun, 2 Nov 2014 13:01:36 +0100
-Subject: [PATCH 4/5] Fix use of lex/yacc
-
-http://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html
----
- configure.ac | 1 +
- lib/libsql/Makefile.am | 17 +++++++----------
- 2 files changed, 8 insertions(+), 10 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 30ea37a..23865ea 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -45,6 +45,7 @@ AC_PROG_CXX
- AC_PROG_CC
- AC_PROG_CPP
- AC_HEADER_STDC
-+AM_PROG_LEX
- AC_PROG_YACC
- AC_PROG_INSTALL
- AC_PROG_LN_S
-diff --git a/lib/libsql/Makefile.am b/lib/libsql/Makefile.am
-index c9534fb..78f26cc 100644
---- a/lib/libsql/Makefile.am
-+++ b/lib/libsql/Makefile.am
-@@ -5,9 +5,8 @@ lib_LTLIBRARIES = libqofsql.la
- libqofsql_la_LDFLAGS= -version-info $(LIBQOFSQL_LIBRARY_VERSION)
-
- libqofsql_la_SOURCES = \
-- parser.c \
-- parser.h \
-- lexer.c \
-+ parser.y \
-+ lexer.l \
- sql_parser.c \
- sql_parser.h \
- mem.c \
-@@ -24,9 +23,7 @@ qofsqlinclude_HEADERS = sql_parser.h
- check_PROGRAMS = sql_parse_test
-
- EXTRA_DIST = \
-- README \
-- lexer.l \
-- parser.y
-+ README
-
- AM_CFLAGS = -g \
- ${CFLAGS} \
-@@ -35,11 +32,11 @@ AM_CFLAGS = -g \
- #INCLUDES = \
- # -I$(includedir)
-
--parser.c: parser.y
-- $(YACC) -v -d -o parser.c -p sql parser.y
-+AM_YFLAGS = -v -d -p sql
-+AM_LFLAGS = -Psql -o$@
-
--lexer.c: lexer.l parser.c
-- $(LEX) -olexer.c -Psql lexer.l
-+BUILT_SOURCES = parser.h
-+CLEANFILES = $(BUILT_SOURCES)
-
- sql_parse_test_SOURCES=sql_parse_test.c
- # sql_parse_test_LDFLAGS = $(LIBGDA_LIBS)
---
-2.1.2
-
diff --git a/dev-libs/qof/metadata.xml b/dev-libs/qof/metadata.xml
deleted file mode 100644
index 39980802b1da..000000000000
--- a/dev-libs/qof/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/qof/qof-0.8.8-r1.ebuild b/dev-libs/qof/qof-0.8.8-r1.ebuild
deleted file mode 100644
index 0b5e1d2d5ac4..000000000000
--- a/dev-libs/qof/qof-0.8.8-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-GCONF_DEBUG="no"
-GNOME2_LA_PUNT="yes"
-
-inherit autotools eutils gnome2
-
-DESCRIPTION="A Query Object Framework"
-HOMEPAGE="https://alioth.debian.org/projects/qof/"
-SRC_URI="mirror://debian//pool/main/q/${PN}/${PN}_${PV}.orig.tar.gz"
-LICENSE="GPL-2"
-
-SLOT="2"
-KEYWORDS="amd64 ~ppc ~ppc64 ~sparc x86"
-IUSE="doc nls"
-
-RDEPEND="
- dev-libs/libxml2
- dev-libs/glib:2
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- virtual/yacc
- >=sys-devel/gettext-0.19.2
- !dev-libs/qof:0
- doc? (
- app-doc/doxygen
- dev-texlive/texlive-latex )
-"
-
-src_prepare() {
- # Remove some CFLAGS
- epatch "${FILESDIR}"/${PN}-0.8.8-cflags.patch
-
- # Delay build of unittests, bug #197999
- epatch "${FILESDIR}"/${PN}-0.8.8-unittest.patch
-
- # Fix use and build with yacc
- epatch "${FILESDIR}"/${PN}-0.8.8-unistd-define.patch
- epatch "${FILESDIR}"/${PN}-0.8.8-yacc-build.patch
- rm lib/libsql/{lexer.c,parser.c,parser.h} || die
-
- eautoreconf
- gnome2_src_prepare
-}
-
-src_configure() {
- gnome2_src_configure \
- --disable-error-on-warning \
- --disable-static \
- --disable-gdasql \
- --disable-gdabackend \
- --disable-sqlite \
- $(use_enable nls) \
- $(use_enable doc doxygen) \
- $(use_enable doc latex-docs) \
- $(use_enable doc html-docs)
-}
diff --git a/dev-libs/qqwing/Manifest b/dev-libs/qqwing/Manifest
index 88856752dbf2..ef6e5a782286 100644
--- a/dev-libs/qqwing/Manifest
+++ b/dev-libs/qqwing/Manifest
@@ -1,2 +1 @@
-DIST qqwing-1.3.3.tar.gz 89629 BLAKE2B 5583318d15a4bf31833576bec037ab27fc17a57c95ef42be828ae0de9d6d86709fdcb63f71cf51b737b45c39657220e1e14a817094065f29b17c668f53b16075 SHA512 cce6e3122f0620b4a27f5c4186b468906006b6f9deda0b3fc474d40e678722bbb07474c479a75cbcac0812a097e5be4d7ae58339810a897f966d5a73b07a6833
DIST qqwing-1.3.4.tar.gz 352060 BLAKE2B cf78a3d06c529ab1d47739ee0914e268fe8375d5dd7eb73a05ed91fcd7231b0f2103ae2490a8edf438ebce5ec77457f2686338edb61c38a804af34df78763c31 SHA512 6762b97d7595e7831edb80d9fac06ca784c6dfb6c5717e72adaac6973ec94bec417806f8ae4b80ed95b876388c8c1a00906b0fa8653a115998c5170db25aab0d
diff --git a/dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch b/dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch
deleted file mode 100644
index 1a7bf41aeaf7..000000000000
--- a/dev-libs/qqwing/files/qqwing-1.3.0-autotools.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-From d94d718154c065218bc9db8ccfe638d84b86bdb4 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Sat, 18 Oct 2014 13:02:58 +0200
-Subject: [PATCH] Make autotools a bit saner
-
----
- Makefile.am | 16 ++++++++++++++++
- build/Makefile.am | 17 -----------------
- build/configure.ac | 47 -----------------------------------------------
- build/qqwing.pc.in | 10 ----------
- configure.ac | 47 +++++++++++++++++++++++++++++++++++++++++++++++
- qqwing.pc.in | 10 ++++++++++
- 6 files changed, 73 insertions(+), 74 deletions(-)
- create mode 100644 Makefile.am
- delete mode 100644 build/Makefile.am
- delete mode 100755 build/configure.ac
- delete mode 100755 build/qqwing.pc.in
- create mode 100644 configure.ac
- create mode 100644 qqwing.pc.in
-
-diff --git a/Makefile.am b/Makefile.am
-new file mode 100644
-index 0000000..d6109ba
---- /dev/null
-+++ b/Makefile.am
-@@ -0,0 +1,16 @@
-+ACLOCAL_AMFLAGS = -I m4
-+
-+include_HEADERS = src/cpp/qqwing.hpp
-+
-+lib_LTLIBRARIES = libqqwing.la
-+libqqwing_la_SOURCES = src/cpp/qqwing.cpp src/cpp/qqwing.hpp
-+libqqwing_la_LDFLAGS = -no-undefined -version-info $(QQWING_CURRENT):$(QQWING_REVISION):$(QQWING_AGE)
-+
-+bin_PROGRAMS = qqwing
-+qqwing_SOURCES = src/cpp/main.cpp
-+qqwing_LDADD = $(top_builddir)/libqqwing.la
-+
-+pkgconfigdir = $(libdir)/pkgconfig
-+dist_pkgconfig_DATA = qqwing.pc
-+
-+dist_man1_MANS = doc/qqwing.man
-diff --git a/build/Makefile.am b/build/Makefile.am
-deleted file mode 100644
-index ef647d2..0000000
---- a/build/Makefile.am
-+++ /dev/null
-@@ -1,17 +0,0 @@
--ACLOCAL_AMFLAGS = -I m4
--EXTRA_DIST = debian
--
--include_HEADERS = qqwing.hpp
--
--lib_LTLIBRARIES = libqqwing.la
--libqqwing_la_SOURCES = qqwing.cpp qqwing.hpp
--libqqwing_la_LDFLAGS = -no-undefined -version-info $(QQWING_CURRENT):$(QQWING_REVISION):$(QQWING_AGE)
--
--bin_PROGRAMS = qqwing
--qqwing_SOURCES = main.cpp
--qqwing_LDADD = $(top_builddir)/libqqwing.la
--
--pkgconfigdir = $(libdir)/pkgconfig
--dist_pkgconfig_DATA = qqwing.pc
--
--dist_man_MANS = qqwing.1
-diff --git a/build/configure.ac b/build/configure.ac
-deleted file mode 100755
-index ca75f59..0000000
---- a/build/configure.ac
-+++ /dev/null
-@@ -1,47 +0,0 @@
--AC_PREREQ(2.59)
--AC_INIT(qqwing, 1.3.3, http://qqwing.com/)
--AC_CONFIG_MACRO_DIR([m4])
--AC_CONFIG_SRCDIR([config.h.in])
--AC_CONFIG_HEADER([config.h])
--
--# Before making a release, the LT_VERSION string should be modified.
--# The string is of the form C:R:A.
--# - If interfaces have been changed or added, but binary compatibility has
--# been preserved, change to C+1:0:A+1
--# - If binary compatibility has been broken (eg removed or changed interfaces)
--# change to C+1:0:0
--# - If the interface is the same as the previous version, change to C:R+1:A
--QQWING_CURRENT=2
--QQWING_REVISION=3
--QQWING_AGE=0
--
--AC_SUBST([QQWING_CURRENT])
--AC_SUBST([QQWING_REVISION])
--AC_SUBST([QQWING_AGE])
--
--AM_INIT_AUTOMAKE([foreign])
--
--# Checks for programs.
--AC_PROG_CXX
--AC_PROG_CC
--
--LT_PREREQ([2.2])
--LT_INIT([disable-static])
--
--# Checks for libraries.
--
--# Checks for header files.
--AC_HEADER_STDC
--AC_CHECK_HEADERS([stdlib.h sys/time.h])
--
--# Checks for typedefs, structures, and compiler characteristics.
--AC_HEADER_STDBOOL
--AC_C_CONST
--AC_C_INLINE
--AC_HEADER_TIME
--
--# Checks for library functions.
--AC_CHECK_FUNCS([gettimeofday])
--
--AC_CONFIG_FILES([Makefile qqwing.pc])
--AC_OUTPUT
-diff --git a/build/qqwing.pc.in b/build/qqwing.pc.in
-deleted file mode 100755
-index fcc4c45..0000000
---- a/build/qqwing.pc.in
-+++ /dev/null
-@@ -1,10 +0,0 @@
--prefix=@prefix@
--exec_prefix=@exec_prefix@
--libdir=@libdir@
--includedir=@includedir@
--
--Name: libqqwing
--Description: Sudoku generator and solver library
--Version: @VERSION@
--Libs: -L${libdir} -lqqwing
--Cflags: -I${includedir}
-diff --git a/configure.ac b/configure.ac
-new file mode 100644
-index 0000000..646494f
---- /dev/null
-+++ b/configure.ac
-@@ -0,0 +1,47 @@
-+AC_PREREQ(2.59)
-+AC_INIT(qqwing, 1.3.3, http://qqwing.com/)
-+AC_CONFIG_MACRO_DIR([m4])
-+AC_CONFIG_SRCDIR([config.h.in])
-+AC_CONFIG_HEADER([config.h])
-+
-+# Before making a release, the LT_VERSION string should be modified.
-+# The string is of the form C:R:A.
-+# - If interfaces have been changed or added, but binary compatibility has
-+# been preserved, change to C+1:0:A+1
-+# - If binary compatibility has been broken (eg removed or changed interfaces)
-+# change to C+1:0:0
-+# - If the interface is the same as the previous version, change to C:R+1:A
-+QQWING_CURRENT=2
-+QQWING_REVISION=3
-+QQWING_AGE=0
-+
-+AC_SUBST([QQWING_CURRENT])
-+AC_SUBST([QQWING_REVISION])
-+AC_SUBST([QQWING_AGE])
-+
-+AM_INIT_AUTOMAKE([foreign subdir-objects])
-+
-+# Checks for programs.
-+AC_PROG_CXX
-+AC_PROG_CC
-+
-+LT_PREREQ([2.2])
-+LT_INIT([disable-static])
-+
-+# Checks for libraries.
-+
-+# Checks for header files.
-+AC_HEADER_STDC
-+AC_CHECK_HEADERS([stdlib.h sys/time.h])
-+
-+# Checks for typedefs, structures, and compiler characteristics.
-+AC_HEADER_STDBOOL
-+AC_C_CONST
-+AC_C_INLINE
-+AC_HEADER_TIME
-+
-+# Checks for library functions.
-+AC_CHECK_FUNCS([gettimeofday])
-+
-+AC_CONFIG_FILES([Makefile qqwing.pc])
-+AC_OUTPUT
-diff --git a/qqwing.pc.in b/qqwing.pc.in
-new file mode 100644
-index 0000000..fcc4c45
---- /dev/null
-+++ b/qqwing.pc.in
-@@ -0,0 +1,10 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: libqqwing
-+Description: Sudoku generator and solver library
-+Version: @VERSION@
-+Libs: -L${libdir} -lqqwing
-+Cflags: -I${includedir}
---
-2.1.2
-
diff --git a/dev-libs/qqwing/metadata.xml b/dev-libs/qqwing/metadata.xml
index f910c711a9e4..d0b671f26b25 100644
--- a/dev-libs/qqwing/metadata.xml
+++ b/dev-libs/qqwing/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
diff --git a/dev-libs/qqwing/qqwing-1.3.3.ebuild b/dev-libs/qqwing/qqwing-1.3.3.ebuild
deleted file mode 100644
index f9527626400d..000000000000
--- a/dev-libs/qqwing/qqwing-1.3.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="Sudoku puzzle generator and solver"
-HOMEPAGE="https://qqwing.com"
-SRC_URI="https://github.com/stephenostermiller/${PN}/archive/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm x86"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- # Make autotools work out of the box
- epatch "${FILESDIR}"/${PN}-1.3.0-autotools.patch
-
- eautoreconf
-}
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 427854765114..000000000000
--- a/dev-libs/qqwing/qqwing-1.3.4.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-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 x86"
-IUSE=""
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-src_install() {
- default
- prune_libtool_files
-}
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/qrosscore/Manifest b/dev-libs/qrosscore/Manifest
deleted file mode 100644
index d8f0bcb6d3fe..000000000000
--- a/dev-libs/qrosscore/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qrosscore-0.3.2.tar.gz 3963954 BLAKE2B c7553fc1a0a2f4fd3f41ae0dd8bbb8c752c790c8a79b95b9b05ee38260e1ab9b2a337cc8fdf9b9aa513cc178f1155e0f3d7e5e0238aca50c9c970b981c189418 SHA512 2f86aa156af3a00eed38160258b2c178891e134f455e5c3f93a681193ea1d526d1adb6f428b948b8f52768415daed2c4dd7fb34040ff3046eea20bed81ea4d16
diff --git a/dev-libs/qrosscore/metadata.xml b/dev-libs/qrosscore/metadata.xml
deleted file mode 100644
index bdb16316b22e..000000000000
--- a/dev-libs/qrosscore/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>0xd34df00d@gmail.com</email>
- <name>Georg Rudoy</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- Qross is a KDE-free version of Kross.
- </longdescription>
- <upstream>
- <remote-id type="github">0xd34df00d/Qross</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/qrosscore/qrosscore-0.3.2.ebuild b/dev-libs/qrosscore/qrosscore-0.3.2.ebuild
deleted file mode 100644
index d56c0d2df65e..000000000000
--- a/dev-libs/qrosscore/qrosscore-0.3.2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="KDE-free version of Kross (core libraries and Qt Script backend)"
-HOMEPAGE="https://github.com/0xd34df00d/Qross"
-SRC_URI="https://github.com/0xd34df00d/Qross/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtwidgets:5
- dev-qt/designer:5
- dev-qt/qtscript:5
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/Qross-${PV}/src/qross"
-
-mycmakeargs=( -DUSE_QT5=ON )
diff --git a/dev-libs/qrosscore/qrosscore-9999.ebuild b/dev-libs/qrosscore/qrosscore-9999.ebuild
deleted file mode 100644
index fd34067bae29..000000000000
--- a/dev-libs/qrosscore/qrosscore-9999.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils git-r3
-
-EGIT_REPO_URI="https://github.com/0xd34df00d/Qross.git"
-
-DESCRIPTION="KDE-free version of Kross (core libraries and Qt Script backend)"
-HOMEPAGE="https://github.com/0xd34df00d/Qross"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE="debug"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/designer:5
- dev-qt/qtscript:5
-"
-DEPEND="${RDEPEND}"
-
-CMAKE_USE_DIR="${S}/src/qross"
-
-mycmakeargs=( -DUSE_QT5=ON )
diff --git a/dev-libs/qrosspython/Manifest b/dev-libs/qrosspython/Manifest
deleted file mode 100644
index d8f0bcb6d3fe..000000000000
--- a/dev-libs/qrosspython/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qrosscore-0.3.2.tar.gz 3963954 BLAKE2B c7553fc1a0a2f4fd3f41ae0dd8bbb8c752c790c8a79b95b9b05ee38260e1ab9b2a337cc8fdf9b9aa513cc178f1155e0f3d7e5e0238aca50c9c970b981c189418 SHA512 2f86aa156af3a00eed38160258b2c178891e134f455e5c3f93a681193ea1d526d1adb6f428b948b8f52768415daed2c4dd7fb34040ff3046eea20bed81ea4d16
diff --git a/dev-libs/qrosspython/metadata.xml b/dev-libs/qrosspython/metadata.xml
deleted file mode 100644
index 543b73607060..000000000000
--- a/dev-libs/qrosspython/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>0xd34df00d@gmail.com</email>
- <name>Georg Rudoy</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- Python interpreter for Qross.
- </longdescription>
- <upstream>
- <remote-id type="github">0xd34df00d/Qross</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/qrosspython/qrosspython-0.3.2.ebuild b/dev-libs/qrosspython/qrosspython-0.3.2.ebuild
deleted file mode 100644
index dcd6a6097957..000000000000
--- a/dev-libs/qrosspython/qrosspython-0.3.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit python-single-r1 cmake-utils
-
-DESCRIPTION="Python scripting backend for Qross"
-HOMEPAGE="https://github.com/0xd34df00d/Qross"
-SRC_URI="https://github.com/0xd34df00d/Qross/archive/${PV}.tar.gz -> qrosscore-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug"
-
-RDEPEND="
- ~dev-libs/qrosscore-${PV}
- dev-python/sip
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- ${PYTHON_DEPS}
-"
-DEPEND="${RDEPEND}
- dev-qt/qttest:5
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-S="${WORKDIR}/Qross-${PV}"
-CMAKE_USE_DIR="${S}/src/bindings/python/qrosspython"
-
-mycmakeargs=( -DUSE_QT5=ON )
diff --git a/dev-libs/qrosspython/qrosspython-9999.ebuild b/dev-libs/qrosspython/qrosspython-9999.ebuild
deleted file mode 100644
index c7d265051246..000000000000
--- a/dev-libs/qrosspython/qrosspython-9999.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit git-r3 python-single-r1 cmake-utils
-
-EGIT_REPO_URI="https://github.com/0xd34df00d/Qross.git"
-
-DESCRIPTION="Python scripting backend for Qross"
-HOMEPAGE="https://github.com/0xd34df00d/Qross"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE="debug"
-
-RDEPEND="
- ~dev-libs/qrosscore-${PV}
- dev-python/sip
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- ${PYTHON_DEPS}
-"
-DEPEND="${RDEPEND}
- dev-qt/qttest:5
-"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-CMAKE_USE_DIR="${S}/src/bindings/python/qrosspython"
-
-mycmakeargs=( -DUSE_QT5=ON )
diff --git a/dev-libs/qtkeychain/Manifest b/dev-libs/qtkeychain/Manifest
index 77e163f1a7dc..be66d503e662 100644
--- a/dev-libs/qtkeychain/Manifest
+++ b/dev-libs/qtkeychain/Manifest
@@ -1 +1 @@
-DIST qtkeychain-0.9.0.tar.gz 35614 BLAKE2B b8fbcc3737808f8415f703cd92dd1f036fd6d1d83c056562e0142f67a234ddc29ad7f029ce9f520c8bcf179d8b99b5cf8b702ad010763956ff0fb8ce3f030934 SHA512 d8e7895169e9746c234a156e00edb939926d14da1a5eadab7cb1e67790958973bfd11c9c04c6fa5cf776aafbd0af40dcd50c683f1c80bef60d47d1465bb350df
+DIST qtkeychain-0.14.2.tar.gz 50915 BLAKE2B eed35eec296b62fec90e83e98c3ab817aa05f7cefd74c3790ce2f7c38c051d5b95b3664e688bef0cfe7b06583e844782f60454bb67b48f6507fc33c780c62bf0 SHA512 d681f60a6954a8fcb37039cfb1a6d69f5aee19f30313d65072c40cee1880c302b9f2ad3d994ae7a775b17479f443231774804ca438ef6b5e7ec25533d5d9f3c2
diff --git a/dev-libs/qtkeychain/metadata.xml b/dev-libs/qtkeychain/metadata.xml
index 02aa7a57ebd5..a892d85458ef 100644
--- a/dev-libs/qtkeychain/metadata.xml
+++ b/dev-libs/qtkeychain/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>johu@gentoo.org</email>
- <name>Johannes Huber</name>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
</maintainer>
<upstream>
<remote-id type="github">frankosterfeld/qtkeychain</remote-id>
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/qtkeychain/qtkeychain-0.9.0.ebuild b/dev-libs/qtkeychain/qtkeychain-0.9.0.ebuild
deleted file mode 100644
index 78480512c988..000000000000
--- a/dev-libs/qtkeychain/qtkeychain-0.9.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
-DESCRIPTION="Qt API for storing passwords securely"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 x86"
-else
- inherit git-r3
- EGIT_REPO_URI="${HOMEPAGE}.git"
-fi
-
-LICENSE="BSD"
-SLOT="0/1"
-IUSE="gnome-keyring"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- gnome-keyring? ( dev-libs/glib:2 )
-"
-DEPEND="${RDEPEND}
- dev-qt/linguist-tools:5
- gnome-keyring? ( gnome-base/libgnome-keyring )
-"
-
-DOCS=( ChangeLog ReadMe.txt )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_QT4=OFF
- -DQTKEYCHAIN_STATIC=OFF
- -DBUILD_TEST_APPLICATION=OFF
- -DBUILD_TRANSLATIONS=ON
- -DLIBSECRET_SUPPORT=$(usex gnome-keyring)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/quazip/Manifest b/dev-libs/quazip/Manifest
index b6da0d2bc9a9..d8ac2a86ded3 100644
--- a/dev-libs/quazip/Manifest
+++ b/dev-libs/quazip/Manifest
@@ -1 +1,3 @@
-DIST quazip-0.8.1.tar.gz 150584 BLAKE2B 4a1d61b65b01eee06e1292ee88b543675c77ac922d0fb1726ac0afd447d74e8c8154db82da0ce95c2f2c303c036f2795e8938a412dc22e921ee09a0ef99278f6 SHA512 d65dab16c2cbc4d8bb23dae5b2fdff5ef787aaff2653b8e75c3fc8ba1701f5568a52bdde39009f83c5069a9fe3331cd1a49cf965822c4180e88bbc341faa2bfb
+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.2-cmake.patch b/dev-libs/quazip/files/quazip-1.2-cmake.patch
new file mode 100644
index 000000000000..e8bfdf7807cc
--- /dev/null
+++ b/dev-libs/quazip/files/quazip-1.2-cmake.patch
@@ -0,0 +1,79 @@
+From d141ac016ad587b052886b17b42c8c4dc77aba98 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sat, 20 Feb 2021 22:53:46 +0100
+Subject: [PATCH] Use CTest module provided BUILD_TESTING (default: ON)
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5c42816..5d52baf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,9 +11,10 @@ set(QUAZIP_LIB_SOVERSION 1.0.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(QUAZIP_QT_MAJOR_VERSION 5 CACHE STRING "Qt version to use (4 or 5), defaults to 5")
+
++include(CTest)
++
+ if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE RELEASE)
+ endif()
+@@ -30,23 +31,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 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 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 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()
+@@ -67,8 +74,7 @@ endif()
+
+ add_subdirectory(quazip)
+
+-if(QUAZIP_ENABLE_TESTS)
++if(BUILD_TESTING)
+ message(STATUS "Building QuaZip tests")
+- enable_testing()
+ add_subdirectory(qztest)
+ endif()
+--
+2.34.1
+
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 57efb782c057..c0b0f714ce05 100644
--- a/dev-libs/quazip/metadata.xml
+++ b/dev-libs/quazip/metadata.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
</maintainer>
<upstream>
+ <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-0.8.1.ebuild b/dev-libs/quazip/quazip-0.8.1.ebuild
deleted file mode 100644
index 3dfa73e6c0bd..000000000000
--- a/dev-libs/quazip/quazip-0.8.1.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
-
-inherit cmake-utils flag-o-matic qmake-utils
-
-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"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~hppa ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- sys-libs/zlib[minizip]
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake-utils_src_prepare
- if ! use static-libs ; then
- sed -e "/^install/ s/quazip_static//" -i quazip/CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- local libdir=$(get_libdir)
- local -x CXXFLAGS="${CXXFLAGS}"
- append-cxxflags -std=c++11 -fPIC
-
- local mycmakeargs=(
- -DBUILD_WITH_QT4=OFF
- -DLIB_SUFFIX=${libdir/lib/}
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_src_install
-
- # compatibility with not yet fixed rdeps (Gentoo bug #598136)
- dosym libquazip5.so /usr/$(get_libdir)/libquazip.so
-}
diff --git a/dev-libs/quazip/quazip-1.2.ebuild b/dev-libs/quazip/quazip-1.2.ebuild
new file mode 100644
index 000000000000..e0d53de5bc70
--- /dev/null
+++ b/dev-libs/quazip/quazip-1.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+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"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-qt/qtcore:5
+ sys-libs/zlib[minizip]
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ !=dev-libs/quazip-1.1-r0:1
+"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DQUAZIP_QT_MAJOR_VERSION=5
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use test && cmake_build qztest
+}
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..f5ccfe9b1376
--- /dev/null
+++ b/dev-libs/qxlsx/Manifest
@@ -0,0 +1 @@
+DIST qxlsx-1.4.7.tar.gz 4705261 BLAKE2B 8be35b86ef7f025d5cc0875275406a65e1624592d7c8fa97d743223ab143011de9e71dc40eb62d83edc28c16c5d9e9c8092ea082cd8898db277e8a94e1ea10e6 SHA512 5ca8841413d5bddf1cec2c6eb4434ae18c533231adf32a8157790ba81c0b305c7f02a70475492a45ce11d1d6cf6e483bd30cafe8629aa564a46cb749e1b43f43
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.7.ebuild b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
new file mode 100644
index 000000000000..328515ace716
--- /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
new file mode 100644
index 000000000000..3f7e7e8f6977
--- /dev/null
+++ b/dev-libs/raft/Manifest
@@ -0,0 +1,2 @@
+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.10.0-toggle-zfs.patch b/dev-libs/raft/files/raft-0.10.0-toggle-zfs.patch
new file mode 100644
index 000000000000..f31b599b6101
--- /dev/null
+++ b/dev-libs/raft/files/raft-0.10.0-toggle-zfs.patch
@@ -0,0 +1,21 @@
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2021-03-16 14:45:58.000000000 +0200
++++ b/configure.ac 2021-03-23 07:45:06.875557286 +0200
+@@ -47,13 +47,10 @@
+ # Checks for header files.
+ AC_CHECK_HEADERS([stdlib.h string.h stdio.h assert.h unistd.h linux/io_uring.h linux/aio_abi.h])
+
+-# Check if zfs >= 0.8.0 is available (for direct I/O support).
+-AC_CHECK_PROG(have_zfs, zfs, yes)
+-AS_IF([test x"$have_zfs" = x"yes"],
+- [AX_COMPARE_VERSION($(cat /sys/module/zfs/version | cut -f 1 -d -), [ge], [0.8.0],
+- [AC_DEFINE(RAFT_HAVE_ZFS_WITH_DIRECT_IO)], [])
+- ],
+- [])
++# zfs support. We have 0.8.6 as stable in Gentoo, which is plenty above the required minimum.
++AC_ARG_WITH([zfs], AS_HELP_STRING([--with-zfs], [Build with zfs support (default: disabled)]))
++AS_IF([test "x$with_zfs" = "xyes"],
++ [AC_DEFINE(RAFT_HAVE_ZFS_WITH_DIRECT_IO)], [])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_TYPE_SIZE_T
diff --git a/dev-libs/raft/metadata.xml b/dev-libs/raft/metadata.xml
new file mode 100644
index 000000000000..94076382bb1e
--- /dev/null
+++ b/dev-libs/raft/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>
+ <use>
+ <flag name="zfs">ZFS support</flag>
+ </use>
+ <longdescription>
+ The library has modular design: its core part implements only the core
+ Raft algorithm logic, in a fully platform independent way. On top of that,
+ a pluggable interface defines the I/O implementation for networking
+ (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.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..39daa1268bef
--- /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
new file mode 100644
index 000000000000..a952a076dc47
--- /dev/null
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-system_gtest.patch
@@ -0,0 +1,44 @@
+--- a/CMakeModules/FindGTestSrc.cmake
++++ b/CMakeModules/FindGTestSrc.cmake
+@@ -1,30 +1,9 @@
+-
+-SET(GTEST_SEARCH_PATH
+- "${GTEST_SOURCE_DIR}"
+- "${CMAKE_CURRENT_LIST_DIR}/../thirdparty/gtest/googletest")
+-
+-IF(UNIX)
+- IF(RAPIDJSON_BUILD_THIRDPARTY_GTEST)
+- LIST(APPEND GTEST_SEARCH_PATH "/usr/src/gtest")
+- ELSE()
+- LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest")
+- ENDIF()
+-ENDIF()
+-
+-FIND_PATH(GTEST_SOURCE_DIR
+- NAMES CMakeLists.txt src/gtest_main.cc
+- PATHS ${GTEST_SEARCH_PATH})
+-
+-
+ # Debian installs gtest include directory in /usr/include, thus need to look
+ # for include directory separately from source directory.
+ FIND_PATH(GTEST_INCLUDE_DIR
+ NAMES gtest/gtest.h
+- PATH_SUFFIXES include
+- HINTS ${GTEST_SOURCE_DIR}
+- PATHS ${GTEST_SEARCH_PATH})
++ PATH_SUFFIXES include)
+
+ INCLUDE(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(GTestSrc DEFAULT_MSG
+- GTEST_SOURCE_DIR
+ GTEST_INCLUDE_DIR)
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -8,7 +8,6 @@
+ set(gtest_force_shared_crt ON)
+ endif()
+
+- add_subdirectory(${GTEST_SOURCE_DIR} ${CMAKE_BINARY_DIR}/googletest)
+ include_directories(SYSTEM ${GTEST_INCLUDE_DIR})
+
+ set(TEST_LIBRARIES gtest gtest_main)
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
new file mode 100644
index 000000000000..772eabe8c6df
--- /dev/null
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-valgrind_optional.patch
@@ -0,0 +1,21 @@
+https://github.com/Tencent/rapidjson/issues/1808
+
+--- 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)
+
+-if(NOT MSVC)
++find_program(VALGRIND_EXECUTABLE valgrind)
++if(VALGRIND_EXECUTABLE)
+ # Not running SIMD.* unit test cases for Valgrind
+ add_test(NAME valgrind_unittest
+ COMMAND valgrind --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest --gtest_filter=-SIMD.*
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
++endif(VALGRIND_EXECUTABLE)
+
++if(NOT MSVC)
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ add_test(NAME symbol_check
+ COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0"
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
new file mode 100644
index 000000000000..e05c28000875
--- /dev/null
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.1-valgrind_optional.patch
@@ -0,0 +1,21 @@
+https://github.com/Tencent/rapidjson/issues/1808
+
+--- 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)
+
+-if(NOT MSVC)
++find_program(VALGRIND_EXECUTABLE valgrind)
++if(VALGRIND_EXECUTABLE)
+ # Not running SIMD.* unit test cases for Valgrind
+ add_test(NAME valgrind_unittest
+ COMMAND valgrind --suppressions=${CMAKE_SOURCE_DIR}/test/valgrind.supp --leak-check=full --error-exitcode=1 ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/unittest --gtest_filter=-SIMD.*
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
++endif(VALGRIND_EXECUTABLE)
+
++if(NOT MSVC)
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+ add_test(NAME symbol_check
+ COMMAND sh -c "objdump -t -C libnamespacetest.a | grep rapidjson ; test $? -ne 0"
diff --git a/dev-libs/rapidjson/metadata.xml b/dev-libs/rapidjson/metadata.xml
index 16abdcee88bb..a3be7bec65f6 100644
--- a/dev-libs/rapidjson/metadata.xml
+++ b/dev-libs/rapidjson/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r1.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r1.ebuild
deleted file mode 100644
index 31257f30dc02..000000000000
--- a/dev-libs/rapidjson/rapidjson-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
-HOMEPAGE="http://rapidjson.org/"
-
-LICENSE="MIT"
-IUSE="doc examples 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 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-utils_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=(
- -DRAPIDJSON_BUILD_DOC=$(usex doc)
- -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
- -DRAPIDJSON_BUILD_TESTS=$(usex test)
- -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
- )
- cmake-utils_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-1.1.0.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0.ebuild
deleted file mode 100644
index 5d6d2183e515..000000000000
--- a/dev-libs/rapidjson/rapidjson-1.1.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
-HOMEPAGE="http://rapidjson.org/"
-
-LICENSE="MIT"
-IUSE="doc examples 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 ~x86"
- S="${WORKDIR}/rapidjson-${PV}"
-fi
-
-DEPEND="
- doc? ( app-doc/doxygen )
- test? (
- dev-cpp/gtest
- dev-util/valgrind
- )"
-RDEPEND=""
-
-src_configure() {
- local mycmakeargs=(
- -DRAPIDJSON_BUILD_DOC=$(usex doc)
- -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
- -DRAPIDJSON_BUILD_TESTS=$(usex test)
- -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/rapidjson/rapidjson-9999.ebuild b/dev-libs/rapidjson/rapidjson-9999.ebuild
index 160fb5e9d92f..b98b72a191b7 100644
--- a/dev-libs/rapidjson/rapidjson-9999.ebuild
+++ b/dev-libs/rapidjson/rapidjson-9999.ebuild
@@ -1,16 +1,12 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils
+inherit cmake
DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
-HOMEPAGE="http://rapidjson.org/"
-
-LICENSE="MIT"
-IUSE="doc examples test"
-SLOT="0"
+HOMEPAGE="https://rapidjson.org/"
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
@@ -18,31 +14,46 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~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
- dev-util/valgrind
- )"
-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"
+ "${FILESDIR}/${PN}-1.1.1-valgrind_optional.patch"
+)
src_prepare() {
- cmake-utils_src_prepare
+ cmake_src_prepare
- sed -i -e 's|-Werror||g' CMakeLists.txt || die
- sed -i -e 's|-Werror||g' example/CMakeLists.txt || die
+ sed -i -e 's| -march=native||g' CMakeLists.txt || die
+ sed -i -e 's| -mcpu=native||g' CMakeLists.txt || die
+ sed -i -e 's| -Werror||g' 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_CXX17=ON
-DRAPIDJSON_BUILD_DOC=$(usex doc)
-DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
-DRAPIDJSON_BUILD_TESTS=$(usex test)
-DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
)
- cmake-utils_src_configure
+ use test && mycmakeargs+=(
+ -DVALGRIND_EXECUTABLE=
+ )
+ cmake_src_configure
}
diff --git a/dev-libs/rapidxml/Manifest b/dev-libs/rapidxml/Manifest
deleted file mode 100644
index 845a370f2336..000000000000
--- a/dev-libs/rapidxml/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rapidxml-1.13.zip 44163 BLAKE2B 9db90dfca1943c47e95541a323e1210368447c054cf072d6768031488070e375fe2aa78a4e41f61f252d4c487e94cf1e24e4d3756e3f8774b0c2c52ef86959e7 SHA512 6c10583e6631ccdb0217d0a5381172cb4c1046226de6ef1acf398d85e81d145228e14c3016aefcd7b70a1db8631505b048d8b4f5d4b0dbf1811d2482eefdd265
diff --git a/dev-libs/rapidxml/files/rapidxml-1.13-clang.patch b/dev-libs/rapidxml/files/rapidxml-1.13-clang.patch
deleted file mode 100644
index 007ee19fa8dd..000000000000
--- a/dev-libs/rapidxml/files/rapidxml-1.13-clang.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- rapidxml_print.hpp.orig 2015-06-21 15:46:43.330070116 +0200
-+++ rapidxml_print.hpp 2015-06-21 15:50:58.745053512 +0200
-@@ -102,6 +102,20 @@
- ///////////////////////////////////////////////////////////////////////////
- // Internal printing operations
-
-+ // =====================================
-+ // fix for clang for this bug in gcc and others: https://sourceforge.net/p/rapidxml/bugs/16/
-+
-+ template<class OutIt, class Ch> inline OutIt print_children(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+ template<class OutIt, class Ch> inline OutIt print_element_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+ template<class OutIt, class Ch> inline OutIt print_data_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+ template<class OutIt, class Ch> inline OutIt print_cdata_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+ template<class OutIt, class Ch> inline OutIt print_declaration_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+ template<class OutIt, class Ch> inline OutIt print_comment_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+ template<class OutIt, class Ch> inline OutIt print_doctype_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+ template<class OutIt, class Ch> inline OutIt print_pi_node(OutIt out, const xml_node<Ch> *node, int flags, int indent);
-+
-+ // =====================================
-+
- // Print node
- template<class OutIt, class Ch>
- inline OutIt print_node(OutIt out, const xml_node<Ch> *node, int flags, int indent)
diff --git a/dev-libs/rapidxml/metadata.xml b/dev-libs/rapidxml/metadata.xml
deleted file mode 100644
index 8291b1a23f56..000000000000
--- a/dev-libs/rapidxml/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">rapidxml</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild b/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild
deleted file mode 100644
index 316fb1fc0d33..000000000000
--- a/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-DESCRIPTION="Fast XML parser"
-HOMEPAGE="http://rapidxml.sourceforge.net/"
-SRC_URI="mirror://sourceforge/rapidxml/rapidxml-${PV}.zip"
-
-LICENSE="Boost-1.0 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-clang.patch
-}
-
-src_install() {
- insinto /usr/include/rapidxml
- doins *.hpp
- docinto html
- dodoc manual.html
-}
diff --git a/dev-libs/rapidxml/rapidxml-1.13.ebuild b/dev-libs/rapidxml/rapidxml-1.13.ebuild
deleted file mode 100644
index 4b8625867211..000000000000
--- a/dev-libs/rapidxml/rapidxml-1.13.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-DESCRIPTION="Fast XML parser"
-HOMEPAGE="http://rapidxml.sourceforge.net/"
-SRC_URI="mirror://sourceforge/rapidxml/rapidxml-${PV}.zip"
-
-LICENSE="Boost-1.0 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_install() {
- insinto /usr/include/rapidxml
- doins *.hpp
- dohtml manual.html
-}
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 c870d0eef0ab..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 0730ea8d1454..000000000000
--- a/dev-libs/rasqal/rasqal-0.9.33.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2019 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 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="+crypt gmp kernel_linux +mhash pcre static-libs test xml"
-
-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
new file mode 100644
index 000000000000..baeaa02c7d4e
--- /dev/null
+++ b/dev-libs/rccl/Manifest
@@ -0,0 +1,2 @@
+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-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/metadata.xml b/dev-libs/rccl/metadata.xml
new file mode 100644
index 000000000000..70bb629584c9
--- /dev/null
+++ b/dev-libs/rccl/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="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <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/rccl</remote-id>
+ </upstream>
+</pkgmetadata>
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 1c0e730eee03..8c30ddff49eb 100644
--- a/dev-libs/re2/Manifest
+++ b/dev-libs/re2/Manifest
@@ -1,5 +1,2 @@
-DIST re2-2016-05-01.tar.gz 399509 BLAKE2B ec7676da99493bb2be56bd661f8f3bd57b123bbdc1f6cc5ccd294a17d819b75f9f505b247e86368735a454417f5df8aa4027c20f0fce129625c14caa166a97ad SHA512 6d37ab1eae51a73f60d3c8280ea1162c420638363f0eb1313d7c2d5cee65a5abd4c2927da1a53572afbcb7d07fac2993a7e54c6cbc85e24aaae93c46dab19b14
-DIST re2-2016-11-01.tar.gz 379816 BLAKE2B 251c45684fa4f3f85e0138c6f788f7a35fbc2ad8766f6a9bc0daf7305ac2140a1102602cf8843242f7a311ec09bf4fe516b605e39e8c857aa2f475783085c231 SHA512 1be7d2551737cb9dc1031dac9335f82dfb58f3612bdb745bf6c5121334bf8689bb0564b751c23e4c002478cc46cc237ce4da294090adb983b0c1db25a9fac0a7
-DIST re2-2017-03-01.tar.gz 382241 BLAKE2B 0a034267f435386b1bfc1680c98aabf4d18dac40cbce3c5a5705cb6a383d54f81b90e22fdd0f16220434eca2eb1c6a5d28ae7e903cdca2397bbc6c10c11ac703 SHA512 566a3ff6598fc9b26dcabe175efa48becd38459185d6bb86b3abb1856a3e7b0f9b5e302594b1ac4817dcb5968920df43d23279a6cff2a74b6b0c174dc9379f88
-DIST re2-2018-04-01.tar.gz 389724 BLAKE2B 629d5cf82a465dfd2d50a3761f0b6504dba6309e5a2605a6f1fde20cae7e7cbb7bef6703abc12161891cb14e7308db3d18b25e575d3ffd8bbdd5cfba6f067983 SHA512 862d9bcb574ea986b1497d6c079104a0cf27b418a6ec8c24047f0d43ede2c8f7f0bdc6a3ccddaeb746f0d821e3e7fd701f438d7fed101db969785c4b344e0462
-DIST re2-2018-10-01.tar.gz 391254 BLAKE2B 297b9abef94fb3ad95e35bb7ff642a5d47b5bc20b1bc3544c76f8a91ec5b9812a1fad1cd5c6a7d4b7c24baaf15302602e8d1b483bdfc6d1246bf268620a9440e SHA512 91e400856137d16c6319e310dab99b4baa74c0bcf634c97464fccdf4092ffc8e1d5ee2a6714b8114719e2dd92e962d5e970ce1b360a3644a8b395d8fb47431be
+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/files/0.2016.05.01-pkgconfig.patch b/dev-libs/re2/files/0.2016.05.01-pkgconfig.patch
deleted file mode 100644
index 46ec7ca619eb..000000000000
--- a/dev-libs/re2/files/0.2016.05.01-pkgconfig.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From ac62674fa16b5a086f02dd208667ba65e22ec09d Mon Sep 17 00:00:00 2001
-From: Paul Wankadia <junyer@google.com>
-Date: Mon, 9 May 2016 14:42:37 +1000
-Subject: [PATCH] Plumb more variables from Makefile to re2.pc.
-
-Change-Id: I35509c273b0bd90242db127121c71be1f628c06f
-Reviewed-on: https://code-review.googlesource.com/4710
-Reviewed-by: Paul Wankadia <junyer@google.com>
----
- Makefile | 8 +++++---
- re2.pc | 6 +++---
- 2 files changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index d0e2090..411e551 100644
---- a/Makefile
-+++ b/Makefile
-@@ -28,11 +28,9 @@ NMFLAGS?=-p
- # http://www.gnu.org/prep/standards/standards.html
- prefix=/usr/local
- exec_prefix=$(prefix)
--bindir=$(exec_prefix)/bin
- includedir=$(prefix)/include
- libdir=$(exec_prefix)/lib
- INSTALL=install
--INSTALL_PROGRAM=$(INSTALL)
- INSTALL_DATA=$(INSTALL) -m 644
-
- # ABI version
-@@ -273,7 +271,11 @@ install: obj/libre2.a obj/so/libre2.$(SOEXT)
- $(INSTALL) obj/so/libre2.$(SOEXT) $(DESTDIR)$(libdir)/libre2.$(SOEXTVER00)
- ln -sf libre2.$(SOEXTVER00) $(DESTDIR)$(libdir)/libre2.$(SOEXTVER)
- ln -sf libre2.$(SOEXTVER00) $(DESTDIR)$(libdir)/libre2.$(SOEXT)
-- sed -e "s#@prefix@#${prefix}#" re2.pc >$(DESTDIR)$(libdir)/pkgconfig/re2.pc
-+ $(INSTALL_DATA) re2.pc $(DESTDIR)$(libdir)/pkgconfig/re2.pc
-+ sed -i \
-+ -e "s#@prefix@#${prefix}#" -e "s#@exec_prefix@#${exec_prefix}#" \
-+ -e "s#@includedir@#${includedir}#" -e "s#@libdir@#${libdir}#" \
-+ $(DESTDIR)$(libdir)/pkgconfig/re2.pc
-
- testinstall: static-testinstall shared-testinstall
- @echo
-diff --git a/re2.pc b/re2.pc
-index 91ba181..d66cf51 100644
---- a/re2.pc
-+++ b/re2.pc
-@@ -1,7 +1,7 @@
- prefix=@prefix@
--exec_prefix=${prefix}
--includedir=${prefix}/include
--libdir=${exec_prefix}/lib
-+exec_prefix=@exec_prefix@
-+includedir=@includedir@
-+libdir=@libdir@
-
- Name: re2
- Description: RE2 is a fast, safe, thread-friendly regular expression engine.
diff --git a/dev-libs/re2/metadata.xml b/dev-libs/re2/metadata.xml
index 3f5b8c87fb5d..3924d20eebc1 100644
--- a/dev-libs/re2/metadata.xml
+++ b/dev-libs/re2/metadata.xml
@@ -1,10 +1,7 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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-needed -->
<upstream>
<remote-id type="github">google/re2</remote-id>
</upstream>
diff --git a/dev-libs/re2/re2-0.2016.05.01.ebuild b/dev-libs/re2/re2-0.2016.05.01.ebuild
deleted file mode 100644
index eb2660d59bd3..000000000000
--- a/dev-libs/re2/re2-0.2016.05.01.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal toolchain-funcs
-
-# Different date format used upstream.
-RE2_VER=${PV#0.}
-RE2_VER=${RE2_VER//./-}
-
-DESCRIPTION="An efficent, principled regular expression library"
-HOMEPAGE="https://github.com/google/re2"
-SRC_URI="https://github.com/google/re2/archive/${RE2_VER}.tar.gz -> ${PN}-${RE2_VER}.tar.gz"
-
-LICENSE="BSD"
-# NOTE: Always run libre2 through abi-compliance-checker!
-# https://abi-laboratory.pro/tracker/timeline/re2/
-SLOT="0/0.2016.05.01"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="icu"
-
-RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- icu? ( virtual/pkgconfig )"
-
-S="${WORKDIR}/${PN}-${RE2_VER}"
-
-PATCHES=( "${FILESDIR}/${PV}-pkgconfig.patch" )
-DOCS=( "AUTHORS" "CONTRIBUTORS" "README" "doc/syntax.txt" )
-HTML_DOCS=( "doc/syntax.html" )
-
-src_prepare() {
- default
- if use icu; then
- sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
- fi
- multilib_copy_sources
-}
-
-src_configure() {
- tc-export AR CXX NM
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" install
-}
diff --git a/dev-libs/re2/re2-0.2016.11.01-r1.ebuild b/dev-libs/re2/re2-0.2016.11.01-r1.ebuild
deleted file mode 100644
index e5a491a41c76..000000000000
--- a/dev-libs/re2/re2-0.2016.11.01-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal toolchain-funcs
-
-# Different date format used upstream.
-RE2_VER=${PV#0.}
-RE2_VER=${RE2_VER//./-}
-
-DESCRIPTION="An efficent, 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="gentoo-2016-09-01"
-SLOT="0/${SONAME}"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="icu"
-
-RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- icu? ( virtual/pkgconfig )"
-
-S="${WORKDIR}/re2-${RE2_VER}"
-
-DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
-HTML_DOCS=( doc/syntax.html )
-
-src_prepare() {
- default
- grep -qv '^SONAME=0$' Makefile || die "Check SONAME in Makefile"
- if use icu; then
- sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
- fi
- multilib_copy_sources
-}
-
-src_configure() {
- tc-export AR CXX NM
-}
-
-multilib_src_compile() {
- emake SONAME="${SONAME}"
-}
-
-multilib_src_install() {
- emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" install
-}
diff --git a/dev-libs/re2/re2-0.2017.03.01.ebuild b/dev-libs/re2/re2-0.2017.03.01.ebuild
deleted file mode 100644
index 0410c18f841f..000000000000
--- a/dev-libs/re2/re2-0.2017.03.01.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib-minimal toolchain-funcs
-
-# Different date format used upstream.
-RE2_VER=${PV#0.}
-RE2_VER=${RE2_VER//./-}
-
-DESCRIPTION="An efficent, 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="gentoo-2017-03-01"
-SLOT="0/${SONAME}"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="icu"
-
-RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- icu? ( virtual/pkgconfig )"
-
-S="${WORKDIR}/re2-${RE2_VER}"
-
-DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
-HTML_DOCS=( doc/syntax.html )
-
-src_prepare() {
- default
- grep -qv '^SONAME=0$' Makefile || die "Check SONAME in Makefile"
- if use icu; then
- sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
- fi
- multilib_copy_sources
-}
-
-src_configure() {
- tc-export AR CXX NM
-}
-
-multilib_src_compile() {
- emake SONAME="${SONAME}"
-}
-
-multilib_src_install() {
- emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" install
-}
diff --git a/dev-libs/re2/re2-0.2018.04.01.ebuild b/dev-libs/re2/re2-0.2018.04.01.ebuild
deleted file mode 100644
index a8253f099304..000000000000
--- a/dev-libs/re2/re2-0.2018.04.01.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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="gentoo-2017-03-01"
-SLOT="0/${SONAME}"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="icu"
-
-RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- icu? ( virtual/pkgconfig )"
-
-S="${WORKDIR}/re2-${RE2_VER}"
-
-DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
-HTML_DOCS=( doc/syntax.html )
-
-src_prepare() {
- default
- grep -qv '^SONAME=0$' Makefile || die "Check SONAME in Makefile"
- if use icu; then
- sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
- fi
- multilib_copy_sources
-}
-
-src_configure() {
- tc-export AR CXX NM
-}
-
-multilib_src_compile() {
- emake SONAME="${SONAME}"
-}
-
-multilib_src_install() {
- emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" install
-}
diff --git a/dev-libs/re2/re2-0.2018.10.01.ebuild b/dev-libs/re2/re2-0.2018.10.01.ebuild
deleted file mode 100644
index 8e3f95ed048d..000000000000
--- a/dev-libs/re2/re2-0.2018.10.01.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 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="gentoo-2017-03-01"
-SLOT="0/${SONAME}"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86"
-IUSE="icu"
-
-RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="icu? ( virtual/pkgconfig )"
-
-S="${WORKDIR}/re2-${RE2_VER}"
-
-DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
-HTML_DOCS=( doc/syntax.html )
-
-src_prepare() {
- default
- grep -qv '^SONAME=0$' Makefile || die "Check SONAME in Makefile"
- if use icu; then
- sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
- fi
- multilib_copy_sources
-}
-
-src_configure() {
- tc-export AR CXX NM
-}
-
-multilib_src_compile() {
- emake SONAME="${SONAME}"
-}
-
-multilib_src_install() {
- emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" 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/Manifest b/dev-libs/redland-bindings/Manifest
index 08bdd972b8af..75ccb5030e75 100644
--- a/dev-libs/redland-bindings/Manifest
+++ b/dev-libs/redland-bindings/Manifest
@@ -1 +1 @@
-DIST redland-bindings-1.0.14.1.tar.gz 792557 BLAKE2B fac20e9e2fbf9a4ea7299ef0b4a656ea3e5f1cbf436cd31c80e81be40dc95e074e557925b32ecf24091ce3cfe882d681318ae8402e14baf1e0966ec8a0a892ed SHA512 5e037a96f857c95bf4b9277d98c7de1fa41c4ba7e49e199eeb516458343587c796a10e857679c889406b22bca8617828a2bccd07c31b73f2366cdea39cefad15
+DIST redland-bindings-1.0.17.1.tar.gz 933290 BLAKE2B f58524c30958200af1fb3ec0f63b8aa9f3fd2120297321299cdd225ff9eb331f385c4418ed25987b955857e5046b5c6f0589210b807aae0dc6abe0b758d48cfc SHA512 c105d1232555d226d98efdc1e4edc1b6c953fdd004804e40926452b8f91d30159319a50af68fc3cfe242cf180d85383ef3ff925cc65ed5d0652096cc51f4d7c0
diff --git a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-bool.patch b/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-bool.patch
new file mode 100644
index 000000000000..35594515c793
--- /dev/null
+++ b/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-bool.patch
@@ -0,0 +1,22 @@
+From: =?utf-8?q?Ond=C5=99ej_Sur=C3=BD?= <ondrej@sury.org>
+Date: Wed, 22 Jun 2016 10:28:48 +0200
+Subject: Don't undef bool, it's needed
+
+---
+ perl/CORE_wrap.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/perl/CORE_wrap.c b/perl/CORE_wrap.c
+index 46c2a46..4eb3785 100644
+--- a/perl/CORE_wrap.c
++++ b/perl/CORE_wrap.c
+@@ -1432,9 +1432,6 @@ SWIG_Perl_SetModule(swig_module_info *module) {
+ #ifdef eof
+ #undef eof
+ #endif
+-#ifdef bool
+- #undef bool
+-#endif
+ #ifdef close
+ #undef close
+ #endif
diff --git a/dev-libs/redland-bindings/metadata.xml b/dev-libs/redland-bindings/metadata.xml
index c870d0eef0ab..b69a849fd57e 100644
--- a/dev-libs/redland-bindings/metadata.xml
+++ b/dev-libs/redland-bindings/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sound@gentoo.org</email>
diff --git a/dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild b/dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild
deleted file mode 100644
index c6c5e9ddee67..000000000000
--- a/dev-libs/redland-bindings/redland-bindings-1.0.14.1-r2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit multilib python-single-r1
-
-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 ~ppc-macos"
-IUSE="lua perl python php ruby"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/redland-1.0.14
- lua? ( >=dev-lang/lua-5.1:0 )
- perl? ( dev-lang/perl:= )
- php? ( dev-lang/php:* )
- python? ( ${PYTHON_DEPS} )
- ruby? ( dev-lang/ruby:* dev-ruby/log4r )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- >=dev-lang/swig-2
- sys-apps/sed"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_configure() {
- econf \
- $(use_with lua) \
- $(use_with perl) \
- $(use_with python) \
- $(use_with php) \
- $(use_with ruby)
-}
-
-src_install() {
- emake DESTDIR="${D}" INSTALLDIRS=vendor luadir=/usr/$(get_libdir)/lua/5.1 install
-
- 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
-
- dodoc AUTHORS ChangeLog NEWS README TODO
- dohtml {NEWS,README,RELEASE,TODO}.html
-}
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/files/redland-1.0.17-mysql-8-my_bool.patch b/dev-libs/redland/files/redland-1.0.17-mysql-8-my_bool.patch
new file mode 100644
index 000000000000..a59c456e84ff
--- /dev/null
+++ b/dev-libs/redland/files/redland-1.0.17-mysql-8-my_bool.patch
@@ -0,0 +1,15 @@
+--- a/src/rdf_storage_mysql.c
++++ b/src/rdf_storage_mysql.c
+@@ -445,11 +445,11 @@
+ /* Initialize closed MySQL connection handle */
+ connection->handle=mysql_init(connection->handle);
+
+ #ifdef HAVE_MYSQL_OPT_RECONNECT
+ if(1) {
+- my_bool value=(context->reconnect) ? 1 : 0;
++ bool value=(context->reconnect) ? 1 : 0;
+ mysql_options(connection->handle, MYSQL_OPT_RECONNECT, &value);
+ }
+ #endif
+
+ /* Create connection to database for handle */
diff --git a/dev-libs/redland/metadata.xml b/dev-libs/redland/metadata.xml
index c870d0eef0ab..b69a849fd57e 100644
--- a/dev-libs/redland/metadata.xml
+++ b/dev-libs/redland/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sound@gentoo.org</email>
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 8da2616c8280..000000000000
--- a/dev-libs/redland/redland-1.0.17-r2.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2019 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 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
-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"
-
-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/replicant/Manifest b/dev-libs/replicant/Manifest
deleted file mode 100644
index d7776f6d43c8..000000000000
--- a/dev-libs/replicant/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST replicant-0.6.4.tar.gz 423835 BLAKE2B 6c1a0a512ba093a72d457e86b36443841a216763ef363000e0299894f6ed18f0c540e47351b5d09ad058b814d74064cb7184593cd892b761f50ad6b35d309282 SHA512 a4b82a2ba4f00807e999511e7549cb1e490cbef6e9b69b735e760c2d505a76e8dffc5338a7a2b2224c9a9518f2259eeb24dae340529d6004a26b7929a90a2c1f
-DIST replicant-0.7.1.tar.gz 443142 BLAKE2B b88e9e78792badc91d9b6f282694bb6c591f454eeb591e5beb5ba4191db2fa5cfe80c59651c72c415598d6bd2a5be13ff818f8e69a2eca0ac3ea164f142a42e8 SHA512 d1eaae7b36e3738a39adebf9eeca92dbf83a8075bb8fc69c4a8b291d35d3df89dbbaf8a546f97464cea3431609e19b5f8252e67c82cf8fc20bd5f3447c0761a7
-DIST replicant-0.8.0.tar.gz 444032 BLAKE2B 20c0f4bd574663730c4e3759380e8e6ebb249d01c882340583fa71863b54f01563d7cb4aa6e81d57b3e777d30999ad7cb4d244e0aabaa576d49d8971bc6df15a SHA512 6161fc9f480952aa9d2e53065a21561585db0a859f715814eeacc5ea46f1bc6caf2e9df8e5b0b4500f2e9946a36ce28d398580323f1f6074620f505e870db846
-DIST replicant-0.8.1.tar.gz 444074 BLAKE2B 0e4c87437268a86d67b0452e77bca4b4787d44deac29daa4535e851e007c5f6641f2c2cc7f650493ff89e69fa65ee8075658aa70ea0212253334d1af7a6155ae SHA512 a968b92717156656d8f3d8302cedf3405fe1efdf2be79905900f3e3ef26002ec83d4337dceb60ea493bb1607a0b0f9bcba92d766bb11463818483d64ecaaef38
diff --git a/dev-libs/replicant/metadata.xml b/dev-libs/replicant/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/replicant/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/replicant/replicant-0.6.4.ebuild b/dev-libs/replicant/replicant-0.6.4.ebuild
deleted file mode 100644
index ec4adccd11e7..000000000000
--- a/dev-libs/replicant/replicant-0.6.4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Hyperdex replicant 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.4
- >=dev-libs/libe-0.4
- >=dev-libs/busybee-0.4
- dev-libs/hyperleveldb
- dev-cpp/glog
- dev-cpp/sparsehash"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/replicant/replicant-0.7.1.ebuild b/dev-libs/replicant/replicant-0.7.1.ebuild
deleted file mode 100644
index ec4adccd11e7..000000000000
--- a/dev-libs/replicant/replicant-0.7.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Hyperdex replicant 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.4
- >=dev-libs/libe-0.4
- >=dev-libs/busybee-0.4
- dev-libs/hyperleveldb
- dev-cpp/glog
- dev-cpp/sparsehash"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/replicant/replicant-0.8.0.ebuild b/dev-libs/replicant/replicant-0.8.0.ebuild
deleted file mode 100644
index c0dafa79a4d7..000000000000
--- a/dev-libs/replicant/replicant-0.8.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Hyperdex replicant 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.8
- >=dev-libs/libe-0.11
- >=dev-libs/busybee-0.7
- dev-libs/hyperleveldb
- dev-cpp/glog
- dev-cpp/sparsehash"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/replicant/replicant-0.8.1.ebuild b/dev-libs/replicant/replicant-0.8.1.ebuild
deleted file mode 100644
index c0dafa79a4d7..000000000000
--- a/dev-libs/replicant/replicant-0.8.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Hyperdex replicant 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.8
- >=dev-libs/libe-0.11
- >=dev-libs/busybee-0.7
- dev-libs/hyperleveldb
- dev-cpp/glog
- dev-cpp/sparsehash"
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/rinutils/Manifest b/dev-libs/rinutils/Manifest
new file mode 100644
index 000000000000..2dd7c8337c8c
--- /dev/null
+++ b/dev-libs/rinutils/Manifest
@@ -0,0 +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/metadata.xml b/dev-libs/rinutils/metadata.xml
new file mode 100644
index 000000000000..cf2a183b6c71
--- /dev/null
+++ b/dev-libs/rinutils/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>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">shlomif/rinutils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/rinutils/rinutils-0.10.0.ebuild b/dev-libs/rinutils/rinutils-0.10.0.ebuild
new file mode 100644
index 000000000000..090feb7a7fd7
--- /dev/null
+++ b/dev-libs/rinutils/rinutils-0.10.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2021 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 arm64 ~riscv x86"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_APPLYING_RPATH=OFF
+ -DWITH_TEST_SUITE=OFF # tests require perl
+ )
+
+ cmake_src_configure
+}
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/files/rlog-1.4-autoconf-2.70.patch b/dev-libs/rlog/files/rlog-1.4-autoconf-2.70.patch
new file mode 100644
index 000000000000..f8e07813786d
--- /dev/null
+++ b/dev-libs/rlog/files/rlog-1.4-autoconf-2.70.patch
@@ -0,0 +1,160 @@
+--- rlog-1.4/configure.ac
++++ rlog-1.4/configure.ac
+@@ -64,15 +64,15 @@
+ ACX_PTHREAD
+
+ AC_ARG_ENABLE(printffp,
+- AS_HELP_STRING([--disable-printffp],
+- [disables printf attribute on function pointers]),
+- with_printffp=$enableval,with_printffp="test")
++ [AS_HELP_STRING([--disable-printffp],
++ [disables printf attribute on function pointers])],
++ [with_printffp=$enableval], [with_printffp="test"])
+
+-if test "x$with_printffp" = "xtest"; then
++AS_IF([test "x$with_printffp" = "xtest"], [
+
+ # check if we can use printf attribute on a function..
+ AC_MSG_CHECKING(if __printf__ attribute can apply to function pointers)
+- AC_COMPILE_IFELSE( [[
++ AC_COMPILE_IFELSE([
+ void testfunc(const char *format, ...)
+ { }
+ void (*funcProto)(const char *, ...)
+@@ -85,28 +85,28 @@
+
+ return 0;
+ }
+- ]],
++ ], [
+ with_printffp="yes",
+- with_printffp="no")
++ with_printffp="no"])
+
+ AC_MSG_RESULT($with_printffp)
+-fi
++])
+
+-if test "x$with_printffp" = "xyes"; then
++AS_IF([test "x$with_printffp" = "xyes"], [
+ HAVE_PRINTF_FP_PROTOTYPE="1"
+-else
++], [
+ HAVE_PRINTF_FP_PROTOTYPE="0"
+-fi
++])
+ AC_SUBST(HAVE_PRINTF_FP_PROTOTYPE)
+
+ AC_ARG_ENABLE(vararg,
+- AS_HELP_STRING([--disable-vararg],
+- [don't use vararg macros even if the compiler supports them]),
+- enable_vararg=$enableval)
+-if test "x$enable_vararg" != "xno"; then
++ [AS_HELP_STRING([--disable-vararg],
++ [don't use vararg macros even if the compiler supports them])],
++ [enable_vararg=$enableval])
++AS_IF([test "x$enable_vararg" != "xno"], [
+ # check if the compiler understands __VA_ARGS__
+ AC_MSG_CHECKING(if compiler has C99 variadac macro)
+-AC_COMPILE_IFELSE( [[
++AC_COMPILE_IFELSE([
+ #include <stdio.h>
+
+ #define PRINT(FMT, ...) printf( FMT, __VA_ARGS__ )
+@@ -115,7 +115,7 @@
+ {
+ PRINT("hello %s", "world");
+ return 0;
+-} ]], [C99_VARIADAC_MACROS="1"
++} ], [C99_VARIADAC_MACROS="1"
+ AC_MSG_RESULT(yes)],
+ [C99_VARIADAC_MACROS="0"
+ AC_MSG_RESULT(no)])
+@@ -123,7 +123,7 @@
+
+ # check if the compiler understands pre-c99 variadac macros
+ AC_MSG_CHECKING(if compiler has pre-C99 variadac macro)
+-AC_COMPILE_IFELSE( [[
++AC_COMPILE_IFELSE([
+ #include <stdio.h>
+
+ #define PRINT(FMT, ARGS...) printf( FMT, ##ARGS )
+@@ -132,15 +132,15 @@
+ {
+ PRINT("hello %s", "world");
+ return 0;
+-} ]], [PREC99_VARIADAC_MACROS="1"
++} ], [PREC99_VARIADAC_MACROS="1"
+ AC_MSG_RESULT(yes)],
+ [PREC99_VARIADAC_MACROS="0"
+ AC_MSG_RESULT(no)])
+-else
++], [
+ dnl vararg support disabled
+ C99_VARIADAC_MACROS=0
+ PREC99_VARIADAC_MACROS=0
+-fi # enable_vararg
++]) # enable_vararg
+
+ AC_SUBST(C99_VARIADAC_MACROS)
+ AC_SUBST(PREC99_VARIADAC_MACROS)
+@@ -148,42 +148,42 @@
+
+ # check if the computer has hardware cycle counter
+ AC_ARG_ENABLE(rdtsc,
+- AS_HELP_STRING([--enable-rdtsc],
+- [use rdtsc for benchmarking rlog in test programs]),
+- with_rdtsc=$enableval,with_rdtsc="no")
+-if test "x$with_rdtsc" = "xyes"; then
++ [AS_HELP_STRING([--enable-rdtsc],
++ [use rdtsc for benchmarking rlog in test programs])],
++ [with_rdtsc=$enableval], [with_rdtsc="no"])
++AS_IF([test "x$with_rdtsc" = "xyes"], [
+ AC_DEFINE([USE_RDTSC], [1], [Define to use RDTSC calls for benchmark test])
+-else
++], [
+ AC_DEFINE([USE_RDTSC], [0], [Define to use RDTSC calls for benchmark test])
+-fi
++])
+
+ AC_ARG_ENABLE(valgrind,
+- AS_HELP_STRING([--disable-valgrind],
+- [disables valgrind support code.]),
+- with_valgrind=$enableval, with_valgrind="yes" )
++ [AS_HELP_STRING([--disable-valgrind],
++ [disables valgrind support code.])],
++ [with_valgrind=$enableval], [with_valgrind="yes"])
+ USE_VALGRIND="0"
+-if test "x$with_valgrind" = "xyes"; then
+- AC_CHECK_HEADER([valgrind/valgrind.h],
++AS_IF([test "x$with_valgrind" = "xyes"], [
++ AC_CHECK_HEADER([valgrind/valgrind.h], [
+ AC_CHECK_DECLS([VALGRIND_PRINTF_BACKTRACE],
+- USE_VALGRIND="1",,[#include <valgrind/valgrind.h>]))
+-fi
++ [USE_VALGRIND="1"],,[#include <valgrind/valgrind.h>])])
++])
+ AC_SUBST(USE_VALGRIND)
+
+
+ # allow documentation build to be disabled manually
+ AC_ARG_ENABLE(docs,
+- AS_HELP_STRING([--disable-docs],[disable documentation build]),
+- build_docs=$enableval, build_docs="yes")
++ [AS_HELP_STRING([--disable-docs],[disable documentation build])],
++ [build_docs=$enableval], [build_docs="yes"])
+
+ # check for tools necessary to build documentation
+ AC_PATH_PROG(DOXYGEN, doxygen, [no])
+ AC_PATH_PROG(LATEX, latex, [no])
+ AC_PATH_PROG(PDFLATEX, pdflatex, [no])
+
+-AM_CONDITIONAL(BUILD_DOCS, test "x$build_docs" = "xyes" \
++AM_CONDITIONAL([BUILD_DOCS], [test "x$build_docs" = "xyes" \
+ -a "x$DOXYGEN" != "xno" \
+ -a "x$LATEX" != "xno" \
+- -a "x$PDFLATEX" != "xno" )
++ -a "x$PDFLATEX" != "xno"])
+
+ AC_CHECK_FUNCS(localtime_r)
+
diff --git a/dev-libs/rlog/metadata.xml b/dev-libs/rlog/metadata.xml
index 0aea6477ceb4..ec9f3876260d 100644
--- a/dev-libs/rlog/metadata.xml
+++ b/dev-libs/rlog/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/rlog/rlog-1.4.ebuild b/dev-libs/rlog/rlog-1.4.ebuild
index 386f5c328d21..e32a66b385df 100644
--- a/dev-libs/rlog/rlog-1.4.ebuild
+++ b/dev-libs/rlog/rlog-1.4.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=6
+EAPI=7
inherit autotools
@@ -12,11 +12,14 @@ 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
"${FILESDIR}"/${PN}-1.4-fix-build-system.patch
+ "${FILESDIR}"/${PN}-1.4-autoconf-2.70.patch
)
src_prepare() {
@@ -24,9 +27,13 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ econf $(use_enable valgrind)
+}
+
src_install() {
default
# package installs .pc files
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/rocksdb/Manifest b/dev-libs/rocksdb/Manifest
new file mode 100644
index 000000000000..0ef85aec8497
--- /dev/null
+++ b/dev-libs/rocksdb/Manifest
@@ -0,0 +1,4 @@
+DIST rocksdb-6.14.6.tar.gz 6397194 BLAKE2B 43ad8e7e9fdf0c6c75ff03370f2107899bbcef9fd34630c85408abcf208a8213f5e24ea50407bd6a719220b6c29b9ba29c121e94a5a2701f637b17ccf50b90a4 SHA512 609f407b0b2810954541ad8ebad5c754ebfde5021f24ee4b3f1544a5335252c06cbe2b282562e3d084bb9cbe8de239668fdedb2d2d726056c31cf9463db08fe7
+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.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
new file mode 100644
index 000000000000..e8708dfa4d7c
--- /dev/null
+++ b/dev-libs/rocksdb/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">
+ <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-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-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
new file mode 100644
index 000000000000..25427ae596a2
--- /dev/null
+++ b/dev-libs/rocm-comgr/Manifest
@@ -0,0 +1,6 @@
+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-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
new file mode 100644
index 000000000000..c0566e4b512e
--- /dev/null
+++ b/dev-libs/rocm-comgr/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>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>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..8002ba47f4ad
--- /dev/null
+++ b/dev-libs/rocm-device-libs/Manifest
@@ -0,0 +1,6 @@
+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/metadata.xml b/dev-libs/rocm-device-libs/metadata.xml
new file mode 100644
index 000000000000..c47f589544e4
--- /dev/null
+++ b/dev-libs/rocm-device-libs/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>candrews@gentoo.org</email>
+ <name>Craig Andrews</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">RadeonOpenCompute/ROCm-Device-Libs</remote-id>
+ </upstream>
+</pkgmetadata>
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-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
new file mode 100644
index 000000000000..a0f9ed9e02f5
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -0,0 +1,10 @@
+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.5.0-do-not-install-libopencl.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-do-not-install-libopencl.patch
new file mode 100644
index 000000000000..a74b2363c2df
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-3.5.0-do-not-install-libopencl.patch
@@ -0,0 +1,14 @@
+--- a/khronos/icd/CMakeLists.txt 2020-06-07 16:05:32.425022904 +0200
++++ b/khronos/icd/CMakeLists.txt 2020-06-07 16:06:03.273022786 +0200
+@@ -132,7 +132,7 @@
+ add_subdirectory (test)
+ endif()
+
+-install (TARGETS OpenCL
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
++#install (TARGETS OpenCL
++# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
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
new file mode 100644
index 000000000000..c815e421fb36
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/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>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>
+</pkgmetadata>
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 1049c994c5b7..adacf6e4bca1 100644
--- a/dev-libs/rocr-runtime/Manifest
+++ b/dev-libs/rocr-runtime/Manifest
@@ -1 +1,6 @@
-DIST rocr-runtime-2.0.0.tar.gz 313087 BLAKE2B 5fe5ea99728f7d7337c9e8a174a31d4ca8bdd559fad3400955ba6d86947d5bf9004094d78548cab2cb2089bfd028d0e4dfdd4d5fd7b41bed73feeebf2f33b705 SHA512 662d3d8fff8aeb17557df67207d885edc1266bb9800ec46ecab28bbd6ace7fbffb9e4092d74beb0366cacfe8873b1b257bcf2f8345d81a9b6657a7adcfc53c0c
+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-2.0.0-cmake-install-paths.patch b/dev-libs/rocr-runtime/files/rocr-runtime-2.0.0-cmake-install-paths.patch
deleted file mode 100644
index ece1571ab406..000000000000
--- a/dev-libs/rocr-runtime/files/rocr-runtime-2.0.0-cmake-install-paths.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 866c2fbcf1efa3e84e6f25bebc12dc1d4caa4e74 Mon Sep 17 00:00:00 2001
-From: Craig Andrews <candrews@integralblue.com>
-Date: Mon, 7 Jan 2019 21:06:14 -0500
-Subject: [PATCH] Correctly install the library into the system
-
-Install to standard locations in /usr/{lib,include}/lib (as opposed to /usr/hsa/{lib,include}/hsa)
-Use CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR from GNUInstallDirs instead of using "lib" and "include"
----
- src/CMakeLists.txt | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 37a9b09..e39f3d2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -53,6 +53,7 @@ project( ${CORE_RUNTIME_TARGET} )
-
- list ( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules" )
- include ( utils )
-+include ( GNUInstallDirs )
- include ( hsa_common )
-
- ## Find LibElf
-@@ -177,14 +178,12 @@ if ( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
- endif ()
-
- ## Create symlinks for packaging and install
--add_custom_target ( hsa-link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/include/hsa hsa-link )
--add_custom_target ( ${CORE_RUNTIME_TARGET}.so-link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink ../hsa/lib/${CORE_RUNTIME_LIBRARY}.so ${CORE_RUNTIME_LIBRARY}.so-link )
-+add_custom_target ( ${CORE_RUNTIME_TARGET}.so-link ALL WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E create_symlink hsa/${CORE_RUNTIME_LIBRARY}.so ${CORE_RUNTIME_LIBRARY}.so-link )
-
- ## Set install information
--install ( TARGETS ${CORE_RUNTIME_TARGET} LIBRARY DESTINATION hsa/lib )
--install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION hsa/include/hsa )
--install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/hsa-link DESTINATION include PERMISSIONS OWNER_WRITE OWNER_READ RENAME hsa )
--install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}.so-link DESTINATION lib PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so )
-+install ( TARGETS ${CORE_RUNTIME_TARGET} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/hsa )
-+install ( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/inc/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hsa )
-+install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CORE_RUNTIME_LIBRARY}.so-link DESTINATION ${CMAKE_INSTALL_LIBDIR} PERMISSIONS OWNER_WRITE OWNER_READ RENAME ${CORE_RUNTIME_LIBRARY}.so )
-
- ## Packaging directives
- set ( CPACK_PACKAGE_NAME "hsa-rocr-dev" )
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/metadata.xml b/dev-libs/rocr-runtime/metadata.xml
index d53b83185ad3..0e418bcc9837 100644
--- a/dev-libs/rocr-runtime/metadata.xml
+++ b/dev-libs/rocr-runtime/metadata.xml
@@ -1,18 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>gentoo@holzke.net</email>
<name>Wilfried Holzke</name>
</maintainer>
<upstream>
<remote-id type="github">RadeonOpenCompute/ROCR-Runtime</remote-id>
</upstream>
- <longdescription lang="en">
- Radeon Open Compute Platform Runtime
- </longdescription>
</pkgmetadata>
diff --git a/dev-libs/rocr-runtime/rocr-runtime-2.0.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-2.0.0.ebuild
deleted file mode 100644
index d75707a03ba0..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-2.0.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/roc-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCR-Runtime-roc-${PV}/src"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCR-Runtime"
-PATCHES=(
- "${FILESDIR}/${P}-cmake-install-paths.patch"
-)
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl"
-DEPEND="${RDEPEND}
- dev-libs/roct-thunk-interface"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- cmake-utils_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/roct-thunk-interface/Manifest b/dev-libs/roct-thunk-interface/Manifest
index 5a78b9fd36af..5d6ef732ff39 100644
--- a/dev-libs/roct-thunk-interface/Manifest
+++ b/dev-libs/roct-thunk-interface/Manifest
@@ -1 +1,6 @@
-DIST roct-thunk-interface-2.0.0.tar.gz 1958218 BLAKE2B c1ba89cac9a18964e040e6b1e57a464216e7086c400e3360cfca6f376ac90b0b1afbb3a2a4d995581d1829ca57afe62bf6f2ac59cc103a48d384a8e52b1457d0 SHA512 7d2e35df2bec201bcc977328d7d36b921f76b57a0c54fc2332eb1faf3a722b6a3a1e3b1658e93b216ed68b965426c463a2dbf52a22af64ce1dcc9fad0f27ca9c
+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-2.0.0-correctly-install.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-2.0.0-correctly-install.patch
deleted file mode 100644
index 8248c5f4b367..000000000000
--- a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-2.0.0-correctly-install.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/pull/25
-From c60501d7e69db24f5d880aace73662384ea90b27 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Fri, 7 Sep 2018 10:30:05 +0200
-Subject: [PATCH 1/7] cmake: Do not mess with CMAKE_C_FLAGS
-
----
- CMakeLists.txt | 11 +++--------
- 1 file changed, 3 insertions(+), 8 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cb2605b..8a0f362 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -59,15 +59,9 @@ set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUIL
- #set ( CMAKE_VERBOSE_MAKEFILE on )
-
- ## Compiler flags
--set ( CMAKE_C_FLAGS "-fPIC -W -Wall -Wextra -Wno-unused-parameter -Wformat-security -Wswitch-default -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wlogical-op -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wunreachable-code -std=gnu99 -fvisibility=hidden" )
-+set (HSAKMT_C_FLAGS -fPIC -W -Wall -Wextra -Wno-unused-parameter -Wformat-security -Wswitch-default -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wlogical-op -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wunreachable-code -std=gnu99 -fvisibility=hidden)
- if ( "${CMAKE_C_COMPILER_VERSION}" STRGREATER "4.8.0")
-- set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror" )
--endif ()
--
--if ( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
-- set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2" )
--else ()
-- set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g" )
-+ set (HSAKMT_C_FLAGS ${HSAKMT_C_FLAGS} -Werror)
- endif ()
-
- set ( HSAKMT_LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/src/libhsakmt.ver" )
-@@ -96,6 +90,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/src )
-
- ## Add the library
- add_library ( ${HSAKMT_TARGET} SHARED ${HSAKMT_SRC} )
-+target_compile_options(${HSAKMT_TARGET} PRIVATE ${HSAKMT_C_FLAGS})
-
- ## Set the VERSION and SOVERSION values
- set_property ( TARGET ${HSAKMT_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" )
-
-From d37b3e2e634a40192c113d9a8256f3d2aa24acfa Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Fri, 7 Sep 2018 10:31:59 +0200
-Subject: [PATCH 2/7] cmake: Do not mess with CMAKE_SHARED_LINKER_FLAGS
-
----
- CMakeLists.txt | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8a0f362..a2a36cd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -67,7 +67,7 @@ endif ()
- set ( HSAKMT_LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/src/libhsakmt.ver" )
-
- ## Linker Flags
--set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--version-script=${HSAKMT_LINKER_SCRIPT} -Wl,-soname=${HSAKMT_COMPONENT}.so.$(PROJECT_VERSION_MAJOR) -Wl,-z,nodelete -Wl,-no-undefined" )
-+set (HSAKMT_LINK_FLAGS "-Wl,--version-script=${HSAKMT_LINKER_SCRIPT} -Wl,-soname=${HSAKMT_COMPONENT}.so.$(PROJECT_VERSION_MAJOR) -Wl,-z,nodelete -Wl,-no-undefined" )
-
- ## Source files
- set ( HSAKMT_SRC "src/debug.c"
-@@ -91,6 +91,7 @@ include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/src )
- ## Add the library
- add_library ( ${HSAKMT_TARGET} SHARED ${HSAKMT_SRC} )
- target_compile_options(${HSAKMT_TARGET} PRIVATE ${HSAKMT_C_FLAGS})
-+set_property(TARGET ${HSAKMT_TARGET} PROPERTY LINK_FLAGS ${HSAKMT_LINK_FLAGS})
-
- ## Set the VERSION and SOVERSION values
- set_property ( TARGET ${HSAKMT_TARGET} PROPERTY VERSION "${LIB_VERSION_STRING}" )
-
-From 7f9ad94a9932319930f96d49a78fa9e741cd7292 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Fri, 7 Sep 2018 10:41:04 +0200
-Subject: [PATCH 3/7] cmake: Use GNUInstallDirs for installtion
-
-This will allow distributions to install it correctly.
----
- CMakeLists.txt | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a2a36cd..58076fa 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -111,8 +111,9 @@ endif ()
-
- ## Define default variable and variables for the optional build target hsakmt-dev
- set ( SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of hsakmt source code." )
--set ( CMAKE_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default installation directory." )
--set ( CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default packaging prefix." )
-+set ( HSAKMT_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default installation directory." )
-+set ( HSAKMT_INSTALL_LIBDIR "hsakmt/lib" CACHE STRING "Default installation directory." )
-+set ( HSAKMT_PACKAGING_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default packaging prefix." )
- set ( CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators." )
-
- ## Specify build, install and package targets hsakmt-dev
-@@ -121,9 +122,12 @@ configure_file ( hsakmt-dev.txt ${DEV_BUILD_DIR}/CMakeLists.txt @ONLY )
- add_custom_target ( build-dev
- COMMAND ${CMAKE_COMMAND}
- -DSOURCE_DIR="${SOURCE_DIR}"
-- -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}"
-+ -DCMAKE_INSTALL_PREFIX="${HSAKMT_INSTALL_PREFIX}"
-+ -DCMAKE_INSTALL_LIBDIR="${HSAKMT_INSTALL_LIBDIR}"
- -DCPACK_RPM_PACKAGE_REQUIRES="hsakmt-roct"
-- -DCPACK_PACKAGING_INSTALL_PREFIX="${CPACK_PACKAGING_INSTALL_PREFIX}"
-+ -DCPACK_PACKAGING_INSTALL_PREFIX="${HSAKMT_PACKAGING_INSTALL_PREFIX}"
-+ COMMAND rm -rf *.deb *.rpm *.tar.gz
-+ COMMAND make package
- WORKING_DIRECTORY ${DEV_BUILD_DIR} )
-
- ## Custom targets for the devel package
-@@ -135,7 +139,6 @@ add_custom_target ( package-dev DEPENDS build-dev
-
- ## Add the install directives for the runtime library.
- install ( TARGETS ${HSAKMT_TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR} )
--install ( FILES ${SOURCE_DIR}/LICENSE.md DESTINATION libhsakmt )
-
- ## Add the packaging directives for the runtime library.
- set ( CPACK_PACKAGE_NAME ${HSAKMT_PACKAGE} )
-
-From d3f841cf2c504c7af9735d27d4f4b9784754708d Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Fri, 7 Sep 2018 11:10:52 +0200
-Subject: [PATCH 4/7] cmake: Install header files
-
----
- CMakeLists.txt | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 58076fa..81ec134 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -140,6 +140,14 @@ add_custom_target ( package-dev DEPENDS build-dev
- ## Add the install directives for the runtime library.
- install ( TARGETS ${HSAKMT_TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR} )
-
-+install(FILES
-+ include/hsakmt.h
-+ include/hsakmttypes.h
-+ DESTINATION
-+ ${CMAKE_INSTALL_INCLUDEDIR}/libhsakmt
-+ COMPONENT
-+ ${HSAKMT_COMPONENT}-header)
-+
- ## Add the packaging directives for the runtime library.
- set ( CPACK_PACKAGE_NAME ${HSAKMT_PACKAGE} )
- set ( CPACK_PACKAGE_VENDOR "AMD" )
-
-From 66e43bab21ee2a8ba1eed59e6a5052eb2f0fc1b8 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Fri, 7 Sep 2018 10:43:26 +0200
-Subject: [PATCH 5/7] cmake: Install the pkgconfig file
-
----
- CMakeLists.txt | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 81ec134..5482e02 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -169,5 +169,11 @@ set ( CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_
-
- # CPACK_PACKAGING_INSTALL_PREFIX is needed in libhsakmt.pc.in
- configure_file ( libhsakmt.pc.in ${DEV_BUILD_DIR}/libhsakmt.pc @ONLY )
-+install(FILES
-+ ${DEV_BUILD_DIR}/libhsakmt.pc
-+ DESTINATION
-+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig
-+ COMPONENT
-+ ${HSAKMT_COMPONENT}-pkgconfig)
-
- include ( CPack )
-
-From 5f1ed605a484e30c51954817b6d8712ab4c6046e Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Tue, 25 Sep 2018 18:47:57 +0200
-Subject: [PATCH 6/7] cmake: Do not strip targets in the release build
-
-Distributions want to generate debuginfo packages, do not strip them! If
-you want to do it during installation use 'make install/strip'!
----
- CMakeLists.txt | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5482e02..f8f58cd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -104,11 +104,6 @@ target_link_libraries ( ${HSAKMT_TARGET}
- pthread rt numa ${PC_LIBPCI_LIBRARIES}
- )
-
--## If the library is a release, strip the target library
--if ( "${CMAKE_BUILD_TYPE}" STREQUAL Release )
-- add_custom_command ( TARGET ${HSAKMT_TARGET} POST_BUILD COMMAND ${CMAKE_STRIP} ${HSAKMT_COMPONENT}.so )
--endif ()
--
- ## Define default variable and variables for the optional build target hsakmt-dev
- set ( SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of hsakmt source code." )
- set ( HSAKMT_INSTALL_PREFIX "/opt/rocm" CACHE STRING "Default installation directory." )
-
-From 86b29b265c1a91d2bc931453e4edac66a6d9da0d Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@cryptomilk.org>
-Date: Tue, 25 Sep 2018 19:16:43 +0200
-Subject: [PATCH 7/7] cmake: Create cmake config file
-
-Another cmake project like hsa-runtime could just use:
-
-find_package(hsakmt REQUIRED 1.9.0)
----
- CMakeLists.txt | 31 ++++++++++++++++++++++++++++++-
- hsakmt-config.cmake.in | 9 +++++++++
- 2 files changed, 39 insertions(+), 1 deletion(-)
- create mode 100644 hsakmt-config.cmake.in
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f8f58cd..6e5a0fe 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -30,7 +30,7 @@ set ( HSAKMT_PACKAGE "hsakmt-roct" )
- set ( HSAKMT_COMPONENT "lib${HSAKMT}" )
- set ( HSAKMT_TARGET "${HSAKMT}" )
-
--project ( ${HSAKMT_TARGET} )
-+project ( ${HSAKMT_TARGET} VERSION 1.9.0)
-
- ## Set default module path if not already set
- if ( NOT DEFINED CMAKE_MODULE_PATH )
-@@ -44,6 +44,8 @@ include ( GNUInstallDirs )
- ## Setup the package version.
- get_version ( "1.0.0" )
-
-+# FIXME: The library version should not be tied to the project version!
-+# There are rules how to bump version numbers for libraries.
- set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} )
- set ( BUILD_VERSION_MINOR ${VERSION_MINOR} )
- set ( BUILD_VERSION_PATCH ${VERSION_PATCH} )
-@@ -171,4 +173,31 @@ install(FILES
- COMPONENT
- ${HSAKMT_COMPONENT}-pkgconfig)
-
-+# Create cmake configuration files
-+include(CMakePackageConfigHelpers)
-+
-+set(HSAKMT_LIBRARY_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${PROJECT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX})
-+
-+set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} CACHE INTERNAL "")
-+set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR} CACHE INTERNAL "")
-+
-+configure_package_config_file(${PROJECT_NAME}-config.cmake.in
-+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
-+ PATH_VARS
-+ INCLUDE_INSTALL_DIR LIB_INSTALL_DIR
-+ INSTALL_DESTINATION
-+ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
-+
-+write_basic_package_version_file(${PROJECT_NAME}-config-version.cmake
-+ COMPATIBILITY
-+ AnyNewerVersion)
-+
-+install(FILES
-+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
-+ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
-+ DESTINATION
-+ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
-+ COMPONENT
-+ devel)
-+
- include ( CPack )
-diff --git a/hsakmt-config.cmake.in b/hsakmt-config.cmake.in
-new file mode 100644
-index 0000000..e6bad17
---- /dev/null
-+++ b/hsakmt-config.cmake.in
-@@ -0,0 +1,9 @@
-+@PACKAGE_INIT@
-+
-+set_and_check(HSAKMT_INCLUDE_DIR @PACKAGE_LIB_INSTALL_DIR@)
-+set_and_check(HSAKMT_LIB_DIR @PACKAGE_LIB_INSTALL_DIR@)
-+
-+set(HSAKMT_LIBRARY @PACKAGE_LIB_INSTALL_DIR@/@HSAKMT_LIBRARY_NAME@)
-+set(HSAKMT_LIBRARIES @PACKAGE_LIB_INSTALL_DIR@/@HSAKMT_LIBRARY_NAME@)
-+
-+mark_as_advanced(HSAKMT_LIBRARY HSAKMT_INCLUDE_DIR)
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/metadata.xml b/dev-libs/roct-thunk-interface/metadata.xml
index 9dd431e1fbf5..9af2c0cba14b 100644
--- a/dev-libs/roct-thunk-interface/metadata.xml
+++ b/dev-libs/roct-thunk-interface/metadata.xml
@@ -1,22 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>gentoo@holzke.net</email>
<name>Wilfried Holzke</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">RadeonOpenCompute/ROCT-Thunk-Interface</remote-id>
</upstream>
- <longdescription lang="en">
- Radeon Open Compute Thunk Interface
- </longdescription>
</pkgmetadata>
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-2.0.0.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-2.0.0.ebuild
deleted file mode 100644
index ba407458247a..000000000000
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-2.0.0.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 cmake-utils 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/roc-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCT-Thunk-Interface-roc-${PV}"
- KEYWORDS="~amd64"
-fi
-PATCHES=(
- "${FILESDIR}/${P}-correctly-install.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Thunk Interface"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
-CONFIG_CHECK="~HSA_AMD"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl
- sys-apps/pciutils"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- cmake-utils_src_prepare
-}
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/rote/Manifest b/dev-libs/rote/Manifest
deleted file mode 100644
index dde8054e1564..000000000000
--- a/dev-libs/rote/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rote-0.2.8.tar.gz 61440 BLAKE2B f6626d38c6203f535308d38888c7998b2ba1a9016fabf13bd3b7a6bc59c3d4f4ac344bab6f089df07cba7702d6cdd4ab2d94a1d7902adce623353fade7154a6d SHA512 699d45fb188de51a7059cc94febf69ff8a7c15cc5dc2dcbc81cba76e531ec415b242ee856e03ce1c9ca6f7f6ae6a73bece299088a4bd41e8f9e846de206727ab
diff --git a/dev-libs/rote/metadata.xml b/dev-libs/rote/metadata.xml
deleted file mode 100644
index 4d070fe11b62..000000000000
--- a/dev-libs/rote/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">rote</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/rote/rote-0.2.8.ebuild b/dev-libs/rote/rote-0.2.8.ebuild
deleted file mode 100644
index 5b6dffe26696..000000000000
--- a/dev-libs/rote/rote-0.2.8.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="simple C library for VT102 terminal emulation"
-HOMEPAGE="http://rote.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="sys-libs/ncurses"
-DEPEND="${RDEPEND}"
diff --git a/dev-libs/rremove/metadata.xml b/dev-libs/rremove/metadata.xml
index 78e64a5cf1ad..85e4ed814fa2 100644
--- a/dev-libs/rremove/metadata.xml
+++ b/dev-libs/rremove/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>radhermit@gentoo.org</email>
- <name>Tim Harder</name>
- </maintainer>
+<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/rremove/rremove-1.0.5.ebuild b/dev-libs/rremove/rremove-1.0.5.ebuild
index d2f3c32d9e53..ff834f43a16e 100644
--- a/dev-libs/rremove/rremove-1.0.5.ebuild
+++ b/dev-libs/rremove/rremove-1.0.5.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="4"
-
-inherit autotools-utils
+EAPI=7
DESCRIPTION="A simple library to recursively delete non-empty directories"
HOMEPAGE="https://frigidcode.com/code/rremove/"
@@ -13,3 +11,12 @@ LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="static-libs"
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/dev-libs/s2n/Manifest b/dev-libs/s2n/Manifest
new file mode 100644
index 000000000000..53a015784dda
--- /dev/null
+++ b/dev-libs/s2n/Manifest
@@ -0,0 +1 @@
+DIST s2n-1.0.0.tar.gz 6211951 BLAKE2B 3714f26ab0dbd53b878c73e0ae0abf9e8a4b85b16a62dd44a3e6264fba1afdfdd7bbffc3b38b494c5cc805b8a9dfe02009d109e308ff13b4752a56594299f374 SHA512 ab5ccc3e73e7f395ef86a5e637b9c2d18110c14b2913990d12e02286f6562497f7e9d45912e9076216e5f595d7932d58a31642e344a5e472259386983ad44bac
diff --git a/dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch b/dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch
new file mode 100644
index 000000000000..d0eadc7a8bd3
--- /dev/null
+++ b/dev-libs/s2n/files/s2n-0.10.21-remove_Werror.patch
@@ -0,0 +1,22 @@
+--- a/CMakeLists.txt 2020-12-14 17:24:27.577239622 +0100
++++ b/CMakeLists.txt 2020-12-14 17:24:50.036240917 +0100
+@@ -193,7 +193,7 @@
+
+ set(CMAKE_C_FLAGS_DEBUGOPT "")
+
+-target_compile_options(${PROJECT_NAME} PRIVATE -pedantic -std=gnu99 -Wall -Werror -Wimplicit -Wunused -Wcomment -Wchar-subscripts
++target_compile_options(${PROJECT_NAME} PRIVATE -pedantic -std=gnu99 -Wall -Wimplicit -Wunused -Wcomment -Wchar-subscripts
+ -Wuninitialized -Wshadow -Wcast-qual -Wcast-align -Wwrite-strings -Wno-deprecated-declarations -Wno-unknown-pragmas -Wformat-security
+ -Wno-missing-braces -fvisibility=hidden -DS2N_EXPORTS)
+
+--- a/s2n.mk 2020-12-14 17:24:35.546240082 +0100
++++ b/s2n.mk 2020-12-14 17:25:05.604241814 +0100
+@@ -42,7 +42,7 @@
+ DEFAULT_CFLAGS = -std=c99 -Wcast-qual
+ endif
+
+-DEFAULT_CFLAGS += -pedantic -Wall -Werror -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized \
++DEFAULT_CFLAGS += -pedantic -Wall -Wimplicit -Wunused -Wcomment -Wchar-subscripts -Wuninitialized \
+ -Wshadow -Wcast-align -Wwrite-strings -fPIC -Wno-missing-braces\
+ -D_POSIX_C_SOURCE=200809L -O2 -I$(LIBCRYPTO_ROOT)/include/ \
+ -I$(S2N_ROOT)/api/ -I$(S2N_ROOT) -Wno-deprecated-declarations -Wno-unknown-pragmas -Wformat-security \
diff --git a/dev-libs/s2n/metadata.xml b/dev-libs/s2n/metadata.xml
new file mode 100644
index 000000000000..2d66499958c7
--- /dev/null
+++ b/dev-libs/s2n/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <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>
+ <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.
+
+The s2n I/O APIs are designed to be intuitive to developers familiar with the widely-used POSIX I/O APIs, and s2n
+supports blocking, non-blocking, and full-duplex I/O. Additionally there are no locks or mutexes within s2n.
+
+s2n implements SSLv3, TLS1.0, TLS1.1, and TLS1.2. For encryption, s2n supports 128-bit and 256-bit AES, in the CBC and
+GCM modes, ChaCha20, 3DES, and RC4. For forward secrecy, s2n supports both DHE and ECDHE. s2n also supports the Server
+Name Indicator (SNI), Application-Layer Protocol Negotiation (ALPN) and the Online Certificate Status Protocol (OCSP)
+TLS extensions. SSLv3, RC4, 3DES and DHE are each disabled by default for security reasons.
+
+As it can be difficult to keep track of which encryption algorithms and protocols are best to use, s2n features a
+simple API to use the latest "default" set of preferences. If you prefer to remain on a specific version for backwards
+compatibility, that is also supported.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-libs/s2n/s2n-1.0.0.ebuild b/dev-libs/s2n/s2n-1.0.0.ebuild
new file mode 100644
index 000000000000..c73e73d36674
--- /dev/null
+++ b/dev-libs/s2n/s2n-1.0.0.ebuild
@@ -0,0 +1,55 @@
+# 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}"/${PN}-0.10.21-remove_Werror.patch
+)
+
+S="${WORKDIR}/${PN}-tls-${PV}"
+
+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/sikep434r2_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 || die
+ 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 84736d4b19e7..000000000000
--- a/dev-libs/satyr/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST satyr-0.26.tar.gz 434820 BLAKE2B 4463c69e6ac2eb8237f599bfeed308265a906c6e3efa154b14eb6ee7acdc65580da9baf5ecb99e4efa4f8c00f7656ff2a747e607f2293b12a513ed680986fe08 SHA512 45dfc42e05e93fa0417c8c5d6811097cabaa0f4dcfb79df13d3840d789cfd41c84382ae84882ca120b1a3120987123a306656324cf39f306046a5d30547db656
-DIST satyr-0.27.tar.gz 435341 BLAKE2B ade40bc6a1c48e6fc0af7913ff94ed044c63fdb63b8d86ba010bebcfd2098831bc6c7361d116851aee88f49c640d1457dd8953becad60b6ff6dc32deec6c7942 SHA512 7b01cf16489644fbfbe2150477279a94c6fa9b3310edebc84b83bab58d1058df0be478ab6bf4c6910b4168122721dde10d573711abb983b0eb5ccda09cb80710
diff --git a/dev-libs/satyr/metadata.xml b/dev-libs/satyr/metadata.xml
deleted file mode 100644
index 39980802b1da..000000000000
--- a/dev-libs/satyr/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/satyr/satyr-0.26.ebuild b/dev-libs/satyr/satyr-0.26.ebuild
deleted file mode 100644
index 064dde807ba2..000000000000
--- a/dev-libs/satyr/satyr-0.26.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{5,6} )
-
-inherit autotools python-r1 toolchain-funcs
-
-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/3"
-
-IUSE="python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-KEYWORDS="amd64 x86"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )
- >=dev-libs/elfutils-0.158
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- ./gen-version || die # Needs to be run before full autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-rpm
- # Build breaks without and we aren't supporting Python2 anyway
- --without-python2
- $(usex python "--with-python3" "--without-python3")
- )
-
- econf "${myargs[@]}"
-}
diff --git a/dev-libs/satyr/satyr-0.27.ebuild b/dev-libs/satyr/satyr-0.27.ebuild
deleted file mode 100644
index 0a2c9047857c..000000000000
--- a/dev-libs/satyr/satyr-0.27.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{5,6} )
-
-inherit autotools python-r1 toolchain-funcs
-
-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/3"
-
-IUSE="python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="python? ( ${PYTHON_DEPS} )
- >=dev-libs/elfutils-0.158
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- ./gen-version || die # Needs to be run before full autoreconf
- eautoreconf
- use python && python_copy_sources
-}
-
-src_configure() {
- local myargs=(
- --localstatedir="${EPREFIX}/var"
- --without-rpm
- # Build breaks without and we aren't supporting Python2 anyway
- --without-python2
- $(usex python "--with-python3" "--without-python3")
- )
-
- econf "${myargs[@]}"
-}
diff --git a/dev-libs/sblim-sfcc/Manifest b/dev-libs/sblim-sfcc/Manifest
deleted file mode 100644
index 93fa0b6fa441..000000000000
--- a/dev-libs/sblim-sfcc/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sblim-sfcc-2.2.8.tar.bz2 376918 BLAKE2B 867d7643a9f11cf546e39e839ef5a8d3addc8902dd024f741561b0e22016a11e009779c8f50b7228e7ab21b8b697bd8f767b08a08f61727a07ee37c465c0d223 SHA512 b5eb7712aed1e40f19993ba5f5ee2f1f48c01246d28e9f4d89cee53000801ce4fe7c862a82163a55774c71094223b32bf8981a883ad04e820f9c749e746f52fa
diff --git a/dev-libs/sblim-sfcc/metadata.xml b/dev-libs/sblim-sfcc/metadata.xml
deleted file mode 100644
index f4d0157135c5..000000000000
--- a/dev-libs/sblim-sfcc/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">sblim</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/sblim-sfcc/sblim-sfcc-2.2.8.ebuild b/dev-libs/sblim-sfcc/sblim-sfcc-2.2.8.ebuild
deleted file mode 100644
index b128ee38f4b3..000000000000
--- a/dev-libs/sblim-sfcc/sblim-sfcc-2.2.8.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Small Footprint CIM Client Library"
-HOMEPAGE="https://sourceforge.net/apps/mediawiki/sblim"
-SRC_URI="mirror://sourceforge/project/sblim/${PN}/${P}.tar.bz2"
-
-LICENSE="EPL-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- net-misc/curl[ssl]
-"
-RDEPEND="${DEPEND}"
-
-DOCS=()
-
-src_configure() {
- local myconf=(
- --enable-http-chunking
- --disable-static
- )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/sdformat/Manifest b/dev-libs/sdformat/Manifest
index 200d1a0dfb0f..71aaabc4de25 100644
--- a/dev-libs/sdformat/Manifest
+++ b/dev-libs/sdformat/Manifest
@@ -1,3 +1 @@
-DIST sdformat-6.0.0.tar.bz2 473765 BLAKE2B af3ed14323c2bed8ee5a22580dcb6d73a5e5c772f39ad7f806bf2cdb88d6f2c885585f36a666f2ec711dbd7ad6051ba69d79d2a9f0af7ad3b3681543b9feafe7 SHA512 2188de97cb1eb1117a694d54a0a42112bd7e5b5a4b00c04e049de73a10947904940565e36df93ca08ea5910e628983e234d07c57694c463e0794c48e20cedb21
-DIST sdformat-6.1.0.tar.bz2 465231 BLAKE2B 5b12c4974662245ecb01e342632e274b58512dd2c223dfbf8e1ef9bb2ba267f16bc130b62367b09a9cac9e2ccbd2829439d055f2fa062f34df9f4a6ceb1a571e SHA512 6c5a03e877cba3b734f1cb132582274249bd0cb3a8d463be9077519d8ad126bb15650947b5455b3cdd1abea727918b21369b40a12de4fc5d6806880fd8686b97
-DIST sdformat-6.2.0.tar.bz2 466373 BLAKE2B 67bbe429cbd9871493c29379563f0704b8a050eb8e80645d92a6dea47321e0853bfd4b8442893792a47d743d7b701add21b45fcb7dfd21b2747d43f3f4d19f68 SHA512 e81f0f73e628155ef929c6d7930611f02009a8a217a043e127506c1310ae892b846a8080906feb0932108e9cfa280f473573a5af5096b55b66619b2ac794b0d5
+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/metadata.xml b/dev-libs/sdformat/metadata.xml
index 6ca4a599be8f..f06b5fca3cdf 100644
--- a/dev-libs/sdformat/metadata.xml
+++ b/dev-libs/sdformat/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>aballier@gentoo.org</email>
diff --git a/dev-libs/sdformat/sdformat-6.0.0.ebuild b/dev-libs/sdformat/sdformat-6.0.0.ebuild
deleted file mode 100644
index 559a61abd081..000000000000
--- a/dev-libs/sdformat/sdformat-6.0.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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/6"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/urdfdom-1:=
- dev-libs/tinyxml
- dev-libs/boost:=
- sci-libs/ignition-math:4=
-"
-DEPEND="${RDEPEND}
- 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-6.1.0.ebuild b/dev-libs/sdformat/sdformat-6.1.0.ebuild
deleted file mode 100644
index bc8209246277..000000000000
--- a/dev-libs/sdformat/sdformat-6.1.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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/6"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/urdfdom-1:=
- dev-libs/tinyxml
- dev-libs/boost:=
- sci-libs/ignition-math:4=
-"
-DEPEND="${RDEPEND}
- 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-6.2.0.ebuild b/dev-libs/sdformat/sdformat-6.2.0.ebuild
deleted file mode 100644
index 490e31f59dbe..000000000000
--- a/dev-libs/sdformat/sdformat-6.2.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-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/6"
-KEYWORDS="~amd64"
-IUSE=""
-
-RDEPEND="
- >=dev-libs/urdfdom-1:=
- dev-libs/tinyxml
- dev-libs/boost:=
- sci-libs/ignition-math:4=
-"
-DEPEND="${RDEPEND}
- 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.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/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 33f4fe7af865..1b427f83ba8d 100644
--- a/dev-libs/serd/Manifest
+++ b/dev-libs/serd/Manifest
@@ -1 +1 @@
-DIST serd-0.28.0.tar.bz2 371592 BLAKE2B 143e858b5947cd52d01341ec7ff5fb36f98aefceda4e748b2a999c2e6d2c972b2f5d30053d8538f04f236597da93a595d0fabbfa4c667397e27d4c897458d1ee SHA512 b25cc70af17ff821812ab2a70c2812c1713ff811a0f18fb5d5c54f3b67e0c68293aabedfacd687afe6b7acdfd81602ef81764d7e11bc0d933de738bc6d4fce3e
+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 f4ea17c07886..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.28.0-r1.ebuild b/dev-libs/serd/serd-0.28.0-r1.ebuild
deleted file mode 100644
index f5bafa5d5d97..000000000000
--- a/dev-libs/serd/serd-0.28.0-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-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 x86"
-IUSE="doc static-libs test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- doc? ( app-doc/doxygen )"
-
-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/Manifest b/dev-libs/serdisplib/Manifest
index 569cc795a748..c8675d217d27 100644
--- a/dev-libs/serdisplib/Manifest
+++ b/dev-libs/serdisplib/Manifest
@@ -1,2 +1 @@
-DIST serdisplib-1.97.9.tar.gz 293190 BLAKE2B f11406acaedb724d51266510d10f5cbae7e3bf1a69e3378ed8a0f8c4551336e3d662eb104ccc938f72821aec3406e1eed27754c990e17940d8dbe7dd8c5d6805 SHA512 ab45202fd1fd85b12f1ebf7a7e1a4575ad363f6faffd45949300840456e26dd521c70b67ff57c32e1ff6c0a9f2668b3be6a653afb57ba6da701fbae6e8db3118
-DIST serdisplib-2.01.tar.gz 472998 BLAKE2B 7ee78703d1d2cb4172e44db443825dd0fb3080284e832c60a102b853a1df6e0812a30a40504b8eb3e5ecda83f57138d78b43c3c40b8e4efabb7071eff7ad1b3e SHA512 0474cce4353edb3640d8432272905859e90efe6140e6791c84e1cb51df7f533734a9c78447d8d8448a70e62dda6d65061bbcc515ee346354825029874ae5e9a9
+DIST serdisplib-2.02.tar.gz 497028 BLAKE2B f35b6df60303a288b2a279d821a510089802019f33b7ee36b9c2fd1d1d6bef0b3118793e6d965076c1665e1e2555a553186ef1a9210712ef9d2bc1e090ec0a98 SHA512 d9936c25dc14e24eb02876f203476752340e621d8ee5c87ee99862575e45199bf46ff8487dfdd80b16a89543958fdf5a16a2aaf78d5cade06811cfb1592c45eb
diff --git a/dev-libs/serdisplib/files/disable-static-build.patch b/dev-libs/serdisplib/files/serdisplib-2.02-disable-static-build.patch
index 6364650a8207..6364650a8207 100644
--- a/dev-libs/serdisplib/files/disable-static-build.patch
+++ b/dev-libs/serdisplib/files/serdisplib-2.02-disable-static-build.patch
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/files/use-destdir.patch b/dev-libs/serdisplib/files/serdisplib-2.02-use-destdir.patch
index 786d475cdd0f..786d475cdd0f 100644
--- a/dev-libs/serdisplib/files/use-destdir.patch
+++ b/dev-libs/serdisplib/files/serdisplib-2.02-use-destdir.patch
diff --git a/dev-libs/serdisplib/metadata.xml b/dev-libs/serdisplib/metadata.xml
index 74d9cf8a6041..bb87f6a549fd 100644
--- a/dev-libs/serdisplib/metadata.xml
+++ b/dev-libs/serdisplib/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<upstream>
<bugs-to>https://sourceforge.net/p/serdisplib/bugs/</bugs-to>
<remote-id type="sourceforge">serdisplib</remote-id>
diff --git a/dev-libs/serdisplib/serdisplib-1.97.9.ebuild b/dev-libs/serdisplib/serdisplib-1.97.9.ebuild
deleted file mode 100644
index 0493b000dff1..000000000000
--- a/dev-libs/serdisplib/serdisplib-1.97.9.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-inherit eutils
-
-DESCRIPTION="Library to drive serial/parallel/usb displays with built-in controllers"
-HOMEPAGE="http://serdisplib.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE="sdl usb"
-
-DEPEND="media-libs/gd[jpeg,png]
- sdl? ( media-libs/libsdl )
- usb? ( virtual/libusb:0 )"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf \
- --prefix="${D}/usr" \
- $(use_enable sdl libSDL) \
- $(use_enable usb libusb)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS HISTORY README BUGS PINOUTS
-}
diff --git a/dev-libs/serdisplib/serdisplib-2.01.ebuild b/dev-libs/serdisplib/serdisplib-2.01.ebuild
deleted file mode 100644
index 85de825917ea..000000000000
--- a/dev-libs/serdisplib/serdisplib-2.01.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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 ~x86"
-IUSE="threads tools"
-
-# Define the list of valid lcd devices.
-IUSE_LCD_DEVICES=( acoolsdcm ddusbt directgfx displaylink framebuffer glcd2usb
- goldelox i2c ks0108 l4m lc7981 lh155 nokcol pcd8544
- remote rs232 sed133x sed153x sed156x ssdoled stv8105 t6963 )
-
-# Add supported drivers from 'IUSE_LCD_DEVICES' to 'IUSE' and 'REQUIRED_USE'
-IUSE+=" $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) "
-REQUIRED_USE+="|| ( $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) ) "
-
-# 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_glcd2usb? ( virtual/libusb:1= )"
-
-DEPEND="${RDEPEND}"
-
-DOCS=( "AUTHORS" "BUGS" "DOCS" "HISTORY" "PINOUTS" "README" "TODO" )
-
-PATCHES=( "${FILESDIR}/use-destdir.patch" "${FILESDIR}/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_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 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..bfa265f1922f
--- /dev/null
+++ b/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 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="https://downloads.sourceforge.net/${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/files/shhopt-1.1.7-build.patch b/dev-libs/shhopt/files/shhopt-1.1.7-build.patch
index 3405511e2238..954011994bc9 100644
--- a/dev-libs/shhopt/files/shhopt-1.1.7-build.patch
+++ b/dev-libs/shhopt/files/shhopt-1.1.7-build.patch
@@ -1,12 +1,12 @@
--- a/Makefile
+++ b/Makefile
-@@ -5,20 +5,15 @@
+@@ -5,17 +5,11 @@
VERPAT = 7
VERSION = $(VERMAJ).$(VERMIN).$(VERPAT)
-# Define SHARED as 1 for Linux shared ELF library
-#SHARED = 1
--
+
-ifeq ($(SHARED),1)
LIBTARGET = lib$(DIST).so.$(VERSION)
LIBTARGETSO = lib$(DIST).so
@@ -15,69 +15,55 @@
-else
-LIBTARGET = lib$(DIST).a
-endif
-+
-+LIBTARGETA = lib$(DIST).a
LIBHEAD = $(DIST).h
--TARGETS = $(LIBTARGET)
-+TARGETS = $(LIBTARGET) $(LIBTARGETA)
-
- INSTBASEDIR = /usr/local
- INSTLIBDIR = $(INSTBASEDIR)/lib
-@@ -27,12 +22,12 @@
+ TARGETS = $(LIBTARGET)
+@@ -27,12 +21,9 @@
INSTALLPROG = install -m 755
MKDIRP = install -d -m 755
-CC = gcc
-OPTIM = -O2
-
--INCDIR = -I.
--
+ INCDIR = -I.
+
-CCOPT = -s -Wall $(OPTIM) $(INCDIR)
-+CC ?= gcc
-+AR ?= ar
-+ARFLAGS ?= rc
-+RANLIB ?= ranlib
-+CPPFLAGS += -I.
-+CFLAGS += -Wall
++CCOPT = -Wall $(INCDIR)
# Object files to store in the library
LIBOBJS = shhopt.o
-@@ -43,21 +38,19 @@
- # don't worry if you get ranlib not found errors. This probably means
+@@ -44,12 +35,7 @@
# that your ar does an implicit ranlib and you do not need to run ranlib
# separately. This error is harmless.
--$(LIBTARGET): $(LIBOBJS)
+ $(LIBTARGET): $(LIBOBJS)
-ifeq ($(SHARED),1)
- $(CC) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $(LIBTARGET) $(LIBOBJS)
-else
- ar rc $(LIBTARGET) $(LIBOBJS)
- ranlib $(LIBTARGET) || true
-endif
-+$(LIBTARGET): $(LIBOBJS:.o=.lo)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $@ $^
-+$(LIBTARGETA): $(LIBOBJS)
-+ $(AR) $(ARFLAGS) $@ $^
-+ $(RANLIB) $@
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $(LIBTARGET) $(LIBOBJS)
# Note that you may need GNU's -liberty if your libc lacks strtoul
example: $(LIBTARGET) example.o
- $(CC) -o example example.c \
+@@ -57,7 +43,7 @@
-L. -I. -L$(INSTLIBDIR) -I$(INSTINCDIR) -lshhopt
--.c.o:
+ .c.o:
- $(CC) $(CCSHRD) -o $@ -c $(CCOPT) $<
-+%.lo: %.c
-+ $(COMPILE.c) $(CCSHRD) $^ -o $@
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(CCSHRD) -o $@ -c $(CCOPT) $<
depend dep:
$(CC) $(INCDIR) -MM *.c >depend
-@@ -73,7 +66,7 @@
- endif
+@@ -66,11 +52,9 @@
+ $(MKDIRP) $(INSTLIBDIR) $(INSTINCDIR)
+ $(INSTALL) $(LIBTARGET) $(INSTLIBDIR)
+ $(INSTALL) $(LIBHEAD) $(INSTINCDIR)
+-ifeq ($(SHARED),1)
+ ln -sf $(LIBTARGET) $(INSTLIBDIR)/$(LIBTARGETSOMAJ)
+ ln -sf $(LIBTARGETSOMAJ) $(INSTLIBDIR)/$(LIBTARGETSO)
+ echo "Now run ldconfig if necessary."
+-endif
clean:
-- rm -f *.o core *~ depend
-+ rm -f *.o *.lo *.so* *.a core *~ depend
-
- chmod:
- chmod a+r *
+ rm -f *.o core *~ depend
diff --git a/dev-libs/shhopt/metadata.xml b/dev-libs/shhopt/metadata.xml
index a5c1e1643e18..30a37a048830 100644
--- a/dev-libs/shhopt/metadata.xml
+++ b/dev-libs/shhopt/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
diff --git a/dev-libs/shhopt/shhopt-1.1.7-r3.ebuild b/dev-libs/shhopt/shhopt-1.1.7-r3.ebuild
index 1d63a8b89ea7..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-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,11 +16,10 @@ KEYWORDS="amd64 ppc x86"
PATCHES=( "${FILESDIR}"/${P}-build.patch )
src_compile() {
- emake CC=$(tc-getCC)
+ emake CC="$(tc-getCC)"
}
src_install() {
- dolib.a libshhopt.a
ln -s libshhopt.so.${PV} libshhopt.so || die
ln -s libshhopt.so.${PV} libshhopt.so.${PV:0:1} || die
dolib.so libshhopt.so*
diff --git a/dev-libs/simde/Manifest b/dev-libs/simde/Manifest
new file mode 100644
index 000000000000..701b574baabc
--- /dev/null
+++ b/dev-libs/simde/Manifest
@@ -0,0 +1,2 @@
+DIST simde-0.8.0.tar.gz 7455442 BLAKE2B 511f609e2588cc39b45a5a3e7f93648d9651e9e3f90220947b7f559ca6281a0db9f876d0692abf24d63528bb84e0ee49da1a165a16eeb91de84639a100a6527b SHA512 b0667583565ea9e59d18a07c7a3cb46710868c9572663e314278ca2004747e337e34f6b927c9c5d29e161caba8ec0428e5299b6e878e226b9f33597a1584b91d
+DIST simde-0.8.2.tar.gz 7468969 BLAKE2B 55824ac6d525de475285b430e96c91d7e7cdf363cb42742e55cc8b6e44e5d59d2e07d59fe37897d4bc2023fca35bd908772e01ba95681a00c8f9464dccb0f742 SHA512 4e42d7140c0afae507773527c6c0c07e6f0cdad59a1d42ebcf4bd223fc9f71e91a2e3db7746aca3c0c5ad2a13333c2322ce1e384c7d699ddfe33bed6f107aec5
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/files/simde-0.8.2-musl.patch b/dev-libs/simde/files/simde-0.8.2-musl.patch
new file mode 100644
index 000000000000..fa1c796aec00
--- /dev/null
+++ b/dev-libs/simde/files/simde-0.8.2-musl.patch
@@ -0,0 +1,19 @@
+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 known that's 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
+@@ -1268,3 +1268,3 @@
+ #if \
+- ((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
++ (defined(__GLIBC__) && (!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
+@@ -1288,3 +1288,3 @@
+ #if \
+- ((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
++ (defined(__GLIBC__) && (!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
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..9591e89b2fec
--- /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/simde/simde-0.8.2.ebuild b/dev-libs/simde/simde-0.8.2.ebuild
new file mode 100644
index 000000000000..3d57056117ff
--- /dev/null
+++ b/dev-libs/simde/simde-0.8.2.ebuild
@@ -0,0 +1,45 @@
+# 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.8.2-musl.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
new file mode 100644
index 000000000000..b26a7d8c5b5c
--- /dev/null
+++ b/dev-libs/simdjson/Manifest
@@ -0,0 +1,5 @@
+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.9.0-tests.patch b/dev-libs/simdjson/files/simdjson-0.9.0-tests.patch
new file mode 100644
index 000000000000..49594ca291c0
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-0.9.0-tests.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/ondemand/compilation_failure_tests/CMakeLists.txt b/tests/ondemand/compilation_failure_tests/CMakeLists.txt
+index 2d0959be..324edf80 100644
+--- a/tests/ondemand/compilation_failure_tests/CMakeLists.txt
++++ b/tests/ondemand/compilation_failure_tests/CMakeLists.txt
+@@ -14,6 +14,7 @@ function(add_dual_compile_test TEST_NAME)
+ endfunction(add_dual_compile_test)
+
+
++target_compile_options(simdjson-internal-flags INTERFACE -Werror=uninitialized)
+ add_dual_compile_test(iterate_char_star)
+ add_dual_compile_test(iterate_string_view)
+ add_dual_compile_test(iterate_temporary_buffer)
diff --git a/dev-libs/simdjson/files/simdjson-1.0.0-dont-bundle-cxxopts.patch b/dev-libs/simdjson/files/simdjson-1.0.0-dont-bundle-cxxopts.patch
new file mode 100644
index 000000000000..f796677655d6
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-1.0.0-dont-bundle-cxxopts.patch
@@ -0,0 +1,20 @@
+diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt
+index 76651318..2cc06e9e 100644
+--- a/dependencies/CMakeLists.txt
++++ b/dependencies/CMakeLists.txt
+@@ -133,15 +133,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/dev-libs/simdjson/files/simdjson-1.0.0-dont-fetch-data-tarball.patch b/dev-libs/simdjson/files/simdjson-1.0.0-dont-fetch-data-tarball.patch
new file mode 100644
index 000000000000..b3cd8558b2ff
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-1.0.0-dont-fetch-data-tarball.patch
@@ -0,0 +1,16 @@
+diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt
+index 76651318..da5029c0 100644
+--- a/dependencies/CMakeLists.txt
++++ b/dependencies/CMakeLists.txt
+@@ -19,8 +19,9 @@ 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)
++ add_subdirectory(simdjson-data dependencies/simdjson-data)
++endif()
+
+ # This prevents variables declared with set() from unnecessarily escaping and
+ # should not be called more than once
diff --git a/dev-libs/simdjson/files/simdjson-1.0.0-install-tools.patch b/dev-libs/simdjson/files/simdjson-1.0.0-install-tools.patch
new file mode 100644
index 000000000000..10d332315608
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-1.0.0-install-tools.patch
@@ -0,0 +1,21 @@
+diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
+index f3eaa054..4eaff3d1 100644
+--- a/tools/CMakeLists.txt
++++ b/tools/CMakeLists.txt
+@@ -1,12 +1,13 @@
+-if(TARGET cxxopts) # we only build the tools if cxxopts is available
++if(SIMDJSON_TOOLS)
+ message(STATUS "We have cxxopts as a dependency and we are building the tools (e.g., json2json).")
+- foreach(tool IN ITEMS json2json jsonstats jsonpointer minify)
++ foreach(tool IN ITEMS json2json jsonstats simdjsonpointer minify)
+ add_executable("${tool}" "${tool}.cpp")
+ simdjson_apply_props("${tool}")
+ target_link_libraries(
+ "${tool}" PRIVATE
+- simdjson simdjson-internal-flags simdjson-windows-headers cxxopts
++ simdjson simdjson-internal-flags simdjson-windows-headers
+ )
++ install(TARGETS "${tool}")
+ endforeach()
+ else()
+ message(STATUS "We are missing cxxopts as a dependency so the tools (e.g., json2json) are omitted.")
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
new file mode 100644
index 000000000000..d541fa2ee4a1
--- /dev/null
+++ b/dev-libs/simdjson/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <use>
+ <flag name="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-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..f79b742f0d5f
--- /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 ~riscv ~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 25227f56723f..000000000000
--- a/dev-libs/sink/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sink-0.7.0.tar.gz 383090 BLAKE2B b853609889ead6f623c7288b9dfe8dba0388dc0d5e8f28d9967fa9be1d78b10bafd9d4674f11355bfe60506843d2abe033149c448ff293329db558ed00fef18b SHA512 591838cb9c76d89c1794b94b02bff3d67155e1f27ae32b7ac9369d15aa109130c7792f30e74b61009765e7b7cb78141bf5e3c93304d814bce22bf91059339fd0
diff --git a/dev-libs/sink/metadata.xml b/dev-libs/sink/metadata.xml
deleted file mode 100644
index 2fdbf33d963d..000000000000
--- a/dev-libs/sink/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/sink/sink-0.7.0.ebuild b/dev-libs/sink/sink-0.7.0.ebuild
deleted file mode 100644
index 4e7f4708a8f5..000000000000
--- a/dev-libs/sink/sink-0.7.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-KDE_TEST="false" # build breaks otherwise. tests not isolated.
-inherit kde5
-
-DESCRIPTION="Data access layer handling synchronization, caching and indexing"
-SRC_URI="https://github.com/KDE/sink/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2+"
-KEYWORDS="~amd64"
-IUSE=""
-
-# 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
-RDEPEND="
- $(add_frameworks_dep kcoreaddons)
- $(add_kdeapps_dep kcalcore)
- $(add_kdeapps_dep kcontacts)
- $(add_kdeapps_dep kmime)
- $(add_qt_dep qtgui)
- $(add_qt_dep qtnetwork)
- dev-db/lmdb:=
- dev-libs/flatbuffers
- dev-libs/kasync
- >=dev-libs/xapian-1.4.4:0=
- net-libs/kdav2
- net-libs/kimap2
- net-misc/curl
- sys-libs/readline:0=
-"
-DEPEND="${RDEPEND}
- $(add_qt_dep qtconcurrent)
-"
-
-# fails to build
-RESTRICT+=" test"
-
-src_prepare() {
- kde5_src_prepare
- # FIXME: sink is useless without its 'examples'. Workaround our eclass
- sed -i -e "/add_subdirectory(examples)/ s/#DONOTCOMPILE //" \
- CMakeLists.txt || die "Failed to fix CMakeLists.txt"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_Libgit2=ON
- )
- kde5_src_configure
-}
diff --git a/dev-libs/skalibs/Manifest b/dev-libs/skalibs/Manifest
index 34e298cfac4f..564963cece92 100644
--- a/dev-libs/skalibs/Manifest
+++ b/dev-libs/skalibs/Manifest
@@ -1,6 +1 @@
-DIST skalibs-2.3.2.0.tar.gz 205976 BLAKE2B 01e1694515093494d0d216e5b5f17524118c6fd3f5fe23b775c50055269472a8d82883b8a8a9f40b35c5bc1f36d867a1daca7f279d316b3789fbfc0c56c882d8 SHA512 f5a4b85fc43f49eccf5a2ac2ce5b142afc28fe4af781e59d1ad21a7eb5896075720230391234fcf7879cb29ba2d1624926d8cca77c3925327aa7a9a5fefff91a
-DIST skalibs-2.6.1.0.tar.gz 210504 BLAKE2B 47be3c920d7e0db9baa5982c5e1273e3132636d84767b5a0087bcbda0c18039b0ca26428c1db9a33a0ed5186a9c94860c73aaccd7ecf38da21e56e9b3e5ffb4d SHA512 52db44f398bcc08a2b4243a32254fef87d11f152dd6e9f8fa85dcc548fff5dcd1ef83ffbd32aa572837f344f9a3e4a31f156edd5ad6b4274d8138fbf24213a57
-DIST skalibs-2.6.3.0.tar.gz 224463 BLAKE2B 0b051cb027b2c7335c5b6d581aeb8ff4fce8262b58551a9a0ec87d03148280a66be07a0f589731c65ef9b5298e64be93a5bd2a45818bc131cb2df5f31ac1040e SHA512 4f904cde17fa91070317b9ddd542715c5b4e19a8ccb3ae3b2eb014a782ae66b38033f7f5614d92cfb64e251aa4e97e11c03695f161cdd2b122b61fd3e627af9a
-DIST skalibs-2.6.4.0.tar.gz 226780 BLAKE2B 80d01d3696452b54d0247c8e523c059bb5ecd59fdea0d18a80992c3db70deab935fce13b5559835f98ccfacf81a2a81e8a6b432b67f851a42f8441f7f7ecc19e SHA512 19062853bd9df0dadeceaab96aca9d2a68d93aada7552d306902d1b13c55d421bbff7fd37dccaf1a81d66bbecf43ed2242961fdb7bd51ff22e9b6114c1b2bb77
-DIST skalibs-2.7.0.0.tar.gz 226543 BLAKE2B be626eed2f6b898c3b1cf6026f527730146a5c4175a76e43a2c9e0b22d7063de84378668e7e1c28c183b8ea9e187e92f86a1de06294ab708562f17ae7ae70b04 SHA512 33624b606a0846478e6fde10057633b43e76bda299d067cff269582c252f05108ebf28c539865c7f24b67e99575328fc7789326dfbb2e81bf209aa51445f04a1
-DIST skalibs-2.8.1.0.tar.gz 227598 BLAKE2B d5121299ee13cbc12908778e8fab2eb4b7ec3c6e3ed59fbda29a66e8e37b02dc3639c9f00628274f430f1c49ea1a2fb32459f2720686ee046016c7a6e200bc5c SHA512 d2717e6f034af22a7b2ce31b019f30cfa270f64c61549db7b60b319defc5236fc6b58d29a4dae0f740ffdf32180b1940630f4239ea40cbedfcc5861398d20d86
+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 993ae0503a73..c544eea8e1f4 100644
--- a/dev-libs/skalibs/metadata.xml
+++ b/dev-libs/skalibs/metadata.xml
@@ -1,20 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <maintainer type="person">
- <email>aranea@aixah.de</email>
- <name>Luis Ressel</name>
+ <email>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
</maintainer>
<maintainer type="person">
- <email>samuel@sholland.org</email>
- <name>Samuel Holland</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
</maintainer>
</pkgmetadata>
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.3.2.0.ebuild b/dev-libs/skalibs/skalibs-2.3.2.0.ebuild
deleted file mode 100644
index 5e4fbf25c1b8..000000000000
--- a/dev-libs/skalibs/skalibs-2.3.2.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib
-
-DESCRIPTION="development files used for building software at skarnet.org: essentially general-purpose libraries"
-HOMEPAGE="http://www.skarnet.org/software/skalibs/index.html"
-SRC_URI="http://www.skarnet.org/software/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc ipv6 static-libs"
-
-DEPEND=">=sys-devel/make-3.81"
-RDEPEND=""
-
-src_prepare() {
- # Remove QA warning about LDFLAGS addition
- sed -i "s~tryldflag LDFLAGS_AUTO -Wl,--hash-style=both~:~" "${S}/configure" || die
-}
-
-src_configure() {
- econf \
- $(use_enable ipv6) \
- $(use_enable static-libs static) \
- --dynlibdir=/$(get_libdir) \
- --libdir=/usr/$(get_libdir)/${PN} \
- --datadir=/etc \
- --sysdepdir=/usr/$(get_libdir)/${PN} \
- --enable-force-devr
-}
-
-src_install() {
- default
- dodir /etc/ld.so.conf.d/
- echo "/$(get_libdir)/${PN}" > ${ED}/etc/ld.so.conf.d/10${PN}.conf || die
-
- use doc && dohtml -r doc/*
-}
diff --git a/dev-libs/skalibs/skalibs-2.6.1.0.ebuild b/dev-libs/skalibs/skalibs-2.6.1.0.ebuild
deleted file mode 100644
index f7134b79e0c7..000000000000
--- a/dev-libs/skalibs/skalibs-2.6.1.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit versionator
-
-DESCRIPTION="skarnet.org general-purpose libraries"
-HOMEPAGE="https://www.skarnet.org/software/skalibs/"
-SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/$(get_version_component_range 1-2)"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="doc ipv6 static-libs"
-
-DEPEND=">=sys-devel/make-3.81"
-RDEPEND=""
-
-HTML_DOCS="doc/*"
-
-src_prepare() {
- default
-
- # Remove QA warning about LDFLAGS addition
- sed -i "s/tryldflag LDFLAGS_AUTO -Wl,--hash-style=both/:/" "${S}/configure" || die
-
- # configure overrides gentoo's -fstack-protector default
- sed -i "/^tryflag CFLAGS -fno-stack-protector$/d" "${S}/configure" || die
-}
-
-src_configure() {
- econf \
- --datadir=/etc \
- --dynlibdir=/$(get_libdir) \
- --libdir=/usr/$(get_libdir)/${PN} \
- --sysdepdir=/usr/$(get_libdir)/${PN} \
- --enable-clock \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable ipv6)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- use doc && einstalldocs
-}
diff --git a/dev-libs/skalibs/skalibs-2.6.3.0.ebuild b/dev-libs/skalibs/skalibs-2.6.3.0.ebuild
deleted file mode 100644
index da01456a849a..000000000000
--- a/dev-libs/skalibs/skalibs-2.6.3.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit versionator
-
-DESCRIPTION="skarnet.org general-purpose libraries"
-HOMEPAGE="https://www.skarnet.org/software/skalibs/"
-SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/$(get_version_component_range 1-2)"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="doc ipv6 static-libs"
-
-DEPEND=">=sys-devel/make-3.81"
-RDEPEND=""
-
-HTML_DOCS="doc/*"
-
-src_prepare() {
- default
-
- # Remove QA warning about LDFLAGS addition
- sed -i "s/tryldflag LDFLAGS_AUTO -Wl,--hash-style=both/:/" "${S}/configure" || die
-
- # configure overrides gentoo's -fstack-protector default
- sed -i "/^tryflag CFLAGS -fno-stack-protector$/d" "${S}/configure" || die
-}
-
-src_configure() {
- econf \
- --datadir=/etc \
- --dynlibdir=/$(get_libdir) \
- --libdir=/usr/$(get_libdir)/${PN} \
- --sysdepdir=/usr/$(get_libdir)/${PN} \
- --enable-clock \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable ipv6)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- use doc && einstalldocs
-}
diff --git a/dev-libs/skalibs/skalibs-2.6.4.0.ebuild b/dev-libs/skalibs/skalibs-2.6.4.0.ebuild
deleted file mode 100644
index da01456a849a..000000000000
--- a/dev-libs/skalibs/skalibs-2.6.4.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit versionator
-
-DESCRIPTION="skarnet.org general-purpose libraries"
-HOMEPAGE="https://www.skarnet.org/software/skalibs/"
-SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0/$(get_version_component_range 1-2)"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="doc ipv6 static-libs"
-
-DEPEND=">=sys-devel/make-3.81"
-RDEPEND=""
-
-HTML_DOCS="doc/*"
-
-src_prepare() {
- default
-
- # Remove QA warning about LDFLAGS addition
- sed -i "s/tryldflag LDFLAGS_AUTO -Wl,--hash-style=both/:/" "${S}/configure" || die
-
- # configure overrides gentoo's -fstack-protector default
- sed -i "/^tryflag CFLAGS -fno-stack-protector$/d" "${S}/configure" || die
-}
-
-src_configure() {
- econf \
- --datadir=/etc \
- --dynlibdir=/$(get_libdir) \
- --libdir=/usr/$(get_libdir)/${PN} \
- --sysdepdir=/usr/$(get_libdir)/${PN} \
- --enable-clock \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable ipv6)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- use doc && einstalldocs
-}
diff --git a/dev-libs/skalibs/skalibs-2.7.0.0.ebuild b/dev-libs/skalibs/skalibs-2.7.0.0.ebuild
deleted file mode 100644
index 58829b19d4a7..000000000000
--- a/dev-libs/skalibs/skalibs-2.7.0.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="skarnet.org general-purpose libraries"
-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"
-
-DEPEND=""
-RDEPEND=""
-
-HTML_DOCS="doc/*"
-
-src_prepare() {
- default
-
- # Remove QA warning about LDFLAGS addition
- sed -i "s/tryldflag LDFLAGS_AUTO -Wl,--hash-style=both/:/" "${S}/configure" || die
-
- # configure overrides gentoo's -fstack-protector default
- sed -i "/^tryflag CFLAGS -fno-stack-protector$/d" "${S}/configure" || die
-}
-
-src_configure() {
- econf \
- --datadir=/etc \
- --dynlibdir=/$(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/skalibs/skalibs-2.8.1.0.ebuild b/dev-libs/skalibs/skalibs-2.8.1.0.ebuild
deleted file mode 100644
index 9cbca05c8f24..000000000000
--- a/dev-libs/skalibs/skalibs-2.8.1.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 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"
-
-RDEPEND=""
-DEPEND=""
-
-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 40aa45df2b01..000000000000
--- a/dev-libs/smack/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/Manifest b/dev-libs/snowball-stemmer/Manifest
index fbb928ad4990..b3ba23854621 100644
--- a/dev-libs/snowball-stemmer/Manifest
+++ b/dev-libs/snowball-stemmer/Manifest
@@ -1 +1,4 @@
-DIST libstemmer_c-20140325.tgz 129506 BLAKE2B 46040a864b8111bcca1c858a16081542a9900e435e6154582e422e1687b8230b0a5f63c7e349e1ef47128eaa898891df7b87fd2a4d97d0c1304fb8af7ebb627b SHA512 938eb12d4fe9e229f21536a6cb8a4322e0b664a7fbc15685e7ad46b4a6ccdfbefc55cc484f86bc738791d6f3e6d1b61ba777a4332a62cf76a8b0a5efd2c2762b
+DIST snowball-data-0703f1d6a21802c3ff00c2c8b31bd255b74b2aec.tar.gz 33063873 BLAKE2B d4222f2dbf681c670017596c2510ca389a33c736e2b4deeda3f33559e9fdda7c86bd528f4b56fc124ef5c08818739576ef28b93b326505b6ad77259c4b638a4c SHA512 a5b3eb0d73dbefd243e6f5964071c83823e4b367b5a24a660aadffe6bcd3c2e855d5cc5edcd382a88e0edd270a7576388a04fb9141ae888776824c5a74b2beef
+DIST snowball-data-887fb7a3e006f32b4979e0d55f2543abe78a42f1.tar.gz 33063750 BLAKE2B bffc7e9f8fadbaecf9a7d1a2b8ee7a9db0b1dc1d5a6304a9c8d60b6c24a0947307b8780a99d2349b19e5fbcdfe819cc400ffb0b8b1df9748bb401ae1dec7b9aa SHA512 b68567d3e59aaa870251f682988b52a89d82767e954adea6b7f6247a6d432c29c8373c95a5e49df07110d4cb396aafa64ee6c71af2c0680d383ffe22491e50dd
+DIST snowball-stemmer-2.1.0.tar.gz 220324 BLAKE2B 3d92a2f5b4bd633932d681f2555cf1cc1a2c1a1c71fd0272f09bee17628d034a20649450dd90242c155ab7b262e685913d5ad4034bce6e7a41d76f0dfc724137 SHA512 1efd7d8ab58852987e83247048244882c517e32237c8cb3c0558b66ecfb075733ce8805ebb76041e6e7d6664c236054effe66838e7c524ee529ce869aa8134f0
+DIST snowball-stemmer-2.2.0.tar.gz 223846 BLAKE2B ac06a603ab21dfe5508c1a51419568c15d61ad079a3cded98ca6a47716f4119e480b109756a107da1e6c9994062073cbfb29ac4feb3e5e4ffab6feb4db2b9930 SHA512 02c43313de9de2518ea51cfb11f1c29145fc046c7838329bfdefd70b604009ad44b6db8175c25b0db31f03db30a6aec5857aa35775a9c204ec976df9cae62957
diff --git a/dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch b/dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch
deleted file mode 100644
index ca27fc517705..000000000000
--- a/dev-libs/snowball-stemmer/files/libstemmer_c-shared-library.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- /home/graaff/Desktop/Makefile 2009-11-06 01:57:50.000000000 +0100
-+++ Makefile 2013-07-18 10:57:32.482149252 +0200
-@@ -1,9 +1,13 @@
- include mkinc.mak
--CFLAGS=-Iinclude
--all: libstemmer.o stemwords
--libstemmer.o: $(snowball_sources:.c=.o)
-- $(AR) -cru $@ $^
--stemwords: examples/stemwords.o libstemmer.o
-- $(CC) -o $@ $^
-+CFLAGS+=-Iinclude -fPIC
-+all: libstemmer.so libstemmer.a stemwords
-+libstemmer.so: $(snowball_sources:.c=.o)
-+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@.0d -o $@.0d.0.0 $^
-+ ln -s $@.0d.0.0 $@.0d
-+ ln -s $@.0d.0.0 $@
-+libstemmer.a: $(snowball_sources:.c=.o)
-+ $(AR) -crs $@ $^
-+stemwords: examples/stemwords.o libstemmer.so
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
- clean:
-- rm -f stemwords *.o src_c/*.o runtime/*.o libstemmer/*.o
-+ rm -f stemwords libstemmer.so* libstemmer.a *.o src_c/*.o runtime/*.o libstemmer/*.o
diff --git a/dev-libs/snowball-stemmer/files/snowball-stemmer-2.1.0-shared-library.patch b/dev-libs/snowball-stemmer/files/snowball-stemmer-2.1.0-shared-library.patch
new file mode 100644
index 000000000000..20c7a386b430
--- /dev/null
+++ b/dev-libs/snowball-stemmer/files/snowball-stemmer-2.1.0-shared-library.patch
@@ -0,0 +1,58 @@
+This is based on a patch taken from alpinelinux, however, duplicated
+libstemmer.o and stemwords targets were removed.
+
+Created shared library contains a lot of relocations, which slow down loading.
+It is known issue and probably the main reason why upstream does not support
+shared library yet [1].
+
+[1] https://github.com/snowballstem/snowball/issues/34#issuecomment-203200078
+
+Alpinelinux-patch: https://git.alpinelinux.org/aports/tree/community/snowball/libstemmer-library.patch?id=28f9d9e192876c43fd96bc5856cd9d8a50dd49c0
+Upstream-issue: https://github.com/snowballstem/snowball/issues/34
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 5cb2179..d1ef193 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -3,6 +3,7 @@
+ # After changing this, run `make update_version` to update various sources
+ # which hard-code it.
+ SNOWBALL_VERSION = 2.1.0
++MAJOR_VERSION := $(shell echo $(SNOWBALL_VERSION) | cut -d. -f1)
+
+ c_src_dir = src_c
+
+@@ -162,10 +163,18 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
+ JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
+ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
+
+-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
+-CPPFLAGS=-Iinclude
++CFLAGS+=-fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
++CPPFLAGS+=-Iinclude
+
+-all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++all: snowball libstemmer.o libstemmer.so libstemmer.a stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++
++libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@.$(MAJOR_VERSION),-version-script,libstemmer/symbol.map -o $@.$(SNOWBALL_VERSION) $^
++ ln -s $@.$(SNOWBALL_VERSION) $@.$(MAJOR_VERSION)
++ ln -s $@.$(SNOWBALL_VERSION) $@
++
++libstemmer.a: libstemmer.o
++ $(AR) -crs $@ $^
+
+ clean:
+ rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
+diff --git a/libstemmer/symbol.map b/libstemmer/symbol.map
+new file mode 100644
+index 0000000..7a3d423
+--- /dev/null
++++ b/libstemmer/symbol.map
+@@ -0,0 +1,6 @@
++SB_STEMMER_0 {
++ global:
++ sb_stemmer_*;
++ local:
++ *;
++};
diff --git a/dev-libs/snowball-stemmer/files/snowball-stemmer-2.2.0-shared-library.patch b/dev-libs/snowball-stemmer/files/snowball-stemmer-2.2.0-shared-library.patch
new file mode 100644
index 000000000000..4baa2281216c
--- /dev/null
+++ b/dev-libs/snowball-stemmer/files/snowball-stemmer-2.2.0-shared-library.patch
@@ -0,0 +1,59 @@
+This is based on a patch taken from alpinelinux, however, duplicated
+libstemmer.o and stemwords targets were removed and the patch was
+rebased on top of v2.2.0 tag.
+
+Created shared library contains a lot of relocations, which slow down loading.
+It is known issue and probably the main reason why upstream does not support
+shared library yet [1].
+
+[1] https://github.com/snowballstem/snowball/issues/34#issuecomment-203200078
+
+Alpinelinux-patch: https://git.alpinelinux.org/aports/tree/community/snowball/libstemmer-library.patch?id=28f9d9e192876c43fd96bc5856cd9d8a50dd49c0
+Upstream-issue: https://github.com/snowballstem/snowball/issues/34
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 98eb1fa..9b539ec 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -4,6 +4,8 @@
+ # which hard-code it.
+ SNOWBALL_VERSION = 2.2.0
+
++MAJOR_VERSION := $(shell echo $(SNOWBALL_VERSION) | cut -d. -f1)
++
+ ifeq ($(OS),Windows_NT)
+ EXEEXT = .exe
+ endif
+@@ -170,12 +172,17 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
+ JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
+ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
+
+-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
+-CPPFLAGS=
++CFLAGS+=-fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
++CPPFLAGS+=
+
+ INCLUDES=-Iinclude
+
+-all: snowball$(EXEEXT) libstemmer.a stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++all: snowball$(EXEEXT) libstemmer.a libstemmer.so stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++
++libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$@.$(MAJOR_VERSION),-version-script,libstemmer/symbol.map -o $@.$(SNOWBALL_VERSION) $^
++ ln -s $@.$(SNOWBALL_VERSION) $@.$(MAJOR_VERSION)
++ ln -s $@.$(SNOWBALL_VERSION) $@
+
+ algorithms.mk: libstemmer/mkalgorithms.pl libstemmer/modules.txt
+ libstemmer/mkalgorithms.pl algorithms.mk libstemmer/modules.txt
+diff --git a/libstemmer/symbol.map b/libstemmer/symbol.map
+new file mode 100644
+index 0000000..7a3d423
+--- /dev/null
++++ b/libstemmer/symbol.map
+@@ -0,0 +1,6 @@
++SB_STEMMER_0 {
++ global:
++ sb_stemmer_*;
++ local:
++ *;
++};
diff --git a/dev-libs/snowball-stemmer/metadata.xml b/dev-libs/snowball-stemmer/metadata.xml
index 6752c7acf738..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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-0.20140325.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-0.20140325.ebuild
deleted file mode 100644
index 4eb1aa6c4305..000000000000
--- a/dev-libs/snowball-stemmer/snowball-stemmer-0.20140325.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils versionator
-
-# The version number here has been added by Gentoo since upstream does
-# not do any versioning. It is the latest date of files inside
-# http://snowball.tartarus.org/dist/libstemmer_c.tgz.
-PVDATE=$(get_after_major_version)
-
-DESCRIPTION="All you need to include the snowball stemming algorithms into a C project"
-HOMEPAGE="https://snowballstem.org/"
-SRC_URI="https://dev.gentoo.org/~graaff/libstemmer_c-${PVDATE}.tgz"
-
-# This will probably be different if this ebuild ends up being used for both
-# Java and C.
-S="${WORKDIR}/libstemmer_c"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ppc ppc64 s390 sparc x86 ~amd64-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris"
-
-# This could be used to package both libstemmer_c and libstemmer_java together.
-IUSE="static-libs"
-
-src_prepare() {
- epatch "${FILESDIR}/libstemmer_c-shared-library.patch"
-}
-
-src_compile() {
- CC=$(tc-getCC) emake libstemmer.so stemwords || die "Make failed!"
-
- if use static-libs; then
- CC=$(tc-getCC) AR=$(tc-getAR) emake libstemmer.a || die "Make failed!"
- fi
-}
-
-src_install() {
- dodoc README
-
- dobin stemwords
-
- doheader include/libstemmer.h
-
- dolib.so libstemmer.so.0d.0.0
- dolib.so libstemmer.so.0d
- dolib.so libstemmer.so
-
- use static-libs && dolib.a libstemmer.a
-}
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
new file mode 100644
index 000000000000..3e13b164d5b4
--- /dev/null
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_TESTDATA_COMMIT="887fb7a3e006f32b4979e0d55f2543abe78a42f1"
+
+DESCRIPTION="Snowball compiler and stemming algorithms"
+HOMEPAGE="https://snowballstem.org/ https://github.com/snowballstem/snowball/"
+SRC_URI="https://github.com/snowballstem/snowball/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/snowballstem/snowball-data/archive/${MY_TESTDATA_COMMIT}.tar.gz -> snowball-data-${MY_TESTDATA_COMMIT}.tar.gz )"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
+IUSE="static-libs test"
+
+BDEPEND="dev-lang/perl
+ test? ( virtual/libiconv )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/snowball-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-shared-library.patch"
+)
+
+src_compile() {
+ export CC="$(tc-getCC)"
+ export AR="$(tc-getAR)"
+ default
+}
+
+src_install() {
+ dodoc README.rst NEWS
+
+ dobin stemwords
+
+ doheader include/libstemmer.h
+
+ dolib.so libstemmer.so.${PV}
+ dolib.so libstemmer.so.$(ver_cut 1)
+ dolib.so libstemmer.so
+
+ use static-libs && dolib.a libstemmer.a
+}
+
+src_test() {
+ emake -j1 STEMMING_DATA="${WORKDIR}/snowball-data-${MY_TESTDATA_COMMIT}" check
+}
diff --git a/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild
new file mode 100644
index 000000000000..a4a7aeec8ed6
--- /dev/null
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_TESTDATA_COMMIT="0703f1d6a21802c3ff00c2c8b31bd255b74b2aec"
+
+DESCRIPTION="Snowball compiler and stemming algorithms"
+HOMEPAGE="https://snowballstem.org/ https://github.com/snowballstem/snowball/"
+SRC_URI="https://github.com/snowballstem/snowball/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/snowballstem/snowball-data/archive/${MY_TESTDATA_COMMIT}.tar.gz -> snowball-data-${MY_TESTDATA_COMMIT}.tar.gz )"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
+IUSE="static-libs test"
+
+BDEPEND="dev-lang/perl
+ test? ( virtual/libiconv )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/snowball-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-shared-library.patch"
+)
+
+src_compile() {
+ tc-export CC AR
+ default
+}
+
+src_test() {
+ emake -j1 STEMMING_DATA="${WORKDIR}/snowball-data-${MY_TESTDATA_COMMIT}" check
+}
+
+src_install() {
+ dodoc README.rst NEWS
+
+ dobin stemwords
+
+ doheader include/libstemmer.h
+
+ dolib.so libstemmer.so.${PV}
+ dolib.so libstemmer.so.$(ver_cut 1)
+ dolib.so libstemmer.so
+
+ use static-libs && dolib.a libstemmer.a
+}
diff --git a/dev-libs/socketstream/Manifest b/dev-libs/socketstream/Manifest
deleted file mode 100644
index a377c8cbd3f6..000000000000
--- a/dev-libs/socketstream/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST socketstream-0.7.0.tar.gz 464806 BLAKE2B a27cd848dad6a3570fad5eb74886106e0e50f5a62e84751e558e17ae6b7b0c4a3d6d257d473e4b64f7b233e6621ce44df24dcde5d11a7cf60f2de18d7110a352 SHA512 61eae3e5df80329e5b81f8d4d3148d16b9ee278b8898ed59e058ea960bd82cfa0d9a01f5ac9ea18ddbabac9d2d3347c49bde870cc74c16a7deb46f99bf443fe9
diff --git a/dev-libs/socketstream/files/0.7.0-missing_includes.patch b/dev-libs/socketstream/files/0.7.0-missing_includes.patch
deleted file mode 100644
index 22c29379ed10..000000000000
--- a/dev-libs/socketstream/files/0.7.0-missing_includes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur socketstream-0.7.0.orig/src/socket_exception.cc socketstream-0.7.0/src/socket_exception.cc
---- socketstream-0.7.0.orig/src/socket_exception.cc 2008-06-16 22:08:13.000000000 +0200
-+++ socketstream-0.7.0/src/socket_exception.cc 2008-06-16 22:09:00.000000000 +0200
-@@ -24,6 +24,7 @@
-
- #include <socketstream/socket_exception.h>
- #include <cerrno>
-+#include <cstring>
-
- namespace ss {
-
diff --git a/dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch b/dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch
deleted file mode 100644
index 248450847e0b..000000000000
--- a/dev-libs/socketstream/files/socketstream-0.7.0-gcc47.patch
+++ /dev/null
@@ -1,15 +0,0 @@
- https://bugs.gentoo.org/429292
-
- src/basic_socket.cc | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/src/basic_socket.cc
-+++ b/src/basic_socket.cc
-@@ -22,6 +22,7 @@
- * @doctodo
- */
-
-+#include <unistd.h>
- #include <socketstream/basic_socket.h>
-
- namespace ss {
diff --git a/dev-libs/socketstream/metadata.xml b/dev-libs/socketstream/metadata.xml
deleted file mode 100644
index 663da9bcbe4d..000000000000
--- a/dev-libs/socketstream/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">socketstream</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/socketstream/socketstream-0.7.0-r1.ebuild b/dev-libs/socketstream/socketstream-0.7.0-r1.ebuild
deleted file mode 100644
index 741291a7e96b..000000000000
--- a/dev-libs/socketstream/socketstream-0.7.0-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="C++ Streaming sockets library"
-HOMEPAGE="http://socketstream.sourceforge.net/"
-SRC_URI="mirror://sourceforge/socketstream/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 ~hppa ~ppc ~sparc x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-missing_includes.patch
- "${FILESDIR}"/${P}-gcc47.patch
-)
-
-src_prepare() {
- default
- # include/Makefile uses DIST_SUBDIRS and thus headers dont get installed
- sed -i 's|^DIST_\(SUBDIRS =\)|\1|' include/Makefile.in || \
- die "sed include/Makefile.in failed"
-}
-
-src_compile() {
- default
- use doc && emake doxygen
-}
-
-src_install() {
- use doc && local HTML_DOCS=( docs/html/. )
- default
-}
diff --git a/dev-libs/softhsm/Manifest b/dev-libs/softhsm/Manifest
index fd32042b455c..cd1921ec4c2c 100644
--- a/dev-libs/softhsm/Manifest
+++ b/dev-libs/softhsm/Manifest
@@ -1 +1,2 @@
-DIST softhsm-2.5.0.tar.gz 1078439 BLAKE2B f96f9e08f3ea568daccb64a5de94ac91b5efcee3dea09f460e98491e7fcdca1277ed52c339a2ec10dac2f78c9e7e44fe5c4a7d36c58e97afba6e749979d4d7e0 SHA512 a1e686729196dc25591eb3da57c2c8ea8494ed274ba711842b2dcae696f477a202acda13a975b8fb1eb68e8e44a79e839dbbc6ba500cab02ad13072c660752d9
+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/files/softhsm-2.5.0-libressl.patch b/dev-libs/softhsm/files/softhsm-2.5.0-libressl.patch
deleted file mode 100644
index 9aeaf2939ac4..000000000000
--- a/dev-libs/softhsm/files/softhsm-2.5.0-libressl.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 308b0b2760d6cb218003768747346d31764f1cfe Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Fri, 19 Oct 2018 23:19:48 +0300
-Subject: [PATCH] crypto: use ENGINE_load_rdrand with recent openssl
-
-libressl and probably older openssl do not support this.
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
----
- src/lib/crypto/OSSLCryptoFactory.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-https://github.com/opendnssec/SoftHSMv2/pull/423
-
-diff --git a/src/lib/crypto/OSSLCryptoFactory.cpp b/src/lib/crypto/OSSLCryptoFactory.cpp
-index dc5f737..04d383d 100644
---- a/src/lib/crypto/OSSLCryptoFactory.cpp
-+++ b/src/lib/crypto/OSSLCryptoFactory.cpp
-@@ -141,8 +141,10 @@ OSSLCryptoFactory::OSSLCryptoFactory()
- // Initialise OpenSSL
- OpenSSL_add_all_algorithms();
-
-+#if !( OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) )
- // Make sure RDRAND is loaded first
- ENGINE_load_rdrand();
-+#endif
- // Locate the engine
- rdrand_engine = ENGINE_by_id("rdrand");
- // Use RDRAND if available
---
-2.18.1
-
diff --git a/dev-libs/softhsm/metadata.xml b/dev-libs/softhsm/metadata.xml
index 5b486dde6ca3..61d4cdeef207 100644
--- a/dev-libs/softhsm/metadata.xml
+++ b/dev-libs/softhsm/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<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.5.0.ebuild b/dev-libs/softhsm/softhsm-2.5.0.ebuild
deleted file mode 100644
index c05dee21086a..000000000000
--- a/dev-libs/softhsm/softhsm-2.5.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2019 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"
-
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE="bindist gost libressl migration-tool test"
-SLOT="2"
-LICENSE="BSD"
-
-RDEPEND="migration-tool? ( dev-db/sqlite:3= )
- !libressl? ( dev-libs/openssl:0=[bindist=] )
- libressl? ( dev-libs/libressl:= )
- !~dev-libs/softhsm-2.0.0:0"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- sys-devel/gcc:=[cxx]
- test? ( dev-util/cppunit )"
-
-DOCS=(
- NEWS
- README.md
-)
-
-PATCHES=(
- "${FILESDIR}/${P}-libressl.patch"
-)
-
-src_configure() {
- econf \
- --disable-static \
- --with-crypto-backend=openssl \
- --disable-p11-kit \
- --localstatedir="${EROOT}/var" \
- $(use_enable !bindist ecc) \
- $(use_enable gost) \
- $(use_with migration-tool migrate)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-
- keepdir "${EROOT}/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
new file mode 100644
index 000000000000..dc8c0e0ad289
--- /dev/null
+++ b/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 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 ~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 )
+
+src_configure() {
+ econf \
+ --disable-static \
+ --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/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 cc4ba82085e1..06caaaff6513 100644
--- a/dev-libs/sord/Manifest
+++ b/dev-libs/sord/Manifest
@@ -1 +1 @@
-DIST sord-0.16.0.tar.bz2 316331 BLAKE2B 27702600e48e14c75be18cc2b83705cdea1eed7158223ee685821ae80b18b61f5db82f804ee6a32236143cf8287ee875c3b3354edc6ccd1d4f25eaa3a04c785b SHA512 e18c6de62f2cbffedd4c200f6452f4fd37f719aed764ccc1b77c8da04a0f3394d47e8b57e19eefd6d600770926f505fdfa5da91564bbff5f4ead49f1adaba249
+DIST sord-0.16.16.tar.xz 107148 BLAKE2B e657f6e4d38df1c254ce6282ae54a6795e29fd60546373a2b4e1560b269658fa69dd93af4d6f75eaa73f9f777a2d82f99f80d34fd65e1001b8231b63af71029f SHA512 8728fa01466e8f64c1a70a6d4ce727cdac3aaba78db0163ad511d7e959a260c95ab47405cce24ca0e076fb1f0da761687d788cddef87a96aa813757d10f0bfe0
diff --git a/dev-libs/sord/metadata.xml b/dev-libs/sord/metadata.xml
index f79bb67acbd9..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.0-r1.ebuild b/dev-libs/sord/sord-0.16.0-r1.ebuild
deleted file mode 100644
index 7407ad773d86..000000000000
--- a/dev-libs/sord/sord-0.16.0-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-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 x86"
-IUSE="doc static-libs test"
-
-RDEPEND=">=dev-libs/serd-0.28.0-r1"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig"
-
-DOCS=( "AUTHORS" "NEWS" "README" )
-
-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-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-9999.ebuild b/dev-libs/sord/sord-9999.ebuild
new file mode 100644
index 000000000000..e07c89d97856
--- /dev/null
+++ b/dev-libs/sord/sord-9999.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/spdlog/Manifest b/dev-libs/spdlog/Manifest
index 9beed729a3b6..ea3f87cdbd7e 100644
--- a/dev-libs/spdlog/Manifest
+++ b/dev-libs/spdlog/Manifest
@@ -1,3 +1,3 @@
-DIST spdlog-1.2.1.tar.gz 188284 BLAKE2B c3491a9c44d8a94c51d50c9ef36a2105f77e8fb61bb7b2b81a341609f433abbe3a74e7b4a467dd715a5d906f976740716488d07b4510f366556ab59d160ceefe SHA512 418f91efc207fa227558212d82c41639c0bb59e84ea47447e0b6276c4842e97f1f8aaf5802c071ef15d80ec525e317e70b6a39661a6c96ab39d33d9bd1570da1
-DIST spdlog-1.3.0.tar.gz 202637 BLAKE2B 97027a3672b826e294dbdc202afa913a42ddae5a02a569ac28c41d79b96128de045ac5df30a76d888d6b3bea5093fb75b006365d7b1b296842750a39f43835d6 SHA512 019a52d4b6c66287ee2a6e8177457ecbbb78e1cb894f4a0a90b83a84d66cd37b397cdf77892d9116e4c34113bd3277d606d578bc96ec6521ae7745f08b1aa54f
-DIST spdlog-1.3.1.tar.gz 202634 BLAKE2B 2465a8d1a38af1527ae66d92f5dd91ad504d01e44ac47702e315f7448e19f01743627357132f0561e48807315df9b102f337f95cab5a7aae3ec0ae7ceff940b9 SHA512 a851a44b6384f493dd312ae0a611d068af46bbfe8daf1c2f61f13d8836a3801f41b339074fbe8da8e428131c82fa5c4a9e3320a55cbdd4b7aff8bb349dfff7dd
+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.0.0-unbundle-fmt.patch b/dev-libs/spdlog/files/spdlog-1.0.0-unbundle-fmt.patch
deleted file mode 100644
index c039dc47a6ae..000000000000
--- a/dev-libs/spdlog/files/spdlog-1.0.0-unbundle-fmt.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/include/spdlog/fmt/fmt.h b/include/spdlog/fmt/fmt.h
---- a/include/spdlog/fmt/fmt.h
-+++ b/include/spdlog/fmt/fmt.h
-@@ -17,9 +17,7 @@
- #ifndef FMT_USE_WINDOWS_H
- #define FMT_USE_WINDOWS_H 0
- #endif
--#include "bundled/core.h"
--#include "bundled/format.h"
--#else // external fmtlib
-+#endif // external fmtlib
-+
- #include <fmt/core.h>
- #include <fmt/format.h>
--#endif
-diff --git a/include/spdlog/fmt/ostr.h b/include/spdlog/fmt/ostr.h
---- a/include/spdlog/fmt/ostr.h
-+++ b/include/spdlog/fmt/ostr.h
-@@ -11,8 +11,6 @@
- #ifndef FMT_HEADER_ONLY
- #define FMT_HEADER_ONLY
- #endif
--#include "bundled/ostream.h"
--#include "fmt.h"
--#else
--#include <fmt/ostream.h>
- #endif
-+
-+#include <fmt/ostream.h>
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-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/metadata.xml b/dev-libs/spdlog/metadata.xml
index a7c882298820..b07153ebc2ef 100644
--- a/dev-libs/spdlog/metadata.xml
+++ b/dev-libs/spdlog/metadata.xml
@@ -1,11 +1,11 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>davidroman96@gmail.com</email>
<name>David Roman</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
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.11.0-r4.ebuild b/dev-libs/spdlog/spdlog-1.11.0-r4.ebuild
new file mode 100644
index 000000000000..02a505623954
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.11.0-r4.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-multilib
+
+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/1"
+IUSE="test static-libs"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DEPEND="
+ >=dev-libs/libfmt-9.1.0-r2[${MULTILIB_USEDEP}]
+"
+
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+ "${FILESDIR}/${PN}-fmt-10.patch"
+ "${FILESDIR}/${PN}-musl-1.2.4.patch"
+)
+
+multilib_src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=$(usex static-libs)
+ -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.12.0-r3.ebuild b/dev-libs/spdlog/spdlog-1.12.0-r3.ebuild
new file mode 100644
index 000000000000..298801759f76
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.12.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-multilib
+
+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 static-libs"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ >=dev-cpp/catch-3.4.0
+ )
+"
+DEPEND="
+ >=dev-libs/libfmt-9.1.0-r2[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+ "${FILESDIR}/${P}-fix-tests.patch"
+)
+
+multilib_src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=$(usex static-libs)
+ -DSPDLOG_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/spdlog/spdlog-1.13.0-r1.ebuild b/dev-libs/spdlog/spdlog-1.13.0-r1.ebuild
new file mode 100644
index 000000000000..01917c4d913f
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.13.0-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-multilib
+
+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 static-libs"
+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"
+)
+
+multilib_src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=$(usex static-libs)
+ -DSPDLOG_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/spdlog/spdlog-1.2.1.ebuild b/dev-libs/spdlog/spdlog-1.2.1.ebuild
deleted file mode 100644
index 192745e8ae46..000000000000
--- a/dev-libs/spdlog/spdlog-1.2.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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/spdlog"
-else
- SRC_URI="https://github.com/gabime/spdlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-
-DEPEND="
- >=dev-libs/libfmt-5.0.0
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-1.0.0-unbundle-fmt.patch" )
-
-src_configure() {
- rm -r include/spdlog/fmt/bundled || die
-
- local mycmakeargs=(
- -DSPDLOG_BUILD_EXAMPLES=no
- -DSPDLOG_BUILD_TESTING=$(usex test)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-1.3.0.ebuild b/dev-libs/spdlog/spdlog-1.3.0.ebuild
deleted file mode 100644
index 497e7da9b419..000000000000
--- a/dev-libs/spdlog/spdlog-1.3.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/spdlog"
-else
- SRC_URI="https://github.com/gabime/spdlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-
-DEPEND="
- >=dev-libs/libfmt-5.0.0
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-1.0.0-unbundle-fmt.patch" )
-
-src_configure() {
- rm -r include/spdlog/fmt/bundled || die
-
- local mycmakeargs=(
- -DSPDLOG_BUILD_EXAMPLES=no
- -DSPDLOG_BUILD_BENCH=no
- -DSPDLOG_BUILD_TESTS=$(usex test)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-1.3.1.ebuild b/dev-libs/spdlog/spdlog-1.3.1.ebuild
deleted file mode 100644
index 497e7da9b419..000000000000
--- a/dev-libs/spdlog/spdlog-1.3.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-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/spdlog"
-else
- SRC_URI="https://github.com/gabime/spdlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-
-DEPEND="
- >=dev-libs/libfmt-5.0.0
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-1.0.0-unbundle-fmt.patch" )
-
-src_configure() {
- rm -r include/spdlog/fmt/bundled || die
-
- local mycmakeargs=(
- -DSPDLOG_BUILD_EXAMPLES=no
- -DSPDLOG_BUILD_BENCH=no
- -DSPDLOG_BUILD_TESTS=$(usex test)
- )
-
- cmake-utils_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-9999.ebuild b/dev-libs/spdlog/spdlog-9999.ebuild
index 497e7da9b419..01917c4d913f 100644
--- a/dev-libs/spdlog/spdlog-9999.ebuild
+++ b/dev-libs/spdlog/spdlog-9999.ebuild
@@ -1,40 +1,54 @@
-# 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
-inherit cmake-utils
+inherit cmake-multilib
-DESCRIPTION="Very fast, header only, C++ logging library"
+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/spdlog"
+ EGIT_REPO_URI="https://github.com/gabime/${PN}"
else
- SRC_URI="https://github.com/gabime/spdlog/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
+ 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/1"
-IUSE="test"
-
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test static-libs"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ >=dev-cpp/catch-3.4.0
+ )
+"
DEPEND="
- >=dev-libs/libfmt-5.0.0
+ >=dev-libs/libfmt-8.0.0:=
"
RDEPEND="${DEPEND}"
-PATCHES=( "${FILESDIR}/${PN}-1.0.0-unbundle-fmt.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+)
-src_configure() {
- rm -r include/spdlog/fmt/bundled || die
+multilib_src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+multilib_src_configure() {
local mycmakeargs=(
- -DSPDLOG_BUILD_EXAMPLES=no
-DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=$(usex static-libs)
-DSPDLOG_BUILD_TESTS=$(usex test)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/dev-libs/spsdeclib/metadata.xml b/dev-libs/spsdeclib/metadata.xml
index 29b8f4c73b66..396b4f7be450 100644
--- a/dev-libs/spsdeclib/metadata.xml
+++ b/dev-libs/spsdeclib/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ck+gentoo@bl4ckb0x.de</email>
+ <email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
The SPS decoder library will load IPF and CT Raw files in the emulator of your choice.
Kryofluxes <pkg>app-misc/kryoflux-dtc</pkg> also will need this.
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 3aab0f92fab0..000000000000
--- a/dev-libs/spsdeclib/spsdeclib-5.1-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 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"
-
-DEPEND="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/metadata.xml b/dev-libs/squareball/metadata.xml
index 4b2e3e78af5b..9abc512f4f8c 100644
--- a/dev-libs/squareball/metadata.xml
+++ b/dev-libs/squareball/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>rafaelmartins@gentoo.org</email>
- <name>Rafael G. Martins</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<maintainer status="active">
<email>rafael@rafaelmartins.eng.br</email>
diff --git a/dev-libs/squareball/squareball-0.2.0.ebuild b/dev-libs/squareball/squareball-0.2.0.ebuild
index ef32270e8cfd..d38119fc6536 100644
--- a/dev-libs/squareball/squareball-0.2.0.ebuild
+++ b/dev-libs/squareball/squareball-0.2.0.ebuild
@@ -1,37 +1,30 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/rafaelmartins/${PN}.git"
- inherit git-r3 autotools
+ inherit autotools git-r3
fi
-inherit eutils
-
DESCRIPTION="A general-purpose library for C99"
HOMEPAGE="https://github.com/rafaelmartins/squareball"
-
-SRC_URI="https://github.com/rafaelmartins/${PN}/releases/download/v${PV}/${P}.tar.xz"
-KEYWORDS="~amd64 ~x86"
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
- KEYWORDS=""
+if ! [[ ${PV} = *9999* ]]; then
+ SRC_URI="https://github.com/rafaelmartins/${PN}/releases/download/v${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
fi
LICENSE="BSD"
SLOT="0"
IUSE="doc test static-libs"
+RESTRICT="!test? ( test )"
-RDEPEND=""
-
-DEPEND="
+BDEPEND="
virtual/pkgconfig
- test? (
- dev-util/cmocka )
- doc? (
- app-doc/doxygen )"
+ doc? ( app-text/doxygen )
+"
+DEPEND="test? ( dev-util/cmocka )"
src_prepare() {
[[ ${PV} = *9999* ]] && eautoreconf
@@ -54,5 +47,6 @@ src_compile() {
src_install() {
use doc && HTML_DOCS=( doc/build/html/* )
default
- prune_libtool_files --all
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/squareball/squareball-9999.ebuild b/dev-libs/squareball/squareball-9999.ebuild
index ef32270e8cfd..c08f98a1d5b7 100644
--- a/dev-libs/squareball/squareball-9999.ebuild
+++ b/dev-libs/squareball/squareball-9999.ebuild
@@ -1,37 +1,30 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/rafaelmartins/${PN}.git"
- inherit git-r3 autotools
+ inherit autotools git-r3
fi
-inherit eutils
-
DESCRIPTION="A general-purpose library for C99"
HOMEPAGE="https://github.com/rafaelmartins/squareball"
-
-SRC_URI="https://github.com/rafaelmartins/${PN}/releases/download/v${PV}/${P}.tar.xz"
-KEYWORDS="~amd64 ~x86"
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
- KEYWORDS=""
+if [[ ${PV} != *9999* ]]; then
+ SRC_URI="https://github.com/rafaelmartins/${PN}/releases/download/v${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
fi
LICENSE="BSD"
SLOT="0"
IUSE="doc test static-libs"
+RESTRICT="!test? ( test )"
-RDEPEND=""
-
-DEPEND="
+BDEPEND="
virtual/pkgconfig
- test? (
- dev-util/cmocka )
- doc? (
- app-doc/doxygen )"
+ doc? ( app-text/doxygen )
+"
+DEPEND="test? ( dev-util/cmocka )"
src_prepare() {
[[ ${PV} = *9999* ]] && eautoreconf
@@ -54,5 +47,6 @@ src_compile() {
src_install() {
use doc && HTML_DOCS=( doc/build/html/* )
default
- prune_libtool_files --all
+
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/starpu/Manifest b/dev-libs/starpu/Manifest
index 633a7379b6f3..eb520f1b53e7 100644
--- a/dev-libs/starpu/Manifest
+++ b/dev-libs/starpu/Manifest
@@ -1 +1,2 @@
DIST starpu-1.2.6.tar.gz 8911397 BLAKE2B a73cb3b230282b0b828fdaeb65f5491928fde1b2e5797f739a99c87318fa29511196f7121a72ff91bf0d663938b50f200d108fdce2726eb7ea8c7e997156dc13 SHA512 5971f8875dd54c73486583456bd0bc81c2865cb5b8bba6d47a5085d76fa6294c869efdd1c1d14144d08e6c14cbbea3a773474d46aa827ca24f58d9fb57ccbed7
+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 e3bd900a60ad..c4545cea9598 100644
--- a/dev-libs/starpu/metadata.xml
+++ b/dev-libs/starpu/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
@@ -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
new file mode 100644
index 000000000000..3f0131f2985f
--- /dev/null
+++ b/dev-libs/starpu/starpu-1.2.6-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+FORTRAN_STANDARD=90
+FORTRAN_NEEDED="fortran"
+inherit autotools cuda fortran-2 toolchain-funcs
+
+DESCRIPTION="Unified runtime system for heterogeneous multicore architectures"
+HOMEPAGE="http://starpu.gforge.inria.fr/"
+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"
+
+IUSE="
+ blas cuda doc examples fftw fortran gcc-plugin mpi opencl opengl
+ spinlock-check static-libs test valgrind
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-mathematics/glpk:0=
+ sys-apps/hwloc:0=
+ blas? ( virtual/blas )
+ cuda? ( dev-util/nvidia-cuda-toolkit
+ x11-drivers/nvidia-drivers )
+ fftw? ( sci-libs/fftw:3.0= )
+ mpi? ( virtual/mpi )
+ opencl? ( virtual/opencl )
+ opengl? ( media-libs/freeglut:0= )
+ valgrind? ( dev-debug/valgrind )
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen virtual/latex-base )
+ test? ( gcc-plugin? ( dev-scheme/guile ) )
+"
+
+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 \
+ --disable-magma \
+ $(use mpi && use_enable test mpi-check) \
+ $(use_enable cuda) \
+ $(use_enable doc build-doc) \
+ $(use_enable fftw starpufft) \
+ $(use_enable fortran) \
+ $(use_enable gcc-plugin gcc-extensions) \
+ $(use_enable opencl) \
+ $(use_enable opengl opengl-render) \
+ $(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 \
+ --disable-starpu-top
+}
+
+src_test() {
+ emake -j1 showcheck
+}
+
+src_install() {
+ default
+ use doc && dodoc -r doc/doxygen/*.pdf doc/doxygen/html
+ 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/starpu/starpu-1.2.6.ebuild b/dev-libs/starpu/starpu-1.2.6.ebuild
deleted file mode 100644
index 5417166bdf11..000000000000
--- a/dev-libs/starpu/starpu-1.2.6.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-FORTRAN_STANDARD=90
-FORTRAN_NEEDED="fortran"
-inherit autotools cuda fortran-2 toolchain-funcs
-
-DESCRIPTION="Unified runtime system for heterogeneous multicore architectures"
-HOMEPAGE="http://starpu.gforge.inria.fr/"
-SRC_URI="https://gforge.inria.fr/frs/download.php/file/37744/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/8"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-IUSE="
- blas cuda doc examples fftw fortran gcc-plugin mpi opencl opengl
- spinlock-check static-libs test valgrind
-"
-
-RDEPEND="
- sci-mathematics/glpk:0=
- sys-apps/hwloc:0=
- blas? ( virtual/blas )
- cuda? ( dev-util/nvidia-cuda-toolkit
- x11-drivers/nvidia-drivers
- blas? ( sci-libs/magma ) )
- fftw? ( sci-libs/fftw:3.0= )
- mpi? ( virtual/mpi )
- opencl? ( virtual/opencl )
- opengl? ( media-libs/freeglut:0= )
- valgrind? ( dev-util/valgrind )
-"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen virtual/latex-base )
- test? ( gcc-plugin? ( dev-scheme/guile ) )
-"
-
-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 cuda && use_enable blas magma) \
- $(use mpi && use_enable test mpi-check) \
- $(use_enable cuda) \
- $(use_enable doc build-doc) \
- $(use_enable fftw starpufft) \
- $(use_enable fortran) \
- $(use_enable gcc-plugin gcc-extensions) \
- $(use_enable opencl) \
- $(use_enable opengl opengl-render) \
- $(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 \
- --disable-starpu-top
-}
-
-src_test() {
- emake -j1 showcheck
-}
-
-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/*
- fi
- prune_libtool_files --all
-}
diff --git a/dev-libs/starpu/starpu-1.3.9.ebuild b/dev-libs/starpu/starpu-1.3.9.ebuild
new file mode 100644
index 000000000000..5e6e66130d4a
--- /dev/null
+++ b/dev-libs/starpu/starpu-1.3.9.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 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 arm64 ~hppa ~ia64 ~loong ~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-debug/valgrind )
+"
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ 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() {
+ 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/stb/Manifest b/dev-libs/stb/Manifest
index d666f6933701..3878b03f7285 100644
--- a/dev-libs/stb/Manifest
+++ b/dev-libs/stb/Manifest
@@ -1 +1 @@
-DIST stb-20180211.tar.gz 1327803 BLAKE2B a910ac78c5e3760a3e4c74e033d15230c39abd89aeb083ba6c7cd23f8339926e8ab82fde1b6f4fe7a1a312023979a74b961abe263c40b18b3bb8239cbdfa204e SHA512 232ef301d4d6c82c7c5f0e4234b9160cc815f3b6bcc35d341cdf8738646f2f0887ee9838680699f4c9f4274b1390036b2c4fb3ebc2d663af8ff888114dc9f04b
+DIST stb-20240201.tar.gz 1510288 BLAKE2B f11e802c6e9efe60bf08bb6071b6e8a12fc7a0713f450379534c2a4fc96c2023a190f4fed598fa7fa9b577e19f14bffbfa2f54dff1ebf72d933dc0113aa820c5 SHA512 2403ddb14b7c1a49f12bb0b43e52c612d58e4382ed03f59b4255560900eb7f08651b6688ec8b468b89e999611a67de5bd1102aa03d3847e3dd2d464175a11905
diff --git a/dev-libs/stb/metadata.xml b/dev-libs/stb/metadata.xml
index c6be08a32616..6b5b5a5b80e3 100644
--- a/dev-libs/stb/metadata.xml
+++ b/dev-libs/stb/metadata.xml
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>3dprint@gentoo.org</email>
<name>Gentoo 3D Printer Project</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>mathy@vanvoorden.be</email>
<name>Mathy Vanvoorden</name>
</maintainer>
<upstream>
+ <bugs-to>https://github.com/nothings/stb/issues</bugs-to>
<remote-id type="github">nothings/stb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/stb/stb-20180211.ebuild b/dev-libs/stb/stb-20180211.ebuild
deleted file mode 100644
index 6efc838e61bb..000000000000
--- a/dev-libs/stb/stb-20180211.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# There are no offical releases
-CHECKSUM="e6afb9cbae4064da8c3e69af3ff5c4629579c1d2"
-
-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 ~x86"
-
-IUSE=""
-
-S="${WORKDIR}/${PN}-${CHECKSUM}"
-
-DEPEND=""
-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.22-pc-libdir.patch b/dev-libs/stfl/files/stfl-0.22-pc-libdir.patch
new file mode 100644
index 000000000000..82a9529c9573
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.22-pc-libdir.patch
@@ -0,0 +1,24 @@
+diff -ru stfl-0.24.orig/Makefile stfl-0.24/Makefile
+--- stfl-0.24.orig/Makefile 2015-02-12 14:14:33.000000000 +0100
++++ stfl-0.24/Makefile 2020-09-07 14:08:04.125833347 +0200
+@@ -67,7 +67,7 @@
+ ln -fs libstfl.so.$(VERSION) $(DESTDIR)$(prefix)/$(libdir)/libstfl.so
+
+ stfl.pc: stfl.pc.in
+- sed 's,@VERSION@,$(VERSION),g' < $< | sed 's,@PREFIX@,$(prefix),g' > $@
++ sed 's,@VERSION@,$(VERSION),g' < $< | sed 's,@PREFIX@,$(prefix),g' | sed 's,@LIBDIR@,${libdir},g' > $@
+
+ ifeq ($(FOUND_SPL),1)
+ include spl/Makefile.snippet
+diff -ru stfl-0.24.orig/stfl.pc.in stfl-0.24/stfl.pc.in
+--- stfl-0.24.orig/stfl.pc.in 2009-03-30 20:33:37.000000000 +0200
++++ stfl-0.24/stfl.pc.in 2020-09-07 14:08:07.784854088 +0200
+@@ -2,7 +2,7 @@
+
+ prefix=@PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@LIBDIR@
+ includedir=${prefix}/include
+
+ Name: STFL
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/metadata.xml b/dev-libs/stfl/metadata.xml
index abb4b8f2540d..ffa10ddf5e77 100644
--- a/dev-libs/stfl/metadata.xml
+++ b/dev-libs/stfl/metadata.xml
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>radhermit@gentoo.org</email>
- <name>Tim Harder</name>
+ <email>cedk@gentoo.org</email>
</maintainer>
<longdescription lang="en">
STFL is a library which implements a curses-based widget set for text
diff --git a/dev-libs/stfl/stfl-0.24-r4.ebuild b/dev-libs/stfl/stfl-0.24-r4.ebuild
new file mode 100644
index 000000000000..6fc8cd5251c2
--- /dev/null
+++ b/dev-libs/stfl/stfl-0.24-r4.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..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 )
+"
+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"
+)
+
+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)"
+
+ 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/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/stfl/stfl-0.24.ebuild b/dev-libs/stfl/stfl-0.24.ebuild
deleted file mode 100644
index 18f86be116d5..000000000000
--- a/dev-libs/stfl/stfl-0.24.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-GENTOO_DEPEND_ON_PERL=no
-inherit eutils multilib 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 ppc x86"
-IUSE="examples perl python ruby static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- sys-libs/ncurses:0=[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 )
-"
-
-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/' \
- Makefile || die "sed failed"
-
- if ! use static-libs ; then
- sed -i -e "/install .* libstfl.a/d" Makefile || die
- fi
-
- epatch "${FILESDIR}"/${PN}-0.21-python.patch
- epatch "${FILESDIR}"/${PN}-0.22-soname-symlink.patch
- epatch "${FILESDIR}"/${PN}-0.22-ruby-sharedlib.patch
-
- 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)"
-
- 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/stlsoft/Manifest b/dev-libs/stlsoft/Manifest
deleted file mode 100644
index 6ec758e33f6b..000000000000
--- a/dev-libs/stlsoft/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST stlsoft-1.9.111-hdrs.zip 2074341 BLAKE2B 73377b822c7c2251011691c9452ef1788dc80fb5a1334e5adad905eb6d525f766b5d817afc4386c26de2f3767114a57e1f7b8918245d7c274514cbf3ee9d130d SHA512 0b277d87444e93ac2918072daf4065240fe18d941831b41cf810427fa51d950922359fa6b9e441fb7d33e26a86a5830e237bc765ff4e7fbc2ec276a708836b7c
diff --git a/dev-libs/stlsoft/metadata.xml b/dev-libs/stlsoft/metadata.xml
deleted file mode 100644
index 35c25a052436..000000000000
--- a/dev-libs/stlsoft/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">stlsoft</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/stlsoft/stlsoft-1.9.111.ebuild b/dev-libs/stlsoft/stlsoft-1.9.111.ebuild
deleted file mode 100644
index 8a17de2830d6..000000000000
--- a/dev-libs/stlsoft/stlsoft-1.9.111.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-DESCRIPTION="Robust, Lightweight, Cross-platform, Template Software"
-HOMEPAGE="http://www.stlsoft.org/"
-SRC_URI="mirror://sourceforge/stlsoft/${P}-hdrs.zip"
-
-LICENSE="BSD"
-SLOT="1.9"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-RDEPEND=""
-
-src_install() {
- default
- insinto /usr
- doins -r include/
-}
diff --git a/dev-libs/svrcore/Manifest b/dev-libs/svrcore/Manifest
deleted file mode 100644
index a6e8077fe589..000000000000
--- a/dev-libs/svrcore/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST svrcore-4.0.4.tar.bz2 217076 BLAKE2B 1d5b1c6d397552f299554a19c21a81d1df8f449480095102d46bd2c9db8e4b667302f06fd199579dffb854f47fcb6f6ba54d505e3e6d3ccdfcf54dca07363f81 SHA512 4a63e2618ef8f508e71adf212eefae56e3c9d9898b924f405399bb99793de57bd178a3417f9e837c474e7960b6eb8a3cbe775b420c8fecbd974e89b4196b78fc
-DIST svrcore-4.1.2.tar.bz2 263891 BLAKE2B 4d546406e18099857c1d77d479123332bdc721b51f5ad6bae74812b77704d3d6f8fa2ab67848355be7050fc3ee161c534fc7ee1692811fe9829da513f7cba29e SHA512 9d148ec9c568f1183e44006fec83b4e43b0cef56d5a04fce122fab1e9a0c0bfe39919de81c5a4d7adb2258fb7f16b4d327da20cdb4d948810e968c422d62ad40
diff --git a/dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch b/dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch
deleted file mode 100644
index 83e9f7fca359..000000000000
--- a/dev-libs/svrcore/files/svrcore-4.0.4-gentoo.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-diff -uNr src/Makefile.am svrcore-4.0.4src/Makefile.am
---- src/Makefile.am 2006-12-14 18:07:32.000000000 +0100
-+++ src/Makefile.am 2007-08-06 17:37:17.000000000 +0200
-@@ -4,8 +4,8 @@
- Makefile.win \
- ntgetpin.rc
-
--lib_LTLIBRARIES = libsvrcore.la
--include_HEADERS = svrcore.h
-+pkglib_LTLIBRARIES = libsvrcore.la
-+pkginclude_HEADERS = svrcore.h
- libsvrcore_la_SOURCES = alt.c \
- cache.c \
- errors.c \
-diff -uNr svrcore.pc.in svrcore.pc.in
---- svrcore.pc.in 2006-12-14 18:07:32.000000000 +0100
-+++ svrcore.pc.in 2007-08-06 17:38:12.000000000 +0200
-@@ -1,11 +1,11 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
--includedir=@includedir@
-+libdir=@libdir@/@PACKAGE@
-+includedir=@includedir@/@PACKAGE@
-
- Name: svrcore
- Description: Svrcore - Secure PIN handling using NSS crypto
- Version: @VERSION@
- Requires: @NSPR_NAME@ >= @NSPR_MIN_VER@ , @NSS_NAME@ >= @NSS_MIN_VER@
--Libs: -lsvrcore
-+Libs: -L${libdir} -lsvrcore
- Cflags: -I${includedir}
-diff -ur m4.orig/nspr.m4 m4/nspr.m4
---- m4.orig/nspr.m4 2009-10-06 01:40:18.979484804 +0300
-+++ m4/nspr.m4 2009-10-06 01:41:21.539982482 +0300
-@@ -52,28 +52,6 @@
- ],
- AC_MSG_RESULT(no))
-
--# see if we are doing an "in-tree" build with the other
--# mozilla components
--if test -z "$nspr_inc" -o -z "$nspr_lib" ; then
-- for nsprpath in "../../dist" "../../dist/*.OBJ" ; do
-- savedir=`pwd`
-- cd $nsprpath
-- abs_nsprpath=`pwd`
-- cd $savedir
-- if test -f "$abs_nsprpath/include/nspr/nspr.h" ; then
-- nspr_inc="-I$abs_nsprpath/include/nspr"
-- elif test -f "$abs_nsprpath/include/nspr.h" ; then
-- nspr_inc="-I$abs_nsprpath/include"
-- fi
-- if test -d "$abs_nsprpath/lib" ; then
-- nspr_lib="-L$abs_nsprpath/lib"
-- fi
-- if test -n "$nspr_inc" -a -n "$nspr_lib" ; then
-- break
-- fi
-- done
--fi
--
- # if NSPR is not found yet, try pkg-config
- # last resort
- if test -z "$nspr_inc" -o -z "$nspr_lib" ; then
-diff -ur m4.orig/nss.m4 m4/nss.m4
---- m4.orig/nss.m4 2009-10-06 01:40:18.979484804 +0300
-+++ m4/nss.m4 2009-10-06 01:41:31.291485717 +0300
-@@ -52,32 +52,6 @@
- ],
- AC_MSG_RESULT(no))
-
--# see if we are building "in tree" with the
--# other mozilla components
--if test -z "$nss_inc" -o -z "$nss_lib"; then
-- nsslibpath=`echo ../../dist/*.OBJ/lib | cut -f1 -d' '`
-- savedir=`pwd`
-- cd $nsslibpath
-- abs_nsslibpath=`pwd`
-- cd $savedir
-- nssincpath=../../dist/public/nss
-- savedir=`pwd`
-- cd $nssincpath
-- abs_nssincpath=`pwd`
-- cd $savedir
-- if test -f "$abs_nssincpath/nss.h" ; then
-- nss_inc="-I$abs_nssincpath"
-- fi
-- if test -d "$abs_nsslibpath" ; then
-- nss_lib="-L$abs_nsslibpath"
-- fi
-- if test -n "$nss_inc" -a -n "$nss_lib" ; then
-- AC_MSG_CHECKING(using in-tree NSS from $nssincpath $nsslibpath)
-- else
-- AC_MSG_CHECKING(could not find in-tree NSS in ../../dist)
-- fi
--fi
--
- # if NSS is not found yet, try pkg-config
- # last resort
- if test -z "$nss_inc" -o -z "$nss_lib"; then
diff --git a/dev-libs/svrcore/files/svrcore-4.1-gentoo.patch b/dev-libs/svrcore/files/svrcore-4.1-gentoo.patch
deleted file mode 100644
index 346407e124e3..000000000000
--- a/dev-libs/svrcore/files/svrcore-4.1-gentoo.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-diff -uNr a/m4/nspr.m4 b/m4/nspr.m4
---- a/m4/nspr.m4 2016-04-22 06:30:23.000000000 +1000
-+++ b/m4/nspr.m4 2016-06-08 15:06:49.923333338 +1000
-@@ -52,28 +52,6 @@
- ],
- AC_MSG_RESULT(no))
-
--# see if we are doing an "in-tree" build with the other
--# mozilla components
--if test -z "$nspr_inc" -o -z "$nspr_lib" ; then
-- for nsprpath in "../../dist" "../../dist/*.OBJ" ; do
-- savedir=`pwd`
-- cd $nsprpath
-- abs_nsprpath=`pwd`
-- cd $savedir
-- if test -f "$abs_nsprpath/include/nspr/nspr.h" ; then
-- nspr_inc="-I$abs_nsprpath/include/nspr"
-- elif test -f "$abs_nsprpath/include/nspr.h" ; then
-- nspr_inc="-I$abs_nsprpath/include"
-- fi
-- if test -d "$abs_nsprpath/lib" ; then
-- nspr_lib="-L$abs_nsprpath/lib"
-- fi
-- if test -n "$nspr_inc" -a -n "$nspr_lib" ; then
-- break
-- fi
-- done
--fi
--
- # if NSPR is not found yet, try pkg-config
- # last resort
- if test -z "$nspr_inc" -o -z "$nspr_lib" ; then
-diff -uNr a/m4/nss.m4 b/m4/nss.m4
---- a/m4/nss.m4 2016-04-22 06:30:23.000000000 +1000
-+++ b/m4/nss.m4 2016-06-08 15:06:49.923333338 +1000
-@@ -52,32 +52,6 @@
- ],
- AC_MSG_RESULT(no))
-
--# see if we are building "in tree" with the
--# other mozilla components
--if test -z "$nss_inc" -o -z "$nss_lib"; then
-- nsslibpath=`echo ../../dist/*.OBJ/lib | cut -f1 -d' '`
-- savedir=`pwd`
-- cd $nsslibpath
-- abs_nsslibpath=`pwd`
-- cd $savedir
-- nssincpath=../../dist/public/nss
-- savedir=`pwd`
-- cd $nssincpath
-- abs_nssincpath=`pwd`
-- cd $savedir
-- if test -f "$abs_nssincpath/nss.h" ; then
-- nss_inc="-I$abs_nssincpath"
-- fi
-- if test -d "$abs_nsslibpath" ; then
-- nss_lib="-L$abs_nsslibpath"
-- fi
-- if test -n "$nss_inc" -a -n "$nss_lib" ; then
-- AC_MSG_CHECKING(using in-tree NSS from $nssincpath $nsslibpath)
-- else
-- AC_MSG_CHECKING(could not find in-tree NSS in ../../dist)
-- fi
--fi
--
- # if NSS is not found yet, try pkg-config
- # last resort
- if test -z "$nss_inc" -o -z "$nss_lib"; then
-diff -uNr a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am 2016-04-22 06:30:23.000000000 +1000
-+++ b/src/Makefile.am 2016-06-08 15:06:49.923333338 +1000
-@@ -10,8 +10,8 @@
- Makefile.win \
- ntgetpin.rc
-
--lib_LTLIBRARIES = libsvrcore.la
--include_HEADERS = svrcore.h
-+pkglib_LTLIBRARIES = libsvrcore.la
-+pkginclude_HEADERS = svrcore.h
- libsvrcore_la_SOURCES = alt.c \
- cache.c \
- errors.c \
-diff -uNr a/svrcore.pc.in b/svrcore.pc.in
---- a/svrcore.pc.in 2016-04-22 06:30:23.000000000 +1000
-+++ b/svrcore.pc.in 2016-06-08 15:06:49.923333338 +1000
-@@ -1,11 +1,11 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
--includedir=@includedir@
-+libdir=@libdir@/@PACKAGE@
-+includedir=@includedir@/@PACKAGE@
-
- Name: svrcore
- Description: Svrcore - Secure PIN handling using NSS crypto
- Version: @VERSION@
- Requires: @NSPR_NAME@ >= @NSPR_MIN_VER@ , @NSS_NAME@ >= @NSS_MIN_VER@
--Libs: -lsvrcore
-+Libs: -L${libdir} -lsvrcore
- Cflags: -I${includedir}
diff --git a/dev-libs/svrcore/metadata.xml b/dev-libs/svrcore/metadata.xml
deleted file mode 100644
index 585b0dc75dda..000000000000
--- a/dev-libs/svrcore/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- </pkgmetadata>
diff --git a/dev-libs/svrcore/svrcore-4.0.4-r1.ebuild b/dev-libs/svrcore/svrcore-4.0.4-r1.ebuild
deleted file mode 100644
index b88e4a800e90..000000000000
--- a/dev-libs/svrcore/svrcore-4.0.4-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib autotools eutils
-
-DESCRIPTION="Mozilla LDAP C SDK"
-HOMEPAGE="http://wiki.mozilla.org/LDAP_C_SDK"
-SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/directory/svrcore/releases/"${PV}"/src/"${P}".tar.bz2"
-
-LICENSE="MPL-1.1 GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=">=dev-libs/nss-3.11
- >=dev-libs/nspr-4.6"
-
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- epatch "${FILESDIR}"/"${P}"-gentoo.patch
- eautoreconf
-}
-
-src_configure() {
- econf --with-pic || die "cannot configure"
-}
-
-src_install () {
- default
-
- # cope with libraries being in /usr/lib/svrcore
- echo "LDPATH=/usr/$(get_libdir)/svrcore" > 08svrcore
- dodir /etc/env.d
- doenvd 08svrcore
-
- dodoc ChangeLog INSTALL NEWS TODO README AUTHORS
-}
diff --git a/dev-libs/svrcore/svrcore-4.1.2.ebuild b/dev-libs/svrcore/svrcore-4.1.2.ebuild
deleted file mode 100644
index 9de0cc2dfa35..000000000000
--- a/dev-libs/svrcore/svrcore-4.1.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Mozilla LDAP C SDK"
-HOMEPAGE="http://www.port389.org/"
-SRC_URI="http://www.port389.org/binaries/${P}.tar.bz2"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-libs/nss-3.11
- >=dev-libs/nspr-4.6"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}/${PN}-4.1-gentoo.patch" )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_install() {
- default
- # cope with libraries being in /usr/lib/svrcore
- echo "LDPATH='/usr/$(get_libdir)/${PN}'" > "${T}/08svrcore" || die "Unable to create env file"
- doenvd "${T}/08svrcore"
-}
diff --git a/dev-libs/syncdir/Manifest b/dev-libs/syncdir/Manifest
deleted file mode 100644
index 20f4f3c80619..000000000000
--- a/dev-libs/syncdir/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST syncdir-1.0.tar.gz 8878 BLAKE2B b9b53d90cb9122e86d23ca8e86ceb4178e4a62e2bdf486e6d7861065592adbc047226581e9d574092590db0a54bf2dd9afbc21e4997ceea3cebb2d66927297b7 SHA512 0b5262e23e43f34be7bc31ed6baf7624a115a509e459504651b184a0856c7918671db4be1b8e14552f275c49c5c6bbc00d786c57f1d96548a491048674f58317
diff --git a/dev-libs/syncdir/metadata.xml b/dev-libs/syncdir/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/dev-libs/syncdir/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/syncdir/syncdir-1.0-r2.ebuild b/dev-libs/syncdir/syncdir-1.0-r2.ebuild
deleted file mode 100644
index 5bd567f29505..000000000000
--- a/dev-libs/syncdir/syncdir-1.0-r2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Provides an alternate implementation for open, link, rename, and unlink"
-HOMEPAGE="https://untroubled.org/syncdir"
-SRC_URI="https://untroubled.org/syncdir/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 x86"
-IUSE="static-libs"
-
-src_prepare() {
- default
- if ! use static-libs; then
- sed -i Makefile \
- -e '/^all:/s|libsyncdir.a||' \
- -e '/install -m 644 libsyncdir.a/d' \
- || die "sed Makefile"
- fi
-}
-
-src_compile() {
- emake \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- libsyncdir.so \
- $(use static-libs && echo libsyncdir.a)
-}
-
-src_install() {
- dodir /usr/$(get_libdir)
- emake libdir="${D}/usr/$(get_libdir)" install
- dodoc testsync.c
-}
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 783f301bbdf8..f9e0eafff4e0 100644
--- a/dev-libs/template-glib/Manifest
+++ b/dev-libs/template-glib/Manifest
@@ -1 +1 @@
-DIST template-glib-3.32.0.tar.xz 55152 BLAKE2B 53c5eda95f49d3358b1a52a8c821252efc28c823e92c03d387336aaff8540bab9f4762d9fb3f9694d0402dafb1cf09d56188bdcaca29343513b0b74d3c8d1684 SHA512 00e275c15e7daac4c3cf3cd85d8e0700e8ec504a02b68f46754a8f177c6a2cecbbc9b2b5701c85c94d0c06dfa9b51425b37decfa1f619ccb2c7351c0ce1643e7
+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 b776041d6e26..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.32.0.ebuild b/dev-libs/template-glib/template-glib-3.32.0.ebuild
deleted file mode 100644
index 71f28d30e72b..000000000000
--- a/dev-libs/template-glib/template-glib-3.32.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2019 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/metadata.xml b/dev-libs/tinyxml/metadata.xml
index f225bc05a9ee..03f8c60dad19 100644
--- a/dev-libs/tinyxml/metadata.xml
+++ b/dev-libs/tinyxml/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild
deleted file mode 100644
index 52ba8c0050dd..000000000000
--- a/dev-libs/tinyxml/tinyxml-2.6.2-r2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-inherit flag-o-matic toolchain-funcs eutils multilib versionator
-
-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 ~mips ppc ppc64 s390 sparc x86 ~amd64-fbsd ~x64-macos ~x86-macos"
-IUSE="debug doc static-libs +stl"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
- local major_v=$(get_major_version)
- local minor_v=$(get_version_component_range 2-3)
-
- sed -e "s:@MAJOR_V@:$major_v:" \
- -e "s:@MINOR_V@:$minor_v:" \
- "${FILESDIR}"/Makefile-3 > Makefile || die
-
- epatch "${FILESDIR}"/${PN}-2.6.1-entity.patch
-
- use debug && append-cppflags -DDEBUG
- use stl && epatch "${FILESDIR}"/${P}-defineSTL.patch
-
- 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)
-}
-
-src_install() {
- dolib.so *$(get_libname)*
-
- insinto /usr/include
- doins *.h
-
- dodoc {changes,readme}.txt
-
- use doc && dohtml -r docs/*
-}
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r3.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r3.ebuild
deleted file mode 100644
index 1a6e115660f5..000000000000
--- a/dev-libs/tinyxml/tinyxml-2.6.2-r3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic toolchain-funcs eutils multilib versionator
-
-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 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~x64-macos ~x86-macos"
-IUSE="debug doc static-libs +stl"
-
-RDEPEND=""
-DEPEND="doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}"
-
-src_prepare() {
- local major_v=$(get_major_version)
- local minor_v=$(get_version_component_range 2-3)
-
- sed -e "s:@MAJOR_V@:$major_v:" \
- -e "s:@MINOR_V@:$minor_v:" \
- "${FILESDIR}"/Makefile-3 > Makefile || die
-
- epatch "${FILESDIR}"/${PN}-2.6.1-entity.patch
- epatch "${FILESDIR}"/${PN}.pc.patch
-
- use debug && append-cppflags -DDEBUG
- use stl && epatch "${FILESDIR}"/${P}-defineSTL.patch
-
- 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
-
- dodoc {changes,readme}.txt
-
- use doc && dohtml -r docs/*
-}
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
new file mode 100644
index 000000000000..3c1d6e51237d
--- /dev/null
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs multilib
+
+DESCRIPTION="Simple and small C++ XML parser"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
+SRC_URI="https://downloads.sourceforge.net/${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
+
+ 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/tinyxml/tinyxml-2.6.2-r5.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
new file mode 100644
index 000000000000..4852caef55ee
--- /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="https://downloads.sourceforge.net/${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 db0895d86cb4..22114c122de1 100644
--- a/dev-libs/tinyxml2/Manifest
+++ b/dev-libs/tinyxml2/Manifest
@@ -1,2 +1,2 @@
-DIST tinyxml2-6.2.0.tar.gz 585870 BLAKE2B 6f79ffe0894d625e3a2cccaf897c13962672f090c477b6b13e8685585a304b5cf0f5069d88d61650882e55f23768514dcbeea4795e3a4758b016cb177eee44d4 SHA512 ef784240aeb090ab04aad659352ad4b224c431feecf485f33aca7936bcaa0ef4ab9d0a2e0692d3cf6036ac3e8012019d65665e780a920bbad3d4820f736445b1
-DIST tinyxml2-7.0.1.tar.gz 590384 BLAKE2B ea055e9b85c8f1ea789f91d406e549abf1d6e8aacbbf89f5d887b6cc0d8678562810b4352c158de0ee4adedf8146016f970e1b2a221dcb8fd36aac0486d45d9f SHA512 623cd7eff542d20b434a67111ac98110101c95a18767318bf906e5e56d8cc25622269f740f50477fe907a4c52d875b614cb6167f4760d42ab18dc55b9d4bf380
+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/metadata.xml b/dev-libs/tinyxml2/metadata.xml
index d359b71e6274..af9598a7417c 100644
--- a/dev-libs/tinyxml2/metadata.xml
+++ b/dev-libs/tinyxml2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>media-video@gentoo.org</email>
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-6.2.0.ebuild b/dev-libs/tinyxml2/tinyxml2-6.2.0.ebuild
deleted file mode 100644
index a80b6b7e2033..000000000000
--- a/dev-libs/tinyxml2/tinyxml2-6.2.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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/6"
-KEYWORDS="amd64 arm ~arm64 hppa ~ppc64 sparc x86"
-IUSE="static-libs test"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_STATIC_LIBS=$(usex static-libs)
- -DBUILD_TESTING=$(usex test)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/tinyxml2/tinyxml2-7.0.1-r1.ebuild b/dev-libs/tinyxml2/tinyxml2-7.0.1-r1.ebuild
deleted file mode 100644
index 5e24e7bc18ae..000000000000
--- a/dev-libs/tinyxml2/tinyxml2-7.0.1-r1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-multilib_src_configure() {
- local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
- cmake-utils_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/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/Manifest b/dev-libs/tntnet/Manifest
index 19d045950957..923dfd8c213f 100644
--- a/dev-libs/tntnet/Manifest
+++ b/dev-libs/tntnet/Manifest
@@ -1 +1 @@
-DIST tntnet-2.2.1.tar.gz 1127500 BLAKE2B bdb55c879ed00afdde1bfe1560ad4228effaa05b35996df3860631c90c93e57096f590b5ddfd8e8ff0356837e839e2f6ed8f4f6fe8ed478275926dd1143b2051 SHA512 78a26713498fd6eabb0b4a247bb20c130ce967ed22ce5c54da4b1300534dd40155aa62a2dc770be4eca720cadeceac283978a5dc3ce418728994af72e4d8eac1
+DIST tntnet-3.0.tar.gz 879598 BLAKE2B 34cbabc52eb28be051da8593eb32d66aa701785be4002056d9be34d28871ae886a87eb1d66e71393a9f9d96110a3d826acead6c6db5c6f2829db797ac449b82e SHA512 5fe1f8750e10537919174e953be92b73e12a9227c50a02dcf2f23a266304ad3ad77d29823e8cdd3e2fa92dba936c2624f140943d021790e8137609bbeb0d3d81
diff --git a/dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch b/dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch
deleted file mode 100644
index 07b4836319d4..000000000000
--- a/dev-libs/tntnet/files/tntnet-2.0-zlib-minizip.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- a/configure.in
-+++ b/configure.in
-@@ -18,6 +18,7 @@
-
- AC_PROG_CXX
- AC_PROG_LIBTOOL
-+PKG_PROG_PKG_CONFIG
-
- AC_LANG(C++)
- ACX_PTHREAD
-@@ -25,6 +26,12 @@
- AC_CHECK_HEADER([zlib.h], , AC_MSG_ERROR([zlib not found]))
- AC_CHECK_HEADER([cxxtools/net/tcpsocket.h], , AC_MSG_ERROR([cxxtools headers not found]))
-
-+PKG_CHECK_MODULES([MINIZIP], [minizip],
-+ [HAVE_MINIZIP=true], [HAVE_MINIZIP=false])
-+AC_SUBST([MINIZIP_CFLAGS])
-+AC_SUBST([MINIZIP_LIBS])
-+AM_CONDITIONAL([HAVE_MINIZIP], [test $HAVE_MINIZIP = true])
-+
- AC_ARG_WITH([epoll],
- AS_HELP_STRING([--with-epoll=yes|no|probe], [use epoll]),
- [epoll_option=$withval],
---- a/framework/common/Makefile.am
-+++ b/framework/common/Makefile.am
-@@ -23,7 +23,6 @@ libtntnet_la_SOURCES = \
- httpparser.cpp \
- httprequest.cpp \
- httpreply.cpp \
-- ioapi.c \
- job.cpp \
- langlib.cpp \
- listener.cpp \
-@@ -41,16 +40,13 @@ libtntnet_la_SOURCES = \
- stringlessignorecase.cpp \
- tntconfig.cpp \
- tntnet.cpp \
-- unzip.c \
- unzipfile.cpp \
- urlescostream.cpp \
- urlmapper.cpp \
- util.cpp \
- worker.cpp \
- zdata.cpp \
-- crypt.h \
-- ioapi.h \
-- unzip.h
-+ crypt.h
-
- nobase_include_HEADERS = \
- tnt/applicationunlocker.h \
-@@ -145,3 +141,13 @@ noinst_HEADERS += \
- tnt/stressjob.h
- endif
-
-+if HAVE_MINIZIP
-+libtntnet_la_CXXFLAGS += $(MINIZIP_CFLAGS)
-+libtntnet_la_LDFLAGS += $(MINIZIP_LIBS)
-+else
-+libtntnet_la_SOURCES += \
-+ ioapi.c \
-+ ioapi.h \
-+ unzip.c \
-+ unzip.h
-+endif
diff --git a/dev-libs/tntnet/files/tntnet-3.0-autoconf-2.70.patch b/dev-libs/tntnet/files/tntnet-3.0-autoconf-2.70.patch
new file mode 100644
index 000000000000..6e25e683da1c
--- /dev/null
+++ b/dev-libs/tntnet/files/tntnet-3.0-autoconf-2.70.patch
@@ -0,0 +1,78 @@
+diff --git a/configure.ac b/configure.ac
+index 0c7732c4..52227db0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -74,21 +74,21 @@ AC_CHECK_HEADERS([sys/sendfile.h])
+ # optional components
+ #
+ AC_ARG_ENABLE([server],
+- AS_HELP_STRING([--disable-server], [disable building tntnet server]),
++ [AS_HELP_STRING([--disable-server], [disable building tntnet server])],
+ [enable_server=$enableval],
+ [enable_server=yes])
+
+ AM_CONDITIONAL(MAKE_SERVER, test x$enable_server = xyes)
+
+ AC_ARG_ENABLE([sdk],
+- AS_HELP_STRING([--disable-sdk], [disable building sdk]),
++ [AS_HELP_STRING([--disable-sdk], [disable building sdk])],
+ [enable_sdk=$enableval],
+ [enable_sdk=yes])
+
+ AM_CONDITIONAL(MAKE_SDK, test x$enable_sdk = xyes)
+
+ AC_ARG_ENABLE([demos],
+- AS_HELP_STRING([--enable-demos], [enable building demos]),
++ [AS_HELP_STRING([--enable-demos], [enable building demos])],
+ [enable_demos=$enableval],
+ [enable_demos=no])
+
+@@ -105,17 +105,16 @@ AS_IF([test "$enable_demos" = "yes"],
+ )
+
+ AC_ARG_WITH([md2man],
+- AS_HELP_STRING([--with-md2man], [use go-md2man tool to generate man pages from markdown])
++ [AS_HELP_STRING([--with-md2man], [use go-md2man tool to generate man pages from markdown])],
+ [with_md2man=$withval])
+
+ AS_IF(
+ [test "$with_md2man"],
+- AC_CHECK_PROG(MD2MAN, [go-md2man], [go-md2man])
++ [AC_CHECK_PROG(MD2MAN, [go-md2man], [go-md2man])
+ AS_IF(
+ [test -z "$MD2MAN"],
+ AC_MSG_ERROR([go-md2man not found])
+- )
+-
++ )]
+ )
+
+ AM_CONDITIONAL(GENERATE_MAN, test ! -z "$with_md2man")
+@@ -125,21 +124,15 @@ AM_CONDITIONAL(GENERATE_MAN, test ! -z "$with_md2man")
+ #
+ AC_CHECK_FUNCS([setenv])
+
+-case "${host_cpu}-${host_os}" in
+-*-aix*)
+- SHARED_LIB_FLAG=-qmkshrobj
+- ;;
+-*-darwin*)
+- SHARED_LIB_FLAG=-dynamiclib
+- ;;
+-*)
+- SHARED_LIB_FLAG=-shared
+- ;;
+-esac
++AS_CASE(["${host_cpu}-${host_os}"],
++ [*-aix*], [SHARED_LIB_FLAG=-qmkshrobj],
++ [*-darwin*], [SHARED_LIB_FLAG=-dynamiclib],
++ [SHARED_LIB_FLAG=-shared]
++)
+ AC_SUBST(SHARED_LIB_FLAG)
+
+ AC_ARG_ENABLE([unittest],
+- AS_HELP_STRING([--disable-unittest], [disable unittest]),
++ [AS_HELP_STRING([--disable-unittest], [disable unittest])],
+ [enable_unittest=$enableval],
+ [enable_unittest=enable_unittest])
+
diff --git a/dev-libs/tntnet/files/tntnet-3.initd b/dev-libs/tntnet/files/tntnet-3.initd
new file mode 100644
index 000000000000..b5c0f6307039
--- /dev/null
+++ b/dev-libs/tntnet/files/tntnet-3.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE="/var/run/tntnet.pid"
+
+depend() {
+ use net
+}
+
+start() {
+ ebegin "Starting tntnet"
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec /usr/bin/tntnet
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tntnet"
+ start-stop-daemon --stop --pidfile $PIDFILE --exec /usr/bin/tntnet
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading tntnet configuration"
+ start-stop-daemon --pidfile $PIDFILE --signal HUP --exec /usr/bin/tntnet
+ eend $?
+}
diff --git a/dev-libs/tntnet/files/tntnet.initd b/dev-libs/tntnet/files/tntnet.initd
deleted file mode 100644
index 54982bddd6e6..000000000000
--- a/dev-libs/tntnet/files/tntnet.initd
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-PIDFILE="/var/run/tntnet.pid"
-
-depend() {
- use net
-}
-
-start() {
- ebegin "Starting tntnet"
- start-stop-daemon --start --quiet --pidfile $PIDFILE --exec /usr/bin/tntnet
- eend $?
-}
-
-stop() {
- ebegin "Stopping tntnet"
- start-stop-daemon --stop --pidfile $PIDFILE --exec /usr/bin/tntnet
- eend $?
-}
-
-reload() {
- # FIXME: Remove --stop and --oknodo as soon as baselayout-1 has been removed...
- # finally...
- ebegin "Reloading tntnet configuration"
- start-stop-daemon --stop --oknodo --pidfile $PIDFILE --signal HUP --exec /usr/bin/tntnet
- eend $?
-}
diff --git a/dev-libs/tntnet/metadata.xml b/dev-libs/tntnet/metadata.xml
index 7884d9df8a09..e42430b1bd39 100644
--- a/dev-libs/tntnet/metadata.xml
+++ b/dev-libs/tntnet/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>hd_brummy@gentoo.org</email>
- <name>Joerg Bornkessel</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="server">Enable tntnet server daemon</flag>
</use>
diff --git a/dev-libs/tntnet/tntnet-2.2.1-r1.ebuild b/dev-libs/tntnet/tntnet-2.2.1-r1.ebuild
deleted file mode 100644
index cc25ab03fdfb..000000000000
--- a/dev-libs/tntnet/tntnet-2.2.1-r1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="Modular, multithreaded web application server extensible with C++"
-HOMEPAGE="http://www.tntnet.org/"
-SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~sparc ~x86"
-IUSE="doc gnutls libressl server ssl examples"
-
-RDEPEND=">=dev-libs/cxxtools-2.2.1
- sys-libs/zlib[minizip]
- ssl? (
- gnutls? (
- >=net-libs/gnutls-1.2.0
- dev-libs/libgcrypt:0
- )
- !gnutls? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- app-arch/zip"
-
-src_prepare() {
- # Both fixed in the next release
- epatch "${FILESDIR}"/${PN}-2.0-zlib-minizip.patch
- rm framework/common/{ioapi,unzip}.[ch] || die
-
- # bug 423697
- sed -e "s:unzip.h:minizip/unzip.h:" -i framework/defcomp/unzipcomp.cpp
-
- eautoreconf
-
- sed -i -e 's:@localstatedir@:/var:' etc/tntnet/tntnet.xml.in || die
-}
-
-src_configure() {
- local myconf=""
-
- # Prefer gnutls above SSL
- if use gnutls; then
- einfo "Using gnutls for ssl support."
- myconf="${myconf} --with-ssl=gnutls"
- elif use ssl; then
- einfo "Using openssl for ssl support."
- myconf="${myconf} --with-ssl=openssl"
- else
- myconf="${myconf} --with-ssl=no"
- fi
-
- # default enabled, will not compile without sdk
- myconf="${myconf} --with-sdk"
-
- econf \
- $(use_with server) \
- ${myconf}
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die
-
- dodoc AUTHORS ChangeLog README TODO
- if use doc; then
- dodoc doc/*.pdf || die
- fi
-
- if use examples; then
- cd "${S}/sdk/demos"
- emake clean
- rm -rf .deps */.deps .libs */.libs
- cd "${S}"
-
- insinto /usr/share/doc/${PF}/examples
- doins -r sdk/demos/* || die
- fi
-
- if use server; then
- rm -f "${D}/etc/init.d/tntnet"
- newinitd "${FILESDIR}/tntnet.initd" tntnet
- fi
-}
diff --git a/dev-libs/tntnet/tntnet-2.2.1.ebuild b/dev-libs/tntnet/tntnet-2.2.1.ebuild
deleted file mode 100644
index bd46d16526d7..000000000000
--- a/dev-libs/tntnet/tntnet-2.2.1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils
-
-DESCRIPTION="Modular, multithreaded web application server extensible with C++"
-HOMEPAGE="http://www.tntnet.org/"
-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 examples"
-
-RDEPEND=">=dev-libs/cxxtools-2.2.1
- sys-libs/zlib[minizip]
- ssl? (
- gnutls? (
- >=net-libs/gnutls-1.2.0
- dev-libs/libgcrypt:0
- )
- !gnutls? ( dev-libs/openssl:0= )
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- app-arch/zip"
-
-src_prepare() {
- # Both fixed in the next release
- epatch "${FILESDIR}"/${PN}-2.0-zlib-minizip.patch
- rm framework/common/{ioapi,unzip}.[ch] || die
-
- # bug 423697
- sed -e "s:unzip.h:minizip/unzip.h:" -i framework/defcomp/unzipcomp.cpp
-
- eautoreconf
-
- sed -i -e 's:@localstatedir@:/var:' etc/tntnet/tntnet.xml.in || die
-}
-
-src_configure() {
- local myconf=""
-
- # Prefer gnutls above SSL
- if use gnutls; then
- einfo "Using gnutls for ssl support."
- myconf="${myconf} --with-ssl=gnutls"
- elif use ssl; then
- einfo "Using openssl for ssl support."
- myconf="${myconf} --with-ssl=openssl"
- else
- myconf="${myconf} --with-ssl=no"
- fi
-
- # default enabled, will not compile without sdk
- myconf="${myconf} --with-sdk"
-
- econf \
- $(use_with server) \
- ${myconf}
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die
-
- dodoc AUTHORS ChangeLog README TODO
- if use doc; then
- dodoc doc/*.pdf || die
- fi
-
- if use examples; then
- cd "${S}/sdk/demos"
- emake clean
- rm -rf .deps */.deps .libs */.libs
- cd "${S}"
-
- insinto /usr/share/doc/${PF}/examples
- doins -r sdk/demos/* || die
- fi
-
- if use server; then
- rm -f "${D}/etc/init.d/tntnet"
- newinitd "${FILESDIR}/tntnet.initd" tntnet
- fi
-}
diff --git a/dev-libs/tntnet/tntnet-3.0.ebuild b/dev-libs/tntnet/tntnet-3.0.ebuild
new file mode 100644
index 000000000000..af01d14155c8
--- /dev/null
+++ b/dev-libs/tntnet/tntnet-3.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Modular, multithreaded web application server extensible with C++"
+HOMEPAGE="http://www.tntnet.org/"
+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 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/cxxtools-3.0
+ sys-libs/zlib[minizip]
+ ssl? (
+ gnutls? (
+ >=net-libs/gnutls-1.2.0
+ dev-libs/libgcrypt:0
+ )
+ !gnutls? (
+ dev-libs/openssl:0=
+ )
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/zip
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0-autoconf-2.70.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ sed -i -e 's:@localstatedir@:/var:' etc/tntnet/tntnet.xml.in || die
+
+ # bug 423697
+ sed -e "s:unzip.h:minizip/unzip.h:" -i framework/defcomp/unzipcomp.cpp || die
+
+ # upstream still use bundeld zlib here
+ sed -e "s:unzip.h:minizip/unzip.h:" -i framework/common/unzipfile.cpp || die
+}
+
+src_configure() {
+ local myconf="$(use_enable test unittest)"
+
+ if ! use server; then
+ myconf="${myconf} --disable-server"
+ fi
+
+ econf ${myconf}
+}
+
+src_test() {
+ cd test || die
+ emake || die
+ ./tntnet-test || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog README
+
+ doman doc/man/{ecpp.7,ecppc.1,tntnet.8,tntnet.xml.7}
+
+ if use server; then
+ rm -f "${D}/etc/init.d/tntnet"
+ newinitd "${FILESDIR}/tntnet-3.initd" tntnet
+ fi
+
+ # remove static libs
+ rm -f "${ED}"/usr/$(get_libdir)/libtntnet{,_sdk}.la || die
+}
diff --git a/dev-libs/tomsfastmath/Manifest b/dev-libs/tomsfastmath/Manifest
new file mode 100644
index 000000000000..245166bd36a7
--- /dev/null
+++ b/dev-libs/tomsfastmath/Manifest
@@ -0,0 +1 @@
+DIST tfm-0.13.1.tar.xz 322684 BLAKE2B 393c0e0e018b199c9fc975ab3013466399ea337f520f4634649a9e61b2218b9a6b218d11212b535fc8bbd2bf40d8722fc413dc60756f1b8ff7c78da049765083 SHA512 84225fe81bbcd1df7e40ed0b8c8077d60612246a76f3149b672dfd1066eb0179262fa4f5a42ffd2034e60cb74cfd86e0b49139371971ebbb4f41a4ecebca2111
diff --git a/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch
new file mode 100644
index 000000000000..627bf4b2f4d9
--- /dev/null
+++ b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch
@@ -0,0 +1,13 @@
+Needed because libtomcrypt expects this symbol to be available
+https://github.com/libtom/tomsfastmath/commit/81530c207da8b3a43867da14df7d79d2cdf96978.patch
+--- a/libtfm.symbols
++++ b/libtfm.symbols
+@@ -16,6 +16,7 @@ fp_gcd
+ fp_ident
+ fp_invmod
+ fp_isprime
++fp_isprime_ex
+ fp_lcm
+ fp_lshd
+ fp_mod
+
diff --git a/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch
new file mode 100644
index 000000000000..7239178e5dde
--- /dev/null
+++ b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch
@@ -0,0 +1,45 @@
+diff --git a/makefile.shared b/makefile.shared
+index 47c35d9..cebaa04 100644
+--- a/makefile.shared
++++ b/makefile.shared
+@@ -1,7 +1,8 @@
+ #makefile for TomsFastMath
+ #
+ #
+-VERSION=1:0:0
++VERSION=0.13.1
++VERSION_LIB=1:0:0
+
+ LT ?= libtool
+ LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC)
+@@ -89,13 +90,16 @@ $(OBJECTS): $(HEADERS)
+ $(LTCOMPILE) $(CFLAGS) $(LDFLAGS) -o $@ -c $<
+
+ $(LIBNAME): $(OBJECTS)
+- libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) `find . -type f | LC_ALL=C sort | grep "[.]lo" | xargs` -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION) -export-symbols libtfm.symbols
++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) `find . -type f | LC_ALL=C sort | grep "[.]lo" | xargs` -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_LIB) -export-symbols libtfm.symbols
+
+ install: $(LIBNAME)
+ install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH)
+ libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME)
+ install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH)
+ install -g $(GROUP) -o $(USER) $(HEADERS_PUB) $(DESTDIR)$(INCPATH)
++ sed -e 's,^Version:.*,Version: $(VERSION),' tomsfastmath.pc.in > tomsfastmath.pc
++ install -d $(DESTDIR)$(LIBPATH)/pkgconfig
++ install -m 644 tomsfastmath.pc $(DESTDIR)$(LIBPATH)/pkgconfig/
+
+ HEADER_FILES=$(notdir $(HEADERS_PUB))
+ uninstall:
+diff --git a/tomsfastmath.pc.in b/tomsfastmath.pc.in
+new file mode 100644
+index 0000000..a0275ab
+--- /dev/null
++++ b/tomsfastmath.pc.in
+@@ -0,0 +1,7 @@
++# TomsFastMath, a fast ISO C bignum library. -- Tom St Denis
++# SPDX-License-Identifier: Unlicense
++
++Name: TomFastMath
++Description: Fast multiple-precision integer library
++Version: @VERSION@
++Libs: -ltfm
diff --git a/dev-libs/tomsfastmath/metadata.xml b/dev-libs/tomsfastmath/metadata.xml
new file mode 100644
index 000000000000..f2dc5f990085
--- /dev/null
+++ b/dev-libs/tomsfastmath/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>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
new file mode 100644
index 000000000000..6f64ba4a02ea
--- /dev/null
+++ b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Fast public domain large integer arithmetic library"
+HOMEPAGE="https://www.libtom.net/TomsFastMath/ https://github.com/libtom/tomsfastmath"
+SRC_URI="https://github.com/libtom/tomsfastmath/releases/download/v${PV}/tfm-${PV}.tar.xz"
+
+LICENSE="Unlicense"
+# Current SONAME is 1
+# Please bump when the ABI changes upstream
+# Helpful site:
+# https://abi-laboratory.pro/index.php?view=timeline&l=tomsfastmath
+SLOT="0/1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="dev-build/libtool"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile-fix.patch
+ "${FILESDIR}"/${PN}-0.13.1-export-fp_isprime_ex.patch
+)
+
+_emake() {
+ # Standard boilerplate
+ # Upstream use homebrewed makefiles
+ # Best to use same args for all, for consistency,
+ # in case behaviour changes (v possible).
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ DESTDIR="${ED}" \
+ LIBPATH="/usr/$(get_libdir)" \
+ IGNORE_SPEED=1 \
+ "$@"
+}
+
+src_compile() {
+ _emake -f makefile.shared
+}
+
+src_test() {
+ _emake test_standalone stest rsatest
+
+ # We choose to be verbose during the test process
+ # because the output is quite repetitive with no
+ # clear demarcation b/t tests
+ local tests=( test stest rsatest )
+
+ local test
+ for test in "${tests[@]}"; do
+ einfo "Running test (${test})"
+ ./${test} || die "Test (${test}) failed"
+ einfo "Completed test (${test})"
+ done
+}
+
+src_install() {
+ _emake -f makefile.shared install
+
+ # Remove unnecessary .la files
+ find "${ED}" -name '*.la' -delete || die
+ # Same for static libs
+ find "${ED}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/totem-pl-parser/Manifest b/dev-libs/totem-pl-parser/Manifest
index 592dd0eb75b0..f7afc867312f 100644
--- a/dev-libs/totem-pl-parser/Manifest
+++ b/dev-libs/totem-pl-parser/Manifest
@@ -1 +1 @@
-DIST totem-pl-parser-3.26.3.tar.xz 1314216 BLAKE2B 24b1c7e111456b454022ba7262a1e1483420dbd97b6ec99c0e2631acbb8057134b51ff991d2619e6bda57da6c133e211f949915b0fd62d497905fcd58738b43d SHA512 f059fd9447627268ce5029ed48551b0a2b6c30ba28c50a360d37808ad63fa8423824eef29c7f4d7a752f24861d4c7a7139f321fa2e19085085446e7ed15130cd
+DIST totem-pl-parser-3.26.6.tar.xz 1503888 BLAKE2B b0768f54c77ff902ad20aeaa9162c616e0cc64ccfc2839d2db2e4c9076f82a611baedf127b0b74f84ec8698a5adc25c43fb9245dcb26a221da7024372a61896b SHA512 1a7aa69e147b55c3c9761328604821a7e40bac4e7b82492e5ce1b2405e3b6d5154e3b06687f2446ec923b34bf6ea96eef179ef8410c005a061d448fc6b3e754e
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/files/3.26.6-plparser-Fix-uninitialized-variable-error.patch b/dev-libs/totem-pl-parser/files/3.26.6-plparser-Fix-uninitialized-variable-error.patch
new file mode 100644
index 000000000000..1666332f3533
--- /dev/null
+++ b/dev-libs/totem-pl-parser/files/3.26.6-plparser-Fix-uninitialized-variable-error.patch
@@ -0,0 +1,30 @@
+From 87fc47f6d992b65d2baaa987bb985bc388457a9b Mon Sep 17 00:00:00 2001
+From: David GUGLIELMI <david.guglielmi@gmail.com>
+Date: Sun, 11 Jul 2021 22:41:42 +0200
+Subject: [PATCH] plparser: Fix uninitialized variable error
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Build failed on systems using -Os cflags with:
+ - totem-pl-parser.c:1776:14: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
+---
+ plparse/totem-pl-parser.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plparse/totem-pl-parser.c b/plparse/totem-pl-parser.c
+index 404deb3..32fd435 100644
+--- a/plparse/totem-pl-parser.c
++++ b/plparse/totem-pl-parser.c
+@@ -1760,7 +1760,7 @@ totem_pl_parser_glob_is_ignored (TotemPlParser *parser,
+ {
+ GHashTableIter iter;
+ gpointer key;
+- int ret;
++ int ret = FNM_NOMATCH;
+
+ g_mutex_lock (&parser->priv->ignore_mutex);
+ g_hash_table_iter_init (&iter, parser->priv->ignore_globs);
+--
+2.31.1
+
diff --git a/dev-libs/totem-pl-parser/metadata.xml b/dev-libs/totem-pl-parser/metadata.xml
index 085e8b59297c..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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="quvi">Use <pkg>media-libs/libquvi</pkg> for parsing video links</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.3.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.3.ebuild
deleted file mode 100644
index 37f9fb14ce9d..000000000000
--- a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2019 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 +quvi test"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd"
-
-RDEPEND="
- >=dev-libs/glib-2.36:2
- quvi? ( >=media-libs/libquvi-0.9.1:0= )
- archive? ( >=app-arch/libarchive-3:0= )
- dev-libs/libxml2:2
- crypt? ( dev-libs/libgcrypt:0= )
- 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 )
-"
-
-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-quvi=$(usex quvi yes no)
- -Denable-libarchive=$(usex archive yes no)
- -Denable-libgcrypt=$(usex crypt yes no)
- $(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-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/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
new file mode 100644
index 000000000000..923dbfbf3a2a
--- /dev/null
+++ b/dev-libs/tre/files/0.8.0-CVE-2016-8559.patch
@@ -0,0 +1,66 @@
+From c3edc06d1e1360f3570db9155d6b318ae0d0f0f7 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Thu, 6 Oct 2016 18:34:58 -0400
+Subject: fix missing integer overflow checks in regexec buffer size
+ computations
+
+most of the possible overflows were already ruled out in practice by
+regcomp having already succeeded performing larger allocations.
+however at least the num_states*num_tags multiplication can clearly
+overflow in practice. for safety, check them all, and use the proper
+type, size_t, rather than int.
+
+also improve comments, use calloc in place of malloc+memset, and
+remove bogus casts.
+--- a/lib/tre-match-parallel.c
++++ b/lib/tre-match-parallel.c
+@@ -59,6 +59,7 @@
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+ #endif /* HAVE_MALLOC_H */
++#include <stdint.h>
+
+ #include "tre-internal.h"
+ #include "tre-match-utils.h"
+@@ -150,11 +151,24 @@
+
+ /* Allocate memory for temporary data required for matching. This needs to
+ be done for every matching operation to be thread safe. This allocates
+- everything in a single large block from the stack frame using alloca()
+- or with malloc() if alloca is unavailable. */
++ everything in a single large block with calloc(). */
+ {
+- int tbytes, rbytes, pbytes, xbytes, total_bytes;
++ size_t tbytes, rbytes, pbytes, xbytes, total_bytes;
+ char *tmp_buf;
++
++ /* Ensure that tbytes and xbytes*num_states cannot overflow, and that
++ * they don't contribute more than 1/8 of SIZE_MAX to total_bytes. */
++ if (num_tags > SIZE_MAX/(8 * sizeof(int) * tnfa->num_states))
++ return REG_BADPAT;
++
++ /* Likewise check rbytes. */
++ if (tnfa->num_states+1 > SIZE_MAX/(8 * sizeof(*reach_next)))
++ return REG_BADPAT;
++
++ /* Likewise check pbytes. */
++ if (tnfa->num_states > SIZE_MAX/(8 * sizeof(*reach_pos)))
++ return REG_BADPAT;
++
+ /* Compute the length of the block we need. */
+ tbytes = sizeof(*tmp_tags) * num_tags;
+ rbytes = sizeof(*reach_next) * (tnfa->num_states + 1);
+@@ -168,11 +182,11 @@
+ #ifdef TRE_USE_ALLOCA
+ buf = alloca(total_bytes);
+ #else /* !TRE_USE_ALLOCA */
+- buf = xmalloc((unsigned)total_bytes);
++ buf = xmalloc(total_bytes);
+ #endif /* !TRE_USE_ALLOCA */
+ if (buf == NULL)
+ return REG_ESPACE;
+- memset(buf, 0, (size_t)total_bytes);
++ memset(buf, 0, total_bytes);
+
+ /* Get the various pointers within tmp_buf (properly aligned). */
+ tmp_tags = (void *)buf;
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 b675c9f5b843..f77edd54bfa6 100644
--- a/dev-libs/tre/metadata.xml
+++ b/dev-libs/tre/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>shell-tools@gentoo.org</email>
@@ -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-r1.ebuild b/dev-libs/tre/tre-0.8.0-r1.ebuild
deleted file mode 100644
index 5404f1bb506a..000000000000
--- a/dev-libs/tre/tre-0.8.0-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 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 sparc x86 ~x86-fbsd ~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" )
-
-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..e3e624a817b4
--- /dev/null
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+COMMIT="6092368aabdd0dbb0fbceb2766a37b98e0ff6911"
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_EXT=1
+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
new file mode 100644
index 000000000000..a9d7f4e84baa
--- /dev/null
+++ b/dev-libs/tree-sitter-bash/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..1fffc5c7ee44
--- /dev/null
+++ b/dev-libs/tree-sitter-bash/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <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>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..bf87fe76c9f8
--- /dev/null
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.19.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="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.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
new file mode 100644
index 000000000000..e8c40083b407
--- /dev/null
+++ b/dev-libs/tree-sitter-c-sharp/Manifest
@@ -0,0 +1,3 @@
+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
+DIST tree-sitter-c-sharp-0.21.1.tar.gz 1576411 BLAKE2B c89cd47c93ff96a01fdcf5d55971bb49326ec4cb4f37438247f0c5a0a7a083e62265f07fdb3a6b7d18f2ac13e8afa5705a5092cf7ff90f92f8fa0b9d9073a3e3 SHA512 43fe2c31ae73efff91af15d40f9b3d4b468c5b118de7b029c5c2338885bc27fedca21fe6361700012a1d5c80ff7426ef9ce2f7226da44be8302d727858e7aebb
diff --git a/dev-libs/tree-sitter-c-sharp/metadata.xml b/dev-libs/tree-sitter-c-sharp/metadata.xml
new file mode 100644
index 000000000000..02f666e7b8e9
--- /dev/null
+++ b/dev-libs/tree-sitter-c-sharp/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-c-sharp</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..e7c1c44ee2dd
--- /dev/null
+++ b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.19.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="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-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-sharp/tree-sitter-c-sharp-0.21.1.ebuild b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.21.1.ebuild
new file mode 100644
index 000000000000..c1e7e5bd3167
--- /dev/null
+++ b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.21.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="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
new file mode 100644
index 000000000000..4428775d5f8a
--- /dev/null
+++ b/dev-libs/tree-sitter-c/Manifest
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 000000000000..fb0cac7dd1c4
--- /dev/null
+++ b/dev-libs/tree-sitter-c/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-c</remote-id>
+ </upstream>
+</pkgmetadata>
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..7acbae161e6d
--- /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
new file mode 100644
index 000000000000..8ae1ed3ef255
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/Manifest
@@ -0,0 +1,4 @@
+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
new file mode 100644
index 000000000000..98219c3cf694
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-cpp</remote-id>
+ </upstream>
+</pkgmetadata>
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..18804881eaed
--- /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
new file mode 100644
index 000000000000..020fecc893b6
--- /dev/null
+++ b/dev-libs/tree-sitter-css/Manifest
@@ -0,0 +1,2 @@
+DIST tree-sitter-css-0.20.0.tar.gz 93887 BLAKE2B 5f5962de37fa6a65dd531a54515b24ccb78932f17d15884adfe00cb1098a86ece3894c2e7f54a8936ad7fa1c76e5dcb89453999e3ffd3f3d894c9e112407e4a2 SHA512 0b4c45de304a5a18834a85665b5da5eaf7adc968c509de6cb95b98a08b2987be7b13f2cbb7181da04cf23e199942d9daf788a12cd2f4b8d85767ef1250196825
+DIST tree-sitter-css-0.21.0.tar.gz 114817 BLAKE2B 6a1acfd884e764903155fae31921fccd878ed858f73eae799d25c603c7740aaa908b5d746f66c429940c55818c279bba21ded5638999c7c96229f4adbbfd8d6e SHA512 2f653e74293516d950ced883ece1ed3f6ceb7e895e54207a561c3ae61e63284a4001ae138aaf75afb46fc2efe8e50e3e551c469cd7f675f8cfcc3415e89d07d0
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
new file mode 100644
index 000000000000..4a2ac735d1ee
--- /dev/null
+++ b/dev-libs/tree-sitter-css/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-css</remote-id>
+ </upstream>
+</pkgmetadata>
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-css/tree-sitter-css-0.21.0.ebuild b/dev-libs/tree-sitter-css/tree-sitter-css-0.21.0.ebuild
new file mode 100644
index 000000000000..195fe7aaff43
--- /dev/null
+++ b/dev-libs/tree-sitter-css/tree-sitter-css-0.21.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
new file mode 100644
index 000000000000..d5f87881520d
--- /dev/null
+++ b/dev-libs/tree-sitter-embedded-template/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..95926c8ae18e
--- /dev/null
+++ b/dev-libs/tree-sitter-embedded-template/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-embedded-template</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.19.0.ebuild b/dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.19.0.ebuild
new file mode 100644
index 000000000000..e158f8374e1f
--- /dev/null
+++ b/dev-libs/tree-sitter-embedded-template/tree-sitter-embedded-template-0.19.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2021 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-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
new file mode 100644
index 000000000000..939f1d87e1d4
--- /dev/null
+++ b/dev-libs/tree-sitter-go/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..a57a99683ab0
--- /dev/null
+++ b/dev-libs/tree-sitter-go/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-go</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..c31f35b4a5f5
--- /dev/null
+++ b/dev-libs/tree-sitter-haskell/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..babe5b02aa10
--- /dev/null
+++ b/dev-libs/tree-sitter-haskell/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-haskell</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..b025bcb78ec8
--- /dev/null
+++ b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.13.0_p20211114.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_PV="d72f2e42c0d5ccf8e8b1c39e3642428317e8fe02"
+
+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-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..48de3a1e6531
--- /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
new file mode 100644
index 000000000000..53427fc68a48
--- /dev/null
+++ b/dev-libs/tree-sitter-html/Manifest
@@ -0,0 +1,3 @@
+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
+DIST tree-sitter-html-0.20.3.tar.gz 45084 BLAKE2B fca267fca9ddfb0651b1e596f422d9093852e0b06391f192f9b525df379048d2e74fab472bd4ecfb0fa229ff34546d648a644bfc3f746e8ecb24ad8b4558419c SHA512 572cbdeca6c57d8fc389b8736acfb6a4ac2b3bd8704445ca7a006d75e0a3c37faa9abd75ead54d586e25b5550f72324c407271b451dd5ed94fafb09e8a6ad352
diff --git a/dev-libs/tree-sitter-html/metadata.xml b/dev-libs/tree-sitter-html/metadata.xml
new file mode 100644
index 000000000000..3523175e5040
--- /dev/null
+++ b/dev-libs/tree-sitter-html/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-html</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..6a8921210e57
--- /dev/null
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.19.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="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-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..55a42a78b64c
--- /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-html/tree-sitter-html-0.20.3.ebuild b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.3.ebuild
new file mode 100644
index 000000000000..886c95f55c9b
--- /dev/null
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.3.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
new file mode 100644
index 000000000000..9a93dd4f91c9
--- /dev/null
+++ b/dev-libs/tree-sitter-java/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..ab4809aa51a7
--- /dev/null
+++ b/dev-libs/tree-sitter-java/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-java</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..c46994c8c152
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/Manifest
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 000000000000..0846068ba5d8
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-javascript</remote-id>
+ </upstream>
+</pkgmetadata>
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..ec9248a60d3d
--- /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/Manifest b/dev-libs/tree-sitter-jsdoc/Manifest
new file mode 100644
index 000000000000..36e27d75c43d
--- /dev/null
+++ b/dev-libs/tree-sitter-jsdoc/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-jsdoc-0.19.0.tar.gz 13214 BLAKE2B 25a8d06201d0edfc3243a0dc178cc2074141f9df24482535c4accb6e23b7493abb7b3b0d7b2a73b5bb25f1d261e214cdab5667c09fe9114f1837012f0fcf3085 SHA512 abffccff5f5b11aebee1226db87fa79d87e675111b32f8d1651679d7d68634201b2d74e3993bc514de03c5b93440e73bdf2ae6c1c879a7dc361c8d6ae550e972
diff --git a/dev-libs/tree-sitter-jsdoc/metadata.xml b/dev-libs/tree-sitter-jsdoc/metadata.xml
new file mode 100644
index 000000000000..0947bc05e5f0
--- /dev/null
+++ b/dev-libs/tree-sitter-jsdoc/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-jsdoc</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..71cb143446fa
--- /dev/null
+++ b/dev-libs/tree-sitter-jsdoc/tree-sitter-jsdoc-0.19.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="JSDoc grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-jsdoc"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-json/Manifest b/dev-libs/tree-sitter-json/Manifest
new file mode 100644
index 000000000000..fccaf007e65b
--- /dev/null
+++ b/dev-libs/tree-sitter-json/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..0e1551210dfc
--- /dev/null
+++ b/dev-libs/tree-sitter-json/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-json</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..6e3dc239628c
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.19.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="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+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..bc7df5806d4d
--- /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
new file mode 100644
index 000000000000..8f235382ff54
--- /dev/null
+++ b/dev-libs/tree-sitter-julia/Manifest
@@ -0,0 +1,3 @@
+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
+DIST tree-sitter-julia-0.22.0.tar.gz 2792109 BLAKE2B d661b9d84b9d1903d7fae9e4073fcc1fd52030e7a264929cf6eb3aa33745cc51c094beb6e4ddcfd11725989fc82a5e21b20a66b01bc60c8f06c522f732bcff6a SHA512 9687875f641eb0f599a15a5c9ced0a873c81a2d6ad36528f2c29120126a92ca5d6a51c97f736c1c1e46cd8af32e7c5739c694b0372fa62ca840f39f0fbd6a387
diff --git a/dev-libs/tree-sitter-julia/metadata.xml b/dev-libs/tree-sitter-julia/metadata.xml
new file mode 100644
index 000000000000..781c30634bf9
--- /dev/null
+++ b/dev-libs/tree-sitter-julia/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-julia</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..a98d5d0a3b62
--- /dev/null
+++ b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.19.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="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-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-julia/tree-sitter-julia-0.22.0.ebuild b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.22.0.ebuild
new file mode 100644
index 000000000000..c0b00dfcb6a3
--- /dev/null
+++ b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.22.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
new file mode 100644
index 000000000000..6e7f9e7ff033
--- /dev/null
+++ b/dev-libs/tree-sitter-meta/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..58a50eb0a10e
--- /dev/null
+++ b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 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-c-sharp
+ dev-libs/tree-sitter-cpp
+ dev-libs/tree-sitter-css
+ dev-libs/tree-sitter-embedded-template
+ 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-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-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-meta/tree-sitter-meta-1.ebuild b/dev-libs/tree-sitter-meta/tree-sitter-meta-1.ebuild
new file mode 100644
index 000000000000..c8c6353faa95
--- /dev/null
+++ b/dev-libs/tree-sitter-meta/tree-sitter-meta-1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2021 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-cpp
+ dev-libs/tree-sitter-css
+ dev-libs/tree-sitter-go
+ dev-libs/tree-sitter-html
+ dev-libs/tree-sitter-javascript
+ dev-libs/tree-sitter-json
+ dev-libs/tree-sitter-meta
+ dev-libs/tree-sitter-php
+ dev-libs/tree-sitter-scala
+ dev-libs/tree-sitter-typescript"
diff --git a/dev-libs/tree-sitter-ocaml/Manifest b/dev-libs/tree-sitter-ocaml/Manifest
new file mode 100644
index 000000000000..29c9ee5bb16d
--- /dev/null
+++ b/dev-libs/tree-sitter-ocaml/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..681978881386
--- /dev/null
+++ b/dev-libs/tree-sitter-ocaml/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-ocaml</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..afc9708cb318
--- /dev/null
+++ b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.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.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
new file mode 100644
index 000000000000..d133ea96db85
--- /dev/null
+++ b/dev-libs/tree-sitter-php/Manifest
@@ -0,0 +1,3 @@
+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
+DIST tree-sitter-php-0.22.4.tar.gz 555466 BLAKE2B c95870d3079053cf8ff0ce07ce3019a4c33712f1be21734ddf52b9c47f2721387c4c024c4e53855c7449cff386fd46924a5fccf149437a06263e732378e8b0d7 SHA512 5baf5f454769407789ad2e84065088da2aa4a404ac518ba77078d421c38a08a622884c6c6a8e2e77d38c441de36d6e778a5073cb575fe649ab92e9f7420a32b3
diff --git a/dev-libs/tree-sitter-php/metadata.xml b/dev-libs/tree-sitter-php/metadata.xml
new file mode 100644
index 000000000000..0f4f3a9a2eeb
--- /dev/null
+++ b/dev-libs/tree-sitter-php/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-php</remote-id>
+ </upstream>
+</pkgmetadata>
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..75450e8ef333
--- /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-php/tree-sitter-php-0.22.4.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.4.ebuild
new file mode 100644
index 000000000000..13dc08afbb50
--- /dev/null
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.4.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
new file mode 100644
index 000000000000..c0dfa6788d6a
--- /dev/null
+++ b/dev-libs/tree-sitter-python/Manifest
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 000000000000..1150500b1da5
--- /dev/null
+++ b/dev-libs/tree-sitter-python/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-python</remote-id>
+ </upstream>
+</pkgmetadata>
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..f699d9d760e1
--- /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/Manifest b/dev-libs/tree-sitter-ql/Manifest
new file mode 100644
index 000000000000..a757d8317a82
--- /dev/null
+++ b/dev-libs/tree-sitter-ql/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-ql-0.19.0.tar.gz 105323 BLAKE2B 3f19ba4b8f0504eb3857a69ea01a81bf22e26861390cfb964d80c6fb6677edf1c3683e29821f4becd548b4ddcc9a038407c74d945179a63acf3eb3bb7fbee80c SHA512 12ec3c85775dace0d80f426675bf27b06ffd96d4ffe4bac1e3018be911cf97184efce92a6c373ee4198639323a453e21350496074fbfaf82519a972acc763455
diff --git a/dev-libs/tree-sitter-ql/metadata.xml b/dev-libs/tree-sitter-ql/metadata.xml
new file mode 100644
index 000000000000..b500ca7f8954
--- /dev/null
+++ b/dev-libs/tree-sitter-ql/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-ql</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..a299653551b5
--- /dev/null
+++ b/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.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="Semmle QL grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ql"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-regex/Manifest b/dev-libs/tree-sitter-regex/Manifest
new file mode 100644
index 000000000000..64fa25dce9bb
--- /dev/null
+++ b/dev-libs/tree-sitter-regex/Manifest
@@ -0,0 +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
new file mode 100644
index 000000000000..e052fd0a6b1b
--- /dev/null
+++ b/dev-libs/tree-sitter-regex/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-regex</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-regex/tree-sitter-regex-0.19.0.ebuild b/dev-libs/tree-sitter-regex/tree-sitter-regex-0.19.0.ebuild
new file mode 100644
index 000000000000..8c5c1cd0a4e6
--- /dev/null
+++ b/dev-libs/tree-sitter-regex/tree-sitter-regex-0.19.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2021 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"
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
new file mode 100644
index 000000000000..be7ced1bd3dc
--- /dev/null
+++ b/dev-libs/tree-sitter-ruby/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..f1cc3e07c912
--- /dev/null
+++ b/dev-libs/tree-sitter-ruby/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-ruby</remote-id>
+ </upstream>
+</pkgmetadata>
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..ef5a0db4369b
--- /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
new file mode 100644
index 000000000000..db118c56a1cf
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/Manifest
@@ -0,0 +1,5 @@
+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
+DIST tree-sitter-rust-0.21.2.tar.gz 433742 BLAKE2B d929baa23ef85bdf0b22ea1878699ef8b788ce43ebba93552f473fb695502d6e8bde5f378ef053702ecfaba2e859143d093f3f7b46e302160212eee89f6cbac6 SHA512 304b232683ded9973a94ec872401151a5900e3423c7bff966b3f5ec4a71122405fb3790f71f5fb445b8af72a31176349cb3ea8bc7d1b1a042ee574420472e19e
diff --git a/dev-libs/tree-sitter-rust/metadata.xml b/dev-libs/tree-sitter-rust/metadata.xml
new file mode 100644
index 000000000000..78be01dc65ac
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-rust</remote-id>
+ </upstream>
+</pkgmetadata>
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-rust/tree-sitter-rust-0.21.2.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.2.ebuild
new file mode 100644
index 000000000000..9eda069afc34
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.2.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
new file mode 100644
index 000000000000..5a8367249478
--- /dev/null
+++ b/dev-libs/tree-sitter-scala/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..ea3cfbe901d4
--- /dev/null
+++ b/dev-libs/tree-sitter-scala/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-scala</remote-id>
+ </upstream>
+</pkgmetadata>
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..d19d0d446e2d
--- /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/Manifest b/dev-libs/tree-sitter-tsq/Manifest
new file mode 100644
index 000000000000..ab97c767ec9f
--- /dev/null
+++ b/dev-libs/tree-sitter-tsq/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-tsq-0.19.0.tar.gz 15030 BLAKE2B b6bf4e7915dcd7089d1b536aac6df963638df63d7a9a5e94615eba86da44b8e9a6240699dc237fc9f018598384c05af8730ce7d5a2cdd090a5190f2cc5a582f8 SHA512 2150af3463ca56da50c9212d3830e248c8088ae63e914967cdbf77ca72d535b4f09950f71c2d814844d4bc41fc0df36ac00ae391e579d7be9d6ee7e939ebf2ba
diff --git a/dev-libs/tree-sitter-tsq/metadata.xml b/dev-libs/tree-sitter-tsq/metadata.xml
new file mode 100644
index 000000000000..54cdf7d9be5d
--- /dev/null
+++ b/dev-libs/tree-sitter-tsq/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">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-tsq</remote-id>
+ </upstream>
+</pkgmetadata>
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
new file mode 100644
index 000000000000..47bda74ea2b7
--- /dev/null
+++ b/dev-libs/tree-sitter-tsq/tree-sitter-tsq-0.19.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Most grammar packages uses "vX.Y" scheme, but this one don't use "v"
+# on tag names.
+# NB: keep an eye when bumping to the new versions. It's possble that
+# they can start using "v"'s, so this kludge will not be needed anymore
+TS_PV="${PV}"
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Tree-sitter query language grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-tsq"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-typescript/Manifest b/dev-libs/tree-sitter-typescript/Manifest
new file mode 100644
index 000000000000..c077958053be
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/Manifest
@@ -0,0 +1,3 @@
+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
new file mode 100644
index 000000000000..09539cbda1da
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/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>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-typescript</remote-id>
+ </upstream>
+</pkgmetadata>
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..de54a9cddb67
--- /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
new file mode 100644
index 000000000000..0d6a7f5eaef8
--- /dev/null
+++ b/dev-libs/tree-sitter/Manifest
@@ -0,0 +1,3 @@
+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
+DIST tree-sitter-0.22.5.tar.gz 3035094 BLAKE2B f54b16e2421ad68fd34b5bada767010be4224652f5a138f7afcdbc15ebaae98dfe3cc8ac77e5e8e5ab12cef516464d29e38a23fc895fa966d5a03a9569fa5ffc SHA512 cff3902e8f6e0211b6d4fafecf9f0d73a2bf73efed68df0d6e8798aac3e685cbcc882fb698ebc10115e72bcf46b59aabd0b14dd402a08d3b42cfceffea5aab2c
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/metadata.xml b/dev-libs/tree-sitter/metadata.xml
new file mode 100644
index 000000000000..00a04e33ca4a
--- /dev/null
+++ b/dev-libs/tree-sitter/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>abdelqaderali@protonmail.com</email>
+ <name>Ali Abdel-Qader</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sarnex@gentoo.org</email>
+ <name>Nick Sarnie</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mva@gentoo.org</email>
+ <name>Vadim Misbakh-Soloviov</name>
+ </maintainer>
+ <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.
+ </longdescription>
+</pkgmetadata>
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..66553bca39a7
--- /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.5.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.5.ebuild
new file mode 100644
index 000000000000..178a494dffc9
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.5.ebuild
@@ -0,0 +1,50 @@
+# 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"
+# ABI is not stable. Revisit after tree-sitter-1.0.
+# https://bugs.gentoo.org/930039
+# https://github.com/tree-sitter/tree-sitter/pull/3302
+SLOT="0/${PV}"
+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
new file mode 100644
index 000000000000..178a494dffc9
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-9999.ebuild
@@ -0,0 +1,50 @@
+# 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"
+# ABI is not stable. Revisit after tree-sitter-1.0.
+# https://bugs.gentoo.org/930039
+# https://github.com/tree-sitter/tree-sitter/pull/3302
+SLOT="0/${PV}"
+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/trio/Manifest b/dev-libs/trio/Manifest
new file mode 100644
index 000000000000..e1c82919f0bc
--- /dev/null
+++ b/dev-libs/trio/Manifest
@@ -0,0 +1 @@
+DIST trio-1.17.1.tar.gz 466909 BLAKE2B 1403c2534623b536de519cd428ac75480ecc0fcb9fbba693e329a923471947f068cae1e1fd453d10863255369e830ef5d8a75475d95f0f903e66936a9fa48e2b SHA512 574e360d88be838d13d7df5259c68809187a578d8d04981812ff768d3ab80215baf5595952994ec9fabbe3a6ce71512a7cd16d6a29b4f91dcd1b6f2ebcd3ed98
diff --git a/dev-libs/trio/metadata.xml b/dev-libs/trio/metadata.xml
new file mode 100644
index 000000000000..d2790650b579
--- /dev/null
+++ b/dev-libs/trio/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">orbea/trio</remote-id>
+ </upstream>
+</pkgmetadata>
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/tut/Manifest b/dev-libs/tut/Manifest
deleted file mode 100644
index 4e1a958bcfde..000000000000
--- a/dev-libs/tut/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST tut-2013.12.18.tar.gz 248575 BLAKE2B 24fe433e38ac9c7aecdf9bc32b1a799eac39e700a9275d46e125616e4fcdbcb60ac6db8bbde9e11cd2fa7b70bc3a0bd0aafef7a2ebab53a3955b188b2ec11eb0 SHA512 daf232df8d27a5600209ee44dc72f83b9574b68c14cf9566aa826091767e2fc3c00a9e03e83386f46d7f2030bb6d6af5db6af326424a4c0bc41063e227ab8004
-DIST tut-2016.12.19.tar.gz 261753 BLAKE2B e0c053de5c50b7dd1dee44f64296e4d1050aa175f34ff0b2818817366774544cc19261171dc2a68ba76660866368fd3ad22ca8743c0a954d4d87bea987beb5c8 SHA512 296846dcaf9ed357232f69ce21927eea6a79173b66c5f16d41d7cbdb4dd5a18cc8b15217af56ef7a0a5fca0e55d148431bd872d4b815c239d21e5e4dfb4f312d
diff --git a/dev-libs/tut/metadata.xml b/dev-libs/tut/metadata.xml
deleted file mode 100644
index b5a95aa9bfb3..000000000000
--- a/dev-libs/tut/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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">mrzechonek/tut-framework</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/tut/tut-2013.12.18.ebuild b/dev-libs/tut/tut-2013.12.18.ebuild
deleted file mode 100644
index 2d40e8998857..000000000000
--- a/dev-libs/tut/tut-2013.12.18.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+)'
-NO_WAF_LIBDIR=yes
-
-inherit python-any-r1 waf-utils
-
-DESCRIPTION="C++ Template Unit Test Framework"
-HOMEPAGE="http://mrzechonek.github.io/tut-framework/"
-SRC_URI="https://github.com/mrzechonek/tut-framework/archive/${PV//./-}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=${PYTHON_DEPS}
-RDEPEND=""
-
-S="${WORKDIR}/tut-framework-${PV//./-}"
diff --git a/dev-libs/tut/tut-2016.12.19.ebuild b/dev-libs/tut/tut-2016.12.19.ebuild
deleted file mode 100644
index 2d40e8998857..000000000000
--- a/dev-libs/tut/tut-2016.12.19.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE='threads(+)'
-NO_WAF_LIBDIR=yes
-
-inherit python-any-r1 waf-utils
-
-DESCRIPTION="C++ Template Unit Test Framework"
-HOMEPAGE="http://mrzechonek.github.io/tut-framework/"
-SRC_URI="https://github.com/mrzechonek/tut-framework/archive/${PV//./-}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=${PYTHON_DEPS}
-RDEPEND=""
-
-S="${WORKDIR}/tut-framework-${PV//./-}"
diff --git a/dev-libs/tvision/Manifest b/dev-libs/tvision/Manifest
index c74c34504d38..fd96210a44dd 100644
--- a/dev-libs/tvision/Manifest
+++ b/dev-libs/tvision/Manifest
@@ -1,2 +1 @@
-DIST rhtvision_2.1.0-2.tar.gz 1590449 BLAKE2B f5c31f997396f7b41b40089d3ebad8cdb5f24fce22f19defe3530d8a6cfcd728bf9cd3bcbb4e5d1d76c1fa3bc13c3b84f1147bd3c5aa07810077f5f159684eb0 SHA512 0593cd2eee9490d5cd6e79a6b8f4c0b384f78e5bb24b0728876fb9df482a43ee97c141d89127254210b4e012970327adfc5c8815d7c3c580a6d54a09291d42a1
-DIST rhtvision_2.2.1-4.tar.gz 1777675 BLAKE2B 04fee72d25c01825c8e21115bf16348e1f204371055490520d86a7eb6ad07d73c3d46f6046e11e01f7725b4fe8bd9eaf039ed72233f9141aaa19193635d6fe98 SHA512 bbbaab611fc7831eb339ddb612ef208a16e74f8e0961268e7e63f69c38cdfe45013d440861f3396aceabddf1a44e4cd65023b5b4238a39d55bbf133bde37dd8f
+DIST tvision-2.2.3.tar.gz 1150257 BLAKE2B a642f2b6b7c30b14fdebd97911230f9b108144f346aff327c7db9d29d230c476d556b5891e7c31e1a126b95c94a938d9ad414a0a19bf720d552f44dbe4f0ada3 SHA512 96785b7539c23cd205f7180024ed0b451fc4c33599d83e625c43a84b42e7fa4655ed2ccb4d0b885e1917e23bad7cb68b7d7ceda7dfdea95f8c1db3f0c59f4030
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch
deleted file mode 100644
index 314ab225f051..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-asneeded.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- tvision/config.pl
-+++ tvision/config.pl
-@@ -206,6 +206,7 @@
- }
- # Flags to link as a dynamic lib
- $MakeDefsRHIDE[6]='RHIDE_LDFLAGS=';
-+$MakeDefsRHIDE[7]='RHIDE_LIBS=';
- if ($OS eq 'UNIX')
- {
- if ($OSf ne 'Darwin')
-@@ -229,15 +230,15 @@
- }
- $libs=$conf{'X11Lib'};
- $libs=~s/(\S+)/-l$1/g;
-- $MakeDefsRHIDE[6].=" -L".$conf{'X11LibPath'}." $libs" if @conf{'HAVE_X11'} eq 'yes';
-+ $MakeDefsRHIDE[7].=" -L".$conf{'X11LibPath'}." $libs" if @conf{'HAVE_X11'} eq 'yes';
-- $MakeDefsRHIDE[6].=' -lgpm' if @conf{'HAVE_GPM'} eq 'yes';
-+ $MakeDefsRHIDE[7].=' -lgpm' if @conf{'HAVE_GPM'} eq 'yes';
-- $MakeDefsRHIDE[6].=(($OSf eq 'QNXRtP') ? ' -lncursesS' : ' -lncurses') unless $conf{'ncurses'} eq 'no';
-+ $MakeDefsRHIDE[7].=(($OSf eq 'QNXRtP') ? ' -lncursesS' : ' -lncurses') unless $conf{'ncurses'} eq 'no';
-- $MakeDefsRHIDE[6].=" $stdcxx -lm -lc";
-+ $MakeDefsRHIDE[7].=" $stdcxx -lm -lc";
-- $MakeDefsRHIDE[6].=' -lpthread' if $conf{'HAVE_LINUX_PTHREAD'} eq 'yes';
-+ $MakeDefsRHIDE[7].=' -lpthread' if $conf{'HAVE_LINUX_PTHREAD'} eq 'yes';
-- $MakeDefsRHIDE[6].=' libtvfintl.a' if ($OSf eq 'Darwin') && $UseDummyIntl;
-+ $MakeDefsRHIDE[7].=' libtvfintl.a' if ($OSf eq 'Darwin') && $UseDummyIntl;
- }
--$MakeDefsRHIDE[7]="LIB_VER=$Version";
-+$MakeDefsRHIDE[8]="LIB_VER=$Version";
--$MakeDefsRHIDE[8]="LIB_VER_MAJOR=$VersionMajor";
-+$MakeDefsRHIDE[9]="LIB_VER_MAJOR=$VersionMajor";
-
- ModifyMakefiles('intl/dummy/Makefile');
- CreateRHIDEenvs('examples/rhide.env','makes/rhide.env','compat/rhide.env');
---- tvision/makes/common.imk
-+++ tvision/makes/common.imk
-@@ -54,7 +54,7 @@
- C_EXTRA_FLAGS=$(SHARED_CODE_OPTION)
- RHIDE_COMPILE_ARCHIVE=$(RHIDE_LD) $(RHIDE_LIBDIRS) $(LDFLAGS) \
- $(RHIDE_LDFLAGS) $(C_EXTRA_FLAGS) -o $(OUTFILE) \
-- $(OBJFILES)
-+ $(OBJFILES) $(addprefix -l,$(RHIDE_OS_LIBS))
- else
- RHIDE_COMPILE_ARCHIVE=$(RHIDE_AR) $(RHIDE_ARFLAGS) $(OUTFILE)\
- $(ALL_PREREQ)
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch
deleted file mode 100644
index 8ba26208948a..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-build-system.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-index 8b78ba3..92aa570 100644
---- a/config.pl
-+++ b/config.pl
-@@ -1111,7 +1111,7 @@ sub GenerateMakefile
- $rep.="\t\$(MAKE) prefix=\$(prefix) -C intl\n";
- }
- $text=~s/\@target_rules\@/$rep/g;
-- $rep="intl-dummy:\n\t\$(MAKE) -C intl/dummy\n";
-+ $rep="intl-dummy:\n\t\$(MAKE) prefix=\$(prefix) -C intl/dummy\n";
- $rep.="\tcp intl/dummy/libtvfintl.a $makeDir\n";
- $rep.="\tranlib $makeDir/libtvfintl.a\n" if $conf{'UseRanLib'};
- $text=~s/\@intl_dummy_rule\@/$rep/g;
-@@ -1196,7 +1196,7 @@ sub GenerateMakefile
- }
- if ($internac)
- {
-- $rep.="\ninstall-internac:\n\t\$(MAKE) -C intl install\n";
-+ $rep.="\ninstall-internac:\n\t\$(MAKE) prefix=\$(prefix) -C intl install\n";
- }
- $text=~s/\@install_rules\@/$rep/g;
-
-@@ -1216,7 +1216,7 @@ sub GenerateMakefile
- $rep.="\trm -f intl/dummy/*.lo\n";
- $rep.="\trm -f intl/dummy/*.a\n";
- $rep.="\t-\$(MAKE) -C examples clean\n";
-- $rep.="\t-\$(MAKE) -C intl clean\n";
-+ $rep.="\t-\$(MAKE) prefix=\$(prefix) -C intl clean\n";
- $rep.="\trm -f configure.cache\n";
- $rep.="\trm -f rhtv-config\$(EXE_EXT)\n";
- $text=~s/\@clean\@/$rep/g;
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch
deleted file mode 100644
index e74b09ee57d0..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-flags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tvision/Makefile.in
-+++ tvision/Makefile.in
-@@ -31,7 +31,7 @@ examples:
- $(MAKE) -C examples
-
- rhtv-config$(EXE_EXT): rhtv-config.c include/tv/configtv.h
-- @GCC@ -o rhtv-config$(EXE_EXT) -Iinclude rhtv-config.c
-+ @GCC@ -o rhtv-config$(EXE_EXT) $(CFLAGS) $(LDFLAGS) -Iinclude rhtv-config.c
-
- install-headers:
- @install_headers@
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch
deleted file mode 100644
index 36246b214f99..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc41.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- tvision/include/tv/inputln.h
-+++ tvision/include/tv/inputln.h
-@@ -201,7 +201,7 @@
- { return name; }
-
- protected:
-- TInputLine::TInputLine(StreamableInit) :
-+ TInputLine(StreamableInit) :
- TInputLineBaseT<char,TDrawBuffer>(streamableInit) {}
-
- public:
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch
deleted file mode 100644
index 40911f3a3e29..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc44.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- tvision/classes/ipstream.cc
-+++ tvision/classes/ipstream.cc
-@@ -19,6 +19,7 @@
- *
- */
- #include <assert.h>
-+#include <stdio.h>
- #define Uses_string
- #define Uses_TStreamable
- #define Uses_TStreamableClass
---- tvision/include/tv/textdev.h
-+++ tvision/include/tv/textdev.h
-@@ -16,6 +16,8 @@
- #if defined( Uses_TTextDevice ) && !defined( __TTextDevice )
- #define __TTextDevice
-
-+#include <stdio.h>
-+
- class TRect;
- class TScrollBar;
-
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch
deleted file mode 100644
index 8570bb04222e..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-gcc6.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-Fix gcc-6 compilation errors; bug 594176
-
---- a/classes/tdesktop.cc
-+++ b/classes/tdesktop.cc
-@@ -26,6 +26,10 @@ Modified cursor behavior while desktop locked by Salvador E. Tropea (SET)
- #define Uses_TVCodePage
- #include <tv.h>
-
-+#include <cmath>
-+
-+using std::abs;
-+
- TDeskInit::TDeskInit( TBackground *(*cBackground)( TRect ) ) :
- createBackground( cBackground )
- {
---- a/classes/tdisplay.cc
-+++ b/classes/tdisplay.cc
-@@ -22,6 +22,10 @@ same used in original Turbo Vision for compatibility purposes.
- #define Uses_TVCodePage
- #include <tv.h>
-
-+#include <cmath>
-+
-+using std::abs;
-+
- // Remove me please!
- int TDisplay::dual_display=0;
-
---- a/classes/tvtext1.cc
-+++ b/classes/tvtext1.cc
-@@ -110,8 +110,8 @@
- char TCheckBoxes::button[] = " [ ] ";
- char TCheckBoxes::obutton[] = " [ ] ";
-
--TScrollChars TScrollBar::vChars = {30, 31, 177, 254, 178};
--TScrollChars TScrollBar::ovChars = {30, 31, 177, 254, 178};
--TScrollChars TScrollBar::hChars = {17, 16, 177, 254, 178};
--TScrollChars TScrollBar::ohChars = {17, 16, 177, 254, 178};
-+TScrollChars TScrollBar::vChars = {30, 31, (char) 177, (char) 254, (char) 178};
-+TScrollChars TScrollBar::ovChars = {30, 31, (char) 177, (char) 254, (char) 178};
-+TScrollChars TScrollBar::hChars = {17, 16, (char) 177, (char) 254, (char) 178};
-+TScrollChars TScrollBar::ohChars = {17, 16, (char) 177, (char) 254, (char) 178};
-
---- a/classes/x11/x11src.cc
-+++ b/classes/x11/x11src.cc
-@@ -94,6 +94,10 @@
- #define TIMER_ALARM SIGALRM
- #endif
-
-+#include <cmath>
-+
-+using std::abs;
-+
- const unsigned foWmin=5, foHmin=7, foWmax=20, foHmax=32;
- const int cursorDelay=300000;
-
-@@ -2555,49 +2559,49 @@ Cursor TScreenX11::busyCursor,
- TScreenX11::leftPtr;
- char TScreenX11::busyCursorMap[]=
- {
-- 0xff, 0xff, 0xff, 0x1f,
-- 0xfd, 0xff, 0xff, 0x1f,
-- 0xf9, 0xff, 0xff, 0x1f,
-- 0xf1, 0xff, 0xff, 0x1f,
-- 0xe1, 0x7f, 0xc0, 0x1f,
-- 0xc1, 0x7f, 0xc0, 0x1f,
-- 0x81, 0x3f, 0x80, 0x1f,
-- 0x01, 0x9f, 0x3b, 0x1f,
-- 0x01, 0xce, 0x7b, 0x1e,
-- 0xc1, 0xef, 0xfb, 0x1e,
-- 0xc9, 0xef, 0xf1, 0x18,
-- 0x9d, 0xef, 0xf1, 0x18,
-- 0x9f, 0xef, 0xfe, 0x18,
-- 0x3f, 0x6f, 0xff, 0x1e,
-- 0x3f, 0xcf, 0x7f, 0x1e,
-- 0xff, 0x9f, 0x3f, 0x1f,
-- 0xff, 0x3f, 0x80, 0x1f,
-- 0xff, 0x7f, 0xc0, 0x1f,
-- 0xff, 0x7f, 0xc0, 0x1f,
-- 0xff, 0xff, 0xff, 0x1f
-+ (char)0xff, (char)0xff, (char)0xff, (char)0x1f,
-+ (char)0xfd, (char)0xff, (char)0xff, (char)0x1f,
-+ (char)0xf9, (char)0xff, (char)0xff, (char)0x1f,
-+ (char)0xf1, (char)0xff, (char)0xff, (char)0x1f,
-+ (char)0xe1, (char)0x7f, (char)0xc0, (char)0x1f,
-+ (char)0xc1, (char)0x7f, (char)0xc0, (char)0x1f,
-+ (char)0x81, (char)0x3f, (char)0x80, (char)0x1f,
-+ (char)0x01, (char)0x9f, (char)0x3b, (char)0x1f,
-+ (char)0x01, (char)0xce, (char)0x7b, (char)0x1e,
-+ (char)0xc1, (char)0xef, (char)0xfb, (char)0x1e,
-+ (char)0xc9, (char)0xef, (char)0xf1, (char)0x18,
-+ (char)0x9d, (char)0xef, (char)0xf1, (char)0x18,
-+ (char)0x9f, (char)0xef, (char)0xfe, (char)0x18,
-+ (char)0x3f, (char)0x6f, (char)0xff, (char)0x1e,
-+ (char)0x3f, (char)0xcf, (char)0x7f, (char)0x1e,
-+ (char)0xff, (char)0x9f, (char)0x3f, (char)0x1f,
-+ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f,
-+ (char)0xff, (char)0x7f, (char)0xc0, (char)0x1f,
-+ (char)0xff, (char)0x7f, (char)0xc0, (char)0x1f,
-+ (char)0xff, (char)0xff, (char)0xff, (char)0x1f
- };
- char TScreenX11::busyCursorMask[]=
- {
-- 0xfc, 0xff, 0xff, 0x1f,
-- 0xf8, 0xff, 0xff, 0x1f,
-- 0xf0, 0xff, 0xff, 0x1f,
-- 0xe0, 0x3f, 0x80, 0x1f,
-- 0xc0, 0x3f, 0x80, 0x1f,
-- 0x80, 0x3f, 0x80, 0x1f,
-- 0x00, 0x1f, 0x00, 0x1f,
-- 0x00, 0x0e, 0x00, 0x1e,
-- 0x00, 0x04, 0x00, 0x1c,
-- 0x00, 0x04, 0x00, 0x10,
-- 0x80, 0x07, 0x00, 0x10,
-- 0x08, 0x07, 0x00, 0x10,
-- 0x0c, 0x07, 0x00, 0x10,
-- 0x1f, 0x06, 0x00, 0x10,
-- 0x1f, 0x06, 0x00, 0x1c,
-- 0x3f, 0x0f, 0x00, 0x1e,
-- 0xff, 0x1f, 0x00, 0x1f,
-- 0xff, 0x3f, 0x80, 0x1f,
-- 0xff, 0x3f, 0x80, 0x1f,
-- 0xff, 0x3f, 0x80, 0x1f
-+ (char)0xfc, (char)0xff, (char)0xff, (char)0x1f,
-+ (char)0xf8, (char)0xff, (char)0xff, (char)0x1f,
-+ (char)0xf0, (char)0xff, (char)0xff, (char)0x1f,
-+ (char)0xe0, (char)0x3f, (char)0x80, (char)0x1f,
-+ (char)0xc0, (char)0x3f, (char)0x80, (char)0x1f,
-+ (char)0x80, (char)0x3f, (char)0x80, (char)0x1f,
-+ (char)0x00, (char)0x1f, (char)0x00, (char)0x1f,
-+ (char)0x00, (char)0x0e, (char)0x00, (char)0x1e,
-+ (char)0x00, (char)0x04, (char)0x00, (char)0x1c,
-+ (char)0x00, (char)0x04, (char)0x00, (char)0x10,
-+ (char)0x80, (char)0x07, (char)0x00, (char)0x10,
-+ (char)0x08, (char)0x07, (char)0x00, (char)0x10,
-+ (char)0x0c, (char)0x07, (char)0x00, (char)0x10,
-+ (char)0x1f, (char)0x06, (char)0x00, (char)0x10,
-+ (char)0x1f, (char)0x06, (char)0x00, (char)0x1c,
-+ (char)0x3f, (char)0x0f, (char)0x00, (char)0x1e,
-+ (char)0xff, (char)0x1f, (char)0x00, (char)0x1f,
-+ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f,
-+ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f,
-+ (char)0xff, (char)0x3f, (char)0x80, (char)0x1f
- };
-
- /* This is the function which creates cursors. On success it return
-
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch
deleted file mode 100644
index 6d7d94fe8a0d..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-ldconfig.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- tvision/config.pl
-+++ tvision/config.pl
-@@ -1193,12 +1193,6 @@
- $rep.="\t".GenInstallFiles('0644',"$makeDir/$ver",'$(libdir)');
- $stripDebug=($OSf eq 'Darwin') ? '-S' : '--strip-debug';
- $rep.="\tstrip $stripDebug \$(libdir)/$ver\n" unless $conf{'debugInfo'} eq 'yes';
-- # FreeBSD: merge data from libdir.
-- # Darwin: doesn't have ldconfig.
-- if ($OSf ne 'Darwin')
-- {
-- $rep.=($OSf eq 'FreeBSD') ? "\t-ldconfig -m \$(libdir)\n" : "\t-ldconfig\n";
-- }
- }
- if ($internac)
- {
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch
deleted file mode 100644
index 0735f8ffeb77..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-outb.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Recent kernel headers no longer provide asm/io.h.
-
---- tvision/classes/linux/linuxdis.cc
-+++ tvision/classes/linux/linuxdis.cc
-@@ -300,7 +300,11 @@
- *****************************************************************************/
-
- #ifdef h386LowLevel
-+#if HAVE_OUTB_IN_SYS
-+#include <sys/io.h>
-+#else
- #include <asm/io.h>
-+#endif
-
- static inline
- unsigned char I(unsigned char i)
---- tvision/classes/linux/linuxscr.cc
-+++ tvision/classes/linux/linuxscr.cc
-@@ -123,7 +123,11 @@
- #include <tv/linux/log.h>
-
- #ifdef h386LowLevel
-+ #if HAVE_OUTB_IN_SYS
-+ #include <sys/io.h>
-+ #else
- #include <asm/io.h>
-+ #endif
- #endif
-
- // What a hell is that?!
---- tvision/config.pl
-+++ tvision/config.pl
-@@ -77,7 +77,7 @@
- # glibc I use but the fact is that the needed tricks make it very Linux
- # dependent.
- LookForPThread() if $OSf eq 'Linux';
-- #LookForOutB();
-+ LookForOutB();
- }
- if ($Compf eq 'Cygwin')
- {# Cygwin incorporates a XFree86 port
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-perl-INC.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-perl-INC.patch
deleted file mode 100644
index 8a559bde5ccf..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-perl-INC.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/config.pl b/config.pl
-index 53a7b50..784676b 100644
---- a/config.pl
-+++ b/config.pl
-@@ -5,8 +5,8 @@
- # To specify the compilation flags define the CFLAGS environment variable.
- #
-
--require "miscperl.pl";
--require "conflib.pl";
-+require "./miscperl.pl";
-+require "./conflib.pl";
-
- # If the script is newer discard the cache.
- #GetCache() unless (-M 'config.pl' < -M 'configure.cache');
-diff --git a/confignt.pl b/confignt.pl
-index e185f49..9ff7ae6 100644
---- a/confignt.pl
-+++ b/confignt.pl
-@@ -3,8 +3,8 @@
- # see copyrigh file for details
- #
-
--require "miscperl.pl";
--require "conflib.pl";
-+require "./miscperl.pl";
-+require "./conflib.pl";
-
- SeeCommandLine();
-
diff --git a/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch b/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch
deleted file mode 100644
index d693a359a6cf..000000000000
--- a/dev-libs/tvision/files/tvision-2.1.0_pre2-underflow.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Bug #160591; fixes a buffer underflow.
-Reported by B Douglas Hilton <b.d.hilton@verizon.net>
-
---- tvision/classes/ttermina.cc
-+++ tvision/classes/ttermina.cc
-@@ -233,7 +233,7 @@
- }
- }
- }
-- while (pos-->=queBack);
-+ while (pos-->queBack);
-
- return queBack;
- }
diff --git a/dev-libs/tvision/files/tvision-2.2.1.4-build-system.patch b/dev-libs/tvision/files/tvision-2.2.1.4-build-system.patch
deleted file mode 100644
index d2c1316a794e..000000000000
--- a/dev-libs/tvision/files/tvision-2.2.1.4-build-system.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/config.pl b/config.pl
-index 6a7a8b3..4664baa 100644
---- a/config.pl
-+++ b/config.pl
-@@ -1188,7 +1188,7 @@ sub GenerateMakefile
- $rep.="\t\$(MAKE) -C intl\n";
- }
- $text=~s/\@target_rules\@/$rep/g;
-- $rep="intl-dummy:\n\t\$(MAKE) -C intl/dummy\n";
-+ $rep="intl-dummy:\n\t\$(MAKE) prefix=\$(prefix) -C intl/dummy\n";
- $rep.="\tcp intl/dummy/libtvfintl.a $makeDir\n";
- $rep.="\tranlib $makeDir/libtvfintl.a\n" if $conf{'UseRanLib'};
- $text=~s/\@intl_dummy_rule\@/$rep/g;
-@@ -1273,7 +1273,7 @@ sub GenerateMakefile
- }
- if ($internac)
- {
-- $rep.="\ninstall-internac:\n\t\$(MAKE) -C intl install\n";
-+ $rep.="\ninstall-internac:\n\t\$(MAKE) prefix=\$(prefix) -C intl install\n";
- }
- $text=~s/\@install_rules\@/$rep/g;
-
-@@ -1293,7 +1293,7 @@ sub GenerateMakefile
- $rep.="\trm -f intl/dummy/*.lo\n";
- $rep.="\trm -f intl/dummy/*.a\n";
- $rep.="\t-\$(MAKE) -C examples clean\n";
-- $rep.="\t-\$(MAKE) -C intl clean\n";
-+ $rep.="\t-\$(MAKE) prefix=\$(prefix) -C intl clean\n";
- $rep.="\trm -f configure.cache\n";
- $rep.="\trm -f rhtv-config\$(EXE_EXT)\n";
- $text=~s/\@clean\@/$rep/g;
diff --git a/dev-libs/tvision/files/tvision-2.2.1.4-fix-dot-INC.patch b/dev-libs/tvision/files/tvision-2.2.1.4-fix-dot-INC.patch
deleted file mode 100644
index ee81c4febd5f..000000000000
--- a/dev-libs/tvision/files/tvision-2.2.1.4-fix-dot-INC.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/config.pl b/config.pl
-index caf9c2d..caf2ed3 100644
---- a/config.pl
-+++ b/config.pl
-@@ -5,8 +5,8 @@
- # To specify the compilation flags define the CFLAGS environment variable.
- #
-
--require "miscperl.pl";
--require "conflib.pl";
-+require "./miscperl.pl";
-+require "./conflib.pl";
-
- # This optimization is giving problems and current PCs are quite fast to
- # make a real difference.
-diff --git a/confignt.pl b/confignt.pl
-index e185f49..9ff7ae6 100644
---- a/confignt.pl
-+++ b/confignt.pl
-@@ -3,8 +3,8 @@
- # see copyrigh file for details
- #
-
--require "miscperl.pl";
--require "conflib.pl";
-+require "./miscperl.pl";
-+require "./conflib.pl";
-
- SeeCommandLine();
-
diff --git a/dev-libs/tvision/files/tvision-2.2.1.4-fix-overloaded-abs.patch b/dev-libs/tvision/files/tvision-2.2.1.4-fix-overloaded-abs.patch
deleted file mode 100644
index aab66f3a8cba..000000000000
--- a/dev-libs/tvision/files/tvision-2.2.1.4-fix-overloaded-abs.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 85185e7787b34545faf095b64935d80982b5cf81 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl@gmail.com>
-Date: Wed, 12 Jun 2019 11:52:16 +0200
-Subject: [PATCH] Patches from upstream to address abs issue with >gcc-6 See
- https://sourceforge.net/p/tvision/bugs/17/
-
-The patches declare inline static abs functions where they are
-needed to make gcc happy.
-
-Signed-off-by: Bernd Waibel <waebbl@gmail.com>
----
- classes/dos/sescreen.cc | 6 ++++++
- classes/tdesktop.cc | 6 ++++++
- classes/x11/x11src.cc | 6 ++++++
- 3 files changed, 18 insertions(+)
-
-diff --git a/classes/dos/sescreen.cc b/classes/dos/sescreen.cc
-index 4dd3195..8a500d5 100644
---- a/classes/dos/sescreen.cc
-+++ b/classes/dos/sescreen.cc
-@@ -248,6 +248,12 @@ static int is_plane_mode = 0;
- static int TextModeXres;
- static int TextModeYres;
-
-+inline
-+static unsigned abs(unsigned v)
-+{
-+ return unsigned(abs(int(v)));
-+}
-+
- /*****************************************************************************
-
- *************************** VESA BIOS ROUTINES ******************************
-diff --git a/classes/tdesktop.cc b/classes/tdesktop.cc
-index 38f1be4..26447eb 100644
---- a/classes/tdesktop.cc
-+++ b/classes/tdesktop.cc
-@@ -26,6 +26,12 @@ Modified cursor behavior while desktop locked by Salvador E. Tropea (SET)
- #define Uses_TVCodePage
- #include <tv.h>
-
-+inline
-+static unsigned abs(unsigned v)
-+{
-+ return unsigned(abs(int(v)));
-+}
-+
- TDeskInit::TDeskInit( TBackground *(*cBackground)( TRect ) ) :
- createBackground( cBackground )
- {
-diff --git a/classes/x11/x11src.cc b/classes/x11/x11src.cc
-index 538457e..dc350df 100644
---- a/classes/x11/x11src.cc
-+++ b/classes/x11/x11src.cc
-@@ -141,6 +141,12 @@ void (*TScreenX11::writeLine)(int x, int y, int w, void *str, unsigned color)
- void (*TScreenX11::redrawBuf)(int x, int y, unsigned w, unsigned off)=
- TScreenX11::redrawBufCP;
-
-+inline
-+static unsigned abs(unsigned v)
-+{
-+ return unsigned(abs(int(v)));
-+}
-+
- TScreenX11::~TScreenX11()
- {
- STOP_UPDATE_THREAD;
---
-2.21.0
-
-From 9b9f1aea8c9972ab9c1e633835ed4359d7fe000c Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl@gmail.com>
-Date: Wed, 12 Jun 2019 12:05:58 +0200
-Subject: [PATCH] classes/tdisplay.c: Also add abs patch to tdisplay.cc
-
-Signed-off-by: Bernd Waibel <waebbl@gmail.com>
----
- classes/tdisplay.cc | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/classes/tdisplay.cc b/classes/tdisplay.cc
-index 9225d48..569bc1d 100644
---- a/classes/tdisplay.cc
-+++ b/classes/tdisplay.cc
-@@ -22,6 +22,12 @@ same used in original Turbo Vision for compatibility purposes.
- #define Uses_TVCodePage
- #include <tv.h>
-
-+inline
-+static unsigned abs(unsigned v)
-+{
-+ return unsigned(abs(int(v)));
-+}
-+
- // Remove me please!
- int TDisplay::dual_display=0;
-
---
-2.21.0
-
diff --git a/dev-libs/tvision/files/tvision-2.2.1.4-gcc6.patch b/dev-libs/tvision/files/tvision-2.2.1.4-gcc6.patch
deleted file mode 100644
index e882e8539821..000000000000
--- a/dev-libs/tvision/files/tvision-2.2.1.4-gcc6.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/classes/tdesktop.cc b/classes/tdesktop.cc
-index 38f1be4..f8f44f0 100644
---- a/classes/tdesktop.cc
-+++ b/classes/tdesktop.cc
-@@ -26,6 +26,10 @@ Modified cursor behavior while desktop locked by Salvador E. Tropea (SET)
- #define Uses_TVCodePage
- #include <tv.h>
-
-+#include <cmath>
-+
-+using std::abs;
-+
- TDeskInit::TDeskInit( TBackground *(*cBackground)( TRect ) ) :
- createBackground( cBackground )
- {
-diff --git a/classes/tdisplay.cc b/classes/tdisplay.cc
-index 9225d48..ee5eca8 100644
---- a/classes/tdisplay.cc
-+++ b/classes/tdisplay.cc
-@@ -22,6 +22,10 @@ same used in original Turbo Vision for compatibility purposes.
- #define Uses_TVCodePage
- #include <tv.h>
-
-+#include <cmath>
-+
-+using std::abs;
-+
- // Remove me please!
- int TDisplay::dual_display=0;
-
-diff --git a/classes/x11/x11src.cc b/classes/x11/x11src.cc
-index 538457e..10f9911 100644
---- a/classes/x11/x11src.cc
-+++ b/classes/x11/x11src.cc
-@@ -98,6 +98,10 @@
- #define TIMER_ALARM SIGALRM
- #endif
-
-+#include <cmath>
-+
-+using std::abs;
-+
- const unsigned foWmin=5, foHmin=7, foWmax=20, foHmax=32;
- const int cursorDelay=300000;
-
diff --git a/dev-libs/tvision/files/tvision-2.2.3-0001-Added-ar-command-now-can-be-configured-from-the-envi.patch b/dev-libs/tvision/files/tvision-2.2.3-0001-Added-ar-command-now-can-be-configured-from-the-envi.patch
new file mode 100644
index 000000000000..239161b2f0a9
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.2.3-0001-Added-ar-command-now-can-be-configured-from-the-envi.patch
@@ -0,0 +1,56 @@
+From: "Salvador E. Tropea" <salvador@inti.gob.ar>
+Date: Thu, 17 Jun 2021 13:11:22 -0300
+Subject: [PATCH 1/4] Added `ar` command now can be configured from the
+ environment
+
+- Using the AR environment variable.
+- Related to issue: #1
+- Gentoo issue: https://bugs.gentoo.org/796278
+---
+ conflib.pl | 24 +++++++++++++++---------
+ 1 file changed, 15 insertions(+), 9 deletions(-)
+
+diff --git a/conflib.pl b/conflib.pl
+index 0abd33df..946bfa95 100644
+--- a/conflib.pl
++++ b/conflib.pl
+@@ -1386,21 +1386,27 @@ sub LookForGNUMake
+
+ sub LookForGNUar
+ {
+- my $test;
+- print 'Looking for GNU ar: ';
++ my ($ar, $test);
+
+- if ($conf{'GNU_AR'})
++ print 'Looking for GNU ar: ';
++ $ar=$conf{'GNU_AR'};
++ if ($ar)
+ {
+- print "$conf{'GNU_AR'} (cached)\n";
+- return $conf{'GNU_AR'};
++ print "$ar (cached)\n";
++ return $ar;
++ }
++ $ar=$ENV{'AR'};
++ if (!length($ar))
++ {
++ $ar='ar';
+ }
+ $conf{'UseRanLib'}=0;
+- $test=RunRedirect('ar --version',$ErrorLog);
++ $test=RunRedirect($ar.' --version',$ErrorLog);
+ if (($test=~/GNU ar/) || ($test=~/BSD ar/))
+ {
+- $conf{'GNU_AR'}='ar';
+- print "ar\n";
+- return 'ar';
++ $conf{'GNU_AR'}=$ar;
++ print "$ar\n";
++ return $ar;
+ }
+ $test=RunRedirect('gar --version',$ErrorLog);
+ if ($test=~/GNU ar/)
+--
+2.32.0
+
diff --git a/dev-libs/tvision/files/tvision-2.2.3-0002-Added-configuration-option-to-exclude-libgpm.patch b/dev-libs/tvision/files/tvision-2.2.3-0002-Added-configuration-option-to-exclude-libgpm.patch
new file mode 100644
index 000000000000..03cbb76a82d9
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.2.3-0002-Added-configuration-option-to-exclude-libgpm.patch
@@ -0,0 +1,60 @@
+From: "Salvador E. Tropea" <salvador@inti.gob.ar>
+Date: Thu, 17 Jun 2021 13:28:36 -0300
+Subject: [PATCH 2/4] Added configuration option to exclude libgpm
+
+- Fixes #1
+---
+ config.pl | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/config.pl b/config.pl
+index 21d81ff3..424e3065 100644
+--- a/config.pl
++++ b/config.pl
+@@ -73,7 +73,14 @@ if ($OS eq 'DOS')
+
+ if ($OS eq 'UNIX')
+ {
+- LookForGPM($GPMVersionNeeded);
++ if ($conf{'gpm'} eq 'no')
++ {
++ $conf{'HAVE_GPM'}='no';
++ }
++ else
++ {
++ LookForGPM($GPMVersionNeeded);
++ }
+ LookForNCurses($NCursesVersionNeeded);
+ LookForKeysyms();
+ LookForXlib();
+@@ -424,6 +431,10 @@ sub SeeCommandLine
+ {
+ $conf{'no-dynamic'}='yes';
+ }
++ elsif ($i eq '--without-gpm')
++ {
++ $conf{'gpm'}='no';
++ }
+ # elsif ($i eq '--unsafe-memcpy')
+ # {
+ # $conf{'HAVE_UNSAFE_MEMCPY'}='yes';
+@@ -482,6 +493,7 @@ sub ShowHelp
+ print "--no-intl : don't use international support.\n";
+ print "--without-static : don't create the static library.\n";
+ print "--without-dynamic: don't create the dynamic library.\n";
++ print "--without-gpm : skip gpm library detection.\n";
+ print "--with-mss : compiles with MSS memory debugger.\n";
+ print "--without-mss : compiles without MSS [default].\n";
+ print "--with-ssc : compiles using Simple Streams Compatibility.\n";
+@@ -532,7 +544,7 @@ sub GiveAdvice
+ print " using this library reconfigure using --no-intl. Read about it in the readme.\n";
+ print " [[[[[[[*******************>>>>> IMPORTANT!!! <<<<<*******************]]]]]]]\n";
+ }
+- if ((@conf{'HAVE_GPM'} eq 'no') && ($OSf eq 'Linux'))
++ if ((@conf{'HAVE_GPM'} eq 'no') && ($OSf eq 'Linux') && ($conf{'gpm'} ne 'no'))
+ {
+ print "\n";
+ print "* No mouse support for console! please install the libgpm package needed\n";
+--
+2.32.0
+
diff --git a/dev-libs/tvision/files/tvision-2.2.3-0003-Adjusted-c-years.patch b/dev-libs/tvision/files/tvision-2.2.3-0003-Adjusted-c-years.patch
new file mode 100644
index 000000000000..743591c324ad
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.2.3-0003-Adjusted-c-years.patch
@@ -0,0 +1,34 @@
+From: "Salvador E. Tropea" <salvador@inti.gob.ar>
+Date: Thu, 17 Jun 2021 13:35:42 -0300
+Subject: [PATCH 3/4] Adjusted (c) years
+
+---
+ config.pl | 2 +-
+ conflib.pl | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config.pl b/config.pl
+index 424e3065..cda54600 100644
+--- a/config.pl
++++ b/config.pl
+@@ -1,5 +1,5 @@
+ #!/usr/bin/perl
+-# Copyright (C) 1999-2012 by Salvador E. Tropea (SET),
++# Copyright (C) 1999-2021 by Salvador E. Tropea (SET),
+ # see copyrigh file for details
+ #
+ # To specify the compilation flags define the CFLAGS environment variable.
+diff --git a/conflib.pl b/conflib.pl
+index 946bfa95..c8e70204 100644
+--- a/conflib.pl
++++ b/conflib.pl
+@@ -1,5 +1,5 @@
+ #!/usr/bin/perl
+-# Copyright (C) 1999-2004 by Salvador E. Tropea (SET),
++# Copyright (C) 1999-2021 by Salvador E. Tropea (SET),
+ # see copyrigh file for details
+ #
+ # Common configuration routines.
+--
+2.32.0
+
diff --git a/dev-libs/tvision/files/tvision-2.2.3-0004-Made-ar-command-configurable.patch b/dev-libs/tvision/files/tvision-2.2.3-0004-Made-ar-command-configurable.patch
new file mode 100644
index 000000000000..9c67313523aa
--- /dev/null
+++ b/dev-libs/tvision/files/tvision-2.2.3-0004-Made-ar-command-configurable.patch
@@ -0,0 +1,23 @@
+From: "Salvador E. Tropea" <salvador@inti.gob.ar>
+Date: Thu, 17 Jun 2021 13:36:09 -0300
+Subject: [PATCH 4/4] Made ar command configurable.
+
+---
+ intl/dummy/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/intl/dummy/Makefile b/intl/dummy/Makefile
+index c32b0a8b..e24c1976 100644
+--- a/intl/dummy/Makefile
++++ b/intl/dummy/Makefile
+@@ -1,5 +1,6 @@
+ RHIDE_GCC=gcc
++RHIDE_AR=ar
+ CC=$(RHIDE_GCC)
+
+ libtvfintl.a: intldummy.o
+- ar -rv libtvfintl.a intldummy.o
++ $(RHIDE_AR) -rv libtvfintl.a intldummy.o
+--
+2.32.0
+
diff --git a/dev-libs/tvision/metadata.xml b/dev-libs/tvision/metadata.xml
index 8fc9090f78d2..48be3e1fd6ea 100644
--- a/dev-libs/tvision/metadata.xml
+++ b/dev-libs/tvision/metadata.xml
@@ -1,23 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>waebbl@gmail.com</email>
+ <maintainer type="person" proxied="yes">
+ <email>waebbl-gentoo@posteo.net</email>
<name>Bernd Waibel</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <longdescription>
- Text User Interface (TUI) that implements the well known CUA widgets.
- </longdescription>
- <use>
- <flag restrict="&gt;dev-libs/tvision-2.2.1-r4" name="gpm">
- Support text mode mouse through <pkg>sys-libs/gpm</pkg>
- </flag>
- </use>
<upstream>
- <remote-id type="sourceforge">tvision</remote-id>
+ <remote-id type="github">set-soft/tvision</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild b/dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild
deleted file mode 100644
index 0990426185ec..000000000000
--- a/dev-libs/tvision/tvision-2.1.0_pre2-r4.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Text User Interface that implements the well known CUA widgets"
-HOMEPAGE="http://tvision.sourceforge.net/"
-SRC_URI="mirror://sourceforge/tvision/rhtvision_${PV/_pre/-}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-IUSE=""
-
-DOCS=( readme.txt THANKS TODO )
-
-HTML_DOCS=( www-site/. )
-
-S=${WORKDIR}/${PN}
-
-PATCHES=(
- "${FILESDIR}/${P}-gcc41.patch"
- "${FILESDIR}/${P}-outb.patch"
- "${FILESDIR}/${P}-underflow.patch"
- "${FILESDIR}/${P}-asneeded.patch"
- "${FILESDIR}/${P}-gcc44.patch"
- "${FILESDIR}/${P}-ldconfig.patch"
- "${FILESDIR}/${P}-flags.patch"
- "${FILESDIR}/${P}-gcc6.patch" # bug #594176
- "${FILESDIR}/${P}-build-system.patch" # for EAPI=6
- "${FILESDIR}/${P}-perl-INC.patch" # dot-in-INC
-)
-
-src_prepare() {
- # Strip hunk from invalid characters for gcc6.patch
- sed -e ":TScrollChars: s:; // \x1E\x1F\xB1\xFE\xB2:;:" \
- -e ":TScrollChars: s:; // \x11\x10\xB1\xFE\xB2:;:" \
- -i classes/tvtext1.cc || die
- default
-}
-
-src_configure() {
- ./configure --fhs || die
-}
-
-src_install() {
- emake DESTDIR="${D}" install \
- prefix="\${DESTDIR}/usr" \
- libdir="\$(prefix)/$(get_libdir)"
-
- einstalldocs
- dosym rhtvision /usr/include/tvision
-}
diff --git a/dev-libs/tvision/tvision-2.2.1.4.ebuild b/dev-libs/tvision/tvision-2.2.1.4.ebuild
deleted file mode 100644
index 4cbbeea9403b..000000000000
--- a/dev-libs/tvision/tvision-2.2.1.4.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PV=$(ver_rs 3 -)
-
-DESCRIPTION="Text User Interface that implements the well known CUA widgets"
-HOMEPAGE="http://tvision.sourceforge.net/"
-SRC_URI="mirror://sourceforge/tvision/rhtvision_${MY_PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="+X debug gpm"
-
-DOCS=( readme.txt THANKS TODO )
-HTML_DOCS=( www-site/. )
-
-S=${WORKDIR}/${PN}
-
-# installed lib links to those
-RDEPEND="
- dev-libs/libbsd
- sys-apps/util-linux
- sys-libs/ncurses:0=
- gpm? ( sys-libs/gpm )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXau
- x11-libs/libXdmcp
- x11-libs/libXext
- x11-libs/libXmu
- x11-libs/libXt
- x11-libs/libxcb:=
- )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-dot-INC.patch"
- "${FILESDIR}/${P}-ldconfig.patch"
- "${FILESDIR}/${P}-build-system.patch"
- "${FILESDIR}/${P}-gcc6.patch"
- "${FILESDIR}/${P}-flags.patch"
- "${FILESDIR}/${P}-fix-overloaded-abs.patch"
-)
-
-src_configure() {
- # Note: Do not use econf here, this isn't an autoconf configure script,
- # but a perl based script which simply calls config.pl
- ./configure --fhs \
- $(use_with debug debug) \
- --without-static \
- || die
-}
-
-src_install() {
- emake DESTDIR="${D}" install \
- prefix="\${DESTDIR}/${EPREFIX}/usr" \
- libdir="\$(prefix)/$(get_libdir)"
-
- einstalldocs
- dosym rhtvision /usr/include/tvision
-
- # remove CVS directory which gets copied over
- rm -r "${ED}/usr/share/doc/${P}/html/CVS" || die
-}
diff --git a/dev-libs/tvision/tvision-2.2.3.ebuild b/dev-libs/tvision/tvision-2.2.3.ebuild
new file mode 100644
index 000000000000..623f256bad34
--- /dev/null
+++ b/dev-libs/tvision/tvision-2.2.3.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_PN="rh${PN}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Text User Interface that implements the well known CUA widgets"
+HOMEPAGE="http://tvision.sourceforge.net/"
+SRC_URI="https://github.com/set-soft/${PN}/releases/download/v${PV}/${MY_P}.src.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="examples gpm nls"
+
+DOCS=( readme.txt THANKS TODO )
+HTML_DOCS=( www-site/. )
+
+RDEPEND="
+ dev-libs/libbsd
+ media-libs/allegro:0[X]
+ sys-apps/util-linux
+ sys-libs/ncurses:0=
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libxcb:=
+ gpm? ( sys-libs/gpm )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.1.4-flags.patch
+ "${FILESDIR}"/${PN}-2.2.1.4-ldconfig.patch
+ "${FILESDIR}"/${P}-0001-Added-ar-command-now-can-be-configured-from-the-envi.patch
+ "${FILESDIR}"/${P}-0002-Added-configuration-option-to-exclude-libgpm.patch
+ "${FILESDIR}"/${P}-0003-Adjusted-c-years.patch
+ "${FILESDIR}"/${P}-0004-Made-ar-command-configurable.patch
+)
+
+src_configure() {
+ tc-export CC CXX AR
+
+ local myconf=()
+ myconf+=(
+ --fhs
+ --prefix="${EPREFIX}/usr"
+ # avoid stripping
+ --with-debug
+ --with-pthread
+ --without-static
+ --x-include="${EPREFIX}/usr/include/X11"
+ )
+
+ use gpm || myconf+=( --without-gpm )
+ use nls || myconf+=( --no-intl )
+
+ # Note: Do not use econf here, this isn't an autoconf configure script,
+ # but a perl based script which simply calls config.pl
+ einfo "Running ./configure ${myconf[@]}"
+ ./configure ${myconf[@]} || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install \
+ prefix="\${DESTDIR}${EPREFIX}/usr" \
+ libdir="\$(prefix)/$(get_libdir)"
+
+ einstalldocs
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ docinto examples
+ dodoc -r examples/*
+ fi
+}
diff --git a/dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch b/dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch
index 2749c9131349..f2116434bca9 100644
--- a/dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch
+++ b/dev-libs/tvmet/files/tvmet-1.7.2-respect-cxxflags.patch
@@ -1,6 +1,5 @@
-diff -ur tvmet-1.7.2-orig/configure tvmet-1.7.2/configure
---- tvmet-1.7.2-orig/configure 2009-04-19 16:27:20.000000000 -0400
-+++ tvmet-1.7.2/configure 2009-04-19 16:48:52.000000000 -0400
+--- a/configure
++++ b/configure
@@ -2659,11 +2659,9 @@
;;
*:*) # Simple initialization syntax
diff --git a/dev-libs/tvmet/metadata.xml b/dev-libs/tvmet/metadata.xml
index 2c8f0b133ff6..82d77fa922ef 100644
--- a/dev-libs/tvmet/metadata.xml
+++ b/dev-libs/tvmet/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
index a4eb9e36ebe7..f31dbeb77343 100644
--- a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
+++ b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
@@ -1,24 +1,27 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
-
-inherit eutils
+EAPI=7
DESCRIPTION="Tiny Vector Matrix library using Expression Templates"
HOMEPAGE="http://tvmet.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-LICENSE="LGPL-2.1"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.bz2"
+
SLOT="0"
+LICENSE="LGPL-2.1"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="debug doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+DEPEND="test? ( dev-util/cppunit )"
-DEPEND="doc? ( app-doc/doxygen )
- test? ( dev-util/cppunit )"
-RDEPEND=""
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-cxxflags.patch
+)
src_prepare() {
- epatch "${FILESDIR}/${P}-respect-cxxflags.patch"
+ default
sed -i \
-e 's|^GENERATE_LATEX.*|GENERATE_LATEX = NO|' \
@@ -40,13 +43,18 @@ src_configure() {
src_compile() {
default
+
if use doc ; then
- cd doc
+ cd doc || die
doxygen Doxyfile || die "doxygen failed"
fi
}
src_install() {
default
- use doc && dohtml -r doc/html/*
+
+ if use doc ; then
+ docinto html
+ dodoc -r doc/html/*
+ fi
}
diff --git a/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch b/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch
index 07c925b4888e..b01a50e3bdf5 100644
--- a/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch
+++ b/dev-libs/ucl/files/ucl-1.03-CFLAGS.patch
@@ -2,9 +2,8 @@ From: Nathan Phillip Brink <binki@gentoo.org>
Subject: Respect CCASFLAGS (which often defaults to CFLAGS). Fixes
compilation for portage-multilib users.
-diff -r c090ed619e90 configure.ac
---- a/configure.ac Sun Jun 26 16:00:09 2011 -0400
-+++ b/configure.ac Sun Jun 26 20:52:01 2011 -0400
+--- a/configure.ac
++++ b/configure.ac
@@ -47,14 +47,12 @@
AC_CANONICAL_TARGET
AM_MAINTAINER_MODE
@@ -49,9 +48,8 @@ diff -r c090ed619e90 configure.ac
AC_CONFIG_FILES([Makefile examples/Makefile include/Makefile include/ucl/Makefile src/Makefile])
AC_OUTPUT
-diff -r c090ed619e90 src/Makefile.am
---- a/src/Makefile.am Sun Jun 26 16:00:09 2011 -0400
-+++ b/src/Makefile.am Sun Jun 26 20:52:01 2011 -0400
+--- a/src/Makefile.am
++++ b/src/Makefile.am
@@ -4,11 +4,10 @@
#
diff --git a/dev-libs/ucl/metadata.xml b/dev-libs/ucl/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/dev-libs/ucl/metadata.xml
+++ b/dev-libs/ucl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/ucl/ucl-1.03-r1.ebuild b/dev-libs/ucl/ucl-1.03-r1.ebuild
index 38a7acb307b6..9f03c5c83fff 100644
--- a/dev-libs/ucl/ucl-1.03-r1.ebuild
+++ b/dev-libs/ucl/ucl-1.03-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit autotools eutils flag-o-matic
+EAPI=7
+
+inherit autotools flag-o-matic
DESCRIPTION="the UCL Compression Library"
HOMEPAGE="http://www.oberhumer.com/opensource/ucl/"
@@ -10,14 +11,18 @@ SRC_URI="http://www.oberhumer.com/opensource/ucl/download/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
IUSE="static-libs"
DEPEND="!!dev-libs/libucl"
+PATCHES=(
+ "${FILESDIR}"/${P}-CFLAGS.patch
+ "${FILESDIR}"/${P}-x32.patch #426334
+)
+
src_prepare() {
- epatch "${FILESDIR}"/${P}-CFLAGS.patch
- epatch "${FILESDIR}"/${P}-x32.patch #426334
+ default
# lzo (and ucl) have some weird sort of mfx_* set of autoconf macros
# which may only be distributed with lzo itself? Rescue them and
@@ -41,5 +46,6 @@ src_configure() {
src_install() {
default
- prune_libtool_files
+
+ find "${ED}" -type f -name '*.la' -delete || die
}
diff --git a/dev-libs/ucommon/Manifest b/dev-libs/ucommon/Manifest
deleted file mode 100644
index 929a0e34f766..000000000000
--- a/dev-libs/ucommon/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST ucommon-6.0.3.tar.gz 806841 BLAKE2B 08e384f535529dbd27271861c473e18624d81029f7fecc08057b646f9c22d9bda956da2655114ec693a17f20764e4635701d1a932eeff2cdc8e82ad0fefd6496 SHA512 3ff30865a7f3fae955717c9bc2d3b37ad8f63dff8d3addc05eb9ddefa2311792f21b97ede852e22959ae6aae5114cce777a04b937aa07d564dd92d6f25f77762
-DIST ucommon-6.5.7.tar.gz 855822 BLAKE2B 56b5eb5f8372f983e0f348e5fc494c15bea57dc711e88a9a9f4ceeb8abf03680a82948ea080053a9d4c846172b64443a3947b3774b50c6d0a60c1f2ced63e69d SHA512 9927c9726252cdf050f217fa5993d34dcf9f76fab8399ee3a4c91cf087d9409947ed486a21e8448cb57ea95b52826682120f99d39287983c306434f9121b4d24
-DIST ucommon-7.0.0.tar.gz 837905 BLAKE2B ddc82d5d1a88d66f353d9e69eacd7cfaaa0204acb8b9c4152559a009d287f2ffdb7feedc6fc0303c93a39d607498dd15bf83798d088857582f79be435d010ca7 SHA512 d32f8603d920eb98b5d4bc75224a7a8bb8bf2001a8dd3152626a8438ea4c39503a7446dec3aa90cf464b7abb68a6e42bac488ef9705517bd333b64bce219915b
diff --git a/dev-libs/ucommon/files/ucommon-6.0.3-disable_rtf_gen_doxy.patch b/dev-libs/ucommon/files/ucommon-6.0.3-disable_rtf_gen_doxy.patch
deleted file mode 100644
index a872f54ffe23..000000000000
--- a/dev-libs/ucommon/files/ucommon-6.0.3-disable_rtf_gen_doxy.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Doxyfile
-+++ b/Doxyfile
-@@ -37,13 +37,13 @@
- GENERATE_HTMLHELP = YES
- GENERATE_TREEVIEW = YES
- TREEVIEW_WIDTH = 256
--GENERATE_LATEX = YES
-+GENERATE_LATEX = NO
- COMPACT_LATEX = YES
- PDF_HYPERLINKS = YES
- USE_PDFLATEX = NO
- LATEX_BATCHMODE = YES
- LATEX_HIDE_INDICES = NO
--GENERATE_RTF = YES
-+GENERATE_RTF = NO
- COMPACT_RTF = YES
- RTF_HYPERLINKS = NO
- GENERATE_MAN = NO
diff --git a/dev-libs/ucommon/files/ucommon-6.0.3-gcrypt_autotools.patch b/dev-libs/ucommon/files/ucommon-6.0.3-gcrypt_autotools.patch
deleted file mode 100644
index ff69e836a9d9..000000000000
--- a/dev-libs/ucommon/files/ucommon-6.0.3-gcrypt_autotools.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -8,6 +8,8 @@
- # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
- # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-+ACLOCAL_AMFLAGS = -I m4
-+
- AUTOMAKE_OPTIONS = no-dependencies dist-zip
- EXTRA_DIST = autogen.sh README* *.pc.in *.spec.in *.spec *-config.in \
- *-config.1 Doxyfile cmodel.sh BUILDS SUPPORT COPYING* COPYRIGHT \
---- a/configure.ac
-+++ b/configure.ac
-@@ -37,8 +37,12 @@
- UCOMMON_LIBS=""
- OPENSSL_LINK=""
-
-+AM_SILENT_RULES([yes])
-+
- CHECKFLAGS="$CHECKFLAGS"
-
-+m4_include([m4/libgcrypt.m4])
-+
- case "$with_crypto" in
- ssl|openssl)
- ssl="openssl"
-@@ -664,7 +668,8 @@
- ;;
- gnutls|gnu)
- if test ! -z "$GNUTLS_LIBS" ; then
-- SECURE_LIBS="$GNUTLS_LIBS"
-+ AM_PATH_LIBGCRYPT
-+ SECURE_LIBS="$GNUTLS_LIBS $LIBGCRYPT_LIBS"
- SECURE="gnutls"
- fi
- ;;
---- a/utils/Makefile.am
-+++ b/utils/Makefile.am
-@@ -9,9 +9,9 @@
- # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- MAINTAINERCLEANFILES = Makefile.in Makefile
--AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@
-+AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@ @LIBGCRYPT_CFLAGS@
- INCLUDES = -I$(top_srcdir)/inc
--LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @UCOMMON_CLINK@
-+LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @UCOMMON_CLINK@ @LIBGCRYPT_LIBS@
- EXTRA_DIST = *.1
-
- man_MANS = args.1 scrub-files.1 mdsum.1 zerofill.1 car.1 sockaddr.1 pdetach.1
-@@ -27,7 +27,7 @@
- scrub_files_LDFLAGS = @SECURE_LOCAL@
-
- mdsum_SOURCES = mdsum.cpp
--mdsum_LDFLAGS = @SECURE_LOCAL@
-+mdsum_LDFLAGS = @SECURE_LOCAL@ @LIBGCRYPT_LIBS@
-
- zerofill_SOURCES = zerofill.cpp
- zerofill_LDFLAGS = @SECURE_LOCAL@
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-6.3.1-gcrypt_autotools.patch b/dev-libs/ucommon/files/ucommon-6.3.1-gcrypt_autotools.patch
deleted file mode 100644
index 7221890a9b7c..000000000000
--- a/dev-libs/ucommon/files/ucommon-6.3.1-gcrypt_autotools.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -38,8 +38,12 @@
- OPENSSL_LINK=""
- MODULE_FLAGS="-module -shared -avoid-version"
-
-+AM_SILENT_RULES([yes])
-+
- CHECKFLAGS="$CHECKFLAGS"
-
-+m4_include([m4/libgcrypt.m4])
-+
- case "$with_crypto" in
- ssl|openssl)
- ssl="openssl"
-@@ -598,7 +602,8 @@
- ;;
- gnutls|gnu)
- if test ! -z "$GNUTLS_LIBS" ; then
-- SECURE_LIBS="$GNUTLS_LIBS"
-+ AM_PATH_LIBGCRYPT
-+ SECURE_LIBS="$GNUTLS_LIBS $LIBGCRYPT_LIBS"
- SECURE="gnutls"
- fi
- ;;
---- a/utils/Makefile.am
-+++ b/utils/Makefile.am
-@@ -10,9 +10,9 @@
- # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- MAINTAINERCLEANFILES = Makefile.in Makefile
--AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@
-+AM_CXXFLAGS = -I$(top_srcdir)/inc @UCOMMON_FLAGS@ @LIBGCRYPT_CFLAGS@
- AM_CPPFLAGS = -I$(top_srcdir)/inc
--LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@
-+LDADD = ../corelib/libucommon.la @UCOMMON_LIBS@ @LIBGCRYPT_LIBS@
- EXTRA_DIST = *.1 CMakeLists.txt
-
- man_MANS = args.1 scrub-files.1 mdsum.1 zerofill.1 car.1 sockaddr.1 \
-@@ -21,7 +21,7 @@
-
- noinst_PROGRAMS = demoSSL
- demoSSL_SOURCES = ssl.cpp
--demoSSL_LDFLAGS = @SECURE_LOCAL@
-+demoSSL_LDFLAGS = @SECURE_LOCAL@ @LIBGCRYPT_LIBS@
-
- args_SOURCES = args.cpp
-
diff --git a/dev-libs/ucommon/metadata.xml b/dev-libs/ucommon/metadata.xml
deleted file mode 100644
index 72a1c4cf8f6f..000000000000
--- a/dev-libs/ucommon/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="person">
- <email>maksbotan@gentoo.org</email>
- <name>Maxim Koltsov</name>
-</maintainer>
-<use>
- <flag name="socks">Build with socks proxy support</flag>
-</use>
-</pkgmetadata>
diff --git a/dev-libs/ucommon/ucommon-6.0.3.ebuild b/dev-libs/ucommon/ucommon-6.0.3.ebuild
deleted file mode 100644
index 9c0884fe1ca6..000000000000
--- a/dev-libs/ucommon/ucommon-6.0.3.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-AUTOTOOLS_AUTORECONF=1
-
-inherit autotools-utils eutils
-
-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"
-KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux"
-IUSE="doc static-libs socks +cxx debug ssl gnutls"
-
-RDEPEND="ssl? (
- !gnutls? ( dev-libs/openssl:0= )
- gnutls? (
- net-libs/gnutls
- dev-libs/libgcrypt:0
- )
- )"
-
-DEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen )
- ${RDEPEND}"
-
-DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
-PATCHES=(
- "${FILESDIR}"/${PN}-6.0.3-disable_rtf_gen_doxy.patch
- "${FILESDIR}"/${PN}-6.0.3-install_gcrypt.m4_file.patch
- "${FILESDIR}"/${PN}-6.0.3-gcrypt_autotools.patch
-)
-
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-src_prepare() {
-
- # Aclocal 1.13 deprecated error #467674
- sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' -i configure.ac || die
-
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myconf=""
- if use ssl; then
- myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
- else
- myconf+=" --with-sslstack=nossl ";
- fi
-
- local myeconfargs=(
- $(use_enable socks)
- $(use_enable cxx stdcpp)
- ${myconf}
- --enable-atomics
- --with-pkg-config
- )
- autotools-utils_src_configure
-}
-
-src_compile() {
- autotools-utils_src_compile
- use doc && autotools-utils_src_compile doxy
-}
-
-src_install() {
- autotools-utils_src_install
- if use doc; then
- dohtml doc/html/*
- fi
-}
diff --git a/dev-libs/ucommon/ucommon-6.5.7.ebuild b/dev-libs/ucommon/ucommon-6.5.7.ebuild
deleted file mode 100644
index e8e90402975e..000000000000
--- a/dev-libs/ucommon/ucommon-6.5.7.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-AUTOTOOLS_AUTORECONF=1
-
-inherit autotools-utils eutils
-
-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/6"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
-IUSE="doc static-libs socks +cxx debug libressl ssl gnutls"
-
-RDEPEND="
- ssl? (
- gnutls? (
- net-libs/gnutls:0=
- dev-libs/libgcrypt:0=
- )
- !gnutls? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )"
-
-DEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen )
- ${RDEPEND}"
-
-DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
-PATCHES=(
- "${FILESDIR}/${PN}-6.0.3-install_gcrypt.m4_file.patch"
- "${FILESDIR}/${PN}-6.3.1-gcrypt_autotools.patch"
-)
-
-# Needed for doxygen, bug #526726
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-src_prepare() {
- # 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
-
- autotools-utils_src_prepare
-}
-
-src_configure() {
- local myconf=""
- if use ssl; then
- myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
- else
- myconf+=" --with-sslstack=nossl ";
- fi
-
- local myeconfargs=(
- $(use_enable socks)
- $(use_enable cxx stdcpp)
- ${myconf}
- --enable-atomics
- --with-pkg-config
- )
- autotools-utils_src_configure
-}
-
-src_compile() {
- autotools-utils_src_compile
- use doc && autotools-utils_src_compile doxy
-}
-
-src_install() {
- autotools-utils_src_install
- if use doc; then
- dohtml doc/html/*
- fi
-}
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 4632f70963ac..000000000000
--- a/dev-libs/ucommon/ucommon-7.0.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools
-
-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 static-libs +cxx debug libressl ssl gnutls"
-
-RDEPEND="
- ssl? (
- gnutls? (
- net-libs/gnutls:0=
- dev-libs/libgcrypt:0=
- )
- !gnutls? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
-"
-
-DOCS=(README NEWS SUPPORT ChangeLog AUTHORS)
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.0.3-install_gcrypt.m4_file.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() {
- local myconf=""
- if use ssl; then
- myconf+=" --with-sslstack=$(usex gnutls gnu ssl) "
- else
- myconf+=" --with-sslstack=nossl ";
- fi
-
- local myeconfargs=(
- $(use_enable cxx stdcpp)
- ${myconf}
- --enable-atomics
- --with-pkg-config
- )
- econf "${myeconfargs}"
-}
-
-src_compile() {
- default
- use doc && emake doxy
-}
-
-src_install() {
- use doc && HTML_DOCS="doc/html/*"
- default
-}
diff --git a/dev-libs/udis86/Manifest b/dev-libs/udis86/Manifest
index e6b0e1758684..0c27a721feb6 100644
--- a/dev-libs/udis86/Manifest
+++ b/dev-libs/udis86/Manifest
@@ -1,2 +1 @@
DIST udis86-1.7.2.tar.gz 445085 BLAKE2B 0e67a1ae28688a5febdb4502714a6d99b1fda9028470bac1ecf9314d33c2f081726e3706e9616f352fbf1561283429cb96b92ea4a88e454ec21eadc84bb336d8 SHA512 8cb35d70ac020cd74ced22252aa735a266e5db98d89df565a560baa4ace0cd730e9db838241b70c3b93c27d6b2c75a88edf9c357c864d0f0104323925371c96f
-DIST udis86-1.7.tar.gz 696651 BLAKE2B 5d0a97e06b6bc7b263b6f080e12f832d4bfc9a4791a495e49cd2f4ee6d37d13e593891e02fe9ee3c3fb5e7ec23bf25ae7aa1dccd1f95b5c003f6a6e45bbb7f8d SHA512 df0f802d4c0cf6b39b5b996cfd721cb7d0bdd1b0e2f2f7bcb7165514541b94d795c653e885d9f928d9a27f19464ed6fa948f4315fc1f3887079201fcbb2a241e
diff --git a/dev-libs/udis86/files/udis86-1.7-yasm.patch b/dev-libs/udis86/files/udis86-1.7-yasm.patch
deleted file mode 100644
index 3d3eecdf8283..000000000000
--- a/dev-libs/udis86/files/udis86-1.7-yasm.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -25,6 +25,9 @@
- AC_DISABLE_SHARED
- AC_PROG_LIBTOOL
-
-+AC_PATH_PROG([YASM], yasm,)
-+AC_SUBST(YASM)
-+
- # If this is a gnu compiler, pass -Wall
- if test "$ac_cv_c_compiler_gnu" = "yes"; then
- CFLAGS="$CFLAGS -Wall"
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -10,7 +10,7 @@
- ovrrun_LDADD = ../libudis86/libudis86.la
- ovrrun_CFLAGS = -I$(top_srcdir)/libudis86 -I$(top_srcdir)
-
--YASM = yasm
-+YASM = @YASM@
-
- dist_check_DATA = test16.asm test32.asm test64.asm testjmp.asm testobscure.asm \
- testjmp.ref testobscure.ref randtest.raw randtest16.ref \
-@@ -18,7 +18,10 @@
-
- check-local: tests
-
--tests: test16 test32 test64 testjmp bufovrrun randraw
-+yasm_tests: test16 test32 test64 testjmp
-+no_yasm_tests: bufovrrun randraw
-+
-+tests: $(if $(YASM), yasm_tests) no_yasm_tests
-
- test16: gen
- $(YASM) -f bin -o test16.bin $(top_srcdir)/tests/test16.asm
diff --git a/dev-libs/udis86/files/udis86-1.7.2-python3.patch b/dev-libs/udis86/files/udis86-1.7.2-python3.patch
new file mode 100644
index 000000000000..b708072195c5
--- /dev/null
+++ b/dev-libs/udis86/files/udis86-1.7.2-python3.patch
@@ -0,0 +1,42 @@
+--- a/scripts/ud_opcode.py
++++ b/scripts/ud_opcode.py
+@@ -130,8 +130,8 @@
+ '/mod' : lambda v: '00' if v == '!11' else '01',
+ # Mode extensions:
+ # (16, 32, 64) => (00, 01, 02)
+- '/o' : lambda v: "%02x" % (int(v) / 32),
+- '/a' : lambda v: "%02x" % (int(v) / 32),
++ '/o' : lambda v: "%02x" % (int(v) // 32),
++ '/a' : lambda v: "%02x" % (int(v) // 32),
+ '/m' : lambda v: '00' if v == '!64' else '01',
+ # SSE
+ '/sse' : lambda v: UdOpcodeTables.OpcExtIndex['sse'][v],
+@@ -227,7 +227,7 @@
+
+ def print_table( self, table, pfxs ):
+ print("%s |" % pfxs)
+- keys = table[ 'entries' ].keys()
++ keys = list(table[ 'entries' ].keys())
+ if ( len( keys ) ):
+ keys.sort()
+ for idx in keys:
+--- a/tests/oprgen.py
++++ b/tests/oprgen.py
+@@ -686,7 +686,7 @@
+ def generate_yasm( self, mode, seed ):
+ opr_combos = {}
+ random.seed( seed )
+- print "[bits %s]" % mode
++ print("[bits %s]" % mode)
+ for insn in self.InsnTable:
+ if insn[ 'mnemonic' ] in self.ExcludeList:
+ continue
+@@ -728,7 +728,7 @@
+ else:
+ operands = None
+ if operands is not None:
+- print "\t%s %s" % (insn['mnemonic'], operands)
++ print("\t%s %s" % (insn['mnemonic'], operands))
+ opr_combos[fusedName]['covered'] = True
+
+ # stats
diff --git a/dev-libs/udis86/files/udis86-1.7.2-uninitialized-variable.patch b/dev-libs/udis86/files/udis86-1.7.2-uninitialized-variable.patch
new file mode 100644
index 000000000000..3778e535caa5
--- /dev/null
+++ b/dev-libs/udis86/files/udis86-1.7.2-uninitialized-variable.patch
@@ -0,0 +1,22 @@
+From cce390dd61996e569bd8a3bca78e7aa4b286d6df Mon Sep 17 00:00:00 2001
+From: Vivek Thampi <vivek.mt@gmail.com>
+Date: Sun, 22 Sep 2013 12:13:05 -0700
+Subject: [PATCH] Minor fix for an uninitialized var
+
+---
+ libudis86/decode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libudis86/decode.c b/libudis86/decode.c
+index 3dab9ad..55638bd 100644
+--- a/libudis86/decode.c
++++ b/libudis86/decode.c
+@@ -228,7 +228,7 @@ static int
+ decode_prefixes(struct ud *u)
+ {
+ int done = 0;
+- uint8_t curr, last = 0;
++ uint8_t curr = 0, last = 0;
+ UD_RETURN_ON_ERROR(u);
+
+ do {
diff --git a/dev-libs/udis86/metadata.xml b/dev-libs/udis86/metadata.xml
index 8e3555d805c8..47173b0422a7 100644
--- a/dev-libs/udis86/metadata.xml
+++ b/dev-libs/udis86/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chithanh@gentoo.org</email>
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">udis86</remote-id>
+ <remote-id type="github">vmt/udis86</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/udis86/udis86-1.7-r2.ebuild b/dev-libs/udis86/udis86-1.7-r2.ebuild
deleted file mode 100644
index 1231af279799..000000000000
--- a/dev-libs/udis86/udis86-1.7-r2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-multilib eutils
-
-DESCRIPTION="Disassembler library for the x86/-64 architecture sets"
-HOMEPAGE="http://udis86.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="test"
-
-DEPEND="test? (
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- x86-fbsd? ( dev-lang/yasm )
- )"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}"/${P}-yasm.patch
-)
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --enable-shared
- --with-pic
- )
-
- autotools-multilib_src_configure
-}
diff --git a/dev-libs/udis86/udis86-1.7.2-r1.ebuild b/dev-libs/udis86/udis86-1.7.2-r1.ebuild
new file mode 100644
index 000000000000..eae6f0cee99d
--- /dev/null
+++ b/dev-libs/udis86/udis86-1.7.2-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit autotools multilib-minimal python-any-r1
+
+DESCRIPTION="Disassembler library for the x86/-64 architecture sets"
+HOMEPAGE="http://udis86.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~hppa ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/yasm )
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-docdir.patch
+ "${FILESDIR}"/${P}-python3.patch
+ "${FILESDIR}"/${P}-uninitialized-variable.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --disable-static \
+ --enable-shared \
+ --with-pic \
+ --with-python="${PYTHON}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/udis86/udis86-1.7.2.ebuild b/dev-libs/udis86/udis86-1.7.2.ebuild
deleted file mode 100644
index cd7cf07a9bc6..000000000000
--- a/dev-libs/udis86/udis86-1.7.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-inherit autotools-multilib eutils
-
-DESCRIPTION="Disassembler library for the x86/-64 architecture sets"
-HOMEPAGE="http://udis86.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="test"
-
-DEPEND="test? (
- amd64? ( dev-lang/yasm )
- x86? ( dev-lang/yasm )
- x86-fbsd? ( dev-lang/yasm )
- )"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}"/${P}-docdir.patch
-)
-
-src_configure() {
- local myeconfargs=(
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- --disable-static
- --enable-shared
- --with-pic
- )
-
- autotools-multilib_src_configure
-}
diff --git a/dev-libs/unibilium/Manifest b/dev-libs/unibilium/Manifest
index fd376f408202..765f7180a8a9 100644
--- a/dev-libs/unibilium/Manifest
+++ b/dev-libs/unibilium/Manifest
@@ -1,4 +1 @@
-DIST unibilium-1.1.4.tar.xz 50828 BLAKE2B d680696e463323092693c277c972ccfb914e4c5261d54d912e4c5a7d8cab8c8b65a052b94c257dd63a6008cfb0111d052e0c5ddf8bb4598c236c88a0af19ccd8 SHA512 fdd5c57d0b2e3dac7f2a19c4d332e0d6bfc2378ca6aeabb4504ad0cea6ff7e78d87d2ef9f4b5187b038cb4380803b7ad72105e4da7769b35fdc694882b4cb61b
-DIST unibilium-1.2.0.tar.gz 88488 BLAKE2B 47615a1c9e5a7f2e03c5b5f852b8d53bce047b1cb64aecc0dc0fa88ac7481589bed4b390ec007dcb65056bb8e0de56bbea17dd0a5c014968c224c60944a4767d SHA512 7aff79669200810c2910006aba657ca2276123ecb3e6e0ba01fa2d1c3cdf838c391594e6035ef150deb6185c4f1e43fe1b0bfb59b23c6697d801a5bdee37a0ee
-DIST unibilium-1.2.1.tar.gz 94966 BLAKE2B d449accb3bf4a24049b0e4878ce6953c9082103ff40e9f79c59a848651e9595b2eca508a29d51a60eaea5ea38de9189b990e36ca77f1986ed87beeaff96db56b SHA512 2a3e92051382cd427220f6994a49ab10966fd13e51d1ccb437d695d5556ede8ee8d1dc0e0f92871ca48c559abd6f229599df3d1c1a2d2f80fb0820686280ce79
-DIST unibilium-2.0.0.tar.gz 112570 BLAKE2B 95c24c53e11590faabf3d4b8484c344be0b2a0988f05bde785d03dac338d9f18fc65324f5ccc402723c9fabe2990083ce260d8fa57129591a1b2a1f8405eff9d SHA512 e93f319b7a85a4441c7f4e30d12d906805f066b14bff03331e48b6257da893f6447e257c8ba731077ad4b54d82d3ebf1ccf1fcf2d864273e0d4321a26ef7c172
+DIST unibilium-2.1.1.tar.gz 121998 BLAKE2B 0bd032d0cc32011fa66604b39412116824b79aeb3cebb394efcad7591d5bd18031d465f7736ff1e65914f2fcf7beca1cbee4c7ad07426cdbf45e1c82e1894d94 SHA512 ebcdcddc6c3a540d086b113bb83470c1c17cf59056b28308a484b20dc3df71de0f5d6e5bf105f9e4a8347c78500c65ae46c2b53ec87692a898c321a047664ee2
diff --git a/dev-libs/unibilium/files/unibilium-2.1.0-no-compress-man.patch b/dev-libs/unibilium/files/unibilium-2.1.0-no-compress-man.patch
new file mode 100644
index 000000000000..d4c1944554bd
--- /dev/null
+++ b/dev-libs/unibilium/files/unibilium-2.1.0-no-compress-man.patch
@@ -0,0 +1,22 @@
+--- a/Makefile
++++ b/Makefile
+@@ -56,7 +56,7 @@ OBJECTS=unibilium.lo uninames.lo uniutil.lo
+ LIBRARY=libunibilium.la
+
+ PODS=$(wildcard doc/*.pod)
+-MANPAGES=$(addprefix man/,$(notdir $(PODS:.pod=.3.gz)))
++MANPAGES=$(addprefix man/,$(notdir $(PODS:.pod=.3)))
+
+ TOOLS=$(wildcard tools/*.c)
+
+@@ -121,8 +121,8 @@ install-man: build-man
+ .PHONY: build-man
+ build-man: $(MANPAGES)
+
+-man/%.3.gz: doc/%.pod
+- $(POD2MAN) $(POD2MAN_OPTS) $< | gzip > $@
++man/%.3: doc/%.pod
++ $(POD2MAN) $(POD2MAN_OPTS) $< > $@
+
+
+ # Regenerate static test files, based on existing terminfo entries.
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/metadata.xml b/dev-libs/unibilium/metadata.xml
index 5ce7855694af..cd5541dfd303 100644
--- a/dev-libs/unibilium/metadata.xml
+++ b/dev-libs/unibilium/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>vim@gentoo.org</email>
diff --git a/dev-libs/unibilium/unibilium-1.1.4.ebuild b/dev-libs/unibilium/unibilium-1.1.4.ebuild
deleted file mode 100644
index 9a9428303ce2..000000000000
--- a/dev-libs/unibilium/unibilium-1.1.4.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils flag-o-matic multilib
-
-DESCRIPTION="A very basic terminfo library"
-HOMEPAGE="https://github.com/mauke/unibilium/"
-SRC_URI="https://dev.gentoo.org/~yngwin/distfiles/${P}.tar.xz"
-
-LICENSE="LGPL-3+ MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-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
- prune_libtool_files
-}
diff --git a/dev-libs/unibilium/unibilium-1.2.0.ebuild b/dev-libs/unibilium/unibilium-1.2.0.ebuild
deleted file mode 100644
index 651c9d14afe7..000000000000
--- a/dev-libs/unibilium/unibilium-1.2.0.ebuild
+++ /dev/null
@@ -1,29 +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="A very basic terminfo library"
-HOMEPAGE="https://github.com/mauke/unibilium/"
-SRC_URI="https://github.com/mauke/unibilium/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3+ MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~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-1.2.1.ebuild b/dev-libs/unibilium/unibilium-1.2.1.ebuild
deleted file mode 100644
index 727acdee1e7c..000000000000
--- a/dev-libs/unibilium/unibilium-1.2.1.ebuild
+++ /dev/null
@@ -1,31 +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="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"
-KEYWORDS="amd64 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.0.0.ebuild b/dev-libs/unibilium/unibilium-2.0.0.ebuild
deleted file mode 100644
index 9c76937c3ddd..000000000000
--- a/dev-libs/unibilium/unibilium-2.0.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=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 ~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.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
new file mode 100644
index 000000000000..fd74ec579ab0
--- /dev/null
+++ b/dev-libs/unibilium/unibilium-2.1.1.ebuild
@@ -0,0 +1,34 @@
+# 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 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 ~riscv x86 ~x64-macos"
+IUSE="static-libs"
+
+BDEPEND="dev-lang/perl
+ dev-build/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/unittest++/Manifest b/dev-libs/unittest++/Manifest
index c50f9bbd9a84..dd7685441d95 100644
--- a/dev-libs/unittest++/Manifest
+++ b/dev-libs/unittest++/Manifest
@@ -1,2 +1 @@
-DIST unittest++-1.6.1.tar.gz 52536 BLAKE2B 0a5e7cbe1131565631c0537a1a262b6053b5010497eeaf76690f465cdbca45157feb6686faaf37a37f4554e37b54051161c3183651315509ada143975d7211f4 SHA512 2bb03def8b6ac84dbb6e5e440e5be8648199096fdc93d6666b704386e2c2279b329be6bda47c81bd8a8c485334059fb2a53fdd90358005a95b8add6f057c25ce
DIST unittest++-2.0.0.tar.gz 54100 BLAKE2B 5aceda6e76f4536054c8de0fb4a4a17027d0707101fb323883734d420f038aeb094fb6567e41145804f012c952a5807bdd6fe1bae1e4a09a6e36c5f1bbc5717e SHA512 39318f4ed31534c116679a3257bf1438a6c4b3bef1894dfd40aea934950c6c8197af6a7f61539b8e9ddc67327c9388d7e8a6f8a3e0e966ad26c07554e2429cab
diff --git a/dev-libs/unittest++/files/unittest++-2.0.0-Add-support-for-LIB_SUFFIX.patch b/dev-libs/unittest++/files/unittest++-2.0.0-Add-support-for-LIB_SUFFIX.patch
new file mode 100644
index 000000000000..fcaad5b0e69f
--- /dev/null
+++ b/dev-libs/unittest++/files/unittest++-2.0.0-Add-support-for-LIB_SUFFIX.patch
@@ -0,0 +1,55 @@
+From 0757ba8f903fc94ac852c8ba394cd96358b0e2c7 Mon Sep 17 00:00:00 2001
+From: Christoph Willing <chris.willing@iinet.net.au>
+Date: Mon, 23 Jan 2017 17:49:12 +1000
+Subject: [PATCH] Add support for LIB_SUFFIX
+
+Signed-off-by: Christoph Willing <chris.willing@iinet.net.au>
+---
+ CMakeLists.txt | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a0f5511..6b490ef 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,6 +11,8 @@ option(UTPP_AMPLIFY_WARNINGS
+ "Set this to OFF if you wish to use CMake default warning levels; should generally only use to work around support issues for your specific compiler"
+ ON)
+
++set(LIB_SUFFIX "" CACHE STRING "Identifier to add to end of lib directory name e.g. 64 for lib64")
++
+ if(MSVC14 OR MSVC12)
+ # has the support we need
+ else()
+@@ -92,10 +94,10 @@ else()
+ set (UTPP_INSTALL_DESTINATION "include/UnitTestPP")
+ endif()
+
+-set(config_install_dir_ lib/cmake/${PROJECT_NAME})
++set(config_install_dir_ lib${LIB_SUFFIX}/cmake/${PROJECT_NAME})
+ set(targets_export_name_ "${PROJECT_NAME}Targets")
+
+-install(TARGETS UnitTest++ EXPORT "${targets_export_name_}" DESTINATION lib)
++install(TARGETS UnitTest++ EXPORT "${targets_export_name_}" DESTINATION lib${LIB_SUFFIX})
+ install(FILES ${headers_} DESTINATION ${UTPP_INSTALL_DESTINATION})
+ install(FILES ${platformHeaders_} DESTINATION ${UTPP_INSTALL_DESTINATION}/${platformDir_})
+ install(FILES cmake/UnitTest++Config.cmake DESTINATION "${config_install_dir_}")
+@@ -103,13 +105,13 @@ install(EXPORT "${targets_export_name_}" DESTINATION "${config_install_dir_}")
+
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
+-set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
++set(libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+ set(includedir ${CMAKE_INSTALL_PREFIX}/include/UnitTest++)
+ configure_file("UnitTest++.pc.in" "UnitTest++.pc" @ONLY)
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ set(pkgconfdir ${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig)
+ else()
+- set(pkgconfdir ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
++ set(pkgconfdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig)
+ endif()
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/UnitTest++.pc"
+ DESTINATION "${pkgconfdir}")
+--
+2.26.2
+
diff --git a/dev-libs/unittest++/files/unittest++-2.0.0-cmake-fix-pkgconfig-dir-path-on-FreeBSD.patch b/dev-libs/unittest++/files/unittest++-2.0.0-cmake-fix-pkgconfig-dir-path-on-FreeBSD.patch
new file mode 100644
index 000000000000..44c243670027
--- /dev/null
+++ b/dev-libs/unittest++/files/unittest++-2.0.0-cmake-fix-pkgconfig-dir-path-on-FreeBSD.patch
@@ -0,0 +1,28 @@
+From 85bade33f596a4dab33eb6d44f662d64fc20f510 Mon Sep 17 00:00:00 2001
+From: Iblis Lin <iblis@hs.ntnu.edu.tw>
+Date: Sat, 14 Jan 2017 23:00:24 +0800
+Subject: [PATCH] cmake: fix pkgconfig dir path on FreeBSD
+
+---
+ CMakeLists.txt | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fb10f47..a0f5511 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -106,5 +106,10 @@ set(exec_prefix ${CMAKE_INSTALL_PREFIX}/bin)
+ set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
+ set(includedir ${CMAKE_INSTALL_PREFIX}/include/UnitTest++)
+ configure_file("UnitTest++.pc.in" "UnitTest++.pc" @ONLY)
++if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
++ set(pkgconfdir ${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig)
++else()
++ set(pkgconfdir ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
++endif()
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/UnitTest++.pc"
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
++ DESTINATION "${pkgconfdir}")
+--
+2.26.2
+
diff --git a/dev-libs/unittest++/files/unittest++-2.0.0-fix-tests-with-clang.patch b/dev-libs/unittest++/files/unittest++-2.0.0-fix-tests-with-clang.patch
new file mode 100644
index 000000000000..201ff10de5a3
--- /dev/null
+++ b/dev-libs/unittest++/files/unittest++-2.0.0-fix-tests-with-clang.patch
@@ -0,0 +1,27 @@
+commit 2423fcac7668aa9c331a2dcf024c3ca06742942d
+Author: Dan Huantes <daniel.f.huantes@saic.com>
+Date: Thu Aug 15 08:26:41 2019 -0500
+
+ CrasingTestsAreReportedAsFailures no longer core dumps on Clang Release
+
+ Found that Crashing tests at some point in Clang
+ history were actually caught but testing on
+ Clang 6.0 and Clang 7.0 this is not the case.
+ So added Clang to the list of compilers that
+ don't run this tests. Noted that several
+ other Pull Requests were failing for the same
+ reason.
+
+diff --git a/tests/TestTest.cpp b/tests/TestTest.cpp
+index 5a4e1ca..0db0650 100644
+--- a/tests/TestTest.cpp
++++ b/tests/TestTest.cpp
+@@ -72,7 +72,7 @@ namespace {
+ CHECK_EQUAL(1, results.GetFailureCount());
+ }
+
+-#if !defined(UNITTEST_MINGW) && !defined(UNITTEST_WIN32)
++#if !defined(UNITTEST_MINGW) && !defined(UNITTEST_WIN32) && !defined(__clang__)
+ // Skip this test in debug because some debuggers don't like it.
+ #if defined(NDEBUG)
+ TEST(CrashingTestsAreReportedAsFailures)
diff --git a/dev-libs/unittest++/metadata.xml b/dev-libs/unittest++/metadata.xml
index 295c6be753c2..e924b619b631 100644
--- a/dev-libs/unittest++/metadata.xml
+++ b/dev-libs/unittest++/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sbraz@gentoo.org</email>
diff --git a/dev-libs/unittest++/unittest++-1.6.1.ebuild b/dev-libs/unittest++/unittest++-1.6.1.ebuild
deleted file mode 100644
index 7aeeae67d821..000000000000
--- a/dev-libs/unittest++/unittest++-1.6.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-MY_PN="unittest-cpp"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A lightweight unit testing framework for C++"
-HOMEPAGE="https://unittest-cpp.github.io/"
-SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- sed -i '/run unit tests as post build step/,/Running unit tests/d' \
- CMakeLists.txt || die
- use test || sed -i \
- '/build the test runner/,/target_link_libraries(TestUnitTest++ UnitTest++/d' \
- CMakeLists.txt || die
- cmake-utils_src_prepare
-}
-
-src_test() {
- "${BUILD_DIR}/TestUnitTest++" || die "Tests failed"
-}
diff --git a/dev-libs/unittest++/unittest++-2.0.0-r2.ebuild b/dev-libs/unittest++/unittest++-2.0.0-r2.ebuild
new file mode 100644
index 000000000000..f7450bcb036f
--- /dev/null
+++ b/dev-libs/unittest++/unittest++-2.0.0-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+MY_PN="unittest-cpp"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A lightweight unit testing framework for C++"
+HOMEPAGE="https://unittest-cpp.github.io/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ # https://github.com/unittest-cpp/unittest-cpp/commit/2423fcac7668aa9c331a2dcf024c3ca06742942d
+ "${FILESDIR}"/${P}-fix-tests-with-clang.patch
+
+ "${FILESDIR}"/${P}-cmake-fix-pkgconfig-dir-path-on-FreeBSD.patch
+ "${FILESDIR}"/${P}-Add-support-for-LIB_SUFFIX.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # https://github.com/unittest-cpp/unittest-cpp/pull/163
+ sed -i '/run unit tests as post build step/,/Running unit tests/d' \
+ CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # Don't build with -Werror: https://bugs.gentoo.org/747583
+ -DUTPP_AMPLIFY_WARNINGS=OFF
+ -DUTPP_INCLUDE_TESTS_IN_BUILD=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}/TestUnitTest++" || die "Tests failed"
+}
diff --git a/dev-libs/unittest++/unittest++-2.0.0.ebuild b/dev-libs/unittest++/unittest++-2.0.0.ebuild
deleted file mode 100644
index ed98c39e6260..000000000000
--- a/dev-libs/unittest++/unittest++-2.0.0.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 cmake-utils
-
-MY_PN="unittest-cpp"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A lightweight unit testing framework for C++"
-HOMEPAGE="https://unittest-cpp.github.io/"
-SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # https://github.com/unittest-cpp/unittest-cpp/pull/163
- sed -i '/run unit tests as post build step/,/Running unit tests/d' \
- CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUTPP_INCLUDE_TESTS_IN_BUILD=$(usex test)
- )
- cmake-utils_src_configure
-}
-
-src_test() {
- "${BUILD_DIR}/TestUnitTest++" || die "Tests failed"
-}
diff --git a/dev-libs/univalue/Manifest b/dev-libs/univalue/Manifest
index b8fd0e52c73e..e806da3a1b86 100644
--- a/dev-libs/univalue/Manifest
+++ b/dev-libs/univalue/Manifest
@@ -1,3 +1 @@
-DIST univalue-1.0.2.tgz 14201 BLAKE2B 47a72a629bc3a0ff193c33d89c3a97e19abca833180473b0a37a6f5a4ba15b7886d1a605a905f7a94af2512e4d1e9f2a7879cae4c5a0af78ac9dfb23a0a581c7 SHA512 727096735dbad082741fb863c9066936a80d7337b1d7c4c289107d240b7f695756a8720f5db320f0c7521b523e299829bd49833b6a31969d8aa43267653a4f2f
-DIST univalue-1.0.3.tar.gz 16820 BLAKE2B 40dd6c4e08e8f4a27731aa0fd6931162f8427a709cc3fc16c049a093d17a08f002a6eb08cf3c4fa9870805f3eed7627c8c9baa7cdc6d6fc8970a085488a955b0 SHA512 1c8358baca82b44d7a762c0cb3b7bef6f36d2f3d0ab29045224c1c39b69fbcbb66573dfb9ee4705f71aadff542cc9f02e98921b1c013748e2c0cd63c386bc1df
-DIST univalue-1.0.4.tar.gz 19677 BLAKE2B 1565a8aabe9b4dfddb2a8b577077bfe50a66aca62e63cfafaaadf1429ad08c0d8aa9f69469b063b2f3c51885addd0a6ab820e06f1ae1b9850de163dd2d1065fd SHA512 cd503ad2f59ea47afbce4acd352ba2baa06b8237f9cfec669353556cff85761e85717ba16c2dc76094b9a9554e5cb27e73e726f2c2d1e6dc5c76e4a5c4cd8edc
+DIST univalue-1.0.5.tgz 20114 BLAKE2B 21f1432bf62325547db7a1ce0c84d80f47b160dc19de3567eea4678a0f242fb2c814daa6955f7a2b45c5b75e859b6d2ecdfcd68abe58f573752c0f037a099d10 SHA512 9c2273d82267aaecd2b017d00ae8bc40f7f40fff10ce6176bbea0df93d7c9478fc76a38101f0b55ded0a3c4fc49f00c868aad33deca4d936b85342ec6a394eab
diff --git a/dev-libs/univalue/metadata.xml b/dev-libs/univalue/metadata.xml
index dd4ad75523d7..fd861d87a1a4 100644
--- a/dev-libs/univalue/metadata.xml
+++ b/dev-libs/univalue/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>luke-jr+gentoobugs@utopios.org</email>
<name>Luke Dashjr</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/dev-libs/univalue/univalue-1.0.2.ebuild b/dev-libs/univalue/univalue-1.0.2.ebuild
deleted file mode 100644
index 2017b7d3f92d..000000000000
--- a/dev-libs/univalue/univalue-1.0.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils
-
-DESCRIPTION="C++ universal value object and JSON library"
-HOMEPAGE="https://github.com/jgarzik/univalue"
-LICENSE="MIT"
-
-SRC_URI="https://codeload.github.com/jgarzik/${PN}/tar.gz/v${PV} -> ${P}.tgz"
-SLOT="0/0"
-
-KEYWORDS="amd64 arm ~arm64 ~mips ~ppc x86 ~amd64-linux ~x86-linux"
-
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- ./autogen.sh || die
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default_src_install
- prune_libtool_files
-}
diff --git a/dev-libs/univalue/univalue-1.0.3.ebuild b/dev-libs/univalue/univalue-1.0.3.ebuild
deleted file mode 100644
index 8e6fe5bdaf55..000000000000
--- a/dev-libs/univalue/univalue-1.0.3.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="C++ universal value object and JSON library"
-HOMEPAGE="https://github.com/jgarzik/univalue"
-SRC_URI="https://codeload.github.com/jgarzik/${PN}/tar.gz/v${PV} -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/univalue/univalue-1.0.4.ebuild b/dev-libs/univalue/univalue-1.0.4.ebuild
deleted file mode 100644
index d0f789dcb1dd..000000000000
--- a/dev-libs/univalue/univalue-1.0.4.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="C++ universal value object and JSON library"
-HOMEPAGE="https://github.com/jgarzik/univalue"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/jgarzik/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://codeload.github.com/jgarzik/${PN}/tar.gz/v${PV} -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0/0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/univalue/univalue-1.0.5.ebuild b/dev-libs/univalue/univalue-1.0.5.ebuild
new file mode 100644
index 000000000000..e760de84d571
--- /dev/null
+++ b/dev-libs/univalue/univalue-1.0.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="C++ universal value object and JSON library"
+HOMEPAGE="https://github.com/jgarzik/univalue"
+SRC_URI="https://codeload.github.com/jgarzik/${PN}/tar.gz/v${PV} -> ${P}.tgz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
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 d038ea541b22..e9693530f951 100644
--- a/dev-libs/urdfdom/Manifest
+++ b/dev-libs/urdfdom/Manifest
@@ -1,2 +1 @@
-DIST urdfdom-1.0.0.tar.gz 250016 BLAKE2B 525616785b4fa38c8900add42349aa3a2103c75b213c77e3d682084e674b5fae31e9f56331910c19e6e5c49f6f72e1e7240c588df0dc67d862e0eac911667381 SHA512 50a218e596bcc0cecff904db2fa626bebc3902c4fe1f5ff8e08195e462b4d9a8c416a41f4773cabbcc71490060d3feff7e8528a76b824569dc7fdb0bda01ec3f
-DIST urdfdom-1.0.3.tar.gz 275339 BLAKE2B aa14dbd5f55489e0bde97042afb03d47cd023e3003a4ff66808e9be1a03c4de0bdab1c56a6fb5f6aea83324cbb38d286def66553a8ef813fc1f70b0bd9e24268 SHA512 240181d9c61dd7544f16a79a400d9a2c4dc0a682bef165b46529efcb4b31e2a34e27896933b60b9ddbaa5c4a8d575ebda42752599ff3b0a98d1eeef8f9b0b7a7
+DIST urdfdom-3.1.0.tar.gz 286589 BLAKE2B cfe0ba0160091c4160f4ad7d6648657cc19fcaea4346e89d4a8e685c67bbf038b4a23c0133f8af987d4aee7dac623d10c61eb98573e9a0ebf57babd7d6d48b7d SHA512 2ca34982550f0d83504ec711f45c59fa9011802ad85ffc8511fb02b7421ee99daad3f00d82925cd3490dd0164dfe7881c0d52c05fbea2be0449e57e565034695
diff --git a/dev-libs/urdfdom/metadata.xml b/dev-libs/urdfdom/metadata.xml
index 763be347f9d6..41b5fed292c7 100644
--- a/dev-libs/urdfdom/metadata.xml
+++ b/dev-libs/urdfdom/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>ros@gentoo.org</email>
diff --git a/dev-libs/urdfdom/urdfdom-1.0.0-r1.ebuild b/dev-libs/urdfdom/urdfdom-1.0.0-r1.ebuild
deleted file mode 100644
index a92586497867..000000000000
--- a/dev-libs/urdfdom/urdfdom-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- 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
- dev-libs/boost:=[threads]"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -i -e 's/set(CMAKE_INSTALL_LIBDIR/#/' CMakeLists.txt || die
- cmake-utils_src_prepare
-}
diff --git a/dev-libs/urdfdom/urdfdom-1.0.3.ebuild b/dev-libs/urdfdom/urdfdom-1.0.3.ebuild
deleted file mode 100644
index b48a465442cd..000000000000
--- a/dev-libs/urdfdom/urdfdom-1.0.3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- 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
- dev-libs/boost:=[threads]"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -i -e 's/set(CMAKE_INSTALL_LIBDIR/#/' CMakeLists.txt || die
- cmake-utils_src_prepare
-}
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/urdfdom-9999.ebuild b/dev-libs/urdfdom/urdfdom-9999.ebuild
index a92586497867..37c71100352c 100644
--- a/dev-libs/urdfdom/urdfdom-9999.ebuild
+++ b/dev-libs/urdfdom/urdfdom-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -9,10 +9,9 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/ros/urdfdom"
fi
-inherit ${SCM} cmake-utils
+inherit ${SCM} cmake
if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
SRC_URI=""
else
KEYWORDS="~amd64 ~arm"
@@ -22,16 +21,10 @@ fi
DESCRIPTION="URDF (U-Robot Description Format) library"
HOMEPAGE="http://ros.org/wiki/urdf"
LICENSE="BSD"
-SLOT="0/1"
+SLOT="0/3"
IUSE=""
RDEPEND=">=dev-libs/urdfdom_headers-1.0.0
>=dev-libs/console_bridge-0.3:=
- dev-libs/tinyxml
- dev-libs/boost:=[threads]"
+ dev-libs/tinyxml[stl]"
DEPEND="${RDEPEND}"
-
-src_prepare() {
- sed -i -e 's/set(CMAKE_INSTALL_LIBDIR/#/' CMakeLists.txt || die
- cmake-utils_src_prepare
-}
diff --git a/dev-libs/urdfdom_headers/Manifest b/dev-libs/urdfdom_headers/Manifest
index 87cc69823151..b117b1603fd7 100644
--- a/dev-libs/urdfdom_headers/Manifest
+++ b/dev-libs/urdfdom_headers/Manifest
@@ -1,2 +1 @@
-DIST urdfdom_headers-1.0.2.tar.gz 12474 BLAKE2B 191ed19b362f1ef4bc3e99613a99107d3f3038b10df6d0836548f3bfd8454334fc832f5686873d4add4f56585d76f3f827806d1fc12ac080c5e819cfcceda91d SHA512 902cf18b3ccc62dd5d732707e9ca2b8698f3307b8005d3858fcdd0e9585d580bbe5d2ec77c8c8bfa7b8776b870844368a8ec93b0f8a8d71420cf5015a99b8867
-DIST urdfdom_headers-1.0.3.tar.gz 12474 BLAKE2B 6c64d876161eaa380797f86ca58fa6287d9f3e9fcdc1a08dc011a56c9208993eb16c9b7f9ac6971000c1e9d5b942667d073121f69c110720ece88362ad5a0cb1 SHA512 44b1ca9724a9ccd5d2ad51f61d36de19b9a893955ad5c3ecfa2356f6468a0ac140b8cd6fa2aa18c163b0fa8ba87e834358369d2470cd3dee474408113a30b7a0
+DIST urdfdom_headers-1.1.0.tar.gz 12676 BLAKE2B 1c2dbc5d3b63a493abdf1c6e5d41ed51e101332c67d5aad61f073dfe1881ade7be8345a6fea5816ebbf100804d8b13ca1d6a195a54caa1ef093fde49929cb34d SHA512 beae18cd21ad58c7f267075de1242a08579a1667853cc42c3c744484927035bb0095c66751eda4e1baa3ac0103dce4b8c94ef25d83defb42077c1de9342f769a
diff --git a/dev-libs/urdfdom_headers/metadata.xml b/dev-libs/urdfdom_headers/metadata.xml
index 3c648c8e188a..5fa4611049cf 100644
--- a/dev-libs/urdfdom_headers/metadata.xml
+++ b/dev-libs/urdfdom_headers/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>ros@gentoo.org</email>
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-1.0.2.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-1.0.2.ebuild
deleted file mode 100644
index 17422ddd7c2b..000000000000
--- a/dev-libs/urdfdom_headers/urdfdom_headers-1.0.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom_headers"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- 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.0.3.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-1.0.3.ebuild
deleted file mode 100644
index e6ff989498ec..000000000000
--- a/dev-libs/urdfdom_headers/urdfdom_headers-1.0.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom_headers"
-fi
-
-inherit ${SCM} cmake-utils
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
- 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 2caff6b4dbc2..e5a4f2810f32 100644
--- a/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
+++ b/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
SCM=""
if [ "${PV#9999}" != "${PV}" ] ; then
@@ -9,10 +9,9 @@ if [ "${PV#9999}" != "${PV}" ] ; then
EGIT_REPO_URI="https://github.com/ros/urdfdom_headers"
fi
-inherit ${SCM} cmake-utils
+inherit ${SCM} cmake
if [ "${PV#9999}" != "${PV}" ] ; then
- KEYWORDS=""
SRC_URI=""
else
KEYWORDS="~amd64 ~arm"
@@ -21,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 64e3bc401986..61a9f5cc90a2 100644
--- a/dev-libs/uriparser/Manifest
+++ b/dev-libs/uriparser/Manifest
@@ -1,2 +1,2 @@
-DIST uriparser-0.9.1.tar.bz2 372722 BLAKE2B 6fe21d1f5a98564f3e08094b1e27a13ea00baff3c4e09645236d8b08cba5455d49862a2d66fec02057efbb3b3d2e36040aeab31630f516eedd1ef36c84211638 SHA512 c6a4f3b737d4c53ba14148a5be363d93947c8c32755b369726ccdd6e01e8a2293d2c94d448700fc97bb56092696b67965646ae07c9ef31be253e2279d0bc3821
-DIST uriparser-0.9.3.tar.bz2 173073 BLAKE2B daf4d4ef2801850b8b4b3622ec195c7bfdc105cca085ea4a9d3ed9427bf7cf2eedcce4954b679a0ed1a79b7c57c98a1998b0cac27bd2b1de540aa79fdd4b160d SHA512 424419ea7b5f945b37ea06091d59e731c6a7ee76e7998f8a4e598036b3de8b593d62d1af6c6ddc7c31b43fc6795d4a5fa8d50da2508ca19de100a2222106fa3e
+DIST uriparser-0.9.7.tar.bz2 179989 BLAKE2B 50d04df0024f2ad926072a06d92066025c12528853e784f28bf311a64eb37b619634fa14265cadf55e514810804adeefb7dea841178f916ccdbd086a897d375b SHA512 7f69c9806665745c1bafe11f818434e27c2da03af387f009ef46c1427af8c008faa45e6f49bece66e0b96fd17b3924ba0af25476e796972c5e4b651f35f74c13
+DIST uriparser-0.9.8.tar.bz2 180690 BLAKE2B 75c115fc6d89ffb44a7ff4899b9a89394fdc6e49e9d374836e548cf75d7aed314406ec9abcc29410a66038aa670636e44cf97305c1ca8b6f472af444ffed9167 SHA512 41377e27f92345442cafa4e443485808c286430fcb5ce2354a683344e744786a170f443425f304bdb5a152edf96a3412f203eabe4fb3345a369e6d69f3d97e40
diff --git a/dev-libs/uriparser/files/uriparser-0.9.3-tests.patch b/dev-libs/uriparser/files/uriparser-0.9.3-tests.patch
deleted file mode 100644
index ad6f1c1311d7..000000000000
--- a/dev-libs/uriparser/files/uriparser-0.9.3-tests.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f870e6c68696a6018702caa5c8a2feba9b0f99fa Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Sun, 28 Apr 2019 17:35:31 +0200
-Subject: [PATCH] tests: No longer crash when compiled with -DNDEBUG (fixes
- #67)
-
----
- test/MemoryManagerSuite.cpp | 2 ++
- 1 files changed, 2 insertions(+)
-
-diff --git a/test/MemoryManagerSuite.cpp b/test/MemoryManagerSuite.cpp
-index 85f498b..4cda664 100644
---- a/test/MemoryManagerSuite.cpp
-+++ b/test/MemoryManagerSuite.cpp
-@@ -19,6 +19,8 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-+#undef NDEBUG // because we rely on assert(3) further down
-+
- #include <cassert>
- #include <cerrno>
- #include <cstring> // memcpy
diff --git a/dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch b/dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch
new file mode 100644
index 000000000000..fbf298e6a7cd
--- /dev/null
+++ b/dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch
@@ -0,0 +1,13 @@
+diff --git a/doc/preprocess.sh b/doc/preprocess.sh
+index c77bb6a..6ee75f2 100755
+--- a/doc/preprocess.sh
++++ b/doc/preprocess.sh
+@@ -1,4 +1,6 @@
+ #! /usr/bin/env bash
+ # Run GCC preprocessor and delete empty lines
+-: ${CPP:=cpp}
+-"${CPP}" -DURI_DOXYGEN -DURI_NO_UNICODE -C -I ../include "$1" | sed -e '/^$/d' -e 's/COMMENT_HACK//g'
++: ${CC:=cc}
++PS4='doc/preprocess.sh|# '
++set -x
++"${CC}" -E -DURI_DOXYGEN -DURI_NO_UNICODE -C -I ../include "$1" | sed -e '/^$/d' -e 's/COMMENT_HACK//g'
diff --git a/dev-libs/uriparser/metadata.xml b/dev-libs/uriparser/metadata.xml
index 4e4f7c40abfc..527b06dcb565 100644
--- a/dev-libs/uriparser/metadata.xml
+++ b/dev-libs/uriparser/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sping@gentoo.org</email>
@@ -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.1.ebuild b/dev-libs/uriparser/uriparser-0.9.1.ebuild
deleted file mode 100644
index 42ceadef9be0..000000000000
--- a/dev-libs/uriparser/uriparser-0.9.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Uriparser is a 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 ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-IUSE="doc qt5 test unicode"
-
-RDEPEND=""
-DEPEND="virtual/pkgconfig
- doc? ( >=app-doc/doxygen-1.5.8
- qt5? ( dev-qt/qthelp:5 ) )
- test? ( >=dev-cpp/gtest-1.8.1 )"
-
-REQUIRED_USE="test? ( unicode )"
-
-DOCS=( AUTHORS ChangeLog THANKS )
-
-src_configure() {
- econf \
- $(use_enable test) \
- --enable-char \
- $(use_enable unicode wchar_t) \
- $(use_enable doc) \
- --docdir=/usr/share/doc/${PF}/
-}
-
-src_install() {
- default
-
- if use doc && use qt5; then
- dodoc doc/*.qch
- docompress -x /usr/share/doc/${PF}/${P}.qch
- fi
-}
diff --git a/dev-libs/uriparser/uriparser-0.9.3.ebuild b/dev-libs/uriparser/uriparser-0.9.3.ebuild
deleted file mode 100644
index 0c33c807ef45..000000000000
--- a/dev-libs/uriparser/uriparser-0.9.3.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils
-
-DESCRIPTION="Uriparser is a 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 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
-IUSE="doc qt5 test unicode"
-
-RDEPEND=""
-DEPEND="virtual/pkgconfig
- doc? ( >=app-doc/doxygen-1.5.8
- qt5? ( dev-qt/qthelp:5 ) )
- test? ( >=dev-cpp/gtest-1.8.1 )"
-
-REQUIRED_USE="test? ( unicode )"
-
-DOCS=( AUTHORS ChangeLog THANKS )
-
-PATCHES=(
- "${FILESDIR}"/${P}-tests.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -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)
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- cmake-utils_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/uriparser/uriparser-0.9.8-r1.ebuild b/dev-libs/uriparser/uriparser-0.9.8-r1.ebuild
new file mode 100644
index 000000000000..984256a19ba3
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.9.8-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+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 )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-docs-compilation.patch
+)
+
+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.8.ebuild b/dev-libs/uriparser/uriparser-0.9.8.ebuild
new file mode 100644
index 000000000000..70cd7772c491
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.9.8.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 b0f9546d8220..bb9ddf3d1c66 100644
--- a/dev-libs/userspace-rcu/Manifest
+++ b/dev-libs/userspace-rcu/Manifest
@@ -1,4 +1,2 @@
-DIST userspace-rcu-0.10.1.tar.bz2 503347 BLAKE2B 32e75d5d94b15fdcb28397aa64c871f708a925bef0cfcc90553de7694a85e1562bb2256b0c8d8726b910363d12b3a67f963f5c0213141ea2a4ad8d2bcd23bf7b SHA512 2bb042e1cf8888eab664ea6e88b94646c995bea61c89d49dcf4e844d144329303c600d73e29e0f05c935ad8278857cc08fb5b4b9f7f0c2f120c46b458b51a211
-DIST userspace-rcu-0.10.2.tar.bz2 503833 BLAKE2B 17e2102e096903f301d1a08d606cf98e28a413ef26a3dc8fa6f400ba74aa14aabdef5e28d4fed5fb01cee33b0bd5de9fb0682523aaa50c6053fd3471711a02e7 SHA512 47413b4a593d19185ee3d455e5744042c060cb50008dac25e9135c5cd2250ef5129a419258b18c665c8c794ad3b09234fdd70a106c72d8fc64631172b13d0e22
-DIST userspace-rcu-0.9.1.tar.bz2 468197 BLAKE2B ac2ae4ea788feef5463571e1a0d5dac35a5d6e298f628e0b0b2acea68d01e52a513cd5d1b58886d8b42d07455823fdfb91c1548caffb969cb9fe8c6b4d17adc7 SHA512 958234d72319decef07093c13b067e398c1b285ac714ab1dda89c2ad2ba0627d053e0cdabb07d480e399ebd60215445002876bd99f2829ca1e5582ada639f730
-DIST userspace-rcu-0.9.2.tar.bz2 468871 BLAKE2B f8a13b9683e8c32942a3d675ca94715de82b40b1a39be8161e1ea6009373f2ea6ae57b2e9ba4068544db2c9064457aaa8e83bad5e4af600bede248bf0780d11f SHA512 36264119d68569565a7b1222c4b0ca90128d121f032b388f27204ceaa9c964901f35be25584e1553b1a7613aad01d11766983ae245860df09444eb2f8ac913fc
+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.13.1-tests-no-benchmark.patch b/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-tests-no-benchmark.patch
new file mode 100644
index 000000000000..ecbe3e01e0a8
--- /dev/null
+++ b/dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-tests-no-benchmark.patch
@@ -0,0 +1,13 @@
+Fedora: https://src.fedoraproject.org/rpms/userspace-rcu/raw/rawhide/f/regtest-without-bench.patch
+
+"Remove the benchmarks from the regtest target, they timeout on the buildds."
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -8,7 +8,6 @@
+ cd benchmark && $(MAKE) $(AM_MAKEFLAGS) long_bench
+ regtest:
+ cd regression && $(MAKE) $(AM_MAKEFLAGS) regtest
+- cd benchmark && $(MAKE) $(AM_MAKEFLAGS) regtest
+
+ check-loop:
+ while [ 0 ]; do \
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 8ebc13a29a0b..6d5b9ce8ea57 100644
--- a/dev-libs/userspace-rcu/metadata.xml
+++ b/dev-libs/userspace-rcu/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
-<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>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">urcu/userspace-rcu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.10.1.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.10.1.ebuild
deleted file mode 100644
index 38ef33a68087..000000000000
--- a/dev-libs/userspace-rcu/userspace-rcu-0.10.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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/6" # subslot = soname version
-KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ppc ppc64 ~sparc x86"
-IUSE="static-libs regression-test test"
-
-DEPEND="test? ( sys-process/time )"
-
-src_configure() {
- local myeconfargs=(
- --enable-shared
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- default
- if use regression-test; then
- emake -C tests/regression regtest
- fi
-}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.10.2.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.10.2.ebuild
deleted file mode 100644
index c0740d639c7f..000000000000
--- a/dev-libs/userspace-rcu/userspace-rcu-0.10.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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/6" # subslot = soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="static-libs regression-test test"
-
-DEPEND="test? ( sys-process/time )"
-
-src_configure() {
- local myeconfargs=(
- --enable-shared
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-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.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/userspace-rcu/userspace-rcu-0.9.1.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.9.1.ebuild
deleted file mode 100644
index 1df5f3e366fe..000000000000
--- a/dev-libs/userspace-rcu/userspace-rcu-0.9.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils
-
-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/4" # subslot = soname version
-KEYWORDS="~alpha amd64 arm hppa ppc ppc64 x86"
-IUSE="static-libs regression-test test"
-
-DEPEND="test? ( sys-process/time )"
-
-# tests fail with separate build dir
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-src_configure() {
- local myeconfargs=(
- --docdir="${EPREFIX}/usr/share/doc/${PF}"
- )
- autotools-utils_src_configure
-}
-
-src_test() {
- default
- if use regression-test; then
- emake -C tests/regression regtest
- fi
-}
diff --git a/dev-libs/userspace-rcu/userspace-rcu-0.9.2.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.9.2.ebuild
deleted file mode 100644
index 0169d3b94b72..000000000000
--- a/dev-libs/userspace-rcu/userspace-rcu-0.9.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools-utils
-
-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/4" # subslot = soname version
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
-IUSE="static-libs regression-test test"
-
-DEPEND="test? ( sys-process/time )"
-
-# tests fail with separate build dir
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-src_configure() {
- local myeconfargs=(
- --docdir="${EPREFIX}/usr/share/doc/${PF}"
- )
- autotools-utils_src_configure
-}
-
-src_test() {
- default
- if use regression-test; then
- emake -C tests/regression regtest
- fi
-}
diff --git a/dev-libs/ustr/Manifest b/dev-libs/ustr/Manifest
deleted file mode 100644
index b35cbd287719..000000000000
--- a/dev-libs/ustr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ustr-1.0.4.tar.bz2 233723 BLAKE2B 47fd489cadda1487eb131b9a21148d4b21ad46320f5177a0f3c2b2e156a5756918e269053363d47608661a47d8969b8c505192edea316edbd9fc17649d8dbc91 SHA512 b7df6ca3a9f25ee6f5c9ab4325732d348de27c5e02ebff36a7d5706f56b2df994df35bd652825a28e27bbde731c6a5933248d99c670d192b1952e7534eec1510
diff --git a/dev-libs/ustr/files/ustr-1.0.4-build-libs.patch b/dev-libs/ustr/files/ustr-1.0.4-build-libs.patch
deleted file mode 100644
index 79fe818c8edf..000000000000
--- a/dev-libs/ustr/files/ustr-1.0.4-build-libs.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-make static lib build/install controllable so we can disable it by default
-
-punt the -debug lib variants ... if people want debug libs, they can rebuild
-the package using their desired build settings.
-
---- a/Makefile
-+++ b/Makefile
-@@ -291,8 +291,10 @@
- OPT_LIB_SHARED = libustr-$(VERS_BSO).so.$(VERS_ESO)
- OPT_LIB_STATIC = libustr.a
-
--LIB_SHARED = $(DBG_LIB_SHARED) $(OPT_LIB_SHARED)
--LIB_STATIC = $(DBG_LIB_STATIC) $(OPT_LIB_STATIC)
-+LIB_SHARED = $(OPT_LIB_SHARED)
-+ifeq ($(USE_STATIC),yes)
-+LIB_STATIC = $(OPT_LIB_STATIC)
-+endif
-
- DEPS_NONC_ALL = $(SRC_HDRS) $(SRC_SRCS_H)
- DEPS_C_ALL = $(SRC_HDRS)
-@@ -388,17 +390,14 @@
- install -d $(DESTDIR)$(bindir)
- install -d $(DESTDIR)$(libdir)/pkgconfig
- $(HIDE)echo Installing files
-+ifeq ($(USE_STATIC),yes)
- install -m 644 -t $(DESTDIR)$(libdir) $(LIB_STATIC)
-+endif
- install -m 755 -t $(DESTDIR)$(libdir) $(LIB_SHARED)
- -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME)
- ln -s $(OPT_LIB_SHARED) $(DESTDIR)$(libdir)/$(OPT_LIB_SHARED_NAME)
- -rm -f $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV)
- ln -s $(OPT_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(OPT_LIB_SHAREDEV)
-- -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME)
-- ln -s $(DBG_LIB_SHARED) $(DESTDIR)$(libdir)/$(DBG_LIB_SHARED_NAME)
-- -rm -f $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV)
-- ln -s $(DBG_LIB_SHARED_NAME) $(DESTDIR)$(libdir)/$(DBG_LIB_SHAREDEV)
-- $(LDCONFIG) -n $(DESTDIR)$(libdir)
- install -pm 644 -t $(DESTDIR)$(includedir) $(SRC_HDRS)
- install -pm 644 -t $(DESTDIR)$(SHRDIR) $(SRC_SRCS)
- install -pm 644 -t $(DESTDIR)$(SHRDIR) $(XSRC_SRCS)
-@@ -406,7 +406,7 @@ endif
- install -pm 644 -t $(DESTDIR)$(mandir)/man1 $(MAN_PAGES_1)
- install -pm 644 -t $(DESTDIR)$(mandir)/man3 $(MAN_PAGES_3)
- install -m 755 -t $(DESTDIR)$(bindir) ustr-import
-- install -pm 644 -t $(DESTDIR)$(libdir)/pkgconfig ustr.pc ustr-debug.pc
-+ install -pm 644 -t $(DESTDIR)$(libdir)/pkgconfig ustr.pc
-
- ustr-import-multilib: ustr-import-multilib.in
- sed -e 's,@INCLUDEDIR@,$(includedir),g' -e 's,@MBINDIR@,$(MBINDIR),g' < $< > $@
diff --git a/dev-libs/ustr/files/ustr-1.0.4-gcc_5-check.patch b/dev-libs/ustr/files/ustr-1.0.4-gcc_5-check.patch
deleted file mode 100644
index aaed1503030a..000000000000
--- a/dev-libs/ustr/files/ustr-1.0.4-gcc_5-check.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/ustr-conf.h.in 2007-10-22 08:00:55.000000000 +0200
-+++ b/ustr-conf.h.in 2015-09-10 12:24:34.998796842 +0200
-@@ -4,13 +4,24 @@
- /* this is the custom version for the library itself, for everyone else
- * ustr-import generates one depending on the options. */
-
-+/* If this is GCC with major version 5 and up, the default C standard
-+ * has changed from C89 to C99 so the old inline behaviour must be
-+ * restored:
-+ */
-+#if defined(__GNUC__) \
-+ && (__GNUC__ > 4) \
-+ && defined(__STDC_VERSION__) \
-+ && (__STDC_VERSION__ >= 199901L)
-+# define inline inline __attribute__ ((gnu_inline))
-+#endif /* GCC greater than major version 4 and not -std=c89 set */
-+
- /* The default is now to link against libc. */
- #ifndef USTR_CONF_INCLUDE_CODEONLY_HEADERS
- #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 0
- #endif
-
- /* We can't: if defined(__GLIBC__) && (!defined(_GNU_SOURCE) || !_GNU_SOURCE)
-- * because by the time we've included a libc header it's too late. */
-+ * because by the time we've included a libc header it's too late. */
- #ifndef _GNU_SOURCE
- #define _GNU_SOURCE 1
- #endif
diff --git a/dev-libs/ustr/metadata.xml b/dev-libs/ustr/metadata.xml
deleted file mode 100644
index 36a48162dc54..000000000000
--- a/dev-libs/ustr/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="person">
- <email>yamakuzure@gmx.net</email>
- <name>Sven Eden</name>
-</maintainer>
-<maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
-</maintainer>
-<use>
- <flag name="ustr-import">Install ustr-import developer program and source code for bundling.</flag>
-</use>
-</pkgmetadata>
diff --git a/dev-libs/ustr/ustr-1.0.4-r5.ebuild b/dev-libs/ustr/ustr-1.0.4-r5.ebuild
deleted file mode 100644
index dc3c5bb1983d..000000000000
--- a/dev-libs/ustr/ustr-1.0.4-r5.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="Low-overhead managed string library for C"
-HOMEPAGE="http://www.and.org/ustr/"
-SRC_URI="ftp://ftp.and.org/pub/james/ustr/${PV}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD-2 MIT LGPL-2 )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~mips x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-DOCS=(ChangeLog README README-DEVELOPERS AUTHORS NEWS TODO)
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/ustr-conf.h
- /usr/include/ustr-conf-debug.h
-)
-
-src_prepare() {
- multilib_copy_sources
-}
-
-multilib_src_compile() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- prefix="${EPREFIX}/usr" \
- SHRDIR="/usr/share/${P}" \
- HIDE= \
- all-shared
-}
-
-multilib_src_install() {
- emake \
- DESTDIR="${D}" \
- prefix="${EPREFIX}/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)" \
- mandir="/usr/share/man" \
- SHRDIR="/usr/share/${P}" \
- DOCSHRDIR="/usr/share/doc/${PF}" \
- HIDE= \
- install
-}
-
-multilib_src_test() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- prefix="${EPREFIX}/usr" \
- SHRDIR="/usr/share/${P}" \
- HIDE= \
- check
-}
diff --git a/dev-libs/ustr/ustr-1.0.4-r7.ebuild b/dev-libs/ustr/ustr-1.0.4-r7.ebuild
deleted file mode 100644
index 0d4f3ece9d89..000000000000
--- a/dev-libs/ustr/ustr-1.0.4-r7.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="Low-overhead managed string library for C"
-HOMEPAGE="http://www.and.org/ustr/"
-SRC_URI="ftp://ftp.and.org/pub/james/ustr/${PV}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD-2 MIT LGPL-2 )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~mips ~x86"
-
-DOCS=(ChangeLog README README-DEVELOPERS AUTHORS NEWS TODO)
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/ustr-conf.h
- /usr/include/ustr-conf-debug.h
-)
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-gcc_5-check.patch"
- multilib_copy_sources
-}
-
-_emake() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS} ${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- prefix="${EPREFIX}/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)" \
- mandir="${EPREFIX}/usr/share/man" \
- SHRDIR="${EPREFIX}/usr/share/${P}" \
- DOCSHRDIR="${EPREFIX}/usr/share/doc/${PF}" \
- HIDE= \
- "$@"
-}
-
-multilib_src_configure() {
- # The included configure tests require execution.
-
- # We require vsnprintf everywhere as it's in POSIX.
- printf '#!/bin/sh\necho 0\n' > autoconf_vsnprintf
- chmod a+rx autoconf_vsnprintf
-
- # Always use stdint.h as it's in POSIX.
- sed -i '/have_stdint_h=0/s:=0:=1:' Makefile || die
-
- # Figure out the size of size_t.
- printf '#include <sys/types.h>\nint main() { char buf[sizeof(size_t) - 8]; }\n' > sizet_test.c
- $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -c sizet_test.c 2>/dev/null
- printf '#!/bin/sh\necho %s\n' $(( $? == 0 )) > autoconf_64b
- chmod a+rx autoconf_64b
-
- # Generate the config file now to avoid bad makefile deps.
- _emake ustr-import
-}
-
-multilib_src_compile() {
- _emake all-shared
-}
-
-multilib_src_install() {
- _emake DESTDIR="${D}" install
-}
-
-multilib_src_test() {
- _emake check
-}
diff --git a/dev-libs/ustr/ustr-1.0.4-r8.ebuild b/dev-libs/ustr/ustr-1.0.4-r8.ebuild
deleted file mode 100644
index 6fb52670f3b5..000000000000
--- a/dev-libs/ustr/ustr-1.0.4-r8.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs multilib-minimal
-
-DESCRIPTION="Low-overhead managed string library for C"
-HOMEPAGE="http://www.and.org/ustr/"
-SRC_URI="ftp://ftp.and.org/pub/james/ustr/${PV}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD-2 MIT LGPL-2 )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~mips x86"
-IUSE="static-libs ustr-import"
-
-DOCS=(ChangeLog README README-DEVELOPERS AUTHORS NEWS TODO)
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/ustr-conf.h
- /usr/include/ustr-conf-debug.h
-)
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-gcc_5-check.patch"
- epatch "${FILESDIR}/${PN}-1.0.4-build-libs.patch"
- multilib_copy_sources
-}
-
-_emake() {
- emake \
- USE_STATIC=$(usex static-libs) \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS} ${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- prefix="${EPREFIX}/usr" \
- libdir="${EPREFIX}/usr/$(get_libdir)" \
- mandir="${EPREFIX}/usr/share/man" \
- SHRDIR="${EPREFIX}/usr/share/${P}" \
- DOCSHRDIR="${EPREFIX}/usr/share/doc/${PF}" \
- HIDE= \
- "$@"
-}
-
-multilib_src_configure() {
- # The included configure tests require execution.
-
- # We require vsnprintf everywhere as it's in POSIX.
- printf '#!/bin/sh\necho 0\n' > autoconf_vsnprintf
- chmod a+rx autoconf_vsnprintf
-
- # Always use stdint.h as it's in POSIX.
- sed -i '/have_stdint_h=0/s:=0:=1:' Makefile || die
-
- # Figure out the size of size_t.
- printf '#include <sys/types.h>\nint main() { char buf[sizeof(size_t) - 8]; }\n' > sizet_test.c
- $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -c sizet_test.c 2>/dev/null
- printf '#!/bin/sh\necho %s\n' $(( $? == 0 )) > autoconf_64b
- chmod a+rx autoconf_64b
-
- # Generate the config file now to avoid bad makefile deps.
- _emake ustr-import
-}
-
-multilib_src_compile() {
- _emake all-shared
-}
-
-multilib_src_install() {
- _emake DESTDIR="${D}" install
-
- if ! use ustr-import ; then
- rm -r \
- "${ED}/usr/bin/ustr-import" \
- "${ED}/usr/share/man/man1/ustr-import.1" \
- "${ED}/usr/share/${P}" || die
- fi
-}
-
-multilib_src_test() {
- _emake check
-}
diff --git a/dev-libs/utfcpp/Manifest b/dev-libs/utfcpp/Manifest
index 28771adffc41..6b90b91d3959 100644
--- a/dev-libs/utfcpp/Manifest
+++ b/dev-libs/utfcpp/Manifest
@@ -1 +1,2 @@
-DIST utf8_v2_3_4.zip 22422 BLAKE2B cf736876a99068c7e5cb1b0b892d1d63cb38906c993c60b78c8c5625aef86fac3a849551771d0840c3cccf04f1a3617216cbd4684fa5cdde0037e3901c70ff4b SHA512 0e85e443e7bd4ecbe85dedfb7bdf8b1767808108b3a4fc1c0c508bcf74787539ae0af95a31a70e715ca872689ac4d7233afc075ceb375375d26743f92051e222
+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 162dbab4fe24..b9907b54a199 100644
--- a/dev-libs/utfcpp/metadata.xml
+++ b/dev-libs/utfcpp/metadata.xml
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
+ <maintainer type="person" proxied="yes">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
<upstream>
- <remote-id type="sourceforge">utfcpp</remote-id>
+ <remote-id type="github">nemtrif/utfcpp</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/utfcpp/utfcpp-2.3.4.ebuild b/dev-libs/utfcpp/utfcpp-2.3.4.ebuild
deleted file mode 100644
index 62ff54c3fc84..000000000000
--- a/dev-libs/utfcpp/utfcpp-2.3.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Portable and lightweight generic library for handling UTF-8 strings"
-HOMEPAGE="https://sourceforge.net/projects/utfcpp/"
-SRC_URI="mirror://sourceforge/utfcpp/utf8_v${PV//./_}.zip"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-RDEPEND=""
-
-S="${WORKDIR}/source"
-
-src_install() {
- doheader utf8.h
- insinto /usr/include/utf8
- doins utf8/{checked,unchecked,core}.h
-}
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
new file mode 100644
index 000000000000..0b15d97bb35e
--- /dev/null
+++ b/dev-libs/utfcpp/utfcpp-9999.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2015-2022 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=""
+ FTEST_DATE=""
+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=""
+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/uthash/Manifest b/dev-libs/uthash/Manifest
index 352c96a33a5e..93bcd3bef1ff 100644
--- a/dev-libs/uthash/Manifest
+++ b/dev-libs/uthash/Manifest
@@ -1 +1 @@
-DIST uthash-2.0.2.tar.gz 191173 BLAKE2B a4a2ddb19fcc9af1105bc07deb8ccbe9c3f04518b609f7cfd16f0a05ec3e16ffb25fb5f0a5f258413f9f52facaa26adf4ea0683415416c12ab36bf11883976ae SHA512 0c2e686eb5a1d6a03a6fa1d42e803fca4e9b60b2d965c635a5a33d487c8d115f1f8155ff99a0e1874b69f6b66c04ea7d8866472a39abe5d1a23ae73f6fa956d7
+DIST uthash-2.3.0.tar.gz 191291 BLAKE2B 473e263df9f3555c9ef41c2b39cf2ed33a4624ce7325bbe52db805ac741b8383e64f84a9e249f96faf40e0b94fa4a7fc6c0e83bebe8b3677a90cdca82a4e3f51 SHA512 3b01f1074790fb242900411cb16eb82c1a9afcf58e3196a0f4611d9d7ef94690ad38c0a500e7783d3efa20328aa8d6ab14f246be63b3b3d385502ba2b6b2a294
diff --git a/dev-libs/uthash/files/uthash-2.0.2-cflags.patch b/dev-libs/uthash/files/uthash-2.0.2-cflags.patch
deleted file mode 100644
index e71506bce15b..000000000000
--- a/dev-libs/uthash/files/uthash-2.0.2-cflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- uthash-2.0.2/tests/Makefile
-+++ uthash-2.0.2/tests/Makefile
-@@ -18,7 +18,7 @@
- CFLAGS += -I$(HASHDIR)
- #CFLAGS += -DHASH_BLOOM=16
- #CFLAGS += -O2
--CFLAGS += -g
-+#CFLAGS += -g
- #CFLAGS += -Wstrict-aliasing=2
- CFLAGS += -Wall
- #CFLAGS += -Wextra
diff --git a/dev-libs/uthash/files/uthash-2.1.0-cflags.patch b/dev-libs/uthash/files/uthash-2.1.0-cflags.patch
new file mode 100644
index 000000000000..246a5827afae
--- /dev/null
+++ b/dev-libs/uthash/files/uthash-2.1.0-cflags.patch
@@ -0,0 +1,11 @@
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -18,7 +18,7 @@
+ CFLAGS += -I$(HASHDIR)
+ #CFLAGS += -DHASH_BLOOM=16
+ #CFLAGS += -O2
+-CFLAGS += -g
++#CFLAGS += -g
+ #CFLAGS += -Wstrict-aliasing=2
+ CFLAGS += -Wall
+ #CFLAGS += -Wextra
diff --git a/dev-libs/uthash/metadata.xml b/dev-libs/uthash/metadata.xml
index ce8a4ddcbac6..dfb4459ed6bf 100644
--- a/dev-libs/uthash/metadata.xml
+++ b/dev-libs/uthash/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">troydhanson/uthash</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">troydhanson/uthash</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/uthash/uthash-2.0.2.ebuild b/dev-libs/uthash/uthash-2.0.2.ebuild
deleted file mode 100644
index f0cf8cb9ad68..000000000000
--- a/dev-libs/uthash/uthash-2.0.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-DESCRIPTION="An easy-to-use hash implementation for C programmers"
-HOMEPAGE="https://troydhanson.github.io/uthash/index.html"
-SRC_URI="https://github.com/troydhanson/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc ~ppc64 sparc x86"
-IUSE="test"
-
-DEPEND="test? ( dev-lang/perl )"
-RDEPEND=""
-
-PATCHES=( "${FILESDIR}"/${P}-cflags.patch )
-
-src_test() {
- cd tests || die
- emake CC="$(tc-getCC)"
-}
-
-src_install() {
- doheader src/*.h
- dodoc doc/*.txt
-}
diff --git a/dev-libs/uthash/uthash-2.3.0.ebuild b/dev-libs/uthash/uthash-2.3.0.ebuild
new file mode 100644
index 000000000000..d0327b958b86
--- /dev/null
+++ b/dev-libs/uthash/uthash-2.3.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="An easy-to-use hash implementation for C programmers"
+HOMEPAGE="https://troydhanson.github.io/uthash/index.html"
+SRC_URI="https://github.com/troydhanson/uthash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-1"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-lang/perl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.0-cflags.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_test() {
+ emake -C tests
+}
+
+src_install() {
+ doheader src/*.h
+ dodoc doc/*.txt
+}
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 3a7f6582ef4e..000000000000
--- a/dev-libs/uulib/files/uulib-0.5.20-shared.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Source: PDL Linux
-https://raw.githubusercontent.com/pld-linux/uudeview/master/uudeview-shared.patch
-https://github.com/pld-linux/uudeview
-
-
-diff -ruN uudeview-0.5.20.orig/uulib/Makefile.in uudeview-0.5.20/uulib/Makefile.in
---- uudeview-0.5.20.orig/uulib/Makefile.in 2002-03-11 10:15:46.000000000 +0100
-+++ uudeview-0.5.20/uulib/Makefile.in 2014-10-11 20:20:04.280175737 +0200
-@@ -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/metadata.xml b/dev-libs/uulib/metadata.xml
index 60196d0e726d..115e9d64a669 100644
--- a/dev-libs/uulib/metadata.xml
+++ b/dev-libs/uulib/metadata.xml
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
- <longdescription>library that supports Base64 (MIME), uuencode, xxencode and binhex coding</longdescription>
</pkgmetadata>
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 226d799ca390..000000000000
--- a/dev-libs/uulib/uulib-0.5.20-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils 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"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ppc ~ppc64 sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-S=${WORKDIR}/${MY_P}/${PN}
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-shared.patch"
- sed -i 's:\<ar\>:$(AR):' Makefile.in || die
- tc-export AR CC RANLIB
-}
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 95172d8ac4af..647b70e51a11 100644
--- a/dev-libs/vala-common/Manifest
+++ b/dev-libs/vala-common/Manifest
@@ -1,2 +1,2 @@
-DIST vala-0.40.14.tar.xz 3398668 BLAKE2B 6df1e47439000e1a49dda4d58651b7039737a2648563fc4e09d679bf63d968d9dafcc9ab5e371ca450bab70163f9fb1fb30ffa75451940f9a1518d7fb3a5ebf1 SHA512 0387bbcf35055f2b4a8f790370847bcc12a92d7969d9ed583b0630be8b637a9e28895508da9cdfab8baf97ad5fdc9249bf82e31e6c1ee19d0026f5061c027db8
-DIST vala-0.42.7.tar.xz 3362192 BLAKE2B 59f76d43f4bf80f75681c386cb30c4686bf93444bcd371900b134e0338ab865cf61d4cfd35facfff47c78075c384028cbcbd318eb927444f15862f7a28bccaa1 SHA512 d9044b126c91f3b1835a7182a054464339e4e2e52e63df90f43d2d5d9cba06fd6bb7eed5f6aa4d502f43f0a1232610d39d244952cfca54f63eb019e764899eca
+DIST vala-0.56.16.tar.xz 4013716 BLAKE2B 509809a93c70fd6a153fc188aaa3d85cbcc8d37649711ea32521505eb0bdc3fe824d90c538aaa7a7caa1c4faaea9053693b28ae54bdd6c212539a70300f2c33e SHA512 99f69c3c7a5ed89923b55cf035c6d9a5867577b2ecff92dddf5f21aaad1281786e5fcd775833b0f251417caf857f5fe7efbf134fbded427a7b29fa3acb00203a
+DIST vala-0.56.17.tar.xz 4016576 BLAKE2B c4b8d5b7c810893728f82d2cbbf2f0dd70ad17bd4eeb323ab5d31d99f37b5a5508b7d2447f0249f3a925013d7110bb6f145b32c833b990b15f18d9949035293f SHA512 61df98ba6b15d589a1864598a6f69cc3bee9154ba65270fc3a2fb1d0c3a68c32c29b572bcc26d6616d3fa23d53fb41710af3636125507864dd17f47cf27d4723
diff --git a/dev-libs/vala-common/metadata.xml b/dev-libs/vala-common/metadata.xml
index 39980802b1da..a4f4d8934edf 100644
--- a/dev-libs/vala-common/metadata.xml
+++ b/dev-libs/vala-common/metadata.xml
@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="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="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.40.14.ebuild b/dev-libs/vala-common/vala-common-0.40.14.ebuild
deleted file mode 100644
index 8b0eff8060dc..000000000000
--- a/dev-libs/vala-common/vala-common-0.40.14.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE=""
-
-# Previously ${PN} was part of dev-lang/vala
-RDEPEND="
- !<dev-lang/vala-0.10.4-r2
- !<dev-lang/vala-0.12.1-r1:0.12
- !<dev-lang/vala-0.14.2-r2:0.14
- !<dev-lang/vala-0.16.1-r2:0.16
- !<dev-lang/vala-0.17.5:0.18
-"
-DEPEND=""
-
-src_configure() { :; }
-
-src_compile() { :; }
-
-src_install() {
- insinto /usr/share/aclocal
- doins vala.m4 vapigen/vapigen.m4
- insinto /usr/share/vala
- doins vapigen/Makefile.vapigen
-}
-
-pkg_postinst() {
- # Hack to prevent alternatives_auto_makesym in previously installed
- # dev-lang/vala's pkg_postrm from overwriting vala-common's files
- if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
- ebegin "Removing old vala-0.10 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
- eend $?
- fi
- if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
- ebegin "Removing old vala-0.12 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
- eend $?
- fi
- if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
- ebegin "Removing old vala-0.14 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
- eend $?
- fi
- if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
- ebegin "Removing old vala-0.16 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
- eend $?
- if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
- ebegin "Removing old vala-0.16 makefile template"
- rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
- eend $?
- fi
- fi
- if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
- ebegin "Removing old vala-0.18 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
- eend $?
- if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
- ebegin "Removing old vala-0.18 makefile template"
- rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
- eend $?
- fi
- fi
-}
diff --git a/dev-libs/vala-common/vala-common-0.42.7.ebuild b/dev-libs/vala-common/vala-common-0.42.7.ebuild
deleted file mode 100644
index 85662c0d9061..000000000000
--- a/dev-libs/vala-common/vala-common-0.42.7.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-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 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE=""
-
-# Previously ${PN} was part of dev-lang/vala
-RDEPEND="
- !<dev-lang/vala-0.10.4-r2
- !<dev-lang/vala-0.12.1-r1:0.12
- !<dev-lang/vala-0.14.2-r2:0.14
- !<dev-lang/vala-0.16.1-r2:0.16
- !<dev-lang/vala-0.17.5:0.18
-"
-DEPEND=""
-
-src_configure() { :; }
-
-src_compile() { :; }
-
-src_install() {
- insinto /usr/share/aclocal
- doins vala.m4 vapigen/vapigen.m4
- insinto /usr/share/vala
- doins vapigen/Makefile.vapigen
-}
-
-pkg_postinst() {
- # Hack to prevent alternatives_auto_makesym in previously installed
- # dev-lang/vala's pkg_postrm from overwriting vala-common's files
- if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then
- ebegin "Removing old vala-0.10 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null
- eend $?
- fi
- if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then
- ebegin "Removing old vala-0.12 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
- eend $?
- fi
- if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then
- ebegin "Removing old vala-0.14 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
- eend $?
- fi
- if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then
- ebegin "Removing old vala-0.16 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null
- eend $?
- if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then
- ebegin "Removing old vala-0.16 makefile template"
- rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null
- eend $?
- fi
- fi
- if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then
- ebegin "Removing old vala-0.18 macros"
- rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null
- eend $?
- if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then
- ebegin "Removing old vala-0.18 makefile template"
- rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null
- eend $?
- fi
- fi
-}
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..39e3c39dc4dc
--- /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/vala-common/vala-common-0.56.17.ebuild b/dev-libs/vala-common/vala-common-0.56.17.ebuild
new file mode 100644
index 000000000000..e12b06c906ca
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.56.17.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/vanessa-adt/Manifest b/dev-libs/vanessa-adt/Manifest
deleted file mode 100644
index 40df9be5b0fe..000000000000
--- a/dev-libs/vanessa-adt/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST vanessa_adt-0.0.6.tar.gz 315242 BLAKE2B d321c6deac802a01f3fec209267f69ec9ad2d2d08ab47bf8ea7831a10c6d1d4a0020519322c3882247f6ba42ab4d3d67f77e950154d3fd65f97a61efabbde24f SHA512 d26726b3baedffb7f7e37d62101af3d05166d70e2709caf76be2623fcd53f3e38bc4c920ea2ab95d4729aa130ab62aa3c92db388e4ffe25023bf57e29d414884
-DIST vanessa_adt-0.0.9.tar.gz 342309 BLAKE2B 4a1aca54de30ac01137e16fccac0e46b07ab44688ebe7f3354949938c622f85cb9d92c275e07af2c3af0c35e34550009c91bb549044aa4620a98a66f9e23d09d SHA512 c32eec21879c43350389d62e74667cdd44921f054037bf33eaf869873f1b49e26b5d74bf2bed03b834f28babe072f25d499c9a717be7431b7dc42cd455526019
diff --git a/dev-libs/vanessa-adt/metadata.xml b/dev-libs/vanessa-adt/metadata.xml
deleted file mode 100644
index a7029b1a1086..000000000000
--- a/dev-libs/vanessa-adt/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/vanessa-adt/vanessa-adt-0.0.6.ebuild b/dev-libs/vanessa-adt/vanessa-adt-0.0.6.ebuild
deleted file mode 100644
index ac6922b3e794..000000000000
--- a/dev-libs/vanessa-adt/vanessa-adt-0.0.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Abstract Data Types. Includes queue, dynamic array, hash and key value ADT"
-HOMEPAGE="http://horms.net/projects/vanessa/"
-SRC_URI="http://horms.net/projects/vanessa/download/${MY_PN}/${PV}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc x86"
-IUSE=""
-
-DEPEND=">=dev-libs/vanessa-logger-0.0.6"
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- econf || die "error configure"
- emake || die "error compiling"
-}
-
-src_install() {
- make DESTDIR="${D}" install || die "error installing"
- dodoc AUTHORS NEWS README TODO
-}
diff --git a/dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild b/dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild
deleted file mode 100644
index 9af4c0c2fde9..000000000000
--- a/dev-libs/vanessa-adt/vanessa-adt-0.0.9.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Abstract Data Types. Includes queue, dynamic array, hash and key value ADT"
-HOMEPAGE="http://horms.net/projects/vanessa/"
-SRC_URI="http://horms.net/projects/vanessa/download/${MY_PN}/${PV}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-
-DEPEND=">=dev-libs/vanessa-logger-0.0.7"
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- econf || die "error configure"
- emake || die "error compiling"
-}
-
-src_install() {
- make DESTDIR="${D}" install || die "error installing"
- dodoc AUTHORS NEWS README TODO
-}
diff --git a/dev-libs/vanessa-logger/Manifest b/dev-libs/vanessa-logger/Manifest
deleted file mode 100644
index 180306022d01..000000000000
--- a/dev-libs/vanessa-logger/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST vanessa_logger-0.0.10.tar.gz 328814 BLAKE2B 9780a45ff20d863c46af028afddb2b64d2e533312262c4e64f041ac7f47766a20eac2ae7d107c6cdc0a02261ef306749cba524dccb8e6690e20f029f94de2eb3 SHA512 e8fb11c9ba48cbef6abc1cbb2f6c15786eb405d2eb721d24c33b0e529f0eee8fc3e9d35ffbbdced42c33677377fccee15344bc249521339c4fed5bd5a8c4f20c
diff --git a/dev-libs/vanessa-logger/metadata.xml b/dev-libs/vanessa-logger/metadata.xml
deleted file mode 100644
index 40aa45df2b01..000000000000
--- a/dev-libs/vanessa-logger/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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/vanessa-logger/vanessa-logger-0.0.10.ebuild b/dev-libs/vanessa-logger/vanessa-logger-0.0.10.ebuild
deleted file mode 100644
index bad41b65fdc1..000000000000
--- a/dev-libs/vanessa-logger/vanessa-logger-0.0.10.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="Generic logging layer that to log to syslog, an open file handle or a file name"
-HOMEPAGE="http://horms.net/projects/vanessa/"
-SRC_URI="http://horms.net/projects/vanessa/download/${MY_PN}/${PV}/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-IUSE=""
-
-DEPEND=""
-
-S="${WORKDIR}/${MY_P}"
-
-src_install() {
- make DESTDIR="${D}" install || die "error installing"
- dodoc AUTHORS NEWS README TODO sample/*.c sample/*.h
-}
diff --git a/dev-libs/vc/Manifest b/dev-libs/vc/Manifest
index 595155e21a75..faaef1b115a3 100644
--- a/dev-libs/vc/Manifest
+++ b/dev-libs/vc/Manifest
@@ -1,31 +1 @@
-DIST vc-1.3.0-reference-acos-dp.dat 2400000 BLAKE2B 943af6c183f9812ea1b8f8eb875f5052485647614bbe28d33d042c54648b36d42a8dd3557ea4562791b4d51fba6c4e28f7eddbd57d11d353d37989bb81b63806 SHA512 f64357c8dd5000a3e8d48af4d3dff167d0b2f6f5c90d90949fe1ee7b00668211cfef959c44775f37a2982acbba259895af6e262ef8e77d7570b6f9a2520d415b
-DIST vc-1.3.0-reference-acos-sp.dat 1200000 BLAKE2B 66042438fe17229e4ac54503df2a94c01713945c9b3c3aed76fbaa9c3969b8ad95756526fd5981b5e1dd016ce0103a7130c53c5ecc1b71514e65ba50c9d35543 SHA512 8a1077735acf06c9a70874bdf202f952855f04e8aea1b75d21b43cd098d6c26af691ecb3ff345cd26bf3ac8e46263c26ba465f8c39903908b3e72cb356802f8b
-DIST vc-1.3.0-reference-asin-dp.dat 2400000 BLAKE2B 4a992c3d35eecedf5d9c7ab31c9f5533177779cf262673584f65023f4b0bfa23c521e1ad0eaabc4e47ac1d8389c5ba55f20dd49aaf7ac21073c2448b31a47d28 SHA512 62dc115731978118e45cef0e3c11abbad6b8810a9e480ada6d479ef62413ef9eca0ece1674dcbd9fd0d4cbb50fdb86bcb860f797e17c1cab93a2f756e683d50d
-DIST vc-1.3.0-reference-asin-sp.dat 1200000 BLAKE2B 1381b377ccd4b7f2be934c2875ba9657e6ecc11582e9cb07833a4e3edca8758c30404c6c5b740cec2ef04a4cd278d25ef7f346947a7514893b1fc355fc7b1e10 SHA512 859622a5b86b2fa6077bfc931afbbff515ec779ecbd54c93e91bb1837b8f8475f7c247f89d90b7847fb3a8a96a95d5c4692ce7863c0a0f9e5d4904039189ea3f
-DIST vc-1.3.0-reference-atan-dp.dat 4800000 BLAKE2B 121ca520ecb2619a0a607cf9853bbae091bab1737916c3b2073819a1a5dd4d8b2115878452b0da08811496feae9f36f85e85db1c084ce5050989e4a96ae6a4c1 SHA512 20b2ffd707ab3f251d6d8a3ea39cb9436176154962cf60512acaf40aa3ac463cbf8e6149969ce273a9f755a1ecbcd8ac20f57444fdb73bc0ac15c43a73d82513
-DIST vc-1.3.0-reference-atan-sp.dat 2400000 BLAKE2B 584f01ccaffd41f9a4a8bca3e09a8e1cc6202fb492d925a4ea0456f366cad230540bc395f0c89b1e2a23fb558fb4c087f19791c6e6c365bdc82466dd71a49a90 SHA512 3c137570f882f057ecdf772dfd659b199d4a37d1f098450476abc0ffafb9abe324aaf6155dbd9a0d2b7f9ce3022fe91d8c81a8b6303f7bd1a1c18785ec2e96b3
-DIST vc-1.3.0-reference-ln-dp.dat 2400000 BLAKE2B d172ccdee1671c938510d40797122e56b1dfeb0367ad3ab8ecbb6902111242d7f90ce5b4b034d9476c1d0d69b155eb4367b435c27132a19bbe3864379b67ee43 SHA512 279b9221fd56507be580598c8f29bac602494ad230c975e726d49c3cea3264b6b45c385a50be12d94acd7c3b9c0527bb9b1339c380a746a639fd0ae6928fe2c3
-DIST vc-1.3.0-reference-ln-sp.dat 1196328 BLAKE2B ae8b2716874ac0f0d3afe93f5ea1ee7d3cc06c7ae09b97c7eb9eb23a4f1e79d1af885bf8c3efae7d448c720bbd2f1b968b8bb9424795ecd0fdc1f67635fcb10f SHA512 5cf13ab4997bdbe08b08bd79c719ad80844bbc451fcd1636e2c93c4a4b015c8f1909549638636b30a289c53b75822114b5aa9c5e40699b3867e23b8024a610e8
-DIST vc-1.3.0-reference-log10-dp.dat 2400000 BLAKE2B 08712b3c9a77edb9bc3628ed7006815493db644395819f6b9830be213d3d8675b1b4711acceaf7df0a55afda2756e13224fc35a3480766147eacd2ff98c9c31d SHA512 7086b73d2eeda17ef154b53fdeedf9fa21ac7016837eb9dd5e197d7a61343f1ac4b341fd04e6ef6477adc51391da7874ed7dd03a2b761d231c66611b994410df
-DIST vc-1.3.0-reference-log10-sp.dat 1200000 BLAKE2B 123b5872b7c579548665425b6d1488dc0c64ffc2a8b484396cacf042048d88ac3db60cef7d2ca1471c7bc8dcb30707704f7070bb8c3ed50921c15635233001b9 SHA512 5d027ec089f9179f4f4544c445693b64c4d4db4b8267c2360511fed52748a904a00c03ee7fbdcac234d3284b9288bd19d8722567cdf7acf21311d7f19fc53f3a
-DIST vc-1.3.0-reference-log2-dp.dat 2400000 BLAKE2B c04785c9c3c9edf2e1a2e96ffd14ff797c17ff65ce2332dad4afc3084be2e1677661d2581d7284dfdefdf12327ab939aeb615f4b498ec313effcb75f5ab2f459 SHA512 54692dbf61c2764969cda3f87ba76bcc464f9e513864625ec115b9f06b26e85db4a53775baf4d87f83ae04452d246b4b01d0d3cde733058a07f872b0d0aa8097
-DIST vc-1.3.0-reference-log2-sp.dat 1200200 BLAKE2B 01a3124c9717187485e0d6d172be29e28d292799c839307394ae8650a2d343c8a61df1ee2b1c45ca7b38aeab60dd3eea505adc255012d0f5034290f714ef287e SHA512 edcc6100a20b1ef6aaf855ccdaff05c89f6f33357749681c577bc22fdc80877f90ddc7c1c8e260b1dd0c639865c8b701d48c7612ef39de2b4fece067f88b2808
-DIST vc-1.3.0-reference-sincos-dp.dat 3600000 BLAKE2B 2f3a4d208d8b8cccc7c6f84a9f7d6a0920c98735382fcf37cc28efef5199b7e216cae9402a3c631d5a445739d8bafd782bdb80ef205146169e5d10ab9d6dfcff SHA512 92f5cbe61cc79188759cc7d03e28df1644405bf2249fc59bb84f567bca6937053c5e2c1f7b0674e745d6656da6772703305118040b9c7a272da1d8bc52d49858
-DIST vc-1.3.0-reference-sincos-sp.dat 1800000 BLAKE2B c0993d43ec2c88edcbab2ade63f1a960ed64ccfd78fb5355aa0a6940b3860669dfafee75190a67e77f53d6005f9cf7e9e82abdd270e171606ebbb143b7326907 SHA512 0760409ae093c7d897e6ac0b689fea5c1cf9cf58e3c39e2880fcacf56398e9c3ceb897f725ef54730b95847f11ca73a05fd96e108aa153ba6d22c21f7104c009
-DIST vc-1.3.0.tar.gz 530976 BLAKE2B da8e088ca5e5eca9654cc79ae8ea55d7484a7d63ba3e7f45d134877989fcee3721a686e5c07fc6e0eafd6e77fe5bffffc35de3cfd98977360b5ae9dc99b951e2 SHA512 1b1c68be9dca2212629b4d28c591366adbe719f50b8b55f04eebc8e2161acf8128264df408fe742f2f3695b2ad1bc17b88f7ec776e960921e01d61b150aafc3d
-DIST vc-1.3.3-reference-acos-dp.dat 2400000 BLAKE2B 943af6c183f9812ea1b8f8eb875f5052485647614bbe28d33d042c54648b36d42a8dd3557ea4562791b4d51fba6c4e28f7eddbd57d11d353d37989bb81b63806 SHA512 f64357c8dd5000a3e8d48af4d3dff167d0b2f6f5c90d90949fe1ee7b00668211cfef959c44775f37a2982acbba259895af6e262ef8e77d7570b6f9a2520d415b
-DIST vc-1.3.3-reference-acos-sp.dat 1200000 BLAKE2B 66042438fe17229e4ac54503df2a94c01713945c9b3c3aed76fbaa9c3969b8ad95756526fd5981b5e1dd016ce0103a7130c53c5ecc1b71514e65ba50c9d35543 SHA512 8a1077735acf06c9a70874bdf202f952855f04e8aea1b75d21b43cd098d6c26af691ecb3ff345cd26bf3ac8e46263c26ba465f8c39903908b3e72cb356802f8b
-DIST vc-1.3.3-reference-asin-dp.dat 2400000 BLAKE2B 4a992c3d35eecedf5d9c7ab31c9f5533177779cf262673584f65023f4b0bfa23c521e1ad0eaabc4e47ac1d8389c5ba55f20dd49aaf7ac21073c2448b31a47d28 SHA512 62dc115731978118e45cef0e3c11abbad6b8810a9e480ada6d479ef62413ef9eca0ece1674dcbd9fd0d4cbb50fdb86bcb860f797e17c1cab93a2f756e683d50d
-DIST vc-1.3.3-reference-asin-sp.dat 1200000 BLAKE2B 1381b377ccd4b7f2be934c2875ba9657e6ecc11582e9cb07833a4e3edca8758c30404c6c5b740cec2ef04a4cd278d25ef7f346947a7514893b1fc355fc7b1e10 SHA512 859622a5b86b2fa6077bfc931afbbff515ec779ecbd54c93e91bb1837b8f8475f7c247f89d90b7847fb3a8a96a95d5c4692ce7863c0a0f9e5d4904039189ea3f
-DIST vc-1.3.3-reference-atan-dp.dat 4800000 BLAKE2B 121ca520ecb2619a0a607cf9853bbae091bab1737916c3b2073819a1a5dd4d8b2115878452b0da08811496feae9f36f85e85db1c084ce5050989e4a96ae6a4c1 SHA512 20b2ffd707ab3f251d6d8a3ea39cb9436176154962cf60512acaf40aa3ac463cbf8e6149969ce273a9f755a1ecbcd8ac20f57444fdb73bc0ac15c43a73d82513
-DIST vc-1.3.3-reference-atan-sp.dat 2400000 BLAKE2B 584f01ccaffd41f9a4a8bca3e09a8e1cc6202fb492d925a4ea0456f366cad230540bc395f0c89b1e2a23fb558fb4c087f19791c6e6c365bdc82466dd71a49a90 SHA512 3c137570f882f057ecdf772dfd659b199d4a37d1f098450476abc0ffafb9abe324aaf6155dbd9a0d2b7f9ce3022fe91d8c81a8b6303f7bd1a1c18785ec2e96b3
-DIST vc-1.3.3-reference-ln-dp.dat 2400000 BLAKE2B d172ccdee1671c938510d40797122e56b1dfeb0367ad3ab8ecbb6902111242d7f90ce5b4b034d9476c1d0d69b155eb4367b435c27132a19bbe3864379b67ee43 SHA512 279b9221fd56507be580598c8f29bac602494ad230c975e726d49c3cea3264b6b45c385a50be12d94acd7c3b9c0527bb9b1339c380a746a639fd0ae6928fe2c3
-DIST vc-1.3.3-reference-ln-sp.dat 1196328 BLAKE2B ae8b2716874ac0f0d3afe93f5ea1ee7d3cc06c7ae09b97c7eb9eb23a4f1e79d1af885bf8c3efae7d448c720bbd2f1b968b8bb9424795ecd0fdc1f67635fcb10f SHA512 5cf13ab4997bdbe08b08bd79c719ad80844bbc451fcd1636e2c93c4a4b015c8f1909549638636b30a289c53b75822114b5aa9c5e40699b3867e23b8024a610e8
-DIST vc-1.3.3-reference-log10-dp.dat 2400000 BLAKE2B 08712b3c9a77edb9bc3628ed7006815493db644395819f6b9830be213d3d8675b1b4711acceaf7df0a55afda2756e13224fc35a3480766147eacd2ff98c9c31d SHA512 7086b73d2eeda17ef154b53fdeedf9fa21ac7016837eb9dd5e197d7a61343f1ac4b341fd04e6ef6477adc51391da7874ed7dd03a2b761d231c66611b994410df
-DIST vc-1.3.3-reference-log10-sp.dat 1200000 BLAKE2B 123b5872b7c579548665425b6d1488dc0c64ffc2a8b484396cacf042048d88ac3db60cef7d2ca1471c7bc8dcb30707704f7070bb8c3ed50921c15635233001b9 SHA512 5d027ec089f9179f4f4544c445693b64c4d4db4b8267c2360511fed52748a904a00c03ee7fbdcac234d3284b9288bd19d8722567cdf7acf21311d7f19fc53f3a
-DIST vc-1.3.3-reference-log2-dp.dat 2400000 BLAKE2B c04785c9c3c9edf2e1a2e96ffd14ff797c17ff65ce2332dad4afc3084be2e1677661d2581d7284dfdefdf12327ab939aeb615f4b498ec313effcb75f5ab2f459 SHA512 54692dbf61c2764969cda3f87ba76bcc464f9e513864625ec115b9f06b26e85db4a53775baf4d87f83ae04452d246b4b01d0d3cde733058a07f872b0d0aa8097
-DIST vc-1.3.3-reference-log2-sp.dat 1200200 BLAKE2B 01a3124c9717187485e0d6d172be29e28d292799c839307394ae8650a2d343c8a61df1ee2b1c45ca7b38aeab60dd3eea505adc255012d0f5034290f714ef287e SHA512 edcc6100a20b1ef6aaf855ccdaff05c89f6f33357749681c577bc22fdc80877f90ddc7c1c8e260b1dd0c639865c8b701d48c7612ef39de2b4fece067f88b2808
-DIST vc-1.3.3-reference-sincos-dp.dat 3600000 BLAKE2B 2f3a4d208d8b8cccc7c6f84a9f7d6a0920c98735382fcf37cc28efef5199b7e216cae9402a3c631d5a445739d8bafd782bdb80ef205146169e5d10ab9d6dfcff SHA512 92f5cbe61cc79188759cc7d03e28df1644405bf2249fc59bb84f567bca6937053c5e2c1f7b0674e745d6656da6772703305118040b9c7a272da1d8bc52d49858
-DIST vc-1.3.3-reference-sincos-sp.dat 1800000 BLAKE2B c0993d43ec2c88edcbab2ade63f1a960ed64ccfd78fb5355aa0a6940b3860669dfafee75190a67e77f53d6005f9cf7e9e82abdd270e171606ebbb143b7326907 SHA512 0760409ae093c7d897e6ac0b689fea5c1cf9cf58e3c39e2880fcacf56398e9c3ceb897f725ef54730b95847f11ca73a05fd96e108aa153ba6d22c21f7104c009
-DIST vc-1.3.3.tar.gz 781361 BLAKE2B 8e98cd983e7ef132e8d2a74f53d95e1ae7ba52b90da8878512ee4df33751ddce40dca6e70c8384048a86e495c6387d425db6cc5df0b7d15afd14f0fee94eb2b7 SHA512 dbc6f5bc723c52d3116301798b600b08bde510cff9e6777312d1970c61ad1b71fd83335ce65e9993a9f582a20b9de73984d553039452908ef229c4bde3b334f2
-DIST vc-1.4.1.tar.gz 638797 BLAKE2B 38feab898a4ce2b15c4db508369426a6b470f24b81e6676ad0e667cc08efaf30e96ed1455c667372104192fe6eb2340fdbd367298fa68e3168350c2e134cc0b8 SHA512 dd17e214099796c41d70416d365ea038c00c5fda285b05e48d7ee4fe03f4db2671d2be006ca7b98b0d4133bfcb57faf04cecfe35c29c3b006cd91c9a185cc04a
+DIST vc-1.4.4.tar.gz 645346 BLAKE2B 0131f6e96d4285b0ff0519206115f431e5dcc336358f045c5260dff62dbeda5a10500cfc0a333abe2ffd4c7dfd2e5b29452a68458dc3dd552a89fce30b7c4b68 SHA512 b8aa0a45637dd1e0cc23f074d023b677aab570dd4a78cff94e4c2d832afb841c1b421077ae9c848a40aa4beb50ed2e31fdf075738496856ff8fe3ea1d0acba07
diff --git a/dev-libs/vc/metadata.xml b/dev-libs/vc/metadata.xml
index a92008365618..cbc8f3a95fdc 100644
--- a/dev-libs/vc/metadata.xml
+++ b/dev-libs/vc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>amadio@gentoo.org</email>
diff --git a/dev-libs/vc/vc-1.3.0.ebuild b/dev-libs/vc/vc-1.3.0.ebuild
deleted file mode 100644
index 36f0890c4fff..000000000000
--- a/dev-libs/vc/vc-1.3.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="SIMD Vector Class Library for C++"
-HOMEPAGE="https://github.com/VcDevel/Vc"
-
-VC_TEST_DATA=( reference-{acos,asin,atan,ln,log2,log10,sincos}-{dp,sp}.dat )
-for i in ${VC_TEST_DATA[@]}; do
- SRC_URI+="test? ( http://compeng.uni-frankfurt.de/~kretz/Vc-testdata/$i -> ${P}-${i} ) "
-done
-
-SRC_URI+="https://github.com/VcDevel/Vc/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-
-src_unpack() {
- default_src_unpack
- S="${WORKDIR}"/Vc-${PV}
- if use test ; then
- mkdir -p "${WORKDIR}"/${P}_build/tests || die
- for i in ${VC_TEST_DATA[@]}; do
- cp "${DISTDIR}"/${P}-$i "${WORKDIR}"/${P}_build/tests/${i} || die
- done
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING=$(usex test)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/vc/vc-1.3.3.ebuild b/dev-libs/vc/vc-1.3.3.ebuild
deleted file mode 100644
index cb16f01344d6..000000000000
--- a/dev-libs/vc/vc-1.3.3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-DESCRIPTION="SIMD Vector Class Library for C++"
-HOMEPAGE="https://github.com/VcDevel/Vc"
-
-VC_TEST_DATA=( reference-{acos,asin,atan,ln,log2,log10,sincos}-{dp,sp}.dat )
-for i in ${VC_TEST_DATA[@]}; do
- SRC_URI+="test? ( http://compeng.uni-frankfurt.de/~kretz/Vc-testdata/$i -> ${P}-${i} ) "
-done
-
-SRC_URI+="https://github.com/VcDevel/Vc/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-
-src_unpack() {
- default_src_unpack
- S="${WORKDIR}"/Vc-${PV}
- if use test ; then
- mkdir -p "${WORKDIR}"/${P}_build/tests || die
- for i in ${VC_TEST_DATA[@]}; do
- cp "${DISTDIR}"/${P}-$i "${WORKDIR}"/${P}_build/tests/${i} || die
- done
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_TESTING=$(usex test)
- )
- cmake-utils_src_configure
-}
diff --git a/dev-libs/vc/vc-1.4.1.ebuild b/dev-libs/vc/vc-1.4.1.ebuild
deleted file mode 100644
index 007dec1ebb50..000000000000
--- a/dev-libs/vc/vc-1.4.1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils
-
-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"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-src_unpack() {
- default_src_unpack
- S="${WORKDIR}"/Vc-${PV}
-}
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
new file mode 100644
index 000000000000..41a383164a5a
--- /dev/null
+++ b/dev-libs/voikko-fi/Manifest
@@ -0,0 +1,2 @@
+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/metadata.xml b/dev-libs/voikko-fi/metadata.xml
new file mode 100644
index 000000000000..a1fbf3c0c993
--- /dev/null
+++ b/dev-libs/voikko-fi/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>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+</pkgmetadata>
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/Manifest b/dev-libs/volume_key/Manifest
index 300bb83d487d..0272b102308e 100644
--- a/dev-libs/volume_key/Manifest
+++ b/dev-libs/volume_key/Manifest
@@ -1,2 +1 @@
-DIST volume_key-0.3.11.tar.xz 484936 BLAKE2B f7bde79d290617a82de60a2105b6374dd03c2203804e3748336c8d09fbf749bf47157cf5e6b856477475d0074f3e4475dc85e0765308d60b9c6d0525685f73ea SHA512 b9da00578b31c96231ebde55fd91c9aafbd663e541c560460fb6c3305e1a0e1fb3115a95682dc4713027d084e14ffa39d638653384a18d69f5dc892fc4855a97
DIST volume_key-0.3.12.tar.xz 490432 BLAKE2B 4a0424d51878855c69bdf969b616f3a563074976ad7b07aa848140266d97f66de9c52e1a6ed8913df93077d5966c3ab99afc78c3b22c410f1eadf5447ca2f416 SHA512 d056154c9b9d23e4eb661946dd59ed97e116903a3afcff9d9e29258408082f33dcbb69958724143f6bf191a3da488a03b6c02af287790990ed6459e29d66553c
diff --git a/dev-libs/volume_key/files/volume_key-0.3.12-find_python3.patch b/dev-libs/volume_key/files/volume_key-0.3.12-find_python3.patch
new file mode 100644
index 000000000000..3f7d6da69366
--- /dev/null
+++ b/dev-libs/volume_key/files/volume_key-0.3.12-find_python3.patch
@@ -0,0 +1,27 @@
+From d64fcc43ad740c91f4f1e1a6827663b2485f127a Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Thu, 7 Jan 2021 13:23:28 +0100
+Subject: [PATCH] configure.ac: Don't look for old python3 versions
+
+Gentoo-bug: https://bugs.gentoo.org/764230
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4eda5eb..2dce575 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -101,7 +101,7 @@ if test "x$use_python3" = xno; then
+ else
+ AC_MSG_RESULT([testing])
+ # Try to find Python 3 interpreter:
+- AC_PATH_PROGS([PYTHON3], [python3.6 python3.5 python3 python], [no])
++ AC_PATH_PROGS([PYTHON3], [python3], [no])
+ if test "x$PYTHON3" != xno; then
+ AC_MSG_CHECKING([whether $PYTHON3 version is >= 3.5])
+ python3_found=old
+--
+2.30.0
+
diff --git a/dev-libs/volume_key/files/volume_key-0.3.12-support_higher_LUKS_versions.patch b/dev-libs/volume_key/files/volume_key-0.3.12-support_higher_LUKS_versions.patch
new file mode 100644
index 000000000000..6f5aec1dfe5a
--- /dev/null
+++ b/dev-libs/volume_key/files/volume_key-0.3.12-support_higher_LUKS_versions.patch
@@ -0,0 +1,33 @@
+From 26c09768662d8958debe8c9410dae9fda02292c3 Mon Sep 17 00:00:00 2001
+From: Jiri Kucera <jkucera@redhat.com>
+Date: Jan 23 2019 13:35:52 +0000
+Subject: Add support for higher versions of LUKS
+
+
+---
+
+diff --git a/lib/volume_luks.c b/lib/volume_luks.c
+index f4bf2c8..d1c5d47 100644
+--- a/lib/volume_luks.c
++++ b/lib/volume_luks.c
+@@ -30,6 +30,10 @@ Author: Miloslav Trmač <mitr@redhat.com> */
+ #include "volume.h"
+ #include "volume_luks.h"
+
++#ifndef CRYPT_LUKS
++#define CRYPT_LUKS NULL
++#endif
++
+ /* LUKS - specific code */
+
+ /* Return an error message for ERR_NO, for g_free (). */
+@@ -105,7 +109,7 @@ open_crypt_device (const char *path, char **last_log_entry, GError **error)
+ if (r < 0)
+ goto err;
+ crypt_set_log_callback(cd, record_cryptsetup_log_entry, last_log_entry);
+- r = crypt_load (cd, CRYPT_LUKS1, NULL);
++ r = crypt_load (cd, CRYPT_LUKS, NULL);
+ if (r < 0)
+ goto err_cd;
+ return cd;
+
diff --git a/dev-libs/volume_key/metadata.xml b/dev-libs/volume_key/metadata.xml
index c7be278b6458..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.11.ebuild b/dev-libs/volume_key/volume_key-0.3.11.ebuild
deleted file mode 100644
index e5fbce850dfa..000000000000
--- a/dev-libs/volume_key/volume_key-0.3.11.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-
-inherit 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 sparc x86"
-IUSE="test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- app-crypt/gpgme
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- sys-apps/util-linux
- sys-fs/cryptsetup:=
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/gettext
- test? ( dev-libs/nss[utils] )
- "
-
-#RESTRICT="test" # possible gpgme issue
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_install() {
- default
- find "${ED}" -name "*.la" -delete || die
-}
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/volume_key/volume_key-0.3.12.ebuild b/dev-libs/volume_key/volume_key-0.3.12.ebuild
deleted file mode 100644
index d0b33aaa8bf8..000000000000
--- a/dev-libs/volume_key/volume_key-0.3.12.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{5,6,7} )
-
-inherit 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 ~sparc ~x86"
-IUSE="test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- app-crypt/gpgme
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- sys-apps/util-linux
- sys-fs/cryptsetup:=
-"
-DEPEND="
- ${RDEPEND}
- sys-devel/gettext
- test? ( dev-libs/nss[utils] )
- "
-
-pkg_setup() {
- python-single-r1_pkg_setup
-}
-
-src_configure() {
- # --without-python disables python2
- econf --without-python --with-python3
-}
-
-src_install() {
- default
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/wayland-protocols/Manifest b/dev-libs/wayland-protocols/Manifest
index 2fb7fe41b511..8300151fa0a7 100644
--- a/dev-libs/wayland-protocols/Manifest
+++ b/dev-libs/wayland-protocols/Manifest
@@ -1 +1,4 @@
-DIST wayland-protocols-1.17.tar.xz 107680 BLAKE2B cde978ceeaa9d71ac76cd007c511011fed6a110e772a6a9e880a5fd07a0318239a11235aac25b855d0f7ed5ae9980dd2103886092e85a92ed606c8a2f53de726 SHA512 5f3aacbba58717092036659d9b665dc10ff05ee51df61b1de38b22f0417285a74fd8a6d15ca049ad60d204f28203aa13d773c52140c7c02db2c498a6964c2643
+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.35.tar.xz 95512 BLAKE2B ad8791134417313aca8278f5d3a3d43edcc0029759d104388dc6d4e5cea1f49f286b97975d53099208a4e1014addbdddbe8c4638245be9b67ca0c80626efbaef SHA512 b4b915e145955f9c844d7ce4564ad13a854a4e7d4355913ef4cae7f09ab3e52ee69dceb6c76c9b7f82f1ab5c01071f0e5b00ce75cc7ab58274201eb4a4639710
+DIST wayland-protocols-1.36.tar.xz 95512 BLAKE2B 6c460106a2069ff9ce0b6c8221f85462e74d726ead69f6918417aac0cd24567251873ea05ec111a90f3385f4128e7e8d76aca42c7b1f89a070943c604b87573c SHA512 5448b9aedc953ce6be0f378da900c195c8743cb6001f615823b5fc9cab3e3ee54271132055743278e10decef7f8e9dcdeef31593a2a12062575fb90eb0084be0
diff --git a/dev-libs/wayland-protocols/metadata.xml b/dev-libs/wayland-protocols/metadata.xml
index e943b72b8a48..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.17.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.17.ebuild
deleted file mode 100644
index cc1a199083b7..000000000000
--- a/dev-libs/wayland-protocols/wayland-protocols-1.17.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
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://anongit.freedesktop.org/git/wayland/wayland-protocols.git"
- EXPERIMENTAL="true"
-
- inherit git-r3 autotools
-else
- inherit autotools
-fi
-
-DESCRIPTION="Wayland protocol files"
-HOMEPAGE="https://wayland.freedesktop.org/"
-
-if [[ $PV != 9999* ]]; then
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE=""
-
-RDEPEND="dev-libs/wayland"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- default
-
- [[ ${PV} == 9999 ]] && eautoreconf
-}
-
-src_test() {
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- default
-}
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.35.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.35.ebuild
new file mode 100644
index 000000000000..7310be696158
--- /dev/null
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.35.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.36.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.36.ebuild
new file mode 100644
index 000000000000..7310be696158
--- /dev/null
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.36.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 0b33125e7a05..7310be696158 100644
--- a/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
+++ b/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
@@ -1,43 +1,37 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://anongit.freedesktop.org/git/wayland/wayland-protocols.git"
- EXPERIMENTAL="true"
-
- inherit git-r3 autotools
-else
- inherit autotools
-fi
+inherit meson
DESCRIPTION="Wayland protocol files"
HOMEPAGE="https://wayland.freedesktop.org/"
-if [[ $PV != 9999* ]]; then
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+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=""
-
-RDEPEND="dev-libs/wayland"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- default
-
- [[ ${PV} == 9999 ]] && eautoreconf
-}
-
-src_test() {
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- default
+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/Manifest b/dev-libs/wayland/Manifest
index 54c86a14f87e..e2de0f2c2836 100644
--- a/dev-libs/wayland/Manifest
+++ b/dev-libs/wayland/Manifest
@@ -1 +1 @@
-DIST wayland-1.17.0.tar.xz 437680 BLAKE2B 2f4eb54c5ded90453b4e2812f7b5086aa211196ec9f7333d316cdb829269d55db570ccb45a67ee07a039633245e630ab54da6403ff4754d59366f3c13fb87549 SHA512 c5051aab5ff078b368c196ecfedb33ccd961265bb914845d7ed81de361bb86ae18299575baa6c4eceb0d82cf8b495e8293f31b51d1cbc05d84af0a199ab3f946
+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 e943b72b8a48..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.17.0.ebuild b/dev-libs/wayland/wayland-1.17.0.ebuild
deleted file mode 100644
index caf421c61858..000000000000
--- a/dev-libs/wayland/wayland-1.17.0.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2019 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 s390 ~sh sparc x86"
-fi
-inherit autotools libtool multilib-minimal toolchain-funcs
-
-DESCRIPTION="Wayland protocol libraries"
-HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/wayland"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc static-libs"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- >=app-doc/doxygen-1.6[dot]
- app-text/xmlto
- >=media-gfx/graphviz-2.26.0
- sys-apps/grep[pcre]
- )
-"
-DEPEND="
- >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
- dev-libs/libxml2:=
- >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
-"
-RDEPEND="${DEPEND}
- !<media-libs/mesa-18.1.1-r1
-"
-
-src_prepare() {
- default
- [[ $PV = 9999* ]] && eautoreconf || elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --disable-static
- $(multilib_native_use_enable doc documentation)
- $(multilib_native_enable dtd-validation)
- )
- tc-is-cross-compiler && myeconfargs+=( --with-host-scanner )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -delete || die
- einstalldocs
-}
-
-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/$CAT/$PF/temp/xdr
- export XDG_RUNTIME_DIR="${T}"/xdr
- 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 56fdba5f507b..7361890a730d 100644
--- a/dev-libs/wayland/wayland-9999.ebuild
+++ b/dev-libs/wayland/wayland-9999.ebuild
@@ -1,70 +1,66 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
if [[ ${PV} = *9999* ]]; then
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 ~s390 ~sh ~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 autotools libtool multilib-minimal toolchain-funcs
+inherit meson-multilib
DESCRIPTION="Wayland protocol libraries"
HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/wayland"
LICENSE="MIT"
SLOT="0"
-IUSE="doc static-libs"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
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
- sys-apps/grep[pcre]
)
"
DEPEND="
- >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}]
- dev-libs/libxml2:=
- >=virtual/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
"
-RDEPEND="${DEPEND}
- !<media-libs/mesa-18.1.1-r1
-"
-
-src_prepare() {
- default
- [[ $PV = 9999* ]] && eautoreconf || elibtoolize
-}
+RDEPEND="${DEPEND}"
multilib_src_configure() {
- local myeconfargs=(
- --disable-static
- $(multilib_native_use_enable doc documentation)
- $(multilib_native_enable dtd-validation)
+ local emesonargs=(
+ $(meson_native_use_bool doc documentation)
+ $(meson_native_true dtd_validation)
+ -Dlibraries=true
+ -Dscanner=false
+ $(meson_use test tests)
)
- tc-is-cross-compiler && myeconfargs+=( --with-host-scanner )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -delete || die
- einstalldocs
+ 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/$CAT/$PF/temp/xdr
- export XDG_RUNTIME_DIR="${T}"/xdr
+ # 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/weston/Manifest b/dev-libs/weston/Manifest
index c99f2fa920be..9507ecc296b7 100644
--- a/dev-libs/weston/Manifest
+++ b/dev-libs/weston/Manifest
@@ -1,2 +1,2 @@
-DIST weston-3.0.0.tar.xz 1300340 BLAKE2B 38b46ecca03ffee7832a561348cb1d6604db7e0add8b5629141ce61593ae250625d71c6716f02296157ea5a61764ff10561fa7ffc8f3c1426a4c86589b13b5c3 SHA512 b824c39f2a884f6d50d607613f447090621f684c96f7d905f25f6e500dabd03ecb2b1cd1030babc193c3417223cb220103abb792437e1a5ead7229a76b5c7a58
-DIST weston-6.0.1.tar.xz 1522600 BLAKE2B 58318cc70bc935886141107d2be9cda8113b50723bb0893f9ada9e2469461a8ce84acd2796b052b6974439ce4ebae329b183761dcacae7137e0a64ac61cebe47 SHA512 3da04ff9b884480ce0824950347185e55584e3938021fe62014423d3d51577eafdda8de650a5de6eb37a842130c9cb14c7a952a560f6be93ff973164363af3d9
+DIST weston-13.0.0.tar.xz 1986520 BLAKE2B df0e73e451e39b329ed327c370f42bcae01eb5b8fad67711f069fa8f24900ac0c9a9e69b9a6445b67c76ab0ce441dcd2a5a1a8aa3ac0d89a647b9661d575a917 SHA512 8c656cdf24ec9429c76c64ebd2d58351991f5990a6d4b5900ac913243ad8e2c9c0fb1a748f018d177fbfd7e0a8836d0434d97acec287a8f977d47335ae30eacc
+DIST weston-13.0.1.tar.xz 1986684 BLAKE2B 7910f9b62c2fe92a6915037521024d3682f391727d615b044517e1cc2e157dc78b7571a923b9c6d62c55bf2a532101220d4ffd2ecbb81f984e9676919420576b SHA512 4a0fd0b1aec823219421d701030bc534576be64b71ede70c7d33f131e9e64c0e0dc209e62f75cecb9368df7604c1d5b2321932eccc818b529d246ec2e3114122
diff --git a/dev-libs/weston/files/weston-musl-basename.patch b/dev-libs/weston/files/weston-musl-basename.patch
new file mode 100644
index 000000000000..57b91331055f
--- /dev/null
+++ b/dev-libs/weston/files/weston-musl-basename.patch
@@ -0,0 +1,73 @@
+From dbd134ca5a3c639819c6fd503de7e2c72762ada0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Dec 2023 09:13:54 -0800
+Subject: [PATCH] libweston,tools: Include libgen.h for basename signature
+Upstream: https://gitlab.freedesktop.org/wayland/weston/-/commit/dbd134ca5a3c639819c6fd503de7e2c72762ada0
+Upstream-Status: Merged in main branch
+
+Latest musl has removed the declaration from string.h [1] as it only
+implements POSIX version alone and string.h in glibc implements GNU
+version of basename. This now results in compile errors on musl.
+
+This might be a warning with older compilers but it is error with
+Clang-17+ as it treats -Wimplicit-function-declaration as error
+
+Switch the use in backlight_init function to use POSIX version
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libweston/backend-drm/libbacklight.c | 8 +++++---
+ tools/zunitc/src/zunitc_impl.c | 1 +
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/libweston/backend-drm/libbacklight.c b/libweston/backend-drm/libbacklight.c
+index ca7f2d6806..973d15ff8c 100644
+--- a/libweston/backend-drm/libbacklight.c
++++ b/libweston/backend-drm/libbacklight.c
+@@ -41,6 +41,7 @@
+ #include <drm.h>
+ #include <fcntl.h>
+ #include <malloc.h>
++#include <libgen.h>
+ #include <string.h>
+ #include <errno.h>
+
+@@ -167,7 +168,7 @@ struct backlight *backlight_init(struct udev_device *drm_device,
+ DIR *backlights = NULL;
+ struct dirent *entry;
+ enum backlight_type type = 0;
+- char buffer[100];
++ char buffer[100], basename_buffer[100];
+ struct backlight *backlight = NULL;
+ int ret;
+
+@@ -186,9 +187,10 @@ struct backlight *backlight_init(struct udev_device *drm_device,
+ free(path);
+ if (ret < 0)
+ return NULL;
+-
++ strncpy(basename_buffer, buffer, ret);
+ buffer[ret] = '\0';
+- pci_name = basename(buffer);
++ basename_buffer[ret] = '\0';
++ pci_name = basename(basename_buffer);
+
+ if (connector_type <= 0)
+ return NULL;
+diff --git a/tools/zunitc/src/zunitc_impl.c b/tools/zunitc/src/zunitc_impl.c
+index 18f030158e..9b460fa03b 100644
+--- a/tools/zunitc/src/zunitc_impl.c
++++ b/tools/zunitc/src/zunitc_impl.c
+@@ -27,6 +27,7 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+--
+GitLab
+
diff --git a/dev-libs/weston/files/weston-neatvnc-0.8.patch b/dev-libs/weston/files/weston-neatvnc-0.8.patch
new file mode 100644
index 000000000000..03ffab596c3a
--- /dev/null
+++ b/dev-libs/weston/files/weston-neatvnc-0.8.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/930424
+https://gitlab.freedesktop.org/wayland/weston/-/issues/890
+
+diff -Naur a/libweston/backend-vnc/meson.build b/libweston/backend-vnc/meson.build
+--- a/libweston/backend-vnc/meson.build 2023-11-27 18:01:53.000000000 +0000
++++ b/libweston/backend-vnc/meson.build 2024-04-24 23:55:22.262121014 +0100
+@@ -3,7 +3,7 @@
+ endif
+
+ config_h.set('BUILD_VNC_COMPOSITOR', '1')
+-dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.8.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
++dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.9.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
+ if not dep_neatvnc.found()
+ error('VNC backend requires neatvnc which was not found. Or, you can use \'-Dbackend-vnc=false\'.')
+ endif
diff --git a/dev-libs/weston/metadata.xml b/dev-libs/weston/metadata.xml
index c98075bd2fed..a92c370bfe99 100644
--- a/dev-libs/weston/metadata.xml
+++ b/dev-libs/weston/metadata.xml
@@ -1,26 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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="colord">Allow setting color managment</flag>
<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/kiosk shell</flag>
- <flag name="gles2">Use GLESv2 cairo instead of full GL</flag>
+ <flag name="fullscreen">Enable fullscreen shell</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="launch">Install weston-launch utility</flag>
+ <flag name="kiosk">Enable the kiosk shell</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>
<flag name="resize-optimization">Increase performance, allocate more RAM. Recommended to disable on Raspberry Pi</flag>
<flag name="screen-sharing">Enable screen-sharing through RDP</flag>
- <flag name="unwind">Enable libunwind usage for backtraces</flag>
<flag name="wayland-compositor">Enable Wayland compositor support</flag>
<flag name="xwayland">Enable ability support native X11 applications</flag>
</use>
diff --git a/dev-libs/weston/weston-13.0.0-r2.ebuild b/dev-libs/weston/weston-13.0.0-r2.ebuild
new file mode 100644
index 000000000000..e7b796fe2341
--- /dev/null
+++ b/dev-libs/weston/weston-13.0.0-r2.ebuild
@@ -0,0 +1,150 @@
+# 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_{10..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.8*
+ 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}]')
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-neatvnc-0.8.patch
+)
+
+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.1.ebuild b/dev-libs/weston/weston-13.0.1.ebuild
new file mode 100644
index 000000000000..801ef005cb3b
--- /dev/null
+++ b/dev-libs/weston/weston-13.0.1.ebuild
@@ -0,0 +1,151 @@
+# 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_{10..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.8*
+ 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}]')
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-neatvnc-0.8.patch
+ "${FILESDIR}"/${PN}-musl-basename.patch
+)
+
+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-3.0.0.ebuild b/dev-libs/weston/weston-3.0.0.ebuild
deleted file mode 100644
index a3061e69cc02..000000000000
--- a/dev-libs/weston/weston-3.0.0.ebuild
+++ /dev/null
@@ -1,151 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
- GIT_ECLASS="git-r3"
- EXPERIMENTAL="true"
-fi
-
-inherit autotools readme.gentoo-r1 toolchain-funcs $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}"
- KEYWORDS="amd64 arm x86"
-else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="amd64 arm x86"
-fi
-
-LICENSE="MIT CC-BY-SA-3.0"
-SLOT="0"
-
-IUSE="colord dbus +drm editor examples fbdev +gles2 headless ivi jpeg +launch lcms rdp +resize-optimization screen-sharing static-libs +suid systemd test unwind wayland-compositor webp +X xwayland"
-
-REQUIRED_USE="
- drm? ( gles2 )
- screen-sharing? ( rdp )
- systemd? ( dbus )
- test? ( headless xwayland )
- wayland-compositor? ( gles2 )
-"
-
-RDEPEND="
- >=dev-libs/libinput-0.8.0
- >=dev-libs/wayland-1.12.0
- >=dev-libs/wayland-protocols-1.8
- 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.30
- >=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 )
- dbus? ( >=sys-apps/dbus-1.6 )
- drm? (
- media-libs/mesa[gbm]
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- editor? ( x11-libs/pango )
- gles2? (
- media-libs/mesa[gles2,wayland]
- )
- rdp? ( >=net-misc/freerdp-1.1.0_beta1_p20130710 )
- systemd? (
- sys-auth/pambase[systemd]
- >=sys-apps/systemd-209[pam]
- )
- launch? ( sys-auth/pambase )
- unwind? ( sys-libs/libunwind )
- X? (
- >=x11-libs/libxcb-1.9
- x11-libs/libX11
- )
- xwayland? (
- x11-base/xorg-server[wayland]
- x11-libs/cairo[xcb]
- >=x11-libs/libxcb-1.9
- x11-libs/libXcursor
- )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- if [[ ${PV} = 9999* ]]; then
- eautoreconf
- else
- elibtoolize
- fi
-}
-
-src_configure() {
- local myconf
- if use examples || use test; then
- myconf="--enable-simple-clients"
- else
- myconf="--disable-simple-clients"
- fi
-
- econf \
- $(use_enable examples demo-clients-install) \
- $(use_enable fbdev fbdev-compositor) \
- $(use_enable dbus) \
- $(use_enable drm drm-compositor) \
- $(use_enable headless headless-compositor) \
- $(use_enable ivi ivi-shell) \
- $(use_enable lcms) \
- $(use_enable rdp rdp-compositor) \
- $(use_enable wayland-compositor) \
- $(use_enable X x11-compositor) \
- $(use_enable launch weston-launch) \
- $(use_enable colord) \
- $(use_enable gles2 egl) \
- $(use_enable unwind libunwind) \
- $(use_enable resize-optimization) \
- $(use_enable screen-sharing) \
- $(use_enable suid setuid-install) \
- $(use_enable systemd systemd-login) \
- $(use_enable systemd systemd-notify) \
- $(use_enable xwayland) \
- $(use_enable xwayland xwayland-test) \
- $(use_with jpeg) \
- $(use_with webp) \
- --with-cairo=image \
- --disable-junit-xml \
- --disable-simple-dmabuf-drm-client \
- --disable-simple-dmabuf-v4l-client \
- --disable-simple-egl-clients \
- --disable-vaapi-recorder \
- ${myconf}
-}
-
-src_test() {
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- cd "${BUILD_DIR}" || die
- emake check
-}
-
-src_install() {
- default
-
- readme.gentoo_create_doc
-}
diff --git a/dev-libs/weston/weston-6.0.1.ebuild b/dev-libs/weston/weston-6.0.1.ebuild
deleted file mode 100644
index a223d8efcb1c..000000000000
--- a/dev-libs/weston/weston-6.0.1.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2019 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 toolchain-funcs 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}"
- KEYWORDS=""
-else
- SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~x86"
-fi
-
-LICENSE="MIT CC-BY-SA-3.0"
-SLOT="0"
-
-IUSE="colord +desktop +drm editor examples fbdev fullscreen +gles2 headless ivi jpeg +launch lcms rdp remoting +resize-optimization screen-sharing static-libs +suid systemd test wayland-compositor webp +X xwayland"
-
-REQUIRED_USE="
- colord? ( lcms )
- drm? ( gles2 )
- 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.17
- 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 )
- gles2? (
- media-libs/mesa[gles2,wayland]
- )
- 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/xorg-server[wayland]
- x11-libs/cairo[xcb]
- >=x11-libs/libxcb-1.9
- x11-libs/libXcursor
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- 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)
- $(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 desktop shell-desktop)
- $(meson_use fullscreen shell-fullscreen)
- $(meson_use ivi shell-ivi)
- $(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
- -Dsimple-dmabuf-drm=auto
- $(meson_use examples demo-clients)
- $(usex examples -Dsimple-clients=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
-
- # 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 a223d8efcb1c..40b3bd77eef2 100644
--- a/dev-libs/weston/weston-9999.ebuild
+++ b/dev-libs/weston/weston-9999.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
if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
@@ -9,115 +9,125 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-inherit meson readme.gentoo-r1 toolchain-funcs xdg-utils $GIT_ECLASS
+PYTHON_COMPAT=( python3_{10..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
+if [[ ${PV} = *9999* ]]; then
SRC_URI="${SRC_PATCHES}"
- KEYWORDS=""
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 +launch lcms rdp remoting +resize-optimization screen-sharing static-libs +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.17
- 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]
+ >=media-libs/mesa-17.1[gbm(+)]
>=sys-libs/mtdev-1.1.0
>=virtual/udev-136
)
editor? ( x11-libs/pango )
- gles2? (
- media-libs/mesa[gles2,wayland]
- )
- rdp? ( >=net-misc/freerdp-2.0.0_rc2:= )
+ 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-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.8*
+ sys-libs/pam
)
- launch? ( sys-auth/pambase )
+ webp? ( media-libs/libwebp:0= )
X? (
>=x11-libs/libxcb-1.9
x11-libs/libX11
)
xwayland? (
- x11-base/xorg-server[wayland]
- x11-libs/cairo[xcb]
+ 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}"
+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}]')
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-neatvnc-0.8.patch
+)
+
+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 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
- -Dsimple-dmabuf-drm=auto
$(meson_use examples demo-clients)
- $(usex examples -Dsimple-clients=damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
+ -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[@]}"
@@ -127,16 +137,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/wnn7sdk/Manifest b/dev-libs/wnn7sdk/Manifest
deleted file mode 100644
index 70811002b30a..000000000000
--- a/dev-libs/wnn7sdk/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Wnn7SDK.tgz 178403 BLAKE2B 9dfccd0bcbe38cd1d782fd2b331c6349a1e1788c328dc121eb91ed362028c18661dc08d761b31722cd19fd3c76970a2566c2641488cd4b968f898f6d1e76ea76 SHA512 d6e24357c0071eb29e3a91cd3484c8fe7901a5e1537bff6632fa04eef21d0e56d7a5f3d7d899599401f607eee259cab36026321f09eea45590d00425d1963f52
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch b/dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch
deleted file mode 100644
index f97845f449f1..000000000000
--- a/dev-libs/wnn7sdk/files/wnn7sdk-gcc4.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -urN Wnn/etc/bdic.c Wnn-gcc4/etc/bdic.c
---- Wnn/etc/bdic.c 2001-10-17 10:37:17.000000000 +0900
-+++ Wnn-gcc4/etc/bdic.c 2006-11-06 01:31:31.000000000 +0900
-@@ -177,6 +177,14 @@
- #define max(a, b) ((a < b)? b:a)
- #endif
-
-+#ifdef WNN_CHECK_INODE
-+static int change_file_uniq1();
-+#else
-+#ifdef JS
-+static int change_file_uniq1();
-+#endif
-+#endif
-+
- /*:::DOC_START
- *
- * Function Name: dic_fopen
-diff -urN Wnn/jlib/jl.c Wnn-gcc4/jlib/jl.c
---- Wnn/jlib/jl.c 2001-10-17 10:37:17.000000000 +0900
-+++ Wnn-gcc4/jlib/jl.c 2006-11-06 01:33:13.000000000 +0900
-@@ -297,6 +297,8 @@
- static int insert_dai_or_ikeiji();
- static int jl_dic_save_all_e_body();
-
-+static void jl_disconnect_if_server_dead_body_by_jsid();
-+
- static struct wnn_buf *jl_open_lang_core();
- static struct wnn_env *jl_connect_lang_core();
-
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch b/dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch
deleted file mode 100644
index e203c8b5fa83..000000000000
--- a/dev-libs/wnn7sdk/files/wnn7sdk-gentoo.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- work/src/Wnn/jlib/Imakefile Wed Oct 17 10:37:17 2001
-+++ Wnn/jlib/Imakefile Sat Oct 19 17:15:25 2002
-@@ -60,9 +60,9 @@
-
- LibraryObjectRule()
- #if DoSharedLib
--AllTarget($(OBJS) libwnn.a libwnn.so.$(SOWNN7LIBREV))
-+AllTarget($(OBJS) libwnn7.a libwnn7.so.$(SOWNN7LIBREV))
- #else
--AllTarget($(OBJS) libwnn.a)
-+AllTarget($(OBJS) libwnn7.a)
- #endif
-
-
-@@ -75,23 +75,23 @@
- SingleProgramTarget(kankana,kankana.o,$(WNNJLIB),)
-
- #if DoSharedLib
--SharedLibraryTarget(wnn,$(SOWNN7LIBREV),$(OBJS),.,.)
-+SharedLibraryTarget(wnn7,$(SOWNN7LIBREV),$(OBJS),.,.)
- #endif
--UnsharedLibraryTarget(wnn,$(UNSHAREDOBJS),unshared,..)
--LintLibraryTarget(wnn,$(SRCS))
-+UnsharedLibraryTarget(wnn7,$(UNSHAREDOBJS),unshared,..)
-+LintLibraryTarget(wnn7,$(SRCS))
-
-
-
- instlib:: install
-
- #if DoSharedLib
--InstallSharedLibrary(wnn,$(SOWNN7LIBREV),$(WNNLIBDIR))
-+InstallSharedLibrary(wnn7,$(SOWNN7LIBREV),$(WNNLIBDIR))
- #endif
--InstallLibrary(wnn,$(WNNLIBDIR))
-+InstallLibrary(wnn7,$(WNNLIBDIR))
-
- #if ProfileLibJlib
--ProfiledLibraryTarget(wnn,$(OBJS))
--InstallLibrary(wnn_p,$(WNNLIBDIR))
-+ProfiledLibraryTarget(wnn7,$(OBJS))
-+InstallLibrary(wnn7_p,$(WNNLIBDIR))
- #endif
-
- #if DoSharedLib
---- work/src/config/Project.tmpl.orig Wed Oct 17 10:37:18 2001
-+++ config/Project.tmpl Sat Oct 19 18:04:30 2002
-@@ -599,7 +599,7 @@
- XWNMOJDSRC = $(XWNMOTOP)/jd
- XWNMOROMKANMSRC = $(XWNMOTOP)/romkan_m
- XWNMOINCLUDES = -I$(XWNMOROMKANMSRC) -I$(WNNINCLUDESRC)
-- XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn_m.a
-+ XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn7_m.a
- XWNMOLIBRARIES = $(XWNMOJLIB)
- XWNMODEFS = $(XVERSION) -DUSING_BUSHU
- XCOMMONDIR = $(IMTOP)/XClient/Common/src
---- work/src/config/X11.tmpl~ Wed Oct 17 10:37:18 2001
-+++ config/X11.tmpl Sat Oct 19 18:08:32 2002
-@@ -599,7 +599,7 @@
- XWNMOJDSRC = $(XWNMOTOP)/jd
- XWNMOROMKANMSRC = $(XWNMOTOP)/romkan_m
- XWNMOINCLUDES = -I$(XWNMOROMKANMSRC) -I$(WNNINCLUDESRC)
-- XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn_m.a
-+ XWNMOJLIB = $(XWNMOJLIBSRC)/libwnn7_m.a
- XWNMOLIBRARIES = $(XWNMOJLIB)
- XWNMODEFS = $(XVERSION) -DUSING_BUSHU
- XCOMMONDIR = $(IMTOP)/XClient/Common/src
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch b/dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch
deleted file mode 100644
index 0a0ce4337080..000000000000
--- a/dev-libs/wnn7sdk/files/wnn7sdk-malloc.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- Wnn/jlib/js.c.bak 2005-01-20 12:33:10.000000000 +0900
-+++ Wnn/jlib/js.c 2005-01-20 12:33:10.000000000 +0900
-@@ -159,7 +159,7 @@
- */
-
-
--extern char *malloc();
-+extern void *malloc();
-
- #include <stdio.h>
- #include <ctype.h>
-@@ -199,7 +199,7 @@
- #include "../etc/pwd.c"
-
-
--char *malloc();
-+void *malloc();
-
- typedef struct _host_address {
- int address_len;
diff --git a/dev-libs/wnn7sdk/files/wnn7sdk-qa.patch b/dev-libs/wnn7sdk/files/wnn7sdk-qa.patch
deleted file mode 100644
index a41223af8e6f..000000000000
--- a/dev-libs/wnn7sdk/files/wnn7sdk-qa.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -Naur src.orig/Wnn/etc/msg.c src/Wnn/etc/msg.c
---- src.orig/Wnn/etc/msg.c 2001-10-17 10:37:17.000000000 +0900
-+++ src/Wnn/etc/msg.c 2008-11-22 10:38:22.000000000 +0900
-@@ -148,6 +148,8 @@
- <message id>\t<message>
- */
- #include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
- #include "commonhd.h"
- #include "config.h"
- #include "dslib.h"
-@@ -156,7 +158,7 @@
-
-
- static char *
--bsearch(ky, bs, nel, width, compar)
-+a_bsearch(ky, bs, nel, width, compar)
- char *ky;
- char *bs;
- unsigned long nel;
-@@ -244,7 +246,7 @@
- return(NULL);
- if (cd->msg_bd == 0 || cd->msg_cnt == 0)
- return(NULL);
-- bd = (struct msg_bd *)bsearch(id, cd->msg_bd, cd->msg_cnt,
-+ bd = (struct msg_bd *)a_bsearch(id, cd->msg_bd, cd->msg_cnt,
- sizeof(struct msg_bd), _search);
- if (bd == NULL)
- return(NULL);
-diff -Naur src.orig/Wnn/jlib/jl.c src/Wnn/jlib/jl.c
---- src.orig/Wnn/jlib/jl.c 2001-10-17 10:37:17.000000000 +0900
-+++ src/Wnn/jlib/jl.c 2008-11-22 10:18:36.000000000 +0900
-@@ -143,6 +143,7 @@
- #include "commonhd.h"
- #include "config.h"
- #include <stdio.h>
-+#include <stdlib.h>
- #include <sys/types.h>
- #ifdef SYSVR2
- # include <string.h>
-diff -Naur src.orig/Wnn/jlib/js.c src/Wnn/jlib/js.c
---- src.orig/Wnn/jlib/js.c 2001-10-17 10:37:17.000000000 +0900
-+++ src/Wnn/jlib/js.c 2008-11-22 10:27:04.000000000 +0900
-@@ -162,6 +162,7 @@
- extern char *malloc();
-
- #include <stdio.h>
-+#include <stdlib.h>
- #include <ctype.h>
- #ifdef UX386
- #include <X11/Xos.h>
diff --git a/dev-libs/wnn7sdk/metadata.xml b/dev-libs/wnn7sdk/metadata.xml
deleted file mode 100644
index c921b96adf6c..000000000000
--- a/dev-libs/wnn7sdk/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
-</maintainer>
-</pkgmetadata>
diff --git a/dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild b/dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild
deleted file mode 100644
index 455ccb1d772e..000000000000
--- a/dev-libs/wnn7sdk/wnn7sdk-20011017-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils multilib toolchain-funcs
-
-DESCRIPTION="Library and headers for Wnn7 client"
-HOMEPAGE="http://www.omronsoft.co.jp/SP/pcunix/sdk/index.html"
-SRC_URI="ftp://ftp.omronsoft.co.jp/pub/Wnn7/sdk_source/Wnn7SDK.tgz"
-
-LICENSE="freedist"
-
-SLOT="0"
-KEYWORDS="~amd64 x86"
-IUSE=""
-
-# x11 is required for imake
-DEPEND="x11-misc/imake"
-RDEPEND=""
-
-S="${WORKDIR}/src"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}/${PN}-malloc.patch"
- epatch "${FILESDIR}/${PN}-gentoo.patch"
- epatch "${FILESDIR}/${PN}-gcc4.patch"
- epatch "${FILESDIR}/${PN}-qa.patch"
-
- # Fix path to point to Xorg directory
- sed -e "s:X11R6/::g" -i config/X11.tmpl || sed "sed 1 failed"
-
- sed -i -e "/CONFIGSRC =/s:=.*:= /usr/$(get_libdir)/X11/config:" Makefile.ini || die "sed 2 failed"
-}
-
-src_compile() {
- emake \
- CC="$(tc-getCC)" CDEBUGFLAGS="${CFLAGS}" \
- SHLIBGLOBALSFLAGS="${LDFLAGS}" \
- World -f Makefile.ini || die "make World failed"
-}
-
-src_install() {
- dolib.so Wnn/jlib/*.so* || die "dolib.so failed"
- dolib.a Wnn/jlib/*.a || die "dolib.a failed"
-
- insinto /usr/include/${PN}/wnn
- doins Wnn/include/*.h || die "doins failed"
-
- dodoc README
-}
diff --git a/dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild b/dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild
deleted file mode 100644
index e9c8516d8c5a..000000000000
--- a/dev-libs/wnn7sdk/wnn7sdk-20011017.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils
-
-DESCRIPTION="Library and headers for Wnn7 client"
-HOMEPAGE="http://www.omronsoft.co.jp/SP/download/pcunix/sdk.html"
-SRC_URI="ftp://ftp.omronsoft.co.jp/pub/Wnn7/sdk_source/Wnn7SDK.tgz"
-
-LICENSE="freedist"
-
-SLOT="0"
-KEYWORDS="~amd64 x86"
-IUSE=""
-
-# x11 is required for imake
-DEPEND="x11-misc/imake"
-RDEPEND=""
-
-S="${WORKDIR}/src"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- epatch "${FILESDIR}/${PN}-malloc.patch"
- epatch "${FILESDIR}/${PN}-gentoo.patch"
- epatch "${FILESDIR}/${PN}-gcc4.patch"
-}
-
-src_compile() {
- make World -f Makefile.ini || die "make World failed"
-}
-
-src_install() {
- cd ${S}/Wnn/jlib
- dolib.so *.so* || die
- dolib.a *.a || die
-
- cd ${S}/Wnn/include
- insinto /usr/include/${PN}/wnn
- doins *.h || die
-
- dodoc ${S}/README
-}
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 e8a9cc9d03b3..000000000000
--- a/dev-libs/xalan-c/files/1.11.0_pre797991-as-needed.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-diff -Naur xml-xalan.orig/c/src/xalanc/Makefile.in xml-xalan/c/src/xalanc/Makefile.in
---- xml-xalan.orig/c/src/xalanc/Makefile.in 2009-07-27 00:23:08.411122528 +0200
-+++ xml-xalan/c/src/xalanc/Makefile.in 2009-07-27 00:45:09.514777553 +0200
-@@ -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
-diff -Naur xml-xalan.orig/c/src/xalanc/Utils/MsgCreator/Makefile.in xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in
---- xml-xalan.orig/c/src/xalanc/Utils/MsgCreator/Makefile.in 2009-07-27 00:23:08.431122558 +0200
-+++ xml-xalan/c/src/xalanc/Utils/MsgCreator/Makefile.in 2009-07-27 00:43:47.674693543 +0200
-@@ -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 $@ $<
-diff -Naur xml-xalan.orig/c/Tests/Makefile.in xml-xalan/c/Tests/Makefile.in
---- xml-xalan.orig/c/Tests/Makefile.in 2009-07-27 00:23:08.514445103 +0200
-+++ xml-xalan/c/Tests/Makefile.in 2009-07-27 00:45:50.541094978 +0200
-@@ -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 d86f1bd45f4b..000000000000
--- a/dev-libs/xalan-c/files/1.11.0_pre797991-bugfixes.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -Naur xml-xalan.orig/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp xml-xalan/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp
---- xml-xalan.orig/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp 2009-07-27 00:23:08.507787691 +0200
-+++ xml-xalan/c/src/xalanc/PlatformSupport/XalanNLSMessageLoader.cpp 2009-07-27 00:53:50.781756249 +0200
-@@ -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 46d9659b0f0a..000000000000
--- a/dev-libs/xalan-c/files/1.11.0_pre797991-parallel-build.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff -urN xml-xalan.orig//c/src/xalanc/Makefile.in xml-xalan/c/src/xalanc/Makefile.in
---- xml-xalan.orig//c/src/xalanc/Makefile.in 2010-02-23 10:51:30.058353490 +0100
-+++ xml-xalan/c/src/xalanc/Makefile.in 2010-02-23 10:52:53.251679288 +0100
-@@ -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 6f49eba8f496..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 894d99b5b6be..000000000000
--- a/dev-libs/xalan-c/xalan-c-1.11.0_pre1153059.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit toolchain-funcs eutils multilib
-
-DESCRIPTION="XSLT processor for transforming XML into HTML, text, or other XML types"
-HOMEPAGE="http://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"
-# icu? ( dev-libs/icu )"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/xml-xalan/c"
-
-pkg_setup() {
-# export ICUROOT="/usr"
- export XALANCROOT="${S}"
-}
-
-src_prepare() {
- epatch \
- "${FILESDIR}/1.11.0_pre797991-as-needed.patch" \
- "${FILESDIR}/1.11.0_pre797991-bugfixes.patch" \
- "${FILESDIR}/1.11.0_pre797991-parallel-build.patch"
-
- # - 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"
-
- local target="linux"
- # add more if needed, see xerces-c-2.8.0-r1 ebuild
-
- local mloader="inmem"
- use nls && mloader="nls"
-# use icu && mloader="icu"
-
- local transcoder="default"
-# use icu && transcoder="icu"
-
- local thread="none"
- use threads && thread="pthread"
-
- ./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
- cd "${S}/xdocs"
- doxygen DoxyfileXalan
- fi
-}
-
-src_install() {
- default
-
- if use doc ; then
- dodir /usr/share/doc/${PF}
- dohtml -r build/docs/apiDocs/*
- fi
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- doins -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 153a3e81420b..b281c4a54433 100644
--- a/dev-libs/xapian-bindings/Manifest
+++ b/dev-libs/xapian-bindings/Manifest
@@ -1,7 +1,4 @@
-DIST xapian-bindings-1.2.25.tar.xz 1711860 BLAKE2B 66367dbc503333c4f59da8bb5bd4885fe9678aace45365573bac8e0e8e2c712795af2021ff52de9eeabb91f65a2f0447d1963424b1ae6558be95b737d1279e98 SHA512 5d27b2ae2722409ea99a1b9e6bf3f5c61ed9195b67121c090f1533340d3b11c546014985d0989a0725b60a07b392b9705bce054495f423bd3a7c99835aa336c7
-DIST xapian-bindings-1.4.10.tar.xz 1125168 BLAKE2B cb864021362098243993560724a66964532cd4ff47ce7a746876f1102113d136676b0feb70fa6515a9c9b31627e5363c76f4d65d9928b21822f05fe41b92401c SHA512 e993c33820f7606e17ee6ff5a13bdcb91beceec6a8443298ff06a3160052e96caff3aca30908c68a8a695429ec51189a86404b69c5525e5770741637cc63bbc1
-DIST xapian-bindings-1.4.11.tar.xz 1125716 BLAKE2B 0fd4204b4d18c04e017385f5eb116df68daa2f76f528f2b1770e61e5ab5062498aed6ccb57f51ac26ced58912d41c5f5a6f076e0f721a7eb1c3f83e01f2b9523 SHA512 326b08b9959143b92e6c10bd9b6b107ce2779e6ef1a3b5570abd07802a5988dd7df4e890d820f7da355f9f9e64df9a3ae08a0664d70d10ba6f876fca3dc44ecd
-DIST xapian-bindings-1.4.5.tar.xz 1118884 BLAKE2B 507b06f0121e5a56224250bfe7b19795eb9fd2fba977d12022d054e7b832fd70af70085ad576dab41efcde261f9ecd48179646f1ea67aaa266fb6272358eb69a SHA512 e39ece495e25077990db3d06554306567c52c6f45ad55a65005cb97e18086ee18947e41d0d612157b891b61e015881385bcb082a03aa0c6452565e90d09e8275
-DIST xapian-bindings-1.4.7.tar.xz 1121700 BLAKE2B f8492113b76aba322c975aa2b957a627a32e5209d8b79f435dc85c899cf14619af6165265e624e2ba8806f3c91dd35d71d98c4a47f5d6f4fba1b7fb83700c0d0 SHA512 c904cd3abf19d68495b0487ea77265fdc92a3cd8b1c2437b89034efd349ce41198bbc4abca49f259f71a1ba0fd269b2cf9b6dd4c1607678a73cbed4de9c5a1d5
-DIST xapian-bindings-1.4.8.tar.xz 1123812 BLAKE2B 5aa496ff3cfe06a40fa8db6a04cdc9041f4a0d9f12c7a61565f10c7d360490a7c8a7c745d91c9eda45b9d9bc58bd6a2bbae02aa9dd7ff1949ac59f7e09b090df SHA512 f979c32b096ecdc7a71b2bd032c6d0e7131f3d304e47e44005989ca79ea1f940c39626c60a8e52ff3cdb2cb380aa5ddf82a99bae08e06629c0bd47d8e0bfa7cc
-DIST xapian-bindings-1.4.9.tar.xz 1123628 BLAKE2B 918748bb99b826485127b16511ae2fe6e7965102738308fc675eca3018c8a7131fd65f54cc396912367c4c6f43c7c28b1ba07591567fe3ae646c3e1480439d0d SHA512 cddc6cedfd571d565619ade0a4c9bfee8d688ca3d06d77368c8d673d3c9d1296b652122836debc84a4d54724c2bf0639a009396bf587ed4b8901a6bfe508851d
+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 d920e3ba3e56..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.2.25.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.2.25.ebuild
deleted file mode 100644
index 9998ef54bf08..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.2.25.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-
-USE_PHP="php5-6"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-#mono violates sandbox, we disable it until we figure this out
-#inherit java-pkg-opt-2 mono-env php-ext-source-r3 python
-inherit java-pkg-opt-2 php-ext-source-r3 python-r1 toolchain-funcs
-
-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 ~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 )"
-IUSE="java lua perl php python ruby tcl"
-REQUIRED_USE="|| ( java lua perl php python ruby tcl ) python? ( ${PYTHON_REQUIRED_USE} )"
-
-COMMONDEPEND="dev-libs/xapian:0/1.2.22
- lua? ( dev-lang/lua:0 )
- perl? ( dev-lang/perl:= )
- python? ( ${PYTHON_DEPS} )
- ruby? ( dev-lang/ruby:= )
- tcl? ( >=dev-lang/tcl-8.1:0= )"
-# mono? ( >=dev-lang/mono-1.0.8 )
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- java? ( >=virtual/jdk-1.3 )"
-RDEPEND="${COMMONDEPEND}
- java? ( >=virtual/jre-1.3 )"
-
-pkg_setup() {
- java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- default
-}
-
-src_prepare() {
- java-pkg-opt-2_src_prepare
- if use java; then
- sed \
- -e 's/$(JAVAC)/$(JAVAC) $(JAVACFLAGS)/' \
- -i java{/,/org/xapian/errors/,/org/xapian/}Makefile.in || die "sed failed"
- fi
-
- if use python; then
- sed \
- -e 's:\(^pkgpylib_DATA = xapian/__init__.py\).*:\1:' \
- -e 's|\(^xapian/__init__.py: modern/xapian.py\)|\1 xapian/_xapian.so|' \
- -i python/Makefile.in || die "sed failed"
- fi
-}
-
-src_configure() {
- if use java; then
- CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
- fi
-
- if use perl; then
- export PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
- export PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
- fi
-
- if use lua; then
- export LUA_LIB="$($(tc-getPKG_CONFIG) --variable=INSTALL_CMOD lua)"
- fi
-
- econf \
- $(use_with java) \
- $(use_with lua) \
- $(use_with perl) \
- $(use_with php) \
- $(use_with python) \
- $(use_with ruby) \
- $(use_with tcl)
-# $(use_with mono csharp) \
-
- # PHP and Python bindings are built/tested/installed manually.
- sed -e "/SUBDIRS =/s/ php//" -i Makefile || die "sed Makefile"
- sed -e "/SUBDIRS =/s/ python//" -i Makefile || die "sed Makefile"
-}
-
-src_compile() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- cp -r php php-${php_slot}
- emake -C php-${php_slot} \
- PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
- PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
- PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
- PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)"
- done
- fi
-
- if use python; then
- python_copy_sources
-# building() {
-# emake -C python \
-# PYTHON="$(PYTHON)" \
-# PYTHON_INC="$(python_get_includedir)" \
-# PYTHON_LIB="$(python_get_libdir)" \
-# PYTHON_SO="$("$(PYTHON)" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_config_vars("SO")[0])')" \
-# pkgpylibdir="$(python_get_sitedir)/xapian"
-# }
- building() {
- emake -C python \
- PYTHON_INC="$(python_get_includedir)" \
- pkgpylibdir="$(python_get_sitedir)/xapian"
- VERBOSE="1"
- }
- python_foreach_impl building
- fi
-}
-
-src_test() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- emake -C php-${php_slot} \
- PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
- PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
- PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
- PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
- check
- done
- fi
-
- if use python; then
- testing() {
- emake -C python \
- PYTHON_INC="$(python_get_includedir)" \
- pkgpylibdir="$(python_get_sitedir)/xapian" \
- VERBOSE="1" \
- check
- }
- python_foreach_impl testing
- fi
-}
-
-src_install () {
- emake DESTDIR="${D}" install
-
- if use java; then
- java-pkg_dojar java/built/xapian_jni.jar
- # TODO: make the build system not install this...
- java-pkg_doso "${D}/${S}/java/built/libxapian_jni.so"
- rm "${D}/${S}/java/built/libxapian_jni.so"
- rmdir -p "${D}/${S}/java/built"
- rmdir -p "${D}/${S}/java/native"
- fi
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- emake DESTDIR="${D}" -C php-${php_slot} \
- PHP="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php" \
- PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" \
- PHP_EXTENSION_DIR="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --extension-dir)" \
- PHP_INC="$("${EPREFIX}/usr/$(get_libdir)/${php_slot}/bin/php-config" --includes)" \
- install
- done
-
- php-ext-source-r3_createinifiles
- fi
-
- if use python; then
- installation() {
- emake -C python \
- DESTDIR="${D}" \
- PYTHON_INC="$(python_get_includedir)" \
- pkgpylibdir="$(python_get_sitedir)/xapian" \
- VERBOSE="1" \
- install
- }
- python_foreach_impl installation
- fi
-
- # For some USE combinations this directory is not created
- if [[ -d "${D}/usr/share/doc/xapian-bindings" ]]; then
- mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}"
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.10.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.10.ebuild
deleted file mode 100644
index 96ee738b4601..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.10.ebuild
+++ /dev/null
@@ -1,306 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php7-1 php7-2 php7-3"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby22 ruby23 ruby24"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-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 ~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 )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.9:0/30
- lua? ( dev-lang/lua:= )
- 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 php, python and ruby are
- return $(use mono || use java || use lua || 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 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 lua)
- $(use_with perl)
- $(use_with tcl)
- --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
-
- if use lua; then
- local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)"
- local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)"
- fi
-
- econf "${conf[@]}"
- 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
- )
- if python_is_python3; then
- myconf+=( --with-python3 )
- else
- myconf+=( --with-python )
- fi
-
- # 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 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 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 "${D}var" || die "could not remove java cruft!"
- 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
- 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 "${D}/usr/share/doc/xapian-bindings" ]]; then
- mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.11.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.11.ebuild
deleted file mode 100644
index ec1fbcb8679d..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.11.ebuild
+++ /dev/null
@@ -1,306 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php7-1 php7-2 php7-3"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby24 ruby25 ruby26"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-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 ~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 )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.9:0/30
- lua? ( dev-lang/lua:= )
- 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 php, python and ruby are
- return $(use mono || use java || use lua || 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 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 lua)
- $(use_with perl)
- $(use_with tcl)
- --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
-
- if use lua; then
- local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)"
- local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)"
- fi
-
- econf "${conf[@]}"
- 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
- )
- if python_is_python3; then
- myconf+=( --with-python3 )
- else
- myconf+=( --with-python )
- fi
-
- # 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 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 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 "${D}var" || die "could not remove java cruft!"
- 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
- 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 "${D}/usr/share/doc/xapian-bindings" ]]; then
- mv "${D}/usr/share/doc/xapian-bindings" "${D}/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-bindings/xapian-bindings-1.4.5.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.5.ebuild
deleted file mode 100644
index bd40a3130e61..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.5.ebuild
+++ /dev/null
@@ -1,305 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php5-6 php7-1 php7-2"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby22 ruby23 ruby24"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-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 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 )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.5:0/30
- lua? ( dev-lang/lua:= )
- perl? ( dev-lang/perl:= )
- 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 php, python and ruby are
- return $(use mono || use java || use lua || 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 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 lua)
- $(use_with perl)
- $(use_with tcl)
- --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
-
- if use lua; then
- local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)"
- local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)"
- fi
-
- econf "${conf[@]}"
- 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
- )
- if python_is_python3; then
- myconf+=( --with-python3 )
- else
- myconf+=( --with-python )
- fi
-
- # 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 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 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 "${D}var" || die "could not remove java cruft!"
- 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
- 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 "${D}/usr/share/doc/xapian-bindings" ]]; then
- mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.7.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.7.ebuild
deleted file mode 100644
index 44fc02dbf987..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.7.ebuild
+++ /dev/null
@@ -1,305 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php5-6 php7-1 php7-2"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby22 ruby23 ruby24"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-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 ~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 )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.7:0/30
- lua? ( dev-lang/lua:= )
- perl? ( dev-lang/perl:= )
- 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 php, python and ruby are
- return $(use mono || use java || use lua || 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 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 lua)
- $(use_with perl)
- $(use_with tcl)
- --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
-
- if use lua; then
- local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)"
- local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)"
- fi
-
- econf "${conf[@]}"
- 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
- )
- if python_is_python3; then
- myconf+=( --with-python3 )
- else
- myconf+=( --with-python )
- fi
-
- # 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 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 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 "${D}var" || die "could not remove java cruft!"
- 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
- 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 "${D}/usr/share/doc/xapian-bindings" ]]; then
- mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.8.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.8.ebuild
deleted file mode 100644
index 24fba835931c..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.8.ebuild
+++ /dev/null
@@ -1,305 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php5-6 php7-1 php7-2"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby22 ruby23 ruby24"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-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 ~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 )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.8:0/30
- lua? ( dev-lang/lua:= )
- perl? ( dev-lang/perl:= )
- 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 php, python and ruby are
- return $(use mono || use java || use lua || 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 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 lua)
- $(use_with perl)
- $(use_with tcl)
- --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
-
- if use lua; then
- local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)"
- local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)"
- fi
-
- econf "${conf[@]}"
- 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
- )
- if python_is_python3; then
- myconf+=( --with-python3 )
- else
- myconf+=( --with-python )
- fi
-
- # 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 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 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 "${D}var" || die "could not remove java cruft!"
- 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
- 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 "${D}/usr/share/doc/xapian-bindings" ]]; then
- mv "${D}/usr/share/doc/xapian-bindings" "${D}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.9.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.9.ebuild
deleted file mode 100644
index 1be8c8397255..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.9.ebuild
+++ /dev/null
@@ -1,305 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python{2_7,3_5,3_6} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php5-6 php7-1 php7-2"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby22 ruby23 ruby24"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 mono-env multibuild php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-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 ~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 )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.9:0/30
- lua? ( dev-lang/lua:= )
- perl? ( dev-lang/perl:= )
- 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 php, python and ruby are
- return $(use mono || use java || use lua || 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 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 lua)
- $(use_with perl)
- $(use_with tcl)
- --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
-
- if use lua; then
- local -x LUA_INC="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_INC lua)"
- local -x LUA_LIB="$("$(tc-getPKG_CONFIG)" --variable=INSTALL_CMOD lua)"
- fi
-
- econf "${conf[@]}"
- 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
- )
- if python_is_python3; then
- myconf+=( --with-python3 )
- else
- myconf+=( --with-python )
- fi
-
- # 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 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 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 "${D}var" || die "could not remove java cruft!"
- 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
- 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 "${D}/usr/share/doc/xapian-bindings" ]]; then
- mv "${D}/usr/share/doc/xapian-bindings" "${D}/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 f2a0869bf460..86628f3347ac 100644
--- a/dev-libs/xapian/Manifest
+++ b/dev-libs/xapian/Manifest
@@ -1,8 +1,4 @@
-DIST xapian-core-1.2.24.tar.xz 3210192 BLAKE2B 062f0c15ce87fb64b0eec5e5e54b76c443d0581feab44791bce6925f0f77385b423218dc7006d7e095cc9764fffc73a74a067923c44f51816d94b731d001f903 SHA512 1f8ae5848f94b5f0bee03024f12ae8c336b6d85e58f7b36e885fe604f9fb962c0525e1f44e6cfcd183e811226c61b23f0f2fcc35c7d2e63544b19347a0f96c80
-DIST xapian-core-1.2.25.tar.xz 3253292 BLAKE2B a130e26188c949d0433d017e8d13e7ecf6241a232d00125699ba8ed63eab9cb1651e02182fcc152f960f4e122709958632779daaaf5760fe50953a3b5b07a243 SHA512 a15b5d9b5770337519f671732f53f0642b31f08206824500d589ba309c9e91a05a30353d66ebf70a4c1cb1824b44e1c7b7630e799de3b15d645cf951a6017bfe
-DIST xapian-core-1.4.10.tar.xz 2973780 BLAKE2B 6ef86a4c02e6721f434e33ea27a37ddac9cee62f0c9eed8c6334cadb62dd544be66405dd359dd944cf1ab12742c10e786b7300c4987e33ce33da9d9df4e428d4 SHA512 fa716d6f8c04edb297d99dad4d7835f7874837ab3c39d7017e43708cde6992c596e579418be17b79772e002bd23b94169812523a1abd9519b1dd3df474f027d9
-DIST xapian-core-1.4.11.tar.xz 2975524 BLAKE2B c912e527ef1454c0b4b3e1aedd91a8a63d2e0b2dd186759eac00d6a0f64104669467c6c5b0bf3f132d4fa04bb2ef72d07ccfe92137a3360ba699e3420ee8bea4 SHA512 72ab7b0c774390f38319d241689b2dc3c2837fbbf933616574f6ad167f14a25c2eff747910022065508dc7c44f806dc2b71dae80a1b4f1f47e1675fb951bc785
-DIST xapian-core-1.4.5.tar.xz 2810612 BLAKE2B 7784e69e3ca064751d829173949fcde65661c2c2070fdc8392cf2b6d40874a3e5b1265e61f25dd39b33e179b3fe3842b67f33a55523c3a18e9b65528e6a23a1e SHA512 cff97a856a406583ca81164ddb704a0eeae7d8d6f94ce3b3f53d5208d657423e87dd06bdc7acb5e5904765bce1cefbc98365cde315c1d46f7b18cfba7b022ae6
-DIST xapian-core-1.4.7.tar.xz 2874172 BLAKE2B 917a35ca717ed4437f4a617ce0b6ac07d5936e07aac6bfa9d6878c12ed0c38e7ca994ad943b6dc7a5cd2fe131a445c5a7859f2286c2201dd048020569ce1a0bf SHA512 9e77a78bd63036966ebb9bbed91e36fef17b37c9465c8d4b7dc8041f0e24b040e6520de645babfeeade952771d145176a204328718cfa8bc2291bb6fdbe840d2
-DIST xapian-core-1.4.8.tar.xz 2880432 BLAKE2B 8468a33614d8c7617755cfe4cc79e72ab42612a79be9fb684525e268efe80c42ce902a60a44dc5548c70b719d752e15927ce24b4ab457905022ae806bffb1f11 SHA512 9ed1f34ec1bf53a4dc628ebb8d080af79a4ac6a315bf1ae52441f0ac3a63e5478ed02887382116b28157b926e685fdc730489426edce560aa4bba27cb7295e48
-DIST xapian-core-1.4.9.tar.xz 2880024 BLAKE2B 25272128fbbd7cb23dab92c87be03fee8dae5b742f26a66b9c51c649a7826639e52124f5f0748d3c12cce81a7875ed217931ddbe2b04303a08709c4a773a617f SHA512 1af23815ff9358d6407723d1a7d3dc00df8f45f4808ccaa4c57f38197763fdc2d62cb7b080fab737408db42ced85707021eac881d80767248ea22aff8a2e4aa3
+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/metadata.xml b/dev-libs/xapian/metadata.xml
index d403b02634a3..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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,9 +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="glass">Enabled glass 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.24.ebuild b/dev-libs/xapian/xapian-1.2.24.ebuild
deleted file mode 100644
index 0b512fb717e1..000000000000
--- a/dev-libs/xapian/xapian-1.2.24.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils
-
-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"
-IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +brass +chert +inmemory"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- local myconf=""
-
- einfo
- if use cpu_flags_x86_sse2; then
- einfo "Using sse2"
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- einfo "Using sse"
- myconf="${myconf} --enable-sse=sse"
- else
- einfo "Disabling sse and sse2"
- myconf="${myconf} --disable-sse"
- fi
- fi
- einfo
-
- 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 $myconf
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- mv "${ED}usr/share/doc/xapian-core" "${ED}usr/share/doc/${PF}" || die
- use doc || rm -rf "${ED}usr/share/doc/${PF}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${D}" -name "*.la" -type f -delete || die
-}
-
-src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xapian/xapian-1.2.25.ebuild b/dev-libs/xapian/xapian-1.2.25.ebuild
deleted file mode 100644
index 755c8f2317a2..000000000000
--- a/dev-libs/xapian/xapian-1.2.25.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils 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-libs/zlib"
-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 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 "${D}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xapian/xapian-1.4.10.ebuild b/dev-libs/xapian/xapian-1.4.10.ebuild
deleted file mode 100644
index 0c23be4d11e9..000000000000
--- a/dev-libs/xapian/xapian-1.4.10.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit eutils 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 ~s390 ~sparc ~x86 ~x64-solaris"
-IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +chert +inmemory"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-REQUIRED_USE="inmemory? ( chert )"
-
-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 glass || myconf="${myconf} --disable-backend-glass"
- use chert || myconf="${myconf} --disable-backend-chert"
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
-
- myconf="${myconf} --enable-backend-remote --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_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- # bug #573466
- ln -sf "${D}usr/bin/xapian-config" "${D}usr/bin/xapian-config-1.3"
-
- use doc || rm -rf "${D}usr/share/doc/xapian-core-${PV}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${D}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xapian/xapian-1.4.11.ebuild b/dev-libs/xapian/xapian-1.4.11.ebuild
deleted file mode 100644
index f5aa42950fd2..000000000000
--- a/dev-libs/xapian/xapian-1.4.11.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit eutils 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 ~s390 ~sparc x86 ~x64-solaris"
-IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +inmemory +remote"
-
-DEPEND="sys-libs/zlib"
-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 glass || myconf="${myconf} --disable-backend-glass"
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
- use remote || myconf="${myconf} --disable-backend-remote"
-
- myconf="${myconf} --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_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- # bug #573466
- ln -sf "${D}usr/bin/xapian-config" "${D}usr/bin/xapian-config-1.3"
-
- use doc || rm -rf "${D}usr/share/doc/xapian-core-${PV}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${D}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
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/xapian/xapian-1.4.5.ebuild b/dev-libs/xapian/xapian-1.4.5.ebuild
deleted file mode 100644
index 0389bacb3c81..000000000000
--- a/dev-libs/xapian/xapian-1.4.5.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils 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 ~s390 ~sparc x86 ~x64-solaris"
-IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +chert +inmemory"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-REQUIRED_USE="inmemory? ( chert )"
-
-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 glass || myconf="${myconf} --disable-backend-glass"
- use chert || myconf="${myconf} --disable-backend-chert"
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
-
- myconf="${myconf} --enable-backend-remote --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_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- # bug #573466
- ln -sf "${D}usr/bin/xapian-config" "${D}usr/bin/xapian-config-1.3"
-
- use doc || rm -rf "${D}usr/share/doc/xapian-core-${PV}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${D}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xapian/xapian-1.4.7.ebuild b/dev-libs/xapian/xapian-1.4.7.ebuild
deleted file mode 100644
index 799618ef9132..000000000000
--- a/dev-libs/xapian/xapian-1.4.7.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils 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 s390 ~sparc ~x86 ~x64-solaris"
-IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +chert +inmemory"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-REQUIRED_USE="inmemory? ( chert )"
-
-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 glass || myconf="${myconf} --disable-backend-glass"
- use chert || myconf="${myconf} --disable-backend-chert"
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
-
- myconf="${myconf} --enable-backend-remote --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_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- # bug #573466
- ln -sf "${D}usr/bin/xapian-config" "${D}usr/bin/xapian-config-1.3"
-
- use doc || rm -rf "${D}usr/share/doc/xapian-core-${PV}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${D}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xapian/xapian-1.4.8.ebuild b/dev-libs/xapian/xapian-1.4.8.ebuild
deleted file mode 100644
index 045ecc97575d..000000000000
--- a/dev-libs/xapian/xapian-1.4.8.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils 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 ~s390 ~sparc ~x86 ~x64-solaris"
-IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +chert +inmemory"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-REQUIRED_USE="inmemory? ( chert )"
-
-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 glass || myconf="${myconf} --disable-backend-glass"
- use chert || myconf="${myconf} --disable-backend-chert"
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
-
- myconf="${myconf} --enable-backend-remote --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_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- # bug #573466
- ln -sf "${D}usr/bin/xapian-config" "${D}usr/bin/xapian-config-1.3"
-
- use doc || rm -rf "${D}usr/share/doc/xapian-core-${PV}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${D}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xapian/xapian-1.4.9.ebuild b/dev-libs/xapian/xapian-1.4.9.ebuild
deleted file mode 100644
index 045ecc97575d..000000000000
--- a/dev-libs/xapian/xapian-1.4.9.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils 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 ~s390 ~sparc ~x86 ~x64-solaris"
-IUSE="doc static-libs -cpu_flags_x86_sse +cpu_flags_x86_sse2 +glass +chert +inmemory"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-REQUIRED_USE="inmemory? ( chert )"
-
-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 glass || myconf="${myconf} --disable-backend-glass"
- use chert || myconf="${myconf} --disable-backend-chert"
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
-
- myconf="${myconf} --enable-backend-remote --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_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- # bug #573466
- ln -sf "${D}usr/bin/xapian-config" "${D}usr/bin/xapian-config-1.3"
-
- use doc || rm -rf "${D}usr/share/doc/xapian-core-${PV}"
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${D}" -name "*.la" -type f -delete || die
-}
-
-multilib_src_test() {
- emake check VALGRIND=
-}
diff --git a/dev-libs/xbyak/metadata.xml b/dev-libs/xbyak/metadata.xml
index 38b28ff6e621..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 f913f7321c4b..44078a794034 100644
--- a/dev-libs/xerces-c/Manifest
+++ b/dev-libs/xerces-c/Manifest
@@ -1,2 +1,2 @@
-DIST xerces-c-3.1.4.tar.gz 6992545 BLAKE2B 463e721843632b13f4b5c845f14cf9ab4f093085558858b435ae5a3122951ab590f9e56f43add1aeaf7dc244814710be804ab0331a1d1e8073919ad9d3b61068 SHA512 8afd775bac0345a2714b77a1ae2cfb8ae67f0239ec7370de7d89612dec64d2e1df48612c875fe239ab6f2eb31914c2d3914617e6b34a1bae0bbb14e4dbc787b5
-DIST xerces-c-3.2.2.tar.gz 7100953 BLAKE2B d167299797189ef181c384ac49095e8bc4cf4e0c7d646e72840a19f56c6eea060168d2c2d29c29ce6cc76dd44e403bea4c3dcde67f964b87f3abc807ad0b14ad SHA512 13709b47b61d957d736f34b774dbc7fbd85171eedebd0cada41fd1d17929e6c42904c882b1e1d4f9b4fd464938b62e5ebb127187b4974dfade6a593e31471e80
+DIST xerces-c-3.2.4.tar.xz 4260560 BLAKE2B 5d9fed1e9a461f8b348f3259216c5181bd03d2b5d8790cad88621d601065d0d79f8766ae70ed0aa7afe05005e2bcaf37a88da25b17f0e028bf074a31cea5fe71 SHA512 4d58d25b59b4528ad1f2d60681ddd6d2a4dba945613cee9ce978605f006da03703ea85a1bd89f781eeb3ad4dbdadf485a310f29d4c07036b0322f0755f87fddf
+DIST xerces-c-3.2.5.tar.xz 4274820 BLAKE2B e0926660bf29e35c05843aae683a7a4f2fe5a6f5f68c76ce16fde975a24277c0e50465a02bfa785f96f4ebec3c7d411785793914491f112ce19477b5dd59e351 SHA512 77b80148b0a3dbb61af648e2571855d59040512dd0c739a892e8ac6a6d7ddbb43b49850c87c39fcf374f2c7658a9c795b3e3fcd4785efbc6226f831b938d5300
diff --git a/dev-libs/xerces-c/files/xerces-c-3.1.4-fix-build-system.patch b/dev-libs/xerces-c/files/xerces-c-3.1.4-fix-build-system.patch
deleted file mode 100644
index 6b991d24b56f..000000000000
--- a/dev-libs/xerces-c/files/xerces-c-3.1.4-fix-build-system.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-* Fix build system when USE="-threads"
-* Add DESTDIR in order to prevent sandbox failure
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -124,6 +124,7 @@
- AC_CXX_HAVE_LSTRING
-
- ACX_PTHREAD
-+AM_CONDITIONAL([THREADS], [test "x${acx_pthread_ok}" = "xyes"])
-
- # Checks for library functions.
- #AC_FUNC_ERROR_AT_LINE
---- a/src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in
-+++ b/src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in
-@@ -5,7 +5,7 @@
- prefix = @prefix@
- INSTALL = @INSTALL@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
--mkdir_p = @mkdir_p@
-+mkdir_p = @MKDIR_P@
-
- include $(top_srcdir)/version.incl
-
-@@ -48,11 +48,11 @@
- # for installing the library
- # for installing the library
- install: $(RESTARGET)
-- $(mkdir_p) $(prefix)/msg
-- $(INSTALL_PROGRAM) $(RESTARGET) $(prefix)/msg
-+ $(mkdir_p) $(DESTDIR)/$(prefix)/share/xerces-c/msg
-+ $(INSTALL_PROGRAM) $(RESTARGET) $(DESTDIR)/$(prefix)/share/xerces-c/msg
-
- uninstall:
-- -rm -f $(prefix)/msg/$(RESFILES)
-+ -rm -f $(DESTDIR)/$(prefix)/share/xerces-c/msg/$(RESFILES)
-
-
- # Needed to support "make dist"
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -21,7 +21,7 @@
-
- check_PROGRAMS = ${testprogs}
-
--LDADD = ${top_builddir}/src/libxerces-c.la
-+LDADD = $(top_builddir)/src/libxerces-c.la $(PTHREAD_LIBS)
- # the -I${top_builddir}/src is needed to pick the xercesc/util/Xerces_autoconf_config.hpp
- # header file when doing out-of-tree builds
- AM_CPPFLAGS = -I${top_builddir}/src -I${top_srcdir}/src
-@@ -86,8 +86,10 @@
- # src/ParserTest/ParserTest_Parser.cpp \
- # src/ParserTest/ParserTest_Parser.hpp
-
-+if THREADS
- testprogs += ThreadTest
- ThreadTest_SOURCES = src/ThreadTest/ThreadTest.cpp
-+endif
-
- # Fails to compile under gcc 4 (ambiguous calls to NullPointerException)
- # dcargill says this is obsolete and we can delete it.
diff --git a/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2161.patch b/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2161.patch
deleted file mode 100644
index f1a847c55699..000000000000
--- a/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2161.patch
+++ /dev/null
@@ -1,770 +0,0 @@
---- /dev/null 2018-12-04 16:29:46.857790926 -0500
-+++ b/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg 2018-12-07 14:18:19.183422991 -0500
-@@ -0,0 +1,767 @@
-+$quote "
-+$set 1
-+2 notation '{0}' has already been declared
-+3 attribute '{0}' has already been declared for element '{1}'
-+4 encoding '{0}' from XML declaration or manually set contradicts the auto-sensed encoding; ignoring
-+5 element '{0}' is referenced in a content model but was never declared
-+6 element '{0}' is referenced in an ATTLIST but was never declared
-+7 {0}
-+8 unable to include document '{0}'
-+9 unable to open text file target '{0}'
-+10 unable to include resource '{0}'
-+13 '{0}' is not allowed for the content of simpleType; only list, union, and restriction are allowed
-+14 globally-defined complex type must have a name
-+15 globally-declared attribute must have a name
-+16 attribute declaration must have name or 'ref' attribute
-+17 element declaration must have name or 'ref' attribute
-+18 group declaration must have name or a 'ref' attribute
-+19 attributeGroup declaration must have name or 'ref' attribute
-+20 anonymous complexType in element '{0}' has name
-+21 anonymous simpleType in element '{0}' has name
-+22 content of element declaration must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)
-+23 invalid content in simple type '{0}'; only list, union, and restriction are allowed
-+24 expected simpleType in list definition for type '{0}'
-+25 list, union, or restriction content is invalid for type '{0}'
-+26 invalid content in list definition for type '{0}'
-+27 expected simpleType in restriction definition for type '{0}'
-+28 facet '{0}' is already defined
-+29 expected simpleType in union definition for type '{0}'
-+30 content in simpleType definition is empty
-+31 expected restriction or extension in simpleContent definition
-+32 base attribute must be specified for restriction or extension definition
-+33 expected restriction or extension in complexContent definition
-+34 invalid content in 'schema' element
-+35 invalid content for type '{0}'
-+36 unknown simpleType '{0}'
-+37 unknown complexType '{0}'
-+38 prefix '{0}' can not be resolved to namespace URI
-+39 referenced element '{0}' not found
-+40 type '{0}:{1}' not found
-+41 attribute '{0}' not found
-+42 invalid element '{0}' in complex type definition
-+43 base type '{0}' not found
-+44 unable to create validator for '{0}'
-+45 invalid element following simpleContent definition in complexType
-+46 invalid element following complexContent definition in complexType
-+47 attribute '{0}' cannot have both fixed and default values
-+48 attribute '{0}' with default value must be optional
-+49 attribute '{0}' declared more than once in the same scope
-+50 attribute '{0}' cannot have both 'type' attribute and simpleType definition
-+51 simpleType '{0}:{1}' for attribute '{2}' not found
-+52 element '{0}' cannot have both fixed and default values
-+53 invalid {0} name '{1}'
-+54 element '{0}' cannot have both 'type' attribute and simpleType/complexType definition
-+55 element '{0}' has fixed or default value and must have mixed simple or simple content model
-+56 simpleType '{0}' that '{1}' extends has a value of the final attribute that does not permit extension
-+57 type '{0}' specified as the base in simpleContent definition must not have complex content
-+58 type '{0}' is a simple type and cannot be used in derivation by restriction in complexType definition
-+59 invalid element following restriction or extension definition in simpleContent
-+60 invalid element following restriction or extension definition in complexContent
-+61 duplicate annotation in type '{0}'
-+62 type '{0}' cannot be used in its own union, list, or restriction definition
-+63 block value '{0}' is invalid
-+64 final value '{0}' is invalid
-+65 element '{0}' cannot be part of the substitution group headed by '{1}'
-+66 element '{0}' has a type which does not derive from the type of the element at the head of the substitution group
-+67 element '{0}' declared more than once in the same scope
-+68 value '{0}' invalid for attribute '{1}'
-+69 attribute '{0}' has both 'ref' attribute and inline simpleType definition or 'form' or 'type' attribute
-+70 duplicate reference attribute '{0}:{1}' in complexType definition
-+71 derivation by restriction is forbidden by either base type '{0}' or globally
-+72 derivation by extension is forbidden by either base type '{0}' or globally
-+73 base type specified in complexContent definition must be a complex type
-+74 imported schema '{0}' has different target namespace '{1}'; expected '{2}'
-+75 'schemaLocation' attribute must be specified in element '{0}'
-+76 included schema '{0}' has different target namespace '{1}'
-+77 at most one annotation is allowed
-+78 content of attribute '{0}' must match (annotation?, simpleType?)
-+79 attribute '{0}' must appear in global {1} declarations
-+80 attribute '{0}' must appear in local {1} declarations
-+81 attribute '{0}' cannot appear in global {1} declarations
-+82 attribute '{0}' cannot appear in local {1} declarations
-+83 minOccurs value '{0}' must not be greater than maxOccurs value '{1}'
-+84 duplicate annotation in anyAttribute declaration
-+85 global {0} declaration must have name
-+86 circular definition in '{0}'
-+87 global type '{0}:{1}' declared more than once or also declared as {2}
-+88 global {0} '{1}' declared more than once
-+89 invalid value '{0}' for whiteSpace facet; expected 'collapse'
-+90 namespace of import declaration must be different from target namespace of importing schema
-+91 importing schema must have target namespace if namespace in import declaration is not present
-+92 element '{0}' cannot have value constraint '{1}' if its type is derived from ID
-+93 element/attribute '{0}' is of NOTATION type
-+94 element '{0}' has mixed content type and the content type's particle must be emptiable
-+95 complexType definition has empty content but base type is not empty or does not have emptiable particle
-+96 content types of base type '{0}' and derived type '{1}' must both be mixed or element-only
-+97 derived content type is not a valid restriction of base content type
-+98 derivation by extension or restriction is forbidden by either base type '{0}' or globally
-+99 item type definition must have variety of atomic or union where all member types must be atomic
-+100 group '{0}' must contain all, choice, or sequence compositor
-+101 content of attributeGroup '{0}' must match (annotation?, ((attribute | attributeGroup)*, anyAttribute?))
-+102 top-level compositor in a group must not have 'minOccurs' or 'maxOccurs' attribute
-+103 {0} '{1}:{2}' not found
-+104 group with the all compositor must only appear as content type of a complex type
-+105 group with the all compositor constituting the content type of a complex type must have both minOccurs and maxOccurs equal 1
-+106 element declaration in the all compositor must have minOccurs and maxOccurs equal 0 or 1
-+107 attribute '{0}' is already defined in base
-+108 intensional intersection of attribute wildcards must be expressible
-+109 base type does not have any attributes
-+110 attribute '{0}' has incompatible use value in the base
-+111 type of attribute '{0}' must be derived by restriction from type of the corresponding attribute in the base
-+112 attribute '{0}' does not have a fixed value or has a different fixed value from that of the base
-+113 attribute '{0}' has invalid target namespace with respect to the base wildcard constraint or base has no wildcard
-+114 attribute wildcard is present in the derived type but not in the base
-+115 attribute wildcard in the derived type is not a valid subset of that in the base
-+116 attribute '{0}' cannot have different use value in the derived type if the base attribute use value is 'prohibited'
-+117 attribute wildcard in the derived type must be identical to or stricter than the one in the base
-+118 unexpected '{0}' in the content of the all compositor; only elements are allowed
-+119 redefined schema '{0}' has a different target namespace '{1}'
-+120 simpleType in redefine must have a restriction definition
-+121 simpleType base attribute in redefine must reference the original type with the same name
-+122 complexType in redefine must have a restriction or extension definition
-+123 complexType base attribute in redefine must reference the original type with the same name
-+124 group '{0}' must have minOccurs and maxOccurs equal 1
-+125 unable to find declaration in the schema being redefined corresponding to '{0}'
-+126 group declaration in redefine may only contain one reference to itself
-+127 attributeGroup declaration in redefine may only contain one reference to itself
-+128 redefine declaration cannot contain '{0}'
-+129 notation declaration '{0}:{1}' not found
-+130 more than one identity constraint has name '{0}'
-+131 identity constraint declaration must match (annotation?, selector, field+)
-+132 key reference declaration '{0}' refers to unknown key '{1}'
-+133 field cardinalities for keyref '{0}' and key '{1}' must match
-+134 XPath expression is missing or empty
-+135 fixed value in attribute reference is not set or differs from the fixed value of '{0}'
-+136 attribute '{0}' is of ID type or type derived from ID and cannot have default/fixed value constraint
-+137 attribute '{0}' is a subsequent attribute in this complex type with a type derived from ID
-+138 attribute '{0}' is a subsequent attribute in this attribute group with a type derived from ID
-+139 empty value illegal for 'targetNamespace' attribute; target namespace must be absent or contain non-empty value
-+140 {0}
-+141 '{0}' has already been included or redefined
-+142 namespace '{0}' is referenced without import declaration
-+143 all compositor that is part of a complex type definition must constitute the entire content of the definition
-+144 annotation can only contain appinfo and documentation declarations
-+145 invalid facet name '{0}'
-+146 root element name of XML Schema document must be 'schema'
-+147 circular substitution group in element '{0}'
-+148 element '{0}' must be from the XML Schema namespace
-+149 target namespace of attribute '{0}' cannot be http://www.w3.org/2001/XMLSchema-instance
-+150 invalid namespace declaration
-+151 namespace fix-up cannot be performed on DOM Level 1 node
-+152 more than one anyAttribute declaration found in complex type declaration
-+153 anyAttribute must not be followed by other declarations
-+156 parser has encountered more than '{0}' entity expansions in the document; this is the limit imposed by the application
-+157 expected comment or CDATA section
-+158 attribute name expected
-+159 notation name expected
-+160 illegal repetition of elements in mixed content model
-+161 default attribute declaration expected
-+162 equal sign expected
-+163 element name expected
-+164 comment must start with <!--
-+165 invalid document structure
-+166 expected version, encoding, or standalone declaration
-+167 invalid XML version declaration
-+168 unsupported XML version '{0}'
-+169 unterminated XML declaration
-+170 invalid XML encoding declaration '{0}'
-+171 invalid standalone declaration
-+172 unterminated comment
-+173 processing instruction name expected
-+174 unterminated processing instruction
-+175 invalid character 0x{0}
-+176 unterminated start tag '{0}'
-+177 attribute value expected
-+178 unterminated end tag '{0}'
-+179 expected type for attribute '{0}' of element '{1}'
-+180 expected end of tag '{0}'
-+181 expected tag name, comment, PI, or other markup
-+182 invalid content after root element's end tag
-+183 comment expected
-+184 comment or processing instruction expected
-+185 whitespace expected
-+186 expected root element in DOCTYPE declaration
-+187 quoted string expected
-+188 public id expected
-+189 invalid character 0x{0} in public id
-+190 unterminated DOCTYPE declaration
-+191 invalid character 0x{0} in internal subset
-+192 unexpected whitespace
-+193 invalid character 0x{1} in attribute value '{0}'
-+194 markup declaration expected
-+195 TEXT declaration is illegal at this point
-+196 conditional section in internal subset
-+197 parameter entity name expected
-+198 unterminated entity declaration '{0}'
-+199 invalid character reference
-+200 unterminated character reference
-+201 expected entity name for reference
-+202 entity '{0}' not found
-+203 unparsed entity reference '{0}' is invalid at this point
-+204 unterminated entity reference '{0}'
-+205 recursive entity expansion '{0}'
-+206 partial markup in entity value
-+207 unterminated element declaration '{0}'
-+208 expected content specification for element '{0}'
-+209 '*' expected
-+210 mixed content model '{0}' not terminated properly
-+211 system or public id expected
-+212 unterminated notation declaration
-+213 expected ',', '|', or ')'
-+214 expected '|' or ')'
-+215 expected ',', '|', or ')' in content model of element '{0}'
-+216 expected enumeration value for attribute '{0}'
-+217 expected '|' or ')'
-+218 unterminated entity literal
-+219 unmatched end tag detected
-+220 '(' expected
-+221 attribute '{0}' is already specified for element '{1}'
-+222 '<' character cannot be used in attribute value '{0}'; use &lt; instead
-+223 leading surrogate character is not followed by a legal second character
-+224 expected ']]>' sequence to end conditional section
-+225 expected INCLUDE or IGNORE at this point
-+226 expected '[' to follow INCLUDE or IGNORE
-+227 unexpected end of entity '{0}'
-+228 parameter entity propagated out of internal/external subset
-+229 unmatched ']' character detected
-+230 parameter entity references are not allowed inside markup in internal subset
-+231 entity propagated out of the content section into miscellaneous
-+232 expected &# to be followed by a numeric character value
-+233 '[' expected
-+234 ']]>' sequence is not allowed in character data
-+235 '--' sequence is illegal in comment
-+236 unterminated CDATA section
-+237 NDATA expected
-+238 NDATA is illegal for parameter entities
-+239 hex radix character references must use 'x', not 'X'
-+240 {0} declaration already seen
-+241 XML declarations must be in this order: version, encoding, standalone
-+242 external entity cannot be referred to from attribute value
-+243 XML or TEXT declaration must start with '<?xml ', not '<?XML '
-+244 expected literal entity value or public/system id
-+245 '{0}' is not a valid digit for the specified radix
-+246 input ended before all started tags were ended; last tag started is '{0}'
-+247 nested CDATA section illegal
-+248 prefix '{0}' can not be resolved to namespace URI
-+249 start and the end tags are in different entities
-+250 XML document cannot be empty
-+251 CDATA section is illegal outside the root element
-+252 unexpected trailing surrogate character
-+253 processing instruction cannot start with 'xml'
-+254 XML or TEXT declaration must start at line 1, column 1
-+255 version declaration is required in XML declaration
-+256 standalone declaration is only legal in the main XML entity
-+257 encoding declaration is required in TEXT declaration
-+258 colon is illegal in names when namespaces are enabled
-+259 {0}
-+260 schemaLocation does not contain namespace-location pairs
-+261 fatal error during schema scan
-+262 reference to external entity declaration '{0}' is illegal in standalone document
-+263 partial markup in parameter entity replacement text in complete declaration
-+264 invalid namespace value in prefix-namespace mapping '{0}'
-+265 prefix 'xmlns' cannot be explicitly bound to namespace
-+266 namespace for 'xmlns' cannot be explicitly bound to prefix
-+267 prefix 'xml' cannot be bound to namespace other than its canonical namespace
-+268 namespace for 'xml' cannot be bound to prefix other than 'xml'
-+269 element '{0}' cannot have 'xmlns' as its prefix
-+270 restriction must contain simpleType definition
-+271 invalid root element '{0}' in DOCTYPE declaration
-+272 invalid element name '{0}'
-+273 invalid attribute name '{0}'
-+274 invalid entity reference name '{0}'
-+275 DOCTYPE declaration already seen
-+276 fallback element is not a direct child of include element
-+277 include element without 'href' attribute
-+278 include element with XPointer specification; XPointer is not yet supported
-+279 invalid 'parse' attribute value '{0}'; expected 'text' or 'xml'
-+280 multiple fallback elements in document '{0}'
-+281 include failed and no fallback element found in document '{0}'
-+282 circular inclusion in document '{0}'
-+283 self-inclusion in document '{0}'
-+284 element '{0}' is not allowed as a child of include element
-+285 included notation '{0}' conflicts with notation already defined
-+286 included entity '{0}' conflicts with entity already defined
-+
-+
-+$set 2
-+2 no declaration found for element '{0}'
-+3 no declaration found for attribute '{0}'
-+4 notation '{0}' is referenced but was never declared
-+5 root element differs from that declared in DOCTYPE
-+6 missing required attribute '{0}'
-+7 element '{0}' is not allowed for content model '{1}'
-+8 ID attribute must be #IMPLIED or #REQUIRED
-+9 attribute cannot have empty value
-+10 element '{0}' has already been declared
-+11 element '{0}' has more than one ID attribute
-+12 ID value '{0}' has already been used
-+13 ID attribute '{0}' is referenced but was never declared
-+14 attribute '{0}' refers to undeclared notation '{1}'
-+15 element '{0}' is specified in DOCTYPE but was never declared
-+16 empty content is not valid for content model '{0}'
-+17 attribute '{0}' is not declared for element '{1}'
-+18 value '{0}' for attribute '{1}' of type ENTITY/ENTITIES must refer to external, unparsed entity
-+19 attribute '{0}' refers to unknown entity '{1}'
-+20 attribute of type ID/IDREF/IDREFS/ENTITY/ENTITIES/NOTATION cannot contain colon when namespaces are enabled
-+21 missing elements in content model '{0}'
-+22 no character data is allowed by content model
-+23 value '{0}' for attribute '{1}' does not match its type's defined enumeration or notation list
-+24 value '{0}' for attribute '{1}' is invalid Name or NMTOKEN value
-+25 attribute '{0}' does not allow multiple values
-+26 attribute '{0}' has value '{1}' that does not match its #FIXED value '{2}'
-+27 element types cannot be duplicated in mixed content model
-+28 {0} is not supported
-+29 '{0}' is not allowed in the {1} compositor; only element, group, choice, sequence, and any are allowed
-+30 base type '{0}' not found in '{1}' definition
-+31 {0} declaration with 'ref' attribute cannot have content
-+32 {0}
-+33 prohibited attribute '{0}' is present
-+34 illegal 'xml:space' declaration
-+35 schema document '{0}' has different target namespace from the one specified in instance document '{1}'
-+36 element '{0}' is of simple type and cannot have elements in its content
-+37 unable to find validator for simple type of element '{0}'
-+38 grammar not found for namespace '{0}'
-+39 {0}
-+40 'xsi:nil' specified for non-nillable element '{0}'
-+41 element '{0}' is nil and must be empty
-+42 content of element '{0}' differs from its declared fixed value
-+43 unable to find validator for simple type of attribute '{0}'
-+44 error during schema scan
-+45 element '{0}' must be qualified
-+46 element '{0}' must be unqualified
-+47 reference to external entity declaration '{0}' is not allowed in standalone document
-+48 attribute '{0}' in element '{1}' has default value and must be specified in standalone document
-+49 attribute '{0}' must not be changed by normalization in standalone document
-+50 whitespace must not occur between externally declared elements with element content in standalone document
-+51 entity '{0}' not found
-+52 partial markup in parameter entity replacement text
-+53 failed to validate '{0}'
-+54 complex type '{0}' violates the unique particle attribution rule in its components '{1}' and '{2}'
-+55 abstract type '{0}' cannot be used in 'xsi:type'
-+56 element '{0}' is abstract; use non-abstract member of its substitution group instead
-+57 type of element '{0}' is abstract; use 'xsi:type' to specify non-abstract type instead
-+58 type '{0}' specified in 'xsi:type' cannot be resolved
-+59 type '{0}' specified in 'xsi:type' does not derive from type of element '{1}'
-+60 element '{0}' does not permit substitution
-+61 complex type '{0}' does not permit substitution
-+62 attribute '{0}' must be qualified
-+63 attribute '{0}' must be unqualified
-+64 identity constraint field matches more than one value within the scope of its selector; field must match unique value
-+65 unknown identity constraint field
-+66 element '{0}' has identity constraint key with no value
-+67 element '{0}' does not have enough values for identity constraint key '{1}'
-+68 element '{0}' declares identity constraint key that matches nillable element
-+69 element '{0}' declares duplicate identity constraint unique values
-+70 element '{0}' declares duplicate identity constraint key values
-+71 keyref '{0}' refers to out of scope key/unique
-+72 identity constraint key for element '{0}' not found
-+73 non-whitespace characters are not allowed in schema declarations other than appinfo and documentation
-+74 element '{0}' declared EMPTY but has attribute '{1}' of type NOTATION
-+75 element '{0}' declared EMPTY and cannot have content, not even entity references, comments, PIs, or whitespaces
-+76 element '{0}' has more than one attribute of type NOTATION
-+77 attribute '{0}' has non-distinct token '{1}'
-+78 content model of element '{0}' does not allow escaped whitespaces
-+
-+
-+$set 3
-+2 unable to open primary document entity '{0}'
-+5 index is beyond array bounds
-+6 new array size is less than the old
-+7 index is beyond maximum attribute index
-+8 invalid AttType value
-+9 invalid DefAttType value
-+10 bit index is beyond set size
-+11 bit sets have different sizes
-+12 no more buffers available
-+13 buffer is not found in the manager's pool
-+14 NULL pointer
-+15 binary operation node has unary node type
-+16 content type must be mixed or children
-+17 PCDATA node is illegal at this point
-+18 unary operation node has binary node type
-+19 unknown content model type
-+20 unknown content spec type
-+21 parent element has no content spec node
-+22 invalid spec type for '{0}'
-+23 unknown creation reason value
-+24 element stack is empty
-+25 pop operation requested on empty stack
-+26 parent operation requested with only one element in stack
-+27 no more elements in enumerator
-+28 unable to open file '{0}'
-+29 unable to query file position
-+30 unable to close file
-+31 unable to seek to the end of file
-+32 unable to seek to the required position in file
-+33 unable to duplicate handle
-+34 unable to read data from file
-+35 unable to write data to file
-+36 unable to reset file position to the beginning
-+37 unable to get file size
-+38 unable to determine file base pathname
-+39 parsing in progress
-+40 DOCTYPE declaration was seen but installed validator does not support DTD
-+41 unable to open DTD document '{0}'
-+42 unable to open external entity '{0}'
-+43 unexpected end of input
-+44 zero hash modulus
-+45 hashing key produced invalid hash
-+46 no such key in hash table
-+47 unable to destroy mutex
-+48 internal error in NetAccessor
-+49 NetAccessor is unable to determine length of remote file
-+50 unable to initialize NetAccessor
-+51 unable to resolve host/address '{0}'
-+52 unable to create socket for URL '{0}'
-+53 unable to connect socket for URL '{0}'
-+54 unable to write to socket for URL '{0}'
-+55 unable to read from socket for URL '{0}'
-+56 specified HTTP method is not supported by NetAccessor
-+57 element '{0}' is already in pool
-+58 invalid pool element id
-+59 zero hash modulus
-+60 reader id not found
-+61 invalid auto encoding value
-+62 unable to decode first line in entity '{0}'
-+63 XML or TEXT declaration '{0}' cannot have NEL or lsep
-+64 current transcoding service does not support source offset information
-+65 EBCDIC file must provide encoding declaration
-+66 unable to open primary document entity '{0}'
-+67 unbalanced start/end tags
-+68 call to scanNext is illegal at this point
-+69 index is past top of stack
-+70 empty stack
-+71 target buffer cannot have zero max size
-+72 unsupported radix; expected 2, 8, 10, or 16
-+73 target buffer is too small
-+74 start index is past the end of string
-+75 string representation overflows output binary result
-+76 illegal string pool id
-+77 char 0x{0} is not representable in '{1}' encoding
-+78 invalid multi-byte sequence
-+79 code point 0x{0} is invalid for '{1}' encoding
-+80 leading surrogate followed by invalid trailing surrogate
-+81 unable to create converter for '{0}' encoding
-+82 malformed URL
-+83 unsupported protocol in URL
-+84 URL protocol '{0}' is unsupported
-+85 missing protocol prefix
-+86 expected '//' after protocol
-+87 base part of URL cannot be relative
-+88 port field must be 16-bit decimal number
-+89 invalid byte '{1}' at position {0} of a {2}-byte sequence
-+90 invalid bytes '{0}' and '{1}' of a 3-byte sequence
-+91 irregular bytes '{0}' and '{1}' of a 3-byte sequence
-+92 invalid bytes '{0}' and '{1}' of a 4-byte sequence
-+93 exceeded byte limit at byte '{0}' in a {1}-byte sequence
-+94 index is beyond vector bounds
-+95 invalid element id
-+96 internal subset is not allowed when reusing the grammar
-+97 unknown recognizer encoding
-+98 illegal character at offset {0} in regular expression '{1}'
-+99 invalid reference number
-+100 character expected after backslash
-+101 unexpected '?'; '(?:', '(?=', '(?!', '(?<', '(?#', or '(?>' expected
-+102 '(?<=' or '(?<!' expected
-+103 unterminated comment
-+104 ')' expected
-+105 unexpected end of pattern in modifier group
-+106 ':' expected
-+107 unexpected end of pattern in conditional group
-+108 back reference, anchor, lookahead, or lookbehind expected in conditional pattern
-+109 more than three choices in conditional group
-+110 character in the U+0040-U+005f range must follow '\c'
-+111 '{' expected before category character
-+112 property name must be closed with '}'
-+113 unexpected meta character
-+114 unknown property
-+115 POSIX character class must be closed with ':]'
-+116 unexpected end of pattern in character class
-+117 unknown name for POSIX character class
-+118 ']' expected
-+119 '{0}' is invalid character range; use '\{1}' instead
-+120 '[' expected
-+121 ')', '-[', '+[', or '&[' expected
-+122 range end code point '{0}' is less than start code point '{1}'
-+123 invalid Unicode hex notation
-+124 '\ x{' must be closed with '}'
-+125 invalid Unicode code point
-+126 anchor cannot be present at this point
-+127 '{0}' is invalid character escape sequence
-+128 invalid quantifier in '{0}'; digit expected
-+129 invalid quantifier in '{0}'; invalid quantity or missing '}'
-+130 invalid quantifier in '{0}'; digit or '}' expected
-+131 invalid quantifier in '{0}'; min quantity must be less than or equal max quantity
-+132 invalid quantifier in '{0}'; quantity value overflow
-+133 XML Schema was seen but installed validator does not support XML Schema
-+134 SubstitutionGroupComparator has no grammar resolver
-+135 invalid length value '{0}'
-+136 invalid maxLength value '{0}'
-+137 invalid minLength value '{0}'
-+138 length value '{0}' must be a non-negative integer
-+139 maxLength value '{0}' must be a non-negative integer
-+140 minLength value '{0}' must be a non-negative integer
-+141 both length and maxLength cannot be present at the same time
-+142 both length and minLength cannot be present at the same time
-+143 maxLength value '{0}' must be greater than minLength value '{1}'
-+144 invalid facet tag '{0}'
-+145 length value '{0}' must be equal to length value '{1}' in the base
-+146 minLength value '{0}' must be greater than or equal to minLength value '{1}' in the base
-+147 minLength value '{0}' must be less than or equal to maxLength value '{1}' in the base
-+148 maxLength value '{0}' must be less than or equal to maxLength value '{1}' in the base
-+149 maxLength value '{0}' must be greater than or equal to minLength value '{1}' in the base
-+150 length value '{0}' must be greater than or equal to minLength value '{1}' in the base
-+151 length value '{0}' must be less than or equal to maxLength value '{1}' in the base
-+152 minLength value '{0}' must be less than or equal to length value '{1}' in the base
-+153 maxLength value '{0}' must be greater than or equal to length value '{1}' in the base
-+154 enumeration value '{0}' must be from the value space of the base
-+155 whiteSpace value '{0}' must be one of 'preserve', 'replace', or 'collapse'
-+156 whiteSpace value is 'preserve' or 'replace' while base type whiteSpace value is 'collapse'
-+157 whiteSpace value is 'preserve' while base type whiteSpace value is 'replace'
-+158 invalid maxInclusive value '{0}'
-+159 invalid maxExclusive value '{0}'
-+160 invalid minInclusive value '{0}'
-+161 invalid minExclusive value '{0}'
-+162 invalid totalDigits value '{0}'
-+163 invalid fractionDigits value '{0}'
-+164 totalDigits value '{0}' must be a positive integer
-+165 fractionDigits value '{0}' must be a non-negative integer
-+166 both maxInclusive and maxExclusive cannot be present at the same time
-+167 both minInclusive and minExclusive cannot be present at the same time
-+168 maxExclusive value '{0}' must be greater than minExclusive value '{1}'
-+169 maxExclusive value '{0}' must be greater than minInclusive value '{1}'
-+170 maxInclusive value '{0}' must be greater than minExclusive value '{1}'
-+171 maxInclusive value '{0}' must be greater than minInclusive value '{1}'
-+172 totalDigits value '{0}' must be greater than fractionDigits value '{1}'
-+173 maxInclusive value '{0}' must be less than maxExclusive value '{1}' in the base
-+174 maxInclusive value '{0}' must be less than or equal to maxInclusive value '{1}' in the base
-+175 maxInclusive value '{0}' must be greater than or equal to minInclusive value '{1}' in the base
-+176 maxInclusive value '{0}' must be greater than minExclusive value '{1}' in the base
-+177 maxExclusive value '{0}' must be less than or equal to maxExclusive value '{1}' in the base
-+178 maxExclusive value '{0}' must be less than or equal to maxInclusive value '{1}' in the base
-+179 maxExclusive value '{0}' must be greater than minInclusive value '{1}' in the base
-+180 maxExclusive value '{0}' must be greater than minExclusive value '{1}' in the base
-+181 minExclusive value '{0}' must be less than maxExclusive value '{1}' in the base
-+182 minExclusive value '{0}' must be less than or equal to maxInclusive value '{1}' in the base
-+183 minExclusive value '{0}' must be greater than minInclusive value '{1}' in the base
-+184 minExclusive value '{0}' must be greater than minExclusive value '{1}' in the base
-+185 minInclusive value '{0}' must be less than maxExclusive value '{1}' in the base
-+186 minInclusive value '{0}' must be less than or equal to maxInclusive value '{1}' in the base
-+187 minInclusive value '{0}' must be greater than or equal to minInclusive value '{1}' in the base
-+188 minInclusive value '{0}' must be greater than minExclusive value '{1}' in the base
-+189 maxInclusive value '{0}' must be from the base type value space
-+190 maxExclusive value '{0}' must be from the base type value space
-+191 minInclusive value '{0}' must be from the base type value space
-+192 minExclusive value '{0}' must be from the base type value space
-+193 totalDigits value '{0}' must be less than or equal to totalDigits value '{1}' in the base
-+194 fractionDigits value '{0}' must be less than or equal to totalDigits value '{1}' in the base
-+195 fractionDigits value '{0}' must be less than or equal to fractionDigits value '{1}' in the base
-+196 maxInclusive value '{0}' must be equal to fixed maxInclusive value '{1}' in the base
-+197 maxExclusive value '{0}' must be equal to fixed maxExclusive value '{1}' in the base
-+198 minInclusive value '{0}' must be equal to fixed minInclusive value '{1}' in the base
-+199 minExclusive value '{0}' must be equal to fixed minExclusive value '{1}' in the base
-+200 totalDigits value '{0}' must be equal to fixed totalDigits value '{1}' in the base
-+201 fractionDigits value '{0}' must be equal to fixed fractionDigits value '{1}' in the base
-+202 maxLength value '{0}' must be equal to fixed maxLength value '{1}' in the base
-+203 minLength value '{0}' must be equal to fixed minLength value '{1}' in the base
-+204 whiteSpace value '{0}' must be equal to fixed whiteSpace value '{1}' in the base
-+205 internal error while processing fixed facet
-+206 list itemType is empty
-+207 union memberTypes is empty
-+208 restriction union base is empty
-+209 restriction union base is '{0}' instead of union
-+210 value '{0}' does not match regular expression facet '{1}'
-+211 value '{0}' is invalid Base64-encoded binary
-+212 value '{0}' is invalid Hex-encoded binary
-+213 value '{0}' has length '{1}' which exceeds maxLength facet value '{2}'
-+214 value '{0}' has length '{1}' which is less than minLength facet value '{2}'
-+215 value '{0}' has length '{1}' which is not equal to length facet value '{2}'
-+216 value '{0}' not in enumeration
-+217 value '{0}' has '{1}' total digits which exceeds totalDigits facet value '{2}'
-+218 value '{0}' has '{1}' fraction digits which exceeds fractionDigits facet value '{2}'
-+219 value '{0}' must be less than or equal to maxInclusive facet value '{1}'
-+220 value '{0}' must be less than maxExclusive facet value '{1}'
-+221 value '{0}' must be greater than or equal to minInclusive facet value '{1}'
-+222 value '{0}' must be greater than or equal to minExclusive facet value '{1}'
-+223 value '{0}' is not whitespace replaced
-+224 value '{0}' is not whitespace collapsed
-+225 value '{0}' is invalid NCName
-+226 value '{0}' is invalid {1}
-+227 ID value '{0}' is not unique
-+228 value '{0}' is invalid ENTITY
-+229 value '{0}' is invalid QName
-+230 NOTATION '{0}' must be valid QName
-+231 value '{0}' does not match any member types of the union
-+232 value '{0}' is invalid anyURI
-+233 empty string encountered
-+234 string contains only whitespaces
-+235 more than one decimal point encountered
-+236 invalid character encountered
-+237 NULL pointer encountered
-+238 unable to construct URI with NULL/empty {0}
-+239 {0} '{1}' can only be set for a generic URI
-+240 {0} contains invalid escape sequence '{1}'
-+241 {0} contains invalid character '{1}'
-+242 {0} cannot be NULL
-+243 '{1}' is not conformant to {0}
-+244 no scheme found in URI
-+245 {0} '{1}' may not be specified if host is not specified
-+246 {0} '{1}' may not be specified if path is not specified
-+247 port number '{0}' must be in the (0,65535) range
-+248 internal error while validating '{0}'
-+249 result not set
-+250 internal error in CompactRanges
-+251 mismatched type in MergeRanges
-+252 internal error in SubtractRanges
-+253 internal error in IntersectRanges
-+254 argument must be RangeToken
-+255 invalid category name '{0}'
-+256 keyword '{0}' not found
-+257 reference number must be greater than zero
-+258 option '{0}' unknown
-+259 unknown token type
-+260 unable to get RangeToken for '{0}'
-+261 not supported
-+262 invalid child index
-+263 replace pattern cannot match zero-length string
-+264 invalid replace pattern
-+265 enabling NEL option can only be done once per process
-+266 out of memory
-+267 operation is not allowed
-+268 selector cannot select attribute
-+269 '|' at the beginning of XPath expression is illegal
-+270 '||' in XPath expression is illegal
-+271 missing attribute name in XPath expression
-+272 unexpected XPath token; expected qname, any, or namespace test
-+273 prefix '{0}' used in XPath expression can not be resolved to namespace URI
-+274 '::' in XPath expression is illegal
-+275 expected step following 'child' token in XPath expression
-+276 expected step following '//' in XPath expression
-+277 expected step following '/' in XPath expression
-+278 '/' not allowed after '//' in XPath expression
-+279 '//' only allowed after '.' at the beginning of XPath expression
-+280 '/' at the beginning of XPath expression is illegal
-+281 root element selection is illegal in XPath expression
-+282 empty XPath expression
-+283 XPath expression cannot end with '|'
-+284 invalid character '{0}' in XPath expression
-+285 unsupported XPath token
-+286 fractional values not supported in XPath expression
-+287 invalid dateTime value '{0}'
-+288 missing 'T' separator in dateTime value '{0}'
-+289 invalid gDay value '{0}'
-+290 invalid gMonth value '{0}'
-+291 invalid gMonthDay value '{0}'
-+292 invalid duration value '{0}'
-+293 duration value '{0}' must start with '-' or 'P'
-+294 duration value '{0}' must contain 'P'
-+295 duration value '{0}' can contain '-' only as the first character
-+296 duration value '{0}' contains invalid text before 'T'
-+297 duration value '{0}' has no time component after 'T'
-+298 duration value '{0}' must have at least one component
-+299 duration value '{0}' must have at least one digit after '.'
-+300 incomplete date value '{0}'
-+301 invalid date value '{0}'
-+302 incomplete time value '{0}'
-+303 invalid time value '{0}'
-+304 expected fractional seconds after '.' in time value '{0}'
-+305 incomplete gYearMonth value '{0}'
-+306 invalid gYearMonth value '{0}'
-+307 invalid gYear value '{0}'
-+308 year value '{0}' must follow 'CCYY' format
-+309 invalid leading zero in gYear value '{0}'
-+310 month component missing in gYearMonth value '{0}'
-+311 time zone expected in '{0}'
-+312 unexpected text after 'Z' in time zone value '{0}'
-+313 invalid time zone value '{0}'
-+314 illegal year value '{0}'
-+315 month value '{0}' must be between 1 and 12
-+316 day value '{0}' must be between 1 and {1}
-+317 hours value '{0}' must be between 0 and 23
-+318 minutes value '{0}' must be between 0 and 59
-+319 seconds value '{0}' must be between 0 and 60
-+320 minutes value '{0}' must be between 0 and 59
-+321 derived by restriction complex type has content while base type is empty
-+322 namespace of element '{0}' is not allowed by wildcard in the base
-+323 occurrence range of element '{0}' is not a valid restriction of base element's range
-+324 element name/namespace in restriction does not match that of corresponding element in the base
-+325 element '{0}' is nillable in the restriction while it is non-nillable in the base
-+326 element '{0}' is either not fixed or is fixed to a different value compared to corresponding element in the base
-+327 disallowed substitutions for element '{0}' are not a superset of those for corresponding element in the base
-+328 element '{0}' has type that does not derive from type of corresponding element in the base
-+329 element '{0}' has fewer identity constraints compared to corresponding element '{1}' in the base
-+330 element '{0}' has identity constraint that does not appear in corresponding element '{1}' in the base
-+331 occurrence range of group is not a valid restriction of occurrence range of base group
-+332 no complete functional mapping between particles
-+333 forbidden restriction of any particle
-+334 forbidden restriction of all compositor
-+335 forbidden restriction of choice compositor
-+336 forbidden restriction of sequence compositor
-+337 occurrence range of wildcard is not a valid restriction of base wildcard's range
-+338 wildcard is not a subset of corresponding wildcard in the base
-+339 occurrence range of group is not a restriction of base wildcard's range
-+340 no complete functional mapping between particles
-+341 no complete functional mapping between particles
-+342 invalid content spec node type
-+343 NodeIDMap exceeds largest available size
-+344 ProtoType has NULL class name
-+345 ProtoType name length '{0}' differs from expected '{1}'
-+346 ProtoType name '{0}' differs from expected '{1}'
-+347 InputStream read '{0}' is less than required '{1}'
-+348 InputStream read '{0}' is beyond available buffer size '{1}'
-+349 storing violation
-+350 store buffer violation '{0}', '{1}'
-+351 object tag '{0}' exceeds load pool upper boundary '{1}'
-+352 load pool size '{0}' does not tally with object count '{1}'
-+353 loading violation
-+354 load buffer violation '{0}', '{1}'
-+355 invalid class index '{0}', '{1}'
-+356 invalid checkFillBuffer size '{0}'
-+357 invalid checkFlushBuffer size '{0}'
-+358 invalid NULL pointer encountered '{0}'
-+359 createObject fails
-+360 object count '{0}' exceeds upper boundary '{1}'
-+361 grammar pool is empty
-+362 grammar pool is not empty
-+363 string pool is not empty
-+364 storer level '{0}' does not match loader level '{1}'
-+365 undefined prefix in QName value '{0}'
-+
-+
-+$set 4
-+2 dummy
-+3 index or size is negative, or greater than the allowed value
-+4 specified range of text does not fit into DOMString
-+5 attempt is made to insert a node where it is not permitted
-+6 node is used in a different document than the one that created it
-+7 invalid or illegal XML character
-+8 node does not support storing data
-+9 attempt is made to modify an object where modifications are not allowed
-+10 attempt is made to reference a node in a context where it does not exist
-+11 implementation does not support the requested type of object or operation
-+12 attempt is made to add an attribute that is already in use elsewhere
-+13 attempt is made to use an object that is not or is no longer usable
-+14 invalid or illegal string
-+15 attempt is made to modify the type of the underlying object
-+16 attempt is made to create or change an object in a way which is incorrect with respect to namespaces
-+17 parameter or requested operation is not supported by the underlying object
-+18 call to a method such as insertBefore or removeChild would make the node invalid with respect to document grammar
-+19 type of an object is incompatible with the expected type of the parameter associated with the object
-+20 dummy
-+21 boundary points of a range do not meet specific requirements
-+22 container of a range boundary point is set to a node of an invalid type or to a node with an ancestor of an invalid type
-+23 dummy
-+24 failed to load a document or an XML fragment using DOMLSParser
-+25 failed to serialize a DOM node using DOMLSSerializer
-+26 dummy
-+27 expression has incorrect syntax or contains XPath features not supported by the XML Schema XPath subset
-+28 requested result type not supported
-+29 no current result in the result object
-+30 nested CDATA sections
-+31 unrepresentable character
-+32 unrecognized node type
-+33 parsing in progress
-+34 parsing aborted by the user
-+35 parsing failed
-+
-+
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/metadata.xml b/dev-libs/xerces-c/metadata.xml
index e56c7723c484..ed5bb0ede84d 100644
--- a/dev-libs/xerces-c/metadata.xml
+++ b/dev-libs/xerces-c/metadata.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
-<longdescription>xerces-c is a C++ library specializing in XML parsing. It is released by the Apache Foundation</longdescription>
<use>
<flag name="iconv">Use iconv (<pkg>virtual/libiconv</pkg>) as message loader
and transcoder (in general it would be possible to use iconv only as
diff --git a/dev-libs/xerces-c/xerces-c-3.1.4-r1.ebuild b/dev-libs/xerces-c/xerces-c-3.1.4-r1.ebuild
deleted file mode 100644
index 7ccfabeb38f0..000000000000
--- a/dev-libs/xerces-c/xerces-c-3.1.4-r1.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools prefix
-
-DESCRIPTION="A validating XML parser written in a portable subset of C++"
-HOMEPAGE="https://xerces.apache.org/xerces-c/"
-SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
-
-IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD examples iconv icu static-libs test threads"
-
-RDEPEND="icu? ( dev-libs/icu:0= )
- curl? ( net-misc/curl )
- virtual/libiconv"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-lang/perl )"
-
-DOCS=( CREDITS KEYS NOTICE README version.incl )
-PATCHES=( "${FILESDIR}/${PN}-3.1.4-fix-build-system.patch" )
-
-pkg_setup() {
- export ICUROOT="/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_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- 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"
- elif use elibc_FreeBSD; then
- transcoder="iconv"
- else
- transcoder="gnuiconv"
- fi
- # for interix maybe: transcoder="windows"
-
- # '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
-
- econf \
- --disable-pretty-make \
- --enable-msgloader-${msgloader} \
- --enable-transcoder-${transcoder} \
- --enable-netaccessor-${netaccessor} \
- $(use_enable cpu_flags_x86_sse2 sse2) \
- $(use_enable threads) \
- $(use_enable static-libs static)
-}
-
-src_compile() {
- default
-
- if use doc; then
- cd doc || die
- doxygen || die "making docs failed"
- HTML_DOCS=( doc/html/. )
- fi
-}
-
-src_install () {
- default
-
- # 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.2-r1.ebuild b/dev-libs/xerces-c/xerces-c-3.2.2-r1.ebuild
deleted file mode 100644
index b3de8de76791..000000000000
--- a/dev-libs/xerces-c/xerces-c-3.2.2-r1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-
-inherit cmake-utils 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 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD examples iconv icu static-libs test threads"
-
-RDEPEND="icu? ( dev-libs/icu:0= )
- curl? ( net-misc/curl )
- virtual/libiconv"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-lang/perl )"
-
-DOCS=( CREDITS KEYS NOTICE README )
-PATCHES=(
- "${FILESDIR}/${P}-fix-XERCESC-2161.patch"
- "${FILESDIR}/${P}-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"
- elif use elibc_FreeBSD; then
- transcoder="iconv"
- else
- transcoder="gnuiconv"
- fi
- # for interix maybe: transcoder="windows"
-
- local mycmakeargs=(
- -Dnetwork-accessor="${netaccessor}"
- -Dmessage-loader="${msgloader}"
- -Dtranscoder="${transcoder}"
- -Dthreads:BOOL="$(usex threads)"
- -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- use doc && cmake-utils_src_compile doc-style createapidocs doc-xml
-}
-
-src_install () {
- cmake-utils_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.2.ebuild b/dev-libs/xerces-c/xerces-c-3.2.2.ebuild
deleted file mode 100644
index a7d0dd1ec9bb..000000000000
--- a/dev-libs/xerces-c/xerces-c-3.2.2.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils prefix
-
-DESCRIPTION="A validating XML parser written in a portable subset of C++"
-HOMEPAGE="https://xerces.apache.org/xerces-c/"
-SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos"
-
-IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD examples iconv icu static-libs test threads"
-
-RDEPEND="icu? ( dev-libs/icu:0= )
- curl? ( net-misc/curl )
- virtual/libiconv"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-lang/perl )"
-
-DOCS=( CREDITS KEYS NOTICE README )
-PATCHES=(
- "${FILESDIR}/${P}-fix-XERCESC-2161.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"
- elif use elibc_FreeBSD; then
- transcoder="iconv"
- else
- transcoder="gnuiconv"
- fi
- # for interix maybe: transcoder="windows"
-
- local mycmakeargs=(
- -Dnetwork-accessor="${netaccessor}"
- -Dmessage-loader="${msgloader}"
- -Dtranscoder="${transcoder}"
- -Dthreads:BOOL="$(usex threads)"
- -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-
- use doc && cmake-utils_src_compile doc-style createapidocs doc-xml
-}
-
-src_install () {
- cmake-utils_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-3.2.5.ebuild b/dev-libs/xerces-c/xerces-c-3.2.5.ebuild
new file mode 100644
index 000000000000..2ff3cf44a5bc
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.2.5.ebuild
@@ -0,0 +1,122 @@
+# 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.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 1f61a3a023de..2ff3cf44a5bc 100644
--- a/dev-libs/xerces-c/xerces-c-9999.ebuild
+++ b/dev-libs/xerces-c/xerces-c-9999.ebuild
@@ -1,36 +1,42 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
+EAPI=8
-inherit cmake-utils 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 ~x86-fbsd ~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"
SLOT="0"
+IUSE="cpu_flags_x86_sse2 curl doc examples iconv icu static-libs test threads"
-IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD examples iconv icu static-libs test threads"
+RESTRICT="!test? ( test )"
-RDEPEND="icu? ( dev-libs/icu:0= )
+RDEPEND="
curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:0= )
virtual/libiconv"
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
test? ( dev-lang/perl )"
DOCS=( CREDITS KEYS NOTICE README )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
+)
+
pkg_setup() {
export ICUROOT="${EPREFIX}/usr"
@@ -41,6 +47,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
@@ -66,14 +76,12 @@ src_configure() {
transcoder="icu"
elif use elibc_Darwin; then
transcoder="macosunicodeconverter"
- elif use elibc_FreeBSD; then
- transcoder="iconv"
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}"
@@ -81,17 +89,17 @@ src_configure() {
-Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_compile() {
- cmake-utils_src_compile
+ cmake_src_compile
- use doc && cmake-utils_src_compile doc-style createapidocs doc-xml
+ use doc && cmake_build doc-style createapidocs doc-xml
}
-src_install () {
- cmake-utils_src_install
+src_install() {
+ cmake_src_install
# package provides .pc files
find "${D}" -name '*.la' -delete || die
diff --git a/dev-libs/xml-security-c/Manifest b/dev-libs/xml-security-c/Manifest
deleted file mode 100644
index bbb89a08ea17..000000000000
--- a/dev-libs/xml-security-c/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xml-security-c-2.0.2.tar.gz 904933 BLAKE2B 8e336dd7539778411755a8d45398daa530a2f602a0d57faa29301d1f0b29ab0a61c3f47ead42b740337ea75a28e03f471ae6735d5cd66d31f56d3d5fe3405b1b SHA512 bebadee2daf27181f5bcc955a909397976e8fd2e67f5e546f5adbede0ca790647cbec9181b0b609da59d525ff3baa9f899af2a3d815bc7a2f3a57bd8b30c011b
diff --git a/dev-libs/xml-security-c/files/xml-security-c-2.0.2-libressl.patch b/dev-libs/xml-security-c/files/xml-security-c-2.0.2-libressl.patch
deleted file mode 100644
index 754ddc6bcf1d..000000000000
--- a/dev-libs/xml-security-c/files/xml-security-c-2.0.2-libressl.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
-index 2ad9da6e..a8ea9f1d 100644
---- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
-+++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
-@@ -48,7 +48,7 @@ XERCES_CPP_NAMESPACE_USE
- // Construction/Destruction
- // --------------------------------------------------------------------------------
-
--#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
- OpenSSLCryptoBase64::OpenSSLCryptoBase64() : mp_ectx(&m_ectx_store), mp_dctx(&m_dctx_store) { }
- OpenSSLCryptoBase64::~OpenSSLCryptoBase64() { }
- #else
-diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
-index c892eac4..82aeb0a1 100644
---- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
-+++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
-@@ -205,7 +205,7 @@ private :
- EVP_ENCODE_CTX *mp_ectx; // Encode context
- EVP_ENCODE_CTX *mp_dctx; // Decode context
-
--#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
- EVP_ENCODE_CTX m_ectx_store;
- EVP_ENCODE_CTX m_dctx_store;
- #endif
-diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.cpp b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
-index dfd37eb3..cf874f82 100644
---- a/xsec/enc/OpenSSL/OpenSSLSupport.cpp
-+++ b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
-@@ -273,7 +273,7 @@ int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
-
- #endif
-
--#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
- EvpEncodeCtxRAII::EvpEncodeCtxRAII() : mp_ctx(&mp_ctx_store) { };
- EvpEncodeCtxRAII::~EvpEncodeCtxRAII() { }
- #else
-diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.hpp b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
-index e3527fae..b5f67f26 100644
---- a/xsec/enc/OpenSSL/OpenSSLSupport.hpp
-+++ b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
-@@ -88,7 +88,7 @@ public:
-
- private:
- EVP_ENCODE_CTX *mp_ctx;
--#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
- EVP_ENCODE_CTX mp_ctx_store;
- #endif
- };
diff --git a/dev-libs/xml-security-c/metadata.xml b/dev-libs/xml-security-c/metadata.xml
deleted file mode 100644
index 76ed43fb1227..000000000000
--- a/dev-libs/xml-security-c/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <use>
- <flag name="xalan">Enable support for XSLT and XPath parsing
- by <pkg>dev-libs/xalan-c</pkg></flag>
- <flag name="nss">Use <pkg>dev-libs/nss</pkg> for certain crypto
- operations (configureable at runtime)</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-libs/xml-security-c/xml-security-c-2.0.2-r1.ebuild b/dev-libs/xml-security-c/xml-security-c-2.0.2-r1.ebuild
deleted file mode 100644
index 278e534140b8..000000000000
--- a/dev-libs/xml-security-c/xml-security-c-2.0.2-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Apache C++ XML security libraries"
-HOMEPAGE="https://santuario.apache.org/"
-SRC_URI="mirror://apache/santuario/c-library/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug examples libressl nss static-libs xalan"
-
-RDEPEND=">=dev-libs/xerces-c-3.2
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- nss? ( dev-libs/nss )
- xalan? ( dev-libs/xalan-c )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-PATCHES=(
- "${FILESDIR}/${P}-libressl.patch"
-)
-
-DOCS=( CHANGELOG.txt NOTICE.txt )
-
-src_configure() {
- econf \
- --with-openssl \
- $(use_enable static-libs static) \
- $(use_enable debug) \
- $(use_with xalan) \
- $(use_with nss)
-}
-
-src_install() {
- default
- if use examples ; then
- docinto examples
- dodoc xsec/samples/*.cpp
- fi
-}
diff --git a/dev-libs/xmlrpc-c/Manifest b/dev-libs/xmlrpc-c/Manifest
index 74f80e71471a..0b772b778565 100644
--- a/dev-libs/xmlrpc-c/Manifest
+++ b/dev-libs/xmlrpc-c/Manifest
@@ -1,2 +1,2 @@
-DIST xmlrpc-c-1.32.05.tar.gz 769040 BLAKE2B 6c7475114ed299ea924a4fc8da4c01a6153d03a5106c812c8e0c6cae56478b9ce4ec57a41c858bf807f7a86b2053492d9c7ea47e4083870e0606cdf320cac0cb SHA512 40813ad97010684e346ce4f286d9d7314547572f8681cf99d4c3c36cb7aa38b1cb72b84d63ab46e44282dc2bd95b85dbb022e3039700caa939469c6f7bf08d1f
-DIST xmlrpc-c-1.39.11.tgz 815463 BLAKE2B 7d169d51835e64e5ac822c48b1a6d7622293c1ce1e7379985ebf6c10f3ab331c55eeff9f655cf914c4cf7e3c107fbdbd741d664489f4ad7aadb5e576ceb383c2 SHA512 13e7ddf5264436671437c0bcd698380baca35c4469f592edf79cb4cafda254fe8207ecb992ee728ed20ec70457a20bd0cf8e180ce5cf0561a38a21f1e588f584
+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.32.05-Wimplicit.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.32.05-Wimplicit.patch
deleted file mode 100644
index affa917f7427..000000000000
--- a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.32.05-Wimplicit.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/common.mk
-+++ b/common.mk
-@@ -17,7 +17,7 @@
- # fully made.
- .DELETE_ON_ERROR:
-
--GCC_WARNINGS = -Wall -W -Wno-uninitialized -Wundef -Wimplicit \
-+GCC_WARNINGS = -Wall -W -Wno-uninitialized -Wundef \
- -Wno-unknown-pragmas
- # We need -Wwrite-strings after we fix all the missing consts
- #
-@@ -27,7 +27,7 @@
- # on -Wuninitialized for all the others.
-
- GCC_C_WARNINGS = $(GCC_WARNINGS) \
-- -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes
-+ -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -Wimplicit
-
- GCC_CXX_WARNINGS = $(GCC_WARNINGS) -Wsynth
-
diff --git a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.39.11-cplusplus.patch b/dev-libs/xmlrpc-c/files/xmlrpc-c-1.39.11-cplusplus.patch
deleted file mode 100644
index 64de06b3bb28..000000000000
--- a/dev-libs/xmlrpc-c/files/xmlrpc-c-1.39.11-cplusplus.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/lib/Makefile 2015-12-30 07:22:14.000000000 +0300
-+++ b/lib/Makefile 2017-01-10 15:17:39.410000000 +0300
-@@ -9,7 +9,10 @@
-
- # Build up SUBDIRS:
- SUBDIRS =
--SUBDIRS += util libutil libutil++
-+SUBDIRS += util libutil
-+ifeq ($(ENABLE_CPLUSPLUS),yes)
-+ SUBDIRS += libutil++
-+endif
- ifeq ($(ENABLE_ABYSS_SERVER),yes)
- SUBDIRS += abyss
- ifeq ($(ENABLE_CPLUSPLUS),yes)
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 3a51b3edd302..4fb5b568d943 100644
--- a/dev-libs/xmlrpc-c/metadata.xml
+++ b/dev-libs/xmlrpc-c/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>pinkbyte@gentoo.org</email>
@@ -7,9 +7,8 @@
</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>
- <flag name="tools">Build the xmlrpc* tools.</flag>
</use>
<upstream>
<remote-id type="sourceforge">xmlrpc-c</remote-id>
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild
deleted file mode 100644
index bcda3a805a5f..000000000000
--- a/dev-libs/xmlrpc-c/xmlrpc-c-1.32.05-r1.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-
-inherit eutils multilib
-
-# Maintainer notes: Take a look at http://xmlrpc-c.sourceforge.net/release.html
-# We use "advanced" branch, so for the current release revision take look here:
-# http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced/version.mk?view=log
-# e.g. for 1.27.05 corresponds following revision 2182 and thus following URL:
-# http://xmlrpc-c.svn.sourceforge.net/viewvc/xmlrpc-c/advanced.tar.gz?view=tar&pathrev=2182
-# Note: autogenerated tarball checksum changes every download, thus download it
-# manually and distribute on mirrors.
-# It's possible to build net-libs/libwww without ssl support, but taking into
-# account that libwww is not really well maintained and upstream is dead we
-# better use it only in case ssl is required.
-
-DESCRIPTION="A lightweigt RPC library based on XML and HTTP"
-HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~maksbotan/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="abyss +cgi +curl +cxx +libxml2 static-libs threads test tools"
-
-REQUIRED_USE="test? ( static-libs abyss curl cxx ) tools? ( curl )"
-
-DEPEND="
- sys-libs/ncurses
- sys-libs/readline
- curl? ( net-misc/curl )
- libxml2? ( dev-libs/libxml2 )"
-
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/advanced"
-
-pkg_setup() {
- use curl || ewarn "Curl support disabled: No client library will be built"
-}
-
-src_prepare() {
- #Bug 214137: We need to filter this.
- unset SRCDIR
-
- # Bug 255440
- export LC_ALL=C
- export LANG=C
-
- epatch "${FILESDIR}"/${PN}-1.32.05-Wimplicit.patch
- sed -i \
- -e "/CFLAGS_COMMON/s|-g -O3$||" \
- -e "/CXXFLAGS_COMMON/s|-g$||" \
- "${S}"/common.mk || die
-
- export LADD=${LDFLAGS} # Respect the user's LDFLAGS.
-
- use static-libs || { sed \
- -e '/\(^TARGET_STATIC_LIBRARIES =\)/{s:\(^TARGET_STATIC_LIBRARIES =\).*:\1:;P;N;d;}' \
- -i common.mk || die; }
-}
-
-src_configure() {
- #Disable libwww support due GBZ #409549 and #320253
-
- econf --disable-wininet-client \
- $(use_enable libxml2 libxml2-backend) \
- --disable-libwww-client \
- --without-libwww-ssl \
- $(use_enable threads abyss-threads) \
- $(use_enable cgi cgi-server) \
- $(use_enable abyss abyss-server) \
- $(use_enable cxx cplusplus) \
- $(use_enable curl curl-client)
-}
-
-src_compile() {
- emake -r
- use tools && emake -rC "${S}"/tools
-}
-
-src_install() {
- default_src_install
- use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
-}
-
-src_test() {
- unset LDFLAGS LADD SRCDIR
- cd "${S}"/test/
- einfo "Building general tests"
- make || die "Make of general tests failed"
- einfo "Running general tests"
- ./test || die "General tests failed"
- cd "${S}"/test/cpp/
- einfo "Running C++ tests"
- ./test || die "C++ tests failed"
-}
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.39.11-r1.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.39.11-r1.ebuild
deleted file mode 100644
index 4647224d4fb0..000000000000
--- a/dev-libs/xmlrpc-c/xmlrpc-c-1.39.11-r1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-# 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"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="abyss +cgi +curl +cxx +libxml2 threads test tools"
-
-REQUIRED_USE="test? ( abyss curl cxx ) tools? ( curl )"
-
-DEPEND="
- sys-libs/ncurses:0=
- sys-libs/readline:0=
- curl? ( net-misc/curl )
- libxml2? ( dev-libs/libxml2 )"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.32.05-Wimplicit.patch"
- "${FILESDIR}/${P}-cplusplus.patch"
-)
-
-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
-
- eapply ${PATCHES[@]}
- eapply_user
-}
-
-src_configure() {
- econf \
- --disable-wininet-client \
- --disable-libwww-client \
- --without-libwww-ssl \
- $(use_enable libxml2 libxml2-backend) \
- $(use_enable threads abyss-threads) \
- $(use_enable cgi cgi-server) \
- $(use_enable abyss abyss-server) \
- $(use_enable cxx cplusplus) \
- $(use_enable curl curl-client)
-}
-
-src_compile() {
- # Parallel builds are fixed in v 1.43.x or newer
- emake -j1
- use tools && emake -rC "${S}"/tools
-}
-
-src_install() {
- default
- 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..2fc77c21f14f
--- /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="https://downloads.sourceforge.net/${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..8969179a335b
--- /dev/null
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild
@@ -0,0 +1,80 @@
+# 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="https://downloads.sourceforge.net/${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/xmlrpc-epi/Manifest b/dev-libs/xmlrpc-epi/Manifest
deleted file mode 100644
index a88f95a2f7d2..000000000000
--- a/dev-libs/xmlrpc-epi/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xmlrpc-epi-0.54.2.tar.bz2 348478 BLAKE2B 43f460445d129def3ca238747598ffd43c51e6d28ac3065bf8e0bc7b888dca77d71960346bd79b9d200d81d17df4f37be39f049f67f356f746b58d5b965c9ddb SHA512 2a8e818bd0eff4d1b0ad0c1cb26f93bc65d941096cf9f4555d1969c69601c452ab26edccee511b06efc9927c5deb7bd2a93fe44da23e5e4f78f6c77ca8e1e9c5
diff --git a/dev-libs/xmlrpc-epi/files/xmlrpc-epi-0.54.2-fix-build-system.patch b/dev-libs/xmlrpc-epi/files/xmlrpc-epi-0.54.2-fix-build-system.patch
deleted file mode 100644
index 0772836e6bae..000000000000
--- a/dev-libs/xmlrpc-epi/files/xmlrpc-epi-0.54.2-fix-build-system.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -218,8 +218,8 @@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
--SUBDIRS = src sample
--DIST_SUBDIRS = src sample
-+SUBDIRS = src
-+DIST_SUBDIRS = src
- ACLOCAL_AMFLAGS = -I m4
- CHANGE_LOG_GEN_BIN = scripts/cvs2cl.pl
- CHANGE_LOG_GEN_FLAGS = -t -r -b --accum -I ChangeLog --gmt --prune
diff --git a/dev-libs/xmlrpc-epi/metadata.xml b/dev-libs/xmlrpc-epi/metadata.xml
deleted file mode 100644
index 9c33e56d8b34..000000000000
--- a/dev-libs/xmlrpc-epi/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">xmlrpc-epi</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild b/dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild
deleted file mode 100644
index 45df6e8ea284..000000000000
--- a/dev-libs/xmlrpc-epi/xmlrpc-epi-0.54.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Epinions implementation of XML-RPC protocol in C"
-HOMEPAGE="http://xmlrpc-epi.sourceforge.net/"
-SRC_URI="mirror://sourceforge/xmlrpc-epi/${P}.tar.bz2"
-
-LICENSE="Epinions"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~x86"
-IUSE="static-libs"
-
-DEPEND="dev-libs/expat:="
-RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.54.2-fix-build-system.patch )
-
-src_configure() {
- # NOTES:
- # to prevent conflict with xmlrpc-c, headers are installed in
- # /usr/include/${PN} instead of /usr/include (bug 274291)
- econf \
- --includedir="${EPREFIX}"/usr/include/${PN} \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- # remove useless .la files
- find "${D}" -name '*.la' -delete || die
- fi
-
- docinto examples
- docompress -x /usr/share/doc/${PF}/examples
- dodoc sample/*.c sample/*.php
- dodoc -r sample/tests
-}
diff --git a/dev-libs/xmlsec/Manifest b/dev-libs/xmlsec/Manifest
index 80e759b5df25..1a4adea18094 100644
--- a/dev-libs/xmlsec/Manifest
+++ b/dev-libs/xmlsec/Manifest
@@ -1 +1,6 @@
-DIST xmlsec1-1.2.28.tar.gz 1995599 BLAKE2B 5d90646d9a72024856da2638adb6d0d00d5142f8d3eaa5b12a993e2e6ae78ad49aab69822ebe331191bf1fc5b98431b85e113545aec84e2bb7d5c5add9028df0 SHA512 17fa59e4ffee5e024caa4895e8ed21d1435f14e3a37d0ed781b1dd216333ae3b6099c460efd45d4a8097d0202522150b7b0ad543b47c1596d8473b6922270480
+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.2.39.tar.gz 2036905 BLAKE2B c1844f2068f6afe8dff3bf3fcf45a7180f09cae3418812b49b5c86b5387c795900a9ebd2077691d51d778c081f4282a54fdc11e7a54e6b8d969ef2871c2f5bb8 SHA512 bc8457bca8ada87c12d3be685bf8ad805f102b4ac1265e257ba12137e0430783973f27d22bfcb7559be5e89cb4c01b3556488fa641fc7c9d8f403972fdc8f2f7
+DIST xmlsec1-1.3.1.tar.gz 2432943 BLAKE2B 1dafdffd959579add5c579e3fa9c9f9ddc73ce4aadc6fc2139506e6e64ffcd1bbe7298786e414900eb9f33f93b0a47da64e686c499e48d4c80d81b256db6692e SHA512 7f30c15c3edcafe70fa5febaa0ba39f73f8d30525ee102b5961a658dd2842fbc58e63f7595f15b150d71bf735bfa7688c3694a191b0d475776ca26902d90d25f
+DIST xmlsec1-1.3.3.tar.gz 2435741 BLAKE2B 1b0e44a8a5185d67b8f97ec72cd8e215fe79a988eb7ade0d2890be662b693d511857b24670ec692f9452bf95ad8c53ff80c250ecbcd167742477a83e0b72fda0 SHA512 1535b6f878259914ab9574892d05c927fbcd548986cf7bcf91e435acb2cb74eb11e58163f797038ee13a11444882814b2b4318cd677053fbe52557a2e4acf68a
+DIST xmlsec1-1.3.4.tar.gz 2435656 BLAKE2B b398f970e5b201971419b537125e9a7430c8d7c1c57e193b2592ee3f01ce797993607a210e87ad44e99bc0ef49ac4c350492268a3ac3bedbb81d937d99837468 SHA512 959a97ed7d7cbdc3e5ef037b2cb4f05bda299274c09ed3dfe24f7203d97e3dfc13bf480e15a2d15bcc7893569d341204884de58cc9b462b6c29306b67672e9c7
diff --git a/dev-libs/xmlsec/files/xmlsec-1.2.28-test.patch b/dev-libs/xmlsec/files/xmlsec-1.2.28-test.patch
deleted file mode 100644
index ae80e1fa5f36..000000000000
--- a/dev-libs/xmlsec/files/xmlsec-1.2.28-test.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 3d5c9e38d9576aea252ba186dd2913c57a7a8dd8 Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Tue, 16 Apr 2019 23:07:08 +0300
-Subject: [PATCH] tests: workout test --X509-skip-strict-checks
-
-Apply --X509-skip-strict-checks parameter to verify commands.
-
-[PORT]
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
----
-diff --git a/tests/testrun.sh b/tests/testrun.sh
-index ea65802b..9950d4fb 100755
---- a/tests/testrun.sh
-+++ b/tests/testrun.sh
-@@ -59,7 +59,7 @@ if [ "z$XMLSEC_DEFAULT_CRYPTO" != "z" ] ; then
- elif [ "z$crypto" != "z" ] ; then
- xmlsec_params="$xmlsec_params --crypto $crypto"
- fi
--xmlsec_params="$xmlsec_params --X509-skip-strict-checks --crypto-config $crypto_config"
-+xmlsec_params="$xmlsec_params --crypto-config $crypto_config"
-
- #
- # Setup keys config
-@@ -308,8 +308,9 @@ execDSigTest() {
- # run tests
- if [ -n "$params1" ] ; then
- printf " Verify existing signature "
-- echo "$VALGRIND $xmlsec_app verify $xmlsec_params $params1 $full_file.xml" >> $curlogfile
-- $VALGRIND $xmlsec_app verify $xmlsec_params $params1 $full_file.xml >> $curlogfile 2>> $curlogfile
-+ params1="$(echo $params1 | sed 's/--X509-skip-strict-checks//')"
-+ echo "$VALGRIND $xmlsec_app verify --X509-skip-strict-checks $xmlsec_params $params1 $full_file.xml" >> $curlogfile
-+ $VALGRIND $xmlsec_app verify --X509-skip-strict-checks $xmlsec_params $params1 $full_file.xml >> $curlogfile 2>> $curlogfile
- printRes $expected_res $?
- if [ $? != 0 ]; then
- failures=`expr $failures + 1`
-@@ -328,8 +328,9 @@ execDSigTest() {
-
- if [ -n "$params3" -a -z "$PERF_TEST" ] ; then
- printf " Verify new signature "
-- echo "$VALGRIND $xmlsec_app verify $xmlsec_params $params3 $tmpfile" >> $curlogfile
-- $VALGRIND $xmlsec_app verify $xmlsec_params $params3 $tmpfile >> $curlogfile 2>> $curlogfile
-+ params3="$(echo $params3 | sed 's/--X509-skip-strict-checks//')"
-+ echo "$VALGRIND $xmlsec_app verify --X509-skip-strict-checks $xmlsec_params $params3 $tmpfile" >> $curlogfile
-+ $VALGRIND $xmlsec_app verify --X509-skip-strict-checks $xmlsec_params $params3 $tmpfile >> $curlogfile 2>> $curlogfile
- printRes $res_success $?
- if [ $? != 0 ]; then
- failures=`expr $failures + 1`
---
-2.21.0
-
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.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 e4ce1b03a1a5..0f981c3c9b18 100644
--- a/dev-libs/xmlsec/metadata.xml
+++ b/dev-libs/xmlsec/metadata.xml
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>crypto@gentoo.org</email>
- <name>Crypto</name>
- </maintainer>
+ <!-- maintainer-needed -->
<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>
+ <upstream>
+ <remote-id type="github">lsh123/xmlsec</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/xmlsec/xmlsec-1.2.28.ebuild b/dev-libs/xmlsec/xmlsec-1.2.28.ebuild
deleted file mode 100644
index a47903e5571f..000000000000
--- a/dev-libs/xmlsec/xmlsec-1.2.28.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~sparc x86"
-IUSE="doc gcrypt gnutls libressl nss +openssl static-libs 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? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- test? (
- nss? (
- >=dev-libs/nss-3.9[utils]
- )
- )"
-
-S="${WORKDIR}/${PN}1-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${P}-test.patch"
-)
-
-src_configure() {
- 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() {
- emake TMPFOLDER="${T}" check
-}
-
-src_install() {
- default
- find "${D}" -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.2.39.ebuild b/dev-libs/xmlsec/xmlsec-1.2.39.ebuild
new file mode 100644
index 000000000000..5fcdd6b380de
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.39.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 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.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.4.ebuild b/dev-libs/xmlsec/xmlsec-1.3.4.ebuild
new file mode 100644
index 000000000000..f0324bc08612
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.4.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/xmlwrapp/Manifest b/dev-libs/xmlwrapp/Manifest
deleted file mode 100644
index f26ae819dfd8..000000000000
--- a/dev-libs/xmlwrapp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xmlwrapp-0.8.1.tar.gz 1470707 BLAKE2B 213923b5e74f79a6d966ded4b9c9dfb5e6906bc44dd5d79099ee146f852233675d59f33908ee4a2c844332e1b3f7b064770ddcdcd2cea0745bdac6e1329ec3de SHA512 f6415c7cbbe209f7ee148eff4ee5aca4f210b2ab420dbc89b2cdbca1f270097c362ecb456b0cc72cbebc8688fbc66ee3a94c1019d80e7211a9ebe44ddbd535eb
diff --git a/dev-libs/xmlwrapp/metadata.xml b/dev-libs/xmlwrapp/metadata.xml
deleted file mode 100644
index 3bed55d09fbf..000000000000
--- a/dev-libs/xmlwrapp/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <bugs-to>https://github.com/vslavik/xmlwrapp/issues</bugs-to>
- <remote-id type="github">vslavik/xmlwrapp</remote-id>
- <remote-id type="sourceforge">xmlwrapp</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/xmlwrapp/xmlwrapp-0.8.1.ebuild b/dev-libs/xmlwrapp/xmlwrapp-0.8.1.ebuild
deleted file mode 100644
index ed8327256b08..000000000000
--- a/dev-libs/xmlwrapp/xmlwrapp-0.8.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools flag-o-matic multilib-minimal
-
-DESCRIPTION="modern style C++ library that provides a simple and easy interface to libxml2"
-HOMEPAGE="http://vslavik.github.io/xmlwrapp/"
-SRC_URI="https://github.com/vslavik/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/6.4" # subslot = SONAME(libxmlwrapp.so) + SONAME(libxsltwrapp.so)
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE="static-libs"
-
-RDEPEND="
- dev-libs/boost:=[${MULTILIB_USEDEP}]
- dev-libs/libxml2:=[${MULTILIB_USEDEP}]
- dev-libs/libxslt:=[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- sys-devel/boost-m4"
-
-src_prepare() {
- default
-
- # Unbundle boost.m4, rely on
- # sys-devel/boost-m4 instead
- rm admin/boost.m4 || die
-
- sed -i -e '/XMLWRAPP_VISIBILITY/d' configure.ac || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- # bug 619804
- local -x CXXFLAGS="${CXXFLAGS}"
- append-cxxflags -std=c++14
-
- ECONF_SOURCE=${S} econf \
- $(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/xplc/Manifest b/dev-libs/xplc/Manifest
deleted file mode 100644
index 5ca75edbf85c..000000000000
--- a/dev-libs/xplc/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST xplc-0.3.13.tar.gz 175431 BLAKE2B fb013a3e1a3c75b9de0ee8af43fce161811e5b99e5386a1ea5d0a19c36db3ec70d1cbad5d0848bb76857ecf37ee5b3006315a4663b1eb463b1915a8958ababbd SHA512 6969ed16c282589ddc285678e1c02016810f83c4c0fea373d8b7a72c97474e6cc21ca3f8f7a7a6aae814037dfae51c3a41bd39f13a67445552b6a7c1b698195d
diff --git a/dev-libs/xplc/files/xplc-0.3.13-as-needed.patch b/dev-libs/xplc/files/xplc-0.3.13-as-needed.patch
deleted file mode 100644
index 3e002db2ad00..000000000000
--- a/dev-libs/xplc/files/xplc-0.3.13-as-needed.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- config/rules.mk.orig 2006-05-06 19:28:46.000000000 +0200
-+++ config/rules.mk 2006-05-06 19:28:53.000000000 +0200
-@@ -44,7 +44,7 @@
- $(RANLIB) $@
-
- %.so:
-- $(LINK.cc) $(SHARED) $^ -o $@
-+ $(LINK.cc) $(SHARED) $^ $(LDLIBS) -o $@
-
- %.dll:
- $(LINK.cc) $(SHARED) $^ -o $@
---- xplc/vars.mk.orig 2006-05-06 19:32:06.000000000 +0200
-+++ xplc/vars.mk 2006-05-06 19:32:12.000000000 +0200
-@@ -32,7 +32,7 @@
-
- ifneq ("$(enable_loader)", "no")
- ifneq ("$(with_dlopen)", "no")
--libxplc.so: LDFLAGS+=$(with_dlopen)
-+libxplc.so: LDLIBS+=$(with_dlopen)
- endif
- endif
-
diff --git a/dev-libs/xplc/metadata.xml b/dev-libs/xplc/metadata.xml
deleted file mode 100644
index 6f5064e23b85..000000000000
--- a/dev-libs/xplc/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>cross platform lightweight components library for C++</longdescription>
- <upstream>
- <remote-id type="sourceforge">xplc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/xplc/xplc-0.3.13-r1.ebuild b/dev-libs/xplc/xplc-0.3.13-r1.ebuild
deleted file mode 100644
index 3a4f3279917b..000000000000
--- a/dev-libs/xplc/xplc-0.3.13-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=0
-
-inherit eutils
-
-DESCRIPTION="cross platform lightweight components library for C++"
-HOMEPAGE="http://xplc.sourceforge.net"
-SRC_URI="mirror://sourceforge/xplc/${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 hppa ppc sparc x86"
-IUSE=""
-
-DEPEND="virtual/pkgconfig"
-RDEPEND=""
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${FILESDIR}/${P}-as-needed.patch"
-
- #solve conflict with uuidgen utility installed by sys-fs/e2fsprogs (#116699)
- sed -i -e "s/uuidgen/xplc-uuidgen/g" -e "s/uuidcdef/xplc-uuidcdef/g" \
- uuid/{rules.mk,vars.mk} config/rules.mk \
- uuid/bin/*.1 include/xplc/*.h && \
- mv uuid/bin/uuidgen.1 uuid/bin/xplc-uuidgen.1 &&
- mv uuid/bin/uuidgen.c uuid/bin/xplc-uuidgen.c ||
- die "uuidgen rename failed"
-}
-
-src_test() {
- make tests || die "at least one test has failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
- dosym /usr/lib/pkgconfig/${P}.pc /usr/lib/pkgconfig/${PN}.pc
- dodoc LICENSE README NEWS CREDITS
-}
diff --git a/dev-libs/xxhash/Manifest b/dev-libs/xxhash/Manifest
index 86d4092ba895..be3b82a468e2 100644
--- a/dev-libs/xxhash/Manifest
+++ b/dev-libs/xxhash/Manifest
@@ -1,2 +1,2 @@
-DIST xxhash-0.6.5.tar.gz 37521 BLAKE2B cfd4268bdb9079108c436c057f37c1c23a13a89f8a3d6c936ab27d3b339dbca3fa88e8ddc4fc9878501d6875622edd2ba50f465b4c361f1eb42d8f7a8f8a6fbd SHA512 085643b52e091ac0eedd54c4459220b3643d825ca71a11e952d00ea2041c570ff57d8553d0378f34e038ca9ee3b40d2048ed02d44d5aff1fbfcbf5e642487ba0
-DIST xxhash-0.7.0.tar.gz 52372 BLAKE2B e59a80ab3970f4830d0de17d3c91de1049fd671dba777d143fae2cf372970c717b6b586bfaca13c49c7dd2f57257d41ebad500632f25bc47125570ed715a47fa SHA512 2d7a06a5cabc945ac841df4451a744f0a666e4afcce77f5eea70bd68547ac46ebf776dd0e3645ef0204c7ff1dea3f5ff8228a8d9894dae0077f865ffdc123c66
+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/metadata.xml b/dev-libs/xxhash/metadata.xml
index ffe46e89cab8..63e48a416a2a 100644
--- a/dev-libs/xxhash/metadata.xml
+++ b/dev-libs/xxhash/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>amadio@gentoo.org</email>
diff --git a/dev-libs/xxhash/xxhash-0.6.5.ebuild b/dev-libs/xxhash/xxhash-0.6.5.ebuild
deleted file mode 100644
index 7674c73b5cb2..000000000000
--- a/dev-libs/xxhash/xxhash-0.6.5.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit toolchain-funcs
-
-DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
-HOMEPAGE="http://www.xxhash.com"
-SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2 GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-fbsd ~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.7.0.ebuild b/dev-libs/xxhash/xxhash-0.7.0.ebuild
deleted file mode 100644
index 382d4b60dd12..000000000000
--- a/dev-libs/xxhash/xxhash-0.7.0.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="Extremely fast non-cryptographic hash algorithm"
-HOMEPAGE="http://www.xxhash.com"
-SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2 GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd ~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
new file mode 100644
index 000000000000..4d0291f43540
--- /dev/null
+++ b/dev-libs/xxhash/xxhash-0.8.1.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="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 ~loong ~mips 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
+
+ # link man pages by hand, bug #829159
+ dosym xxhsum.1 /usr/share/man/man1/xxh32sum.1
+ dosym xxhsum.1 /usr/share/man/man1/xxh64sum.1
+ dosym xxhsum.1 /usr/share/man/man1/xxh128sum.1
+
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
+ fi
+}
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/metadata.xml b/dev-libs/yajl/metadata.xml
index a05a0f6df056..7d75a91c8c34 100644
--- a/dev-libs/yajl/metadata.xml
+++ b/dev-libs/yajl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>ruby@gentoo.org</email>
diff --git a/dev-libs/yajl/yajl-2.1.0-r1.ebuild b/dev-libs/yajl/yajl-2.1.0-r1.ebuild
deleted file mode 100644
index 0404291809c5..000000000000
--- a/dev-libs/yajl/yajl-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib vcs-snapshot
-
-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"
-
-LICENSE="ISC"
-SLOT="0/2"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-PATCHES=( "${FILESDIR}"/${P}-uclibc.patch )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- multilib_copy_sources
-}
-
-src_test() {
- run_test() {
- cd "${BUILD_DIR}"/test/parsing
- ./run_tests.sh ./yajl_test || die
- }
- multilib_parallel_foreach_abi run_test
-}
-
-src_install() {
- cmake-multilib_src_install
-
- use static-libs || \
- find "${D}" -name libyajl_s.a -delete
-}
diff --git a/dev-libs/yajl/yajl-2.1.0-r2.ebuild b/dev-libs/yajl/yajl-2.1.0-r2.ebuild
deleted file mode 100644
index 6a64e199234d..000000000000
--- a/dev-libs/yajl/yajl-2.1.0-r2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-multilib vcs-snapshot
-
-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"
-
-LICENSE="ISC"
-SLOT="0/2"
-KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-PATCHES=( "${FILESDIR}"/${P}-uclibc.patch "${FILESDIR}"/${P}-pkg-config.patch )
-
-src_prepare() {
- cmake-utils_src_prepare
-
- multilib_copy_sources
-}
-
-src_test() {
- run_test() {
- cd "${BUILD_DIR}"/test/parsing
- ./run_tests.sh ./yajl_test || die
- }
- multilib_parallel_foreach_abi run_test
-}
-
-src_install() {
- cmake-multilib_src_install
-
- use static-libs || \
- find "${D}" -name libyajl_s.a -delete
-}
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/yaz/Manifest b/dev-libs/yaz/Manifest
index 27bc139473bc..aada9f520b75 100644
--- a/dev-libs/yaz/Manifest
+++ b/dev-libs/yaz/Manifest
@@ -1 +1,2 @@
-DIST yaz-3.0.53.tar.gz 2164681 BLAKE2B e42a97d63e031f14234258c7c44735a615ebc83774c1532d7e1b50f1f231dc933168e41a1b35a139ec193e694f6253336a666daad627a4aae9a0c7ffe34ca360 SHA512 537d54757e401c1b29ad2120209b2cd038f26ff7f43ffc3c1e22808e12a1580aedee3880478e951fd4b3057ca9af4a34afa2a64c0b8ffcbec24f76deb83ddc89
+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 a0aedfe05105..000000000000
--- a/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- yaz-3.0.47/configure.ac.orig 2009-07-08 04:58:43.000000000 -0700
-+++ yaz-3.0.47/configure.ac 2009-07-31 01:46:21.764545198 -0700
-@@ -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 aeb6974da125..7ad7fd5c5020 100644
--- a/dev-libs/yaz/metadata.xml
+++ b/dev-libs/yaz/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<use>
- <flag name="ziffy">Install ziffy, a promiscuous Z39.50 APDU sniffer</flag>
-</use>
+ <!-- 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 66af93b48754..000000000000
--- a/dev-libs/yaz/yaz-3.0.53.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils 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 hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sh ~sparc x86"
-IUSE="debug icu libressl tcpd ziffy"
-
-RDEPEND="dev-libs/libxml2
- dev-libs/libxslt
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- icu? ( dev-libs/icu:= )
- tcpd? ( sys-apps/tcp-wrappers )
- ziffy? ( net-libs/libpcap )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- dev-lang/tcl:0
- >=sys-devel/libtool-2"
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-3.0.47-icu-automagic.patch
- AT_M4DIR="m4" eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-static \
- --enable-shared \
- $(use_enable debug memdebug) \
- $(use_enable icu) \
- $(use_enable tcpd tcpd /usr)
-}
-
-src_compile() {
- emake || die "emake failed"
-}
-
-src_install() {
- local docdir="/usr/share/doc/${PF}"
- emake DESTDIR="${D}" docdir="${docdir}" install || die "install failed"
-
- dodir ${docdir}/html
- mv -f "${D}"/${docdir}/*.{html,png} "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
- mv -f "${D}"/usr/share/doc/${PN}/common "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
- rm -rf "${D}"/usr/share/doc/${PN}
-
- dodoc ChangeLog NEWS README
-}
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..66f2cfb50cf3
--- /dev/null
+++ b/dev-libs/yyjson/Manifest
@@ -0,0 +1 @@
+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.9.0.ebuild b/dev-libs/yyjson/yyjson-0.9.0.ebuild
new file mode 100644
index 000000000000..8cf40aaa1dd9
--- /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 c01be33d91b5..000000000000
--- a/dev-libs/zlog/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST zlog-v1.2.12.tar.gz 120048 BLAKE2B e9f48d8ee3e0bfc14674e96426f9343c27e0f666541b017a438800a6707bb158ca79f564e6cb10d953e4bff6dc839d76a3d3fc0f54c128bfb4b00e5fc86dbecf SHA512 4e1d773f33f9202702bb5e80f4dcc6f8ab28480a8515ad8b9562ee68703c065c2f18113124535c7163e240013ad121a6ce311a0fc04ac6c32971509ec33615ec
diff --git a/dev-libs/zlog/files/zlog-testsuite-flags.patch b/dev-libs/zlog/files/zlog-testsuite-flags.patch
deleted file mode 100644
index 4ce0a4b6d16c..000000000000
--- a/dev-libs/zlog/files/zlog-testsuite-flags.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- zlog-1.2.12.orig/test/makefile 2013-09-25 04:38:42.000000000 -0700
-+++ zlog-1.2.12/test/makefile 2018-02-13 16:59:33.812131188 -0800
-@@ -1,3 +1,6 @@
-+CFLAGS := -O2 -g
-+CC := gcc
-+
- exe = \
- test_tmp \
- test_buf \
-@@ -24,10 +27,10 @@
- all : $(exe)
-
- $(exe) : %:%.o
-- gcc -O2 -g -o $@ $^ -L../src -lzlog -lpthread -Wl,-rpath ../src
-+ $(CC) $(CFLAGS) -o $@ $^ -L../src -lzlog -lpthread -Wl,-rpath ../src
-
- .c.o :
-- gcc -O2 -g -Wall -D_GNU_SOURCE -o $@ -c $< -I. -I../src
-+ $(CC) $(CLFAGS) -Wall -D_GNU_SOURCE -o $@ -c $< -I. -I../src
-
- clean :
- rm -f press.log* *.o $(exe)
diff --git a/dev-libs/zlog/files/zlog_no_werr.patch b/dev-libs/zlog/files/zlog_no_werr.patch
deleted file mode 100644
index b01325db09d0..000000000000
--- a/dev-libs/zlog/files/zlog_no_werr.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/makefile 2016-08-11 10:40:49.466873499 +0200
-+++ b/src/makefile 2016-08-11 10:40:59.626762850 +0200
-@@ -32,7 +32,7 @@
- # Fallback to gcc when $CC is not in $PATH.
- CC:=$(shell sh -c 'type $(CC) >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
- OPTIMIZATION?=-O2
--WARNINGS=-Wall -Werror -Wstrict-prototypes -fwrapv
-+WARNINGS=-Wall -Wstrict-prototypes -fwrapv
- DEBUG?= -g -ggdb
- REAL_CFLAGS=$(OPTIMIZATION) -fPIC -pthread $(CFLAGS) $(WARNINGS) $(DEBUG)
- REAL_LDFLAGS=$(LDFLAGS) -pthread
diff --git a/dev-libs/zlog/metadata.xml b/dev-libs/zlog/metadata.xml
deleted file mode 100644
index af68f28d59c1..000000000000
--- a/dev-libs/zlog/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://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.12-r1.ebuild b/dev-libs/zlog/zlog-1.2.12-r1.ebuild
deleted file mode 100644
index cd97f558f0b0..000000000000
--- a/dev-libs/zlog/zlog-1.2.12-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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"
-
-PATCHES=(
- "${FILESDIR}/zlog_no_werr.patch"
- "${FILESDIR}/zlog-testsuite-flags.patch"
-)
-
-src_compile() {
- emake CC="$(tc-getCC)"
-}
-
-src_test () {
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" test || die "Tests failed."
-}
-
-src_install() {
- emake LIBRARY_PATH="$(get_libdir)" PREFIX="${D}/usr" install
-}
diff --git a/dev-libs/zlog/zlog-1.2.12.ebuild b/dev-libs/zlog/zlog-1.2.12.ebuild
deleted file mode 100644
index be45a805faac..000000000000
--- a/dev-libs/zlog/zlog-1.2.12.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils
-
-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"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default_src_prepare
- epatch "${FILESDIR}/zlog_no_werr.patch"
-}
-
-src_test () {
- emake test || die "Tests failed."
-}
-
-src_install() {
- emake PREFIX="${D}/usr" install
-}
diff --git a/dev-libs/zookeeper-c/Manifest b/dev-libs/zookeeper-c/Manifest
deleted file mode 100644
index e3f6cd340120..000000000000
--- a/dev-libs/zookeeper-c/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST zookeeper-3.4.10.tar.gz 35042811 BLAKE2B c17100d2179688665cfc9efededd378543492e2a839df9da7ab72097b954200c527375cadae1d7b30d83c511c21c1470d0b86a4a19df5abe0c82980920cad92f SHA512 4c54e40ac8d0b267db4a188a30e39ed0ac2c3e8a8fadaf244be45ff5adee956df28f6cb9f1eb56f175e924fa3629b64f98286a090c46764c91c017613c80a51b
-DIST zookeeper-3.4.8.tar.gz 22261552 BLAKE2B 618c46dc891888275166d4ad49fb59c9247f79c9886bdd438297ad682463d56a5088471ee5e0f8935771df9f220108d36cc78d695d6b28820f23344b4623030c SHA512 a5f0eca3c66655e0116aeddd92af228402d3d68350b30f9400b3638ef09610d903b7c87a2bb49a5594b12a4d082048c259ba3da121c1c6da4752dd5f5812bfec
-DIST zookeeper-3.4.9.tar.gz 22724574 BLAKE2B 5792b79068fb98cc0ea8ba53d41bbf7b33556c7c9eb1b042acfa2f8de45381b3f0d42360686386d7254f534639f25530911f668e5aa2dd55fd48c349c69176ea SHA512 4f3e003c6ce5e3338f642f7deaa0fd2cfd1b30591d3ed4fe880492dded6c4bf01d30483e28f3a38b43bb6d2696ff4d819fc9577733224cec07e236437e88a657
diff --git a/dev-libs/zookeeper-c/metadata.xml b/dev-libs/zookeeper-c/metadata.xml
deleted file mode 100644
index d8d5cc720330..000000000000
--- a/dev-libs/zookeeper-c/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>aballier@gentoo.org</email>
- <name>Alexis Ballier</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/zookeeper-c/zookeeper-c-3.4.10.ebuild b/dev-libs/zookeeper-c/zookeeper-c-3.4.10.ebuild
deleted file mode 100644
index 50be8b701a08..000000000000
--- a/dev-libs/zookeeper-c/zookeeper-c-3.4.10.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit flag-o-matic
-
-DESCRIPTION="C client interface to Zookeeper server"
-HOMEPAGE="https://zookeeper.apache.org/"
-SRC_URI="mirror://apache/zookeeper/zookeeper-${PV}/zookeeper-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc static-libs test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-util/cppunit )"
-
-S="${WORKDIR}/zookeeper-${PV}/src/c"
-
-src_configure() {
- # bug 652182
- append-cxxflags -std=c++11
-
- econf \
- $(use_enable static-libs static) \
- $(use_with test cppunit)
-}
-
-src_compile() {
- emake
- use doc && emake doxygen-doc
-}
-
-src_install() {
- default
- use doc && dohtml docs/html/*
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/zookeeper-c/zookeeper-c-3.4.8.ebuild b/dev-libs/zookeeper-c/zookeeper-c-3.4.8.ebuild
deleted file mode 100644
index 5d004c8938b6..000000000000
--- a/dev-libs/zookeeper-c/zookeeper-c-3.4.8.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DESCRIPTION="C client interface to Zookeeper server"
-HOMEPAGE="https://zookeeper.apache.org/"
-SRC_URI="mirror://apache/zookeeper/zookeeper-${PV}/zookeeper-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc static-libs test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-util/cppunit )"
-
-S="${WORKDIR}/zookeeper-${PV}/src/c"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with test cppunit)
-}
-
-src_compile() {
- emake
- use doc && emake doxygen-doc
-}
-
-src_install() {
- default
- use doc && dohtml docs/html/*
-}
diff --git a/dev-libs/zookeeper-c/zookeeper-c-3.4.9.ebuild b/dev-libs/zookeeper-c/zookeeper-c-3.4.9.ebuild
deleted file mode 100644
index 5d004c8938b6..000000000000
--- a/dev-libs/zookeeper-c/zookeeper-c-3.4.9.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DESCRIPTION="C client interface to Zookeeper server"
-HOMEPAGE="https://zookeeper.apache.org/"
-SRC_URI="mirror://apache/zookeeper/zookeeper-${PV}/zookeeper-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="doc static-libs test"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
- test? ( dev-util/cppunit )"
-
-S="${WORKDIR}/zookeeper-${PV}/src/c"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_with test cppunit)
-}
-
-src_compile() {
- emake
- use doc && emake doxygen-doc
-}
-
-src_install() {
- default
- use doc && dohtml docs/html/*
-}
diff --git a/dev-libs/zthread/Manifest b/dev-libs/zthread/Manifest
deleted file mode 100644
index af07a5000190..000000000000
--- a/dev-libs/zthread/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ZThread-2.3.2.tar.gz 412527 BLAKE2B f8b176a35ca2df21460825f4cf9406a0e0fdd0a320eca2ffa323c47f025fa76e087bc30e3f6f2dc061cd79b0346c023f736f5fa2d1b0829eef718197c4e50e67 SHA512 e17e12746d16f32f6f1dc8ec041795f3c05a541c015b9579252599b51de9f97dc780946e6e83b41ca78d1af892455e6f00169a089f6e1a7c3196d6a4f49a7f7b
diff --git a/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch b/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
deleted file mode 100644
index bcd9e0675979..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 577b34b74b7a73650d906f371044bfaed6e8b74c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch>
-Date: Tue, 19 Feb 2013 10:13:12 +0100
-Subject: [PATCH] Use standard automake rules rather than hand coding the
- install rules and append linker flags to LDFLAGS and not LDADD, otherwise
- --as-needed gets ignored (and possibly others).
-
----
- Makefile.am | 21 +++++----------------
- configure.ac | 1 -
- src/Makefile.am | 2 --
- 3 files changed, 5 insertions(+), 19 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 6c092cf..2d7bddf 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -24,24 +24,13 @@ LICENSE \
- MIT.TXT \
- depcomp
-
-+bin_SCRIPTS = share/zthread-config
-
--## install the config script
--install-exec-hook:
-- $(mkinstalldirs) $(bindir)
-- $(INSTALL_PROGRAM) $(top_srcdir)/share/zthread-config $(bindir)
-+aclocaldir = $(datadir)/aclocal
-+aclocal_DATA = share/zthread.m4 share/pthread.m4
-
--## install the config script & m4 macros
--install-data-hook:
-- $(mkinstalldirs) $(datadir)/aclocal
-- $(INSTALL_DATA) $(top_srcdir)/share/zthread.m4 $(datadir)/aclocal
-- $(INSTALL_DATA) $(top_srcdir)/share/pthread.m4 $(datadir)/aclocal
-- mkdir -p $(DESTDIR)$(includedir)/zthread
-- cp -pR $(top_srcdir)/include/zthread $(DESTDIR)$(includedir)/
--
--## uninstall the config script & m4 macros
--uninstall-local:
-- -rm -rf $(datadir)/aclocal/pthread.m4
-- -rm -rf $(datadir)/aclocal/zthread.m4
-+zincludedir = $(includedir)/zthread
-+zinclude_HEADERS = include/zthread/*.h
-
- distclean-local:
- -rm -rf $(top_srcdir)/$(PACKAGE)-$(VERSION).tar.gz
-diff --git a/configure.ac b/configure.ac
-index 866041b..5d32a58 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -226,7 +226,6 @@ AC_TRY_LINK( [#include <windows.h>], [_beginthreadex((void*)0, 0, 0, (void*)0, 0
-
- dnl Configure the final compiler & linker options
- COMPILER_OPTIONS="$COMPILER_OPTIONS $CXXFLAGS"
--LINKER_OPTIONS="$LINKER_OPTIONS $LDFLAGS"
-
- dnl Configured flags for compiling ZThreads
- AC_SUBST(LINKER_OPTIONS)
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 04404d6..35dc764 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -21,8 +21,6 @@ AM_CXXFLAGS = @COMPILER_OPTIONS@ @EXTRA_COMPILER_OPTIONS@
- INCLUDES = -I$(top_srcdir)/include
- SUBDIRS=.
-
--libdir=$(prefix)/lib
--
- lib_LTLIBRARIES = libZThread.la
-
- libZThread_la_LIBADD=@LINKER_OPTIONS@ @EXTRA_LINKER_OPTIONS@
---
-1.8.1.1
-
diff --git a/dev-libs/zthread/files/zthread-2.3.2-clang.patch b/dev-libs/zthread/files/zthread-2.3.2-clang.patch
deleted file mode 100644
index 13dd91ea2ca5..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-clang.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-fix compile when using clang as $CC:
-
-Based on patch from https://bugs.launchpad.net/hugin/+bug/1213585 (rebased)
-
-diff -r 2a43e83684d5 src/foreign/zthread/include/zthread/Guard.h
---- a/include/zthread/Guard.h Sat Aug 10 11:31:46 2013 +0200
-+++ b/include/zthread/Guard.h Sun Aug 18 09:46:43 2013 +0200
-@@ -108,7 +108,7 @@
- }
-
- template <class LockType>
-- static void createScope(LockHolder<LockType>& l, unsigned long ms) {
-+ static bool createScope(LockHolder<LockType>& l, unsigned long ms) {
-
- if(Scope1::createScope(l, ms))
- if(!Scope2::createScope(l, ms)) {
diff --git a/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch b/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
deleted file mode 100644
index 57b122d22c5f..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Description: Make sure to use qualified lookups.
-http://bugs.debian.org/667430
-https://bugs.gentoo.org/show_bug.cgi?id=414133
-
-Author: Cyril Brulebois <kibi@debian.org>
---- a/include/zthread/Guard.h
-+++ b/include/zthread/Guard.h
-@@ -428,7 +428,7 @@
- template <class U, class V>
- Guard(Guard<U, V>& g) : LockHolder<LockType>(g) {
-
-- LockingPolicy::shareScope(*this, extract(g));
-+ LockingPolicy::shareScope(*this, this->extract(g));
-
- }
-
-@@ -458,7 +458,7 @@
- template <class U, class V>
- Guard(Guard<U, V>& g, LockType& lock) : LockHolder<LockType>(lock) {
-
-- LockingPolicy::transferScope(*this, extract(g));
-+ LockingPolicy::transferScope(*this, this->extract(g));
-
- }
-
diff --git a/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch b/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
deleted file mode 100644
index 72163a3b12a3..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-fix m4 warnings:
-zthread.m4:34: warning: underquoted definition of AM_PATH_ZTHREAD
-pthread.m4:39: warning: underquoted definition of AM_DETECT_PTHREAD
-
---- a/share/zthread.m4
-+++ b/share/zthread.m4
-@@ -31,7 +31,7 @@
- dnl ZTHREAD_CXXFLAGS
- dnl ZTHREAD_LIBS
- dnl
--AC_DEFUN(AM_PATH_ZTHREAD,
-+AC_DEFUN([AM_PATH_ZTHREAD],
- [
-
-
---- a/share/pthread.m4
-+++ b/share/pthread.m4
-@@ -36,7 +36,7 @@
- GNU Pth can also be used if it was configured with --enable-pthread.
- EOF
-
--AC_DEFUN(AM_DETECT_PTHREAD,
-+AC_DEFUN([AM_DETECT_PTHREAD],
- [
-
- pthread_explicit="no"
diff --git a/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff
deleted file mode 100644
index 94b42eedfbf3..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff
+++ /dev/null
@@ -1,94 +0,0 @@
---- a/include/zthread/Guard.h 2008-07-22 14:46:28.000000000 +0200
-+++ b/include/zthread/Guard.h 2008-07-22 14:51:41.000000000 +0200
-@@ -491,7 +491,7 @@
-
- try {
-
-- if(!isDisabled())
-+ if(!LockHolder<LockType>::isDisabled())
- LockingPolicy::destroyScope(*this);
-
- } catch (...) { /* ignore */ }
---- a/src/MutexImpl.h 2008-07-22 14:54:40.000000000 +0200
-+++ b/src/MutexImpl.h 2008-07-22 15:03:30.000000000 +0200
-@@ -153,7 +153,7 @@
-
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List,Behavior>::ownerAcquired(self);
-
- }
-
-@@ -164,7 +164,7 @@
- _waiters.insert(self);
- m.acquire();
-
-- waiterArrived(self);
-+ MutexImpl<List, Behavior>::waiterArrived(self);
-
- {
-
-@@ -173,7 +173,7 @@
-
- }
-
-- waiterDeparted(self);
-+ MutexImpl<List, Behavior>::waiterDeparted(self);
-
- m.release();
-
-@@ -192,7 +192,7 @@
- assert(_owner == 0);
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List, Behavior>::ownerAcquired(self);
-
- break;
-
-@@ -236,7 +236,7 @@
-
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List, Behavior>::ownerAcquired(self);
-
- }
-
-@@ -253,7 +253,7 @@
-
- m.acquire();
-
-- waiterArrived(self);
-+ MutexImpl<List, Behavior>:: waiterArrived(self);
-
- {
-
-@@ -262,7 +262,7 @@
-
- }
-
-- waiterDeparted(self);
-+ MutexImpl<List, Behavior>::waiterDeparted(self);
-
- m.release();
-
-@@ -284,7 +284,7 @@
- assert(0 == _owner);
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List, Behavior>::ownerAcquired(self);
-
- break;
-
-@@ -326,7 +326,7 @@
-
- _owner = 0;
-
-- ownerReleased(impl);
-+ MutexImpl<List, Behavior>::ownerReleased(impl);
-
- // Try to find a waiter with a backoff & retry scheme
- for(;;) {
diff --git a/dev-libs/zthread/metadata.xml b/dev-libs/zthread/metadata.xml
deleted file mode 100644
index 3020b4780d3a..000000000000
--- a/dev-libs/zthread/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">zthread</remote-id>
- </upstream>
-</pkgmetadata>
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 fd36ce8012ac..000000000000
--- a/dev-libs/zthread/zthread-2.3.2-r4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eutils
-
-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"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm64 ~hppa ~mips ppc ~sparc x86"
-IUSE="debug doc kernel_linux static-libs"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-S="${WORKDIR}/${MY_P}"
-
-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
-
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #467778
-
- AT_M4DIR="share" eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable kernel_linux atomic-linux) \
- $(use_enable static-libs 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
-
- prune_libtool_files
-}
diff --git a/dev-libs/zziplib/Manifest b/dev-libs/zziplib/Manifest
index 5ec366a6c5a8..818ead106f53 100644
--- a/dev-libs/zziplib/Manifest
+++ b/dev-libs/zziplib/Manifest
@@ -1 +1,3 @@
-DIST zziplib-0.13.69.tar.gz 1132204 BLAKE2B 92e9f5e95665c7a47d1e472f570402e3c174d404abf461bed644ea8a37ff7661ee98b8fa241728aae375e32c470f2f48a817f72410eeda81a6a3be6e6bdb2635 SHA512 ade026289737f43ca92a8746818d87dd7618d473dbce159546ce9071c9e4cbe164a6b1c9efff16efb7aa0327b2ec6b34f3256c6bda19cd6e325703fffc810ef0
+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.69-SDL-test.patch b/dev-libs/zziplib/files/zziplib-0.13.69-SDL-test.patch
deleted file mode 100644
index 7f85b6864696..000000000000
--- a/dev-libs/zziplib/files/zziplib-0.13.69-SDL-test.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-this test isnt even run automatically and the dependencies are all broken,
-so just disable it and be done
-
---- zziplib-0.13.69/SDL/Makefile.am
-+++ zziplib-0.13.69/SDL/Makefile.am
-@@ -5,7 +5,7 @@
- zzipsdl_DATA = SDL_rwops_zzip.c SDL_rwops_zzip.h
-
- EXTRA_DIST = $(sdl_DATA)
--check_PROGRAMS = zzcatsdl
-+check_PROGRAMS =
-
- zzcatsdl_SOURCES = SDL_rwops_zzcat.c SDL_rwops_zzip.c
- ZZIP_CFLAGS= `export PKG_CONFIG_PATH=../zzip; pkg-config zziplib --cflags`
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 e127af637176..5b652428f205 100644
--- a/dev-libs/zziplib/metadata.xml
+++ b/dev-libs/zziplib/metadata.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+<!-- maintainer-needed -->
<upstream>
+ <remote-id type="github">gdraheim/zziplib</remote-id>
<remote-id type="sourceforge">zziplib</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/zziplib/zziplib-0.13.69.ebuild b/dev-libs/zziplib/zziplib-0.13.69.ebuild
deleted file mode 100644
index fccf9c061558..000000000000
--- a/dev-libs/zziplib/zziplib-0.13.69.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit autotools libtool flag-o-matic python-any-r1
-
-DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file"
-HOMEPAGE="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"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc sdl static-libs test"
-
-RDEPEND="
- sys-libs/zlib
- sdl? ( >=media-libs/libsdl-1.2.6 )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- virtual/pkgconfig
- test? ( app-arch/zip )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.13.69-SDL-test.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-
- python_fix_shebang .
-
- # workaround AX_CREATE_PKGCONFIG_INFO bug #353195
- sed -i \
- -e '/ax_create_pkgconfig_ldflags/s:$LDFLAGS::' \
- -e '/ax_create_pkgconfig_cppflags/s:$CPPFLAGS::' \
- configure || die
-
- # zziplib tries to install backwards compat symlinks we dont want
- sed -i -e '/^zzip-postinstall:/s|$|\ndisable-this:|' Makefile.in || die
- sed -i -e '/^install-exec-hook:/s|$|\ndisable-this:|' zzip/Makefile.in || die
-
- elibtoolize
-
- # Do an out-of-tree build as their configure will do it automatically
- # otherwise and that can lead to funky errors. #492816
- mkdir -p build
-}
-
-src_configure() {
- cd "${S}"/build
-
- append-flags -fno-strict-aliasing # bug reported upstream
- export ac_cv_path_XMLTO= # man pages are bundled in .tar's
-
- local myeconfargs=(
- $(use_enable sdl)
- $(use_enable static-libs static)
- )
-
- # Disable aclocal probing as the default path works #449156
- ECONF_SOURCE=${S} ACLOCAL=true \
- econf "${myeconfargs[@]}"
- MAKEOPTS+=' -C build'
-}
-
-src_install() {
- default
-
- # fowners fails when we don't have enough permissions (Prefix)
- if [[ ${EUID} == 0 ]] ; then
- fowners -R root /usr/share/man #321975
- fi
-
- find "${ED}" -name "*.la" -delete || die
-
- if use doc ; then
- docinto html
- dodoc -r docs/*
- fi
-}
-
-src_test() {
- # need this because `make test` will always return true
- # tests fail with -j > 1 (bug #241186)
- emake -j1 check
-}
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.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}"
+}