summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2022.01.13-r1.ebuild54
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2022.07.16.ebuild58
-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/Manifest4
-rw-r--r--dev-libs/FBGEMM/files/FBGEMM-2022.01.13-gentoo.patch65
-rw-r--r--dev-libs/FBGEMM/files/FBGEMM-2023.11.02-gentoo.patch69
-rw-r--r--dev-libs/FP16/FP16-2021.03.20-r2.ebuild58
-rw-r--r--dev-libs/FP16/FP16-2021.03.20-r4.ebuild58
-rw-r--r--dev-libs/FXdiv/FXdiv-2020.12.09-r1.ebuild41
-rw-r--r--dev-libs/FXdiv/FXdiv-2020.12.09.ebuild35
-rw-r--r--dev-libs/Ice/Ice-3.6.5-r2.ebuild336
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r1.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r2.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.10.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.8-r1.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.8-r2.ebuild6
-rw-r--r--dev-libs/Ice/Ice-3.7.8.ebuild258
-rw-r--r--dev-libs/Ice/Manifest3
-rw-r--r--dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch50
-rw-r--r--dev-libs/Ice/files/Ice-3.6.5-csharp.patch50
-rw-r--r--dev-libs/Ice/files/Ice-3.6.5-db6.patch48
-rw-r--r--dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild4
-rw-r--r--dev-libs/OpenNI/OpenNI-9999.ebuild4
-rw-r--r--dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild4
-rw-r--r--dev-libs/OpenNI2/OpenNI2-9999.ebuild4
-rw-r--r--dev-libs/aml/Manifest2
-rw-r--r--dev-libs/aml/aml-0.2.2.ebuild40
-rw-r--r--dev-libs/aml/aml-0.3.0.ebuild44
-rw-r--r--dev-libs/aml/aml-9999.ebuild14
-rw-r--r--dev-libs/aml/files/aml-0.3.0-queue.patch21
-rw-r--r--dev-libs/angelscript/Manifest2
-rw-r--r--dev-libs/angelscript/angelscript-2.35.1-r1.ebuild52
-rw-r--r--dev-libs/angelscript/angelscript-2.36.1.ebuild48
-rw-r--r--dev-libs/angelscript/files/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch30
-rw-r--r--dev-libs/angelscript/files/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch31
-rw-r--r--dev-libs/antlr-c/antlr-c-3.5.2-r2.ebuild4
-rw-r--r--dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild62
-rw-r--r--dev-libs/antlr-c/files/3.5-autoconf.patch11
-rw-r--r--dev-libs/apache-arrow/Manifest6
-rw-r--r--dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild134
-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/files/apache-arrow-14.0.1-gcc14.patch10
-rw-r--r--dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch57
-rw-r--r--dev-libs/apache-arrow/metadata.xml24
-rw-r--r--dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild2
-rw-r--r--dev-libs/appstream/Manifest2
-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.16.4-disable-Werror-flags.patch50
-rw-r--r--dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch47
-rw-r--r--dev-libs/apr-util/Manifest2
-rw-r--r--dev-libs/apr-util/apr-util-1.6.1-r10.ebuild148
-rw-r--r--dev-libs/apr-util/apr-util-1.6.3.ebuild147
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch79
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch116
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch28
-rw-r--r--dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch29
-rw-r--r--dev-libs/apr/Manifest2
-rw-r--r--dev-libs/apr/apr-1.7.0-r6.ebuild164
-rw-r--r--dev-libs/apr/apr-1.7.4-r2.ebuild162
-rw-r--r--dev-libs/apr/files/apr-1.5.0-cross-types.patch63
-rw-r--r--dev-libs/apr/files/apr-1.5.0-libtool.patch17
-rw-r--r--dev-libs/apr/files/apr-1.5.0-mint.patch22
-rw-r--r--dev-libs/apr/files/apr-1.5.0-sysroot.patch37
-rw-r--r--dev-libs/apr/files/apr-1.7.0-CVE-2021-35940.patch53
-rw-r--r--dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch64
-rw-r--r--dev-libs/apr/files/apr-1.7.0-clang-16.patch174
-rw-r--r--dev-libs/apr/files/apr-1.7.0-dev-zero.patch34
-rw-r--r--dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch23
-rw-r--r--dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch35
-rw-r--r--dev-libs/apr/files/apr-1.7.2-libtool.patch16
-rw-r--r--dev-libs/apr/files/apr-1.7.2-respect-flags.patch22
-rw-r--r--dev-libs/apr/files/apr-1.7.2-sysroot.patch37
-rw-r--r--dev-libs/apr/metadata.xml2
-rw-r--r--dev-libs/argtable/argtable-2.13-r4.ebuild49
-rw-r--r--dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch28
-rw-r--r--dev-libs/asmjit/asmjit-2021.11.13.ebuild2
-rw-r--r--dev-libs/asmjit/asmjit-2022.07.02.ebuild2
-rw-r--r--dev-libs/atcore/atcore-1.0.0.ebuild4
-rw-r--r--dev-libs/atf/atf-0.21-r2.ebuild2
-rw-r--r--dev-libs/atk/atk-2.38.0.ebuild2
-rw-r--r--dev-libs/avro-c/avro-c-1.9.1-r1.ebuild23
-rw-r--r--dev-libs/avro-c/avro-c-1.9.1-r2.ebuild23
-rw-r--r--dev-libs/aws-c-cal/metadata.xml3
-rw-r--r--dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild6
-rw-r--r--dev-libs/aws-c-common/metadata.xml3
-rw-r--r--dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild6
-rw-r--r--dev-libs/aws-c-event-stream/metadata.xml3
-rw-r--r--dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild6
-rw-r--r--dev-libs/aws-c-io/metadata.xml3
-rw-r--r--dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild6
-rw-r--r--dev-libs/aws-checksums/metadata.xml3
-rw-r--r--dev-libs/ayatana-ido/Manifest1
-rw-r--r--dev-libs/ayatana-ido/ayatana-ido-0.9.3.ebuild46
-rw-r--r--dev-libs/bcm2835/bcm2835-1.68-r1.ebuild4
-rw-r--r--dev-libs/bcm2835/bcm2835-1.71.ebuild4
-rw-r--r--dev-libs/bemenu/Manifest3
-rw-r--r--dev-libs/bemenu/bemenu-0.6.10-r1.ebuild59
-rw-r--r--dev-libs/bemenu/bemenu-0.6.10.ebuild55
-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.ebuild33
-rw-r--r--dev-libs/bemenu/metadata.xml3
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r1.ebuild6
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r2.ebuild6
-rw-r--r--dev-libs/bitset/metadata.xml5
-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-8.0.4.ebuild54
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild53
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.0.8.ebuild54
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.2.0.ebuild59
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.2.2-r1.ebuild63
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.2.2.ebuild56
-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-8.2.2-clang-15-configure.patch43
-rw-r--r--dev-libs/boost/Manifest4
-rw-r--r--dev-libs/boost/boost-1.80.0-r1.ebuild343
-rw-r--r--dev-libs/boost/boost-1.81.0-r1.ebuild341
-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.79.0-boost-mpi-python-PEP-328.patch17
-rw-r--r--dev-libs/boost/files/boost-1.79.0-context-x32.patch11
-rw-r--r--dev-libs/boost/files/boost-1.80.0-disable_icu_rpath.patch13
-rw-r--r--dev-libs/boost/files/boost-1.80.0-fix-mips1-transition.patch24
-rw-r--r--dev-libs/boost/files/boost-1.80.0-python3.11.patch33
-rw-r--r--dev-libs/boost/files/boost-1.80.0-unary-function.patch27
-rw-r--r--dev-libs/boost/files/boost-1.80.0-unordered-fix.patch192
-rw-r--r--dev-libs/boost/files/boost-1.80.0-unordered-ftm-malloc.patch21
-rw-r--r--dev-libs/boost/files/boost-1.81.0-phoenix-multiple-definitions.patch11
-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.xml1
-rw-r--r--dev-libs/botan/Manifest10
-rw-r--r--dev-libs/botan/botan-2.19.2.ebuild180
-rw-r--r--dev-libs/botan/botan-2.19.3-r2.ebuild203
-rw-r--r--dev-libs/botan/botan-2.19.3.ebuild180
-rw-r--r--dev-libs/botan/botan-2.19.4.ebuild201
-rw-r--r--dev-libs/botan/botan-3.1.1.ebuild218
-rw-r--r--dev-libs/botan/botan-3.2.0-r1.ebuild229
-rw-r--r--dev-libs/botan/botan-3.2.0-r2.ebuild229
-rw-r--r--dev-libs/botan/botan-3.3.0.ebuild224
-rw-r--r--dev-libs/botan/files/botan-3.2.0-ninja.patch20
-rw-r--r--dev-libs/boxfort/boxfort-0.1.1.ebuild4
-rw-r--r--dev-libs/boxfort/boxfort-0.1.4.ebuild6
-rw-r--r--dev-libs/busybee/Manifest1
-rw-r--r--dev-libs/busybee/busybee-0.7.0.ebuild25
-rw-r--r--dev-libs/busybee/metadata.xml8
-rw-r--r--dev-libs/c-blosc/Manifest2
-rw-r--r--dev-libs/c-blosc/c-blosc-1.21.3.ebuild53
-rw-r--r--dev-libs/c-blosc/c-blosc-1.21.5.ebuild57
-rw-r--r--dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch33
-rw-r--r--dev-libs/c-blosc2/Manifest6
-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/c-blosc2-2.6.1.ebuild60
-rw-r--r--dev-libs/c-blosc2/files/c-blosc2-2.9.3-no-unaligned.patch32
-rw-r--r--dev-libs/cJSON/Manifest2
-rw-r--r--dev-libs/cJSON/cJSON-1.7.15.ebuild30
-rw-r--r--dev-libs/cJSON/cJSON-1.7.17.ebuild30
-rw-r--r--dev-libs/capnproto/Manifest1
-rw-r--r--dev-libs/capnproto/capnproto-0.10.4-r1.ebuild46
-rw-r--r--dev-libs/capstone/Manifest2
-rw-r--r--dev-libs/capstone/capstone-5.0.1.ebuild92
-rw-r--r--dev-libs/capstone/capstone-5.0_rc2-r2.ebuild83
-rw-r--r--dev-libs/capstone/capstone-9999.ebuild26
-rw-r--r--dev-libs/capstone/files/capstone-5.0_rc2-oob-mem-access.patch40
-rw-r--r--dev-libs/capstone/files/capstone-5.0_rc2-pkgconfig.patch13
-rw-r--r--dev-libs/capstone/files/capstone-9999-werror.patch13
-rw-r--r--dev-libs/castxml/Manifest5
-rw-r--r--dev-libs/castxml/castxml-0.4.5.ebuild44
-rw-r--r--dev-libs/castxml/castxml-0.5.1-r1.ebuild48
-rw-r--r--dev-libs/castxml/castxml-0.5.1.ebuild44
-rw-r--r--dev-libs/castxml/castxml-0.6.1.ebuild48
-rw-r--r--dev-libs/castxml/castxml-0.6.2.ebuild64
-rw-r--r--dev-libs/castxml/castxml-0.6.4.ebuild64
-rw-r--r--dev-libs/castxml/castxml-0.6.5.ebuild62
-rw-r--r--dev-libs/castxml/metadata.xml5
-rw-r--r--dev-libs/cdk/Manifest8
-rw-r--r--dev-libs/cdk/cdk-5.0.20210324-r2.ebuild54
-rw-r--r--dev-libs/cdk/cdk-5.0.20211216.ebuild52
-rw-r--r--dev-libs/cdk/cdk-5.0.20221025.ebuild59
-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/cereal/cereal-1.3.2-r2.ebuild6
-rw-r--r--dev-libs/cglm/Manifest3
-rw-r--r--dev-libs/cglm/cglm-0.9.2.ebuild40
-rw-r--r--dev-libs/cglm/cglm-0.9.3.ebuild40
-rw-r--r--dev-libs/cglm/cglm-0.9.4.ebuild40
-rw-r--r--dev-libs/cglm/metadata.xml11
-rw-r--r--dev-libs/cgreen/cgreen-1.3.0.ebuild4
-rw-r--r--dev-libs/check/check-0.15.2-r1.ebuild6
-rw-r--r--dev-libs/chmlib/chmlib-0.40-r1.ebuild39
-rw-r--r--dev-libs/chmlib/chmlib-0.40-r2.ebuild40
-rw-r--r--dev-libs/chmlib/files/chmlib-0.40-clang16.patch24
-rw-r--r--dev-libs/cjose/Manifest1
-rw-r--r--dev-libs/cjose/cjose-0.6.2.2.ebuild36
-rw-r--r--dev-libs/cjose/metadata.xml14
-rw-r--r--dev-libs/clhpp/Manifest1
-rw-r--r--dev-libs/clhpp/clhpp-2.0.19.ebuild65
-rw-r--r--dev-libs/clhpp/metadata.xml11
-rw-r--r--dev-libs/clipper/Manifest1
-rw-r--r--dev-libs/clipper/clipper-6.4.2.ebuild33
-rw-r--r--dev-libs/clipper/metadata.xml17
-rw-r--r--dev-libs/concurrencykit/Manifest1
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild35
-rw-r--r--dev-libs/confuse/confuse-3.3-r1.ebuild12
-rw-r--r--dev-libs/confuse/confuse-3.3-r2.ebuild62
-rw-r--r--dev-libs/confuse/confuse-3.3.ebuild12
-rw-r--r--dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch39
-rw-r--r--dev-libs/confuse/metadata.xml7
-rw-r--r--dev-libs/cowsql/Manifest2
-rw-r--r--dev-libs/cowsql/cowsql-1.15.4.ebuild49
-rw-r--r--dev-libs/cowsql/cowsql-1.15.6.ebuild53
-rw-r--r--dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch20
-rw-r--r--dev-libs/cowsql/metadata.xml25
-rw-r--r--dev-libs/cppcodec/cppcodec-0.2.ebuild4
-rw-r--r--dev-libs/cpuinfo/Manifest2
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild42
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2022.03.26.ebuild36
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2022.08.19.ebuild42
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild43
-rw-r--r--dev-libs/cpuinfo/files/cpuinfo-2023.01.13-test.patch18
-rw-r--r--dev-libs/crc32c/crc32c-1.1.2-r1.ebuild41
-rw-r--r--dev-libs/crc32c/crc32c-1.1.2-r2.ebuild42
-rw-r--r--dev-libs/crc32c/metadata.xml3
-rw-r--r--dev-libs/criterion/criterion-2.4.0.ebuild6
-rw-r--r--dev-libs/criterion/criterion-2.4.1.ebuild18
-rw-r--r--dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild2
-rw-r--r--dev-libs/crossguid/crossguid-0_pre20150817.ebuild2
-rw-r--r--dev-libs/crypto++/Manifest4
-rw-r--r--dev-libs/crypto++/crypto++-8.6.0.ebuild66
-rw-r--r--dev-libs/crypto++/crypto++-8.9.0.ebuild73
-rw-r--r--dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch24
-rw-r--r--dev-libs/crypto++/metadata.xml3
-rw-r--r--dev-libs/cudnn-frontend/Manifest2
-rw-r--r--dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/metadata.xml11
-rw-r--r--dev-libs/cudnn/Manifest1
-rw-r--r--dev-libs/cudnn/cudnn-8.8.0.121.ebuild29
-rw-r--r--dev-libs/cutlass/Manifest1
-rw-r--r--dev-libs/cutlass/cutlass-3.3.0.ebuild39
-rw-r--r--dev-libs/cutlass/metadata.xml11
-rw-r--r--dev-libs/cxxopts/Manifest1
-rw-r--r--dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild37
-rw-r--r--dev-libs/cxxopts/cxxopts-3.0.0.ebuild37
-rw-r--r--dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild39
-rw-r--r--dev-libs/cxxopts/metadata.xml3
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0-r2.ebuild17
-rw-r--r--dev-libs/cyberjack/Manifest2
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild98
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild93
-rw-r--r--dev-libs/cyrus-sasl/Manifest1
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r2.ebuild221
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r3.ebuild218
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild2
-rw-r--r--dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.28-fix-configure-time-check.patch50
-rw-r--r--dev-libs/darts/darts-0.32h_pre20181117064816.ebuild2
-rw-r--r--dev-libs/date/date-3.0.0.ebuild4
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild4
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild4
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.110.ebuild6
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.112.ebuild6
-rw-r--r--dev-libs/dietlibc/dietlibc-0.34.ebuild6
-rw-r--r--dev-libs/distorm3/distorm3-3.5.2-r1.ebuild38
-rw-r--r--dev-libs/distorm3/distorm3-3.5.2.ebuild45
-rw-r--r--dev-libs/distorm3/metadata.xml1
-rw-r--r--dev-libs/dmalloc/Manifest1
-rw-r--r--dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild62
-rw-r--r--dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild64
-rw-r--r--dev-libs/dmalloc/dmalloc-999999.ebuild86
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch103
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch89
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch68
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch22
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch32
-rw-r--r--dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch11
-rw-r--r--dev-libs/dmalloc/metadata.xml3
-rw-r--r--dev-libs/dotconf/Manifest1
-rw-r--r--dev-libs/dotconf/dotconf-1.3-r2.ebuild6
-rw-r--r--dev-libs/dotconf/dotconf-1.4.1.ebuild37
-rw-r--r--dev-libs/dotconf/dotconf-9999.ebuild37
-rw-r--r--dev-libs/double-conversion/double-conversion-3.2.1.ebuild4
-rw-r--r--dev-libs/dqlite/Manifest3
-rw-r--r--dev-libs/dqlite/dqlite-1.13.0.ebuild46
-rw-r--r--dev-libs/dqlite/dqlite-1.14.0.ebuild49
-rw-r--r--dev-libs/dqlite/dqlite-1.16.4-r1.ebuild53
-rw-r--r--dev-libs/dynolog/Manifest35
-rw-r--r--dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild116
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch20
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch40
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch22
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch18
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch82
-rw-r--r--dev-libs/dynolog/metadata.xml11
-rw-r--r--dev-libs/editline/editline-1.17.1.ebuild6
-rw-r--r--dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild6
-rw-r--r--dev-libs/efl/Manifest2
-rw-r--r--dev-libs/efl/efl-1.26.3-r1.ebuild311
-rw-r--r--dev-libs/efl/efl-1.27.0.ebuild296
-rw-r--r--dev-libs/efl/metadata.xml1
-rw-r--r--dev-libs/elfutils/Manifest7
-rw-r--r--dev-libs/elfutils/elfutils-0.188.ebuild127
-rw-r--r--dev-libs/elfutils/elfutils-0.190.ebuild120
-rw-r--r--dev-libs/elfutils/elfutils-0.191.ebuild120
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch57
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch86
-rw-r--r--dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch14
-rw-r--r--dev-libs/elfutils/metadata.xml2
-rw-r--r--dev-libs/ell/Manifest5
-rw-r--r--dev-libs/ell/ell-0.54.ebuild54
-rw-r--r--dev-libs/ell/ell-0.55.ebuild54
-rw-r--r--dev-libs/ell/ell-0.56.ebuild54
-rw-r--r--dev-libs/ell/ell-0.62.ebuild54
-rw-r--r--dev-libs/ell/ell-0.64.ebuild54
-rw-r--r--dev-libs/ell/ell-9999.ebuild6
-rw-r--r--dev-libs/expat/Manifest3
-rw-r--r--dev-libs/expat/expat-2.5.0.ebuild9
-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/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild4
-rw-r--r--dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild49
-rw-r--r--dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild40
-rw-r--r--dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch97
-rw-r--r--dev-libs/ffcall/ffcall-2.4-r1.ebuild2
-rw-r--r--dev-libs/ffcall/ffcall-2.4.ebuild2
-rw-r--r--dev-libs/flatbuffers/Manifest5
-rw-r--r--dev-libs/flatbuffers/files/flatbuffers-2.0.6-locales-detection-fixup.patch26
-rw-r--r--dev-libs/flatbuffers/flatbuffers-2.0.6-r1.ebuild37
-rw-r--r--dev-libs/flatbuffers/flatbuffers-22.12.06.ebuild35
-rw-r--r--dev-libs/flatbuffers/flatbuffers-23.1.21.ebuild35
-rw-r--r--dev-libs/flatbuffers/flatbuffers-23.1.4.ebuild35
-rw-r--r--dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild33
-rw-r--r--dev-libs/flatbuffers/metadata.xml1
-rw-r--r--dev-libs/folks/Manifest4
-rw-r--r--dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch28
-rw-r--r--dev-libs/folks/files/folks-0.15.6-implicit-decl.patch61
-rw-r--r--dev-libs/folks/folks-0.15.5.ebuild95
-rw-r--r--dev-libs/folks/folks-0.15.6-r1.ebuild102
-rw-r--r--dev-libs/folks/folks-0.15.6.ebuild95
-rw-r--r--dev-libs/folks/folks-0.15.7.ebuild106
-rw-r--r--dev-libs/folks/folks-0.15.9.ebuild97
-rw-r--r--dev-libs/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/foma-0.10.0_p20220612.ebuild29
-rw-r--r--dev-libs/foma/metadata.xml3
-rw-r--r--dev-libs/freexl/Manifest1
-rw-r--r--dev-libs/freexl/freexl-1.0.6.ebuild9
-rw-r--r--dev-libs/freexl/freexl-2.0.0-r1.ebuild36
-rw-r--r--dev-libs/fribidi/Manifest2
-rw-r--r--dev-libs/fribidi/fribidi-1.0.12.ebuild29
-rw-r--r--dev-libs/fribidi/fribidi-1.0.13.ebuild29
-rw-r--r--dev-libs/gdl/gdl-3.40.0.ebuild4
-rw-r--r--dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild5
-rw-r--r--dev-libs/gf2x/gf2x-1.3.0-r1.ebuild7
-rw-r--r--dev-libs/girara/Manifest6
-rw-r--r--dev-libs/girara/girara-0.3.5.ebuild46
-rw-r--r--dev-libs/girara/girara-0.3.6.ebuild46
-rw-r--r--dev-libs/girara/girara-0.3.7.ebuild46
-rw-r--r--dev-libs/girara/girara-0.3.9.ebuild46
-rw-r--r--dev-libs/girara/girara-0.4.0-r1.ebuild62
-rw-r--r--dev-libs/girara/girara-0.4.2.ebuild63
-rw-r--r--dev-libs/girara/girara-9999.ebuild41
-rw-r--r--dev-libs/girara/metadata.xml28
-rw-r--r--dev-libs/gjs/Manifest2
-rw-r--r--dev-libs/gjs/gjs-1.74.1.ebuild68
-rw-r--r--dev-libs/gjs/gjs-1.78.5.ebuild68
-rw-r--r--dev-libs/glib/Manifest7
-rw-r--r--dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch24
-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.74.3-r3.ebuild290
-rw-r--r--dev-libs/glib/glib-2.74.4.ebuild288
-rw-r--r--dev-libs/glib/glib-2.74.5.ebuild287
-rw-r--r--dev-libs/glib/glib-2.76.4.ebuild312
-rw-r--r--dev-libs/glib/glib-2.78.3.ebuild312
-rw-r--r--dev-libs/glib/glib-2.78.4-r1.ebuild321
-rw-r--r--dev-libs/glib/metadata.xml2
-rw-r--r--dev-libs/gmime/Manifest2
-rw-r--r--dev-libs/gmime/gmime-2.6.23-r2.ebuild6
-rw-r--r--dev-libs/gmime/gmime-3.2.13.ebuild70
-rw-r--r--dev-libs/gmime/gmime-3.2.14.ebuild70
-rw-r--r--dev-libs/gmp/Manifest3
-rw-r--r--dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch17
-rw-r--r--dev-libs/gmp/gmp-6.2.1-r2.ebuild113
-rw-r--r--dev-libs/gmp/gmp-6.2.1-r5.ebuild178
-rw-r--r--dev-libs/gmp/gmp-6.3.0-r1.ebuild193
-rw-r--r--dev-libs/gmp/metadata.xml1
-rw-r--r--dev-libs/gnulib/Manifest2
-rw-r--r--dev-libs/gnulib/gnulib-2022.02.12.16.27.05.ebuild43
-rw-r--r--dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild4
-rw-r--r--dev-libs/gnulib/gnulib-2024.01.01.10.31.48.ebuild43
-rw-r--r--dev-libs/gnulib/gnulib-9999-r1.ebuild2
-rw-r--r--dev-libs/gobject-introspection-common/Manifest3
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.74.0.ebuild30
-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.xml1
-rw-r--r--dev-libs/gobject-introspection/Manifest3
-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.74.0.ebuild79
-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/gom/gom-0.4.ebuild2
-rw-r--r--dev-libs/gost-engine/Manifest2
-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/grantlee/grantlee-5.3.0.ebuild4
-rw-r--r--dev-libs/gumbo/Manifest2
-rw-r--r--dev-libs/gumbo/gumbo-0.10.1.ebuild6
-rw-r--r--dev-libs/gumbo/gumbo-0.11.0.ebuild41
-rw-r--r--dev-libs/gumbo/gumbo-0.12.1.ebuild41
-rw-r--r--dev-libs/gumbo/metadata.xml14
-rw-r--r--dev-libs/half/metadata.xml3
-rw-r--r--dev-libs/heatshrink/Manifest1
-rw-r--r--dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch108
-rw-r--r--dev-libs/heatshrink/heatshrink-0.4.1.ebuild16
-rw-r--r--dev-libs/heatshrink/metadata.xml16
-rw-r--r--dev-libs/hidapi/Manifest3
-rw-r--r--dev-libs/hidapi/hidapi-0.11.0.ebuild62
-rw-r--r--dev-libs/hidapi/hidapi-0.12.0-r1.ebuild42
-rw-r--r--dev-libs/hidapi/hidapi-0.12.0.ebuild42
-rw-r--r--dev-libs/hidapi/hidapi-0.13.1-r1.ebuild48
-rw-r--r--dev-libs/hidapi/hidapi-0.13.1.ebuild42
-rw-r--r--dev-libs/hidapi/hidapi-0.14.0.ebuild52
-rw-r--r--dev-libs/hidapi/metadata.xml8
-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/Manifest2
-rw-r--r--dev-libs/hiredis/files/hiredis-0.13.3-disable-network-tests.patch36
-rw-r--r--dev-libs/hiredis/files/hiredis-0.14.1-honor-AR.patch11
-rw-r--r--dev-libs/hiredis/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.14.1.ebuild83
-rw-r--r--dev-libs/hiredis/hiredis-1.0.2-r2.ebuild89
-rw-r--r--dev-libs/hiredis/hiredis-1.0.2-r3.ebuild89
-rw-r--r--dev-libs/hiredis/hiredis-1.1.0-r1.ebuild96
-rw-r--r--dev-libs/hiredis/hiredis-1.1.0.ebuild96
-rw-r--r--dev-libs/hiredis/hiredis-1.2.0.ebuild92
-rw-r--r--dev-libs/http-fetcher/metadata.xml5
-rw-r--r--dev-libs/hyperscan/Manifest1
-rw-r--r--dev-libs/hyperscan/hyperscan-5.4.0.ebuild57
-rw-r--r--dev-libs/hyperscan/metadata.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/metadata.xml1
-rw-r--r--dev-libs/hyprland-protocols/Manifest1
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild25
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild25
-rw-r--r--dev-libs/hyprland-protocols/metadata.xml15
-rw-r--r--dev-libs/hyprlang/Manifest3
-rw-r--r--dev-libs/hyprlang/hyprlang-0.4.2.ebuild14
-rw-r--r--dev-libs/hyprlang/hyprlang-0.5.0.ebuild14
-rw-r--r--dev-libs/hyprlang/hyprlang-0.5.1.ebuild14
-rw-r--r--dev-libs/hyprlang/metadata.xml22
-rw-r--r--dev-libs/icinga-php-library/Manifest1
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.13.0.ebuild23
-rw-r--r--dev-libs/icinga-php-thirdparty/Manifest1
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild22
-rw-r--r--dev-libs/icu-layoutex/Manifest4
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-72.1.ebuild138
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild133
-rw-r--r--dev-libs/icu/Manifest4
-rw-r--r--dev-libs/icu/icu-72.1.ebuild165
-rw-r--r--dev-libs/icu/icu-74.2.ebuild184
-rw-r--r--dev-libs/igraph/Manifest4
-rw-r--r--dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch35
-rw-r--r--dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch15
-rw-r--r--dev-libs/igraph/igraph-0.10.10.ebuild53
-rw-r--r--dev-libs/igraph/igraph-0.10.11.ebuild48
-rw-r--r--dev-libs/igraph/igraph-0.10.4-r1.ebuild54
-rw-r--r--dev-libs/igraph/igraph-0.9.4.ebuild49
-rw-r--r--dev-libs/iksemel/iksemel-1.4-r1.ebuild44
-rw-r--r--dev-libs/iksemel/iksemel-1.4-r2.ebuild42
-rw-r--r--dev-libs/imath/Manifest2
-rw-r--r--dev-libs/imath/imath-3.1.11.ebuild81
-rw-r--r--dev-libs/imath/imath-3.1.6.ebuild7
-rw-r--r--dev-libs/imath/imath-3.1.9.ebuild70
-rw-r--r--dev-libs/imath/metadata.xml4
-rw-r--r--dev-libs/inih/Manifest3
-rw-r--r--dev-libs/inih/inih-56-r1.ebuild30
-rw-r--r--dev-libs/inih/inih-57-r1.ebuild30
-rw-r--r--dev-libs/inih/inih-58.ebuild30
-rw-r--r--dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch43
-rw-r--r--dev-libs/iniparser/iniparser-3.1-r3.ebuild6
-rw-r--r--dev-libs/iniparser/iniparser-4.1-r1.ebuild75
-rw-r--r--dev-libs/iniparser/iniparser-4.1.ebuild71
-rw-r--r--dev-libs/iniparser/metadata.xml4
-rw-r--r--dev-libs/intel-compute-runtime/Manifest4
-rw-r--r--dev-libs/intel-compute-runtime/files/intel-compute-runtime-22.49.25018.24-level-zero-1.9.patch22
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-22.43.24595.35.ebuild79
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-22.49.25018.24.ebuild82
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-24.05.28454.17-r1.ebuild84
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild84
-rw-r--r--dev-libs/intel-metrics-discovery/Manifest2
-rw-r--r--dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch24
-rw-r--r--dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild29
-rw-r--r--dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild29
-rw-r--r--dev-libs/intel-metrics-discovery/metadata.xml25
-rw-r--r--dev-libs/intel-metrics-library/Manifest3
-rw-r--r--dev-libs/intel-metrics-library/intel-metrics-library-0_pre20220930.ebuild28
-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-vc-intrinsics/Manifest4
-rw-r--r--dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.11.0.ebuild37
-rw-r--r--dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild39
-rw-r--r--dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.7.1-r1.ebuild37
-rw-r--r--dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.8.1.ebuild37
-rw-r--r--dev-libs/isa-l/Manifest1
-rw-r--r--dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch26
-rw-r--r--dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch12
-rw-r--r--dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch16
-rw-r--r--dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch12
-rw-r--r--dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch10
-rw-r--r--dev-libs/isa-l/isa-l-2.30.0-r1.ebuild35
-rw-r--r--dev-libs/isa-l/isa-l-2.31.0.ebuild57
-rw-r--r--dev-libs/isa-l_crypto/Manifest1
-rw-r--r--dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_fix-shebang.patch26
-rw-r--r--dev-libs/isa-l_crypto/files/isa-l_crypto-2.24.0_makefile-no-D.patch13
-rw-r--r--dev-libs/isa-l_crypto/isa-l_crypto-2.24.0.ebuild44
-rw-r--r--dev-libs/isa-l_crypto/metadata.xml21
-rw-r--r--dev-libs/isl/Manifest3
-rw-r--r--dev-libs/isl/files/isl-0.24-nobash.patch35
-rw-r--r--dev-libs/isl/isl-0.24-r2.ebuild80
-rw-r--r--dev-libs/isl/isl-0.25.ebuild80
-rw-r--r--dev-libs/isl/isl-0.26.ebuild78
-rw-r--r--dev-libs/ivykis/Manifest1
-rw-r--r--dev-libs/ivykis/ivykis-0.42.4.ebuild6
-rw-r--r--dev-libs/ivykis/ivykis-0.43.ebuild33
-rw-r--r--dev-libs/jansson/Manifest2
-rw-r--r--dev-libs/jansson/files/jansson-2.14-default-symver-test.patch55
-rw-r--r--dev-libs/jansson/jansson-2.14-r1.ebuild4
-rw-r--r--dev-libs/jansson/jansson-2.14-r2.ebuild49
-rw-r--r--dev-libs/jemalloc/files/jemalloc-5.3.0-backport-pr-2338.patch83
-rw-r--r--dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild3
-rw-r--r--dev-libs/jemalloc/metadata.xml5
-rw-r--r--dev-libs/json-c/Manifest2
-rw-r--r--dev-libs/json-c/json-c-0.16-r1.ebuild50
-rw-r--r--dev-libs/json-c/json-c-0.17.ebuild46
-rw-r--r--dev-libs/json-c/json-c-9999.ebuild34
-rw-r--r--dev-libs/json-glib/Manifest2
-rw-r--r--dev-libs/json-glib/json-glib-1.6.6-r1.ebuild58
-rw-r--r--dev-libs/json-glib/json-glib-1.8.0.ebuild65
-rw-r--r--dev-libs/json-glib/metadata.xml3
-rw-r--r--dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild12
-rw-r--r--dev-libs/json-parser/metadata.xml8
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild16
-rw-r--r--dev-libs/jsonrpc-glib/Manifest2
-rw-r--r--dev-libs/jsonrpc-glib/jsonrpc-glib-3.42.0.ebuild58
-rw-r--r--dev-libs/jsonrpc-glib/jsonrpc-glib-3.44.0.ebuild58
-rw-r--r--dev-libs/jthread/metadata.xml5
-rw-r--r--dev-libs/judy/metadata.xml5
-rw-r--r--dev-libs/kasync/Manifest1
-rw-r--r--dev-libs/kasync/kasync-0.3.0.ebuild18
-rw-r--r--dev-libs/kasync/metadata.xml11
-rw-r--r--dev-libs/kdiagram/Manifest1
-rw-r--r--dev-libs/kdiagram/kdiagram-3.0.1.ebuild33
-rw-r--r--dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch156
-rw-r--r--dev-libs/keystone/keystone-0.9.2-r1.ebuild95
-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.ebuild36
-rw-r--r--dev-libs/kirigami-addons/Manifest3
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild48
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-0.6.2.ebuild44
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild44
-rw-r--r--dev-libs/kirigami-addons/metadata.xml1
-rw-r--r--dev-libs/kopeninghours/Manifest4
-rw-r--r--dev-libs/kopeninghours/kopeninghours-22.08.3.ebuild64
-rw-r--r--dev-libs/kopeninghours/kopeninghours-22.12.2.ebuild64
-rw-r--r--dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild64
-rw-r--r--dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild63
-rw-r--r--dev-libs/kopeninghours/metadata.xml1
-rw-r--r--dev-libs/kosmindoormap/Manifest4
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-22.08.3.ebuild47
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-22.12.2.ebuild47
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild47
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild48
-rw-r--r--dev-libs/kosmindoormap/metadata.xml1
-rw-r--r--dev-libs/kpathsea/Manifest3
-rw-r--r--dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch47
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild15
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild106
-rw-r--r--dev-libs/kpublictransport/Manifest4
-rw-r--r--dev-libs/kpublictransport/kpublictransport-22.08.3.ebuild37
-rw-r--r--dev-libs/kpublictransport/kpublictransport-22.12.2.ebuild37
-rw-r--r--dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild40
-rw-r--r--dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild39
-rw-r--r--dev-libs/kpublictransport/metadata.xml1
-rw-r--r--dev-libs/kreport/kreport-3.2.0-r3.ebuild4
-rw-r--r--dev-libs/ktextaddons/Manifest2
-rw-r--r--dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild48
-rw-r--r--dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild50
-rw-r--r--dev-libs/ktextaddons/metadata.xml15
-rw-r--r--dev-libs/kuserfeedback/Manifest1
-rw-r--r--dev-libs/kuserfeedback/files/kuserfeedback-1.2.0-enable_docs.patch48
-rw-r--r--dev-libs/kuserfeedback/kuserfeedback-1.2.0.ebuild61
-rw-r--r--dev-libs/kuserfeedback/metadata.xml11
-rw-r--r--dev-libs/kweathercore/Manifest1
-rw-r--r--dev-libs/kweathercore/kweathercore-0.7.ebuild4
-rw-r--r--dev-libs/kweathercore/kweathercore-0.8.0.ebuild35
-rw-r--r--dev-libs/kweathercore/metadata.xml1
-rw-r--r--dev-libs/leatherman/Manifest4
-rw-r--r--dev-libs/leatherman/files/shared_nowide.patch108
-rw-r--r--dev-libs/leatherman/leatherman-1.12.12.ebuild56
-rw-r--r--dev-libs/leatherman/leatherman-1.12.13.ebuild56
-rw-r--r--dev-libs/leatherman/leatherman-1.12.8.ebuild56
-rw-r--r--dev-libs/leatherman/leatherman-1.12.9.ebuild56
-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.8.12.ebuild22
-rw-r--r--dev-libs/level-zero/level-zero-1.9.4.ebuild22
-rw-r--r--dev-libs/leveldb/leveldb-1.23-r4.ebuild49
-rw-r--r--dev-libs/leveldb/leveldb-1.23-r6.ebuild51
-rw-r--r--dev-libs/libIDL/libIDL-0.8.14-r4.ebuild6
-rw-r--r--dev-libs/libaio/libaio-0.3.113-r1.ebuild91
-rw-r--r--dev-libs/libaio/libaio-9999.ebuild11
-rw-r--r--dev-libs/libansilove/Manifest4
-rw-r--r--dev-libs/libansilove/libansilove-1.2.9.ebuild23
-rw-r--r--dev-libs/libansilove/libansilove-1.3.0.ebuild23
-rw-r--r--dev-libs/libansilove/libansilove-1.3.1.ebuild23
-rw-r--r--dev-libs/libansilove/libansilove-1.4.1.ebuild23
-rw-r--r--dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild4
-rw-r--r--dev-libs/libarcus/Manifest1
-rw-r--r--dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch30
-rw-r--r--dev-libs/libarcus/libarcus-4.13.1.ebuild56
-rw-r--r--dev-libs/libarcus/metadata.xml28
-rw-r--r--dev-libs/libassuan/Manifest5
-rw-r--r--dev-libs/libassuan/libassuan-2.5.5.ebuild48
-rw-r--r--dev-libs/libassuan/libassuan-2.5.6.ebuild56
-rw-r--r--dev-libs/libassuan/libassuan-2.5.7.ebuild56
-rw-r--r--dev-libs/libatomic_ops/Manifest2
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.6.14.ebuild25
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild31
-rw-r--r--dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch23
-rw-r--r--dev-libs/libax25/libax25-0.0.12_rc5.ebuild10
-rw-r--r--dev-libs/libayatana-appindicator/Manifest1
-rw-r--r--dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.92.ebuild51
-rw-r--r--dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild2
-rw-r--r--dev-libs/libbpf/Manifest6
-rw-r--r--dev-libs/libbpf/libbpf-1.0.0-r1.ebuild53
-rw-r--r--dev-libs/libbpf/libbpf-1.0.1.ebuild54
-rw-r--r--dev-libs/libbpf/libbpf-1.1.0.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.ebuild25
-rw-r--r--dev-libs/libbsd/Manifest6
-rw-r--r--dev-libs/libbsd/libbsd-0.11.7-r2.ebuild43
-rw-r--r--dev-libs/libbsd/libbsd-0.11.7.ebuild36
-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/libbson/Manifest1
-rw-r--r--dev-libs/libbson/libbson-1.24.4.ebuild49
-rw-r--r--dev-libs/libbson/metadata.xml2
-rw-r--r--dev-libs/libburn/Manifest2
-rw-r--r--dev-libs/libburn/libburn-1.5.4.ebuild41
-rw-r--r--dev-libs/libburn/libburn-1.5.6-r1.ebuild49
-rw-r--r--dev-libs/libburn/libburn-1.5.6.ebuild40
-rw-r--r--dev-libs/libbytesize/Manifest4
-rw-r--r--dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch31
-rw-r--r--dev-libs/libbytesize/libbytesize-2.10.ebuild88
-rw-r--r--dev-libs/libbytesize/libbytesize-2.6.ebuild90
-rw-r--r--dev-libs/libbytesize/libbytesize-2.7.ebuild89
-rw-r--r--dev-libs/libbytesize/libbytesize-2.9.ebuild91
-rw-r--r--dev-libs/libcbor/Manifest3
-rw-r--r--dev-libs/libcbor/libcbor-0.10.1.ebuild69
-rw-r--r--dev-libs/libcbor/libcbor-0.10.2.ebuild11
-rw-r--r--dev-libs/libcbor/libcbor-0.11.0.ebuild70
-rw-r--r--dev-libs/libcbor/libcbor-0.9.0.ebuild69
-rw-r--r--dev-libs/libcbor/metadata.xml3
-rw-r--r--dev-libs/libcdada/Manifest2
-rw-r--r--dev-libs/libcdada/libcdada-0.3.4-r2.ebuild46
-rw-r--r--dev-libs/libcdada/libcdada-0.3.5.ebuild54
-rw-r--r--dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild4
-rw-r--r--dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch48
-rw-r--r--dev-libs/libcdio/libcdio-2.1.0-r1.ebuild18
-rw-r--r--dev-libs/libcec/libcec-6.0.2-r1.ebuild131
-rw-r--r--dev-libs/libcec/libcec-6.0.2-r2.ebuild123
-rw-r--r--dev-libs/libcec/libcec-6.0.2.ebuild125
-rw-r--r--dev-libs/libcgroup/Manifest2
-rw-r--r--dev-libs/libcgroup/files/cgconfig.confd-r28
-rw-r--r--dev-libs/libcgroup/files/cgconfig.initd-r253
-rw-r--r--dev-libs/libcgroup/libcgroup-0.41-r6.ebuild19
-rw-r--r--dev-libs/libcgroup/libcgroup-2.0.ebuild98
-rw-r--r--dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild115
-rw-r--r--dev-libs/libcgroup/libcgroup-3.0.0.ebuild8
-rw-r--r--dev-libs/libcgroup/libcgroup-3.1.0.ebuild116
-rw-r--r--dev-libs/libcharon/Manifest1
-rw-r--r--dev-libs/libcharon/libcharon-4.13.0.ebuild72
-rw-r--r--dev-libs/libcharon/metadata.xml26
-rw-r--r--dev-libs/libchdr/Manifest1
-rw-r--r--dev-libs/libchdr/libchdr-0_p20221129.ebuild28
-rw-r--r--dev-libs/libchdr/metadata.xml11
-rw-r--r--dev-libs/libclc/Manifest14
-rw-r--r--dev-libs/libclc/libclc-14.0.6.ebuild66
-rw-r--r--dev-libs/libclc/libclc-15.0.7.ebuild2
-rw-r--r--dev-libs/libclc/libclc-16.0.0.9999.ebuild84
-rw-r--r--dev-libs/libclc/libclc-16.0.0_pre20230107.ebuild84
-rw-r--r--dev-libs/libclc/libclc-16.0.0_pre20230127.ebuild84
-rw-r--r--dev-libs/libclc/libclc-16.0.0_rc1.ebuild84
-rw-r--r--dev-libs/libclc/libclc-16.0.6.ebuild84
-rw-r--r--dev-libs/libclc/libclc-17.0.0.9999.ebuild88
-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-19.0.0.9999.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild61
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240420.ebuild61
-rw-r--r--dev-libs/libconfig/libconfig-1.7.3.ebuild21
-rw-r--r--dev-libs/libconfig/metadata.xml3
-rw-r--r--dev-libs/libcpuid/Manifest2
-rw-r--r--dev-libs/libcpuid/libcpuid-0.6.2.ebuild37
-rw-r--r--dev-libs/libcpuid/libcpuid-0.6.4.ebuild37
-rw-r--r--dev-libs/libcroco/libcroco-0.6.13-r1.ebuild16
-rw-r--r--dev-libs/libcss/Manifest2
-rw-r--r--dev-libs/libcss/libcss-0.9.1-r1.ebuild51
-rw-r--r--dev-libs/libcss/libcss-0.9.2.ebuild43
-rw-r--r--dev-libs/libcss/libcss-9999.ebuild46
-rw-r--r--dev-libs/libcss/metadata.xml5
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r4.ebuild4
-rw-r--r--dev-libs/libdazzle/libdazzle-3.44.0.ebuild6
-rw-r--r--dev-libs/libdbh/libdbh-5.0.22.ebuild4
-rw-r--r--dev-libs/libdbusmenu-lxqt/Manifest1
-rw-r--r--dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch129
-rw-r--r--dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild24
-rw-r--r--dev-libs/libdbusmenu-lxqt/metadata.xml15
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild4
-rw-r--r--dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild2
-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/libdispatch-5.6.1.ebuild53
-rw-r--r--dev-libs/libdispatch/libdispatch-5.7.1.ebuild8
-rw-r--r--dev-libs/libdispatch/libdispatch-5.7.3.ebuild57
-rw-r--r--dev-libs/libdispatch/libdispatch-5.8.ebuild57
-rw-r--r--dev-libs/libdispatch/metadata.xml5
-rw-r--r--dev-libs/libdnet/Manifest6
-rw-r--r--dev-libs/libdnet/files/libdnet-1.14-ndisc.patch796
-rw-r--r--dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch10
-rw-r--r--dev-libs/libdnet/libdnet-1.14-r2.ebuild84
-rw-r--r--dev-libs/libdnet/libdnet-1.16.1.ebuild79
-rw-r--r--dev-libs/libdnet/libdnet-1.16.2.ebuild77
-rw-r--r--dev-libs/libdnet/libdnet-1.16.4.ebuild89
-rw-r--r--dev-libs/libdnet/libdnet-1.17.0.ebuild93
-rw-r--r--dev-libs/libdnet/libdnet-1.18.0.ebuild93
-rw-r--r--dev-libs/libdynd/libdynd-0.7.2-r1.ebuild4
-rw-r--r--dev-libs/libdynd/metadata.xml3
-rw-r--r--dev-libs/libe/Manifest1
-rw-r--r--dev-libs/libe/files/libe-0.11.0-strtoul.patch11
-rw-r--r--dev-libs/libe/libe-0.11.0.ebuild31
-rw-r--r--dev-libs/libe/metadata.xml8
-rw-r--r--dev-libs/libebml/Manifest1
-rw-r--r--dev-libs/libebml/libebml-1.4.5.ebuild14
-rw-r--r--dev-libs/libedit/libedit-20221030.3.1.ebuild2
-rw-r--r--dev-libs/libee/libee-0.4.1.ebuild10
-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-r3.ebuild2
-rw-r--r--dev-libs/libelf/libelf-0.8.13-r4.ebuild63
-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.3.ebuild19
-rw-r--r--dev-libs/libev/libev-4.33.ebuild12
-rw-r--r--dev-libs/libevdev/Manifest2
-rw-r--r--dev-libs/libevdev/libevdev-1.13.0.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-1.13.1-r1.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-9999.ebuild8
-rw-r--r--dev-libs/libevent/Manifest6
-rw-r--r--dev-libs/libevent/files/libevent-2.1.12-clang16.patch105
-rw-r--r--dev-libs/libevent/files/libevent-2.1.12-libressl.patch30
-rw-r--r--dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch152
-rw-r--r--dev-libs/libevent/libevent-2.1.11.ebuild63
-rw-r--r--dev-libs/libevent/libevent-2.1.12-r1.ebuild90
-rw-r--r--dev-libs/libevent/libevent-2.1.12.ebuild75
-rw-r--r--dev-libs/libevent/libevent-2.1.9999.ebuild67
-rw-r--r--dev-libs/libevent/libevent-2.2.1-r2.ebuild83
-rw-r--r--dev-libs/libevent/libevent-9999.ebuild48
-rw-r--r--dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch21
-rw-r--r--dev-libs/libezV24/libezV24-0.1.1-r3.ebuild38
-rw-r--r--dev-libs/libf2c/Manifest1
-rw-r--r--dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch13
-rw-r--r--dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch66
-rw-r--r--dev-libs/libf2c/libf2c-20240130.ebuild54
-rw-r--r--dev-libs/libfastjson/Manifest3
-rw-r--r--dev-libs/libfastjson/libfastjson-0.99.8-r1.ebuild38
-rw-r--r--dev-libs/libfastjson/libfastjson-0.99.9-r1.ebuild38
-rw-r--r--dev-libs/libfastjson/libfastjson-1.2304.0.ebuild39
-rw-r--r--dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild2
-rw-r--r--dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild2
-rw-r--r--dev-libs/libffi/Manifest1
-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.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.4.ebuild70
-rw-r--r--dev-libs/libffi/libffi-3.4.6.ebuild73
-rw-r--r--dev-libs/libfido2/Manifest3
-rw-r--r--dev-libs/libfido2/files/libfido2-1.11.0-regress-tests.patch81
-rw-r--r--dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch30
-rw-r--r--dev-libs/libfido2/libfido2-1.11.0.ebuild56
-rw-r--r--dev-libs/libfido2/libfido2-1.12.0.ebuild63
-rw-r--r--dev-libs/libfido2/libfido2-1.13.0.ebuild64
-rw-r--r--dev-libs/libfilezilla/Manifest6
-rw-r--r--dev-libs/libfilezilla/files/libfilezilla-0.41.0-gcc13.patch79
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.39.1-r1.ebuild51
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.39.2.ebuild51
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.41.0.ebuild51
-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/libfmt/Manifest6
-rw-r--r--dev-libs/libfmt/files/libfmt-8.1.1-fix-static-assert.patch76
-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-8.1.1-r1.ebuild39
-rw-r--r--dev-libs/libfmt/libfmt-9.1.0-r1.ebuild4
-rw-r--r--dev-libs/libfmt/libfmt-9.1.0-r2.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-9999.ebuild9
-rw-r--r--dev-libs/libfmt/metadata.xml1
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch4
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r6.ebuild2
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r7.ebuild100
-rw-r--r--dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild13
-rw-r--r--dev-libs/libgcrypt-compat/libgcrypt-compat-1.5.6.ebuild6
-rw-r--r--dev-libs/libgcrypt/Manifest8
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch134
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10.1-fix-no-asm-hppa.patch35
-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.9.4-arm-neon-compile-fix.patch44
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild170
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild171
-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.9.4-r2.ebuild136
-rw-r--r--dev-libs/libgcrypt/metadata.xml1
-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.6-r1.ebuild43
-rw-r--r--dev-libs/libgee/libgee-0.20.6.ebuild28
-rw-r--r--dev-libs/libgit2-glib/Manifest2
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-1.1.0.ebuild56
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild64
-rw-r--r--dev-libs/libgit2/Manifest3
-rw-r--r--dev-libs/libgit2/libgit2-1.5.1.ebuild76
-rw-r--r--dev-libs/libgit2/libgit2-1.7.2.ebuild75
-rw-r--r--dev-libs/libgit2/libgit2-1.8.0.ebuild75
-rw-r--r--dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild4
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild4
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild4
-rw-r--r--dev-libs/libgnt/libgnt-2.14.3.ebuild9
-rw-r--r--dev-libs/libgpg-error/Manifest8
-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.46-r1.ebuild86
-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/libgpiod/Manifest3
-rw-r--r--dev-libs/libgpiod/files/libgpiod-2.1-libtool.patch66
-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.xml5
-rw-r--r--dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild9
-rw-r--r--dev-libs/libgudev/Manifest3
-rw-r--r--dev-libs/libgudev/files/libgudev-test-double.patch30
-rw-r--r--dev-libs/libgudev/libgudev-236.ebuild43
-rw-r--r--dev-libs/libgudev/libgudev-237-r1.ebuild52
-rw-r--r--dev-libs/libgudev/libgudev-238-r1.ebuild47
-rw-r--r--dev-libs/libgusb/Manifest4
-rw-r--r--dev-libs/libgusb/libgusb-0.4.2.ebuild72
-rw-r--r--dev-libs/libgusb/libgusb-0.4.3.ebuild72
-rw-r--r--dev-libs/libgusb/libgusb-0.4.4.ebuild72
-rw-r--r--dev-libs/libgusb/libgusb-0.4.8.ebuild72
-rw-r--r--dev-libs/libgweather/Manifest2
-rw-r--r--dev-libs/libgweather/libgweather-4.2.0.ebuild88
-rw-r--r--dev-libs/libgweather/libgweather-4.4.2.ebuild88
-rw-r--r--dev-libs/libhid/libhid-0.2.17-r1.ebuild9
-rw-r--r--dev-libs/libical/Manifest4
-rw-r--r--dev-libs/libical/libical-3.0.14-r1.ebuild117
-rw-r--r--dev-libs/libical/libical-3.0.16.ebuild117
-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/libiconv/libiconv-1.17.ebuild6
-rw-r--r--dev-libs/libindicate/files/libindicate-12.10.1-tests-werror.patch47
-rw-r--r--dev-libs/libindicate/libindicate-12.10.1-r4.ebuild19
-rw-r--r--dev-libs/libinput/Manifest3
-rw-r--r--dev-libs/libinput/files/libinput-1.22.1-sphinx-6.patch28
-rw-r--r--dev-libs/libinput/libinput-1.21.0-r1.ebuild92
-rw-r--r--dev-libs/libinput/libinput-1.22.1.ebuild94
-rw-r--r--dev-libs/libinput/libinput-1.25.0.ebuild102
-rw-r--r--dev-libs/libintl/Manifest4
-rw-r--r--dev-libs/libintl/libintl-0.21.1.ebuild6
-rw-r--r--dev-libs/libintl/libintl-0.22.4.ebuild99
-rw-r--r--dev-libs/libintl/libintl-0.22.5.ebuild107
-rw-r--r--dev-libs/libisoburn/Manifest2
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.4.ebuild66
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild83
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6.ebuild74
-rw-r--r--dev-libs/libisofs/Manifest2
-rw-r--r--dev-libs/libisofs/libisofs-1.5.4.ebuild45
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild59
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1.ebuild50
-rw-r--r--dev-libs/libite/Manifest3
-rw-r--r--dev-libs/libite/libite-2.5.1.ebuild23
-rw-r--r--dev-libs/libite/libite-2.5.2.ebuild23
-rw-r--r--dev-libs/libite/libite-2.6.1.ebuild19
-rw-r--r--dev-libs/libixion/Manifest2
-rw-r--r--dev-libs/libixion/libixion-0.17.0.ebuild57
-rw-r--r--dev-libs/libixion/libixion-0.19.0.ebuild57
-rw-r--r--dev-libs/libixion/libixion-9999.ebuild17
-rw-r--r--dev-libs/libjcat/Manifest3
-rw-r--r--dev-libs/libjcat/libjcat-0.1.12.ebuild68
-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.xml6
-rw-r--r--dev-libs/libjodycode/Manifest1
-rw-r--r--dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch12
-rw-r--r--dev-libs/libjodycode/libjodycode-3.1.ebuild33
-rw-r--r--dev-libs/libjodycode/metadata.xml15
-rw-r--r--dev-libs/libjwt/Manifest1
-rw-r--r--dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch342
-rw-r--r--dev-libs/libjwt/libjwt-1.15.3.ebuild68
-rw-r--r--dev-libs/libjwt/metadata.xml26
-rw-r--r--dev-libs/libksba/Manifest6
-rw-r--r--dev-libs/libksba/libksba-1.6.3.ebuild54
-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/libliftoff/Manifest1
-rw-r--r--dev-libs/libliftoff/libliftoff-0.4.1.ebuild20
-rw-r--r--dev-libs/liblinear/Manifest1
-rw-r--r--dev-libs/liblinear/liblinear-246.ebuild61
-rw-r--r--dev-libs/liblist/Manifest1
-rw-r--r--dev-libs/liblist/liblist-2.4-r1.ebuild51
-rw-r--r--dev-libs/liblist/metadata.xml9
-rw-r--r--dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild4
-rw-r--r--dev-libs/liblouis/Manifest1
-rw-r--r--dev-libs/liblouis/liblouis-3.25.0.ebuild94
-rw-r--r--dev-libs/libltdl/libltdl-2.4.7-r1.ebuild9
-rw-r--r--dev-libs/libltdl/libltdl-2.4.7.ebuild37
-rw-r--r--dev-libs/libmaa/Manifest1
-rw-r--r--dev-libs/libmaa/files/libmaa-1.4.7-makefile-respect-flags.patch21
-rw-r--r--dev-libs/libmaa/libmaa-1.4.7.ebuild92
-rw-r--r--dev-libs/libmaa/metadata.xml1
-rw-r--r--dev-libs/libmacaroons/Manifest1
-rw-r--r--dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch38
-rw-r--r--dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch91
-rw-r--r--dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild42
-rw-r--r--dev-libs/libmacaroons/metadata.xml17
-rw-r--r--dev-libs/libmanette/Manifest2
-rw-r--r--dev-libs/libmanette/libmanette-0.2.6.ebuild49
-rw-r--r--dev-libs/libmanette/libmanette-0.2.7.ebuild49
-rw-r--r--dev-libs/libmateweather/Manifest3
-rw-r--r--dev-libs/libmateweather/libmateweather-1.26.0.ebuild47
-rw-r--r--dev-libs/libmateweather/libmateweather-1.26.3.ebuild48
-rw-r--r--dev-libs/libmateweather/libmateweather-1.27.1.ebuild48
-rw-r--r--dev-libs/libmateweather/metadata.xml14
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild4
-rw-r--r--dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch11
-rw-r--r--dev-libs/libmba/libmba-0.9.1-r4.ebuild46
-rw-r--r--dev-libs/libmba/libmba-0.9.1-r5.ebuild47
-rw-r--r--dev-libs/libmcfp/Manifest1
-rw-r--r--dev-libs/libmcfp/libmcfp-1.2.3.ebuild25
-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/libmcrypt-2.5.8-r4.ebuild33
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r5.ebuild41
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild50
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild53
-rw-r--r--dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch13
-rw-r--r--dev-libs/libmelf/libmelf-0.4.0-r1.ebuild56
-rw-r--r--dev-libs/libmelf/libmelf-0.4.0-r2.ebuild52
-rw-r--r--dev-libs/libmemcached-awesome/Manifest3
-rw-r--r--dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.2.ebuild46
-rw-r--r--dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.3.ebuild46
-rw-r--r--dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild47
-rw-r--r--dev-libs/libmirage/Manifest2
-rw-r--r--dev-libs/libmirage/libmirage-3.2.6.ebuild50
-rw-r--r--dev-libs/libmirage/libmirage-3.2.7.ebuild50
-rw-r--r--dev-libs/libmix/libmix-2.05-r7.ebuild10
-rw-r--r--dev-libs/libmodbus/libmodbus-3.1.10.ebuild4
-rw-r--r--dev-libs/libmpack/libmpack-1.0.5-r3.ebuild65
-rw-r--r--dev-libs/libmpack/libmpack-1.0.5-r5.ebuild69
-rw-r--r--dev-libs/libmspack/Manifest1
-rw-r--r--dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild2
-rw-r--r--dev-libs/libmspack/libmspack-0.11_alpha.ebuild67
-rw-r--r--dev-libs/libmspack/libmspack-9999.ebuild4
-rw-r--r--dev-libs/libnatspec/libnatspec-0.3.0.ebuild4
-rw-r--r--dev-libs/libnest2d/Manifest1
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch122
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch21
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch11
-rw-r--r--dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch25
-rw-r--r--dev-libs/libnest2d/libnest2d-0.4-r2.ebuild45
-rw-r--r--dev-libs/libnest2d/metadata.xml27
-rw-r--r--dev-libs/libnfc/libnfc-1.8.0-r1.ebuild6
-rw-r--r--dev-libs/libnl/Manifest2
-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-3.7.0.ebuild2
-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.ebuild18
-rw-r--r--dev-libs/libnop/files/libnop-2021.11.03-libstdc++.patch11
-rw-r--r--dev-libs/libnop/libnop-2021.11.03.ebuild6
-rw-r--r--dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild8
-rw-r--r--dev-libs/libnsutils/Manifest2
-rw-r--r--dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild30
-rw-r--r--dev-libs/libnsutils/libnsutils-0.1.1.ebuild29
-rw-r--r--dev-libs/libnsutils/libnsutils-9999.ebuild28
-rw-r--r--dev-libs/libnsutils/metadata.xml5
-rw-r--r--dev-libs/libofx/libofx-0.10.9.ebuild4
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r4.ebuild6
-rw-r--r--dev-libs/liborcus/Manifest2
-rw-r--r--dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch51
-rw-r--r--dev-libs/liborcus/files/liborcus-0.17.2-clang.patch26
-rw-r--r--dev-libs/liborcus/files/liborcus-0.17.2-gcc-13.patch29
-rw-r--r--dev-libs/liborcus/liborcus-0.17.2.ebuild71
-rw-r--r--dev-libs/liborcus/liborcus-0.19.2.ebuild62
-rw-r--r--dev-libs/liborcus/liborcus-9999.ebuild22
-rw-r--r--dev-libs/libotf/libotf-0.9.16-r1.ebuild49
-rw-r--r--dev-libs/libotf/libotf-0.9.16.ebuild4
-rw-r--r--dev-libs/libowfat/libowfat-0.32-r5.ebuild8
-rw-r--r--dev-libs/libowfat/libowfat-0.33-r1.ebuild8
-rw-r--r--dev-libs/libp11/files/libp11-0.4.12-openssl-3.1.patch50
-rw-r--r--dev-libs/libp11/libp11-0.4.12-r1.ebuild31
-rw-r--r--dev-libs/libp11/libp11-0.4.12-r7.ebuild56
-rw-r--r--dev-libs/libp11/metadata.xml2
-rw-r--r--dev-libs/libparserutils/Manifest2
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild44
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.5.ebuild44
-rw-r--r--dev-libs/libparserutils/metadata.xml5
-rw-r--r--dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch18
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r1.ebuild20
-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/libpcre2/Manifest5
-rw-r--r--dev-libs/libpcre2/files/libpcre2-10.43-fix-loong-sljit.patch30
-rw-r--r--dev-libs/libpcre2/libpcre2-10.40-r1.ebuild106
-rw-r--r--dev-libs/libpcre2/libpcre2-10.42-r1.ebuild16
-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.xml2
-rw-r--r--dev-libs/libpeas/Manifest2
-rw-r--r--dev-libs/libpeas/libpeas-1.34.0.ebuild96
-rw-r--r--dev-libs/libpeas/libpeas-1.36.0.ebuild99
-rw-r--r--dev-libs/libpfm/Manifest1
-rw-r--r--dev-libs/libpfm/libpfm-4.12.0.ebuild40
-rw-r--r--dev-libs/libpipeline/libpipeline-1.5.7.ebuild4
-rw-r--r--dev-libs/libpo6/Manifest1
-rw-r--r--dev-libs/libpo6/libpo6-0.8.0.ebuild21
-rw-r--r--dev-libs/libpo6/metadata.xml8
-rw-r--r--dev-libs/libportal/Manifest2
-rw-r--r--dev-libs/libportal/libportal-0.6.ebuild89
-rw-r--r--dev-libs/libportal/libportal-0.7.1.ebuild109
-rw-r--r--dev-libs/libpqxx/Manifest3
-rw-r--r--dev-libs/libpqxx/libpqxx-7.4.1.ebuild78
-rw-r--r--dev-libs/libpqxx/libpqxx-7.7.4.ebuild79
-rw-r--r--dev-libs/libpqxx/libpqxx-7.7.5.ebuild80
-rw-r--r--dev-libs/libpqxx/metadata.xml3
-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/libptytty/files/libptytty-2.0-configure-clang16.patch15
-rw-r--r--dev-libs/libptytty/libptytty-2.0-r1.ebuild34
-rw-r--r--dev-libs/libptytty/libptytty-2.0.ebuild33
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild75
-rw-r--r--dev-libs/libpy/files/libpy-0.2.5-setuptools.patch11
-rw-r--r--dev-libs/libpy/files/libpy-0.2.5-stdint.patch11
-rw-r--r--dev-libs/libpy/libpy-0.2.5-r1.ebuild52
-rw-r--r--dev-libs/libpy/libpy-0.2.5-r3.ebuild61
-rw-r--r--dev-libs/libqtxdg/Manifest4
-rw-r--r--dev-libs/libqtxdg/libqtxdg-3.10.0.ebuild57
-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.9.1.ebuild57
-rw-r--r--dev-libs/libratbag/libratbag-0.15.ebuild12
-rw-r--r--dev-libs/libratbag/libratbag-0.16.ebuild12
-rw-r--r--dev-libs/libratbag/libratbag-0.17-r1.ebuild108
-rw-r--r--dev-libs/libratbag/libratbag-0.17.ebuild102
-rw-r--r--dev-libs/libratbag/libratbag-9999.ebuild108
-rw-r--r--dev-libs/librdkafka/Manifest10
-rw-r--r--dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch285
-rw-r--r--dev-libs/librdkafka/librdkafka-1.4.4.ebuild83
-rw-r--r--dev-libs/librdkafka/librdkafka-1.5.0.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.5.2.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.5.3.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.6.0.ebuild93
-rw-r--r--dev-libs/librdkafka/librdkafka-1.6.1.ebuild97
-rw-r--r--dev-libs/librdkafka/librdkafka-1.7.0.ebuild97
-rw-r--r--dev-libs/librdkafka/librdkafka-1.8.0.ebuild97
-rw-r--r--dev-libs/librdkafka/librdkafka-1.8.2.ebuild106
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild111
-rw-r--r--dev-libs/librdkafka/metadata.xml4
-rw-r--r--dev-libs/librelp/Manifest1
-rw-r--r--dev-libs/librelp/librelp-1.10.0-r1.ebuild72
-rw-r--r--dev-libs/librelp/librelp-1.10.0.ebuild71
-rw-r--r--dev-libs/librelp/librelp-1.11.0.ebuild72
-rw-r--r--dev-libs/libretls/Manifest3
-rw-r--r--dev-libs/libretls/libretls-3.5.2-r1.ebuild27
-rw-r--r--dev-libs/libretls/libretls-3.7.0.ebuild27
-rw-r--r--dev-libs/libretls/libretls-3.8.1.ebuild27
-rw-r--r--dev-libs/librevenge/librevenge-0.0.5.ebuild6
-rw-r--r--dev-libs/librevenge/librevenge-9999.ebuild6
-rw-r--r--dev-libs/libsass/Manifest1
-rw-r--r--dev-libs/libsass/libsass-3.6.5-r1.ebuild4
-rw-r--r--dev-libs/libsass/libsass-3.6.6.ebuild47
-rw-r--r--dev-libs/libsass/libsass-9999.ebuild4
-rw-r--r--dev-libs/libsavitar/Manifest1
-rw-r--r--dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch8
-rw-r--r--dev-libs/libsavitar/libsavitar-4.13.0.ebuild76
-rw-r--r--dev-libs/libsavitar/metadata.xml23
-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/Manifest6
-rw-r--r--dev-libs/libsecp256k1/files/0.2.0-fix-cross-compile.patch87
-rw-r--r--dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch99
-rw-r--r--dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch99
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild4
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.2.0-r2.ebuild72
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild72
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild72
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild72
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild73
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild64
-rw-r--r--dev-libs/libsecp256k1/metadata.xml3
-rw-r--r--dev-libs/libserdes/metadata.xml3
-rw-r--r--dev-libs/libserialport/libserialport-0.1.1-r1.ebuild4
-rw-r--r--dev-libs/libserialport/libserialport-9999.ebuild4
-rw-r--r--dev-libs/libsigc++/Manifest4
-rw-r--r--dev-libs/libsigc++/libsigc++-2.10.8.ebuild36
-rw-r--r--dev-libs/libsigc++/libsigc++-2.12.0.ebuild6
-rw-r--r--dev-libs/libsigc++/libsigc++-3.2.0-r1.ebuild47
-rw-r--r--dev-libs/libsigc++/libsigc++-3.4.0.ebuild40
-rw-r--r--dev-libs/libsigc++/libsigc++-3.6.0.ebuild40
-rw-r--r--dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch79
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.13.ebuild2
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild40
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14.ebuild4
-rw-r--r--dev-libs/libslz/libslz-1.2.0-r1.ebuild4
-rw-r--r--dev-libs/libsodium/Manifest4
-rw-r--r--dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch40
-rw-r--r--dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild54
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19-r1.ebuild74
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19-r2.ebuild73
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild77
-rw-r--r--dev-libs/libsodium/metadata.xml1
-rw-r--r--dev-libs/libstrl/Manifest1
-rw-r--r--dev-libs/libstrl/libstrl-0.5.1-r2.ebuild35
-rw-r--r--dev-libs/libstrl/metadata.xml5
-rw-r--r--dev-libs/libstrophe/Manifest3
-rw-r--r--dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch59
-rw-r--r--dev-libs/libstrophe/libstrophe-0.12.2.ebuild17
-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/libtar/files/libtar-1.2.20-configure-clang16.patch43
-rw-r--r--dev-libs/libtar/libtar-1.2.20-r6.ebuild64
-rw-r--r--dev-libs/libtasn1/libtasn1-4.19.0.ebuild11
-rw-r--r--dev-libs/libtasn1/metadata.xml5
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-install.patch5
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch5
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch2
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch8
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch4
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch4
-rw-r--r--dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch4
-rw-r--r--dev-libs/libtecla/libtecla-1.6.3-r1.ebuild18
-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.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/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild4
-rw-r--r--dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild20
-rw-r--r--dev-libs/libtommath/Manifest2
-rw-r--r--dev-libs/libtommath/libtommath-1.2.0-r2.ebuild96
-rw-r--r--dev-libs/libtommath/libtommath-1.2.1.ebuild96
-rw-r--r--dev-libs/libtpms/Manifest3
-rw-r--r--dev-libs/libtpms/libtpms-0.9.4.ebuild47
-rw-r--r--dev-libs/libtpms/libtpms-0.9.5.ebuild48
-rw-r--r--dev-libs/libtpms/libtpms-0.9.6.ebuild48
-rw-r--r--dev-libs/libtpms/metadata.xml3
-rw-r--r--dev-libs/libtracecmd/Manifest1
-rw-r--r--dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild46
-rw-r--r--dev-libs/libtracecmd/metadata.xml12
-rw-r--r--dev-libs/libtraceevent/Manifest4
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild2
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.7.0.ebuild50
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.7.1.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/libtracefs/Manifest1
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild61
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.4.ebuild55
-rw-r--r--dev-libs/libtracefs/libtracefs-1.7.0.ebuild51
-rw-r--r--dev-libs/libtreadstone/Manifest1
-rw-r--r--dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild27
-rw-r--r--dev-libs/libtreadstone/metadata.xml8
-rw-r--r--dev-libs/libtsm/Manifest2
-rw-r--r--dev-libs/libtsm/libtsm-4.0.2.ebuild17
-rw-r--r--dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild19
-rw-r--r--dev-libs/libtubo/Manifest1
-rw-r--r--dev-libs/libtubo/libtubo-5.0.15.ebuild27
-rw-r--r--dev-libs/libtubo/metadata.xml8
-rw-r--r--dev-libs/libucl/Manifest2
-rw-r--r--dev-libs/libucl/files/libucl-0.9.0-gchar-compile.patch36
-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.ebuild13
-rw-r--r--dev-libs/libudfread/Manifest2
-rw-r--r--dev-libs/libudfread/libudfread-1.1.0.ebuild37
-rw-r--r--dev-libs/libudfread/libudfread-1.1.1.ebuild37
-rw-r--r--dev-libs/libudfread/libudfread-1.1.2.ebuild4
-rw-r--r--dev-libs/libuev/Manifest1
-rw-r--r--dev-libs/libuev/libuev-2.4.1.ebuild24
-rw-r--r--dev-libs/libunibreak/Manifest6
-rw-r--r--dev-libs/libunibreak/libunibreak-4.3.ebuild54
-rw-r--r--dev-libs/libunibreak/libunibreak-5.0-r1.ebuild54
-rw-r--r--dev-libs/libunibreak/libunibreak-5.1.ebuild67
-rw-r--r--dev-libs/libunibreak/metadata.xml3
-rw-r--r--dev-libs/libuninum/files/libuninum-2.7-64bit.patch37
-rw-r--r--dev-libs/libuninum/files/libuninum-2.7-c99.patch30
-rw-r--r--dev-libs/libuninum/libuninum-2.7-r1.ebuild36
-rw-r--r--dev-libs/libuninum/libuninum-2.7-r3.ebuild46
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r2.ebuild8
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r3.ebuild65
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r1.ebuild8
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r2.ebuild46
-rw-r--r--dev-libs/libunistring/Manifest1
-rw-r--r--dev-libs/libunistring/libunistring-0.9.10-r1.ebuild6
-rw-r--r--dev-libs/libunistring/libunistring-1.0.ebuild4
-rw-r--r--dev-libs/libunistring/libunistring-1.1-r1.ebuild4
-rw-r--r--dev-libs/libunistring/libunistring-1.2.ebuild49
-rw-r--r--dev-libs/libusb-compat/Manifest1
-rw-r--r--dev-libs/libusb-compat/files/libusb-0.1-ansi.patch188
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild50
-rw-r--r--dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild4
-rw-r--r--dev-libs/libusb/Manifest1
-rw-r--r--dev-libs/libusb/libusb-1.0.26.ebuild4
-rw-r--r--dev-libs/libusb/libusb-1.0.27-r1.ebuild79
-rw-r--r--dev-libs/libusb/metadata.xml1
-rw-r--r--dev-libs/libutf8proc/Manifest6
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.7.0.ebuild57
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.8.0.ebuild57
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild57
-rw-r--r--dev-libs/libuv/Manifest3
-rw-r--r--dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch21
-rw-r--r--dev-libs/libuv/libuv-1.44.2-r1.ebuild53
-rw-r--r--dev-libs/libuv/libuv-1.48.0.ebuild62
-rw-r--r--dev-libs/libuv/libuv-9999.ebuild27
-rw-r--r--dev-libs/libverto/Manifest1
-rw-r--r--dev-libs/libverto/files/libverto-0.3.1-non-bash.patch133
-rw-r--r--dev-libs/libverto/libverto-0.3.1-r1.ebuild55
-rw-r--r--dev-libs/libverto/libverto-0.3.2.ebuild6
-rw-r--r--dev-libs/libverto/metadata.xml4
-rw-r--r--dev-libs/libvoikko/Manifest4
-rw-r--r--dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch30
-rw-r--r--dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch30
-rw-r--r--dev-libs/libvoikko/libvoikko-4.3.1.ebuild55
-rw-r--r--dev-libs/libvoikko/libvoikko-4.3.2.ebuild57
-rw-r--r--dev-libs/libvterm/Manifest3
-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.1.4.ebuild4
-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.ebuild6
-rw-r--r--dev-libs/libwacom/Manifest6
-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.4.0.ebuild71
-rw-r--r--dev-libs/libwacom/libwacom-2.5.0.ebuild71
-rw-r--r--dev-libs/libwacom/libwacom-2.6.0.ebuild17
-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/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch12
-rw-r--r--dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild13
-rw-r--r--dev-libs/libwapcaplet/metadata.xml5
-rw-r--r--dev-libs/libx86/files/libx86-1.1-c99.patch17
-rw-r--r--dev-libs/libx86/libx86-1.1-r6.ebuild40
-rw-r--r--dev-libs/libx86/metadata.xml5
-rw-r--r--dev-libs/libx86emu/Manifest1
-rw-r--r--dev-libs/libx86emu/libx86emu-1.1-r1.ebuild28
-rw-r--r--dev-libs/libx86emu/libx86emu-1.1.ebuild28
-rw-r--r--dev-libs/libx86emu/libx86emu-3.5-r1.ebuild33
-rw-r--r--dev-libs/libx86emu/metadata.xml5
-rw-r--r--dev-libs/libxdg-basedir/Manifest1
-rw-r--r--dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch26
-rw-r--r--dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild53
-rw-r--r--dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild6
-rw-r--r--dev-libs/libxls/files/libxls-1.6.2-gcc13.patch25
-rw-r--r--dev-libs/libxls/libxls-1.6.2-r1.ebuild33
-rw-r--r--dev-libs/libxls/libxls-1.6.2.ebuild32
-rw-r--r--dev-libs/libxlsxwriter/Manifest2
-rw-r--r--dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.4-fix-pkgconfig-version.patch18
-rw-r--r--dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.5-findzlib.patch22
-rw-r--r--dev-libs/libxlsxwriter/libxlsxwriter-1.1.4-r1.ebuild50
-rw-r--r--dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild50
-rw-r--r--dev-libs/libxml2/Manifest4
-rw-r--r--dev-libs/libxml2/files/libxml2-2.10.3-python3-unicode-errors.patch35
-rw-r--r--dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch71
-rw-r--r--dev-libs/libxml2/libxml2-2.10.3-r1.ebuild203
-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-9999.ebuild33
-rw-r--r--dev-libs/libxmlb/Manifest4
-rw-r--r--dev-libs/libxmlb/files/libxmlb-0.3.12-no_installed_tests.patch33
-rw-r--r--dev-libs/libxmlb/files/libxmlb-0.3.9-no_installed_tests.patch26
-rw-r--r--dev-libs/libxmlb/libxmlb-0.3.10.ebuild63
-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.xml4
-rw-r--r--dev-libs/libxslt/Manifest2
-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.37-r1.ebuild127
-rw-r--r--dev-libs/libxslt/libxslt-1.1.39.ebuild128
-rw-r--r--dev-libs/libxslt/libxslt-9999.ebuild17
-rw-r--r--dev-libs/libyaml/libyaml-0.2.2.ebuild6
-rw-r--r--dev-libs/libyaml/libyaml-0.2.5.ebuild6
-rw-r--r--dev-libs/libzia/Manifest8
-rw-r--r--dev-libs/libzia/files/libzia-4.37-configure.patch14
-rw-r--r--dev-libs/libzia/libzia-4.34.ebuild54
-rw-r--r--dev-libs/libzia/libzia-4.36.ebuild54
-rw-r--r--dev-libs/libzia/libzia-4.37.ebuild59
-rw-r--r--dev-libs/libzia/libzia-4.39.ebuild54
-rw-r--r--dev-libs/libzia/libzia-4.40.ebuild54
-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/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/link-grammar-5.11.0.ebuild109
-rw-r--r--dev-libs/link-grammar/link-grammar-5.12.0.ebuild109
-rw-r--r--dev-libs/link-grammar/link-grammar-5.12.3.ebuild118
-rw-r--r--dev-libs/linux-syscall-support/Manifest1
-rw-r--r--dev-libs/linux-syscall-support/linux-syscall-support-2021.05.03.ebuild8
-rw-r--r--dev-libs/linux-syscall-support/linux-syscall-support-2022.10.12.ebuild30
-rw-r--r--dev-libs/log4cplus/Manifest2
-rw-r--r--dev-libs/log4cplus/log4cplus-2.0.7.ebuild12
-rw-r--r--dev-libs/log4cpp/Manifest1
-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.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.ebuild4
-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/log4cxx/Manifest2
-rw-r--r--dev-libs/log4cxx/log4cxx-1.0.0.ebuild56
-rw-r--r--dev-libs/log4cxx/log4cxx-1.2.0.ebuild45
-rw-r--r--dev-libs/log4cxx/metadata.xml11
-rw-r--r--dev-libs/log4sh/metadata.xml5
-rw-r--r--dev-libs/lzo/lzo-2.10.ebuild2
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild4
-rw-r--r--dev-libs/maloc/maloc-1.5-r1.ebuild4
-rw-r--r--dev-libs/marisa/marisa-0.2.6.ebuild3
-rw-r--r--dev-libs/marisa/marisa-9999.ebuild3
-rw-r--r--dev-libs/mathjax/Manifest3
-rw-r--r--dev-libs/mathjax/mathjax-2.7.7-r1.ebuild93
-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.xml11
-rw-r--r--dev-libs/mdns/Manifest2
-rw-r--r--dev-libs/mdns/files/mdns-1.4.2-timeval.patch12
-rw-r--r--dev-libs/mdns/mdns-1.4.2.ebuild18
-rw-r--r--dev-libs/mdns/mdns-1.4.3.ebuild21
-rw-r--r--dev-libs/metee/Manifest3
-rw-r--r--dev-libs/metee/metee-3.1.4.ebuild37
-rw-r--r--dev-libs/metee/metee-3.1.5.ebuild37
-rw-r--r--dev-libs/metee/metee-3.2.4.ebuild37
-rw-r--r--dev-libs/mimalloc/Manifest5
-rw-r--r--dev-libs/mimalloc/mimalloc-2.0.6.ebuild31
-rw-r--r--dev-libs/mimalloc/mimalloc-2.0.7.ebuild30
-rw-r--r--dev-libs/mimalloc/mimalloc-2.0.9.ebuild30
-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/metadata.xml8
-rw-r--r--dev-libs/mimetic/mimetic-0.9.8.ebuild8
-rw-r--r--dev-libs/miniaudio/Manifest1
-rw-r--r--dev-libs/miniaudio/metadata.xml2
-rw-r--r--dev-libs/miniaudio/miniaudio-0.11.11.ebuild4
-rw-r--r--dev-libs/miniaudio/miniaudio-0.11.15.ebuild17
-rw-r--r--dev-libs/miniz/Manifest1
-rw-r--r--dev-libs/miniz/miniz-2.2.0-r1.ebuild2
-rw-r--r--dev-libs/miniz/miniz-3.0.1.ebuild4
-rw-r--r--dev-libs/miniz/miniz-3.0.2.ebuild16
-rw-r--r--dev-libs/mmtf-cpp/mmtf-cpp-1.1.0-r1.ebuild17
-rw-r--r--dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild19
-rw-r--r--dev-libs/modsecurity/Manifest4
-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/modsecurity/modsecurity-3.0.8.ebuild69
-rw-r--r--dev-libs/mongo-c-driver/Manifest1
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.18.0-r1.ebuild9
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild96
-rw-r--r--dev-libs/mpc/Manifest1
-rw-r--r--dev-libs/mpc/mpc-1.2.1.ebuild28
-rw-r--r--dev-libs/mpc/mpc-1.3.1.ebuild8
-rw-r--r--dev-libs/mpfr/Manifest20
-rw-r--r--dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild82
-rw-r--r--dev-libs/mpfr/mpfr-4.1.1_p1.ebuild82
-rw-r--r--dev-libs/mpfr/mpfr-4.2.0.ebuild90
-rw-r--r--dev-libs/mpfr/mpfr-4.2.1.ebuild98
-rw-r--r--dev-libs/msgpack/Manifest3
-rw-r--r--dev-libs/msgpack/metadata.xml3
-rw-r--r--dev-libs/msgpack/msgpack-3.3.0.ebuild77
-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/Manifest1
-rw-r--r--dev-libs/mxml/mxml-3.3.1-r1.ebuild63
-rw-r--r--dev-libs/mxml/mxml-3.3.1.ebuild59
-rw-r--r--dev-libs/mxml/mxml-4.0.3.ebuild61
-rw-r--r--dev-libs/nanomsg/Manifest1
-rw-r--r--dev-libs/nanomsg/nanomsg-1.2.1.ebuild36
-rw-r--r--dev-libs/ncnn/Manifest3
-rw-r--r--dev-libs/ncnn/metadata.xml5
-rw-r--r--dev-libs/ncnn/ncnn-20221128-r1.ebuild46
-rw-r--r--dev-libs/ncnn/ncnn-20240102-r1.ebuild68
-rw-r--r--dev-libs/ncnn/ncnn-20240410.ebuild68
-rw-r--r--dev-libs/nettle/Manifest4
-rw-r--r--dev-libs/nettle/metadata.xml3
-rw-r--r--dev-libs/nettle/nettle-3.8.1.ebuild8
-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/Manifest1
-rw-r--r--dev-libs/newt/files/newt-0.52.23-gold.patch13
-rw-r--r--dev-libs/newt/newt-0.52.23-r1.ebuild102
-rw-r--r--dev-libs/newt/newt-0.52.24.ebuild102
-rw-r--r--dev-libs/nmeap/nmeap-0.3-r2.ebuild4
-rw-r--r--dev-libs/npth/Manifest1
-rw-r--r--dev-libs/npth/files/npth-1.7-musl.patch16
-rw-r--r--dev-libs/npth/npth-1.6-r1.ebuild2
-rw-r--r--dev-libs/npth/npth-1.6-r2.ebuild34
-rw-r--r--dev-libs/npth/npth-1.7-r1.ebuild39
-rw-r--r--dev-libs/nsgenbind/Manifest2
-rw-r--r--dev-libs/nsgenbind/metadata.xml5
-rw-r--r--dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild32
-rw-r--r--dev-libs/nsgenbind/nsgenbind-0.9.ebuild31
-rw-r--r--dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch26
-rw-r--r--dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch15
-rw-r--r--dev-libs/nspr/nspr-4.35-r1.ebuild163
-rw-r--r--dev-libs/nspr/nspr-4.35-r2.ebuild178
-rw-r--r--dev-libs/nspr/nspr-4.35.ebuild156
-rw-r--r--dev-libs/nss-pem/Manifest2
-rw-r--r--dev-libs/nss-pem/nss-pem-1.0.8.ebuild30
-rw-r--r--dev-libs/nss-pem/nss-pem-1.1.0.ebuild29
-rw-r--r--dev-libs/nss/Manifest4
-rw-r--r--dev-libs/nss/files/nss-3.23-hppa-byte_order.patch16
-rw-r--r--dev-libs/nss/files/nss-3.79-fix-client-cert-crash.patch23
-rw-r--r--dev-libs/nss/files/nss-3.79-gcc-13.patch33
-rw-r--r--dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch85
-rw-r--r--dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch78
-rw-r--r--dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch35
-rw-r--r--dev-libs/nss/metadata.xml3
-rw-r--r--dev-libs/nss/nss-3.79.2.ebuild391
-rw-r--r--dev-libs/nss/nss-3.87.ebuild394
-rw-r--r--dev-libs/nss/nss-3.90.2-r1.ebuild420
-rw-r--r--dev-libs/nss/nss-3.90.2.ebuild419
-rw-r--r--dev-libs/nss/nss-3.99.ebuild418
-rw-r--r--dev-libs/nsync/Manifest2
-rw-r--r--dev-libs/nsync/metadata.xml3
-rw-r--r--dev-libs/nsync/nsync-1.24.0-r1.ebuild23
-rw-r--r--dev-libs/nsync/nsync-1.25.0.ebuild4
-rw-r--r--dev-libs/nsync/nsync-1.26.0.ebuild23
-rw-r--r--dev-libs/ntl/metadata.xml3
-rw-r--r--dev-libs/ntl/ntl-11.5.1-r1.ebuild79
-rw-r--r--dev-libs/ntl/ntl-11.5.1-r2.ebuild80
-rw-r--r--dev-libs/ntl/ntl-11.5.1-r4.ebuild85
-rw-r--r--dev-libs/nwjs/Manifest2
-rw-r--r--dev-libs/nwjs/metadata.xml3
-rw-r--r--dev-libs/nwjs/nwjs-0.67.1.ebuild141
-rw-r--r--dev-libs/nwjs/nwjs-0.82.0.ebuild144
-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/oniguruma/Manifest1
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.8.ebuild2
-rw-r--r--dev-libs/oniguruma/oniguruma-6.9.9.ebuild55
-rw-r--r--dev-libs/opencl-clang/Manifest3
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch11
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch11
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch36
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch23
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch105
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch26
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch19
-rw-r--r--dev-libs/opencl-clang/opencl-clang-14.0.0.ebuild40
-rw-r--r--dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild39
-rw-r--r--dev-libs/opencl-clang/opencl-clang-15.0.0.ebuild37
-rw-r--r--dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild44
-rw-r--r--dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild42
-rw-r--r--dev-libs/opencl-icd-loader/Manifest3
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2022.09.30.ebuild39
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild44
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild44
-rw-r--r--dev-libs/openct/openct-0.6.20-r5.ebuild10
-rw-r--r--dev-libs/openobex/metadata.xml5
-rw-r--r--dev-libs/openobex/openobex-1.7.2-r3.ebuild4
-rw-r--r--dev-libs/openpace/Manifest2
-rw-r--r--dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-1.patch25
-rw-r--r--dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-2.patch76
-rw-r--r--dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-3.patch23
-rw-r--r--dev-libs/openpace/openpace-1.1.2.ebuild52
-rw-r--r--dev-libs/openpace/openpace-1.1.3.ebuild46
-rw-r--r--dev-libs/opensc/Manifest5
-rw-r--r--dev-libs/opensc/opensc-0.22.0.ebuild65
-rw-r--r--dev-libs/opensc/opensc-0.23.0.ebuild70
-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/openssl-compat/Manifest4
-rw-r--r--dev-libs/openssl-compat/files/gentoo.config-1.0.4176
-rw-r--r--dev-libs/openssl-compat/metadata.xml1
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild6
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.1.1s.ebuild264
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild221
-rw-r--r--dev-libs/openssl/Manifest20
-rw-r--r--dev-libs/openssl/files/gentoo.config-1.0.3172
-rw-r--r--dev-libs/openssl/files/gentoo.config-1.0.416
-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.0.5-test-memcmp.patch24
-rw-r--r--dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch35
-rw-r--r--dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch137
-rw-r--r--dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch78
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch137
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch79
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-riscv.patch70
-rw-r--r--dev-libs/openssl/metadata.xml1
-rw-r--r--dev-libs/openssl/openssl-1.0.2u-r1.ebuild10
-rw-r--r--dev-libs/openssl/openssl-1.1.1q.ebuild340
-rw-r--r--dev-libs/openssl/openssl-1.1.1s-r1.ebuild340
-rw-r--r--dev-libs/openssl/openssl-1.1.1s.ebuild342
-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.0.7-r1.ebuild338
-rw-r--r--dev-libs/openssl/openssl-3.0.7-r2.ebuild326
-rw-r--r--dev-libs/openssl/openssl-3.1.5-r1.ebuild285
-rw-r--r--dev-libs/openssl/openssl-3.1.5-r2.ebuild286
-rw-r--r--dev-libs/openssl/openssl-3.2.1-r1.ebuild306
-rw-r--r--dev-libs/openssl/openssl-3.2.1-r2.ebuild307
-rw-r--r--dev-libs/openssl/openssl-3.3.0.ebuild300
-rw-r--r--dev-libs/optix/metadata.xml4
-rw-r--r--dev-libs/optix/optix-7.4.0.ebuild4
-rw-r--r--dev-libs/papi/files/papi-6.0.0.1-configure-c99.patch88
-rw-r--r--dev-libs/papi/papi-6.0.0.1-r2.ebuild61
-rw-r--r--dev-libs/pcl/files/pcl-1.12-musl.patch20
-rw-r--r--dev-libs/pcl/pcl-1.12-r1.ebuild21
-rw-r--r--dev-libs/pcl/pcl-1.12-r2.ebuild25
-rw-r--r--dev-libs/pegtl/Manifest1
-rw-r--r--dev-libs/pegtl/pegtl-3.2.5.ebuild4
-rw-r--r--dev-libs/pegtl/pegtl-3.2.7.ebuild27
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild11
-rw-r--r--dev-libs/plasma-wayland-protocols/Manifest3
-rw-r--r--dev-libs/plasma-wayland-protocols/metadata.xml1
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.10.0.ebuild19
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild35
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.9.0.ebuild19
-rw-r--r--dev-libs/pmdk/pmdk-1.12.1.ebuild4
-rw-r--r--dev-libs/pmdk/pmdk-1.9.2.ebuild4
-rw-r--r--dev-libs/pocketfft/pocketfft-2021.11.23.ebuild6
-rw-r--r--dev-libs/pocl/Manifest3
-rw-r--r--dev-libs/pocl/files/pocl-3.0-cuda.patch48
-rw-r--r--dev-libs/pocl/files/pocl-3.0-fix-version.patch11
-rw-r--r--dev-libs/pocl/files/pocl-3.0-icd.patch127
-rw-r--r--dev-libs/pocl/files/pocl-3.1-nodebug.patch29
-rw-r--r--dev-libs/pocl/metadata.xml2
-rw-r--r--dev-libs/pocl/pocl-3.0.ebuild144
-rw-r--r--dev-libs/pocl/pocl-3.1.ebuild125
-rw-r--r--dev-libs/pocl/pocl-4.0.ebuild113
-rw-r--r--dev-libs/poco/poco-1.12.4.ebuild5
-rw-r--r--dev-libs/popt/Manifest1
-rw-r--r--dev-libs/popt/popt-1.18.ebuild45
-rw-r--r--dev-libs/popt/popt-1.19-r1.ebuild47
-rw-r--r--dev-libs/popt/popt-1.19.ebuild52
-rw-r--r--dev-libs/ppl/ppl-1.2-r5.ebuild12
-rw-r--r--dev-libs/protobuf-c/Manifest1
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch501
-rw-r--r--dev-libs/protobuf-c/metadata.xml1
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild53
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.4.1-r1.ebuild56
-rw-r--r--dev-libs/protobuf/Manifest8
-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.16.0-protoc_input_output_files.patch240
-rw-r--r--dev-libs/protobuf/files/protobuf-3.20.1-protoc_input_output_files.patch240
-rw-r--r--dev-libs/protobuf/protobuf-21.12.ebuild105
-rw-r--r--dev-libs/protobuf/protobuf-21.8.ebuild148
-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.19.3.ebuild146
-rw-r--r--dev-libs/protobuf/protobuf-3.19.6.ebuild151
-rw-r--r--dev-libs/protobuf/protobuf-3.20.1-r1.ebuild143
-rw-r--r--dev-libs/protobuf/protobuf-3.20.3.ebuild148
-rw-r--r--dev-libs/protobuf/protobuf-9999.ebuild148
-rw-r--r--dev-libs/psimd/psimd-2020.05.17.ebuild6
-rw-r--r--dev-libs/pslib/pslib-0.4.6.ebuild6
-rw-r--r--dev-libs/ptexenc/Manifest1
-rw-r--r--dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild4
-rw-r--r--dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild48
-rw-r--r--dev-libs/pthreadpool/Manifest2
-rw-r--r--dev-libs/pthreadpool/pthreadpool-2022.05.09.ebuild35
-rw-r--r--dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild43
-rw-r--r--dev-libs/pthreads4w/Manifest1
-rw-r--r--dev-libs/pthreads4w/metadata.xml9
-rw-r--r--dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild72
-rw-r--r--dev-libs/pugixml/Manifest1
-rw-r--r--dev-libs/pugixml/pugixml-1.14.ebuild31
-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/Manifest3
-rw-r--r--dev-libs/qcoro5/metadata.xml1
-rw-r--r--dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild71
-rw-r--r--dev-libs/qcoro5/qcoro5-0.6.0-r1.ebuild61
-rw-r--r--dev-libs/qcoro5/qcoro5-0.7.0.ebuild64
-rw-r--r--dev-libs/qcustomplot/Manifest4
-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/qoauth-2.0.1_pre20160315-r3.ebuild4
-rw-r--r--dev-libs/qqwing/qqwing-1.3.4-r1.ebuild4
-rw-r--r--dev-libs/qr-code-generator/Manifest2
-rw-r--r--dev-libs/qr-code-generator/metadata.xml16
-rw-r--r--dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild28
-rw-r--r--dev-libs/qtcompress/Manifest1
-rw-r--r--dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch10
-rw-r--r--dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch10
-rw-r--r--dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch13
-rw-r--r--dev-libs/qtcompress/metadata.xml15
-rw-r--r--dev-libs/qtcompress/qtcompress-0_p20180513.ebuild65
-rw-r--r--dev-libs/qtkeychain/Manifest2
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild47
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild74
-rw-r--r--dev-libs/quazip/Manifest1
-rw-r--r--dev-libs/quazip/files/quazip-1.4-cmake.patch76
-rw-r--r--dev-libs/quazip/quazip-1.3-r1.ebuild49
-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/Manifest4
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch26
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch24
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch92
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch23
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch26
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.4.ebuild62
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.5.ebuild56
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.6.ebuild60
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.7.ebuild56
-rw-r--r--dev-libs/raft/Manifest4
-rw-r--r--dev-libs/raft/files/raft-0.11.3-disable-automagic-check-for-lz4.patch79
-rw-r--r--dev-libs/raft/metadata.xml2
-rw-r--r--dev-libs/raft/raft-0.16.0.ebuild55
-rw-r--r--dev-libs/raft/raft-0.17.1.ebuild56
-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/rapidjson-1.1.0-r3.ebuild56
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild59
-rw-r--r--dev-libs/rapidjson/rapidjson-9999.ebuild26
-rw-r--r--dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch29
-rw-r--r--dev-libs/rasqal/rasqal-0.9.33-r1.ebuild76
-rw-r--r--dev-libs/rasqal/rasqal-0.9.33-r2.ebuild77
-rw-r--r--dev-libs/rccl/Manifest1
-rw-r--r--dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch17
-rw-r--r--dev-libs/rccl/rccl-5.1.3.ebuild6
-rw-r--r--dev-libs/rccl/rccl-5.7.1.ebuild78
-rw-r--r--dev-libs/re2/metadata.xml9
-rw-r--r--dev-libs/re2/re2-0.2022.12.01.ebuild4
-rw-r--r--dev-libs/redis-ipc/metadata.xml5
-rw-r--r--dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch64
-rw-r--r--dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch77
-rw-r--r--dev-libs/redland-bindings/redland-bindings-1.0.17.1-r101.ebuild50
-rw-r--r--dev-libs/redland/redland-1.0.17-r3.ebuild9
-rw-r--r--dev-libs/rinutils/Manifest1
-rw-r--r--dev-libs/rinutils/rinutils-0.10.2-r1.ebuild43
-rw-r--r--dev-libs/rinutils/rinutils-0.10.2.ebuild23
-rw-r--r--dev-libs/rlog/rlog-1.4.ebuild10
-rw-r--r--dev-libs/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-add_timer_for_riscv.patch40
-rw-r--r--dev-libs/rocksdb/metadata.xml8
-rw-r--r--dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild51
-rw-r--r--dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild52
-rw-r--r--dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild79
-rw-r--r--dev-libs/rocksdb/rocksdb-6.15.5.ebuild51
-rw-r--r--dev-libs/rocksdb/rocksdb-6.17.3.ebuild52
-rw-r--r--dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild79
-rw-r--r--dev-libs/rocksdb/rocksdb-7.9.2.ebuild2
-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/Manifest4
-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/rocm-comgr-5.3.3-r1.ebuild61
-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/Manifest4
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-5.4.3-Revert-Update-counters-for-gfx11.patch216
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch13
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-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/Manifest6
-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-5.3.3-gcc13.patch27
-rw-r--r--dev-libs/rocm-opencl-runtime/metadata.xml4
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild15
-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.3.3.ebuild122
-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/Manifest4
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch73
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch106
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild51
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.3.3.ebuild49
-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/Manifest4
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch14
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch61
-rw-r--r--dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch12
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-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/s2n/metadata.xml3
-rw-r--r--dev-libs/sdformat/Manifest3
-rw-r--r--dev-libs/sdformat/files/ruby.patch31
-rw-r--r--dev-libs/sdformat/sdformat-9.10.0.ebuild43
-rw-r--r--dev-libs/sdformat/sdformat-9.7.0.ebuild42
-rw-r--r--dev-libs/sdformat/sdformat-9.8.0.ebuild42
-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.xml3
-rw-r--r--dev-libs/serd/serd-0.30.16.ebuild46
-rw-r--r--dev-libs/serd/serd-0.32.2.ebuild47
-rw-r--r--dev-libs/serdisplib/serdisplib-2.02-r2.ebuild10
-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/simde/Manifest1
-rw-r--r--dev-libs/simde/files/simde-0.7.6-musl.patch18
-rw-r--r--dev-libs/simde/files/simde-0.8.0-xop.patch28
-rw-r--r--dev-libs/simde/metadata.xml11
-rw-r--r--dev-libs/simde/simde-0.8.0-r1.ebuild46
-rw-r--r--dev-libs/simdjson/Manifest6
-rw-r--r--dev-libs/simdjson/files/simdjson-1.0.0-tests.patch17
-rw-r--r--dev-libs/simdjson/files/simdjson-3.1.7-tests.patch21
-rw-r--r--dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch17
-rw-r--r--dev-libs/simdjson/metadata.xml1
-rw-r--r--dev-libs/simdjson/simdjson-3.0.0.ebuild87
-rw-r--r--dev-libs/simdjson/simdjson-3.1.0.ebuild87
-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/files/sink-0.8.0-musl-execinfo.patch48
-rw-r--r--dev-libs/sink/metadata.xml8
-rw-r--r--dev-libs/sink/sink-0.8.0-r3.ebuild58
-rw-r--r--dev-libs/skalibs/Manifest3
-rw-r--r--dev-libs/skalibs/metadata.xml8
-rw-r--r--dev-libs/skalibs/skalibs-2.12.0.1.ebuild42
-rw-r--r--dev-libs/skalibs/skalibs-2.13.0.0.ebuild43
-rw-r--r--dev-libs/skalibs/skalibs-2.14.1.1.ebuild43
-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/sleef-3.5.1-r1.ebuild45
-rw-r--r--dev-libs/sleef/sleef-3.5.1.ebuild34
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild6
-rw-r--r--dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild6
-rw-r--r--dev-libs/softhsm/Manifest1
-rw-r--r--dev-libs/softhsm/metadata.xml3
-rw-r--r--dev-libs/softhsm/softhsm-2.6.1-r2.ebuild4
-rw-r--r--dev-libs/softhsm/softhsm-2.6.1-r3.ebuild61
-rw-r--r--dev-libs/sord/Manifest2
-rw-r--r--dev-libs/sord/sord-0.16.14-r1.ebuild55
-rw-r--r--dev-libs/sord/sord-0.16.16-r1.ebuild61
-rw-r--r--dev-libs/sord/sord-9999.ebuild16
-rw-r--r--dev-libs/spdlog/Manifest3
-rw-r--r--dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch13
-rw-r--r--dev-libs/spdlog/files/spdlog-1.9.2-fix-clone-test.patch13
-rw-r--r--dev-libs/spdlog/files/spdlog-fmt-10.patch121
-rw-r--r--dev-libs/spdlog/files/spdlog-musl-1.2.4.patch30
-rw-r--r--dev-libs/spdlog/spdlog-1.10.0.ebuild52
-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.11.0.ebuild51
-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-9999.ebuild19
-rw-r--r--dev-libs/squareball/squareball-0.2.0.ebuild4
-rw-r--r--dev-libs/squareball/squareball-9999.ebuild4
-rw-r--r--dev-libs/starpu/metadata.xml3
-rw-r--r--dev-libs/starpu/starpu-1.2.6-r1.ebuild17
-rw-r--r--dev-libs/starpu/starpu-1.3.9.ebuild8
-rw-r--r--dev-libs/stb/Manifest2
-rw-r--r--dev-libs/stb/stb-20200713.ebuild34
-rw-r--r--dev-libs/stb/stb-20240201-r1.ebuild41
-rw-r--r--dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch26
-rw-r--r--dev-libs/stfl/stfl-0.24-r4.ebuild2
-rw-r--r--dev-libs/stfl/stfl-0.24-r5.ebuild129
-rw-r--r--dev-libs/teakra/teakra-20220224.ebuild13
-rw-r--r--dev-libs/template-glib/Manifest2
-rw-r--r--dev-libs/template-glib/template-glib-3.36.0.ebuild49
-rw-r--r--dev-libs/template-glib/template-glib-3.36.2.ebuild49
-rw-r--r--dev-libs/thrift/Manifest2
-rw-r--r--dev-libs/thrift/files/thrift-0.18.1-tests.patch33
-rw-r--r--dev-libs/thrift/thrift-0.16.0-r1.ebuild50
-rw-r--r--dev-libs/thrift/thrift-0.16.0-r2.ebuild50
-rw-r--r--dev-libs/thrift/thrift-0.18.1-r1.ebuild59
-rw-r--r--dev-libs/thrift/thrift-0.20.0.ebuild59
-rw-r--r--dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch23
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild4
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild68
-rw-r--r--dev-libs/tinyxml2/Manifest1
-rw-r--r--dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch51
-rw-r--r--dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild25
-rw-r--r--dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild9
-rw-r--r--dev-libs/tllist/tllist-1.1.0.ebuild4
-rw-r--r--dev-libs/tlsh/tlsh-4.8.2.ebuild10
-rw-r--r--dev-libs/tntnet/tntnet-3.0.ebuild25
-rw-r--r--dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild6
-rw-r--r--dev-libs/totem-pl-parser/files/3.26.6-c99.patch22
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild73
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild72
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild2
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild2
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild2
-rw-r--r--dev-libs/tree-sitter-bash/Manifest3
-rw-r--r--dev-libs/tree-sitter-bash/metadata.xml4
-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/tree-sitter-c-sharp-0.20.0.ebuild2
-rw-r--r--dev-libs/tree-sitter-c/Manifest4
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-cmake/Manifest1
-rw-r--r--dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild14
-rw-r--r--dev-libs/tree-sitter-cpp/Manifest5
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild16
-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/tree-sitter-css-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild19
-rw-r--r--dev-libs/tree-sitter-gleam/Manifest1
-rw-r--r--dev-libs/tree-sitter-gleam/metadata.xml11
-rw-r--r--dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild21
-rw-r--r--dev-libs/tree-sitter-go/Manifest3
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild14
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild17
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-haskell/Manifest1
-rw-r--r--dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-html/Manifest1
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/Manifest5
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.20.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-javascript/Manifest4
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild14
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild17
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild13
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-json/Manifest3
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-julia/Manifest1
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild41
-rw-r--r--dev-libs/tree-sitter-ocaml/Manifest2
-rw-r--r--dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild4
-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/tree-sitter-php-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild14
-rw-r--r--dev-libs/tree-sitter-python/Manifest2
-rw-r--r--dev-libs/tree-sitter-python/tree-sitter-python-0.20.0.ebuild4
-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/tree-sitter-ql-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-regex/Manifest1
-rw-r--r--dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-ruby/Manifest3
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild18
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild20
-rw-r--r--dev-libs/tree-sitter-rust/Manifest2
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild13
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-scala/Manifest4
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-typescript/Manifest4
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild14
-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/Manifest7
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch21
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch19
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch20
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch21
-rw-r--r--dev-libs/tree-sitter/metadata.xml4
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.20.6.ebuild43
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.20.7.ebuild46
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild55
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild51
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild51
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild49
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.5.ebuild50
-rw-r--r--dev-libs/tree-sitter/tree-sitter-9999.ebuild15
-rw-r--r--dev-libs/trio/Manifest2
-rw-r--r--dev-libs/trio/trio-1.17.1.ebuild27
-rw-r--r--dev-libs/trio/trio-1.17.ebuild33
-rw-r--r--dev-libs/tvmet/tvmet-1.7.2-r2.ebuild4
-rw-r--r--dev-libs/udis86/udis86-1.7.2-r1.ebuild2
-rw-r--r--dev-libs/unibilium/unibilium-2.1.1-r1.ebuild4
-rw-r--r--dev-libs/unibilium/unibilium-2.1.1.ebuild4
-rw-r--r--dev-libs/univalue/univalue-9999.ebuild5
-rw-r--r--dev-libs/urdfdom/Manifest2
-rw-r--r--dev-libs/urdfdom/files/cb.patch23
-rw-r--r--dev-libs/urdfdom/urdfdom-1.0.4-r1.ebuild37
-rw-r--r--dev-libs/urdfdom/urdfdom-3.0.1.ebuild30
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild7
-rw-r--r--dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild7
-rw-r--r--dev-libs/uriparser/metadata.xml8
-rw-r--r--dev-libs/uriparser/uriparser-0.9.7.ebuild6
-rw-r--r--dev-libs/userspace-rcu/Manifest1
-rw-r--r--dev-libs/userspace-rcu/files/userspace-rcu-0.13.1-loong.patch3
-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/userspace-rcu-0.14.0.ebuild58
-rw-r--r--dev-libs/utfcpp/utfcpp-3.2.1.ebuild4
-rw-r--r--dev-libs/uulib/uulib-0.5.20-r3.ebuild2
-rw-r--r--dev-libs/vala-common/Manifest5
-rw-r--r--dev-libs/vala-common/metadata.xml1
-rw-r--r--dev-libs/vala-common/vala-common-0.56.14.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.15.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.16.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.17.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.3.ebuild29
-rw-r--r--dev-libs/vc/Manifest2
-rw-r--r--dev-libs/vc/vc-1.4.3.ebuild15
-rw-r--r--dev-libs/vc/vc-1.4.4.ebuild15
-rw-r--r--dev-libs/vectorscan/Manifest1
-rw-r--r--dev-libs/vectorscan/metadata.xml24
-rw-r--r--dev-libs/vectorscan/vectorscan-5.4.11.ebuild74
-rw-r--r--dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild4
-rw-r--r--dev-libs/volume_key/volume_key-0.3.12-r4.ebuild2
-rw-r--r--dev-libs/wayland-protocols/Manifest4
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild (renamed from dev-libs/wayland-protocols/wayland-protocols-1.31.ebuild)0
-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-9999.ebuild3
-rw-r--r--dev-libs/wayland/Manifest2
-rw-r--r--dev-libs/wayland/wayland-1.21.0-r1.ebuild66
-rw-r--r--dev-libs/wayland/wayland-1.22.0.ebuild66
-rw-r--r--dev-libs/wayland/wayland-9999.ebuild4
-rw-r--r--dev-libs/weston/Manifest2
-rw-r--r--dev-libs/weston/files/weston-10.0.0-backend-default.patch27
-rw-r--r--dev-libs/weston/files/weston-10.0.0-test-deps.patch34
-rw-r--r--dev-libs/weston/files/weston-neatvnc-0.8.patch15
-rw-r--r--dev-libs/weston/metadata.xml3
-rw-r--r--dev-libs/weston/weston-10.0.0.ebuild153
-rw-r--r--dev-libs/weston/weston-11.0.1-r10.ebuild141
-rw-r--r--dev-libs/weston/weston-11.0.1.ebuild140
-rw-r--r--dev-libs/weston/weston-13.0.0-r2.ebuild150
-rw-r--r--dev-libs/weston/weston-9999.ebuild36
-rw-r--r--dev-libs/xalan-c/xalan-c-1.12-r2.ebuild6
-rw-r--r--dev-libs/xalan-c/xalan-c-9999.ebuild6
-rw-r--r--dev-libs/xapian-bindings/Manifest6
-rw-r--r--dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-fix-java-installation.patch15
-rw-r--r--dev-libs/xapian-bindings/files/xapian-bindings-1.4.22-remove-precompiled-python.patch22
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.19.ebuild346
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild346
-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/Manifest6
-rw-r--r--dev-libs/xapian/xapian-1.4.19.ebuild75
-rw-r--r--dev-libs/xapian/xapian-1.4.21-r1.ebuild60
-rw-r--r--dev-libs/xapian/xapian-1.4.21.ebuild75
-rw-r--r--dev-libs/xapian/xapian-1.4.22.ebuild67
-rw-r--r--dev-libs/xapian/xapian-1.4.23.ebuild67
-rw-r--r--dev-libs/xapian/xapian-1.4.24.ebuild63
-rw-r--r--dev-libs/xapian/xapian-1.4.25.ebuild67
-rw-r--r--dev-libs/xbyak/xbyak-5.73.ebuild6
-rw-r--r--dev-libs/xerces-c/Manifest2
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch13
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch13
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild117
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild116
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild123
-rw-r--r--dev-libs/xerces-c/xerces-c-9999.ebuild22
-rw-r--r--dev-libs/xmlrpc-c/Manifest1
-rw-r--r--dev-libs/xmlrpc-c/files/xmlrpc-c-1.54.06-wformat-security.patch29
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild4
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild80
-rw-r--r--dev-libs/xmlsec/Manifest5
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch40
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch11
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch114
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch48
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch25
-rw-r--r--dev-libs/xmlsec/metadata.xml1
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.36.ebuild62
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.37.ebuild4
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.38.ebuild72
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.1.ebuild93
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.2.ebuild94
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild95
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.3.ebuild93
-rw-r--r--dev-libs/xxhash/Manifest3
-rw-r--r--dev-libs/xxhash/xxhash-0.7.3.ebuild35
-rw-r--r--dev-libs/xxhash/xxhash-0.8.0.ebuild35
-rw-r--r--dev-libs/xxhash/xxhash-0.8.1.ebuild4
-rw-r--r--dev-libs/xxhash/xxhash-0.8.2.ebuild43
-rw-r--r--dev-libs/yajl/Manifest1
-rw-r--r--dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch23
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r3.ebuild36
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r4.ebuild37
-rw-r--r--dev-libs/yajl/yajl-2.1.0-r5.ebuild36
-rw-r--r--dev-libs/yascreen/Manifest2
-rw-r--r--dev-libs/yascreen/files/yascreen-1.86-fix-install.patch22
-rw-r--r--dev-libs/yascreen/metadata.xml11
-rw-r--r--dev-libs/yascreen/yascreen-1.86-r1.ebuild36
-rw-r--r--dev-libs/yascreen/yascreen-1.92.ebuild30
-rw-r--r--dev-libs/yaz/Manifest2
-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/yaz-3.0.53.ebuild66
-rw-r--r--dev-libs/yaz/yaz-5.32.0.ebuild6
-rw-r--r--dev-libs/yaz/yaz-5.34.0.ebuild76
-rw-r--r--dev-libs/yyjson/Manifest2
-rw-r--r--dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch12
-rw-r--r--dev-libs/yyjson/metadata.xml10
-rw-r--r--dev-libs/yyjson/yyjson-0.8.0.ebuild40
-rw-r--r--dev-libs/yyjson/yyjson-0.9.0.ebuild40
-rw-r--r--dev-libs/zix/Manifest1
-rw-r--r--dev-libs/zix/metadata.xml12
-rw-r--r--dev-libs/zix/zix-0.4.2.ebuild48
-rw-r--r--dev-libs/zlog/Manifest1
-rw-r--r--dev-libs/zlog/files/zlog_no_static_lib.patch59
-rw-r--r--dev-libs/zlog/metadata.xml8
-rw-r--r--dev-libs/zlog/zlog-1.2.15.ebuild29
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r5.ebuild4
-rw-r--r--dev-libs/zziplib/Manifest2
-rw-r--r--dev-libs/zziplib/files/zziplib-0.13.72-incompatible-pointer-types.patch48
-rw-r--r--dev-libs/zziplib/zziplib-0.13.72-r2.ebuild52
-rw-r--r--dev-libs/zziplib/zziplib-0.13.72-r4.ebuild53
-rw-r--r--dev-libs/zziplib/zziplib-0.13.74.ebuild70
2169 files changed, 60864 insertions, 37013 deletions
diff --git a/dev-libs/FBGEMM/FBGEMM-2022.01.13-r1.ebuild b/dev-libs/FBGEMM/FBGEMM-2022.01.13-r1.ebuild
deleted file mode 100644
index a505928cb56c..000000000000
--- a/dev-libs/FBGEMM/FBGEMM-2022.01.13-r1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2022-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 flag-o-matic cmake
-
-CommitId=135412d2646f3bd753c8f1cfd33616110bbccd27
-
-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="test"
-
-DEPEND="
- ~dev-libs/asmjit-2021.11.13
- dev-libs/cpuinfo
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- test? ( dev-cpp/gtest )
- ${PYTHON_DEPS}
-"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}"/${PN}-${CommitId}
-
-PATCHES=(
- "${FILESDIR}"/${P}-gentoo.patch
-)
-
-src_prepare() {
- # Bug #855668
- filter-lto
-
- rm test/RowWiseSparseAdagradFusedTest.cc || die
- rm test/SparseAdagradTest.cc || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DFBGEMM_LIBRARY_TYPE=shared
- -DFBGEMM_BUILD_BENCHMARKS=OFF
- -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/FBGEMM/FBGEMM-2022.07.16.ebuild b/dev-libs/FBGEMM/FBGEMM-2022.07.16.ebuild
deleted file mode 100644
index 9a2f09a92e45..000000000000
--- a/dev-libs/FBGEMM/FBGEMM-2022.07.16.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022-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 flag-o-matic cmake
-
-CommitId=7d59e803359eb323598e572700db27de467b705a
-
-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="test"
-
-DEPEND="
- >=dev-libs/asmjit-2022.07.02
- dev-libs/cpuinfo
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- test? ( dev-cpp/gtest )
- ${PYTHON_DEPS}
-"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}"/${PN}-${CommitId}
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2022.01.13-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_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild
new file mode 100644
index 000000000000..ce3c44e805d1
--- /dev/null
+++ b/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-any-r1 flag-o-matic cmake
+
+CommitId=cdae5d97e3aa9fda4222f31c04dbd80249c918d1
+
+DESCRIPTION="Facebook GEneral Matrix Multiplication"
+HOMEPAGE="https://github.com/pytorch/FBGEMM"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ >=dev-libs/asmjit-2022.07.02
+ dev-libs/cpuinfo
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ # Bug #855668
+ filter-lto
+
+ rm test/RowWiseSparseAdagradFusedTest.cc || die
+ rm test/SparseAdagradTest.cc || die
+ sed -i \
+ -e "/-Werror/d" \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFBGEMM_LIBRARY_TYPE=shared
+ -DFBGEMM_BUILD_BENCHMARKS=OFF
+ -DFBGEMM_BUILD_DOCS=$(usex doc ON OFF)
+ -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ OMP_STACKSIZE=512k cmake_src_test
+}
diff --git a/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild
new file mode 100644
index 000000000000..0d2e34d143c4
--- /dev/null
+++ b/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-any-r1 flag-o-matic cmake
+
+CommitId=88fc6e741bc03e09fcdc3cd365fa3aafddb7ec24
+
+DESCRIPTION="Facebook GEneral Matrix Multiplication"
+HOMEPAGE="https://github.com/pytorch/FBGEMM"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ >=dev-libs/asmjit-2022.07.02
+ dev-libs/cpuinfo
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.11.02-gentoo.patch
+)
+
+src_prepare() {
+ # Bug #855668
+ filter-lto
+
+ rm test/RowWiseSparseAdagradFusedTest.cc || die
+ rm test/SparseAdagradTest.cc || die
+ sed -i \
+ -e "/-Werror/d" \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFBGEMM_LIBRARY_TYPE=shared
+ -DFBGEMM_BUILD_BENCHMARKS=OFF
+ -DFBGEMM_BUILD_DOCS=$(usex doc ON OFF)
+ -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ OMP_STACKSIZE=512k cmake_src_test
+}
diff --git a/dev-libs/FBGEMM/Manifest b/dev-libs/FBGEMM/Manifest
index 5fd675cbb2ad..edf24ff03da4 100644
--- a/dev-libs/FBGEMM/Manifest
+++ b/dev-libs/FBGEMM/Manifest
@@ -1,2 +1,2 @@
-DIST FBGEMM-2022.01.13.tar.gz 532297 BLAKE2B bced7e1a1712351a87762e8d0a28ed3bbc5678c8ce70b440e769e53dc15f68e3ec8c89df9307f33da788bd376613720892493c0b519d3860a6e2edb48de1fdba SHA512 a416c2c11b0e6798e0dbb376050ead79cb602cd4f0e41b6109eeefe3e939e410adf0ce828d1224a358eb8245a935cc431d8023ccc396f08ca88276fb91c66157
-DIST FBGEMM-2022.07.16.tar.gz 744470 BLAKE2B d1ee51ad72a22fb1b7abaefe330f70e27bc5d6dfda2587373d7e0209aef099ab10c8772612a9786fc2bd760f66154053b9e6c9a6b7f3c82ed2114536f7b30213 SHA512 7d245ea47c57c2da0555693624c45c8585aab5d1b171c9f3b909e140d9d0964cb9cf8f029c291c45f8070d5cfad6f7116e606fdd4120b2223279e39d4ba3f189
+DIST FBGEMM-2023.11.02.tar.gz 895265 BLAKE2B 0f884147a86881159485680f1cb0c7b7e65bba5a98e62c38534041264f920e08a268e348e3d82ba3d246226a10f592d86dc37bce0cfa42c72dad478041a6c807 SHA512 030f27a120586240c5f80026bd033cf6fedbe1ae12a667308d33d6321f2334021d474a3625795d1f34734336b688b19c09134e10d5cc8dec86e84485de298584
+DIST FBGEMM-2023.12.01.tar.gz 1004090 BLAKE2B dc19ebee06bccb888e5d03606168c7439ce8c96303a697056edd22d3a3a6ff4f4f3ddf5371d50aa774890ca1ad66d665f5e54976dc1b8da841759a3f4d64c4d7 SHA512 ab37964326d2cbbcbf0f2c722675d1f059407fc3185275d37f2e04f3e516fe0733ac1fb35351fc7e7c308e9c0da40811d3657a10a3696cb7648494df79408aab
diff --git a/dev-libs/FBGEMM/files/FBGEMM-2022.01.13-gentoo.patch b/dev-libs/FBGEMM/files/FBGEMM-2022.01.13-gentoo.patch
deleted file mode 100644
index e2aacd3f65ef..000000000000
--- a/dev-libs/FBGEMM/files/FBGEMM-2022.01.13-gentoo.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- a/CMakeLists.txt 2022-05-21 13:13:50.806813151 +0200
-+++ b/CMakeLists.txt 2022-05-21 13:16:46.448969453 +0200
-@@ -165,7 +165,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"
-@@ -184,7 +184,7 @@
- set_property(TARGET asmjit PROPERTY POSITION_INDEPENDENT_CODE ON)
- 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"
-@@ -261,7 +261,6 @@
-
- target_link_libraries(fbgemm $<BUILD_INTERFACE:asmjit>
- $<BUILD_INTERFACE:cpuinfo>)
--add_dependencies(fbgemm asmjit cpuinfo)
-
- install(TARGETS fbgemm EXPORT fbgemmLibraryConfig
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-@@ -268,6 +268,8 @@
-
- install(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
- FILE fbgemmLibraryConfig.cmake)
---- a/test/CMakeLists.txt 2022-05-21 13:15:34.140135199 +0200
-+++ b/test/CMakeLists.txt 2022-05-21 13:17:59.170813431 +0200
-@@ -1,6 +1,6 @@
- cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
-
--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)
-@@ -62,7 +62,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/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/FP16/FP16-2021.03.20-r2.ebuild b/dev-libs/FP16/FP16-2021.03.20-r2.ebuild
deleted file mode 100644
index b9dca4b566b5..000000000000
--- a/dev-libs/FP16/FP16-2021.03.20-r2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9,10} )
-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/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/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/FXdiv-2020.12.09.ebuild b/dev-libs/FXdiv/FXdiv-2020.12.09.ebuild
deleted file mode 100644
index b55cbcd18709..000000000000
--- a/dev-libs/FXdiv/FXdiv-2020.12.09.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022 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"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND="test? ( dev-cpp/gtest )"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}"/${PN}-${CommitId}
-
-PATCHES=(
- "${FILESDIR}"/${P}-gentoo.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DFXDIV_BUILD_BENCHMARKS=OFF
- -DFXDIV_BUILD_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/Ice/Ice-3.6.5-r2.ebuild b/dev-libs/Ice/Ice-3.6.5-r2.ebuild
deleted file mode 100644
index d7ea1ea0d531..000000000000
--- a/dev-libs/Ice/Ice-3.6.5-r2.ebuild
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-RUBY_OPTIONAL="yes"
-USE_RUBY="ruby27"
-
-PHP_EXT_NAME="IcePHP"
-PHP_EXT_INI="yes"
-PHP_EXT_ZENDEXT="no"
-
-PHP_EXT_OPTIONAL_USE=php
-
-USE_PHP="php7-4"
-
-# This variable does not belong to any eclass. It is solely used in this ebuild
-BERKDB_SLOTS=( 6.2 6.1 5.3 5.1 4.8 )
-
-inherit db-use mono-env php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
-
-DESCRIPTION="ICE middleware C++ library and generator tools"
-HOMEPAGE="https://zeroc.com/products/ice"
-SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
- doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.6.4.pdf )"
-LICENSE="GPL-2"
-SLOT="0/36"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="debug doc examples +readline mono php python ruby test"
-RESTRICT="test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/expat-2.0.1
- >=app-arch/bzip2-1.0.5
- dev-libs/openssl:0=
- virtual/libcrypt:=
- || (
- $(for slot in ${BERKDB_SLOTS[@]} ; do printf '%s\n' "sys-libs/db:${slot}[cxx]" ; done)
- )
- dev-cpp/libmcpp
- python? ( ${PYTHON_DEPS} )
- ruby? ( $(ruby_implementation_depend ruby27) )
- mono? ( dev-lang/mono )"
-DEPEND="${RDEPEND}
- readline? ( sys-libs/readline:0= )
- test? (
- ${PYTHON_DEPS}
- dev-python/passlib[${PYTHON_USEDEP}]
- )"
-
-# Maintainer notes:
-# TODO: java bindings
-
-S="${WORKDIR}/${P,}"
-PHP_EXT_S="${S}/php"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.3-no-arch-opts.patch"
- "${FILESDIR}/${P}-db6.patch"
- "${FILESDIR}/${P}-csharp.patch"
-)
-
-pkg_setup() {
- # prevent ruby-ng.eclass from messing with pkg_setup
- return
-}
-
-src_unpack() {
- # prevent ruby-ng.eclass from messing with src_unpack
- default
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e 's|-L\$\(libdir\)||' \
- cpp/config/Make.rules || die
-
- sed -i \
- -e 's|-O2 ||g' \
- -e 's|-Werror ||g' \
- cpp/config/Make.rules.Linux || die
-
- sed -i \
- -e 's|install-common||' \
- {cpp,csharp,php,python,ruby}/Makefile || die
-
- sed -i \
- -e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \
- csharp/config/Make.rules.cs || die
-
- # skip mono tests, bug #498484
- sed -i \
- -e '/SUBDIRS/s|\ test||' \
- csharp/Makefile || die
-
- # skip udp test due to multicast
- # skip IceGrid/admin bug #649850
- # skip IceSSL tests due to requirement of internet connection
- # skip IceStorm/single bug #636834
- # IceUtil/stacktrace and IceStorm/stress fail with USE=debug
- # Glacier2/staticFiltering requires network access
- sed -i \
- -e 's|allTests.py|allTests.py --rfilter=udp --rfilter=IceGrid\/admin --rfilter=IceSSL --rfilter=IceStorm\/single --rfilter=IceStorm\/stress --rfilter=IceUtil\/stacktrace --rfilter=Glacier2\/staticFiltering|' \
- cpp/Makefile || die
-
- # fails even on unicode locale
- sed -i \
- -e 's|allTests.py|allTests.py --rfilter=Slice\/unicodePaths|' \
- ruby/Makefile || die
-
- # fix for x86 IceBox test
- sed -i \
- -e 's|"32"|""|' \
- scripts/TestUtil.py || die
-}
-
-src_configure() {
- suitable_db_version() {
- local ver
- for ver in "${BERKDB_SLOTS[@]}"; do
- if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then
- echo "${ver}"
- return 0
- fi
- done
- die "No suitable BerkDB versions found, aborting"
- }
-
- MAKE_RULES=(
- "prefix=\"${ED}/usr\""
- "install_docdir=\"${ED}/usr/share/doc/${PF}\""
- "install_configdir=\"${ED}/usr/share/${P}/config\""
- "install_mandir=\"${ED}/usr/share/man/man1\""
- "embedded_runpath_prefix=\"${EPREFIX}/usr\""
- "LP64=yes"
- "new_dtags=yes"
- "NOTEST=$(usex !test)"
- "USE_READLINE=$(usex readline)"
- "OPTIMIZE=$(usex !debug)"
- )
-
- local BERKDB_VERSION="$(suitable_db_version)"
- MAKE_RULES+=("DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})")
- sed -i \
- -e "s|g++|$(tc-getCXX)|" \
- -e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \
- -e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \
- -e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \
- -e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \
- cpp/config/Make.rules{,.Linux} python/config/Make.rules || die
-
- if use python; then
- local S="${S}/python"
- python_copy_sources
- fi
-
- if use ruby; then
- SITERUBY="$(ruby26 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
- SITERUBYARCH="$(ruby26 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
- MAKE_RULES_RUBY=(
- "install_rubydir=\"${ED}/${SITERUBY}\""
- "install_libdir=\"${ED}/${SITERUBYARCH}\""
- )
-
- # make it use ruby26 only
- sed -i \
- -e 's|RUBY = ruby|\026|' \
- ruby/config/Make.rules || die
- sed -i \
- -e 's|env ruby|\026|' \
- ruby/config/s2rb.rb || die
- sed -i \
- -e 's|env ruby|\026|' \
- ruby/scripts/slice2rb || die
- sed -i \
- -e 's|output.write("ruby|\026|' \
- scripts/TestUtil.py || die
- fi
-
- MAKE_RULES_MONO=(
- "GACINSTALL=yes"
- "GAC_ROOT=\"${ED}/usr/$(get_libdir)\""
- "GAC_DIR=\"${EPREFIX}/usr/$(get_libdir)\""
- "install_libdir=\"${ED}/usr/$(get_libdir)\""
- "install_pkgconfigdir=\"${ED}/usr/$(get_libdir)/pkgconfig\""
- )
-
- if has_version ">dev-lang/mono-4"; then
- MAKE_RULES_MONO+=("MCS=mcs")
- fi
-
- use test && python_setup
-}
-
-src_compile() {
- # Do not remove this export or build will break!
- tc-export CXX
-
- emake -C cpp "${MAKE_RULES[@]}"
-
- if use php; then
- local i
- for i in $(php_get_slots); do
- mkdir -p "${WORKDIR}/${i}" || die
- cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
-
- pushd "${WORKDIR}/${i}" >/dev/null || die
- ln -s "${S}/cpp" || die
- ln -s "${S}/config" || die
- ln -s "${S}/slice" || die
- ln -s "${S}/Makefile" || die
-
- emake -C php "${MAKE_RULES[@]}" USE_NAMESPACES=yes "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
- popd >/dev/null || die
- done
- fi
-
- if use python; then
- building() {
- emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
- }
- local S="${S}/python"
- python_foreach_impl building
- fi
-
- if use ruby; then
- emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
- fi
-
- if use mono; then
- emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}"
- fi
-}
-
-src_test() {
- local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
- emake -C cpp "${MAKE_RULES[@]}" test
-
- # php tests require the extension loaded and are therefore skipped
-
- if use python; then
- testing() {
- PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
- "${MAKE_RULES[@]}" \
- PYTHON="${EPYTHON}" \
- install_pythondir="\"${D}/$(python_get_sitedir)\"" \
- install_libdir="\"${D}/$(python_get_sitedir)\"" test
- }
- local S="${S}/python"
- python_foreach_impl testing
- fi
-
- if use ruby; then
- emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
- fi
-
- if use mono; then
- # skip mono tests, bug #498484
- ewarn "Tests for C# are currently disabled."
- #emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" test
- fi
-}
-
-src_install() {
- local DOCS=( CHANGELOG*.md README.md )
- use doc && DOCS+=( "${DISTDIR}/${PN}-3.6.4.pdf" )
- einstalldocs
-
- insinto /usr/share/${P}
- doins -r slice
-
- emake -C cpp "${MAKE_RULES[@]}" install
-
- if use examples; then
- docinto examples-cpp
- dodoc cpp/config/*.cfg
- docompress -x /usr/share/doc/${PF}/examples-cpp
- fi
-
- if use php; then
- insinto "/usr/share/php/${PN}"
-
- local i
- while IFS="" read -d $'\0' -r i; do
- doins "${i}"
- done < <(find "${S}/php/lib/" -name '*.php' -print0)
-
- pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
-
- local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
- for i in *; do
- mkdir -p "${ED}/usr/share/php/${i}" || die
- "${ED}"/usr/bin/slice2php \
- -I"${ED}/usr/share/${P}/slice/" --all \
- --output-dir "${ED}/usr/share/php/${i}" \
- --ice "${ED}/usr/share/${P}/slice/${i}"/*
- done
-
- for i in $(php_get_slots); do
- php_init_slot_env "${i}"
- insinto "${EXT_DIR}"
- newins "php/lib/${PHP_EXT_NAME}.so" "${PHP_EXT_NAME}.so"
- done
- php-ext-source-r3_createinifiles
-
- popd >/dev/null || die
- fi
-
- if use python; then
- installation() {
- mkdir -p "${D}/$(python_get_sitedir)" || die
-
- emake -C "${BUILD_DIR}" \
- "${MAKE_RULES[@]}" \
- install_pythondir="\"${D}/$(python_get_sitedir)\"" \
- install_libdir="\"${D}/$(python_get_sitedir)\"" \
- install
- python_optimize
- }
- local S="${S}/python"
- python_foreach_impl installation
- fi
-
- if use ruby; then
- dodir "${SITERUBY}"
- emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
- fi
-
- if use mono; then
- emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" install
- fi
-}
diff --git a/dev-libs/Ice/Ice-3.7.10-r1.ebuild b/dev-libs/Ice/Ice-3.7.10-r1.ebuild
new file mode 100644
index 000000000000..ea12a33d8738
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10-r1.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby32"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby32) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby32 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby32 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\032|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\032|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\032|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.10-r2.ebuild b/dev-libs/Ice/Ice-3.7.10-r2.ebuild
new file mode 100644
index 000000000000..4aba9b86d0f6
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10-r2.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby33"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby33) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby33 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\033|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\033|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\033|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.10.ebuild b/dev-libs/Ice/Ice-3.7.10.ebuild
new file mode 100644
index 000000000000..8eee5f47692a
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby31"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby31) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby31 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\031|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.8-r1.ebuild b/dev-libs/Ice/Ice-3.7.8-r1.ebuild
deleted file mode 100644
index 40345ee3fabd..000000000000
--- a/dev-libs/Ice/Ice-3.7.8-r1.ebuild
+++ /dev/null
@@ -1,258 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-RUBY_OPTIONAL="yes"
-USE_RUBY="ruby30"
-
-PHP_EXT_NAME="IcePHP"
-PHP_EXT_INI="yes"
-PHP_EXT_ZENDEXT="no"
-
-PHP_EXT_OPTIONAL_USE=php
-
-USE_PHP="php8-0 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 ruby30) )"
-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="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
- SITERUBYARCH="$(ruby30 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
- MAKE_RULES_RUBY=(
- "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
- "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
- )
-
- # make it use ruby30 only
- sed -i \
- -e 's|RUBY ?= ruby|\030|' \
- ruby/config/Make.rules || die
- sed -i \
- -e 's|env ruby|\030|' \
- ruby/config/s2rb.rb || die
- sed -i \
- -e 's|env ruby|\030|' \
- 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
index d5b02cf406ba..ffbd5639538e 100644
--- a/dev-libs/Ice/Ice-3.7.8-r2.ebuild
+++ b/dev-libs/Ice/Ice-3.7.8-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ PHP_EXT_ZENDEXT="no"
PHP_EXT_OPTIONAL_USE=php
-USE_PHP="php8-0 php8-1 php8-2"
+USE_PHP="php8-1 php8-2"
inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
@@ -24,7 +24,7 @@ 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"
+KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="debug doc examples php python ruby test"
RESTRICT="test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/dev-libs/Ice/Ice-3.7.8.ebuild b/dev-libs/Ice/Ice-3.7.8.ebuild
deleted file mode 100644
index a512d98ba711..000000000000
--- a/dev-libs/Ice/Ice-3.7.8.ebuild
+++ /dev/null
@@ -1,258 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-RUBY_OPTIONAL="yes"
-USE_RUBY="ruby27"
-
-PHP_EXT_NAME="IcePHP"
-PHP_EXT_INI="yes"
-PHP_EXT_ZENDEXT="no"
-
-PHP_EXT_OPTIONAL_USE=php
-
-USE_PHP="php8-0 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 ruby27) )"
-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="$(ruby27 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
- SITERUBYARCH="$(ruby27 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
- MAKE_RULES_RUBY=(
- "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
- "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
- )
-
- # make it use ruby27 only
- sed -i \
- -e 's|RUBY ?= ruby|\027|' \
- ruby/config/Make.rules || die
- sed -i \
- -e 's|env ruby|\027|' \
- ruby/config/s2rb.rb || die
- sed -i \
- -e 's|env ruby|\027|' \
- 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 a626ec223234..28150860b9ca 100644
--- a/dev-libs/Ice/Manifest
+++ b/dev-libs/Ice/Manifest
@@ -1,4 +1,3 @@
-DIST Ice-3.6.4.pdf 8907736 BLAKE2B 5a631c1e2e147c8ed3b31a84192210c92bbe83e8644ec9d7d164d1b94a20069ce77f6baf54910ac00c7216cbc2979caac6fa78457e9292a84407e93000f9903a SHA512 9bd2d373eb83e08e563cab174a53063a490367dea3e4b910f93f0477c3817282c859f07e46e503006e9bd37678fb6da31a58b88bfabd217b5e371fff685321a0
-DIST Ice-3.6.5.tar.gz 5505499 BLAKE2B e16e8932f09270ac6bb86984ab47fa229ad873ee343ac4f56bb48b6f9547387ded0392a76302afac2c98b6d31da7c1faf294574cdba52654e7dea0af16b4169d SHA512 3431928e6168d716919aa9b3126d17a8ae14895bb78a369902a2bb350b2e82923f38ee17965ed3696512a016fcd34dc128e9aaca40fb2b032e7f7eb07bcb903b
DIST Ice-3.7.1.pdf 9351739 BLAKE2B 527f2c37aea19aedbfc580efd93ce4fae2eb7264342bb485822593e2da6fb75a61eea2b1a46187898af07f138d10bf9a213d0b2a0685c18cd1d4c624709a935b SHA512 199b59f14b87b2896ba970bf5aa32f6fd858cbd3fed18eac93acafe4e296db1361ca2d2000ed49f3390ed66c1d4ff8c1fcd3f14ab8197d7804c87fce422c8486
+DIST Ice-3.7.10.tar.gz 10120858 BLAKE2B a39a693975c53b7d1b1431f211e9682e8b8ffea62c63005c5158354a54807fc6966cff83f94ed6f86de1e5a2104cee3ac43eb12b9e9f406b67f9e77ffc78a800 SHA512 638ca8721db1559aae80c43663a1210ba9c8f72d58003f2d9457048c9100bee74036910917d1d10bf5b998ba49f0878177e094b436c83d3deb63613f9075483d
DIST Ice-3.7.8.tar.gz 11056950 BLAKE2B 66686d6e66a997badef53ee30782775047a2fa39d70fa8ed73c5e7a1bad3c3899efd8d68f557a416caacd65860a73834a6bdc3188730fa19a3f1e47f028c5e21 SHA512 eb5863cb5e83000199c27a5a505a19e5f1ec05e8575eb9cdc03f6db30447212e3b02e6adc70fb2ae6ddc63cfd93bc2b6b290f38919364ee9f08b238a0aa11e88
diff --git a/dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch b/dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch
deleted file mode 100644
index 149a31e1dd6c..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.3-no-arch-opts.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- ice-3.6.3/cpp/config/Make.rules.Linux~ 2015-06-27 16:56:56.000000000 +0200
-+++ ice-3.6.3/cpp/config/Make.rules.Linux 2015-06-27 17:23:45.810591931 +0200
-@@ -79,19 +79,6 @@
- CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
- endif
-
-- #
-- # Only use multilib -m32/-m64 options for amd64 arch, x32 arch can also run
-- # in amd64 macines but doesn't use multilib, in this case MACHINE_TYPE will
-- # be x86_64 and HOST_ARCH x32.
-- #
-- ifeq ($(HOST_ARCH),amd64)
-- ifeq ($(LP64),yes)
-- CXXARCHFLAGS += -m64
-- else
-- CXXARCHFLAGS += -m32
-- endif
-- endif
--
- CXXFLAGS += $(CXXARCHFLAGS) -fvisibility=hidden -Wall -Werror -pthread
-
- # If MAXWARN is set then enable extra warnings
---- ice-3.6.3/config/Make.common.rules~ 2015-06-23 17:30:20.000000000 +0200
-+++ ice-3.6.3/config/Make.common.rules 2015-06-28 01:53:57.149666595 +0200
-@@ -101,25 +101,7 @@
- ifeq ($(LP64),)
- LP64 = yes
- endif
--
-- #
-- # x86 binaries build on x86_64 machine use 32 binsuffix
-- #
-- ifneq ($(STATICLIBS),yes)
-- ifneq ($(LP64),yes)
-- binsuffix = 32
-- endif
-- endif
- endif
--
-- #
-- # x86 builds uses 32 binsuffix
-- #
-- ifneq ($(STATICLIBS),yes)
-- ifeq ($(findstring $(MACHINE_TYPE),i386 i486 i586 i686),$(MACHINE_TYPE))
-- binsuffix = 32
-- endif
-- endif
- endif
-
- ifeq ($(CPP11),yes)
diff --git a/dev-libs/Ice/files/Ice-3.6.5-csharp.patch b/dev-libs/Ice/files/Ice-3.6.5-csharp.patch
deleted file mode 100644
index cfdc1f6a8d47..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.5-csharp.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- ice-3.6.5/csharp/src/Makefile~ 2015-06-23 17:30:20.000000000 +0200
-+++ ice-3.6.5/csharp/src/Makefile 2015-06-27 20:07:04.217188211 +0200
-@@ -11,7 +11,7 @@
-
- include $(top_srcdir)/config/Make.rules.cs
-
--SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox IceDiscovery IceLocatorDiscovery
-+SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox IceSSL IceDiscovery IceLocatorDiscovery
-
- $(EVERYTHING)::
- @for subdir in $(SUBDIRS); \
---- /dev/null 2015-06-27 16:44:15.733558105 +0200
-+++ ice-3.6.5/csharp/lib/pkgconfig/IceSSL.pc 2015-06-27 20:19:30.731894653 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.5
-+mono_root = /usr
-+
-+name = IceSSL
-+
-+Name: ${name}
-+Description: IceSSL run-time support
-+Version: ${version}
-+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
-+Requires: Ice = ${version}
---- /dev/null 2015-06-27 16:44:15.733558105 +0200
-+++ ice-3.6.5/csharp/lib/pkgconfig/IceDiscovery.pc 2015-06-27 20:20:44.312515987 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.5
-+mono_root = /usr
-+
-+name = IceDiscovery
-+
-+Name: ${name}
-+Description: IceDiscovery run-time support
-+Version: ${version}
-+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
-+Requires: Ice = ${version}
---- /dev/null 2015-06-27 16:44:15.733558105 +0200
-+++ ice-3.6.5/csharp/lib/pkgconfig/IceLocatorDiscovery.pc 2015-06-27 20:21:22.206185123 +0200
-@@ -0,0 +1,10 @@
-+version = 3.6.5
-+mono_root = /usr
-+
-+name = IceLocatorDiscovery
-+
-+Name: ${name}
-+Description: IceLocatorDiscovery run-time support
-+Version: ${version}
-+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
-+Requires: Ice = ${version}
diff --git a/dev-libs/Ice/files/Ice-3.6.5-db6.patch b/dev-libs/Ice/files/Ice-3.6.5-db6.patch
deleted file mode 100644
index b78fae76a453..000000000000
--- a/dev-libs/Ice/files/Ice-3.6.5-db6.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Avoid ambiguous ctor call (uint32_t vs DB_ENV*) with db 6.x.
-
---- ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp 2017-06-28 18:42:43.411869639 +0200
-@@ -530,7 +530,7 @@
- {
- if(_env == 0)
- {
-- _envHolder.reset(new DbEnv(0));
-+ _envHolder.reset(new DbEnv(0u));
- _env = _envHolder.get();
-
- if(_trace >= 1)
---- ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp 2017-06-28 19:15:03.928514164 +0200
-@@ -766,8 +766,8 @@
- //
- // Transform the database.
- //
-- DbEnv dbEnv(0);
-- DbEnv dbEnvNew(0);
-+ DbEnv dbEnv(0u);
-+ DbEnv dbEnvNew(0u);
- Freeze::TransactionPtr txNew;
- Freeze::ConnectionPtr connection;
- Freeze::ConnectionPtr connectionNew;
---- ice-3.6.3/cpp/src/FreezeScript/Util.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/FreezeScript/Util.cpp 2017-06-28 19:22:29.318509063 +0200
-@@ -209,7 +209,7 @@
- {
- CatalogDataMap result;
-
-- DbEnv dbEnv(0);
-+ DbEnv dbEnv(0u);
- try
- {
- #ifdef _WIN32
---- ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp.orig 2016-10-05 16:59:08.000000000 +0200
-+++ ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp 2017-06-28 19:33:38.555168088 +0200
-@@ -481,7 +481,7 @@
- FreezeScript::ObjectFactoryPtr objectFactory = new FreezeScript::ObjectFactory;
- communicator->addObjectFactory(objectFactory, "");
-
-- DbEnv dbEnv(0);
-+ DbEnv dbEnv(0u);
- DbTxn* txn = 0;
- Freeze::ConnectionPtr connection;
- int status = EXIT_SUCCESS;
diff --git a/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild b/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild
index dd1ccb8c41f8..1f0d665ef90f 100644
--- a/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild
+++ b/dev-libs/OpenNI/OpenNI-1.5.7.10-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -35,7 +35,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}
java? ( virtual/jdk:1.8 )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}/tinyxml.patch"
diff --git a/dev-libs/OpenNI/OpenNI-9999.ebuild b/dev-libs/OpenNI/OpenNI-9999.ebuild
index a200d7f1be3e..c9fcc45b7700 100644
--- a/dev-libs/OpenNI/OpenNI-9999.ebuild
+++ b/dev-libs/OpenNI/OpenNI-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -35,7 +35,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}
java? ( virtual/jdk:1.8 )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}/tinyxml.patch"
diff --git a/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild b/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild
index f6f44ab31fe4..606cfeb0619a 100644
--- a/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild
+++ b/dev-libs/OpenNI2/OpenNI2-2.2_beta2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -33,7 +33,7 @@ RDEPEND="
java? ( virtual/jre:1.8 )
"
DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
java? ( virtual/jdk:1.8 )"
PATCHES=(
diff --git a/dev-libs/OpenNI2/OpenNI2-9999.ebuild b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
index 2c75c2c95808..fc73839fa7df 100644
--- a/dev-libs/OpenNI2/OpenNI2-9999.ebuild
+++ b/dev-libs/OpenNI2/OpenNI2-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -33,7 +33,7 @@ RDEPEND="
java? ( virtual/jre:1.8 )
"
DEPEND="${RDEPEND}
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
java? ( virtual/jdk:1.8 )"
PATCHES=(
diff --git a/dev-libs/aml/Manifest b/dev-libs/aml/Manifest
index 5910a49a25cb..908594ea00c8 100644
--- a/dev-libs/aml/Manifest
+++ b/dev-libs/aml/Manifest
@@ -1 +1 @@
-DIST aml-0.2.2.tar.gz 20442 BLAKE2B 3ea4e03ba511096fc02db628d2591ddf247f79ccdf7638614a2a20fe74dfa563b555662492d976371b407ab013bbb83c193c047fca48f7f08b05cf47e6a87ab4 SHA512 3cb5bf28186a9056b579dd76440202837d96a7abde9427c45a810068d5e051c642303cd73b012e3b093ffb1577896753a50fcc508b2a30c49146033bb74156e7
+DIST aml-0.3.0.tar.gz 21070 BLAKE2B 09b8818ba63eb0f8c36e90385ee0787cad45b80c71cfcf439f93560f56269d52468bbdd2c0e8ad6cbf78b8fd0dd715aa107bfeb3918f55671ffca3f8daab56e3 SHA512 7c3347ef47ace8a14860e2b46937c8ade3712aa75a8c36845594fb4fa6ca26c35320b5234574accff451ea8302f23075acbe1a1b0392f5fbcbbbda20640be1fd
diff --git a/dev-libs/aml/aml-0.2.2.ebuild b/dev-libs/aml/aml-0.2.2.ebuild
deleted file mode 100644
index f455ef42c8e7..000000000000
--- a/dev-libs/aml/aml-0.2.2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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 )"
-
-src_prepare() {
- default
-
- # The bundled copy includes cdefs which breaks on musl and
- # this header is already available on glibc.
- # bug #828806
- rm include/sys/queue.h || die
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use examples)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/aml/aml-0.3.0.ebuild b/dev-libs/aml/aml-0.3.0.ebuild
new file mode 100644
index 000000000000..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
index abe16736f7e8..a7c7dfbf2a1a 100644
--- a/dev-libs/aml/aml-9999.ebuild
+++ b/dev-libs/aml/aml-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/any1/aml.git"
else
SRC_URI="https://github.com/any1/aml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~loong ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~riscv ~x86"
fi
LICENSE="ISC"
@@ -22,12 +22,16 @@ IUSE="examples"
DEPEND="elibc_musl? ( sys-libs/queue-standalone )"
+PATCHES=(
+ "${FILESDIR}"/${P}-queue.patch
+)
+
src_prepare() {
default
- # The bundled copy includes cdefs which breaks on musl and
- # this header is already available on glibc.
- # bug #828806
+ # The bundled copy includes cdefs which breaks on musl and this header is
+ # already available on glibc. See bug #828806 and
+ # https://github.com/any1/aml/issues/11.
rm include/sys/queue.h || die
}
diff --git a/dev-libs/aml/files/aml-0.3.0-queue.patch b/dev-libs/aml/files/aml-0.3.0-queue.patch
new file mode 100644
index 000000000000..299379a934f6
--- /dev/null
+++ b/dev-libs/aml/files/aml-0.3.0-queue.patch
@@ -0,0 +1,21 @@
+The bundled queue.h breaks on musl, but the standard version lacks
+LIST_FOREACH_SAFE, which appears to come from FreeBSD, so patch that back
+in here. See https://github.com/any1/aml/issues/11.
+
+diff -Naur a/src/aml.c b/src/aml.c
+--- a/src/aml.c 2023-01-22 12:57:53.000000000 +0000
++++ b/src/aml.c 2023-03-19 10:10:11.034092428 +0000
+@@ -31,6 +31,13 @@
+ #include "sys/queue.h"
+ #include "thread-pool.h"
+
++#ifndef LIST_FOREACH_SAFE
++#define LIST_FOREACH_SAFE(var, head, field, tvar) \
++ for ((var) = LIST_FIRST((head)); \
++ (var) && ((tvar) = LIST_NEXT((var), field), 1); \
++ (var) = (tvar))
++#endif
++
+ #define EXPORT __attribute__((visibility("default")))
+
+ #define EVENT_MASK_DEFAULT AML_EVENT_READ
diff --git a/dev-libs/angelscript/Manifest b/dev-libs/angelscript/Manifest
index 9edbdb510727..f90b1578a0ae 100644
--- a/dev-libs/angelscript/Manifest
+++ b/dev-libs/angelscript/Manifest
@@ -1,2 +1,2 @@
-DIST angelscript_2.35.1.zip 2033435 BLAKE2B b88189fb78294e5804adf313bc333a9a21760120a42b3df78c9c54861718acf435de55dcfb26a8975407102c1182093caed11bfecc6ba946bc7614f62f7e176a SHA512 b15083c7a77434c291e72ea82cfbab7734fa79df654d911a822f306d526669ebe9e55a981e8a1914deda0d2a52ebdc0ffb51a4179f307632c8c7d74b1abc69fa
DIST angelscript_2.36.0.zip 2038804 BLAKE2B 83d47ffb8563968d1db4955286ad5c4f7767132ddaa7420126ae3faa34f0b44fe319432324eb4fe3bd9317e79149719c6587cbafb28d061e37801f63be126a59 SHA512 afd2b9096d0b62bc3d182d684fe34ddc8e9520af7734eea1f1a5c7d3439a28a1be7502faf692080cb0c4591799b7fea09fc8c4ccf25b8ec63a3d306e678682ff
+DIST angelscript_2.36.1.zip 2011471 BLAKE2B 81cd147b7e78abe9a8a342ca3c88191cf1eb0e50f78bcd8c1f2ab36e31eadc3260373159ea084cfe9140897df5187ac268d9624b5f8613564e1d6982b1178a54 SHA512 d6d213ce72135c89e47e67521f654611ff67673f3decd9db3da4b7bf317a04a3f91c5c6ae36658ec3f2b20498facd069af02a91255a24ec79c96d8c90d6b554e
diff --git a/dev-libs/angelscript/angelscript-2.35.1-r1.ebuild b/dev-libs/angelscript/angelscript-2.35.1-r1.ebuild
deleted file mode 100644
index d0aa028768b9..000000000000
--- a/dev-libs/angelscript/angelscript-2.35.1-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# 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"
-PATCHES=(
- "${FILESDIR}/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch"
- "${FILESDIR}/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch"
-)
-
-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/files/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch b/dev-libs/angelscript/files/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch
deleted file mode 100644
index b889c495f3e6..000000000000
--- a/dev-libs/angelscript/files/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-This patch taken from Debian:
-https://salsa.debian.org/yangfl-guest/angelscript/-/blob/master/debian/patches/0004-Add-as_callfunc_arm64.cpp-to-gnuc-makefile.patch
-
-Gentoo bug:
-https://bugs.gentoo.org/818868
-
-From 53841747c668abe3ff2cac280354703bef5dd395 Mon Sep 17 00:00:00 2001
-From: yangfl <yangfl@users.noreply.github.com>
-Date: Thu, 14 Oct 2021 18:29:25 +0800
-Subject: [PATCH 4/6] Add as_callfunc_arm64.cpp to gnuc makefile
-
----
- angelscript/projects/gnuc/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/angelscript/projects/gnuc/Makefile b/angelscript/projects/gnuc/Makefile
-index 5274f05e..276baa9e 100644
---- a/angelscript/projects/gnuc/Makefile
-+++ b/angelscript/projects/gnuc/Makefile
-@@ -107,6 +107,7 @@ SRCNAMES = \
- as_bytecode.cpp \
- as_callfunc.cpp \
- as_callfunc_arm.cpp \
-+ as_callfunc_arm64.cpp \
- as_callfunc_mips.cpp \
- as_callfunc_ppc.cpp \
- as_callfunc_ppc_64.cpp \
---
-2.33.0
-
diff --git a/dev-libs/angelscript/files/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch b/dev-libs/angelscript/files/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch
deleted file mode 100644
index ccdd21a5e7c9..000000000000
--- a/dev-libs/angelscript/files/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-This file taken from Debian:
-https://salsa.debian.org/yangfl-guest/angelscript/-/blob/master/debian/patches/0006-Add-as_callfunc_arm_gcc.S-to-gnuc-makefile.patch
-
-Gentoo bug:
-https://bugs.gentoo.org/818868
-
-From 64e3e5a356047531012789802ece987bacb6a120 Mon Sep 17 00:00:00 2001
-From: yangfl <yangfl@users.noreply.github.com>
-Date: Fri, 15 Oct 2021 02:24:17 +0800
-Subject: [PATCH 6/6] Add as_callfunc_arm_gcc.S to gnuc makefile
-
----
- angelscript/projects/gnuc/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/angelscript/projects/gnuc/Makefile b/angelscript/projects/gnuc/Makefile
-index 276baa9e..973da7b0 100644
---- a/angelscript/projects/gnuc/Makefile
-+++ b/angelscript/projects/gnuc/Makefile
-@@ -145,7 +145,7 @@ OBJ = $(addprefix $(OBJDIR)/, $(notdir $(SRCNAMES:.cpp=.o)))
- ifeq ($(TARGETPLATFORM), iphone)
- OBJ += $(OBJDIR)/as_callfunc_arm_xcode.o
- else
-- OBJ += $(OBJDIR)/as_callfunc_arm_gcc.o
-+ OBJ += $(OBJDIR)/as_callfunc_arm_gcc.o $(OBJDIR)/as_callfunc_arm64_gcc.o
- endif
-
-
---
-2.33.0
-
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
index f7a8a0295cdd..8f3ed3e9931b 100644
--- a/dev-libs/antlr-c/antlr-c-3.5.2-r2.ebuild
+++ b/dev-libs/antlr-c/antlr-c-3.5.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="debug debugger doc"
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
PATCHES=( "${FILESDIR}/3.5-cflags.patch" )
diff --git a/dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild b/dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild
new file mode 100644
index 000000000000..e06ab68c5f62
--- /dev/null
+++ b/dev-libs/antlr-c/antlr-c-3.5.2-r3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+MY_PN="${PN%-c}"
+DESCRIPTION="The ANTLR3 C Runtime"
+HOMEPAGE="https://www.antlr3.org/"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}3/archive/${PV}.tar.gz -> ${MY_PN}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_PN}3-${PV}/runtime/C"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="debug doc"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )"
+
+PATCHES=(
+ "${FILESDIR}/3.5-cflags.patch"
+ "${FILESDIR}/3.5-autoconf.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i '/^QUIET/s/NO/YES/' doxyfile || die
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ $(use_enable debug antlrdebug)
+ )
+
+ case "$(tc-get-ptr-size)" in
+ 8) econfargs+=( --enable-64bit ) ;;
+ 4) econfargs+=( --disable-64bit ) ;;
+ esac
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${econfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use doc ; then
+ einfo "Generating API documentation ..."
+ doxygen -u doxyfile || die
+ doxygen doxyfile || die
+
+ HTML_DOCS=( "${S}"/api/ )
+ fi
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/antlr-c/files/3.5-autoconf.patch b/dev-libs/antlr-c/files/3.5-autoconf.patch
new file mode 100644
index 000000000000..5077652d2b5c
--- /dev/null
+++ b/dev-libs/antlr-c/files/3.5-autoconf.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/921345
+--- a/configure.ac
++++ b/configure.ac
+@@ -148,7 +148,6 @@ AC_PROG_MAKE_SET
+ # Checks for libraries.
+
+ # Checks for header files.
+-AC_INCLUDES_DEFAULT()
+ AC_HEADER_RESOLV
+ AC_CHECK_HEADERS([sys/malloc.h malloc.h], [], [],
+ [[#ifdef HAVE_SYS_MALLOC_H
diff --git a/dev-libs/apache-arrow/Manifest b/dev-libs/apache-arrow/Manifest
new file mode 100644
index 000000000000..c705712fbd3c
--- /dev/null
+++ b/dev-libs/apache-arrow/Manifest
@@ -0,0 +1,6 @@
+DIST apache-arrow-15.0.2.tar.gz 21503812 BLAKE2B 5a42b3409515d7a09daff33d30e72e828e1df2e009ed746f101f4d8e6dcadb2e9c305a6cb9799d4003e1421ba666d2a2e9ba182c11b0c538fbd1aee4b3ba10ff SHA512 6c83e3be1e5840c30387f088315b74aca8e7c2d060793af70a156effb496a71e3e6af0693188c0f46f8a4a061a263a47095912ef04a5dc8141abd59075b14c78
+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-arrow-data-ad82a736c170e97b7c8c035ebd8a801c17eec170.tar.gz 3571641 BLAKE2B e3daae62938b54dbeb8ca9227eddfd2d59864cfafb54a7a7fd7aaa2b2cabd0f2dde58b77b2def086a1759b43c3b5834cb55462cc0b2886b2892329a957afdacb SHA512 ad6fd3343d8a3a6beb5b6269815bc207171905c102698fdb8ed7091e6d829dc51f354293c7686f845e3d49c4a828d9c77958447d965c9da4272260984fea4262
+DIST apache-arrow-parquet-data-74278bc4a1122d74945969e6dec405abd1533ec3.tar.gz 1037654 BLAKE2B c9bb725a16f6706a3859bb36a60b700af62cb5f96546483ef1de0b65900b02b4f9013841d7b3dc70fd0f2fd8969b4d5c72d0fb68972568f61b4a6863a0df6f60 SHA512 18f8e2480079a0fd29eec2b8e5f753af1ee80255f6fc80af4acbf5c56e6dec08e2f9f54d8c5734c929ef901c63e4009c5d830325333fa6cc947d40ff5dcddfa3
+DIST apache-arrow-parquet-data-d69d979223e883faef9dc6fe3cf573087243c28a.tar.gz 1022547 BLAKE2B a36f950160a6e033c0ab4fb9ac391be6e71cdadf2bbb7d0210640cc41782921b0e0777425b811a1d688e03842684eb1bfe008ffe359b182bea0f80d3adf658fe SHA512 dfebeca5b99a72a4c069c1030102a6fdd35d4c58cb12fb640bcd0a623cc54e49363f1112fa45da14b16867630dc30bc94bdb2e4cc95f9379dcaa5d7f8f38a3ea
diff --git a/dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild b/dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild
new file mode 100644
index 000000000000..6b2586c3e32b
--- /dev/null
+++ b/dev-libs/apache-arrow/apache-arrow-15.0.2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+# arrow.git: testing
+ARROW_DATA_GIT_HASH=ad82a736c170e97b7c8c035ebd8a801c17eec170
+# arrow.git: cpp/submodules/parquet-testing
+PARQUET_DATA_GIT_HASH=d69d979223e883faef9dc6fe3cf573087243c28a
+
+DESCRIPTION="A cross-language development platform for in-memory data."
+HOMEPAGE="
+ https://arrow.apache.org/
+ https://github.com/apache/arrow/
+"
+SRC_URI="
+ mirror://apache/arrow/arrow-${PV}/${P}.tar.gz
+ test? (
+ https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-parquet-data-${PARQUET_DATA_GIT_HASH}.tar.gz
+ https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
+ -> ${PN}-arrow-data-${ARROW_DATA_GIT_HASH}.tar.gz
+ )
+"
+S="${WORKDIR}/${P}/cpp"
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~loong ~riscv ~s390 ~x86"
+IUSE="
+ +brotli bzip2 compute dataset +json lz4 +parquet re2 +snappy ssl
+ test zlib zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ brotli? ( app-arch/brotli:= )
+ bzip2? ( app-arch/bzip2:= )
+ compute? ( dev-libs/libutf8proc:= )
+ dataset? (
+ dev-libs/libutf8proc:=
+ )
+ lz4? ( app-arch/lz4:= )
+ parquet? (
+ dev-libs/libutf8proc:=
+ dev-libs/thrift:=
+ ssl? ( dev-libs/openssl:= )
+ )
+ re2? ( dev-libs/re2:= )
+ snappy? ( app-arch/snappy:= )
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/xsimd
+ >=dev-libs/boost-1.81.0
+ json? ( dev-libs/rapidjson )
+ test? (
+ dev-cpp/gflags
+ dev-cpp/gtest
+ )
+"
+
+REQUIRED_USE="
+ test? (
+ json
+ parquet? ( zstd )
+ )
+ ssl? ( json )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
+ "${FILESDIR}/${PN}-14.0.1-gcc14.patch"
+ # upstream backports
+ "${FILESDIR}/${PN}-15.0.1-32bit.patch"
+)
+
+src_prepare() {
+ # use Gentoo CXXFLAGS, specify docdir at src_configure.
+ sed -i \
+ -e '/SetupCxxFlags/d' \
+ -e '/set(ARROW_DOC_DIR.*)/d' \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DARROW_BUILD_STATIC=OFF
+ -DARROW_BUILD_TESTS=$(usex test)
+ -DARROW_COMPUTE=$(usex compute)
+ -DARROW_CSV=ON
+ -DARROW_DATASET=$(usex dataset)
+ -DARROW_DEPENDENCY_SOURCE=SYSTEM
+ -DARROW_DOC_DIR=share/doc/${PF}
+ -DARROW_FILESYSTEM=ON
+ -DARROW_HDFS=ON
+ -DARROW_JEMALLOC=OFF
+ -DARROW_JSON=$(usex json)
+ -DARROW_PARQUET=$(usex parquet)
+ -DPARQUET_REQUIRE_ENCRYPTION=$(usex ssl)
+ -DARROW_USE_CCACHE=OFF
+ -DARROW_USE_SCCACHE=OFF
+ -DARROW_WITH_BROTLI=$(usex brotli)
+ -DARROW_WITH_BZ2=$(usex bzip2)
+ -DARROW_WITH_LZ4=$(usex lz4)
+ -DARROW_WITH_RE2=$(usex re2)
+ -DARROW_WITH_SNAPPY=$(usex snappy)
+ -DARROW_WITH_ZLIB=$(usex zlib)
+ -DARROW_WITH_ZSTD=$(usex zstd)
+ -DCMAKE_CXX_STANDARD=17
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ export PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data"
+ export ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data"
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ if use test; then
+ cd "${D}"/usr/$(get_libdir) || die
+ rm -r cmake/ArrowTesting || die
+ rm libarrow_testing* || die
+ rm pkgconfig/arrow-testing.pc || die
+ fi
+}
diff --git a/dev-libs/apache-arrow/apache-arrow-16.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-16.0.0.ebuild
new file mode 100644
index 000000000000..9be18f6b6223
--- /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/files/apache-arrow-14.0.1-gcc14.patch b/dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch
new file mode 100644
index 000000000000..ccaf8cff0e98
--- /dev/null
+++ b/dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch
@@ -0,0 +1,10 @@
+--- a/src/arrow/filesystem/util_internal.cc 2023-11-23 17:13:03.062791581 +0100
++++ b/src/arrow/filesystem/util_internal.cc 2023-11-23 17:13:22.441459075 +0100
+@@ -18,6 +18,7 @@
+ #include "arrow/filesystem/util_internal.h"
+
+ #include <cerrno>
++#include <algorithm>
+
+ #include "arrow/buffer.h"
+ #include "arrow/filesystem/path_util.h"
diff --git a/dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch b/dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch
new file mode 100644
index 000000000000..d268e565ab76
--- /dev/null
+++ b/dev-libs/apache-arrow/files/apache-arrow-15.0.1-32bit.patch
@@ -0,0 +1,57 @@
+diff --git a/gdb_arrow.py b/gdb_arrow.py
+index 6c3af1680..ad40ec499 100644
+--- a/gdb_arrow.py
++++ b/gdb_arrow.py
+@@ -304,7 +304,8 @@ def format_timestamp(val, unit):
+ seconds, subseconds = divmod(val, traits.multiplier)
+ try:
+ dt = datetime.datetime.utcfromtimestamp(seconds)
+- except (ValueError, OSError): # value out of range for datetime.datetime
++ except (ValueError, OSError, OverflowError):
++ # value out of range for datetime.datetime
+ pretty = "too large to represent"
+ else:
+ pretty = dt.isoformat().replace('T', ' ')
+diff --git a/src/arrow/io/file.cc b/src/arrow/io/file.cc
+index 543fa90a8..3b18bb7b0 100644
+--- a/src/arrow/io/file.cc
++++ b/src/arrow/io/file.cc
+@@ -36,6 +36,7 @@
+ #include <cerrno>
+ #include <cstdint>
+ #include <cstring>
++#include <limits>
+ #include <memory>
+ #include <mutex>
+ #include <sstream>
+@@ -560,17 +561,22 @@ class MemoryMappedFile::MemoryMap
+ RETURN_NOT_OK(::arrow::internal::FileTruncate(file_->fd(), initial_size));
+ }
+
+- size_t mmap_length = static_cast<size_t>(initial_size);
+- if (length > initial_size) {
+- return Status::Invalid("mapping length is beyond file size");
+- }
+- if (length >= 0 && length < initial_size) {
++ int64_t mmap_length = initial_size;
++ if (length >= 0) {
+ // memory mapping a file region
+- mmap_length = static_cast<size_t>(length);
++ if (length > initial_size) {
++ return Status::Invalid("mapping length is beyond file size");
++ }
++ mmap_length = length;
++ }
++ if (static_cast<int64_t>(static_cast<size_t>(mmap_length)) != mmap_length) {
++ return Status::CapacityError("Requested memory map length ", mmap_length,
++ " does not fit in a C size_t "
++ "(are you using a 32-bit build of Arrow?");
+ }
+
+- void* result = mmap(nullptr, mmap_length, prot_flags_, map_mode_, file_->fd(),
+- static_cast<off_t>(offset));
++ void* result = mmap(nullptr, static_cast<size_t>(mmap_length), prot_flags_, map_mode_,
++ file_->fd(), static_cast<off_t>(offset));
+ if (result == MAP_FAILED) {
+ return Status::IOError("Memory mapping file failed: ",
+ ::arrow::internal::ErrnoMessage(errno));
diff --git a/dev-libs/apache-arrow/metadata.xml b/dev-libs/apache-arrow/metadata.xml
new file mode 100644
index 000000000000..31fb6e8b9092
--- /dev/null
+++ b/dev-libs/apache-arrow/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="compute">Build the Arrow Compute Modules</flag>
+ <flag name="dataset">Build the Arrow Dataset Modules</flag>
+ <flag name="json">Enables read/write json format</flag>
+ <flag name="parquet">Enables read/write parquet data format</flag>
+ <flag name="re2">Build with support for regular expressions using the re2 library</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">apache/arrow</remote-id>
+ <remote-id type="github">apache/parquet-testing</remote-id>
+ <remote-id type="github">apache/arrow-testing</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild b/dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild
index 8dd04ed40ecd..4bd0df70fdb9 100644
--- a/dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild
+++ b/dev-libs/appstream-glib/appstream-glib-0.8.2.ebuild
@@ -11,7 +11,7 @@ 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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="
diff --git a/dev-libs/appstream/Manifest b/dev-libs/appstream/Manifest
index 2e213f107408..14e5aa16b233 100644
--- a/dev-libs/appstream/Manifest
+++ b/dev-libs/appstream/Manifest
@@ -1 +1,3 @@
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.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.16.4-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-0.16.4-disable-Werror-flags.patch
new file mode 100644
index 000000000000..e42c88e3bd31
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-0.16.4-disable-Werror-flags.patch
@@ -0,0 +1,50 @@
+--- a/meson.build 2023-03-15 14:18:16.657101983 -0700
++++ b/meson.build 2023-03-15 14:21:20.055049626 -0700
+@@ -97,47 +97,6 @@
+ endif
+ endif
+
+-# a few compiler warning flags we always want enabled
+-add_project_arguments(
+- cc.get_supported_arguments([
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=strict-prototypes',
+- '-Werror=missing-prototypes',
+- '-Werror=implicit-function-declaration',
+- '-Werror=pointer-arith',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=int-conversion',
+- '-Werror=incompatible-pointer-types',
+- '-Werror=misleading-indentation',
+- '-Werror=missing-include-dirs',
+- '-Werror=declaration-after-statement',
+- '-Werror=format-security',
+-
+- '-Wno-missing-field-initializers',
+- '-Wno-error=missing-field-initializers',
+- '-Wno-unused-parameter',
+- '-Wno-error=unused-parameter',
+- ]),
+- language: 'c'
+-)
+-add_project_arguments(
+- '-Wno-unused-parameter',
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=pointer-arith',
+- '-Werror=init-self',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=misleading-indentation',
+- '-Werror=format-security',
+-
+- # NOTE: Can be removed with AppStream 1.0
+- '-Wno-error=c++20-compat',
+- language: 'cpp'
+-)
+-
+ # Vendor extensions in system headers
+ add_project_arguments('-D_POSIX_C_SOURCE=200809L', language: 'c')
+
diff --git a/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch
new file mode 100644
index 000000000000..309d365c28ec
--- /dev/null
+++ b/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch
@@ -0,0 +1,47 @@
+--- a/meson.build
++++ b/meson.build
+@@ -90,44 +90,6 @@
+ endif
+ endif
+
+-# a few compiler warning flags we always want enabled
+-add_project_arguments(
+- cc.get_supported_arguments([
+- '-Werror=shadow',
+- '-Werror=empty-body',
+- '-Werror=strict-prototypes',
+- '-Werror=missing-prototypes',
+- '-Werror=implicit-function-declaration',
+- '-Werror=pointer-arith',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=int-conversion',
+- '-Werror=incompatible-pointer-types',
+- '-Werror=misleading-indentation',
+- '-Werror=missing-include-dirs',
+- '-Werror=declaration-after-statement',
+- '-Werror=format-security',
+-
+- '-Wno-missing-field-initializers',
+- '-Wno-error=missing-field-initializers',
+- '-Wno-unused-parameter',
+- '-Wno-error=unused-parameter',
+- ]),
+- language: 'c'
+-)
+-add_project_arguments(
+- '-Wno-unused-parameter',
+- '-Werror=empty-body',
+- '-Werror=pointer-arith',
+- '-Werror=init-self',
+- '-Werror=missing-declarations',
+- '-Werror=return-type',
+- '-Werror=misleading-indentation',
+- '-Werror=format-security',
+-
+- language: 'cpp'
+-)
+-
+ # Vendor extensions in system headers
+ if host_machine.system() != 'netbsd'
+ # on NetBSD, defining POSIX_C_SOURCE *removes* non-POSIX symbols from namespace,
diff --git a/dev-libs/apr-util/Manifest b/dev-libs/apr-util/Manifest
index 3759f954dca7..55721b0e12da 100644
--- a/dev-libs/apr-util/Manifest
+++ b/dev-libs/apr-util/Manifest
@@ -1 +1 @@
-DIST apr-util-1.6.1.tar.bz2 428595 BLAKE2B ab6eaf1594aaa1c7aae151319b630b83bdb8b68ec04f0e2b429b7c7789bdf274873270200ba43701359e2502d2be8624d8e42a56a5f399ec95a841e7c73ce706 SHA512 40eff8a37c0634f7fdddd6ca5e596b38de15fd10767a34c30bbe49c632816e8f3e1e230678034f578dd5816a94f246fb5dfdf48d644829af13bf28de3225205d
+DIST apr-util-1.6.3.tar.bz2 432692 BLAKE2B 5eb56c45ba9d87ff3e3769439a3a9a858a1947de68b34892c729f39736fc41117a41c630c3c4cfb07b444c4ee0d5853ec5be158e8fa0b0c0ab89f0cb51cc9c6d SHA512 8050a481eeda7532ef3751dbd8a5aa6c48354d52904a856ef9709484f4b0cc2e022661c49ddf55ec58253db22708ee0607dfa7705d9270e8fee117ae4f06a0fe
diff --git a/dev-libs/apr-util/apr-util-1.6.1-r10.ebuild b/dev-libs/apr-util/apr-util-1.6.1-r10.ebuild
deleted file mode 100644
index ff0412e3d5fc..000000000000
--- a/dev-libs/apr-util/apr-util-1.6.1-r10.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2022 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.7.0-r6"
-
-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 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="berkdb doc gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
-#RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/apr-${APR_PV}:1=
- dev-libs/expat
- virtual/libcrypt:=
- berkdb? ( >=sys-libs/db-4:= )
- gdbm? ( sys-libs/gdbm:= )
- ldap? ( net-nds/openldap:= )
- mysql? ( || (
- dev-db/mariadb-connector-c
- >=dev-db/mysql-connector-c-8
- ) )
- nss? ( dev-libs/nss )
- odbc? ( dev-db/unixODBC )
- openssl? (
- dev-libs/openssl:0=
- )
- postgres? ( dev-db/postgresql:= )
- sqlite? ( dev-db/sqlite:3 )
-"
-DEPEND="
- ${RDEPEND}
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )
-"
-
-DOCS=(CHANGES NOTICE README)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.3-sysroot.patch #385775
- "${FILESDIR}"/${PN}-1.6.1-fix-gdbm-error-handling.patch
- "${FILESDIR}"/${PN}-1.6.1-libtool.patch # 779487
- "${FILESDIR}"/${PN}-1.6.1-mariadb-support.patch
- "${FILESDIR}"/${PN}-1.6.1-my_bool.patch
- "${FILESDIR}"/${PN}-1.6.1-drop-my_init.patch
-)
-
-src_prepare() {
- default
-
- # Fix usage of libmysqlclient (bug #620230)
- grep -lrF "libmysqlclient_r" "${S}" \
- | xargs sed 's@libmysqlclient_r@libmysqlclient@g' -i \
- || die
-
- mv configure.{in,ac} || die
- eautoreconf
- elibtoolize
-}
-
-src_configure() {
- local myconf=(
- --datadir="${EPREFIX}"/usr/share/apr-util-1
- --with-apr="${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
- myconf+=( --with-crypto ) # 518708
- fi
-
- econf "${myconf[@]}"
- # Use the current env build settings rather than whatever apr was built with.
- sed -i -r \
- -e "/^(apr_builddir|apr_builders|top_builddir)=/s:=:=${SYSROOT}:" \
- -e "/^CC=/s:=.*:=$(tc-getCC):" \
- -e '/^(C|CPP|CXX|LD)FLAGS=/d' \
- -e '/^LTFLAGS/s:--silent::' \
- build/rules.mk || die
-}
-
-src_compile() {
- emake
- use doc && emake dox
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- find "${ED}" -name "*.la" -delete || die
- if [[ -d "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" ]] ; then
- find "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete || die
- fi
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -not -name "*$(get_libname)" -delete || die
- fi
-
- if use doc ; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- rm "${ED}/usr/$(get_libdir)/aprutil.exp" || die
-}
diff --git a/dev-libs/apr-util/apr-util-1.6.3.ebuild b/dev-libs/apr-util/apr-util-1.6.3.ebuild
new file mode 100644
index 000000000000..a51041c8b6f0
--- /dev/null
+++ b/dev-libs/apr-util/apr-util-1.6.3.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Usually apr-util has the same PV as apr, but in case of security fixes, this may change.
+# APR_PV="${PV}"
+APR_PV="1.7.2"
+
+inherit autotools db-use multilib toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Utility Library"
+HOMEPAGE="https://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="berkdb doc gdbm ldap mysql nss odbc openssl postgres sqlite static-libs"
+
+RDEPEND="
+ >=dev-libs/apr-${APR_PV}:1=
+ dev-libs/expat
+ virtual/libcrypt:=
+ berkdb? ( >=sys-libs/db-4:= )
+ gdbm? ( sys-libs/gdbm:= )
+ ldap? ( net-nds/openldap:= )
+ mysql? (
+ || (
+ dev-db/mariadb-connector-c
+ >=dev-db/mysql-connector-c-8
+ )
+ )
+ nss? ( dev-libs/nss )
+ odbc? ( dev-db/unixODBC )
+ openssl? ( dev-libs/openssl:= )
+ postgres? ( dev-db/postgresql:= )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-build/libtool-2.4.2
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( CHANGES NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.3-sysroot.patch # bug #385775
+ "${FILESDIR}"/${PN}-1.6.1-libtool.patch # bug #779487
+ "${FILESDIR}"/${PN}-1.6.1-my_bool.patch
+ "${FILESDIR}"/${PN}-1.6.1-drop-my_init.patch
+ "${FILESDIR}"/${PN}-1.6.3-fix-pkgconfig-libs.patch
+ "${FILESDIR}"/${PN}-1.6.3-configure-int.patch
+)
+
+src_prepare() {
+ default
+
+ # Fix usage of libmysqlclient (bug #620230)
+ grep -lrF "libmysqlclient_r" "${S}" \
+ | xargs sed 's@libmysqlclient_r@libmysqlclient@g' -i \
+ || die
+
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --datadir="${EPREFIX}"/usr/share/apr-util-1
+ --with-apr="${ESYSROOT}"/usr
+ --with-expat="${EPREFIX}"/usr
+ --without-sqlite2
+ $(use_with gdbm)
+ $(use_with ldap)
+ $(use_with mysql)
+ $(use_with nss)
+ $(use_with odbc)
+ $(use_with openssl)
+ $(use_with postgres pgsql)
+ $(use_with sqlite sqlite3)
+ )
+
+ tc-is-static-only && myconf+=( --disable-util-dso )
+
+ if use berkdb; then
+ local db_version
+ db_version="$(db_findver sys-libs/db)" || die "Unable to find Berkeley DB version"
+ db_version="$(db_ver_to_slot "${db_version}")"
+ db_version="${db_version/\./}"
+ myconf+=(
+ --with-dbm=db${db_version}
+ # We use ${T} for the libdir because otherwise it'd simply be the normal
+ # system libdir. That's pointless as the compiler will search it for
+ # us already. This makes cross-compiling and such easier.
+ --with-berkeley-db="$(db_includedir 2>/dev/null):${T}"
+ )
+ else
+ myconf+=( --without-berkeley-db )
+ fi
+
+ if use nss || use openssl ; then
+ # bug #518708
+ myconf+=( --with-crypto )
+ fi
+
+ econf "${myconf[@]}"
+
+ # Use the current env build settings rather than whatever apr was built with.
+ sed -i -r \
+ -e "/^(apr_builddir|apr_builders|top_builddir)=/s:=:=${SYSROOT}:" \
+ -e "/^CC=/s:=.*:=$(tc-getCC):" \
+ -e '/^LTFLAGS/s:--silent::' \
+ build/rules.mk || die
+}
+
+src_compile() {
+ emake all $(usev doc dox)
+}
+
+src_test() {
+ # Building tests in parallel is broken
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+ if [[ -d "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" ]] ; then
+ find "${ED}/usr/$(get_libdir)/apr-util-${SLOT}" -name "*.a" -delete || die
+ fi
+
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -not -name "*$(get_libname)" -delete || die
+ fi
+
+ if use doc ; then
+ docinto html
+ dodoc -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ rm "${ED}/usr/$(get_libdir)/aprutil.exp" || die
+}
diff --git a/dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch b/dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch
deleted file mode 100644
index 92a4738e66a5..000000000000
--- a/dev-libs/apr-util/files/apr-util-1.6.1-fix-gdbm-error-handling.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889170
-# needs to be submitted upstream
---- apr-util.orig/dbm/apr_dbm_gdbm.c
-+++ apr-util/dbm/apr_dbm_gdbm.c
-@@ -36,13 +36,22 @@
- static apr_status_t g2s(int gerr)
- {
- if (gerr == -1) {
-- /* ### need to fix this */
-- return APR_EGENERAL;
-+ return APR_OS_START_USEERR + gdbm_errno;
- }
-
- return APR_SUCCESS;
- }
-
-+static apr_status_t gdat2s(datum d)
-+{
-+ if (d.dptr == NULL) {
-+ return APR_OS_START_USEERR + gdbm_errno;
-+ }
-+
-+ return APR_SUCCESS;
-+}
-+
-+
- static apr_status_t datum_cleanup(void *dptr)
- {
- if (dptr)
-@@ -55,19 +64,15 @@ static apr_status_t set_error(apr_dbm_t
- {
- apr_status_t rv = APR_SUCCESS;
-
-- /* ### ignore whatever the DBM said (dbm_said); ask it explicitly */
--
-- if ((dbm->errcode = gdbm_errno) == GDBM_NO_ERROR) {
-+ if (dbm_said == APR_SUCCESS) {
-+ dbm->errcode = GDBM_NO_ERROR;
- dbm->errmsg = NULL;
- }
- else {
-+ dbm->errcode = dbm_said;
- dbm->errmsg = gdbm_strerror(gdbm_errno);
-- rv = APR_EGENERAL; /* ### need something better */
- }
-
-- /* captured it. clear it now. */
-- gdbm_errno = GDBM_NO_ERROR;
--
- return rv;
- }
-
-@@ -144,7 +149,7 @@ static apr_status_t vt_gdbm_fetch(apr_db
-
- /* store the error info into DBM, and return a status code. Also, note
- that *pvalue should have been cleared on error. */
-- return set_error(dbm, APR_SUCCESS);
-+ return set_error(dbm, gdat2s(rd));
- }
-
- static apr_status_t vt_gdbm_store(apr_dbm_t *dbm, apr_datum_t key,
-@@ -203,7 +208,7 @@ static apr_status_t vt_gdbm_firstkey(apr
- apr_pool_cleanup_null);
-
- /* store any error info into DBM, and return a status code. */
-- return set_error(dbm, APR_SUCCESS);
-+ return set_error(dbm, gdat2s(rd));
- }
-
- static apr_status_t vt_gdbm_nextkey(apr_dbm_t *dbm, apr_datum_t *pkey)
-@@ -223,7 +228,7 @@ static apr_status_t vt_gdbm_nextkey(apr_
- apr_pool_cleanup_null);
-
- /* store any error info into DBM, and return a status code. */
-- return set_error(dbm, APR_SUCCESS);
-+ return set_error(dbm, gdat2s(rd));
- }
-
- static void vt_gdbm_freedatum(apr_dbm_t *dbm, apr_datum_t data)
diff --git a/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch b/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch
deleted file mode 100644
index 137e99f97637..000000000000
--- a/dev-libs/apr-util/files/apr-util-1.6.1-mariadb-support.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Backport of http://svn.apache.org/viewvc?rev=1872060&view=rev
-
---- a/build/dbd.m4
-+++ b/build/dbd.m4
-@@ -163,10 +163,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
- old_cppflags="$CPPFLAGS"
- old_ldflags="$LDFLAGS"
-
-+ my_library="mysqlclient"
-+
- AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [enable MySQL DBD driver]),
- [
- if test "$withval" = "yes"; then
- AC_PATH_PROG([MYSQL_CONFIG],[mysql_config])
-+ if test "x$MYSQL_CONFIG" = "x"; then
-+ AC_PATH_TOOL([MYSQL_CONFIG],[mariadb_config])
-+ fi
- if test "x$MYSQL_CONFIG" != 'x'; then
- mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
- mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
-@@ -174,29 +179,37 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
-
- APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS])
- APR_ADDTO(LIBS, [$mysql_LIBS])
-+
-+ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
-+ my_library="mariadb"
-+ fi
- fi
-
-- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <my_global.h>])
-- if test "$apu_have_mysql" = "0"; then
-- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <mysql/my_global.h>])
-+ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
-+ if test "$apr_have_mysql" = "0"; then
-+ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
- fi
-- if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then
-+ if test "$apr_have_mysql" = "1"; then
-+ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
-+ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
-+ fi
-+ if test "$apu_have_mysql" = "1" && test "x$MYSQL_CONFIG" != 'x'; then
- APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
- fi
- elif test "$withval" = "no"; then
- :
- else
- AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin])
-+ if test "x$MYSQL_CONFIG" = "x"; then
-+ AC_PATH_TOOL([MYSQL_CONFIG],[mariadb_config],,[$withval/bin])
-+ fi
- if test "x$MYSQL_CONFIG" != 'x'; then
- mysql_CPPFLAGS="`$MYSQL_CONFIG --include`"
- mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`"
- mysql_LIBS="`$MYSQL_CONFIG --libs_r`"
-+ if $MYSQL_CONFIG --libs_r | grep -q mariadb; then
-+ my_library="mariadb"
-+ fi
- else
- mysql_CPPFLAGS="-I$withval/include"
- mysql_LDFLAGS="-L$withval/lib "
-@@ -207,18 +220,15 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
- APR_ADDTO(LIBS, [$mysql_LIBS])
-
- AC_MSG_NOTICE(checking for mysql in $withval)
-- AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <my_global.h>])
--
-- if test "$apu_have_mysql" != "1"; then
-- AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h],
-- AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]),
-- [apu_have_mysql=0; break],
-- [#include <mysql/my_global.h>])
-+ AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
-+ if test "$apr_have_mysql" = "0"; then
-+ AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break])
-+ fi
-+ if test "$apr_have_mysql" = "1"; then
-+ AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h])
-+ AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0])
- fi
-- if test "$apu_have_mysql" != "0"; then
-+ if test "$apu_have_mysql" = "1"; then
- APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])
- fi
- fi
-@@ -229,7 +239,7 @@ AC_DEFUN([APU_CHECK_DBD_MYSQL], [
- dnl Since we have already done the AC_CHECK_LIB tests, if we have it,
- dnl we know the library is there.
- if test "$apu_have_mysql" = "1"; then
-- APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -lmysqlclient $mysql_LIBS])
-+ APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -l$my_library $mysql_LIBS])
- fi
- AC_SUBST(LDADD_dbd_mysql)
-
---- a/dbd/apr_dbd_mysql.c
-+++ b/dbd/apr_dbd_mysql.c
-@@ -1262,7 +1262,9 @@ static apr_status_t thread_end(void *data)
-
- static void dbd_mysql_init(apr_pool_t *pool)
- {
-+#if MYSQL_VERSION_ID < 100000
- my_init();
-+#endif
- mysql_thread_init();
-
- /* FIXME: this is a guess; find out what it really does */
diff --git a/dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch b/dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch
new file mode 100644
index 000000000000..fd394adbe309
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.6.3-configure-int.patch
@@ -0,0 +1,28 @@
+commit 4286faefa6fe9ee83e30bacd4e4c498981ac92b7
+Author: jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>
+Date: Fri Feb 3 16:36:17 2023 +0000
+
+ Merge r1906347 from trunk:
+
+ Fix configure for compilers which don't accept implicit
+ int (no longer part of C since C99).
+
+ Submitted by: Florian Weimer <fweimer redhat.com>
+ PR: 66396
+
+
+ git-svn-id: https://svn.apache.org/repos/asf/apr/apr-util/branches/1.6.x@1907246 13f79535-47bb-0310-9956-ffa450edef68
+
+diff --git a/build/dbm.m4 b/build/dbm.m4
+index 57bd131..e8c51b5 100644
+--- a/build/dbm.m4
++++ b/build/dbm.m4
+@@ -235,7 +235,7 @@ AC_DEFUN([APU_TRY_BERKELEY_DB],
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <$apu_try_berkeley_db_header>
+-main ()
++int main (void)
+ {
+ int major, minor, patch;
+
diff --git a/dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch b/dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch
new file mode 100644
index 000000000000..06c8e5d2eb07
--- /dev/null
+++ b/dev-libs/apr-util/files/apr-util-1.6.3-fix-pkgconfig-libs.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/811765
+https://sources.debian.org/patches/apr-util/1.6.3-1/apu_config_dont_list_indep_libs.patch/
+
+From: Peter Samuelson <peter@p12n.org>
+Subject: Prevent recursive linking of dependent libraries by apr-util users.
+
+--- a/apr-util.pc.in
++++ b/apr-util.pc.in
+@@ -8,6 +8,7 @@ Name: APR Utils
+ Description: Companion library for APR
+ Version: @APRUTIL_DOTTED_VERSION@
+ # assume that apr-util requires libapr of same major version
+-Requires: apr-@APRUTIL_MAJOR_VERSION@
+-Libs: -L${libdir} -l@APRUTIL_LIBNAME@ @LDADD_ldap@ @APRUTIL_EXPORT_LIBS@
++Requires.private: apr-@APRUTIL_MAJOR_VERSION@
++Libs: -L${libdir} -l@APRUTIL_LIBNAME@ @LDADD_ldap@
++Libs.private: @APRUTIL_EXPORT_LIBS@
+ Cflags: -I${includedir}
+--- a/apu-config.in
++++ b/apu-config.in
+@@ -27,7 +27,7 @@ bindir="@bindir@"
+ libdir="@libdir@"
+ includedir="${SYSROOT}@includedir@"
+
+-LIBS="@APRUTIL_EXPORT_LIBS@"
++LIBS=
+ INCLUDES="@APRUTIL_INCLUDES@"
+ LDFLAGS="@APRUTIL_LDFLAGS@"
+ LDAP_LIBS="@LDADD_ldap@"
diff --git a/dev-libs/apr/Manifest b/dev-libs/apr/Manifest
index c7cbafa5c57b..8018bcb43871 100644
--- a/dev-libs/apr/Manifest
+++ b/dev-libs/apr/Manifest
@@ -1 +1 @@
-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.7.0-r6.ebuild b/dev-libs/apr/apr-1.7.0-r6.ebuild
deleted file mode 100644
index 855fd6a0da42..000000000000
--- a/dev-libs/apr/apr-1.7.0-r6.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools libtool toolchain-funcs
-
-DESCRIPTION="Apache Portable Runtime Library"
-HOMEPAGE="https://apr.apache.org/"
-SRC_URI="mirror://apache/apr/${P}.tar.bz2"
-
-LICENSE="Apache-2.0"
-SLOT="1/${PV%.*}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc older-kernels-compatibility selinux static-libs +urandom"
-
-# See bug #815265 for libcrypt dependency
-CDEPEND="virtual/libcrypt:=
- elibc_glibc? ( >=sys-apps/util-linux-2.16 )"
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-base-policy )"
-DEPEND="${CDEPEND}
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )"
-
-DOCS=( CHANGES NOTICE README )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.0-mint.patch
- "${FILESDIR}"/${PN}-1.5.0-libtool.patch
- "${FILESDIR}"/${PN}-1.5.0-cross-types.patch
- "${FILESDIR}"/${PN}-1.5.0-sysroot.patch #385775
- "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
- "${FILESDIR}"/${PN}-1.7.0-autoconf-2.70.patch #750353
- "${FILESDIR}"/${PN}-1.7.0-CVE-2021-35940.patch #828545
- "${FILESDIR}"/${PN}-1.7.0-clang-16.patch #870004
- "${FILESDIR}"/${PN}-1.7.0-dev-zero.patch #830833
-)
-
-src_prepare() {
- default
-
- mv configure.in configure.ac || die
- AT_M4DIR="build" eautoreconf
- elibtoolize
-
- eapply "${FILESDIR}/config.layout.patch"
-}
-
-src_configure() {
- local myconf=(
- --enable-layout=gentoo
- --enable-nonportable-atomics
- --enable-posix-shm
- --enable-threads
- $(use_enable static-libs static)
- --with-installbuilddir="${EPREFIX}"/usr/share/${PN}/build
- )
-
- if use older-kernels-compatibility; then
- local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
- export apr_cv_accept4="no"
- export apr_cv_dup3="no"
- export apr_cv_epoll_create1="no"
- export apr_cv_sock_cloexec="no"
- fi
- if tc-is-cross-compiler; then
- # The apache project relies heavily on AC_TRY_RUN and doesn't
- # have any sane cross-compiling fallback logic.
- export \
- ac_cv_file__dev_zero="yes" \
- ac_cv_func_sem_open="yes" \
- ac_cv_negative_eai="yes" \
- ac_cv_o_nonblock_inherited="no" \
- ac_cv_struct_rlimit="yes" \
- ap_cv_atomic_builtins="yes" \
- apr_cv_accept4="yes" \
- apr_cv_dup3="yes" \
- apr_cv_epoll="yes" \
- apr_cv_epoll_create1="yes" \
- apr_cv_gai_addrconfig="yes" \
- apr_cv_mutex_recursive="yes" \
- apr_cv_mutex_robust_shared="yes" \
- apr_cv_process_shared_works="yes" \
- apr_cv_pthreads_lib="-pthread" \
- apr_cv_sock_cloexec="yes" \
- apr_cv_tcp_nodelay_with_cork="yes"
- fi
-
- if use urandom; then
- myconf+=( --with-devrandom=/dev/urandom )
- elif (( ${CHOST#*-hpux11.} <= 11 )); then
- : # no /dev/*random on hpux11.11 and before, ${PN} detects this.
- else
- myconf+=( --with-devrandom=/dev/random )
- fi
-
- tc-is-static-only && myconf+=( --disable-dso )
-
- # shl_load does not search runpath, but hpux11 supports dlopen
- [[ ${CHOST} == *-hpux11* ]] && myconf+=( --enable-dso=dlfcn )
-
- if [[ ${CHOST} == *-solaris2.10 ]]; then
- case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
- *atomic_cas_ptr*) ;;
- *)
- elog "You do not have Solaris Patch ID "$(
- [[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
- )" (Problem 4954703) installed on your host ($(hostname)),"
- elog "using generic atomic operations instead."
- myconf+=( --disable-nonportable-atomics )
- ;;
- esac
- else
- if use ppc || use sparc || use mips; then
- # Avoid libapr containing undefined references (underlinked)
- # undefined reference to `__sync_val_compare_and_swap_8'
- # (May be possible to fix via libatomic linkage in future?)
- # bug #740464
- myconf+=( --disable-nonportable-atomics )
- fi
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- # This header is the same across targets, so use the build compiler.
- emake tools/gen_test_char
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
- tools/gen_test_char.c -o tools/gen_test_char || die
- fi
-
- emake
-
- if use doc; then
- emake dox
- fi
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-
- if use doc; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- # Even in Prefix, we don't need this on AIX.
- rm "${ED}/usr/$(get_libdir)/apr.exp" || die
-}
diff --git a/dev-libs/apr/apr-1.7.4-r2.ebuild b/dev-libs/apr/apr-1.7.4-r2.ebuild
new file mode 100644
index 000000000000..1a50b553b4c1
--- /dev/null
+++ b/dev-libs/apr/apr-1.7.4-r2.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Library"
+HOMEPAGE="https://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1/${PV%.*}"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc old-kernel selinux static-libs +urandom valgrind"
+
+# See bug #815265 for libcrypt dependency
+DEPEND="
+ virtual/libcrypt:=
+ elibc_glibc? ( >=sys-apps/util-linux-2.16 )
+"
+RDEPEND="
+ ${DEPEND}
+ selinux? ( sec-policy/selinux-base-policy )
+"
+DEPEND+=" valgrind? ( dev-debug/valgrind )"
+BDEPEND="
+ >=dev-build/libtool-2.4.2
+ doc? ( app-text/doxygen )
+"
+
+DOCS=( CHANGES NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
+ "${FILESDIR}"/${PN}-1.7.2-libtool.patch
+ "${FILESDIR}"/${PN}-1.7.2-sysroot.patch # bug #385775
+ "${FILESDIR}"/${PN}-1.7.2-fix-pkgconfig-libs.patch
+ "${FILESDIR}"/${PN}-1.7.2-respect-flags.patch
+ "${FILESDIR}"/${PN}-1.7.2-autoconf-2.72.patch
+ "${FILESDIR}"/config.layout.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.in configure.ac || die
+ AT_M4DIR="build" eautoreconf
+}
+
+src_configure() {
+ tc-export AS CC CPP
+
+ # the libtool script uses bash code in it and at configure time, tries
+ # to find a bash shell. if /bin/sh is bash, it uses that. this can
+ # cause problems for people who switch /bin/sh on the fly to other
+ # shells, so just force libtool to use /bin/bash all the time.
+ export CONFIG_SHELL="${EPREFIX}"/bin/bash
+ export ac_cv_path_SED="sed"
+ export ac_cv_path_EGREP="grep -E"
+ export ac_cv_path_EGREP_TRADITIONAL="grep -E"
+ export ac_cv_path_FGREP="grep -F"
+ export ac_cv_path_GREP="grep"
+ export ac_cv_path_lt_DD="dd"
+
+ local myconf=(
+ --enable-layout=gentoo
+ --enable-nonportable-atomics
+ --enable-posix-shm
+ --enable-threads
+ $(use_enable static-libs static)
+ $(use_with valgrind)
+ --with-installbuilddir="${EPREFIX}"/usr/share/${PN}/build
+ )
+
+ tc-is-static-only && myconf+=( --disable-dso )
+
+ if use old-kernel; then
+ local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
+ export apr_cv_accept4="no"
+ export apr_cv_dup3="no"
+ export apr_cv_epoll_create1="no"
+ export apr_cv_sock_cloexec="no"
+ fi
+
+ if tc-is-cross-compiler; then
+ # The apache project relies heavily on AC_TRY_RUN and doesn't
+ # have any sane cross-compiling fallback logic.
+ export \
+ ac_cv_file__dev_zero="yes" \
+ ac_cv_func_sem_open="yes" \
+ ac_cv_mmap__dev_zero="yes" \
+ ac_cv_negative_eai="yes" \
+ ac_cv_o_nonblock_inherited="no" \
+ ac_cv_struct_rlimit="yes" \
+ ap_cv_atomic_builtins="yes" \
+ apr_cv_accept4="yes" \
+ apr_cv_dup3="yes" \
+ apr_cv_epoll="yes" \
+ apr_cv_epoll_create1="yes" \
+ apr_cv_gai_addrconfig="yes" \
+ apr_cv_mutex_recursive="yes" \
+ apr_cv_mutex_robust_shared="yes" \
+ apr_cv_process_shared_works="yes" \
+ apr_cv_pthreads_lib="-pthread" \
+ apr_cv_sock_cloexec="yes" \
+ apr_cv_tcp_nodelay_with_cork="yes"
+ fi
+
+ if use urandom; then
+ myconf+=( --with-devrandom=/dev/urandom )
+ else
+ myconf+=( --with-devrandom=/dev/random )
+ fi
+
+ # Avoid libapr containing undefined references (underlinked)
+ # undefined reference to `__sync_val_compare_and_swap_8'
+ # (May be possible to fix via libatomic linkage in future?)
+ # bug #740464
+ append-atomic-flags
+ if use x86 || [[ ${LIBS} == *atomic* ]] ; then
+ myconf+=( --disable-nonportable-atomics )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ # This header is the same across targets, so use the build compiler.
+ emake tools/gen_test_char
+
+ tc-export_build_env BUILD_CC
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
+ tools/gen_test_char.c -o tools/gen_test_char || die
+ fi
+
+ emake all $(usev doc dox)
+}
+
+src_test() {
+ # Building tests in parallel is broken
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
+ if use doc; then
+ docinto html
+ dodoc -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ # Even in Prefix, we don't need this on AIX.
+ rm "${ED}/usr/$(get_libdir)/apr.exp" || die
+}
diff --git a/dev-libs/apr/files/apr-1.5.0-cross-types.patch b/dev-libs/apr/files/apr-1.5.0-cross-types.patch
deleted file mode 100644
index 266e5676817f..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-cross-types.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-use standard AC_CHECK_SIZEOF as it supports non-builtin types and
-supports cross-compiling sanely
-
-https://issues.apache.org/bugzilla/show_bug.cgi?id=56053
-
---- a/configure.in
-+++ b/configure.in
-@@ -1684,7 +1684,7 @@ else
- socklen_t_value="int"
- fi
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], pid_t, 8)
-+AC_CHECK_SIZEOF(pid_t)
-
- if test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_short"; then
- pid_t_fmt='#define APR_PID_T_FMT "hd"'
-@@ -1753,7 +1753,7 @@ APR_CHECK_TYPES_COMPATIBLE(ssize_t, long, [ssize_t_fmt="ld"])
- APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned int, [size_t_fmt="u"])
- APR_CHECK_TYPES_COMPATIBLE(size_t, unsigned long, [size_t_fmt="lu"])
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8)
-+AC_CHECK_SIZEOF(ssize_t)
-
- AC_MSG_CHECKING([which format to use for apr_ssize_t])
- if test -n "$ssize_t_fmt"; then
-@@ -1770,7 +1770,7 @@ fi
-
- ssize_t_fmt="#define APR_SSIZE_T_FMT \"$ssize_t_fmt\""
-
--APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8)
-+AC_CHECK_SIZEOF(size_t)
-
- AC_MSG_CHECKING([which format to use for apr_size_t])
- if test -n "$size_t_fmt"; then
-@@ -1787,7 +1787,7 @@ fi
-
- size_t_fmt="#define APR_SIZE_T_FMT \"$size_t_fmt\""
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8)
-+AC_CHECK_SIZEOF(off_t)
-
- if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
- # Enable LFS
-@@ -1866,7 +1866,7 @@ case $host in
- ;;
- *)
- ino_t_value=ino_t
-- APR_CHECK_SIZEOF_EXTENDED(AC_INCLUDES_DEFAULT, ino_t, $ac_cv_sizeof_long)
-+ AC_CHECK_SIZEOF(ino_t)
- if test $ac_cv_sizeof_ino_t = 4; then
- if test $ac_cv_sizeof_long = 4; then
- ino_t_value="unsigned long"
-@@ -1886,8 +1886,8 @@ else
- bigendian=0
- fi
-
--APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>
--#include <sys/uio.h>],struct iovec,0)
-+AC_CHECK_SIZEOF(struct iovec,,[AC_INCLUDES_DEFAULT
-+#include <sys/uio.h>])
- if test "$ac_cv_sizeof_struct_iovec" = "0"; then
- have_iovec=0
- else
diff --git a/dev-libs/apr/files/apr-1.5.0-libtool.patch b/dev-libs/apr/files/apr-1.5.0-libtool.patch
deleted file mode 100644
index 5368a2689bdf..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-libtool.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-generate a local copy of libtool for use in compiling
-
-https://bugs.gentoo.org/374355
-
---- a/configure.in
-+++ b/configure.in
-@@ -260,9 +260,7 @@ case $host in
- fi
- else
- dnl libtoolize requires that the following not be indented
-- dnl should become LT_INIT(win32-dll)
--AC_LIBTOOL_WIN32_DLL
--AC_PROG_LIBTOOL
-+LT_INIT(win32-dll)
- # get libtool's setting of shlibpath_var
- eval `grep "^shlibpath_var=[[A-Z_]]*$" $apr_builddir/libtool`
- if test "x$shlibpath_var" = "x"; then
diff --git a/dev-libs/apr/files/apr-1.5.0-mint.patch b/dev-libs/apr/files/apr-1.5.0-mint.patch
deleted file mode 100644
index cfe039e962c6..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-mint.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- apr-1.5.0/build/apr_hints.m4
-+++ apr-1.5.0/build/apr_hints.m4
-@@ -45,6 +45,8 @@
- case "$host" in
- *mint)
- APR_ADDTO(CPPFLAGS, [-DMINT -D_GNU_SOURCE])
-+ apr_cv_pthreads_cflags="none"
-+ apr_cv_pthreads_lib="-lpthread"
- ;;
- *MPE/iX*)
- APR_ADDTO(CPPFLAGS, [-DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE])
---- apr-1.5.0/build/apr_threads.m4
-+++ apr-1.5.0/build/apr_threads.m4
-@@ -198,7 +198,7 @@
- AC_DEFUN([APR_CHECK_SIGWAIT_ONE_ARG], [
- AC_CACHE_CHECK(whether sigwait takes one argument,ac_cv_sigwait_one_arg,[
- AC_TRY_COMPILE([
--#if defined(__NETBSD__) || defined(DARWIN)
-+#if defined(__NETBSD__) || defined(DARWIN) || defined(MINT)
- /* When using the unproven-pthreads package, we need to pull in this
- * header to get a prototype for sigwait(). Else things will fail later
- * on. XXX Should probably be fixed in the unproven-pthreads package.
diff --git a/dev-libs/apr/files/apr-1.5.0-sysroot.patch b/dev-libs/apr/files/apr-1.5.0-sysroot.patch
deleted file mode 100644
index 54c9d649ef07..000000000000
--- a/dev-libs/apr/files/apr-1.5.0-sysroot.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://bugs.gentoo.org/385775
-
-utilize $SYSROOT to find the right includedir tree
-
-drop the -L/-R paths since we know our libdir is the standard path which
-the compiler already knows how to locate
-
---- a/apr-config.in
-+++ b/apr-config.in
-@@ -28,7 +28,7 @@ libdir="@libdir@"
- datarootdir="@datadir@"
- datadir="@datadir@"
--installbuilddir="@installbuilddir@"
--includedir="@includedir@"
-+installbuilddir="${SYSROOT}@installbuilddir@"
-+includedir="${SYSROOT}@includedir@"
-
- CC="@CC@"
- CPP="@CPP@"
-@@ -183,7 +183,7 @@ while test $# -gt 0; do
- --link-ld)
- if test "$location" = "installed"; then
- ### avoid using -L if libdir is a "standard" location like /usr/lib
-- flags="$flags -L$libdir -l${APR_LIBNAME}"
-+ flags="$flags -l${APR_LIBNAME}"
- else
- ### this surely can't work since the library is in .libs?
- flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}"
-@@ -200,7 +200,7 @@ while test $# -gt 0; do
- ### avoid using -L if libdir is a "standard" location like /usr/lib
- # Since the user is specifying they are linking with libtool, we
- # *know* that -R will be recognized by libtool.
-- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
-+ flags="$flags -l${APR_LIBNAME}"
- else
- flags="$flags $LA_FILE"
- fi
diff --git a/dev-libs/apr/files/apr-1.7.0-CVE-2021-35940.patch b/dev-libs/apr/files/apr-1.7.0-CVE-2021-35940.patch
deleted file mode 100644
index f23d729f523e..000000000000
--- a/dev-libs/apr/files/apr-1.7.0-CVE-2021-35940.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-
-SECURITY: CVE-2021-35940 (cve.mitre.org)
-
-Restore fix for CVE-2017-12613 which was missing in 1.7.x branch, though
-was addressed in 1.6.x in 1.6.3 and later via r1807976.
-
-The fix was merged back to 1.7.x in r1891198.
-
-Since this was a regression in 1.7.0, a new CVE name has been assigned
-to track this, CVE-2021-35940.
-
-Thanks to Iveta Cesalova <icesalov redhat.com> for reporting this issue.
-
-https://svn.apache.org/viewvc?view=revision&revision=1891198
-
-Index: time/unix/time.c
-===================================================================
---- a/time/unix/time.c (revision 1891197)
-+++ b/time/unix/time.c (revision 1891198)
-@@ -142,6 +142,9 @@
- static const int dayoffset[12] =
- {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
-
-+ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
-+ return APR_EBADDATE;
-+
- /* shift new year to 1st March in order to make leap year calc easy */
-
- if (xt->tm_mon < 2)
-Index: time/win32/time.c
-===================================================================
---- a/time/win32/time.c (revision 1891197)
-+++ b/time/win32/time.c (revision 1891198)
-@@ -54,6 +54,9 @@
- static const int dayoffset[12] =
- {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
-
-+ if (tm->wMonth < 1 || tm->wMonth > 12)
-+ return APR_EBADDATE;
-+
- /* Note; the caller is responsible for filling in detailed tm_usec,
- * tm_gmtoff and tm_isdst data when applicable.
- */
-@@ -228,6 +231,9 @@
- static const int dayoffset[12] =
- {306, 337, 0, 31, 61, 92, 122, 153, 184, 214, 245, 275};
-
-+ if (xt->tm_mon < 0 || xt->tm_mon >= 12)
-+ return APR_EBADDATE;
-+
- /* shift new year to 1st March in order to make leap year calc easy */
-
- if (xt->tm_mon < 2)
diff --git a/dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch b/dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch
deleted file mode 100644
index 488c3c59321d..000000000000
--- a/dev-libs/apr/files/apr-1.7.0-autoconf-2.70.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 5593f23e8e062da108ed585535e7281b87346ee1 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Wed, 25 Nov 2020 09:36:25 +0000
-Subject: [PATCH] build/apr_common.m4: avoid explicit inclusion of
- '"confdefs.h"'
-
-The failure is observed on `autoconf-2.69d` (soon to be released
-as `autoconf-2.70`). There `int64_t` detection fails as:
-
-```
-$ autoreconf && ./configure
-...
-checking whether int64_t and int use fmt %d... no
-checking whether int64_t and long use fmt %ld... no
-checking whether int64_t and long long use fmt %lld... no
-configure: error: could not determine the string function for int64_t
-```
-
-This happens because `./configure` always stumbles on warning:
-
-```
-configure:3350: gcc -c -g -O2 -Werror conftest.c >&5
-In file included from conftest.c:31:
-confdefs.h:22: error: "__STDC_WANT_IEC_60559_ATTRIBS_EXT__" redefined [-Werror]
- 22 | #define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
- |
-```
-
-It's triggered by double inclusion of `"confdefs.h"` contents:
-explicitly in `APR_TRY_COMPILE_NO_WARNING` macro and implicitly
-via `AC_LANG_SOURCE` use.
-
-To fix it and avoid having to define `main()` declaration the change
-uses `AC_LANG_PROGRAM` instead.
-
-Tested on both `autoconf-2.69` and `autoconf-2.69d`.
-
-Bug: https://bugs.gentoo.org/738156
-Bug: https://bugs.gentoo.org/750353
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- build/apr_common.m4 | 8 ++------
- 1 file changed, 2 insertions(+), 6 deletions(-)
-
-diff --git a/build/apr_common.m4 b/build/apr_common.m4
-index f4e2dfd0a7..6f5782e674 100644
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -504,13 +504,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
- CFLAGS="$CFLAGS -Werror"
- fi
- AC_COMPILE_IFELSE(
-- [AC_LANG_SOURCE(
-- [#include "confdefs.h"
-- ]
-- [[$1]]
-- [int main(int argc, const char *const *argv) {]
-+ [AC_LANG_PROGRAM(
-+ [[$1]],
- [[$2]]
-- [ return 0; }]
- )], [CFLAGS=$apr_save_CFLAGS
- $3], [CFLAGS=$apr_save_CFLAGS
- $4])
diff --git a/dev-libs/apr/files/apr-1.7.0-clang-16.patch b/dev-libs/apr/files/apr-1.7.0-clang-16.patch
deleted file mode 100644
index 2244b07a14ff..000000000000
--- a/dev-libs/apr/files/apr-1.7.0-clang-16.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-https://bugs.gentoo.org/870004
-
-Fixed upstream, hopefully (it's hard to keep track of 1.7.x branch churn):
-- https://bz.apache.org/bugzilla/show_bug.cgi?id=64753
-- https://bz.apache.org/bugzilla/show_bug.cgi?id=65087
---- a/build/apr_common.m4
-+++ b/build/apr_common.m4
-@@ -467,6 +467,7 @@ changequote([, ])dnl
- AC_MSG_CHECKING(size of $2)
- AC_CACHE_VAL(AC_CV_NAME,
- [AC_TRY_RUN([#include <stdio.h>
-+#include <stdlib.h>
- $1
- #ifdef WIN32
- #define binmode "b"
-@@ -531,7 +532,8 @@ AC_TRY_RUN([
- #include <errno.h>
- #include <string.h>
- #include <stdio.h>
--main()
-+#include <stdlib.h>
-+int main()
- {
- char buf[1024];
- if (strerror_r(ERANGE, buf, sizeof buf) < 1) {
---- a/build/apr_network.m4
-+++ b/build/apr_network.m4
-@@ -63,6 +63,10 @@ AC_DEFUN([APR_CHECK_WORKING_GETADDRINFO], [
- #ifdef HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
- #endif
-+#include <stdlib.h>
-+
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-
- int main(void) {
- struct addrinfo hints, *ai;
-@@ -136,6 +140,11 @@ dnl
- AC_DEFUN([APR_CHECK_WORKING_GETNAMEINFO], [
- AC_CACHE_CHECK(for working getnameinfo, ac_cv_working_getnameinfo,[
- AC_TRY_RUN( [
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+#include <stdlib.h>
-+
- #ifdef HAVE_NETDB_H
- #include <netdb.h>
- #endif
-@@ -195,6 +204,8 @@ AC_DEFUN([APR_CHECK_NEGATIVE_EAI], [
- #include <netdb.h>
- #endif
-
-+#include <stdlib.h>
-+
- int main(void) {
- if (EAI_ADDRFAMILY < 0) {
- exit(0);
-@@ -388,9 +399,14 @@ AC_DEFUN([APR_CHECK_TCP_NODELAY_INHERITED], [
- AC_CACHE_CHECK(if TCP_NODELAY setting is inherited from listening sockets, ac_cv_tcp_nodelay_inherited,[
- AC_TRY_RUN( [
- #include <stdio.h>
-+#include <stdlib.h>
-+
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
--#endif
-+#end
-+#ifdef HAVE_STRING_H
-+#include <string.h>
-+#endifif
- #ifdef HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
- #endif
-@@ -734,6 +750,9 @@ AC_TRY_COMPILE([
- #ifdef HAVE_ARPA_INET_H
- #include <arpa/inet.h>
- #endif
-+
-+#include <sys/socket.h>
-+#include <netinet/in.h>
- ],[
- inet_addr("127.0.0.1");
- ],[
-@@ -754,6 +773,9 @@ fi
- AC_DEFUN([APR_CHECK_INET_NETWORK], [
- AC_CACHE_CHECK(for inet_network, ac_cv_func_inet_network,[
- AC_TRY_COMPILE([
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
---- a/configure.in
-+++ b/configure.in
-@@ -1440,8 +1440,6 @@ AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ])
- AC_DECL_SYS_SIGLIST
-
- AC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ])
--APR_CHECK_INET_ADDR
--APR_CHECK_INET_NETWORK
- AC_SUBST(apr_inaddr_none)
- AC_CHECK_FUNC(_getch)
- AC_CHECK_FUNCS(strerror_r, [ strerror_r="1" ], [ strerror_r="0" ])
-@@ -1547,6 +1545,9 @@ APR_FLAG_HEADERS(
- sys/un.h \
- sys/wait.h)
-
-+APR_CHECK_INET_ADDR
-+APR_CHECK_INET_NETWORK
-+
- # IRIX 6.5 has a problem in <netinet/tcp.h> which prevents it from
- # being included by itself. Check for <netinet/tcp.h> manually,
- # including another header file first.
-@@ -2208,7 +2209,8 @@ AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/resource.h>
--main()
-+#include <stdlib.h>
-+int main()
- {
- struct rlimit limit;
- limit.rlim_cur = 0;
-@@ -2247,7 +2249,7 @@ AC_TRY_RUN([
- #ifndef SEM_FAILED
- #define SEM_FAILED (-1)
- #endif
--main()
-+int main()
- {
- sem_t *psem;
- const char *sem_name = "/apr_autoconf";
-@@ -2307,6 +2309,7 @@ if test "$threads" = "1"; then
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <pthread.h>
-+#include <stdlib.h>
- int main()
- {
- pthread_mutex_t mutex;
-@@ -2435,6 +2438,8 @@ int fd;
- struct flock proc_mutex_lock_it = {0};
- const char *fname = "conftest.fcntl";
-
-+int lockit();
-+
- int main()
- {
- int rc, status;;
---- a/poll/os2/pollset.c
-+++ b/poll/os2/pollset.c
-@@ -308,7 +308,7 @@ APR_DECLARE(apr_status_t) apr_pollset_wakeup(apr_pollset_t *pollset)
-
-
-
--APR_DECLARE(const char *) apr_poll_method_defname()
-+APR_DECLARE(const char *) apr_poll_method_defname(void)
- {
- return "select";
- }
---- a/poll/unix/pollset.c
-+++ b/poll/unix/pollset.c
-@@ -188,7 +188,7 @@ APR_DECLARE(const char *) apr_pollset_method_name(apr_pollset_t *pollset)
- return pollset->provider->name;
- }
-
--APR_DECLARE(const char *) apr_poll_method_defname()
-+APR_DECLARE(const char *) apr_poll_method_defname(void)
- {
- const apr_pollset_provider_t *provider = NULL;
-
diff --git a/dev-libs/apr/files/apr-1.7.0-dev-zero.patch b/dev-libs/apr/files/apr-1.7.0-dev-zero.patch
deleted file mode 100644
index be6433dd46bc..000000000000
--- a/dev-libs/apr/files/apr-1.7.0-dev-zero.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-APR (ab)uses AC_TRY_RUN to determine if:
-
-* We have /dev/zero
-* We can mmap /dev/zero
-
-The APR ebuild sets ac_cv_file__dev_zero=yes when cross compiling
-to fill in an answer for the first question, but the configure script
-immediately defeats that when answering the second.
-
-AC_TRY_FUN takes four arguments: the test, and what happens on success,
-failure, and cross-compiling. The APR script uses this as a "gate" to
-clear ac_cv_file__dev_zero when /dev/zero exists but it turns out not
-to be useable. They take a pessimistic approach: if you can't "prove"
-it is mmap-able, clear the flag.
-
-This patch changes that to leave the flag alone while cross compiling;
-just assume /dev/zero is mmap-able. It relies on ac_cv_file__dev_zero
-to be correctly set for the target. The fourth parameter is changed to
-[:] and not [] because [] engages autoconf's default cross-compiling
-behavior, which raises an error.
-
-Signed-off-by: Alexandra Parker <alex.iris.parker@gmail.com>
-
---- a/configure.in 2022-01-09 00:31:05.552582255 -0800
-+++ b/configure.in 2022-01-09 00:31:19.824582533 -0800
-@@ -1203,7 +1203,7 @@
- return 3;
- }
- return 0;
-- }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])
-+ }], [], [ac_cv_file__dev_zero=no], [:])
-
- AC_MSG_RESULT($ac_cv_file__dev_zero)
- fi
diff --git a/dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch b/dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch
new file mode 100644
index 000000000000..49d3fd3f1638
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-autoconf-2.72.patch
@@ -0,0 +1,23 @@
+https://src.fedoraproject.org/rpms/apr/raw/rawhide/f/apr-1.7.2-autoconf.patch
+
+Similar to https://github.com/apache/apr/commit/a15958a37a06f71c42c690278f9c958b93b7ee20.
+--- a/build/apr_common.m4
++++ b/build/apr_common.m4
+@@ -468,15 +468,8 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
+ fi
+ AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+- [
+-#ifndef PACKAGE_NAME
+-#include "confdefs.h"
+-#endif
+- ]
+- [[$1]]
+- [int main(int argc, const char *const *argv) {]
++ [[$1]],
+ [[$2]]
+- [ return 0; }]
+ )], [CFLAGS=$apr_save_CFLAGS
+ $3], [CFLAGS=$apr_save_CFLAGS
+ $4])
+
diff --git a/dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch b/dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch
new file mode 100644
index 000000000000..9b4935fe7f0a
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-fix-pkgconfig-libs.patch
@@ -0,0 +1,35 @@
+Don't pollute Libs with internal bits like libcrypt.
+
+https://bugs.gentoo.org/811765
+https://sources.debian.org/patches/apr/1.7.2-2/fix-apr.pc.patch/
+https://sources.debian.org/patches/apr/1.7.2-2/omit_extra_libs.patch/
+
+From: <tfheen@debian.org>
+Subject: No description.
+
+--- a/apr.pc.in
++++ b/apr.pc.in
+@@ -7,5 +7,6 @@
+ Name: APR
+ Description: The Apache Portable Runtime library
+ Version: @APR_DOTTED_VERSION@
+-Libs: -L${libdir} -l@APR_LIBNAME@ @EXTRA_LIBS@
+-Cflags: @EXTRA_CPPFLAGS@ @EXTRA_CFLAGS@ -I${includedir}
++Libs: -L${libdir} -l@APR_LIBNAME@
++Libs.private: @EXTRA_LIBS@
++Cflags: @EXTRA_CPPFLAGS@ -I${includedir}
+
+From: Stefan Fritsch <sf@debian.org>
+Subject: #463399
+
+--- a/apr-config.in
++++ b/apr-config.in
+@@ -36,7 +36,7 @@ SHELL="@SHELL@"
+ CPPFLAGS="@EXTRA_CPPFLAGS@"
+ CFLAGS="@EXTRA_CFLAGS@"
+ LDFLAGS="@EXTRA_LDFLAGS@"
+-LIBS="@EXTRA_LIBS@"
++LIBS=""
+ EXTRA_INCLUDES="@EXTRA_INCLUDES@"
+ SHLIBPATH_VAR="@shlibpath_var@"
+ APR_SOURCE_DIR="@apr_srcdir@"
diff --git a/dev-libs/apr/files/apr-1.7.2-libtool.patch b/dev-libs/apr/files/apr-1.7.2-libtool.patch
new file mode 100644
index 000000000000..121e4374f9fc
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-libtool.patch
@@ -0,0 +1,16 @@
+generate a local copy of libtool for use in compiling
+
+https://bugs.gentoo.org/374355
+--- a/configure.in
++++ b/configure.in
+@@ -268,9 +268,7 @@ case $host in
+ fi
+ else
+ dnl libtoolize requires that the following not be indented
+- dnl should become LT_INIT(win32-dll)
+-AC_LIBTOOL_WIN32_DLL
+-AC_PROG_LIBTOOL
++LT_INIT(win32-dll)
+ # get libtool's setting of shlibpath_var
+ if test "x$shlibpath_var" = "x"; then
+ eval `grep "^shlibpath_var=[[A-Z_]]*$" $apr_builddir/libtool`
diff --git a/dev-libs/apr/files/apr-1.7.2-respect-flags.patch b/dev-libs/apr/files/apr-1.7.2-respect-flags.patch
new file mode 100644
index 000000000000..f075fc0514d2
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-respect-flags.patch
@@ -0,0 +1,22 @@
+https://sources.debian.org/patches/apr/1.7.2-2/dont_override_external_buildflags/
+
+# Don't force apr-using projects to use the compile flags used during
+# apr's compilation.
+--- a/build/apr_rules.mk.in
++++ b/build/apr_rules.mk.in
+@@ -42,10 +42,10 @@ LIBTOOL=@LIBTOOL@
+ # compilation and linking flags that are supposed to be set only by the user.
+ # configure adds to them for tests, but we restore them at the end.
+ #
+-CFLAGS=@CFLAGS@
+-CPPFLAGS=@CPPFLAGS@
+-LDFLAGS=@LDFLAGS@
+-LIBS=@LIBS@
++CFLAGS?=@CFLAGS@
++CPPFLAGS?=@CPPFLAGS@
++LDFLAGS?=@LDFLAGS@
++LIBS?=@LIBS@
+ DEFS=@DEFS@
+
+ # anything added to the standard flags by configure is moved to EXTRA_*
+
diff --git a/dev-libs/apr/files/apr-1.7.2-sysroot.patch b/dev-libs/apr/files/apr-1.7.2-sysroot.patch
new file mode 100644
index 000000000000..3b666ebfd833
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.2-sysroot.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/385775
+
+utilize $SYSROOT to find the right includedir tree
+
+drop the -L/-R paths since we know our libdir is the standard path which
+the compiler already knows how to locate
+--- a/apr-config.in
++++ b/apr-config.in
+@@ -27,8 +27,8 @@ bindir="@bindir@"
+ libdir="@libdir@"
+ datarootdir="@datadir@"
+ datadir="@datadir@"
+-installbuilddir="@installbuilddir@"
+-includedir="@includedir@"
++installbuilddir="${SYSROOT}@installbuilddir@"
++includedir="${SYSROOT}@includedir@"
+
+ CC="@CC@"
+ CPP="@CPP@"
+@@ -199,7 +199,7 @@ while test $# -gt 0; do
+ --link-ld)
+ if test "$location" = "installed"; then
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+- flags="$flags -L$libdir -l${APR_LIBNAME}"
++ flags="$flags -l${APR_LIBNAME}"
+ elif test "$location" = "crosscompile"; then
+ flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}"
+ else
+@@ -218,7 +218,7 @@ while test $# -gt 0; do
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+ # Since the user is specifying they are linking with libtool, we
+ # *know* that -R will be recognized by libtool.
+- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
++ flags="$flags -l${APR_LIBNAME}"
+ elif test "$location" = "crosscompile"; then
+ flags="$flags -L${APR_TARGET_DIR}/$libdir -l${APR_LIBNAME}"
+ else
diff --git a/dev-libs/apr/metadata.xml b/dev-libs/apr/metadata.xml
index 94b201450b4b..b8d4a84e26af 100644
--- a/dev-libs/apr/metadata.xml
+++ b/dev-libs/apr/metadata.xml
@@ -6,7 +6,7 @@
<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>
diff --git a/dev-libs/argtable/argtable-2.13-r4.ebuild b/dev-libs/argtable/argtable-2.13-r4.ebuild
new file mode 100644
index 000000000000..2c18502ad2c2
--- /dev/null
+++ b/dev-libs/argtable/argtable-2.13-r4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_rs 1 '-')"
+MY_P=${PN}${MY_PV}
+
+DESCRIPTION="An ANSI C library for parsing GNU-style command-line options with minimal fuss"
+HOMEPAGE="https://argtable.sourceforge.net"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="doc debug examples static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.13-Fix-implicit-function-declaration.patch
+ "${FILESDIR}"/${PN}-2.13-Fix-undeclared-library-function.patch
+)
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ rm -rf "${ED}"/usr/share/doc/${PF}/
+
+ if use doc ; then
+ cd "${S}"/doc || die
+ dodoc *.pdf *.ps
+ docinto html
+ dodoc *.html *.gif
+ fi
+
+ if use examples ; then
+ cd "${S}"/example || die
+ docinto examples
+ dodoc Makefile *.[ch] README.txt
+ fi
+
+ find "${ED}" -name "*.la" -delete || die "failed to delete .la files"
+}
diff --git a/dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch b/dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch
new file mode 100644
index 000000000000..7f42d43727a5
--- /dev/null
+++ b/dev-libs/argtable/files/argtable-2.13-Fix-undeclared-library-function.patch
@@ -0,0 +1,28 @@
+From 519609d844f1e5bbf37407de8e43fa2d2be03262 Mon Sep 17 00:00:00 2001
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Sun, 7 May 2023 00:03:40 +0530
+Subject: [PATCH] Fix undeclared library function strcmp
+
+Bug: https://bugs.gentoo.org/885609
+--- a/tests/fntests.c
++++ b/tests/fntests.c
+@@ -1,5 +1,6 @@
+ #include "../src/argtable2.h"
+ #include <assert.h>
++#include <string.h>
+
+ /* for memory leak debugging */
+ #ifdef DMALLOC
+--- a/tests/test_file.c
++++ b/tests/test_file.c
+@@ -21,6 +21,7 @@ USA.
+
+ #include "../src/argtable2.h"
+ #include <stdlib.h>
++#include <string.h>
+
+ /* for memory leak debugging */
+ #ifdef DMALLOC
+--
+2.40.1
+
diff --git a/dev-libs/asmjit/asmjit-2021.11.13.ebuild b/dev-libs/asmjit/asmjit-2021.11.13.ebuild
index 95281b54c698..f16e753bac6e 100644
--- a/dev-libs/asmjit/asmjit-2021.11.13.ebuild
+++ b/dev-libs/asmjit/asmjit-2021.11.13.ebuild
@@ -15,8 +15,6 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
-DEPEND=""
-RDEPEND="${DEPEND}"
BDEPEND="test? ( dev-cpp/gtest )"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/asmjit/asmjit-2022.07.02.ebuild b/dev-libs/asmjit/asmjit-2022.07.02.ebuild
index a436e9b2a3f1..23065a9bf113 100644
--- a/dev-libs/asmjit/asmjit-2022.07.02.ebuild
+++ b/dev-libs/asmjit/asmjit-2022.07.02.ebuild
@@ -15,8 +15,6 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
-DEPEND=""
-RDEPEND="${DEPEND}"
BDEPEND="test? ( dev-cpp/gtest )"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/atcore/atcore-1.0.0.ebuild b/dev-libs/atcore/atcore-1.0.0.ebuild
index 5f1724ce84ba..effc4ea9ba27 100644
--- a/dev-libs/atcore/atcore-1.0.0.ebuild
+++ b/dev-libs/atcore/atcore-1.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -27,7 +27,7 @@ DEPEND="
RDEPEND="${DEPEND}"
BDEPEND="
>=dev-qt/linguist-tools-${QTMIN}:5
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
"
src_prepare() {
diff --git a/dev-libs/atf/atf-0.21-r2.ebuild b/dev-libs/atf/atf-0.21-r2.ebuild
index 696e7388b2da..52b664460cb5 100644
--- a/dev-libs/atf/atf-0.21-r2.ebuild
+++ b/dev-libs/atf/atf-0.21-r2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/jmmv/atf/releases/download/${P}/${P}.tar.gz"
LICENSE="BSD BSD-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE=""
BDEPEND="virtual/pkgconfig"
diff --git a/dev-libs/atk/atk-2.38.0.ebuild b/dev-libs/atk/atk-2.38.0.ebuild
index 7b1b4a734e40..1670997bdf63 100644
--- a/dev-libs/atk/atk-2.38.0.ebuild
+++ b/dev-libs/atk/atk-2.38.0.ebuild
@@ -9,7 +9,7 @@ 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+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="
diff --git a/dev-libs/avro-c/avro-c-1.9.1-r1.ebuild b/dev-libs/avro-c/avro-c-1.9.1-r1.ebuild
deleted file mode 100644
index 3978e6b7b701..000000000000
--- a/dev-libs/avro-c/avro-c-1.9.1-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit cmake
-
-DESCRIPTION="c library for the apache avro data serialization system"
-HOMEPAGE="https://avro.apache.org/"
-SRC_URI="https://archive.apache.org/dist/avro/avro-${PV}/c/avro-c-${PV}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-DEPEND="
- app-arch/snappy
- >=dev-libs/jansson-2.3:=
- sys-libs/zlib"
- RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-libdir.patch"
-)
diff --git a/dev-libs/avro-c/avro-c-1.9.1-r2.ebuild b/dev-libs/avro-c/avro-c-1.9.1-r2.ebuild
new file mode 100644
index 000000000000..ca9fa39e45d4
--- /dev/null
+++ b/dev-libs/avro-c/avro-c-1.9.1-r2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit cmake
+
+DESCRIPTION="c library for the apache avro data serialization system"
+HOMEPAGE="https://avro.apache.org/"
+SRC_URI="https://archive.apache.org/dist/avro/avro-${PV}/c/avro-c-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="
+ app-arch/snappy:=
+ >=dev-libs/jansson-2.3:=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-libdir.patch"
+)
diff --git a/dev-libs/aws-c-cal/metadata.xml b/dev-libs/aws-c-cal/metadata.xml
index b8ec77e47205..304f6cf4a68c 100644
--- a/dev-libs/aws-c-cal/metadata.xml
+++ b/dev-libs/aws-c-cal/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-cal</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild b/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild
index 7f1ab8b2b7e7..4301c1e50ee7 100644
--- a/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild
+++ b/dev-libs/aws-c-common/aws-c-common-0.4.62.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-c-common/metadata.xml b/dev-libs/aws-c-common/metadata.xml
index e467b78655b3..74ef5bba7d8a 100644
--- a/dev-libs/aws-c-common/metadata.xml
+++ b/dev-libs/aws-c-common/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-common</remote-id>
+ </upstream>
<longdescription>
Core c99 package for AWS SDK for C. Includes cross-platform primitives,
configuration, data structures, and error handling.
diff --git a/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild b/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild
index 229b574ddd78..b74da3e1e090 100644
--- a/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild
+++ b/dev-libs/aws-c-event-stream/aws-c-event-stream-0.2.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-c-event-stream/metadata.xml b/dev-libs/aws-c-event-stream/metadata.xml
index b8ec77e47205..0cde327ac057 100644
--- a/dev-libs/aws-c-event-stream/metadata.xml
+++ b/dev-libs/aws-c-event-stream/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-event-stream</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild b/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild
index 3bae4a9f0357..27947e20ab2e 100644
--- a/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild
+++ b/dev-libs/aws-c-io/aws-c-io-0.7.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-c-io/metadata.xml b/dev-libs/aws-c-io/metadata.xml
index 728259f43230..ccc2c399cc5a 100644
--- a/dev-libs/aws-c-io/metadata.xml
+++ b/dev-libs/aws-c-io/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-c-io</remote-id>
+ </upstream>
<longdescription>
This is a module for the AWS SDK for C. It handles all IO and TLS work for application protocols.
diff --git a/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild b/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
index 61375a3de8b2..e456f93cb20f 100644
--- a/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
+++ b/dev-libs/aws-checksums/aws-checksums-0.1.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,8 +18,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
|| (
- >dev-util/cmake-3.19.1
- <dev-util/cmake-3.19.0
+ >dev-build/cmake-3.19.1
+ <dev-build/cmake-3.19.0
)
"
diff --git a/dev-libs/aws-checksums/metadata.xml b/dev-libs/aws-checksums/metadata.xml
index 13271d7199fd..1bbf8de9f110 100644
--- a/dev-libs/aws-checksums/metadata.xml
+++ b/dev-libs/aws-checksums/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">awslabs/aws-checksums</remote-id>
+ </upstream>
<longdescription>
Cross-Platform HW accelerated CRC32c and CRC32 with fallback to
efficient SW implementations. C interface with language
diff --git a/dev-libs/ayatana-ido/Manifest b/dev-libs/ayatana-ido/Manifest
index e738118b3beb..47a7e1f4a636 100644
--- a/dev-libs/ayatana-ido/Manifest
+++ b/dev-libs/ayatana-ido/Manifest
@@ -1 +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.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/bcm2835/bcm2835-1.68-r1.ebuild b/dev-libs/bcm2835/bcm2835-1.68-r1.ebuild
index 6974a3fc9586..d57218fcdd19 100644
--- a/dev-libs/bcm2835/bcm2835-1.68-r1.ebuild
+++ b/dev-libs/bcm2835/bcm2835-1.68-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SLOT="0"
KEYWORDS="~arm"
IUSE="doc examples"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_compile() {
emake AR="$(tc-getAR)"
diff --git a/dev-libs/bcm2835/bcm2835-1.71.ebuild b/dev-libs/bcm2835/bcm2835-1.71.ebuild
index 6974a3fc9586..d57218fcdd19 100644
--- a/dev-libs/bcm2835/bcm2835-1.71.ebuild
+++ b/dev-libs/bcm2835/bcm2835-1.71.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SLOT="0"
KEYWORDS="~arm"
IUSE="doc examples"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_compile() {
emake AR="$(tc-getAR)"
diff --git a/dev-libs/bemenu/Manifest b/dev-libs/bemenu/Manifest
index 3c83a27aca4a..b504018a63b4 100644
--- a/dev-libs/bemenu/Manifest
+++ b/dev-libs/bemenu/Manifest
@@ -1 +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.10.ebuild b/dev-libs/bemenu/bemenu-0.6.10.ebuild
deleted file mode 100644
index 26c2c2f1a7a4..000000000000
--- a/dev-libs/bemenu/bemenu-0.6.10.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="dmenu clone for wayland"
-HOMEPAGE="https://github.com/Cloudef/bemenu"
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Cloudef/bemenu.git"
-else
- SRC_URI="https://github.com/Cloudef/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 x86"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="doc ncurses wayland X"
-
-# Require at least one backend be built
-REQUIRED_USE="|| ( ncurses wayland X )"
-
-DEPEND="
- ncurses? ( sys-libs/ncurses:= )
- wayland? (
- dev-libs/wayland
- dev-libs/wayland-protocols
- x11-libs/cairo
- x11-libs/pango
- x11-libs/libxcb
- )
- X? (
- x11-libs/libxcb
- x11-libs/libXext
- x11-libs/libX11
- x11-libs/cairo[X]
- x11-libs/pango[X]
- x11-libs/libXinerama
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_compile() {
- tc-export CC
-
- emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
- use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
-}
-
-src_install() {
- emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
-}
diff --git a/dev-libs/bemenu/bemenu-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 bd5b9bc60d55..fa785a2d9815 100644
--- a/dev-libs/bemenu/bemenu-9999.ebuild
+++ b/dev-libs/bemenu/bemenu-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,34 +22,41 @@ IUSE="doc ncurses wayland X"
# Require at least one backend be built
REQUIRED_USE="|| ( ncurses wayland X )"
-DEPEND="
+RDEPEND="
ncurses? ( sys-libs/ncurses:= )
wayland? (
dev-libs/wayland
- dev-libs/wayland-protocols
x11-libs/cairo
+ x11-libs/libxkbcommon
x11-libs/pango
- x11-libs/libxcb
)
X? (
- x11-libs/libxcb
- x11-libs/libXext
- x11-libs/libX11
x11-libs/cairo[X]
- x11-libs/pango[X]
+ x11-libs/libX11
+ x11-libs/libXext
x11-libs/libXinerama
+ x11-libs/libxcb:=
+ x11-libs/pango[X]
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/scdoc
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ wayland? (
+ dev-libs/wayland-protocols
+ dev-util/wayland-scanner
)
"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
src_compile() {
tc-export CC
- emake clients $(usex ncurses curses "") $(usex X x11 "") $(usex wayland wayland "") PREFIX=/usr libdir=/$(get_libdir)
- use doc && emake doxygen PREFIX=/usr libdir=/$(get_libdir)
+ emake clients $(usev ncurses curses) $(usev X x11) $(usev wayland) PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
+ use doc && emake doxygen PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
}
src_install() {
- emake install PREFIX="${D}"/usr libdir=/$(get_libdir)
+ emake install DESTDIR="${D}" PREFIX="${EPREFIX}"/usr libdir=/$(get_libdir)
}
diff --git a/dev-libs/bemenu/metadata.xml b/dev-libs/bemenu/metadata.xml
index 5c76f7a3fc67..e96918bf65fc 100644
--- a/dev-libs/bemenu/metadata.xml
+++ b/dev-libs/bemenu/metadata.xml
@@ -5,4 +5,7 @@
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">Cloudef/bemenu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/bglibs/bglibs-2.04-r1.ebuild b/dev-libs/bglibs/bglibs-2.04-r1.ebuild
index 79095d8196d0..01737b688943 100644
--- a/dev-libs/bglibs/bglibs-2.04-r1.ebuild
+++ b/dev-libs/bglibs/bglibs-2.04-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,9 +16,9 @@ IUSE="doc"
BDEPEND="
sys-apps/which
- sys-devel/libtool
+ dev-build/libtool
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
diff --git a/dev-libs/bglibs/bglibs-2.04-r2.ebuild b/dev-libs/bglibs/bglibs-2.04-r2.ebuild
index 330ee78a1f5c..360365dc3f65 100644
--- a/dev-libs/bglibs/bglibs-2.04-r2.ebuild
+++ b/dev-libs/bglibs/bglibs-2.04-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,9 +16,9 @@ IUSE="doc"
BDEPEND="
sys-apps/which
- sys-devel/libtool
+ dev-build/libtool
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latex
dev-texlive/texlive-latexextra
diff --git a/dev-libs/bitset/metadata.xml b/dev-libs/bitset/metadata.xml
index 8f947cff4a17..80c5ed31fb8e 100644
--- a/dev-libs/bitset/metadata.xml
+++ b/dev-libs/bitset/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="tcmalloc">Use tcmalloc from <pkg>dev-util/google-perftools</pkg> for allocations</flag>
</use>
diff --git a/dev-libs/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 9242479e58a2..f6492f1a745a 100644
--- a/dev-libs/boehm-gc/Manifest
+++ b/dev-libs/boehm-gc/Manifest
@@ -1,6 +1,2 @@
-DIST boehm-gc-8.2.0-fix-headers-install.patch.xz 55320 BLAKE2B 86f6a27c49c1c36a89e836ef2adf17e6563256ad0700e05235461b9df562029781894d1b4b76ed4fb44faf9c014e7674b909cd8a097d6d3c29cb50be55b83856 SHA512 cbb963b5f4286846ae4548216677cb34042bd8757f6792d1838663b07699837c25a727740d6d9461b582c5428ebe8e0bc670134be1d68cdc61d055f8624a76bc
-DIST gc-8.0.4.tar.gz 1160528 BLAKE2B ec42378c964fc573e53f6f58aa22fa63a0b421c91b81336acfeb2e2afdb5c89514edace3a9500699e13ff1cadc4205ea245af4f0dfa5e439ed9b78cabf6058f7 SHA512 57ccca15c6e50048d306a30de06c1a844f36103a84c2d1c17cbccbbc0001e17915488baec79737449982da99ce5d14ce527176afae9ae153cbbb5a19d986366e
-DIST gc-8.0.6.tar.gz 1168660 BLAKE2B c23cb10db54db0e8b16c429e039791086dfec4216ad65fabf072bc0f05df66364d019fccf945bffc32ce12868edfbaf6d9482acb2949d1e233bd89925ab55ebd SHA512 2ea25003d585118e3ac0e12be9240e8195db511c6e94949f20453dc3cb771380bd5b956c04243b2a8ce31508587aa32de4f0f10a813577e6dbe8367688b7614e
-DIST gc-8.0.8.tar.gz 1173619 BLAKE2B 5caa3839390f0a727d7b6fafc13094507326f42c57766ef3f80fb59d64ebbe00e780990735bdefcf26d160a1ae8d44c0d9658310314877b11a91e064a875483a SHA512 c09da03883170b91e7d4904484266948472018a42092f7df42798507666d693327895ef8348f7cb0007f7e4948fbd0476e4021f5a203838157ce46ef3a401f7b
-DIST gc-8.2.0.tar.gz 1183225 BLAKE2B 382c28041b8cff9df794db48727c0bb478ed9222b15bcf11eda7132b1776970774576b63823e62a87c6563a06359a3d0572effea1ca63fb4f6fdadf1ea350cbe SHA512 ff781360bca667f1f95fbfed073e9035f63134cac1bda4f7e4217664a3713c2846f750a3ce92732972c0435c69355b051f6e8eb6f2698b0d48d9107ff960bacf
-DIST gc-8.2.2.tar.gz 1200115 BLAKE2B 9f0306f24189687f0e9e58cd942d67e94d009bd4c9a88556edaae756f902ce71f7eed2ee66a9a9b2e8e40c54653796f494104b395828282b83ee6a89a5542378 SHA512 4a7b26789ce22ab72bfaadf3029362c5fe26737df1e856e43db7d9b24ee8acf625e35d596bb3f698f91d6a5ddfb6c45a952a1dbd18d47359569696a544c9c248
+DIST gc-8.2.4.tar.gz 1210929 BLAKE2B 48f058b3f6f9f708d4335a7a0b077aab4ea5df32be73038bb8c20c12483d7ec8798b16db85afed5aa270f0f818de08abf9407036f662c757f361a929f99d951f SHA512 27d014378000f25fb2f5598904be85604822d5ed4553f8b3d1c279122300d3958b4432ec08f951cfd842d92121ea8a030dda34bf2475ec53d4fded551fdd3a98
+DIST gc-8.2.6.tar.gz 1216440 BLAKE2B fb1a51ed90ecd2e81a5d398593717ece3079d3d6f265521dd48ee7e1038700272bfccb6788f4e9915fb3fafd6f1be3775a3b69f38912eae0f6578822d168398a SHA512 48afcc1d8570d6b5d62addf8b7b947a3836717e71c073f6dff8982744c06f5973a02e890d17e8dd93f7f997d029b49c652929e6efa0e32aefbcdf7ab0910eda5
diff --git a/dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild
deleted file mode 100644
index 3d27a52ef739..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.0.4.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit multilib-minimal libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
-SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
-
-LICENSE="boehm-gc"
-# SONAME: libgc.so.1 libgccpp.so.1
-# We've been using subslot 0 for these instead of "1.1".
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- elibtoolize #594754
-}
-
-multilib_src_configure() {
- local config=(
- --disable-docs
- --with-libatomic-ops
- $(use_enable cxx cplusplus)
- $(use_enable static-libs static)
- $(use threads || echo --disable-threads)
- $(use_enable large large-config)
- )
-
- ECONF_SOURCE=${S} econf "${config[@]}"
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( doc/*.md )
- einstalldocs
- dodoc doc/README{.environment,.linux,.macros}
-
- # package provides .pc files
- find "${ED}" -name '*.la' -delete || die
-
- newman doc/gc.man GC_malloc.1
-}
diff --git a/dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild
deleted file mode 100644
index b06d52f90cb3..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal libtool
-
-MY_P="gc-${PV}"
-
-DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
-HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
-SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="boehm-gc"
-# SONAME: libgc.so.1 libgccpp.so.1
-# We've been using subslot 0 for these instead of "1.1".
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
- elibtoolize #594754
-}
-
-multilib_src_configure() {
- local config=(
- --disable-docs
- --with-libatomic-ops
- $(use_enable cxx cplusplus)
- $(use_enable static-libs static)
- $(use threads || echo --disable-threads)
- $(use_enable large large-config)
- )
-
- ECONF_SOURCE=${S} econf "${config[@]}"
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( doc/*.md )
- einstalldocs
- dodoc doc/README{.environment,.linux,.macros}
-
- # package provides .pc files
- find "${ED}" -name '*.la' -delete || die
-
- newman doc/gc.man GC_malloc.1
-}
diff --git a/dev-libs/boehm-gc/boehm-gc-8.0.8.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.8.ebuild
deleted file mode 100644
index b26dde827401..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.0.8.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 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"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # 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.0.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.0.ebuild
deleted file mode 100644
index 370b81c087bd..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.2.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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
- https://dev.gentoo.org/~xen0n/distfiles/${P}-fix-headers-install.patch.xz"
-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="~loong"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${WORKDIR}/${P}-fix-headers-install.patch"
-)
-
-src_prepare() {
- default
- elibtoolize #594754
-}
-
-multilib_src_configure() {
- local config=(
- --disable-docs
- --with-libatomic-ops
- $(use_enable cxx cplusplus)
- $(use_enable static-libs static)
- $(use threads || echo --disable-threads)
- $(use_enable large large-config)
- )
-
- ECONF_SOURCE=${S} econf "${config[@]}"
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( doc/*.md )
- einstalldocs
- dodoc doc/README{.environment,.linux,.macros}
-
- # package provides .pc files
- find "${ED}" -name '*.la' -delete || die
-
- newman doc/gc.man GC_malloc.1
-}
diff --git a/dev-libs/boehm-gc/boehm-gc-8.2.2-r1.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.2-r1.ebuild
deleted file mode 100644
index ceebdea9178f..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.2.2-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# autotools for Clang 15 configure patch
-inherit autotools 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.2.2-clang-15-configure.patch
-)
-
-src_prepare() {
- default
-
- # bug #594754
- #elibtoolize
-
- eautoreconf
-}
-
-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.2.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.2.ebuild
deleted file mode 100644
index 0d463fd97be6..000000000000
--- a/dev-libs/boehm-gc/boehm-gc-8.2.2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="cxx +large static-libs +threads"
-
-RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # 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.4.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.4.ebuild
new file mode 100644
index 000000000000..df450bbfd675
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-8.2.4.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal libtool
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
+SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="boehm-gc"
+# SONAME: libgc.so.1 libgccpp.so.1
+# We've been using subslot 0 for these instead of "1.1".
+SLOT="0"
+# Upstream marked this version as "Pre-release"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="cxx +large static-libs +threads"
+
+RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # bug #594754
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local config=(
+ --disable-docs
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ $(use_enable large large-config)
+ )
+
+ ECONF_SOURCE="${S}" econf "${config[@]}"
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( doc/*.md )
+ einstalldocs
+ dodoc doc/README{.environment,.linux,.macros}
+
+ # Package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
new file mode 100644
index 000000000000..6dc7665f7aa8
--- /dev/null
+++ b/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal libtool
+
+MY_P="gc-${PV}"
+
+DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
+HOMEPAGE="https://www.hboehm.info/gc/ https://github.com/ivmai/bdwgc/"
+SRC_URI="https://github.com/ivmai/bdwgc/releases/download/v${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="boehm-gc"
+# SONAME: libgc.so.1 libgccpp.so.1
+# We've been using subslot 0 for these instead of "1.1".
+SLOT="0"
+# Don't keyword versions if upstream mark them as pre-release.
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="cxx +large static-libs +threads"
+
+RDEPEND=">=dev-libs/libatomic_ops-7.4[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # bug #594754
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local config=(
+ --disable-docs
+ --with-libatomic-ops
+ $(use_enable cxx cplusplus)
+ $(use_enable static-libs static)
+ $(use threads || echo --disable-threads)
+ $(use_enable large large-config)
+ )
+
+ ECONF_SOURCE="${S}" econf "${config[@]}"
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( doc/*.md )
+ einstalldocs
+ dodoc doc/README{.environment,.linux,.macros}
+
+ # Package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+
+ newman doc/gc.man GC_malloc.1
+}
diff --git a/dev-libs/boehm-gc/files/boehm-gc-8.2.2-clang-15-configure.patch b/dev-libs/boehm-gc/files/boehm-gc-8.2.2-clang-15-configure.patch
deleted file mode 100644
index 87045eaa912f..000000000000
--- a/dev-libs/boehm-gc/files/boehm-gc-8.2.2-clang-15-configure.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-https://github.com/ivmai/bdwgc/pull/474
-
-From b3428e52cb9af18d6c85d0027b9c86e9b44e2e4f Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Tue, 13 Sep 2022 19:37:59 +0100
-Subject: [PATCH] Fix configure with Clang 15 (implicit function declarations)
-
-Clang 15 makes implicit function declarations an error by default
-which leads to configure falsely thinking `pthread_setname_np` is
-not present:
-```
-checking for pthread_setname_np... no
-```
-
-This fixes that issue and the following errors:
-```
-error: call to undeclared function 'pthread_setname_np'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
-error: call to undeclared function 'pthread_setname_np'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
-```
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -834,12 +834,16 @@ AS_IF([test "$THREADS" = posix],
- [AC_MSG_CHECKING(for pthread_setname_np)
- old_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $CFLAGS_EXTRA -Werror"
-- AC_TRY_COMPILE([#include <pthread.h>],
-+ AC_TRY_COMPILE([
-+#define _GNU_SOURCE 1
-+#include <pthread.h>],
- [pthread_setname_np("thread-name")],
- [AC_MSG_RESULT([yes (w/o tid)])
- AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID], [1],
- [Define to use 'pthread_setname_np(const char*)' function.])],
-- [AC_TRY_COMPILE([#include <pthread.h>],
-+ [AC_TRY_COMPILE([
-+#define _GNU_SOURCE 1
-+#include <pthread.h>],
- [pthread_setname_np(pthread_self(), "thread-name-%u", 0)],
- [AC_MSG_RESULT([yes (with tid and arg)])
- AC_DEFINE([HAVE_PTHREAD_SETNAME_NP_WITH_TID_AND_ARG], [1],
-
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest
index c81f47bf5be4..48f0e20f3193 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,2 +1,2 @@
-DIST boost_1_80_0.tar.bz2 115869904 BLAKE2B 507e811be7659442c41bc2d99811bd02a236dc94932e1a7a8cf256243b479f2d2707819cd99e016a51c9dadc215713e803afdd9ea4c105af8d5d2d28d3d06a1f SHA512 829a95b463473d69ff79ea41799c68429bb79d3b2321fbdb71df079af237ab01de9ad7e9612d8783d925730acada010068d2d1aa856c34244ee5c0ece16f208f
-DIST boost_1_81_0.tar.bz2 118797750 BLAKE2B ae57247fb80ee5a952881a99bdbe9a1d5622690879ef59053716647dc1121e70fdd322251837387b43357f1cd63c6d1ba285cf35c0c40e4f5ee28a929d7eacf7 SHA512 a04201e73da59f68fa02761b333c864a96ebaf268247b6b10cb19ed3d70ee9ad3da4c53123f2a7a4a9b9e1408793b51e1adbcc6fd09f60fecef3ca9522bb6b36
+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.80.0-r1.ebuild b/dev-libs/boost/boost-1.80.0-r1.ebuild
deleted file mode 100644
index 89992f545238..000000000000
--- a/dev-libs/boost/boost-1.80.0-r1.ebuild
+++ /dev/null
@@ -1,343 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python tools zlib zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
- !<dev-libs/leatherman-1.12.0-r1
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
- python? (
- ${PYTHON_DEPS}
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/b2-4.9.2"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.80.0-disable_icu_rpath.patch
- "${FILESDIR}"/${PN}-1.79.0-context-x32.patch
- "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
- # Boost.MPI's __init__.py doesn't work on Py3
- "${FILESDIR}"/${PN}-1.79.0-boost-mpi-python-PEP-328.patch
- "${FILESDIR}"/${PN}-1.80.0-fix-mips1-transition.patch
- # (upstreamed)
- "${FILESDIR}"/${PN}-1.80.0-unordered-fix.patch
- "${FILESDIR}"/${PN}-1.80.0-unary-function.patch
- "${FILESDIR}"/${PN}-1.80.0-python3.11.patch
- "${FILESDIR}"/${PN}-1.80.0-unordered-ftm-malloc.patch
-)
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- multilib_is_native_abi && use tools
-}
-
-create_user-config.jam() {
- local user_config_jam="${BUILD_DIR}"/user-config.jam
- if [[ -s ${user_config_jam} ]]; then
- einfo "${user_config_jam} already exists, skipping configuration"
- return
- else
- einfo "Creating configuration in ${user_config_jam}"
- fi
-
- local compiler compiler_version compiler_executable="$(tc-getCXX)"
- if [[ ${CHOST} == *-darwin* ]]; then
- compiler="darwin"
- compiler_version="$(gcc-fullversion)"
- else
- compiler="gcc"
- compiler_version="$(gcc-version)"
- fi
-
- if use mpi; then
- local mpi_configuration="using mpi ;"
- fi
-
- cat > "${user_config_jam}" <<- __EOF__ || die
- using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
- ${mpi_configuration}
- __EOF__
-
- if python_bindings_needed; then
- append_to_user_config() {
- local py_config
- if tc-is-cross-compiler; then
- py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
- else
- py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
- fi
- echo "${py_config}" >> "${user_config_jam}" || die
- }
- python_foreach_impl append_to_user_config
- fi
-
- if python_bindings_needed && use numpy; then
- einfo "Enabling support for NumPy extensions in Boost.Python"
- else
- einfo "Disabling support for NumPy extensions in Boost.Python"
-
- # Boost.Build does not allow for disabling of numpy
- # extensions, thereby leading to automagic numpy
- # https://github.com/boostorg/python/issues/111#issuecomment-280447482
- sed \
- -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
- -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
- fi
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
- if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
- eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
- eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
- die "Unsupported target in ${EROOT}/etc/site-config.jam"
- fi
- fi
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-ejam() {
- create_user-config.jam
-
- local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if python_bindings_needed; then
- append_to_b2_opts() {
- b2_opts+=( python="${EPYTHON#python}" )
- }
- python_foreach_impl append_to_b2_opts
- else
- b2_opts+=( --without-python )
- fi
- b2_opts+=( "$@" )
-
- echo b2 "${b2_opts[@]}" >&2
- b2 "${b2_opts[@]}"
-}
-
-src_configure() {
- # Workaround for too many parallel processes requested, bug #506064
- [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
- # 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')
- --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
-}
-
-multilib_src_compile() {
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" || die
-
- if tools_needed; then
- pushd tools >/dev/null || die
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install() {
- ejam \
- --prefix="${ED}"/usr \
- --includedir="${ED}"/usr/include \
- --libdir="${ED}"/usr/$(get_libdir) \
- "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # boost's build system truely sucks for not having a destdir. Because for
- # this reason we are forced to build with a prefix that includes the
- # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
- # DESTROOT instread of the actual EPREFIX. There is no way out of here
- # but to do it the dirty way of manually setting the right install_names.
- if [[ ${CHOST} == *-darwin* ]]; then
- einfo "Working around completely broken build-system(tm)"
- local d
- for d in "${ED}"/usr/lib/*.dylib; do
- if [[ -f ${d} ]]; then
- # fix the "soname"
- ebegin " correcting install_name of ${d#${ED}}"
- install_name_tool -id "/${d#${D}}" "${d}"
- eend $?
- # fix references to other libs
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "^libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- ebegin " correcting reference to ${r}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if use python; then
- if use mpi; then
- move_mpi_py_into_sitedir() {
- python_moduleinto boost
- python_domodule "${S}"/libs/mpi/build/__init__.py
-
- python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
- rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
- python_optimize
- }
- python_foreach_impl move_mpi_py_into_sitedir
- else
- rm -r "${ED}"/usr/include/boost/mpi/python* || die
- fi
- else
- rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
- fi
-
- if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
- fi
-
- if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
- rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
- fi
-
- if use doc; then
- # find extraneous files that shouldn't be installed
- # as part of the documentation and remove them.
- find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
- find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
- find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-pkg_preinst() {
- # Yay for having symlinks that are nigh-impossible to remove without
- # resorting to dirty hacks like these. Removes lingering symlinks
- # from the slotted versions.
- local symlink
- for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
- if [[ -L ${symlink} ]]; then
- rm -f "${symlink}" || die
- fi
- done
-
- # some ancient installs still have boost cruft lying around
- # for unknown reasons, causing havoc for reverse dependencies
- # Bug: 607734
- rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
- elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
- elog
- elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
- elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
- elog
- elog "Then you need to recompile Boost and all its reverse dependencies"
- elog "using the same toolchain. In general, *every* change of the C++ toolchain"
- elog "requires a complete rebuild of the Boost-dependent ecosystem."
- elog
- elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-libs/boost/boost-1.81.0-r1.ebuild b/dev-libs/boost/boost-1.81.0-r1.ebuild
deleted file mode 100644
index a2dedb812859..000000000000
--- a/dev-libs/boost/boost-1.81.0-r1.ebuild
+++ /dev/null
@@ -1,341 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python tools zlib zstd"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-# the tests will never fail because these are not intended as sanity
-# tests at all. They are more a way for upstream to check their own code
-# on new compilers. Since they would either be completely unreliable
-# (failing for no good reason) or completely useless (never failing)
-# there is no point in having them in the ebuild to begin with.
-RESTRICT="test"
-
-RDEPEND="
- !<dev-libs/leatherman-1.12.0-r1
- bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
- !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
- lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
- python? (
- ${PYTHON_DEPS}
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
- )
- zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/b2-4.9.2"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
- "${FILESDIR}"/${PN}-1.79.0-context-x32.patch
- "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
- # Boost.MPI's __init__.py doesn't work on Py3
- "${FILESDIR}"/${PN}-1.79.0-boost-mpi-python-PEP-328.patch
- "${FILESDIR}"/${PN}-1.80.0-fix-mips1-transition.patch
- "${FILESDIR}"/${PN}-1.81.0-phoenix-multiple-definitions.patch
-
- # (upstreamed)
-)
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-
-tools_needed() {
- multilib_is_native_abi && use tools
-}
-
-create_user-config.jam() {
- local user_config_jam="${BUILD_DIR}"/user-config.jam
- if [[ -s ${user_config_jam} ]]; then
- einfo "${user_config_jam} already exists, skipping configuration"
- return
- else
- einfo "Creating configuration in ${user_config_jam}"
- fi
-
- local compiler compiler_version compiler_executable="$(tc-getCXX)"
- if [[ ${CHOST} == *-darwin* ]]; then
- compiler="darwin"
- compiler_version="$(gcc-fullversion)"
- else
- compiler="gcc"
- compiler_version="$(gcc-version)"
- fi
-
- if use mpi; then
- local mpi_configuration="using mpi ;"
- fi
-
- cat > "${user_config_jam}" <<- __EOF__ || die
- using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CFLAGS}" <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
- ${mpi_configuration}
- __EOF__
-
- if python_bindings_needed; then
- append_to_user_config() {
- local py_config
- if tc-is-cross-compiler; then
- py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
- else
- py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
- fi
- echo "${py_config}" >> "${user_config_jam}" || die
- }
- python_foreach_impl append_to_user_config
- fi
-
- if python_bindings_needed && use numpy; then
- einfo "Enabling support for NumPy extensions in Boost.Python"
- else
- einfo "Disabling support for NumPy extensions in Boost.Python"
-
- # Boost.Build does not allow for disabling of numpy
- # extensions, thereby leading to automagic numpy
- # https://github.com/boostorg/python/issues/111#issuecomment-280447482
- sed \
- -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
- -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
- fi
-}
-
-pkg_setup() {
- # Bail out on unsupported build configuration, bug #456792
- if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
- if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
- eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
- eerror "Boost can not be built in such configuration."
- eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
- die "Unsupported target in ${EROOT}/etc/site-config.jam"
- fi
- fi
-}
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-ejam() {
- create_user-config.jam
-
- local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if python_bindings_needed; then
- append_to_b2_opts() {
- b2_opts+=( python="${EPYTHON#python}" )
- }
- python_foreach_impl append_to_b2_opts
- else
- b2_opts+=( --without-python )
- fi
- b2_opts+=( "$@" )
-
- echo b2 "${b2_opts[@]}" >&2
- b2 "${b2_opts[@]}"
-}
-
-src_configure() {
- # Workaround for too many parallel processes requested, bug #506064
- [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
-
- # 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')
- --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
-}
-
-multilib_src_compile() {
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" || die
-
- if tools_needed; then
- pushd tools >/dev/null || die
- ejam \
- --prefix="${EPREFIX}"/usr \
- "${OPTIONS[@]}" \
- || die "Building of Boost tools failed"
- popd >/dev/null || die
- fi
-}
-
-multilib_src_install() {
- ejam \
- --prefix="${ED}"/usr \
- --includedir="${ED}"/usr/include \
- --libdir="${ED}"/usr/$(get_libdir) \
- "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
-
- if tools_needed; then
- dobin dist/bin/*
-
- insinto /usr/share
- doins -r dist/share/boostbook
- fi
-
- # boost's build system truely sucks for not having a destdir. Because for
- # this reason we are forced to build with a prefix that includes the
- # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
- # DESTROOT instread of the actual EPREFIX. There is no way out of here
- # but to do it the dirty way of manually setting the right install_names.
- if [[ ${CHOST} == *-darwin* ]]; then
- einfo "Working around completely broken build-system(tm)"
- local d
- for d in "${ED}"/usr/lib/*.dylib; do
- if [[ -f ${d} ]]; then
- # fix the "soname"
- ebegin " correcting install_name of ${d#${ED}}"
- install_name_tool -id "/${d#${D}}" "${d}"
- eend $?
- # fix references to other libs
- refs=$(otool -XL "${d}" | \
- sed -e '1d' -e 's/^\t//' | \
- grep "^libboost_" | \
- cut -f1 -d' ')
- local r
- for r in ${refs}; do
- ebegin " correcting reference to ${r}"
- install_name_tool -change \
- "${r}" \
- "${EPREFIX}/usr/lib/${r}" \
- "${d}"
- eend $?
- done
- fi
- done
- fi
-}
-
-multilib_src_install_all() {
- if ! use numpy; then
- rm -r "${ED}"/usr/include/boost/python/numpy* || die
- fi
-
- if use python; then
- if use mpi; then
- move_mpi_py_into_sitedir() {
- python_moduleinto boost
- python_domodule "${S}"/libs/mpi/build/__init__.py
-
- python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
- rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
-
- python_optimize
- }
- python_foreach_impl move_mpi_py_into_sitedir
- else
- rm -r "${ED}"/usr/include/boost/mpi/python* || die
- fi
- else
- rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
- fi
-
- if ! use nls; then
- rm -r "${ED}"/usr/include/boost/locale || die
- fi
-
- if ! use context; then
- rm -r "${ED}"/usr/include/boost/context || die
- rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
- rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
- fi
-
- if use doc; then
- # find extraneous files that shouldn't be installed
- # as part of the documentation and remove them.
- find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
- find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
- find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
-
- docinto html
- dodoc *.{htm,html,png,css}
- dodoc -r doc libs more tools
-
- # To avoid broken links
- dodoc LICENSE_1_0.txt
-
- dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
- fi
-}
-
-pkg_preinst() {
- # Yay for having symlinks that are nigh-impossible to remove without
- # resorting to dirty hacks like these. Removes lingering symlinks
- # from the slotted versions.
- local symlink
- for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
- if [[ -L ${symlink} ]]; then
- rm -f "${symlink}" || die
- fi
- done
-
- # some ancient installs still have boost cruft lying around
- # for unknown reasons, causing havoc for reverse dependencies
- # Bug: 607734
- rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
-}
-
-pkg_postinst() {
- elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
- elog
- elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
- elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
- elog
- elog "Then you need to recompile Boost and all its reverse dependencies"
- elog "using the same toolchain. In general, *every* change of the C++ toolchain"
- elog "requires a complete rebuild of the Boost-dependent ecosystem."
- elog
- elog "See for instance https://bugs.gentoo.org/638138"
-}
diff --git a/dev-libs/boost/boost-1.84.0-r3.ebuild b/dev-libs/boost/boost-1.84.0-r3.ebuild
new file mode 100644
index 000000000000..b9e822fe2043
--- /dev/null
+++ b/dev-libs/boost/boost-1.84.0-r3.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Keep an eye on both of these after releases for patches:
+# * https://www.boost.org/patches/
+# * https://www.boost.org/users/history/version_${MY_PV}.html
+# (e.g. https://www.boost.org/users/history/version_1_83_0.html)
+# Note that the latter may sometimes feature patches not on the former too.
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="https://www.boost.org/"
+SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
+S="${WORKDIR}/${PN}_${MY_PV}"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}" # ${PV} instead of the major version due to bug 486122
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +context debug doc icu lzma +nls mpi numpy python +stacktrace tools zlib zstd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+# the tests will never fail because these are not intended as sanity
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
+ python? (
+ ${PYTHON_DEPS}
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ )
+ zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/b2-5.0.0"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
+ "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
+
+ # upstreamed
+ "${FILESDIR}"/${PN}-1.83.0-math-gcc14.patch
+ "${FILESDIR}"/${PN}-1.79.0-context-x32.patch
+ "${FILESDIR}"/${PN}-1.84.0-signals2-patch1.patch
+ "${FILESDIR}"/${PN}-1.84.0-signals2-patch2.patch
+)
+
+create_user-config.jam() {
+ local user_config_jam="${BUILD_DIR}"/user-config.jam
+ if [[ -s ${user_config_jam} ]]; then
+ einfo "${user_config_jam} already exists, skipping configuration"
+ return
+ else
+ einfo "Creating configuration in ${user_config_jam}"
+ fi
+
+ local compiler compiler_version compiler_executable="$(tc-getCXX)"
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+
+ if use mpi; then
+ local mpi_configuration="using mpi ;"
+ fi
+
+ cat > "${user_config_jam}" <<- __EOF__ || die
+ using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
+ ${mpi_configuration}
+ __EOF__
+
+ if multilib_native_use python; then
+ append_to_user_config() {
+ local py_config
+ if tc-is-cross-compiler; then
+ py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
+ else
+ py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
+ fi
+ echo "${py_config}" >> "${user_config_jam}" || die
+ }
+ python_foreach_impl append_to_user_config
+ fi
+
+ if multilib_native_use python && use numpy; then
+ einfo "Enabling support for NumPy extensions in Boost.Python"
+ else
+ einfo "Disabling support for NumPy extensions in Boost.Python"
+
+ # Boost.Build does not allow for disabling of numpy
+ # extensions, thereby leading to automagic numpy
+ # https://github.com/boostorg/python/issues/111#issuecomment-280447482
+ sed \
+ -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
+ -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
+ fi
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
+ if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
+ eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
+ die "Unsupported target in ${EROOT}/etc/site-config.jam"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+ejam() {
+ create_user-config.jam
+
+ local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
+ if multilib_native_use python; then
+ append_to_b2_opts() {
+ b2_opts+=( python="${EPYTHON#python}" )
+ }
+ python_foreach_impl append_to_b2_opts
+ else
+ b2_opts+=( --without-python )
+ fi
+ b2_opts+=( "$@" )
+
+ echo b2 "${b2_opts[@]}" >&2
+ b2 "${b2_opts[@]}"
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ # We don't want to end up with -L/usr/lib on our linker lines
+ # which then gives us lots of
+ # skipping incompatible /usr/lib/libc.a when searching for -lc
+ # warnings
+ [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
+
+ OPTIONS=(
+ $(usex debug gentoodebug gentoorelease)
+ "-j$(makeopts_jobs)"
+ -q
+ -d+2
+ pch=off
+ $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
+ $(usev !mpi --without-mpi)
+ $(usev !nls --without-locale)
+ $(usev !context '--without-context --without-coroutine --without-fiber')
+ $(usev !stacktrace --without-stacktrace)
+ --boost-build="${BROOT}"/usr/share/b2/src
+ --layout=system
+ # building with threading=single is currently not possible
+ # https://svn.boost.org/trac/boost/ticket/7105
+ threading=multi
+ link=shared
+ # this seems to be the only way to disable compression algorithms
+ # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
+ -sNO_BZIP2=$(usex bzip2 0 1)
+ -sNO_LZMA=$(usex lzma 0 1)
+ -sNO_ZLIB=$(usex zlib 0 1)
+ -sNO_ZSTD=$(usex zstd 0 1)
+ )
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ fi
+
+ # Use C++17 globally as of 1.80
+ append-cxxflags -std=c++17
+
+ if [[ ${CHOST} != *-darwin* ]]; then
+ # On modern macOS, file I/O is already 64-bit by default,
+ # there's no support for special options like O_LARGEFILE.
+ # Thus, LFS must be disabled.
+ #
+ # On other systems, we need to enable LFS explicitly for 64-bit
+ # offsets on 32-bit hosts (#894564)
+ append-lfs-flags
+ fi
+}
+
+multilib_src_compile() {
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" || die
+
+ if multilib_native_use tools; then
+ pushd tools >/dev/null || die
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" \
+ || die "Building of Boost tools failed"
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ ejam \
+ --prefix="${ED}"/usr \
+ --includedir="${ED}"/usr/include \
+ --libdir="${ED}"/usr/$(get_libdir) \
+ "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
+
+ if multilib_native_use tools; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"/usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ # these paths look like this:
+ # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
+ # threadapi-pthread/threading-multi/visibility-hidden/
+ # libboost_thread.dylib
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ # strip path prefix from references, so we obtain
+ # something like libboost_thread.dylib.
+ local r_basename=${r##*/}
+
+ ebegin " correcting reference to ${r_basename}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r_basename}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use numpy; then
+ rm -r "${ED}"/usr/include/boost/python/numpy* || die
+ fi
+
+ if use python; then
+ if use mpi; then
+ move_mpi_py_into_sitedir() {
+ python_moduleinto boost
+
+ python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
+ rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
+
+ python_optimize
+ }
+ python_foreach_impl move_mpi_py_into_sitedir
+ else
+ rm -r "${ED}"/usr/include/boost/mpi/python* || die
+ fi
+ else
+ rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
+ rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
+ fi
+
+ if use doc; then
+ # find extraneous files that shouldn't be installed
+ # as part of the documentation and remove them.
+ find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
+ find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
+ find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
+
+ docinto html
+ dodoc *.{htm,html,png,css}
+ dodoc -r doc libs more tools
+
+ # To avoid broken links
+ dodoc LICENSE_1_0.txt
+
+ dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+pkg_preinst() {
+ # Yay for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
+ if [[ -L ${symlink} ]]; then
+ rm -f "${symlink}" || die
+ fi
+ done
+
+ # some ancient installs still have boost cruft lying around
+ # for unknown reasons, causing havoc for reverse dependencies
+ # Bug: 607734
+ rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
+}
+
+pkg_postinst() {
+ elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
+ elog
+ elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
+ elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
+ elog
+ elog "Then you need to recompile Boost and all its reverse dependencies"
+ elog "using the same toolchain. In general, *every* change of the C++ toolchain"
+ elog "requires a complete rebuild of the Boost-dependent ecosystem."
+ elog
+ elog "See for instance https://bugs.gentoo.org/638138"
+}
diff --git a/dev-libs/boost/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.79.0-boost-mpi-python-PEP-328.patch b/dev-libs/boost/files/boost-1.79.0-boost-mpi-python-PEP-328.patch
deleted file mode 100644
index 444db2b60952..000000000000
--- a/dev-libs/boost/files/boost-1.79.0-boost-mpi-python-PEP-328.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/libs/mpi/build/__init__.py
-+++ b/libs/mpi/build/__init__.py
-@@ -1,10 +1,12 @@
-+from __future__ import absolute_import
-+
- import sys
- if sys.platform == 'linux2':
- import DLFCN as dl
- flags = sys.getdlopenflags()
- sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
-- import mpi
-+ from . import mpi
- sys.setdlopenflags(flags)
- else:
-- import mpi
-+ from . import mpi
-
diff --git a/dev-libs/boost/files/boost-1.79.0-context-x32.patch b/dev-libs/boost/files/boost-1.79.0-context-x32.patch
index 9ee3d545d618..625599152328 100644
--- a/dev-libs/boost/files/boost-1.79.0-context-x32.patch
+++ b/dev-libs/boost/files/boost-1.79.0-context-x32.patch
@@ -1,3 +1,10 @@
+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 @@
@@ -11,7 +18,7 @@
.file "jump_i386_sysv_elf_gas.S"
.text
.globl jump_fcontext
-@@ -81,3 +85,5 @@
+@@ -91,3 +95,5 @@ jump_fcontext:
/* Mark that we don't need executable stack. */
.section .note.GNU-stack,"",%progbits
@@ -30,7 +37,7 @@
.file "make_i386_sysv_elf_gas.S"
.text
.globl make_fcontext
-@@ -105,3 +109,5 @@
+@@ -111,3 +115,5 @@ finish:
/* Mark that we don't need executable stack. */
.section .note.GNU-stack,"",%progbits
diff --git a/dev-libs/boost/files/boost-1.80.0-disable_icu_rpath.patch b/dev-libs/boost/files/boost-1.80.0-disable_icu_rpath.patch
deleted file mode 100644
index 1f4ec29fcf00..000000000000
--- a/dev-libs/boost/files/boost-1.80.0-disable_icu_rpath.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/libs/locale/build/Jamfile.v2
-+++ b/libs/locale/build/Jamfile.v2
-@@ -82,8 +82,8 @@ ICU_LINK ?= [ modules.peek : ICU_LINK_LOCALE ] ;
-
- 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
- {
- searched-lib icuuc : : <name>icuuc
diff --git a/dev-libs/boost/files/boost-1.80.0-fix-mips1-transition.patch b/dev-libs/boost/files/boost-1.80.0-fix-mips1-transition.patch
deleted file mode 100644
index 4f5e81c925b3..000000000000
--- a/dev-libs/boost/files/boost-1.80.0-fix-mips1-transition.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/boostcpp.jam
-+++ b/boostcpp.jam
-@@ -634,7 +634,7 @@ rule address-model ( )
- return <conditional>@boostcpp.deduce-address-model ;
- }
-
--local deducable-architectures = arm mips1 power riscv s390x sparc x86 combined ;
-+local deducable-architectures = arm mips power riscv s390x sparc x86 combined ;
- feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
- for a in $(deducable-architectures)
- {
-@@ -645,10 +645,10 @@ rule deduce-architecture ( properties * )
- {
- local result ;
- local filtered = [ toolset-properties $(properties) ] ;
-- local names = arm mips1 power riscv s390x sparc x86 combined ;
-+ local names = arm mips power riscv s390x sparc x86 combined ;
- local idx = [ configure.find-builds "default architecture" : $(filtered)
- : /boost/architecture//arm
-- : /boost/architecture//mips1
-+ : /boost/architecture//mips
- : /boost/architecture//power
- : /boost/architecture//riscv
- : /boost/architecture//s390x
diff --git a/dev-libs/boost/files/boost-1.80.0-python3.11.patch b/dev-libs/boost/files/boost-1.80.0-python3.11.patch
deleted file mode 100644
index cdbc36ca953f..000000000000
--- a/dev-libs/boost/files/boost-1.80.0-python3.11.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-https://github.com/boostorg/python/commit/a218babc8daee904a83f550fb66e5cb3f1cb3013
-https://github.com/boostorg/python/pull/385
-
-From a218babc8daee904a83f550fb66e5cb3f1cb3013 Mon Sep 17 00:00:00 2001
-From: Victor Stinner <vstinner@python.org>
-Date: Mon, 25 Apr 2022 10:51:46 +0200
-Subject: [PATCH] Fix enum_type_object type on Python 3.11
-
-The enum_type_object type inherits from PyLong_Type which is not tracked
-by the GC. Instances doesn't have to be tracked by the GC: remove the
-Py_TPFLAGS_HAVE_GC flag.
-
-The Python C API documentation says:
-
- "To create a container type, the tp_flags field of the type object
- must include the Py_TPFLAGS_HAVE_GC and provide an implementation of
- the tp_traverse handler."
-
-https://docs.python.org/dev/c-api/gcsupport.html
-
-The new exception was introduced in Python 3.11 by:
-https://github.com/python/cpython/issues/88429
---- a/libs/python/src/object/enum.cpp
-+++ b/libs/python/src/object/enum.cpp
-@@ -113,7 +113,6 @@ static PyTypeObject enum_type_object = {
- #if PY_VERSION_HEX < 0x03000000
- | Py_TPFLAGS_CHECKTYPES
- #endif
-- | Py_TPFLAGS_HAVE_GC
- | Py_TPFLAGS_BASETYPE, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
-
diff --git a/dev-libs/boost/files/boost-1.80.0-unary-function.patch b/dev-libs/boost/files/boost-1.80.0-unary-function.patch
deleted file mode 100644
index 7941d7c66395..000000000000
--- a/dev-libs/boost/files/boost-1.80.0-unary-function.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugs.gentoo.org/869401
-https://github.com/boostorg/config/commit/f0af4a9184457939b89110795ae2d293582c5f66
-https://github.com/boostorg/container_hash/issues/24
-
-From: jzmaddock <john@johnmaddock.co.uk>
-Date: Mon, 11 Jul 2022 18:26:07 +0100
-Subject: [PATCH] The std lib unary/binary_function base classes are
- deprecated/removed from libcpp15. Fixes
- https://github.com/boostorg/container_hash/issues/24.
-
---- a/boost/config/stdlib/libcpp.hpp
-+++ b/boost/config/stdlib/libcpp.hpp
-@@ -168,4 +168,13 @@
- # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
- #endif
-
-+#if _LIBCPP_VERSION >= 15000
-+//
-+// Unary function is now deprecated in C++11 and later:
-+//
-+#if __cplusplus >= 201103L
-+#define BOOST_NO_CXX98_FUNCTION_BASE
-+#endif
-+#endif
-+
- // --- end ---
-
diff --git a/dev-libs/boost/files/boost-1.80.0-unordered-fix.patch b/dev-libs/boost/files/boost-1.80.0-unordered-fix.patch
deleted file mode 100644
index 51776094386e..000000000000
--- a/dev-libs/boost/files/boost-1.80.0-unordered-fix.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From f9eae4153f4ea9aac4b6c46e660ec92824d5827f Mon Sep 17 00:00:00 2001
-From: Christian Mazakas <christian.mazakas@gmail.com>
-Date: Tue, 16 Aug 2022 14:34:58 -0700
-Subject: [PATCH] Update code to be valid when the internal `buckets_` data
- member is moved-from
-
----
- boost/unordered/detail/fca.hpp | 18 +++++--
- .../boost/unordered/detail/implementation.hpp | 49 +++++++++++--------
- boost/unordered/unordered_map.hpp | 8 +++
- boost/unordered/unordered_set.hpp | 8 +++
- 4 files changed, 58 insertions(+), 25 deletions(-)
-
-diff --git a/boost/unordered/detail/fca.hpp b/boost/unordered/detail/fca.hpp
-index 19fafe739..a1d14d957 100644
---- a/boost/unordered/detail/fca.hpp
-+++ b/boost/unordered/detail/fca.hpp
-@@ -646,7 +646,7 @@ namespace boost {
-
- size_type bucket_count() const { return size_; }
-
-- iterator begin() const { return ++at(size_); }
-+ iterator begin() const { return size_ == 0 ? end() : ++at(size_); }
-
- iterator end() const
- {
-@@ -660,6 +660,10 @@ namespace boost {
-
- local_iterator begin(size_type n) const
- {
-+ if (size_ == 0) {
-+ return this->end(n);
-+ }
-+
- return local_iterator(
- (buckets + static_cast<difference_type>(n))->next);
- }
-@@ -670,12 +674,16 @@ namespace boost {
-
- iterator at(size_type n) const
- {
-- std::size_t const N = group::N;
-+ if (size_ > 0) {
-+ std::size_t const N = group::N;
-
-- iterator pbg(buckets + static_cast<difference_type>(n),
-- groups + static_cast<difference_type>(n / N));
-+ iterator pbg(buckets + static_cast<difference_type>(n),
-+ groups + static_cast<difference_type>(n / N));
-
-- return pbg;
-+ return pbg;
-+ } else {
-+ return this->end();
-+ }
- }
-
- span<Bucket> raw()
-diff --git a/boost/unordered/detail/implementation.hpp b/boost/unordered/detail/implementation.hpp
-index 2cc27c5d4..373236754 100644
---- a/boost/unordered/detail/implementation.hpp
-+++ b/boost/unordered/detail/implementation.hpp
-@@ -2054,12 +2054,14 @@ namespace boost {
-
- std::size_t bucket_size(std::size_t index) const
- {
-- bucket_iterator itb = buckets_.at(index);
-- node_pointer n = itb->next;
- std::size_t count = 0;
-- while (n) {
-- ++count;
-- n = n->next;
-+ if (size_ > 0) {
-+ bucket_iterator itb = buckets_.at(index);
-+ node_pointer n = itb->next;
-+ while (n) {
-+ ++count;
-+ n = n->next;
-+ }
- }
- return count;
- }
-@@ -2420,11 +2422,14 @@ namespace boost {
- node_pointer find_node_impl(
- Key const& x, bucket_iterator itb) const
- {
-- key_equal const& pred = this->key_eq();
-- node_pointer p = itb->next;
-- for (; p; p = p->next) {
-- if (pred(x, extractor::extract(p->value()))) {
-- break;
-+ node_pointer p = node_pointer();
-+ if (itb != buckets_.end()) {
-+ key_equal const& pred = this->key_eq();
-+ p = itb->next;
-+ for (; p; p = p->next) {
-+ if (pred(x, extractor::extract(p->value()))) {
-+ break;
-+ }
- }
- }
- return p;
-@@ -2453,11 +2458,13 @@ namespace boost {
- inline iterator transparent_find(
- Key const& k, Hash const& h, Pred const& pred) const
- {
-- std::size_t const key_hash = h(k);
-- bucket_iterator itb = buckets_.at(buckets_.position(key_hash));
-- for (node_pointer p = itb->next; p; p = p->next) {
-- if (BOOST_LIKELY(pred(k, extractor::extract(p->value())))) {
-- return iterator(p, itb);
-+ if (size_ > 0) {
-+ std::size_t const key_hash = h(k);
-+ bucket_iterator itb = buckets_.at(buckets_.position(key_hash));
-+ for (node_pointer p = itb->next; p; p = p->next) {
-+ if (BOOST_LIKELY(pred(k, extractor::extract(p->value())))) {
-+ return iterator(p, itb);
-+ }
- }
- }
-
-@@ -2467,11 +2474,13 @@ namespace boost {
- template <class Key>
- node_pointer* find_prev(Key const& key, bucket_iterator itb)
- {
-- key_equal pred = this->key_eq();
-- for (node_pointer* pp = boost::addressof(itb->next); *pp;
-- pp = boost::addressof((*pp)->next)) {
-- if (pred(key, extractor::extract((*pp)->value()))) {
-- return pp;
-+ if (size_ > 0) {
-+ key_equal pred = this->key_eq();
-+ for (node_pointer* pp = boost::addressof(itb->next); *pp;
-+ pp = boost::addressof((*pp)->next)) {
-+ if (pred(key, extractor::extract((*pp)->value()))) {
-+ return pp;
-+ }
- }
- }
- typedef node_pointer* node_pointer_pointer;
-diff --git a/boost/unordered/unordered_map.hpp b/boost/unordered/unordered_map.hpp
-index 97908fb65..3e25a28a2 100644
---- a/boost/unordered/unordered_map.hpp
-+++ b/boost/unordered/unordered_map.hpp
-@@ -2069,6 +2069,10 @@ namespace boost {
- template <class K, class T, class H, class P, class A>
- float unordered_map<K, T, H, P, A>::load_factor() const BOOST_NOEXCEPT
- {
-+ if (table_.size_ == 0) {
-+ return 0.0f;
-+ }
-+
- BOOST_ASSERT(table_.bucket_count() != 0);
- return static_cast<float>(table_.size_) /
- static_cast<float>(table_.bucket_count());
-@@ -2506,6 +2510,10 @@ namespace boost {
- template <class K, class T, class H, class P, class A>
- float unordered_multimap<K, T, H, P, A>::load_factor() const BOOST_NOEXCEPT
- {
-+ if (table_.size_ == 0) {
-+ return 0.0f;
-+ }
-+
- BOOST_ASSERT(table_.bucket_count() != 0);
- return static_cast<float>(table_.size_) /
- static_cast<float>(table_.bucket_count());
-diff --git a/boost/unordered/unordered_set.hpp b/boost/unordered/unordered_set.hpp
-index 8721a68a0..82d323c6e 100644
---- a/boost/unordered/unordered_set.hpp
-+++ b/boost/unordered/unordered_set.hpp
-@@ -1586,6 +1586,10 @@ namespace boost {
- template <class T, class H, class P, class A>
- float unordered_set<T, H, P, A>::load_factor() const BOOST_NOEXCEPT
- {
-+ if (table_.size_ == 0) {
-+ return 0.0f;
-+ }
-+
- BOOST_ASSERT(table_.bucket_count() != 0);
- return static_cast<float>(table_.size_) /
- static_cast<float>(table_.bucket_count());
-@@ -1986,6 +1990,10 @@ namespace boost {
- template <class T, class H, class P, class A>
- float unordered_multiset<T, H, P, A>::load_factor() const BOOST_NOEXCEPT
- {
-+ if (table_.size_ == 0) {
-+ return 0.0f;
-+ }
-+
- BOOST_ASSERT(table_.bucket_count() != 0);
- return static_cast<float>(table_.size_) /
- static_cast<float>(table_.bucket_count());
diff --git a/dev-libs/boost/files/boost-1.80.0-unordered-ftm-malloc.patch b/dev-libs/boost/files/boost-1.80.0-unordered-ftm-malloc.patch
deleted file mode 100644
index 95b39e4bb6be..000000000000
--- a/dev-libs/boost/files/boost-1.80.0-unordered-ftm-malloc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://github.com/boostorg/align/commit/5ad7df63cd792fbdb801d600b93cad1a432f0151
-https://github.com/boostorg/align/pull/19
-
-From 5ad7df63cd792fbdb801d600b93cad1a432f0151 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=89rico=20Nogueira=20Rolim?=
- <34201958+ericonr@users.noreply.github.com>
-Date: Fri, 11 Nov 2022 18:29:45 -0300
-Subject: [PATCH] Don't use FTMs to determine implementation choice
-
---- a/boost/align/aligned_alloc.hpp
-+++ b/boost/align/aligned_alloc.hpp
-@@ -38,7 +38,7 @@ Distributed under the Boost Software License, Version 1.0.
- #include <boost/align/detail/aligned_alloc_posix.hpp>
- #elif defined(sun) || defined(__sun)
- #include <boost/align/detail/aligned_alloc_sunos.hpp>
--#elif (_POSIX_C_SOURCE >= 200112L) || (_XOPEN_SOURCE >= 600)
-+#elif defined(_POSIX_VERSION)
- #include <boost/align/detail/aligned_alloc_posix.hpp>
- #else
- #include <boost/align/detail/aligned_alloc.hpp>
-
diff --git a/dev-libs/boost/files/boost-1.81.0-phoenix-multiple-definitions.patch b/dev-libs/boost/files/boost-1.81.0-phoenix-multiple-definitions.patch
deleted file mode 100644
index 0aedde6d0735..000000000000
--- a/dev-libs/boost/files/boost-1.81.0-phoenix-multiple-definitions.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-https://bugs.gentoo.org/887041
-https://github.com/boostorg/phoenix/issues/111
---- a/boost/phoenix/stl.hpp
-+++ b/boost/phoenix/stl.hpp
-@@ -11,6 +11,5 @@
-
- #include <boost/phoenix/stl/algorithm.hpp>
- #include <boost/phoenix/stl/container.hpp>
--#include <boost/phoenix/stl/tuple.hpp>
-
- #endif
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 98eea6f8a059..ba1a98dcc43b 100644
--- a/dev-libs/boost/metadata.xml
+++ b/dev-libs/boost/metadata.xml
@@ -15,6 +15,7 @@
<flag name="doc">Install the full API documentation documentation. This takes over 200MB of extra disk space.</flag>
<flag name="nls">Build libboost_locale. This library requires compatible C library interfaces, which might not be provided by uClibc or other embedded libraries.</flag>
<flag name="numpy">Optionally build NumPy extensions when Boost.Python is enabled</flag>
+ <flag name="stacktrace">Build the full Boost.Stacktrace dynamic library instead of relying on the header-only implementation</flag>
<flag name="tools">Build and install the boost tools (bcp, quickbook, inspect, wave)</flag>
</use>
<upstream>
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 1371878c4608..15dd4e0b8776 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,4 +1,10 @@
-DIST Botan-2.19.2.tar.xz 6063336 BLAKE2B a46fa49c61846e718197ab3a8431a5bdcab0f4cc5e42aec04fd22932ecdbfa2b755cae53c125eee8248ecae237671ec6f0533f99289068ed81e6cd34886d8b88 SHA512 52b9c80a240457e46a299480338472f7d0c0b56df7b1709fdef52c5be3afca5b474fe143801c9a332ae884eaf033e60461c9d3e0b2f7b069f4fe8b4c45932abf
-DIST Botan-2.19.2.tar.xz.asc 488 BLAKE2B 94d22dff9de02871560649b1d961f4c7ae5fa37a847141554f8da9f0a726d4497cd23e0d84197beb4d176f29aa3a478118d94cd52d2c04733d115828f85d400d SHA512 e25a03ac437a08737ecde541ead4b841ccb507d3198683a1755dab1d4f82e9ce0278473db7c7041a4b808f9dff9927106e30bbad79b1674615254ee78f0b6a06
DIST Botan-2.19.3.tar.xz 6105896 BLAKE2B 6d7778d9e9a101c76f35c65b0fb0201641cd91967ba934510f3836ee4b924d54cabdc760dd460997679250aa66e1d2a99369cd03f8fb9e7b2fe672d4b355215f SHA512 80012397e2aa7cc88a9536340ac9b770d1195fddda53b9d4cfde82318dd05f9d4f925bbdff773aba99883a701f4d30581e9d5c97e915fa80c3ca2acfa5a92110
DIST Botan-2.19.3.tar.xz.asc 488 BLAKE2B cd86bf77306aad2956cced6ac4fb96081279af88743e87d8fe5437e72e9fa8db8aaf40d0b5cb9c5b3a85204cb7d63c3baa3054126ab4c9a2db527e6835a069d7 SHA512 9142f932c958138b4bac32f503a550e6c73b61612690a280dcb98efe8c367aa6bd3cd88b4ed4decec376bb87596a780a21bdcb01d4a3573a1c44fbeb0aa49d23
+DIST Botan-2.19.4.tar.xz 6099528 BLAKE2B c35dfec5aad13c76fe09b33f97a72d15f84bfd6c434cae89be13c3fd3e6f7deaa9ea21474890bb6a1f4fa7d23369c32b9fc747862233eac33c8c88dbc912d31f SHA512 2fab4347367703dce8302b7710698ed228c6cc6dd609c39829ba17ad580407ed40d822862d467aa7aea4bfd633c1f1d1c0d437e86376f453845cc609596335d8
+DIST Botan-2.19.4.tar.xz.asc 488 BLAKE2B b8b7db32d61859778c0866e782ed94ef89ba48a0f0f2289d9452fe7f540ae37ad495cb7eede68199d9bed8e23f695e1860c0d379cd4c35c92de8c45db167b68a SHA512 e00c4e2944655919507300650d81fbee03dd22d1a84cb8135848ea9ee061ca4d4dfada618643193143c0123e56f22e4a6d3a26c73923d872754d80dc2a4779c5
+DIST Botan-3.1.1.tar.xz 8800368 BLAKE2B c31365e6bd4106f96a033e5f092c528c0185577f41d9a698d2630ece0f660f87f03e0775ebeb5c4d812819bbc6eb556b5ff15c16f243288ae73c8bf1fbb991ce SHA512 ed6bdadb910b0775245648140212953ed364aa26107f851e39ac5cb664d7f476c519a22cdad41f0e520796c4ebe453c56ca68a2178e39f815d445e9979333795
+DIST Botan-3.1.1.tar.xz.asc 488 BLAKE2B 9ac94473d90a26932e507cdb3f46d8381565deecff38a5a2f7fe043b33405071adf0baee4235dd94bb6d35fa3ffedca6192fb5f5d76030874a90a399d88f9744 SHA512 f52e8602a57f590150f6f49829e788910006e5113ab6e85c6efe73009b8db752b5f28b869c6265ef6dd3c2727c64c0182d125f02f92485485768416c618acdb9
+DIST Botan-3.2.0.tar.xz 8998204 BLAKE2B f21e7574af93ab3331607f4a4ecf1b2cbbc0db4b510ea8ad19a5286d46d3a8e37e13746d2d4751eb16a70fdc8371b4435b030ef0a17f1ab6dcd76bd81bb3a4fa SHA512 526cf71144584fef6e73f14f6aa1e2a7b03a92a3e51436287764bb61e742a94e02926bcc2aab038f08ef2169cb511152c8ecd71d51e06deb4875dc676875c2d9
+DIST Botan-3.2.0.tar.xz.asc 488 BLAKE2B f7bc716dd18eedf35928933e22c75de3d2731330dfdaf8a5048e8ad86e1f3896ea55294a64b7f82593af16dd2e4097a9ba68f25baa024e175b7334478bcf84a6 SHA512 3ee42ac73e1bd6cea0a2e9f468b88d67c02a4a69786c41ddf9fc7f94b6847be00e0f3f0f38f934ab599b8d6dd29006414294df8b371f5cf2422292f3dd176756
+DIST Botan-3.3.0.tar.xz 7164024 BLAKE2B 051a24c28e6858fdff2af15d01a871ebe5bab11d773be821c0a56a55c725c91cf3119280195ac736f4df83305c1d4910430e6b26deded0d4c634e5c2fc23b389 SHA512 90930add225a2b4376046b3ed0177c71e7d19e983fb2b99c40751de5e6c3959b520eaa1e836782eb02ebc8aff8e9a4fd928f585de5e6b1798a8ad4aa0464f19b
+DIST Botan-3.3.0.tar.xz.asc 488 BLAKE2B 043538ff2572a449d4d9ad4bba6d7cab78865e924f712d1b4d4aad9f378cc417f07c19a25adefa22b6e1c06259a50880414c11ce8d3ad1e7f815cf458dbbe6b8 SHA512 c951079c22665966b96cf18c20df7b709353b42dab4aeb33d021b4a8abbc0f06d8fe909f1a5db3e736b4f93b17374d8f832f7aa9f25757a5d5ab1604320581b2
diff --git a/dev-libs/botan/botan-2.19.2.ebuild b/dev-libs/botan/botan-2.19.2.ebuild
deleted file mode 100644
index e899feaea56b..000000000000
--- a/dev-libs/botan/botan-2.19.2.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/botan.asc
-inherit edo python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-SLOT="2/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86 ~ppc-macos"
-IUSE="doc boost bzip2 lzma python 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}"
-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 (presumably due to stack direction)
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
- --distribution-info="Gentoo ${PVR}"
- --libdir="$(get_libdir)"
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # 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
-
- edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
- default
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan2.py
- fi
-}
diff --git a/dev-libs/botan/botan-2.19.3-r2.ebuild b/dev-libs/botan/botan-2.19.3-r2.ebuild
new file mode 100644
index 000000000000..2a151dbc3529
--- /dev/null
+++ b/dev-libs/botan/botan-2.19.3-r2.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-3.0.0-r1:3[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ tc-export AR CC CXX
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-2.19.3.ebuild b/dev-libs/botan/botan-2.19.3.ebuild
deleted file mode 100644
index 10d64d9a5ec0..000000000000
--- a/dev-libs/botan/botan-2.19.3.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/botan.asc
-inherit edo python-r1 toolchain-funcs verify-sig
-
-MY_P="Botan-${PV}"
-DESCRIPTION="C++ crypto library"
-HOMEPAGE="https://botan.randombit.net/"
-SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-SLOT="2/$(ver_cut 1-2)" # soname version
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~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}"
-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 (presumably due to stack direction)
- $(usev hppa '--without-stack-protector')
-
- $(use_with boost)
- $(use_with bzip2)
- $(use_with doc documentation)
- $(use_with doc sphinx)
- $(use_with lzma)
- $(use_enable static-libs static-library)
- $(use_with sqlite sqlite3)
- $(use_with zlib)
-
- --cpu=${chostarch}
- --docdir=share/doc
- --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
- --distribution-info="Gentoo ${PVR}"
- --libdir="$(get_libdir)"
-
- # Don't install Python bindings automatically
- # (do it manually later in the right place)
- # 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
-
- edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
-}
-
-src_test() {
- LD_LIBRARY_PATH="${S}" ./botan-test || die "Validation tests failed"
-}
-
-src_install() {
- default
-
- # Manually install the Python bindings (bug #723096)
- if use python ; then
- python_foreach_impl python_domodule src/python/botan2.py
- fi
-}
diff --git a/dev-libs/botan/botan-2.19.4.ebuild b/dev-libs/botan/botan-2.19.4.ebuild
new file mode 100644
index 000000000000..6e152aa47946
--- /dev/null
+++ b/dev-libs/botan/botan-2.19.4.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+# Unkeyworded because of https://github.com/randombit/botan/issues/3916
+#KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+ cpu_flags_arm_{aes,neon}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-3.0.0-r1:3[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ tc-export AR CC CXX
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ if [[ -d "${ED}"/usr/share/doc/${P} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.1.1.ebuild b/dev-libs/botan/botan-3.1.1.ebuild
new file mode 100644
index 000000000000..db9e865b7af6
--- /dev/null
+++ b/dev-libs/botan/botan-3.1.1.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.2.0-r1.ebuild b/dev-libs/botan/botan-3.2.0-r1.ebuild
new file mode 100644
index 000000000000..3f687cb7dec7
--- /dev/null
+++ b/dev-libs/botan/botan-3.2.0-r1.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+PATCHES=(
+ "${FILESDIR}"/${P}-ninja.patch
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if use elibc_glibc && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.2.0-r2.ebuild b/dev-libs/botan/botan-3.2.0-r2.ebuild
new file mode 100644
index 000000000000..e159ec4d7ba0
--- /dev/null
+++ b/dev-libs/botan/botan-3.2.0-r2.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+RESTRICT="!test? ( test )"
+
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+
+IUSE+=" ${CPU_USE[@]}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+PATCHES=(
+ "${FILESDIR}"/${P}-ninja.patch
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/botan-3.3.0.ebuild b/dev-libs/botan/botan-3.3.0.ebuild
new file mode 100644
index 000000000000..893a9edb2868
--- /dev/null
+++ b/dev-libs/botan/botan-3.3.0.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+# Unkeyworded because of https://github.com/randombit/botan/issues/3917
+#KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=sys-devel/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/botan/files/botan-3.2.0-ninja.patch b/dev-libs/botan/files/botan-3.2.0-ninja.patch
new file mode 100644
index 000000000000..826fc496fb31
--- /dev/null
+++ b/dev-libs/botan/files/botan-3.2.0-ninja.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/915544
+https://github.com/randombit/botan/commit/a1a32558669a6751e39420b26930d477790509ce
+
+From a1a32558669a6751e39420b26930d477790509ce Mon Sep 17 00:00:00 2001
+From: Jack Lloyd <jack@randombit.net>
+Date: Wed, 11 Oct 2023 07:36:31 -0400
+Subject: [PATCH] Fix Ninja build to pass instruction set flags to the compiler
+
+Fixes #3750
+--- a/src/build-data/ninja.in
++++ b/src/build-data/ninja.in
+@@ -161,6 +161,7 @@ build tidy: tidy
+
+ %{for lib_build_info}
+ build %{obj}: compile_lib %{src}
++ isa_flags = %{isa_flags}
+ %{endfor}
+
+ %{for cli_build_info}
+
diff --git a/dev-libs/boxfort/boxfort-0.1.1.ebuild b/dev-libs/boxfort/boxfort-0.1.1.ebuild
index 8a8774e348b1..a9bd21264bdc 100644
--- a/dev-libs/boxfort/boxfort-0.1.1.ebuild
+++ b/dev-libs/boxfort/boxfort-0.1.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit meson python-any-r1
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/Snaipe/BoxFort/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 -riscv ~x86"
+KEYWORDS="-alpha amd64 ~arm ~arm64 -hppa -ia64 -loong -m68k -mips -ppc -ppc64 -riscv -s390 -sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/boxfort/boxfort-0.1.4.ebuild b/dev-libs/boxfort/boxfort-0.1.4.ebuild
index 45d8dc65c1d9..0a5de250ab7b 100644
--- a/dev-libs/boxfort/boxfort-0.1.4.ebuild
+++ b/dev-libs/boxfort/boxfort-0.1.4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit meson python-any-r1
@@ -14,7 +14,7 @@ S="${WORKDIR}"/BoxFort-${PV}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 -loong -riscv -s390 ~x86"
+KEYWORDS="-alpha amd64 ~arm ~arm64 -hppa -ia64 -loong -m68k -mips -ppc -ppc64 -riscv -s390 -sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/busybee/Manifest b/dev-libs/busybee/Manifest
deleted file mode 100644
index c830ed56f154..000000000000
--- a/dev-libs/busybee/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST busybee-0.7.0.tar.gz 367175 BLAKE2B 29dc5c021dbbc91497d855b26adbeb6464999a92ac9d13af689ec09e76f9779f0ec8d36b210e432eb77ee6eec125f0bfbc7eb0b87f085969a422a2a7e2286002 SHA512 9bf868b6d02b0286d89ff371964e7d32dd373049c1437459b79f0789741421ebb2810d9d58c51d86225cc190d6e23d57c816d079298b0bcfa1e4da815bda2474
diff --git a/dev-libs/busybee/busybee-0.7.0.ebuild b/dev-libs/busybee/busybee-0.7.0.ebuild
deleted file mode 100644
index ad936c434700..000000000000
--- a/dev-libs/busybee/busybee-0.7.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A messaging abstraction on top of TCP sockets used in HyperDex"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND=">=dev-libs/libpo6-0.8
- >=dev-libs/libe-0.11"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/busybee/metadata.xml b/dev-libs/busybee/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/busybee/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/c-blosc/Manifest b/dev-libs/c-blosc/Manifest
index 24d850467100..e7cb8aa0f471 100644
--- a/dev-libs/c-blosc/Manifest
+++ b/dev-libs/c-blosc/Manifest
@@ -1 +1 @@
-DIST c-blosc-1.21.3.gh.tar.gz 1532077 BLAKE2B ff8ad36e4e34b245062025c5820655bb52fea40276e88a748253d5079c3b5f8662079f177835ab38aa6e58d87e7849a93d7e1289346fcc53c077ef85b7382462 SHA512 e9542aa2d1ebae9f6dcc12916d7ac3b920d771281ab96e2b2d59c2951e5f51d02d2684859b8823643d43d320613fb9dd8a3ea411ade34e66e323fcefa8165a91
+DIST c-blosc-1.21.5.gh.tar.gz 2458960 BLAKE2B f56e19146a1522554d5e8de23f580125a6181b50f1898c8e622e8ac50f2f40ab4cdaba62a5a2bc6ff437257550e205090ebe66bb8840202a26567abfc63fbf53 SHA512 01e6d80e1114d76c4bd1b413778c293d0455879ec38e1e1ec46e8e7eaf2997b47cc2de35bc52cdc4c2c70341b6f87d70626a9a9c24ffc8b7b170d760efa60c07
diff --git a/dev-libs/c-blosc/c-blosc-1.21.3.ebuild b/dev-libs/c-blosc/c-blosc-1.21.3.ebuild
deleted file mode 100644
index c845b48cd4a5..000000000000
--- a/dev-libs/c-blosc/c-blosc-1.21.3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 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 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}
-"
-
-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/c-blosc-1.21.5.ebuild b/dev-libs/c-blosc/c-blosc-1.21.5.ebuild
new file mode 100644
index 000000000000..38ab8bce109f
--- /dev/null
+++ b/dev-libs/c-blosc/c-blosc-1.21.5.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/
+ https://github.com/Blosc/c-blosc/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+lz4 +snappy test zlib zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ lz4? ( >=app-arch/lz4-1.7.5:= )
+ snappy? ( app-arch/snappy:= )
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.21.4-no-unaligned.patch
+)
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_LZ4=$(usex !lz4)
+ -DDEACTIVATE_SNAPPY=$(usex !snappy)
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ # snappy is always external
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch b/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch
new file mode 100644
index 000000000000..932df9355a99
--- /dev/null
+++ b/dev-libs/c-blosc/files/c-blosc-1.21.4-no-unaligned.patch
@@ -0,0 +1,33 @@
+Causes SIGBUS on armv7 (at least in jiji's arm32-on-arm64 chroot) in Pandas test
+suite. Unaligned access is UB anyway.
+--- a/blosc/blosc-common.h
++++ b/blosc/blosc-common.h
+@@ -43,28 +43,6 @@
+ */
+ #if !defined(BLOSC_STRICT_ALIGN)
+ #define BLOSC_STRICT_ALIGN
+-#if defined(__i386__) || defined(__386) || defined (__amd64) /* GNU C, Sun Studio */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__i486__) || defined(__i586__) || defined(__i686__) /* GNU C */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(_M_IX86) || defined(_M_X64) /* Intel, MSVC */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__386)
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(_X86_) /* MinGW */
+-#undef BLOSC_STRICT_ALIGN
+-#elif defined(__I86__) /* Digital Mars */
+-#undef BLOSC_STRICT_ALIGN
+-/* Seems like unaligned access in ARM (at least ARMv6) is pretty
+- expensive, so we are going to always enforce strict alignment in ARM.
+- If anybody suggest that newer ARMs are better, we can revisit this. */
+-/* #elif defined(__ARM_FEATURE_UNALIGNED) */ /* ARM, GNU C */
+-/* #undef BLOSC_STRICT_ALIGN */
+-#elif defined(_ARCH_PPC) || defined(__PPC__)
+-/* Modern PowerPC systems (like POWER8) should support unaligned access
+- quite efficiently. */
+-#undef BLOSC_STRICT_ALIGN
+-#endif
+ #endif
+
+ #if defined(__SSE2__)
diff --git a/dev-libs/c-blosc2/Manifest b/dev-libs/c-blosc2/Manifest
index f4508df3f2a7..48335995ab69 100644
--- a/dev-libs/c-blosc2/Manifest
+++ b/dev-libs/c-blosc2/Manifest
@@ -1 +1,5 @@
-DIST c-blosc2-2.6.1.gh.tar.gz 2365300 BLAKE2B a3fdc8798eb70e97791b7b708ef872142d38b9c4fdb8efc6d5da2010149fa61f4115f27af630a43edd5f351cb8693fbb79457f19ccf1a518f057902b93196b3d SHA512 9f5daa59d5191784ee91deb18ed15a3b36504b05061ca8b1532eaf8e402c793944059894b277843e8da19f00af05615e0865d9fdb80decd83aa07867b0e661a0
+DIST c-blosc2-2.10.5.gh.tar.gz 3144174 BLAKE2B a680def405f2383636185ab1b71a42e042dd0c71025bfc898b48f148f4a6bf27cbd38f29512caae9ff5b58f70cb35289b609c84b132c0795915d1fe6c71b3feb SHA512 bc004fe2132a8e36963437d5279506c2f79dcbf11ee1a768954c20d1265d120dc85e67952b567e716105c5716922da8ee8cffd0a5d44bc67093a4cab3075e322
+DIST c-blosc2-2.13.2.gh.tar.gz 3152011 BLAKE2B 1bf9826e6eb1babacb0fe6f7f90c5ca6617cf1cf4df269af95c94e175d0a1cc2015905b9cf6a48107f0b10431feb646ec5de095e00dc29f3bab8d53564e7d4fe SHA512 441df73dca3fe210b0df68bfc3da037a05393f80044f5e2c816000a244ade4cf8e223b2fce2127c034c27a35f2742b05fe06c08861e93c02bc7598d5a4b8a917
+DIST c-blosc2-2.14.0.gh.tar.gz 3155739 BLAKE2B 2607ea3e842fce469f04d31b2d92503f270409e952968e7217ca87ebccd64b25aa38282743f7fdb3ba199f71acc246f7ef9fa0b24e33417e6bdf69a68aba62a6 SHA512 74f0df844c722248a1743fa6ce4b20ae526831f29cc66baf6f487e743c9fc65713e089ebab63ebcf43ac7b1201e82f9c7049dfb68cff17116de93f36d9482557
+DIST c-blosc2-2.14.1.gh.tar.gz 3155751 BLAKE2B 6967914214603af724ab523e91cef2c720018c75002402a5d3ac1bf064af27069ee12db80f7ac37ad5136a30a280b37b829fda7c03b87e2a027599d235ed6021 SHA512 952e2331be4747005e82cabdda310f96031dcfe54f9fe92f68ff2efb42aa8dfb3aa9d6c3ab9ce9f94ea52c34322047447db98d530a58eddc9fca6f62872fd272
+DIST c-blosc2-2.14.4.gh.tar.gz 3155712 BLAKE2B 1af67562150b7b0b87fa076114bab0cccfbd12417c13dfae4fbd40e15531ed54f3a315588ac81b15e137f0272ac6c610c48205608be0b9e98ce44218dd200a27 SHA512 4173c7b0cf4f0399a3d36c987d265aacf766f54dc871ca87ebd98d4ecd4fbd24d4b923ffb2d0b59bda359e1fbba29f088d78816d375904b1945e8c40c29dccce
diff --git a/dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild b/dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild
new file mode 100644
index 000000000000..be1da45c49b8
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.3-no-unaligned.patch
+)
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild b/dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild
new file mode 100644
index 000000000000..1da262c2e9ea
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.14.0.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.0.ebuild
new file mode 100644
index 000000000000..83ec7fc645ac
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.14.1.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.1.ebuild
new file mode 100644
index 000000000000..83ec7fc645ac
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild
new file mode 100644
index 000000000000..21d8413c0e29
--- /dev/null
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Blocking, shuffling and lossless compression library"
+HOMEPAGE="
+ https://www.blosc.org/c-blosc2/c-blosc2.html
+ https://github.com/Blosc/c-blosc2/
+"
+SRC_URI="
+ https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test +zlib +zstd"
+REQUIRED_USE="test? ( zlib zstd )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=app-arch/lz4-1.7.5:=
+ zlib? ( sys-libs/zlib:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ # remove bundled libs (just in case)
+ rm -rf internal-complibs || die
+
+ local mycmakeargs=(
+ -DBUILD_STATIC=OFF
+ -DBUILD_TESTS=$(usex test)
+ -DBUILD_BENCHMARKS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_FUZZERS=OFF
+ -DDEACTIVATE_ZLIB=$(usex !zlib)
+ -DDEACTIVATE_ZSTD=$(usex !zstd)
+ -DPREFER_EXTERNAL_LZ4=ON
+ -DPREFER_EXTERNAL_ZLIB=ON
+ -DPREFER_EXTERNAL_ZSTD=ON
+
+ # force regular zlib, at least for the time being
+ -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
+
+ # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
+ # from applying, https://github.com/Blosc/c-blosc2/issues/433
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
+ MAKEOPTS=-j1 cmake_src_test
+}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.6.1.ebuild b/dev-libs/c-blosc2/c-blosc2-2.6.1.ebuild
deleted file mode 100644
index e4d54a7ad7a7..000000000000
--- a/dev-libs/c-blosc2/c-blosc2-2.6.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=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}
-"
-
-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
-
- # 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/cJSON/Manifest b/dev-libs/cJSON/Manifest
index 7b18c4778b8a..50cc2e280a86 100644
--- a/dev-libs/cJSON/Manifest
+++ b/dev-libs/cJSON/Manifest
@@ -1 +1 @@
-DIST cJSON-1.7.15.tar.gz 352278 BLAKE2B e0de3b8d56020853d56f5512e6e7216adafd238b6f69bbf6965b153bfe8ebfc23593dfa7cfb8543d8730d90820153d263c8af276c8e9588ba8a5ad76a50f8b72 SHA512 0b32a758c597fcc90c8ed0af493c9bccd611b9d4f9a03e87de3f7337bb9a28990b810befd44bc321a0cb42cbcd0b026d45761f9bab7bd798f920b7b6975fb124
+DIST cJSON-1.7.17.tar.gz 353748 BLAKE2B 11d47bebc4b6b3a8115234706f1b35af0f450725c2ee36aaf563a5d44e20a7bc0e2b83aaf15aeea3146bdad7467e96bf7d6edcd79ad4f3e5a9ffe40f002cf8d5 SHA512 4feebafa5225297fa3e6a7bf23f8d31b5c3e172f437078c5a07528522ad58ca2e9c72dd9e8611241d2b8321e9aa0a1a9af7743689d1c2001d1d9cb624aae6fa8
diff --git a/dev-libs/cJSON/cJSON-1.7.15.ebuild b/dev-libs/cJSON/cJSON-1.7.15.ebuild
deleted file mode 100644
index 4829b2f530c3..000000000000
--- a/dev-libs/cJSON/cJSON-1.7.15.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021-2022 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 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/cJSON-1.7.17.ebuild b/dev-libs/cJSON/cJSON-1.7.17.ebuild
new file mode 100644
index 000000000000..9dd067cc9acb
--- /dev/null
+++ b/dev-libs/cJSON/cJSON-1.7.17.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Ultralightweight JSON parser in ANSI C"
+HOMEPAGE="https://github.com/DaveGamble/cJSON"
+SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e '/-Werror/d' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CJSON_TEST=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/capnproto/Manifest b/dev-libs/capnproto/Manifest
index bedc589fb927..84e5ab808603 100644
--- a/dev-libs/capnproto/Manifest
+++ b/dev-libs/capnproto/Manifest
@@ -1,2 +1,3 @@
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.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/capstone/Manifest b/dev-libs/capstone/Manifest
index b6fb009623c3..3c41eeac7749 100644
--- a/dev-libs/capstone/Manifest
+++ b/dev-libs/capstone/Manifest
@@ -1,2 +1,2 @@
DIST capstone-4.0.2.tar.gz 3439542 BLAKE2B 435729a8fef2dce6495635352101b3befe563c8404efdbb0dccabecbe2bded332221665bacdbcd9043dda72b652b6f29c0e1a548cefb8c64d5b6b9dc174ed3d9 SHA512 7f93534517307b737422a8825b66b2a1f3e1cca2049465d60ab12595940154aaf843ba40ed348fce58de58b990c19a0caef289060eb72898cb008a88c470970e
-DIST capstone-5.0_rc2.tar.gz 5761725 BLAKE2B 2f5074fe1881309ee2d36cdfeba10bacefbac5c994d42dd3b08c07fe8b70e298d9d18e9c061dad1a54c6368bdc296fd02f30d77f78b1ae05074764e7041aef2c SHA512 fdc4992399a2add960b12ff2495087a97fa66dce85e87375ba9d19e02b7ea5fb16a7efa93d839c2693378f6367efc9df68f192584ba624443d3b0b197d4dcd9a
+DIST capstone-5.0.1.tar.gz 7654195 BLAKE2B 83f6681d4c9c748df00daf59f7b33637ab72eee661261c22acae40a6db2def70bb6b5339d731244fdbae6f1e1b0b5b22bb6f60c1390a1bebceb97b3f810aedb0 SHA512 350aba77ce2d96b5c25764913591ba80e4497177ae0a8b2c820c6755ee8310848fbfc54e7ccac27fafc2dbc6778118ad92c53d1b5cb601d4fa146dec7d7e11e5
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-5.0_rc2-r2.ebuild b/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild
deleted file mode 100644
index fe79e806cfad..000000000000
--- a/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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/5" # libcapstone.so.5
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86"
-
-IUSE="python test"
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-distutils_enable_tests setup.py
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-PATCHES=(
- "${FILESDIR}"/${P}-pkgconfig.patch
- "${FILESDIR}"/${P}-oob-mem-access.patch
-)
-
-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}
-}
diff --git a/dev-libs/capstone/capstone-9999.ebuild b/dev-libs/capstone/capstone-9999.ebuild
index 259fa40dbb50..6d46a0133be7 100644
--- a/dev-libs/capstone/capstone-9999.ebuild
+++ b/dev-libs/capstone/capstone-9999.ebuild
@@ -3,8 +3,10 @@
EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
inherit cmake distutils-r1 toolchain-funcs
@@ -16,23 +18,31 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/capstone-engine/capstone.git"
EGIT_REPO_BRANCH="next"
else
- SRC_URI="https://github.com/capstone-engine/capstone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+ 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 test"
+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
+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"
+)
-S=${WORKDIR}/${P/_rc/-rc}
+distutils_enable_tests setup.py
if [[ ${PV} == *_rc* ]]; then
# Upstream doesn't flag release candidates (bug 858350)
@@ -82,4 +92,8 @@ 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-5.0_rc2-oob-mem-access.patch b/dev-libs/capstone/files/capstone-5.0_rc2-oob-mem-access.patch
deleted file mode 100644
index 4e538ef4d5fb..000000000000
--- a/dev-libs/capstone/files/capstone-5.0_rc2-oob-mem-access.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Author: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
-Date: Mon Aug 22 18:52:19 2022 +0200
-
- PPC: fix out of bound memory access
-
- closes #1912
-
-Bug: https://bugs.gentoo.org/865151
-Upstream: https://github.com/capstone-engine/capstone/pull/1913
-
-diff --git a/arch/PowerPC/PPCInstPrinter.c b/arch/PowerPC/PPCInstPrinter.c
-index 22eef4ee..a5a30a8b 100644
---- a/arch/PowerPC/PPCInstPrinter.c
-+++ b/arch/PowerPC/PPCInstPrinter.c
-@@ -1116,7 +1116,8 @@ static char *stripRegisterPrefix(const char *RegName)
- char *name = cs_strdup(RegName + 2);
-
- // also strip the last 2 letters
-- name[strlen(name) - 2] = '\0';
-+ if(strlen(name) > 2)
-+ name[strlen(name) - 2] = '\0';
-
- return name;
- }
-diff --git a/suite/cstest/issues.cs b/suite/cstest/issues.cs
-index e4fb6cfa..3183f43f 100644
---- a/suite/cstest/issues.cs
-+++ b/suite/cstest/issues.cs
-@@ -1,3 +1,11 @@
-+!# issue 1912 PPC register name
-+!# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, None
-+0x2d,0x03,0x00,0x80 == cmpwi cr2, r3, 0x80
-+
-+!# issue 1912 PPC no register name
-+!# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
-+0x2d,0x03,0x00,0x80 == cmpwi 2, 3, 0x80
-+
- !# issue 1839 AArch64 Incorrect detailed disassembly of ldr
- !# CS_ARCH_ARM64, CS_MODE_ARM, CS_OPT_DETAIL
- 0x41,0x00,0x40,0xf9 == ldr x1, [x2] ; operands[0].access: WRITE ; operands[1].access: READ
diff --git a/dev-libs/capstone/files/capstone-5.0_rc2-pkgconfig.patch b/dev-libs/capstone/files/capstone-5.0_rc2-pkgconfig.patch
deleted file mode 100644
index 015220a138e8..000000000000
--- a/dev-libs/capstone/files/capstone-5.0_rc2-pkgconfig.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/capstone.pc.in b/capstone.pc.in
-index 1b559eac..1ffcd354 100644
---- a/capstone.pc.in
-+++ b/capstone.pc.in
-@@ -5,7 +5,7 @@ includedir=${prefix}/include
-
- Name: capstone
- Description: Capstone disassembly engine
--Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
-+Version: @PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@
- URL: http://www.capstone-engine.org
- archive=${libdir}/libcapstone.a
- Libs: -L${libdir} -lcapstone
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/castxml/Manifest b/dev-libs/castxml/Manifest
index de8dcc691a90..0381ab60ceab 100644
--- a/dev-libs/castxml/Manifest
+++ b/dev-libs/castxml/Manifest
@@ -1,2 +1,5 @@
-DIST castxml-0.4.5.tar.gz 104158 BLAKE2B 7d1642442d6908a7d7e1dd8f80a37b55ec8652191c4c93faf7f45601d730653d9b0e5af601f74aca7bce8579c0006eab0e9a2a75752abe2acbec1cfbf1522645 SHA512 c35c5d60dc7487d5dddba34de92590122db8457659458ee4e735fe9936dc59473bd31ed602e05e73651780f25a55ef5554e2daec0923ffb5a7575904320f5352
+DIST CastXML-0.6.5.tar.gz 121667 BLAKE2B 820a96dfb9f2763c00f22028ff4c232c15bf587f376aa11effd59d8d1014581d8dff4e8a01a6420a8e8e720e72f072da4ed5d0600171718d42e352d0439371eb SHA512 1f6759242fd6097fc97df34b1689ae6660e42d64717be90fa2d2f251847a465e26e17d6ff5318d82c47981005c826dad0fe65b3536b13d9192b9bccf61097f10
DIST castxml-0.5.1.tar.gz 106918 BLAKE2B 9268f149ea5a511d24cbbd0c7faec5bff5eade5a511961d3bb120409691bf2b8aca7f2978e048a759419c097d9d97219a61a122bd37d4f835c1d86827bfb07e3 SHA512 1dff8f5cc6932a159e1132c0b283a28414ea6007c942cac4ae15a1c31789f5bd29efd65a6b5b63d7bc48b3d68c3550804f31bee2658e51082269fc5ecc15590e
+DIST castxml-0.6.1.tar.gz 119089 BLAKE2B 8e7ea8254debc05fb2d145a1945228607bb7f903dd7748d81f7647f16f0814d331f98f4be1ab430bbb509afdb18c998be998496ef2a8a2e563169747cae1c91c SHA512 0477209979679ca5cae05d99e3ae9c2850f19a39a310a376047570d9e14b37e32aa2ebdea41d000194343e6ec9a27f21b0fcdf633d8b74733e655d9de70bc2a5
+DIST castxml-0.6.2.tar.gz 119190 BLAKE2B fd3522a19898d96fbcbf7044d8d4c03ec7a5192df0ec28e04eecee753367aca76e53e7320f788877b449ca90ee4f441ade76e833ec6fdc1a73ad4f5dfa64c0e0 SHA512 eec6495b8ed837031b5d41cb09b8f70c497c865fbef47bc51b5f296fb9db852ded0bd13c45c3f3017d7d1eb5976557634e52369a24ddbf1f2cf9705c321bac3b
+DIST castxml-0.6.4.tar.gz 121583 BLAKE2B 9e4992306bc1380b92ff4d8fcfcf24934036aaf4ecbf2b4db4dfb942ce16152c385b64f96ec0559e6e175f06cf15da0635e61324f92ed6fd0cefc7c83326885d SHA512 3494b7a31a397b390c412a5f445e40d92b3f02840a3eaf9fd94cef2c10fdd52b3621b3990056f2d0619a7d09de448a6988160406d3286472a8db5322a9b1caeb
diff --git a/dev-libs/castxml/castxml-0.4.5.ebuild b/dev-libs/castxml/castxml-0.4.5.ebuild
deleted file mode 100644
index 7eee74c7e25a..000000000000
--- a/dev-libs/castxml/castxml-0.4.5.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-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 )"
-
-RDEPEND="
- sys-devel/llvm:=
- sys-devel/clang:=
- "
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${RDEPEND}
- man? ( dev-python/sphinx )
- "
-
-PATCHES=(
- "${FILESDIR}"/${PN}-fix-tests.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DCastXML_INSTALL_DOC_DIR="share/doc/${P}"
- -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.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.5.1.ebuild b/dev-libs/castxml/castxml-0.5.1.ebuild
deleted file mode 100644
index 7eee74c7e25a..000000000000
--- a/dev-libs/castxml/castxml-0.5.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-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 )"
-
-RDEPEND="
- sys-devel/llvm:=
- sys-devel/clang:=
- "
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${RDEPEND}
- man? ( dev-python/sphinx )
- "
-
-PATCHES=(
- "${FILESDIR}"/${PN}-fix-tests.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DCastXML_INSTALL_DOC_DIR="share/doc/${P}"
- -DCastXML_INSTALL_MAN_DIR="share/man"
- -DSPHINX_MAN="$(usex man)"
- -DSPHINX_HTML=OFF
- -DBUILD_TESTING="$(usex test)"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/castxml/castxml-0.6.1.ebuild b/dev-libs/castxml/castxml-0.6.1.ebuild
new file mode 100644
index 000000000000..61e6bb8b1dff
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=16
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+# "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/castxml/castxml-0.6.2.ebuild b/dev-libs/castxml/castxml-0.6.2.ebuild
new file mode 100644
index 000000000000..167ac162e324
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+# "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Regex doesn't match the full build path
+ cmd.input-missing
+ cmd.rsp-missing
+
+ # Gets confused by extra #defines we set for hardening etc (bug #891813)
+ cmd.cc-gnu-src-cxx-E
+ cmd.cc-gnu-src-cxx-cmd
+ cmd.cc-gnu-c-src-c-E
+ cmd.cc-gnu-c-src-c-cmd
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/castxml/castxml-0.6.4.ebuild b/dev-libs/castxml/castxml-0.6.4.ebuild
new file mode 100644
index 000000000000..415f275dcc3f
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+# "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Regex doesn't match the full build path
+ cmd.input-missing
+ cmd.rsp-missing
+
+ # Gets confused by extra #defines we set for hardening etc (bug #891813)
+ cmd.cc-gnu-src-cxx-E
+ cmd.cc-gnu-src-cxx-cmd
+ cmd.cc-gnu-c-src-c-E
+ cmd.cc-gnu-c-src-c-cmd
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/castxml/castxml-0.6.5.ebuild b/dev-libs/castxml/castxml-0.6.5.ebuild
new file mode 100644
index 000000000000..894410252a94
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.5.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..19} )
+
+inherit cmake llvm-r1
+
+MY_P=CastXML-${PV}
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="
+ https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=
+ ')
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ man? ( dev-python/sphinx )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Regex doesn't match the full build path
+ cmd.input-missing
+ cmd.rsp-missing
+
+ # Gets confused by extra #defines we set for hardening etc (bug #891813)
+ cmd.cc-gnu-src-cxx-E
+ cmd.cc-gnu-src-cxx-cmd
+ cmd.cc-gnu-c-src-c-E
+ cmd.cc-gnu-c-src-c-cmd
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/castxml/metadata.xml b/dev-libs/castxml/metadata.xml
index 243288d8ef94..136fc3f53436 100644
--- a/dev-libs/castxml/metadata.xml
+++ b/dev-libs/castxml/metadata.xml
@@ -9,6 +9,11 @@
<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>
diff --git a/dev-libs/cdk/Manifest b/dev-libs/cdk/Manifest
index a69033cc63bc..3ad50fa1d50a 100644
--- a/dev-libs/cdk/Manifest
+++ b/dev-libs/cdk/Manifest
@@ -1,4 +1,4 @@
-DIST cdk-5.0-20210324.tgz 548203 BLAKE2B 7a944f347bf30a6bf602b9ac61fa547c7b4aef073db54272e4a8d2bd7d83093888f2ca9e5ee9c2d067777472d2abb87cca42b2912b0491b81472cfce086640b8 SHA512 72d62307824708858ca4fb3865d332cc81e987d7ef685011cf127c8f77cee3e19fe9dd6a35009d4416769cb00f04e937ebaec686c61ca0ba58655f522a175a59
-DIST cdk-5.0-20211216.tgz 552041 BLAKE2B ce82ac22d4ec2ed37079d3de52a4f93a4206e5228aa952a3e45294d260c1ffef7c363b2c290060cc909bb8ab4ae88cbedecf498db7bd0f13e2d2822d87d7e4fa SHA512 622e99681af8468aaf8638833d0821c743667fb9b41716fe16acb8e78e8a3d5ba4eb7aced0bc213697e120dcb6e96067d6b75d53531555c3e6d90e4961cb99aa
-DIST cdk-5.0-20221025.tgz 540925 BLAKE2B 48b37d07630bc71fc5b1a77fa2732c264e61323fc00c60db1436403db46bfc4f870fa897560b705583b07db84b8f812df553780f4bddef4ca88de6b799c31f57 SHA512 408ab61f8110c13d32976896e92f8ded4927eac36435bce6d9fafbe137e693779ffd882829712086868766a252e35e6c592da69c43cfb32d9f4cf7e880c2a593
-DIST cdk-5.0-20221025.tgz.asc 729 BLAKE2B 0e6d0fdfcdb7e8a2139b5050cd2ff79f493edb67a0119baf5b009a00ea9fe715bb85da7980f35dbf688462b8dc07fc1e630101b072111fc626696bb90d318dc8 SHA512 66c52ac973fa6c133ae5a76b1661980b6a32144854c518f9bcddce8bd0b28e60167f8e09f87b99bff59e996275b3844f2c1c4b20d0a40a784700f53394fcbbcc
+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.20210324-r2.ebuild b/dev-libs/cdk/cdk-5.0.20210324-r2.ebuild
deleted file mode 100644
index 716d6a145960..000000000000
--- a/dev-libs/cdk/cdk-5.0.20210324-r2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-$(ver_rs 2 -)"
-
-DESCRIPTION="A library of curses widgets"
-HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
-SRC_URI="ftp://ftp.invisible-island.net/cdk/${MY_P}.tgz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="BSD"
-SLOT="0/6" # subslot = soname version
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="examples unicode"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)?]"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-5.0.20120323-parallel-make.patch )
-
-src_configure() {
- if [[ ${CHOST} == *-*-darwin* ]] ; then
- export ac_cv_prog_LIBTOOL=glibtool
- fi
-
- # --with-libtool dropped for now because of broken Makefile
- # bug #790773
- econf \
- --disable-rpath-hack \
- --with-shared \
- --with-pkg-config \
- --with-ncurses$(usex unicode "w" "")
-}
-
-src_install() {
- # parallel make installs duplicate libs
- emake -j1 \
- DESTDIR="${D}" \
- DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
- install
-
- if use examples ; then
- local x
- for x in include c++ demos examples cli cli/utils cli/samples ; do
- docinto ${x}
- find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
- done
- fi
-
- find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
-}
diff --git a/dev-libs/cdk/cdk-5.0.20211216.ebuild b/dev-libs/cdk/cdk-5.0.20211216.ebuild
deleted file mode 100644
index 238113a9aaba..000000000000
--- a/dev-libs/cdk/cdk-5.0.20211216.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-$(ver_rs 2 -)"
-
-DESCRIPTION="A library of curses widgets"
-HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
-SRC_URI="ftp://ftp.invisible-island.net/cdk/${MY_P}.tgz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="BSD"
-SLOT="0/6" # subslot = soname version
-KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="examples unicode"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)?]"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_configure() {
- if [[ ${CHOST} == *-*-darwin* ]] ; then
- export ac_cv_prog_LIBTOOL=glibtool
- fi
-
- # --with-libtool dropped for now because of broken Makefile
- # bug #790773
- econf \
- --disable-rpath-hack \
- --with-shared \
- --with-pkg-config \
- --with-ncurses$(usex unicode "w" "")
-}
-
-src_install() {
- # parallel make installs duplicate libs
- emake -j1 \
- DESTDIR="${D}" \
- DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
- install
-
- if use examples ; then
- local x
- for x in include c++ demos examples cli cli/utils cli/samples ; do
- docinto ${x}
- find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
- done
- fi
-
- find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
-}
diff --git a/dev-libs/cdk/cdk-5.0.20221025.ebuild b/dev-libs/cdk/cdk-5.0.20221025.ebuild
deleted file mode 100644
index c974d478f4bd..000000000000
--- a/dev-libs/cdk/cdk-5.0.20221025.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 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="${BROOT}"/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 ~x86-solaris"
-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.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/cereal/cereal-1.3.2-r2.ebuild b/dev-libs/cereal/cereal-1.3.2-r2.ebuild
index 57da97a7a8ca..fc93b8a19e0d 100644
--- a/dev-libs/cereal/cereal-1.3.2-r2.ebuild
+++ b/dev-libs/cereal/cereal-1.3.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,11 +11,11 @@ SRC_URI="https://github.com/USCiLab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
DEPEND="dev-libs/rapidjson"
src_prepare() {
diff --git a/dev-libs/cglm/Manifest b/dev-libs/cglm/Manifest
new file mode 100644
index 000000000000..90819dc8724b
--- /dev/null
+++ b/dev-libs/cglm/Manifest
@@ -0,0 +1,3 @@
+DIST cglm-0.9.2.tar.gz 672575 BLAKE2B 82f119f4eeeb2dadee1b18f41e10e4f47db02cbd9b4d6548fa0b47592973f571bf95294fbbcafaf17bf8b09ebe452f72a93a8882f15479fbce92db3d6e1f2b2e SHA512 d5de879b2510f534dbc82c88b6f4f324088468af7218a635aff08cc3327787f95b0dc896816b9610e5a319cd071bf2443923d3c1d426fd58509f39867d684e5f
+DIST cglm-0.9.3.tar.gz 688608 BLAKE2B f72468f320426d1c0a540c805bef741ccccacd86c061b7b07636ed0221b2acc59efa467c5c91470fb376abcfce68d4d2bceb6aa77fecfbca3acd6f6790d434c4 SHA512 0d773dec44e8246600a53e3c4b117d2eca7f2ebb5855bf113186d4a33a92fe5ccbb3c3a7c7a52a369bb7db37d157b3142af76b569f86cacefc5eb0ab269e9c9c
+DIST cglm-0.9.4.tar.gz 690840 BLAKE2B 407373eba01fc6867d5fa8ec418eff0f3636d919dfcedf686f29b149c0bc4c1ed8cce5b3c7a1847f9cfab35612f19709d25febad09aaa4ed9ea05e462a97d2a0 SHA512 cfa836d5100912866d0678babca51e0ca818c1424ac8320c49ee55e5f9091403947a0d7b5c633bb0fb5df594d2b4fb01c2f634cc20cbe6266db5f7879488b02f
diff --git a/dev-libs/cglm/cglm-0.9.2.ebuild b/dev-libs/cglm/cglm-0.9.2.ebuild
new file mode 100644
index 000000000000..4f9bb90c2e19
--- /dev/null
+++ b/dev-libs/cglm/cglm-0.9.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="sphinx"
+DOCS_AUTODOC=1
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="${S}/docs/source"
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit python-any-r1 docs meson
+
+DESCRIPTION="OpenGL Mathematics (glm) for C"
+HOMEPAGE="https://github.com/recp/cglm"
+SRC_URI="https://github.com/recp/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ # DOCS_DEPEND needs DOCS_AUTODOC which needs the extension
+ sed -i -e "/^extensions/s/$/ 'sphinx.ext.autodoc',/" docs/source/conf.py || die
+}
+src_configure() {
+ local emesonargs=(
+ $(meson_use test build_tests)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+ docs_compile
+}
diff --git a/dev-libs/cglm/cglm-0.9.3.ebuild b/dev-libs/cglm/cglm-0.9.3.ebuild
new file mode 100644
index 000000000000..4c21cab228fa
--- /dev/null
+++ b/dev-libs/cglm/cglm-0.9.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="sphinx"
+DOCS_AUTODOC=1
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="${S}/docs/source"
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-any-r1 docs meson
+
+DESCRIPTION="OpenGL Mathematics (glm) for C"
+HOMEPAGE="https://github.com/recp/cglm"
+SRC_URI="https://github.com/recp/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ # DOCS_DEPEND needs DOCS_AUTODOC which needs the extension
+ sed -i -e "/^extensions/s/$/ 'sphinx.ext.autodoc',/" docs/source/conf.py || die
+}
+src_configure() {
+ local emesonargs=(
+ $(meson_use test build_tests)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+ docs_compile
+}
diff --git a/dev-libs/cglm/cglm-0.9.4.ebuild b/dev-libs/cglm/cglm-0.9.4.ebuild
new file mode 100644
index 000000000000..4c21cab228fa
--- /dev/null
+++ b/dev-libs/cglm/cglm-0.9.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="sphinx"
+DOCS_AUTODOC=1
+DOCS_DEPEND="dev-python/sphinx-rtd-theme"
+DOCS_DIR="${S}/docs/source"
+
+PYTHON_COMPAT=( python3_{9..12} )
+inherit python-any-r1 docs meson
+
+DESCRIPTION="OpenGL Mathematics (glm) for C"
+HOMEPAGE="https://github.com/recp/cglm"
+SRC_URI="https://github.com/recp/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ # DOCS_DEPEND needs DOCS_AUTODOC which needs the extension
+ sed -i -e "/^extensions/s/$/ 'sphinx.ext.autodoc',/" docs/source/conf.py || die
+}
+src_configure() {
+ local emesonargs=(
+ $(meson_use test build_tests)
+ )
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+ docs_compile
+}
diff --git a/dev-libs/cglm/metadata.xml b/dev-libs/cglm/metadata.xml
new file mode 100644
index 000000000000..43c3fb2ea750
--- /dev/null
+++ b/dev-libs/cglm/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">recp/cglm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cgreen/cgreen-1.3.0.ebuild b/dev-libs/cgreen/cgreen-1.3.0.ebuild
index 1b1189420def..b4427d60ba65 100644
--- a/dev-libs/cgreen/cgreen-1.3.0.ebuild
+++ b/dev-libs/cgreen/cgreen-1.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/cgreen-devs/cgreen/archive/${PV}.tar.gz -> ${P}.tar.
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
DEPEND="sys-libs/glibc:="
RDEPEND="${DEPEND}"
diff --git a/dev-libs/check/check-0.15.2-r1.ebuild b/dev-libs/check/check-0.15.2-r1.ebuild
index 5110f922f963..4d353c4293f3 100644
--- a/dev-libs/check/check-0.15.2-r1.ebuild
+++ b/dev-libs/check/check-0.15.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/libcheck/check/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc subunit test"
# Tests seem to timeout on ppc* systems, #736661
@@ -22,7 +22,7 @@ RESTRICT="ppc? ( test )
RDEPEND="subunit? ( dev-python/subunit[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
sys-apps/texinfo"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/check-0.14.0-r2-disable-automagic-dep.patch
diff --git a/dev-libs/chmlib/chmlib-0.40-r1.ebuild b/dev-libs/chmlib/chmlib-0.40-r1.ebuild
deleted file mode 100644
index abdf79cf4f16..000000000000
--- a/dev-libs/chmlib/chmlib-0.40-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools out-of-source
-
-DESCRIPTION="Library for MS CHM (compressed html) file format"
-HOMEPAGE="http://www.jedrea.com/chmlib/"
-SRC_URI="http://www.jedrea.com/${PN}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv x86"
-IUSE="+examples static-libs"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.39-stdtypes.patch
- "${FILESDIR}"/${P}-headers.patch
-)
-
-src_prepare() {
- default
- # Required for CONFIG_SHELL != bash (bug #668408)
- eautoreconf
-}
-
-my_src_configure() {
- local myeconfargs=(
- $(use_enable examples)
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-my_src_install_all() {
- einstalldocs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/chmlib/chmlib-0.40-r2.ebuild b/dev-libs/chmlib/chmlib-0.40-r2.ebuild
new file mode 100644
index 000000000000..cdbdd764997e
--- /dev/null
+++ b/dev-libs/chmlib/chmlib-0.40-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools out-of-source
+
+DESCRIPTION="Library for MS CHM (compressed html) file format"
+HOMEPAGE="http://www.jedrea.com/chmlib/"
+SRC_URI="http://www.jedrea.com/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv x86"
+IUSE="+examples static-libs"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.39-stdtypes.patch
+ "${FILESDIR}"/${P}-headers.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+ default
+ # Required for CONFIG_SHELL != bash (bug #668408)
+ eautoreconf
+}
+
+my_src_configure() {
+ local myeconfargs=(
+ $(use_enable examples)
+ $(use_enable static-libs static)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+my_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/chmlib/files/chmlib-0.40-clang16.patch b/dev-libs/chmlib/files/chmlib-0.40-clang16.patch
new file mode 100644
index 000000000000..eb66b91d5556
--- /dev/null
+++ b/dev-libs/chmlib/files/chmlib-0.40-clang16.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/871177
+https://github.com/jedwing/CHMLib/pull/17
+
+From 5877959e3eb9a54e131608c52e2d6f4c89bc0189 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 19 Apr 2023 09:47:03 +0200
+Subject: [PATCH] Avoid implicit function declarations, for C99 compatibility
+
+Define _LARGEFILE64_SOURCE so that <unistd.h> defines pread64.
+
+This avoids build failures with future compilers which do not
+support implicit function declarations by default.
+--- a/src/chm_lib.c
++++ b/src/chm_lib.c
+@@ -48,6 +48,8 @@
+ * *
+ ***************************************************************************/
+
++#define _LARGEFILE64_SOURCE /* for pread64 */
++
+ #include "chm_lib.h"
+
+ #ifdef CHM_MT
+
diff --git a/dev-libs/cjose/Manifest b/dev-libs/cjose/Manifest
new file mode 100644
index 000000000000..4fa7b26db7a8
--- /dev/null
+++ b/dev-libs/cjose/Manifest
@@ -0,0 +1 @@
+DIST cjose-0.6.2.2.tar.gz 498461 BLAKE2B 4914019652f47ac12745cb3b8914f66cb41cb8da33f83735d866cac816dd8f6475d12fde4a6e3f58456c463cb7c6c6fdfeb4928c232f94e3fa6b1b4c8e5ef132 SHA512 71a087709816f0aac060a7c5f037068e981366b1809f6ee32e39eaded02ad8be061b0e2fa5093515a8acec10c7f4aca232281004426221b4b7e5edbd203eb49c
diff --git a/dev-libs/cjose/cjose-0.6.2.2.ebuild b/dev-libs/cjose/cjose-0.6.2.2.ebuild
new file mode 100644
index 000000000000..f211079aa3ad
--- /dev/null
+++ b/dev-libs/cjose/cjose-0.6.2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library implementing the Javascript Object Signing and Encryption (JOSE)"
+HOMEPAGE="https://github.com/OpenIDC/cjose"
+
+SRC_URI="https://github.com/OpenIDC/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/jansson-2.11:=
+ >=dev-libs/openssl-1.0.2u:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( >=app-text/doxygen-1.8 )
+ test? ( >=dev-libs/check-0.9.4 )"
+
+src_prepare() {
+ default
+ eautoreconf --force --install
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/cjose/metadata.xml b/dev-libs/cjose/metadata.xml
new file mode 100644
index 000000000000..307a3af57a82
--- /dev/null
+++ b/dev-libs/cjose/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>infra@gentoo.org</email>
+ <name>Gentoo Infrastructure Team</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OpenIDC/cjose</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/clhpp/Manifest b/dev-libs/clhpp/Manifest
deleted file mode 100644
index 167ed1854c50..000000000000
--- a/dev-libs/clhpp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clhpp-2.0.19.tar.gz 106871 BLAKE2B e8c94f3e242d272a7eedbb13f7ead89cacaffdeca8b837fab29eb023e60efc7eb730b3966702474168071e7c884801fa24f0eedad95f6ea866f27dddb3af4a4e SHA512 f2d37eaee7a46b505844ddf45ae94f5f94241dea0b8f03f6bf4ba7524d7556c9ed19cc2f702cdd9becc469816ffa3d8371ae3561aebff5486cae9b623a10f58b
diff --git a/dev-libs/clhpp/clhpp-2.0.19.ebuild b/dev-libs/clhpp/clhpp-2.0.19.ebuild
deleted file mode 100644
index 419b89e9488e..000000000000
--- a/dev-libs/clhpp/clhpp-2.0.19.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby26 ruby27 ruby30"
-RUBY_OPTIONAL="yes"
-
-inherit cmake ruby-ng
-
-MY_PN="OpenCL-CLHPP"
-MY_PV="2022.09.30"
-MY_P="${MY_PN}-${MY_PV}"
-
-DESCRIPTION="Khronos OpenCL C++ bindings"
-HOMEPAGE="https://github.com/KhronosGroup/OpenCL-CLHPP/"
-SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Khronos-CLHPP"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-
-# Tests require CMock (NOT cmocka), which is currently unpackaged
-RESTRICT="test"
-
-RDEPEND="virtual/opencl"
-DEPEND="${RDEPEND}
- >=dev-util/opencl-headers-${MY_PV}"
-BDEPEND="test? ( $(ruby_implementations_depend) )"
-
-S="${WORKDIR}"/${MY_P}
-
-pkg_setup() {
- use test && ruby-ng_pkg_setup
-}
-
-src_unpack() {
- # suppress ruby-ng export
- default
-}
-
-src_prepare() {
- # suppress ruby-ng export
- cmake_src_prepare
-}
-
-src_compile() {
- # suppress ruby-ng export
- cmake_src_compile
-}
-
-src_install() {
- # suppress ruby-ng export
- cmake_src_install
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/clhpp/metadata.xml b/dev-libs/clhpp/metadata.xml
deleted file mode 100644
index 4fab41399c23..000000000000
--- a/dev-libs/clhpp/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <upstream>
- <remote-id type="github">KhronosGroup/OpenCL-CLHPP</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/clipper/Manifest b/dev-libs/clipper/Manifest
deleted file mode 100644
index 1a844b9607da..000000000000
--- a/dev-libs/clipper/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clipper-6.4.2.zip 2535706 BLAKE2B 755dcfd759888bda7114af784d9e684f36ce8f6e43dcadf07f5797e3723d392aab2ea9b80cb212b7eb3177bfb306ca20a797546cb2c382132887e62fa0dffd93 SHA512 ffc88818c44a38aa278d5010db6cfd505796f39664919f1e48c7fa9267563f62135868993e88f7246dcd688241d1172878e4a008a390648acb99738452e3e5dd
diff --git a/dev-libs/clipper/clipper-6.4.2.ebuild b/dev-libs/clipper/clipper-6.4.2.ebuild
deleted file mode 100644
index 37050fb9bc05..000000000000
--- a/dev-libs/clipper/clipper-6.4.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6..9} )
-
-inherit cmake
-
-MY_PV="ver${PV}"
-MY_P="${PN}_${MY_PV}"
-
-DESCRIPTION="Polygon and line clipping and offsetting library (C++, C#, Delphi)"
-HOMEPAGE="http://www.angusj.com/delphi/clipper.php"
-SRC_URI="mirror://sourceforge/project/polyclipping/${MY_P}.zip -> ${P}.zip"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-IUSE=""
-
-RDEPEND=""
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/cpp"
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- )
- cmake_src_configure
-}
diff --git a/dev-libs/clipper/metadata.xml b/dev-libs/clipper/metadata.xml
deleted file mode 100644
index e8c28d1b439f..000000000000
--- a/dev-libs/clipper/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <longdescription>
- The Clipper library performs line &amp; polygon clipping - intersection, union, difference &amp; exclusive-or,
- and line &amp; polygon offsetting. The library is based on Vatti's clipping algorithm.
- </longdescription>
- <upstream>
- <bugs-to>https://sourceforge.net/p/polyclipping/bugs/</bugs-to>
- <doc>http://www.angusj.com/delphi/clipper/documentation/Docs/Overview/_Body.htm</doc>
- <remote-id type="sourceforge">polyclipping</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/concurrencykit/Manifest b/dev-libs/concurrencykit/Manifest
index c4ba83f50e5e..f1b5cd703112 100644
--- a/dev-libs/concurrencykit/Manifest
+++ b/dev-libs/concurrencykit/Manifest
@@ -1 +1,2 @@
DIST concurrencykit-0.7.1.tar.gz 252802 BLAKE2B 907db3b244544a9c46db7432f2c3d07c20652882067157974ce54c71c27f21fdc87d41e068efc71f88392a94895e0de1a8f3ae90605b4267606cfa7d29c7dc35 SHA512 48768e7adf05b818f2951b246c90185071d6c3f874218349183d96b7887830f9505f9fa58576e9933862486e8543097df0ee667518009a3946d1edc19fc253f7
+DIST concurrencykit-0.7.2.tar.gz 257817 BLAKE2B e9b58c2e5fc7f39d03a3800117bc215f933cd5b542c293e07934597788e2d33e33cf6d02bbaa54d829b57e2dcaabcf79220398bef3a903a1d39c70bb5553ccb2 SHA512 c3a93a8bbdab2c81ccbfe8f38a17677b912bc157c231c960330cb130e93c35e3aab6b2fd1695d0ea28dbe3e12297851f1b96ef1ee21ca4e4c0065c91b83f51c3
diff --git a/dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild b/dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild
new file mode 100644
index 000000000000..aed9c0f482c0
--- /dev/null
+++ b/dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PN="ck"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="A library with concurrency related algorithms and data structures in C"
+HOMEPAGE="http://concurrencykit.org"
+SRC_URI="https://github.com/${PN}/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0 BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+# The 'libck.so' has a name collision.
+# See bug #616762 for more information.
+RDEPEND="!sys-cluster/charm"
+
+src_configure() {
+ # https://github.com/concurrencykit/ck/issues/200
+ append-cflags -fno-strict-aliasing
+
+ tc-export AR CC LD
+
+ local myeconfargs=(
+ "--disable-static"
+ )
+
+ GZIP="" econf ${myeconfargs[@]}
+}
diff --git a/dev-libs/confuse/confuse-3.3-r1.ebuild b/dev-libs/confuse/confuse-3.3-r1.ebuild
index cb45a91f7a41..9d7232703654 100644
--- a/dev-libs/confuse/confuse-3.3-r1.ebuild
+++ b/dev-libs/confuse/confuse-3.3-r1.ebuild
@@ -1,22 +1,22 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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/martinh/libconfuse"
-SRC_URI="https://github.com/martinh/libconfuse/releases/download/v${PV}/${P}.tar.xz"
+HOMEPAGE="https://github.com/libconfuse/libconfuse"
+SRC_URI="https://github.com/libconfuse/libconfuse/releases/download/v${PV}/${P}.tar.xz"
LICENSE="ISC"
SLOT="0/2.1.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="nls static-libs"
BDEPEND="
- sys-devel/flex
- sys-devel/libtool
+ app-alternatives/lex
+ dev-build/libtool
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
diff --git a/dev-libs/confuse/confuse-3.3-r2.ebuild b/dev-libs/confuse/confuse-3.3-r2.ebuild
new file mode 100644
index 000000000000..8d54f30350ec
--- /dev/null
+++ b/dev-libs/confuse/confuse-3.3-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit multilib-minimal flag-o-matic
+
+DESCRIPTION="a configuration file parser library"
+HOMEPAGE="https://github.com/libconfuse/libconfuse"
+SRC_URI="https://github.com/libconfuse/libconfuse/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="ISC"
+SLOT="0/2.1.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+IUSE="nls static-libs"
+
+BDEPEND="
+ app-alternatives/lex
+ dev-build/libtool
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+RDEPEND="
+ nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
+"
+
+PATCHES=(
+ # Upstream commit to fix CVE-2022-40320:
+ # https://github.com/libconfuse/libconfuse/commit/d73777c2c3566fb2647727bb56d9a2295b81669b
+ "${FILESDIR}"/confuse-3.3-fix-CVE-2022-40320.patch
+)
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ # https://github.com/libconfuse/libconfuse/pull/167
+ append-lfs-flags
+
+ # examples are normally compiled but not installed. They
+ # fail during a mingw crosscompile.
+ local ECONF_SOURCE=${BUILD_DIR}
+ econf \
+ --enable-shared \
+ --disable-examples \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ doman doc/man/man3/*.3
+ dodoc -r doc/html
+
+ docinto examples
+ dodoc examples/*.{c,conf}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/confuse/confuse-3.3.ebuild b/dev-libs/confuse/confuse-3.3.ebuild
index 672a6224ad12..9d524b6a484b 100644
--- a/dev-libs/confuse/confuse-3.3.ebuild
+++ b/dev-libs/confuse/confuse-3.3.ebuild
@@ -1,22 +1,22 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib-minimal
DESCRIPTION="a configuration file parser library"
-HOMEPAGE="https://github.com/martinh/libconfuse"
-SRC_URI="https://github.com/martinh/libconfuse/releases/download/v${PV}/${P}.tar.xz"
+HOMEPAGE="https://github.com/libconfuse/libconfuse"
+SRC_URI="https://github.com/libconfuse/libconfuse/releases/download/v${PV}/${P}.tar.xz"
LICENSE="ISC"
SLOT="0/2.1.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="nls static-libs"
BDEPEND="
- sys-devel/flex
- sys-devel/libtool
+ app-alternatives/lex
+ dev-build/libtool
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
diff --git a/dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch b/dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch
new file mode 100644
index 000000000000..478c8556fe59
--- /dev/null
+++ b/dev-libs/confuse/files/confuse-3.3-fix-CVE-2022-40320.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/901089
+https://github.com/libconfuse/libconfuse/commit/d73777c2c3566fb2647727bb56d9a2295b81669b
+
+(Rebased by Vaibhav Rustagi <vaibhavrustagi@google.com>)
+
+From d73777c2c3566fb2647727bb56d9a2295b81669b Mon Sep 17 00:00:00 2001
+From: Joachim Wiberg <troglobit@gmail.com>
+Date: Fri, 2 Sep 2022 16:12:46 +0200
+Subject: [PATCH] Fix #163: unterminated username used with getpwnam()
+
+Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
+--- a/src/confuse.c
++++ b/src/confuse.c
+@@ -1863,18 +1863,20 @@ DLLIMPORT char *cfg_tilde_expand(const char *filename)
+ passwd = getpwuid(geteuid());
+ file = filename + 1;
+ } else {
+- /* ~user or ~user/path */
+- char *user;
++ char *user; /* ~user or ~user/path */
++ size_t len;
+
+ file = strchr(filename, '/');
+ if (file == 0)
+ file = filename + strlen(filename);
+
+- user = malloc(file - filename);
++ len = file - filename - 1;
++ user = malloc(len + 1);
+ if (!user)
+ return NULL;
+
+- strncpy(user, filename + 1, file - filename - 1);
++ strncpy(user, &filename[1], len);
++ user[len] = 0;
+ passwd = getpwnam(user);
+ free(user);
+ }
+
diff --git a/dev-libs/confuse/metadata.xml b/dev-libs/confuse/metadata.xml
index 8fe15be864ee..10287e70c63f 100644
--- a/dev-libs/confuse/metadata.xml
+++ b/dev-libs/confuse/metadata.xml
@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="cpe">cpe:/a:libconfuse_project:libconfuse</remote-id>
- <remote-id type="github">martinh/libconfuse</remote-id>
+ <remote-id type="github">libconfuse/libconfuse</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/cowsql/Manifest b/dev-libs/cowsql/Manifest
new file mode 100644
index 000000000000..020ce511707f
--- /dev/null
+++ b/dev-libs/cowsql/Manifest
@@ -0,0 +1,2 @@
+DIST cowsql-1.15.4.tar.gz 364167 BLAKE2B c633aa4ad0e55954702995003a1651a220bd6bd1b2a14675d50a04596e7652a3453b63e4e32c8d74cf34c4fae6c1f33cb5054bd347d80dc34032d215ee25bd8c SHA512 06d28723eac1a75cffef6b8e0d8e17696ddc8520345d3b5e1fdada86aa5ee1bbd5a66198a36ee7f7776559392e84908980fd54321ff9c8eb2729dec5a6ac9dd7
+DIST cowsql-1.15.6.tar.gz 364548 BLAKE2B 67ccb0cc1481c4d542c2a145c76875b514f4920fe2d3647d1871afa67e6cb7a41c729946c89768b1c522ed22357fb0323d58885ca60141db154da54e3a5a5a0a SHA512 78436fc35ab22fed1aef1d1048e41fbd6ec75a7b8fc95f09bc7468cde0ea8d8851e4ef5ee738699810abf3054826ab7cfd21dc06964603acea240b0fc7943c4d
diff --git a/dev-libs/cowsql/cowsql-1.15.4.ebuild b/dev-libs/cowsql/cowsql-1.15.4.ebuild
new file mode 100644
index 000000000000..6c74e52fded0
--- /dev/null
+++ b/dev-libs/cowsql/cowsql-1.15.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)"
+HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql"
+SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-db/sqlite:3
+ dev-libs/libuv:=
+ >=dev-libs/raft-0.18.1:="
+DEPEND="${RDEPEND}
+ test? ( dev-libs/raft[lz4,test] )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-backtrace
+ --disable-debug
+ --disable-sanitize
+ --disable-static
+
+ # Will build a bundled libsqlite3.so.
+ --enable-build-sqlite=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/cowsql/cowsql-1.15.6.ebuild b/dev-libs/cowsql/cowsql-1.15.6.ebuild
new file mode 100644
index 000000000000..86b61a31e333
--- /dev/null
+++ b/dev-libs/cowsql/cowsql-1.15.6.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)"
+HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql"
+SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-db/sqlite:3
+ dev-libs/libuv:=
+ >=dev-libs/raft-0.18.1:="
+DEPEND="${RDEPEND}
+ test? ( dev-libs/raft[lz4,test] )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-backtrace
+ --disable-debug
+ --disable-sanitize
+ --disable-static
+
+ # Will build a bundled libsqlite3.so.
+ --enable-build-sqlite=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch b/dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch
new file mode 100644
index 000000000000..9c92324688d6
--- /dev/null
+++ b/dev-libs/cowsql/files/dqlite-1.12.0-disable-werror.patch
@@ -0,0 +1,20 @@
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2022-11-18 16:44:34.000000000 +0200
++++ b/configure.ac 2022-11-19 09:21:24.157589426 +0200
+@@ -3,7 +3,7 @@
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_AUX_DIR([ac])
+
+-AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror -Wno-portability foreign])
++AM_INIT_AUTOMAKE([subdir-objects -Wall -Wno-portability foreign])
+ AM_SILENT_RULES([yes])
+
+ AC_PROG_CC_STDC
+@@ -82,7 +82,6 @@
+ -Wdate-time \
+ -Wnested-externs \
+ -Wconversion \
+- -Werror \
+ ])
+ # To enable:
+ #
diff --git a/dev-libs/cowsql/metadata.xml b/dev-libs/cowsql/metadata.xml
new file mode 100644
index 000000000000..25c078695e9c
--- /dev/null
+++ b/dev-libs/cowsql/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <longdescription>
+ cowsql is a C library that implements an embeddable and replicated SQL
+ database engine with high-availability and automatic failover.
+
+ Cowsql is a fork from dqlite.
+ The acronym "dqlite" stands for "distributed SQLite", meaning that dqlite
+ extends SQLite with a network protocol that can connect together various
+ instances of your application and have them act as a highly-available
+ cluster, with no dependency on external databases.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">cowsql/cowsql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cppcodec/cppcodec-0.2.ebuild b/dev-libs/cppcodec/cppcodec-0.2.ebuild
index c378468fac29..3c62cdcdc8e4 100644
--- a/dev-libs/cppcodec/cppcodec-0.2.ebuild
+++ b/dev-libs/cppcodec/cppcodec-0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
-DEPEND="test? ( >=dev-cpp/catch-2.3.0:0 )"
+DEPEND="test? ( <dev-cpp/catch-3:0 )"
BDEPEND="test? ( virtual/pkgconfig )"
src_configure() {
diff --git a/dev-libs/cpuinfo/Manifest b/dev-libs/cpuinfo/Manifest
index b8493dd5dc07..a636f22f3081 100644
--- a/dev-libs/cpuinfo/Manifest
+++ b/dev-libs/cpuinfo/Manifest
@@ -1 +1,3 @@
DIST cpuinfo-2022.03.26.tar.gz 3503965 BLAKE2B 03607ea04de156907d230dc9f009d72bf6d36ae7391c190c68dbc3f9a4c395e8ec72f935f6ae032d6b1341432278df3aee6f9fe7f7cad1b82784ecec5084d373 SHA512 dbbe4f3e1d5ae74ffc8ba2cba0ab745a23f4993788f4947825ef5125dd1cbed3e13e0c98e020e6fcfa9879f54f06d7cba4de73ec29f77649b6a27b4ab82c8f1c
+DIST cpuinfo-2022.08.19.tar.gz 3512624 BLAKE2B 909ebde6c522d514641dcbe16586bc972327b8564cb12fa6db25b8978a0a840e627154430f97dd37f024ea4f36a45db8ca5033e6e076390383dd9b35307bed5f SHA512 b3342ce0a1f842084ff53efdfd15c44586ac7cd36249211e2925d84aa1f33ee8d6f76cd62ea20e91d8b908c3c8afda5a47516008b69749504024b9813a623ee2
+DIST cpuinfo-2023.01.13.tar.gz 3513605 BLAKE2B eee9765f30b1dca6f39fb0b1f387f5e1cfaf544e5c9b256391aea913c5b67a012ef45f5afecfcda4a34ab64ca8da2f20e37db58cb4d463f8e312a04965cd40df SHA512 96bd11d3453e98cf1130f0862614e813861e20111655f8c472f29f17048a07d712b4f84b511760fdee995cf3d695112371af0c21cbd144ee3fb6fb6153dd2829
diff --git a/dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild b/dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild
new file mode 100644
index 000000000000..fc964a2ae125
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2022.03.26-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=b40bae27785787b6dd70788986fd96434cf90ae2
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 depends on building with at least C++14 standard
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPUINFO_BUILD_BENCHMARKS=OFF
+ -DCPUINFO_BUILD_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cpuinfo/cpuinfo-2022.03.26.ebuild b/dev-libs/cpuinfo/cpuinfo-2022.03.26.ebuild
deleted file mode 100644
index 28a98cb4ef7f..000000000000
--- a/dev-libs/cpuinfo/cpuinfo-2022.03.26.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2022 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"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND="test? ( dev-cpp/gtest )"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}"/${PN}-${CommitId}
-
-PATCHES=(
- "${FILESDIR}"/${P}-gentoo.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/cpuinfo-2022.08.19.ebuild b/dev-libs/cpuinfo/cpuinfo-2022.08.19.ebuild
new file mode 100644
index 000000000000..07d77a29af2f
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2022.08.19.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=8ec7bd91ad0470e61cf38f618cc1f270dede599c
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.03.26-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 depends on building with at least C++14 standard
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPUINFO_BUILD_BENCHMARKS=OFF
+ -DCPUINFO_BUILD_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild b/dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild
new file mode 100644
index 000000000000..3b0ec9465234
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2023.01.13.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=6481e8bef08f606ddd627e4d3be89f64d62e1b8a
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.03.26-gentoo.patch
+ "${FILESDIR}"/${P}-test.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 depends on building with at least C++14 standard
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPUINFO_BUILD_BENCHMARKS=OFF
+ -DCPUINFO_BUILD_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cpuinfo/files/cpuinfo-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/crc32c/crc32c-1.1.2-r1.ebuild b/dev-libs/crc32c/crc32c-1.1.2-r1.ebuild
deleted file mode 100644
index dde949144a27..000000000000
--- a/dev-libs/crc32c/crc32c-1.1.2-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="CRC32C implementation with support for CPU-specific acceleration instructions"
-HOMEPAGE="https://github.com/google/crc32c"
-SRC_URI="https://github.com/google/crc32c/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv ~sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( dev-cpp/gtest )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.1-system-testdeps.patch"
-)
-
-DOCS=( README.md )
-
-src_prepare() {
- sed -e '/-Werror/d' \
- -e '/-march=armv8/d' \
- -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCRC32C_BUILD_TESTS=$(usex test)
- -DCRC32C_BUILD_BENCHMARKS=OFF
- -DCRC32C_USE_GLOG=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/crc32c/crc32c-1.1.2-r2.ebuild b/dev-libs/crc32c/crc32c-1.1.2-r2.ebuild
new file mode 100644
index 000000000000..e9ecec46cb83
--- /dev/null
+++ b/dev-libs/crc32c/crc32c-1.1.2-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="CRC32C implementation with support for CPU-specific acceleration instructions"
+HOMEPAGE="https://github.com/google/crc32c"
+SRC_URI="https://github.com/google/crc32c/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.1-system-testdeps.patch"
+)
+
+DOCS=( README.md )
+
+src_prepare() {
+ sed -e '/-Werror/d' \
+ -e '/-march=armv8/d' \
+ -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_CXX_STANDARD=14 # C++14 or later required for >=gtest-1.13.0
+ -DCRC32C_BUILD_TESTS=$(usex test)
+ -DCRC32C_BUILD_BENCHMARKS=OFF
+ -DCRC32C_USE_GLOG=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/crc32c/metadata.xml b/dev-libs/crc32c/metadata.xml
index 8b1443351bf8..c0c1de470854 100644
--- a/dev-libs/crc32c/metadata.xml
+++ b/dev-libs/crc32c/metadata.xml
@@ -5,4 +5,7 @@
<email>arthurzam@gentoo.org</email>
<name>Arthur Zamarin</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">google/crc32c</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/criterion/criterion-2.4.0.ebuild b/dev-libs/criterion/criterion-2.4.0.ebuild
index d150bad6f79d..b1bb4480889a 100644
--- a/dev-libs/criterion/criterion-2.4.0.ebuild
+++ b/dev-libs/criterion/criterion-2.4.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit meson python-any-r1
@@ -32,7 +32,7 @@ DEPEND="${RDEPEND}
test? (
$(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
)"
-BDEPEND="dev-util/cmake
+BDEPEND="dev-build/cmake
virtual/pkgconfig"
S="${WORKDIR}/Criterion-${PV}"
diff --git a/dev-libs/criterion/criterion-2.4.1.ebuild b/dev-libs/criterion/criterion-2.4.1.ebuild
index 981964ff1a85..02a9df728b50 100644
--- a/dev-libs/criterion/criterion-2.4.1.ebuild
+++ b/dev-libs/criterion/criterion-2.4.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
-inherit meson python-any-r1
+inherit flag-o-matic meson python-any-r1
DEBUGBREAK_COMMIT="6b79ec8d8f8d4603111f580a0537f8f31c484c32"
KLIB_COMMIT="cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502"
@@ -20,7 +20,7 @@ SRC_URI="https://github.com/Snaipe/Criterion/archive/refs/tags/v${PV}.tar.gz ->
LICENSE="BSD-2 MIT ZLIB"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -32,7 +32,7 @@ DEPEND="${RDEPEND}
test? (
$(python_gen_any_dep 'dev-util/cram[${PYTHON_USEDEP}]')
)"
-BDEPEND="dev-util/cmake
+BDEPEND="dev-build/cmake
virtual/pkgconfig"
S="${WORKDIR}/Criterion-${PV}"
@@ -55,6 +55,14 @@ src_prepare() {
}
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)
diff --git a/dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild b/dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild
index a5fb5914d365..580736e93e7d 100644
--- a/dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild
+++ b/dev-libs/crossguid/crossguid-0.2.2_p20190529.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${MY_COMMIT}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/crossguid/crossguid-0_pre20150817.ebuild b/dev-libs/crossguid/crossguid-0_pre20150817.ebuild
index 2cd75d42e9cf..9c61857673ce 100644
--- a/dev-libs/crossguid/crossguid-0_pre20150817.ebuild
+++ b/dev-libs/crossguid/crossguid-0_pre20150817.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-libs/crypto++/Manifest b/dev-libs/crypto++/Manifest
index a96d06c31610..efe260be1d24 100644
--- a/dev-libs/crypto++/Manifest
+++ b/dev-libs/crypto++/Manifest
@@ -1,2 +1,2 @@
-DIST cryptopp860.zip 9274149 BLAKE2B c93998e2deb93abf12b801877404f0f82547bfbbbc5aae727e68daffc2407877dda76d7bcd06239d40a48baf21b6f2e29f74e9a97ecbc1b5d4b5bcc50ada71da SHA512 e7773f5e4a7dc7e8e735b1702524bee56ba38e5211544c9c9778bc51ed8dc7b376c17f2e406410043b636312336f26f76dc963f298872f8c13933e88c232fc03
-DIST cryptopp860.zip.sig 659 BLAKE2B 591a535092c61964c0fbb1ba31e44e70fc5f15757b9b56476ff64de0c28d47a13fe99d7f5819cfeb52e514ade1454622451b267bcc751868defcb080ddf79e8c SHA512 6231816b1ccec75cbcdd09daa8895830c5f4c595a4a0aa24dacc3e377832d8db5efa1aeadf815e53db32fc5263b09dd1b249668f34da4bfad5d5cba6f031ce21
+DIST cryptopp890.zip 9288053 BLAKE2B 95fe0585cff826587a301dd3df863c39cba889d407bb70ae7b35a4f9a0f7f5fef83b1c65cb95923a05f8ae91f18ed20e88738e8bb081a3f9c8c49c2d67d44ecc SHA512 903970c4c0312272e93bae0cc3477be66b273dd38c9329fda9f7157ec44e247a3bc16b9d2b4ad625f258af0eaf2dc2c4210d4d14829b455f180983859a5c4b41
+DIST cryptopp890.zip.sig 659 BLAKE2B 741ec10a01a444573fbcf749258e26461ff131935fede8f47b3f2dd8c51f3b43a9af894e0e31f9ad925baf451bdd747b7e22cc8b178992e4190bba503f9bf648 SHA512 4891cf446a47000453884f36f4f8db2da254e11b573c02690fd5e1de604f01498a479847a732abaf0f75b1cdf3cd5bc104f6be240d0de6c7184a3651c674ac95
diff --git a/dev-libs/crypto++/crypto++-8.6.0.ebuild b/dev-libs/crypto++/crypto++-8.6.0.ebuild
deleted file mode 100644
index 0b77d971f0e7..000000000000
--- a/dev-libs/crypto++/crypto++-8.6.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/crypto++.asc
-inherit toolchain-funcs verify-sig
-
-DESCRIPTION="C++ class library of cryptographic schemes"
-HOMEPAGE="https://cryptopp.com"
-SRC_URI="https://www.cryptopp.com/cryptopp${PV//.}.zip"
-SRC_URI+=" verify-sig? ( https://cryptopp.com/cryptopp${PV//.}.zip.sig )"
-S="${WORKDIR}"
-
-LICENSE="Boost-1.0"
-# 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 ppc ppc64 ~riscv sparc x86 ~x64-macos"
-IUSE="+asm static-libs"
-
-BDEPEND="
- app-arch/unzip
- verify-sig? ( sec-keys/openpgp-keys-crypto++ )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-8.2.0-musl-ldconfig.patch"
-)
-
-config_uncomment() {
- sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die
-}
-
-src_prepare() {
- default
-
- use asm || config_uncomment CRYPTOPP_DISABLE_ASM
-
- # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
- [[ ${CHOST} == *-darwin* ]] && config_uncomment CRYPTOPP_DISABLE_ASM
-}
-
-src_configure() {
- export CXX="$(tc-getCXX)"
- export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export PREFIX="${EPREFIX}/usr"
- tc-export AR RANLIB
- default
-}
-
-src_compile() {
- emake -f GNUmakefile all shared libcryptopp.pc
-}
-
-src_install() {
- default
-
- use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
-}
diff --git a/dev-libs/crypto++/crypto++-8.9.0.ebuild b/dev-libs/crypto++/crypto++-8.9.0.ebuild
new file mode 100644
index 000000000000..f8876e39738b
--- /dev/null
+++ b/dev-libs/crypto++/crypto++-8.9.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/crypto++.asc
+inherit flag-o-matic toolchain-funcs verify-sig
+
+DESCRIPTION="C++ class library of cryptographic schemes"
+HOMEPAGE="https://cryptopp.com"
+SRC_URI="
+ https://www.cryptopp.com/cryptopp${PV//.}.zip
+ verify-sig? ( https://cryptopp.com/cryptopp${PV//.}.zip.sig )
+"
+
+S="${WORKDIR}"
+
+LICENSE="Boost-1.0"
+# ABI notes:
+# - Bumped to 8.5 in 8.5.0 out of caution
+# subslot is so version (was broken in 8.3.0, check on bumps!)
+# Seems to be broken in 8.6 again too
+#
+# - See https://cryptopp.com/#news, but releases usually say
+# "recompile of programs required". Even if it doesn't,
+# verify with abidiff!
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
+IUSE="+asm static-libs"
+
+BDEPEND="
+ app-arch/unzip
+ verify-sig? ( sec-keys/openpgp-keys-crypto++ )
+"
+
+config_uncomment() {
+ sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die
+}
+
+src_prepare() {
+ default
+
+ use asm || config_uncomment CRYPTOPP_DISABLE_ASM
+
+ # ASM isn't Darwin/Mach-O ready, #479554, buildsys doesn't grok CPPFLAGS
+ [[ ${CHOST} == *-darwin* ]] && config_uncomment CRYPTOPP_DISABLE_ASM
+}
+
+src_configure() {
+ export CXX="$(tc-getCXX)"
+ export LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ tc-export AR RANLIB
+
+ # Long history of correctness bugs:
+ # https://github.com/weidai11/cryptopp/issues/1134
+ # https://github.com/weidai11/cryptopp/issues/1141
+ # https://github.com/weidai11/cryptopp/pull/1147
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ default
+}
+
+src_compile() {
+ emake -f GNUmakefile LDCONF=true all shared libcryptopp.pc
+}
+
+src_install() {
+ emake DESTDIR="${D}" LDCONF=true install
+
+ use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.a
+}
diff --git a/dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch b/dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch
deleted file mode 100644
index 2ae8d287e12e..000000000000
--- a/dev-libs/crypto++/files/crypto++-8.2.0-musl-ldconfig.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://github.com/void-ppc/void-packages/blob/master/srcpkgs/crypto++/patches/musl-soname-links.patch
-https://bugs.gentoo.org/762997
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -1256,7 +1256,7 @@
- $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
- ifeq ($(HAS_SOLIB_VERSION),1)
- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
-- $(LDCONF) $(DESTDIR)$(LIBDIR)
-+ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
- endif
- endif
- ifneq ($(wildcard libcryptopp.pc),)
---- a/GNUmakefile-cross
-+++ b/GNUmakefile-cross
-@@ -732,7 +732,7 @@
- $(CHMOD) 0755 $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
- ifeq ($(HAS_SOLIB_VERSION),1)
- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
-- $(LDCONF) $(DESTDIR)$(LIBDIR)
-+ -$(LN) -sf libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
- endif
- endif
- ifneq ($(wildcard libcryptopp.pc),)
diff --git a/dev-libs/crypto++/metadata.xml b/dev-libs/crypto++/metadata.xml
index 0d69ce7acf1c..350684939bd1 100644
--- a/dev-libs/crypto++/metadata.xml
+++ b/dev-libs/crypto++/metadata.xml
@@ -5,9 +5,6 @@
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
- <use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
- </use>
<upstream>
<remote-id type="github">weidai11/cryptopp</remote-id>
</upstream>
diff --git a/dev-libs/cudnn-frontend/Manifest b/dev-libs/cudnn-frontend/Manifest
index 906b7c24a518..efcf66a60000 100644
--- a/dev-libs/cudnn-frontend/Manifest
+++ b/dev-libs/cudnn-frontend/Manifest
@@ -1 +1,3 @@
DIST cudnn-frontend-0.6.2.tar.gz 18658544 BLAKE2B b60e94a58cd414fee1da2b7da8ea83122dedfb59d5db8b987f7d3d42b00d2634c85dabf45fc81e607a6a4f8c2485690294a724ab744ad4025003ab3fd9a69028 SHA512 d0de74ca90771a38d609fc4784372f35c418dfade4b54f1035ee333567560c7c1dd559490e9a6efdf1043cb91ca27d159f31297238ec9d3578532d77ca505e17
+DIST cudnn-frontend-0.7.3.tar.gz 18685637 BLAKE2B 77ce32fb84cca43a431c6ad0d7be96f56975369e5f7c2f22e011c895200b92966f0cb48d6f7b01a66d8b89837ed4b955d8bd93a3bcf07ad0b29a247b3d73f6a4 SHA512 bd2fe79404f60975ca40792d373d6a388aad900ac98e42fd4258f4405a0b189641e400b1bd634b38b3376ee1b91a82cf76b152038992cdf83f629e76b3f69f93
+DIST cudnn-frontend-0.9.2.tar.gz 18582081 BLAKE2B d8611231f73f3716bca8c2d851439355121ca2460dd46cf8149632fa53094b7b2a2e9d6840dfcd2c1da113f8b6f06c15559c90c6c5333b36d5c29bd9997733e1 SHA512 0cc326e8395183ab3bc2d90a2155a80318daa9c1d6b30522efc42716bd7000ba036d802a8080a1a6a1f3c017a514f2bed936df57a7cab92c8fcd0136f4312912
diff --git a/dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild
new file mode 100644
index 000000000000..0ad71cab6763
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-0.7.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A c++ wrapper for the cudnn backend API"
+HOMEPAGE="https://github.com/NVIDIA/cudnn-frontend"
+SRC_URI="https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/8"
+KEYWORDS="~amd64"
+
+RDEPEND="=dev-libs/cudnn-8*"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include
+}
diff --git a/dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild
new file mode 100644
index 000000000000..0ad71cab6763
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-0.9.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A c++ wrapper for the cudnn backend API"
+HOMEPAGE="https://github.com/NVIDIA/cudnn-frontend"
+SRC_URI="https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/8"
+KEYWORDS="~amd64"
+
+RDEPEND="=dev-libs/cudnn-8*"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include
+}
diff --git a/dev-libs/cudnn-frontend/metadata.xml b/dev-libs/cudnn-frontend/metadata.xml
index 3f54ce321e06..3cce6a37e444 100644
--- a/dev-libs/cudnn-frontend/metadata.xml
+++ b/dev-libs/cudnn-frontend/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>telans@posteo.de</email>
- <name>James Beddek</name>
- </maintainer>
- <maintainer type="person" proxied="proxy">
- <email>tupone@gentoo.org</email>
- <name>Tupone Alfredo</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">NVIDIA/cudnn-frontend</remote-id>
</upstream>
diff --git a/dev-libs/cudnn/Manifest b/dev-libs/cudnn/Manifest
index e40698740823..9c34802ba57a 100644
--- a/dev-libs/cudnn/Manifest
+++ b/dev-libs/cudnn/Manifest
@@ -1 +1,2 @@
DIST cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz 864470696 BLAKE2B e842f5861653f2bc8509cc654e5c40436556786610fbc4ab40781cd8246d5bc94e3e3fae0b0933c947941dc0b6eacbd44d6a54702566e5aefcff56df3f884149 SHA512 15d86b8884bf7b48b4aa1022ea26f0965dd50a9911ca1e6fb89e5266181e662547ba077b2e2e9f19bd135aef9d21fb0a3348b97c7fac9059bb241657046d6d60
+DIST cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz 871089052 BLAKE2B 48f4142d7fea4192e4a910807fa7344c75372aa0d4a68e020416de960eb4b344262551e374b26cdd323751c3c75a000c63a326ece6f801a6ddfbfe06fe51ee6c SHA512 ffdbc1ca4fb03c6906b6896763790ca288aba098e50ed2fbf33a2b994a09386bc6fb5ec9a3a49a82be494331f43c85e22fa406575c4fddb30246f32ee85660e7
diff --git a/dev-libs/cudnn/cudnn-8.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/cutlass/Manifest b/dev-libs/cutlass/Manifest
new file mode 100644
index 000000000000..103690cedbf2
--- /dev/null
+++ b/dev-libs/cutlass/Manifest
@@ -0,0 +1 @@
+DIST cutlass-3.3.0.tar.gz 20850597 BLAKE2B 07dc1f503395cfed1efb51871baa4ca7890fc4c871cb146933590c51599b4114fd38099bfcd84d8b0b76b876cc6e9f3bb8f42a3f9a7c9321185f7d880609a5da SHA512 c950ab718e67ffc972911b81890eae767a27d32dfc13f72b91e21e7c6b98eadfb3a5eebb9683091e61aed61709481451cfcd95d660e723686bf79a155e9f0b17
diff --git a/dev-libs/cutlass/cutlass-3.3.0.ebuild b/dev-libs/cutlass/cutlass-3.3.0.ebuild
new file mode 100644
index 000000000000..7ba922d88c71
--- /dev/null
+++ b/dev-libs/cutlass/cutlass-3.3.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cuda cmake
+
+DESCRIPTION="CUDA Templates for Linear Algebra Subroutines"
+HOMEPAGE="https://github.com/NVIDIA/cutlass"
+SRC_URI="https://github.com/NVIDIA/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="dev-util/nvidia-cuda-toolkit"
+
+src_prepare() {
+ cmake_src_prepare
+ cuda_src_prepare
+}
+
+src_configure() {
+ mycmakeargs+=(
+ -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
+ -DCUTLASS_ENABLE_HEADERS_ONLY=yes
+ -DCUTLASS_ENABLE_TESTS=no
+ )
+ cuda_add_sandbox -w
+ addpredict /dev/char
+ addpredict /proc/self/task
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ rm -r "${ED}"/usr/test || die
+}
diff --git a/dev-libs/cutlass/metadata.xml b/dev-libs/cutlass/metadata.xml
new file mode 100644
index 000000000000..f7a207fddd52
--- /dev/null
+++ b/dev-libs/cutlass/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">NVIDIA/cutlass</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cxxopts/Manifest b/dev-libs/cxxopts/Manifest
index 25fc46c0bb8d..7c4f5f353d16 100644
--- a/dev-libs/cxxopts/Manifest
+++ b/dev-libs/cxxopts/Manifest
@@ -1 +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..1336e0c4e58c
--- /dev/null
+++ b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Lightweight C++ command line option parser"
+HOMEPAGE="https://github.com/jarro2783/cxxopts"
+SRC_URI="https://github.com/jarro2783/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="icu test"
+
+RESTRICT="!test? ( test )"
+
+DOCS=(
+ README.md
+ CHANGELOG.md
+)
+
+src_prepare() {
+ sed -r -e 's:-Werror[[:space:]]*::' -i cmake/cxxopts.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCXXOPTS_BUILD_EXAMPLES:BOOL=OFF
+ -DCXXOPTS_BUILD_TESTS:BOOL=$(usex test)
+ -DCXXOPTS_ENABLE_INSTALL:BOOL=ON
+ -DCXXOPTS_USE_UNICODE_HELP:BOOL=$(usex icu)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cxxopts/cxxopts-3.0.0.ebuild b/dev-libs/cxxopts/cxxopts-3.0.0.ebuild
deleted file mode 100644
index 8aa251736b37..000000000000
--- a/dev-libs/cxxopts/cxxopts-3.0.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Lightweight C++ command line option parser"
-HOMEPAGE="https://github.com/jarro2783/cxxopts"
-SRC_URI="https://github.com/jarro2783/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="icu test"
-
-RESTRICT="!test? ( test )"
-
-DOCS=(
- README.md
- CHANGELOG.md
-)
-
-src_prepare() {
- sed -r -e 's:-Werror[[:space:]]*::' -i cmake/cxxopts.cmake || die
- cmake_src_prepare
-}
-
-src_configure() {
- local -a mycmakeopts=(
- -DCXXOPTS_BUILD_EXAMPLES:BOOL=OFF
- -DCXXOPTS_BUILD_TESTS:BOOL=$(usex test)
- -DCXXOPTS_ENABLE_INSTALL:BOOL=ON
- -DCXXOPTS_USE_UNICODE_HELP:BOOL=$(usex icu)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
new file mode 100644
index 000000000000..5d006453ceae
--- /dev/null
+++ b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Lightweight C++ command line option parser"
+HOMEPAGE="https://github.com/jarro2783/cxxopts"
+SRC_URI="https://github.com/jarro2783/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="icu test"
+
+RESTRICT="
+ !test? ( test )
+"
+
+DOCS=(
+ README.md
+ CHANGELOG.md
+)
+
+src_prepare() {
+ sed -r -e 's:-Werror[[:space:]]*::' -i cmake/cxxopts.cmake || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCXXOPTS_BUILD_EXAMPLES:BOOL=OFF
+ -DCXXOPTS_BUILD_TESTS:BOOL=$(usex test)
+ -DCXXOPTS_ENABLE_INSTALL:BOOL=ON
+ -DCXXOPTS_USE_UNICODE_HELP:BOOL=$(usex icu)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cxxopts/metadata.xml b/dev-libs/cxxopts/metadata.xml
index bd6443d4a375..25f5685fac2b 100644
--- a/dev-libs/cxxopts/metadata.xml
+++ b/dev-libs/cxxopts/metadata.xml
@@ -5,4 +5,7 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">jarro2783/cxxopts</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild b/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
index 10143b5f51ad..bdbcfe76412b 100644
--- a/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
+++ b/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,9 @@ SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~sparc ~x86"
+KEYWORDS="amd64 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
RDEPEND="virtual/libiconv"
DEPEND="${RDEPEND}"
@@ -33,7 +35,16 @@ src_prepare() {
src_configure() {
econf \
--disable-demos \
- --disable-unittest
+ $(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() {
diff --git a/dev-libs/cyberjack/Manifest b/dev-libs/cyberjack/Manifest
index 2a3ac2631eca..bd3b2297ca4b 100644
--- a/dev-libs/cyberjack/Manifest
+++ b/dev-libs/cyberjack/Manifest
@@ -1 +1 @@
-DIST pcsc-cyberjack_3.99.5final.SP15.tar.bz2 1681827 BLAKE2B e6b8325e4822f24e31b7986d5a7bc0ee2c99bd29568c19ac1fe8d308f561b0bcecfcc3e0ac2633b13986b2422bb014d28c7953e622021476ac3188de4dd0ed15 SHA512 d1a5454aea96866581f48a240b96013bd0c313965a8ef7a384ac41a929f3e805ad13590c383dab7638134c730e6f26e6cd1492d533f4910aad7c515016452258
+DIST pcsc-cyberjack-3.99.5final.SP16.tar.bz2 1787299 BLAKE2B 79345a5c51be99eedb9154737e5d8014c2f6034031ca8acfb419d9fe4ecfda1739a84f1b56e275ee0aabf500b87a789255980ef05f4441f10250c6adceebe86a SHA512 ece83377b935b6f4de065c10b340aea91d69c54ff38f73e058f5e31fd75afe1e2d3fe9be2e1423a5e3a0da17d9afa5db7684e85805af34e751d07188f894b2d7
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild
deleted file mode 100644
index cb0b39612d81..000000000000
--- a/dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PN="pcsc-${PN}"
-MY_PV="${PV/_p/final.SP}"
-MY_P="${MY_PN}_${MY_PV}"
-
-inherit autotools toolchain-funcs udev
-
-DESCRIPTION="REINER SCT cyberJack USB chipcard reader user space driver"
-HOMEPAGE="https://www.reiner-sct.de/"
-SRC_URI="https://support.reiner-sct.de/downloads/LINUX/V${PV/_p/_SP}/${MY_P}.tar.bz2"
-S="${WORKDIR}/${MY_P/_/-}"
-
-KEYWORDS="amd64 x86"
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs threads tools +udev xml"
-
-RDEPEND="
- sys-apps/pcsc-lite
- virtual/libusb:1=
- udev? ( virtual/udev )
- xml? ( dev-libs/libxml2:2= )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="virtual/pkgconfig"
-
-PATCHES="${FILESDIR}/${PN}-3.99.5_p14-gcc10.patch"
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-debug
- --disable-error-on-warning
- --disable-hal
- --disable-mac-universal
- --disable-mac-arches-i386
- --disable-mac-arches-x86_64
- --disable-visibility
- --enable-nonserial
- --enable-pcsc
- --enable-release
- --enable-warnings
- --sysconfdir="/etc/cyberjack"
- $(use_enable static-libs static)
- $(use_enable threads)
- $(use_enable udev)
- $(use_enable xml xml2)
- --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- default
-
- if use tools; then
- # cjBingo can't be compiled, as it's defines stuff, which got dropped
- cd "${S}"/tools/cjflash && emake
- cd "${S}"/tools/cjgeldkarte && emake
- fi
-}
-
-src_install() {
- default
-
- use tools && dobin tools/cjflash/cjflash tools/cjgeldkarte/cjgeldkarte
- use udev && udev_newrules "${FILESDIR}"/libifd-cyberjack6.udev-r1 99-cyberjack.rules
-
- dodoc debian/changelog doc/{LIESMICH,README}.{pdf,txt,xml}
-
- docinto html
- dodoc doc/{LIESMICH,README}.html
-
- docinto source
- dodoc doc/*.c*
-
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild b/dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild
new file mode 100644
index 000000000000..a6b469318959
--- /dev/null
+++ b/dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="pcsc-${PN}"
+MY_PV="${PV/_p/final.SP}"
+MY_P="${MY_PN}-${MY_PV}"
+
+inherit autotools toolchain-funcs udev
+
+DESCRIPTION="REINER SCT cyberJack USB chipcard reader user space driver"
+HOMEPAGE="https://www.reiner-sct.de/"
+SRC_URI="https://support.reiner-sct.de/downloads/LINUX/V${PV/_p/_SP}/${MY_P}.tar.bz2"
+S="${WORKDIR}/${MY_P/_/-}"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="threads tools +udev xml"
+
+RDEPEND="
+ sys-apps/pcsc-lite
+ virtual/libusb:1=
+ udev? ( virtual/udev )
+ xml? ( dev-libs/libxml2:2= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.99.5_p14-gcc10.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-debug
+ --disable-error-on-warning
+ --disable-hal
+ --disable-mac-universal
+ --disable-mac-arches-i386
+ --disable-mac-arches-x86_64
+ --disable-visibility
+ --enable-nonserial
+ --enable-pcsc
+ --enable-release
+ --enable-warnings
+ --sysconfdir="${EPREFIX}"/etc/cyberjack
+ $(use_enable threads)
+ $(use_enable udev)
+ $(use_enable xml xml2)
+ --with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ if use tools; then
+ # cjBingo can't be compiled, as it's defines stuff, which got dropped
+ emake -C tools/cjflash
+ emake -C tools/cjgeldkarte
+ fi
+}
+
+src_install() {
+ default
+
+ use tools && dobin tools/cjflash/cjflash tools/cjgeldkarte/cjgeldkarte
+ use udev && udev_newrules "${FILESDIR}"/libifd-cyberjack6.udev-r1 99-cyberjack.rules
+
+ dodoc debian/changelog doc/{LIESMICH,README}.{pdf,txt,xml}
+
+ docinto html
+ dodoc doc/{LIESMICH,README}.html
+
+ docinto source
+ dodoc doc/*.c*
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/dev-libs/cyrus-sasl/Manifest b/dev-libs/cyrus-sasl/Manifest
index bfa6547d559e..e6f246ba2943 100644
--- a/dev-libs/cyrus-sasl/Manifest
+++ b/dev-libs/cyrus-sasl/Manifest
@@ -1,3 +1,2 @@
-DIST cyrus-sasl-2.1.27-r6-patches.tar.bz2 5169 BLAKE2B 43a2f0db4a8589ec1cde7807b31a93459eacb04d27ba36751a69dd5f4e669d1b28342194b0e1a5382e281a52a35e88168877b54065cfba01b9bd33e87fbd23f1 SHA512 41c4ca7c8f7b79e03faf5d826a6ff0ed398137239b93fb0046ccbf385f6ddeab2b9fb2f51d7a263dc74626e5fdbefb28615a1ee22aabe57ed57f10a52d382797
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.28-r2.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r2.ebuild
deleted file mode 100644
index c5eec79523fc..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r2.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools edos2unix flag-o-matic multilib multilib-minimal pam db-use systemd toolchain-funcs tmpfiles
-
-SASLAUTHD_CONF_VER="2.1.26"
-MY_PATCH_VER="${PN}-2.1.27-r6-patches"
-DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
-HOMEPAGE="https://www.cyrusimap.org/sasl/"
-#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
-SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH_VER}.tar.bz2"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
-REQUIRED_USE="ldapdb? ( openldap )"
-
-DEPEND="net-mail/mailbase
- virtual/libcrypt:=
- authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
- berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
- gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
- kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
- openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
- mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
- pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-PATCHES=(
- "${WORKDIR}"/${MY_PATCH_VER}/cyrus-sasl-2.1.25-auxprop.patch
- "${WORKDIR}"/${MY_PATCH_VER}/cyrus-sasl-2.1.27-avoid_pic_overwrite.patch
- "${WORKDIR}"/${MY_PATCH_VER}/cyrus-sasl-2.1.27-gss_c_nt_hostbased_service.patch
- "${FILESDIR}"/cyrus-sasl-2.1.28-fix-configure-time-check.patch
-)
-
-src_prepare() {
- default
-
- # Use plugindir for sasldir
- # https://github.com/cyrusimap/cyrus-sasl/issues/339 (I think)
- sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
- "${S}"/plugins/Makefile.{am,in} || die "sed failed"
-
- # bug #486740 and bug #468556 (dropped AM_CONFIG_HEADER sed in 2.1.28)
- sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- append-flags -fno-strict-aliasing
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # getpassphrase is defined in /usr/include/stdlib.h
- append-cppflags -DHAVE_GETPASSPHRASE
- else
- # this horrendously breaks things on Solaris
- append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
- # replaces BSD_SOURCE (bug #579218)
- append-cppflags -D_DEFAULT_SOURCE
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-login
- --enable-ntlm
- --enable-auth-sasldb
- --disable-cmulocal
- --disable-krb4
- --disable-macos-framework
- --enable-otp
- --without-sqlite
- --with-saslauthd="${EPREFIX}"/run/saslauthd
- --with-pwcheck="${EPREFIX}"/run/saslauthd
- --with-configdir="${EPREFIX}"/etc/sasl2
- --with-plugindir="${EPREFIX}/usr/$(get_libdir)/sasl2"
- --with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
- --with-sphinx-build=no
- $(use_with ssl openssl)
- $(use_with pam)
- $(use_with openldap ldap)
- $(use_enable ldapdb)
- $(multilib_native_use_enable sample)
- $(use_enable kerberos gssapi)
- $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
- $(multilib_native_use_with postgres pgsql "${EPREFIX}/usr/$(get_libdir)/postgresql")
- $(use_with sqlite sqlite3 "${EPREFIX}/usr/$(get_libdir)")
- $(use_enable srp)
- $(use_enable static-libs static)
-
- # Add authdaemond support (bug #56523).
- $(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
-
- # Fix for bug #59634.
- $(usex ssl '' --without-des)
-
- # Use /dev/urandom instead of /dev/random (bug #46038).
- $(usex urandom --with-devrandom=/dev/urandom '')
- )
-
- if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
- myeconfargs+=( --enable-sql )
- else
- myeconfargs+=( --disable-sql )
- fi
-
- # Default to GDBM if both 'gdbm' and 'berkdb' are present.
- if use gdbm ; then
- einfo "Building with GNU DB as database backend for your SASLdb"
- myeconfargs+=( --with-dblib=gdbm )
- elif use berkdb ; then
- einfo "Building with BerkeleyDB as database backend for your SASLdb"
- myeconfargs+=(
- --with-dblib=berkeley
- --with-bdb-incdir="$(db_includedir)"
- )
- else
- einfo "Building without SASLdb support"
- myeconfargs+=( --with-dblib=none )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi; then
- if use sample ; then
- docinto sample
- dodoc "${S}"/sample/*.c
- exeinto /usr/share/doc/${P}/sample
- doexe sample/client sample/server
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- doman man/*
-
- keepdir /etc/sasl2
-
- # Reset docinto to default value (bug #674296)
- docinto
- dodoc AUTHORS ChangeLog doc/legacy/TODO
- newdoc pwcheck/README README.pwcheck
-
- newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
- edos2unix "${ED}"/usr/share/doc/${PF}/release-notes
-
- docinto html
- dodoc doc/html/*.html
-
- if use pam; then
- newpamd "${FILESDIR}"/saslauthd.pam-include saslauthd
- fi
-
- newinitd "${FILESDIR}"/pwcheck.rc6 pwcheck
- systemd_dounit "${FILESDIR}"/pwcheck.service
-
- newinitd "${FILESDIR}"/saslauthd2.rc7 saslauthd
- newconfd "${FILESDIR}"/saslauthd-${SASLAUTHD_CONF_VER}.conf saslauthd
- systemd_dounit "${FILESDIR}"/saslauthd.service
- dotmpfiles "${FILESDIR}"/${PN}.conf
-
- # The get_modname bit is important: do not remove the .la files on
- # platforms where the lib isn't called .so for cyrus searches the .la to
- # figure out what the name is supposed to be instead
- if ! use static-libs && [[ $(get_modname) == .so ]] ; then
- find "${ED}" -name "*.la" -delete || die
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process ${PN}.conf
-
- # Generate an empty sasldb2 with correct permissions.
- if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
- einfo "Generating an empty sasldb2 with correct permissions ..."
-
- echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
- || die "Failed to generate sasldb2"
-
- "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
- || die "Failed to delete temp user"
-
- chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
- chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
- fi
-
- if use authdaemond ; then
- elog "You need to add a user running a service using Courier's"
- elog "authdaemon to the 'mail' group. For example, do:"
- elog " gpasswd -a postfix mail"
- elog "to add the 'postfix' user to the 'mail' group."
- fi
-
- elog "pwcheck and saslauthd home directories have moved to:"
- elog " /run/saslauthd, using tmpfiles.d"
-}
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r3.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r3.ebuild
deleted file mode 100644
index 9bf5fc8ef2b0..000000000000
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r3.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools edos2unix flag-o-matic multilib multilib-minimal pam db-use systemd toolchain-funcs tmpfiles
-
-SASLAUTHD_CONF_VER="2.1.26"
-MY_PATCH_VER="${PN}-2.1.28-r3-patches"
-DESCRIPTION="The Cyrus SASL (Simple Authentication and Security Layer)"
-HOMEPAGE="https://www.cyrusimap.org/sasl/"
-#SRC_URI="ftp://ftp.cyrusimap.org/cyrus-sasl/${P}.tar.gz"
-SRC_URI="https://github.com/cyrusimap/${PN}/releases/download/${P}/${P}.tar.gz"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH_VER}.tar.xz"
-
-LICENSE="BSD-with-attribution"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="authdaemond berkdb gdbm kerberos ldapdb openldap mysql pam postgres sample selinux sqlite srp ssl static-libs urandom"
-REQUIRED_USE="ldapdb? ( openldap )"
-
-DEPEND="net-mail/mailbase
- virtual/libcrypt:=
- authdaemond? ( || ( net-mail/courier-imap mail-mta/courier ) )
- berkdb? ( >=sys-libs/db-4.8.30-r1:=[${MULTILIB_USEDEP}] )
- gdbm? ( >=sys-libs/gdbm-1.10-r1:=[${MULTILIB_USEDEP}] )
- kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
- openldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
- mysql? ( dev-db/mysql-connector-c:0=[${MULTILIB_USEDEP}] )
- pam? ( >=sys-libs/pam-0-r1[${MULTILIB_USEDEP}] )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( >=dev-db/sqlite-3.8.2:3[${MULTILIB_USEDEP}] )
- ssl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )"
-RDEPEND="${DEPEND}
- selinux? ( sec-policy/selinux-sasl )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/sasl/md5global.h
-)
-
-PATCHES=(
- "${WORKDIR}"/${MY_PATCH_VER}/
-)
-
-src_prepare() {
- default
-
- # Use plugindir for sasldir
- # https://github.com/cyrusimap/cyrus-sasl/issues/339 (I think)
- sed -i '/^sasldir =/s:=.*:= $(plugindir):' \
- "${S}"/plugins/Makefile.{am,in} || die "sed failed"
-
- # bug #486740 and bug #468556 (dropped AM_CONFIG_HEADER sed in 2.1.28)
- sed -i -e 's:AC_CONFIG_MACRO_DIR:AC_CONFIG_MACRO_DIRS:g' configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- append-flags -fno-strict-aliasing
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # getpassphrase is defined in /usr/include/stdlib.h
- append-cppflags -DHAVE_GETPASSPHRASE
- else
- # this horrendously breaks things on Solaris
- append-cppflags -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_BSD_SOURCE -DLDAP_DEPRECATED
- # replaces BSD_SOURCE (bug #579218)
- append-cppflags -D_DEFAULT_SOURCE
- fi
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --enable-login
- --enable-ntlm
- --enable-auth-sasldb
- --disable-cmulocal
- --disable-krb4
- --disable-macos-framework
- --enable-otp
- --without-sqlite
- --with-saslauthd="${EPREFIX}"/run/saslauthd
- --with-pwcheck="${EPREFIX}"/run/saslauthd
- --with-configdir="${EPREFIX}"/etc/sasl2
- --with-plugindir="${EPREFIX}/usr/$(get_libdir)/sasl2"
- --with-dbpath="${EPREFIX}"/etc/sasl2/sasldb2
- --with-sphinx-build=no
- $(use_with ssl openssl)
- $(use_with pam)
- $(use_with openldap ldap)
- $(use_enable ldapdb)
- $(multilib_native_use_enable sample)
- $(use_enable kerberos gssapi)
- $(multilib_native_use_with mysql mysql "${EPREFIX}"/usr)
- $(multilib_native_use_with postgres pgsql "${EPREFIX}/usr/$(get_libdir)/postgresql")
- $(use_with sqlite sqlite3 "${EPREFIX}/usr/$(get_libdir)")
- $(use_enable srp)
- $(use_enable static-libs static)
-
- # Add authdaemond support (bug #56523).
- $(usex authdaemond --with-authdaemond="${EPREFIX}"/var/lib/courier/authdaemon/socket '')
-
- # Fix for bug #59634.
- $(usex ssl '' --without-des)
-
- # Use /dev/urandom instead of /dev/random (bug #46038).
- $(usex urandom --with-devrandom=/dev/urandom '')
- )
-
- if use sqlite || { multilib_is_native_abi && { use mysql || use postgres; }; } ; then
- myeconfargs+=( --enable-sql )
- else
- myeconfargs+=( --disable-sql )
- fi
-
- # Default to GDBM if both 'gdbm' and 'berkdb' are present.
- if use gdbm ; then
- einfo "Building with GNU DB as database backend for your SASLdb"
- myeconfargs+=( --with-dblib=gdbm )
- elif use berkdb ; then
- einfo "Building with BerkeleyDB as database backend for your SASLdb"
- myeconfargs+=(
- --with-dblib=berkeley
- --with-bdb-incdir="$(db_includedir)"
- )
- else
- einfo "Building without SASLdb support"
- myeconfargs+=( --with-dblib=none )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi; then
- if use sample ; then
- docinto sample
- dodoc "${S}"/sample/*.c
- exeinto /usr/share/doc/${P}/sample
- doexe sample/client sample/server
- fi
-
- dosbin saslauthd/testsaslauthd
- fi
-}
-
-multilib_src_install_all() {
- doman man/*
-
- keepdir /etc/sasl2
-
- # Reset docinto to default value (bug #674296)
- docinto
- dodoc AUTHORS ChangeLog doc/legacy/TODO
- newdoc pwcheck/README README.pwcheck
-
- newdoc docsrc/sasl/release-notes/$(ver_cut 1-2)/index.rst release-notes
- edos2unix "${ED}"/usr/share/doc/${PF}/release-notes
-
- docinto html
- dodoc doc/html/*.html
-
- if use pam; then
- newpamd "${FILESDIR}"/saslauthd.pam-include saslauthd
- fi
-
- newinitd "${FILESDIR}"/pwcheck.rc6 pwcheck
- systemd_dounit "${FILESDIR}"/pwcheck.service
-
- newinitd "${FILESDIR}"/saslauthd2.rc7 saslauthd
- newconfd "${FILESDIR}"/saslauthd-${SASLAUTHD_CONF_VER}.conf saslauthd
- systemd_dounit "${FILESDIR}"/saslauthd.service
- dotmpfiles "${FILESDIR}"/${PN}.conf
-
- # The get_modname bit is important: do not remove the .la files on
- # platforms where the lib isn't called .so for cyrus searches the .la to
- # figure out what the name is supposed to be instead
- if ! use static-libs && [[ $(get_modname) == .so ]] ; then
- find "${ED}" -name "*.la" -delete || die
- fi
-}
-
-pkg_postinst() {
- tmpfiles_process ${PN}.conf
-
- # Generate an empty sasldb2 with correct permissions.
- if ( use berkdb || use gdbm ) && [[ ! -f "${EROOT}/etc/sasl2/sasldb2" ]] ; then
- einfo "Generating an empty sasldb2 with correct permissions ..."
-
- echo "p" | "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -p login \
- || die "Failed to generate sasldb2"
-
- "${EROOT}/usr/sbin/saslpasswd2" -f "${EROOT}/etc/sasl2/sasldb2" -d login \
- || die "Failed to delete temp user"
-
- chown root:mail "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chown ${EROOT}/etc/sasl2/sasldb2"
- chmod 0640 "${EROOT}/etc/sasl2/sasldb2" \
- || die "Failed to chmod ${EROOT}/etc/sasl2/sasldb2"
- fi
-
- if use authdaemond ; then
- elog "You need to add a user running a service using Courier's"
- elog "authdaemon to the 'mail' group. For example, do:"
- elog " gpasswd -a postfix mail"
- elog "to add the 'postfix' user to the 'mail' group."
- fi
-
- elog "pwcheck and saslauthd home directories have moved to:"
- elog " /run/saslauthd, using tmpfiles.d"
-}
diff --git a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild
index 380e23c0d641..14ebb5120992 100644
--- a/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild
+++ b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild
@@ -15,7 +15,7 @@ SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_PATCH_VE
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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~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 )"
diff --git a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.28-fix-configure-time-check.patch b/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.28-fix-configure-time-check.patch
deleted file mode 100644
index 873dac53fe03..000000000000
--- a/dev-libs/cyrus-sasl/files/cyrus-sasl-2.1.28-fix-configure-time-check.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-https://github.com/cyrusimap/cyrus-sasl/pull/709
-
-From 399625c3413c313e93432d0f5907350722b861c7 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 23 Feb 2022 00:45:15 +0000
-Subject: [PATCH] Fix <time.h> check
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We're conditionally including based on HAVE_TIME_H in a bunch of places,
-but we're not actually checking for time.h, so that's never going to be defined.
-
-While at it, add in a missing include in the cram plugin.
-
-This fixes a bunch of implicit declaration warnings:
-```
- * cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
- * cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration]
- * cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
- * cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
- * cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration]
- * cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
-```
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -1290,7 +1290,7 @@ AC_CHECK_HEADERS_ONCE([sys/time.h])
-
- AC_HEADER_DIRENT
- AC_HEADER_SYS_WAIT
--AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h)
-+AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h time.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h)
-
- IPv6_CHECK_SS_FAMILY()
- IPv6_CHECK_SA_LEN()
---- a/plugins/cram.c
-+++ b/plugins/cram.c
-@@ -53,6 +53,10 @@
- #endif
- #include <fcntl.h>
-
-+#ifdef HAVE_TIME_H
-+#include <time.h>
-+#endif
-+
- #include <sasl.h>
- #include <saslplug.h>
- #include <saslutil.h>
diff --git a/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild b/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
index 56c5a21c906f..7b61be79be20 100644
--- a/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
+++ b/dev-libs/darts/darts-0.32h_pre20181117064816.ebuild
@@ -25,7 +25,7 @@ fi
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="amd64 arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
BDEPEND=""
diff --git a/dev-libs/date/date-3.0.0.ebuild b/dev-libs/date/date-3.0.0.ebuild
index d77a0ca0a183..d0a19a986f6b 100644
--- a/dev-libs/date/date-3.0.0.ebuild
+++ b/dev-libs/date/date-3.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ DESCRIPTION="A date and time library based on the C++11/14/17 <chrono> header"
HOMEPAGE="https://github.com/HowardHinnant/date"
SRC_URI="https://github.com/HowardHinnant/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
LICENSE="MIT"
SLOT="0/3.0.0"
diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild
index 8c140d65b285..808b6f23b8e3 100644
--- a/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -23,7 +23,7 @@ DEPEND="${RDEPEND}
dev-util/cppunit[${MULTILIB_USEDEP}]"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
S="${WORKDIR}/lib${P}"
diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
index 4f4d7bfe597b..aa524e0af5b1 100644
--- a/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ DEPEND="${RDEPEND}
dev-util/cppunit[${MULTILIB_USEDEP}]"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( sys-apps/dbus[X,${MULTILIB_USEDEP}] )"
S="${WORKDIR}/lib${P}"
diff --git a/dev-libs/dbus-glib/dbus-glib-0.110.ebuild b/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
index 39943cb7eb12..c77bed76b90f 100644
--- a/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
+++ b/dev-libs/dbus-glib/dbus-glib-0.110.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
LICENSE="|| ( GPL-2 AFL-2.1 )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug static-libs test"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ BDEPEND="
>=dev-libs/glib-2.40:2
>=sys-apps/dbus-1.8
>=dev-util/glib-utils-2.40
- >=dev-util/gtk-doc-am-1.14
+ >=dev-build/gtk-doc-am-1.14
virtual/pkgconfig
" # CBUILD dependencies are needed to make a native tool while cross-compiling.
diff --git a/dev-libs/dbus-glib/dbus-glib-0.112.ebuild b/dev-libs/dbus-glib/dbus-glib-0.112.ebuild
index 80449ae7b0b4..a0dcd4ce0f8b 100644
--- a/dev-libs/dbus-glib/dbus-glib-0.112.ebuild
+++ b/dev-libs/dbus-glib/dbus-glib-0.112.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://dbus.freedesktop.org/releases/${PN}/${P}.tar.gz"
LICENSE="|| ( GPL-2 AFL-2.1 )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug static-libs test"
RESTRICT="!test? ( test )"
@@ -26,7 +26,7 @@ BDEPEND="
>=dev-libs/glib-2.40:2
>=sys-apps/dbus-1.8
>=dev-util/glib-utils-2.40
- >=dev-util/gtk-doc-am-1.14
+ >=dev-build/gtk-doc-am-1.14
virtual/pkgconfig
" # CBUILD dependencies are needed to make a native tool while cross-compiling.
diff --git a/dev-libs/dietlibc/dietlibc-0.34.ebuild b/dev-libs/dietlibc/dietlibc-0.34.ebuild
index 2c5c03042636..49824e60289f 100644
--- a/dev-libs/dietlibc/dietlibc-0.34.ebuild
+++ b/dev-libs/dietlibc/dietlibc-0.34.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2022 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"
@@ -21,6 +22,9 @@ DIETHOME="/usr/diet"
src_prepare() {
default
+ # bug #855677
+ filter-lto
+
# Replace sparc64 related C[XX]FLAGS (see bug #45716)
use sparc && replace-sparc64-flags
diff --git a/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild b/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild
new file mode 100644
index 000000000000..2b29e61283f4
--- /dev/null
+++ b/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
+HOMEPAGE="http://www.ragestorm.net/distorm/"
+
+LICENSE="BSD-4"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-lang/yasm )"
+
+PATCHES=( "${FILESDIR}"/${P}-under.patch )
+
+EPYTEST_DESELECT=(
+ # outdated tests? API usage mismatch
+ # https://github.com/gdabah/distorm/issues/173
+ python/test_distorm3.py::Test::test_dummy
+ python/test_distorm3.py::InstBin::test_dummy
+ python/test_distorm3.py::Inst::test_dummy
+)
+
+distutils_enable_tests pytest
+
+python_install() {
+ distutils-r1_python_install
+
+ # don't know why it does not happen by default
+ python_optimize
+}
diff --git a/dev-libs/distorm3/distorm3-3.5.2.ebuild b/dev-libs/distorm3/distorm3-3.5.2.ebuild
deleted file mode 100644
index 50ac20c5ac09..000000000000
--- a/dev-libs/distorm3/distorm3-3.5.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9,10} )
-
-inherit distutils-r1
-
-DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
-HOMEPAGE="http://www.ragestorm.net/distorm/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD-4"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND=""
-RDEPEND=""
-BDEPEND="test? ( dev-lang/yasm )"
-
-distutils_enable_tests pytest
-
-PATCHES=("${FILESDIR}"/${P}-under.patch)
-
-python_install() {
- distutils-r1_python_install
-
- # don't know why it does not happen by default
- python_optimize
-}
-
-python_test() {
- local exclude=(
- # outdated tests? API udage mismatch
- # https://github.com/gdabah/distorm/issues/173
- python/test_distorm3.py::Test::test_dummy
- python/test_distorm3.py::InstBin::test_dummy
- python/test_distorm3.py::Inst::test_dummy
- )
- epytest ${exclude[@]/#/--deselect }
-}
diff --git a/dev-libs/distorm3/metadata.xml b/dev-libs/distorm3/metadata.xml
index 2ce0a2c00b34..228e23190a66 100644
--- a/dev-libs/distorm3/metadata.xml
+++ b/dev-libs/distorm3/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="github">gdabah/distorm</remote-id>
+ <remote-id type="pypi">distorm3</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/dmalloc/Manifest b/dev-libs/dmalloc/Manifest
index d9041342e6c1..9f669702ee43 100644
--- a/dev-libs/dmalloc/Manifest
+++ b/dev-libs/dmalloc/Manifest
@@ -1 +1,2 @@
DIST dmalloc-5.5.2.tgz 666608 BLAKE2B 9371b35b9a39706215ff2fc4e31510dafa30a86dccb2290563a2c8a0e7211372dca419dd7d549011548853f1e168fe15c55361d763d27230c547c93113de823e SHA512 96bb94aeb2bc3220f652b5294bdf8592b984cb2a53e5f02b2b8d52450c3396d18651f334644cdfff9c85a8c0d0cedc7f6a18b9d70497b2c6b5f85dbd1e827b93
+DIST dmalloc-5.6.5.tgz 322310 BLAKE2B 43ba8cdef73423f2e3d6fa5dea34f1653d890c95dcd4ea13e9317d85d1991d0e68e80192860c7bdaf4ee33b36c892b9df31340ddde808b7d60ee00f21d532976 SHA512 17090378b763dd3eaf5ff196298f08982ad593d4c3a0104a67866b88793b612307f3ce9ef0aa7dfef2df6c8eb050e2be06513b29ca912e916c0bfd882a0f4bf1
diff --git a/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild b/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild
new file mode 100644
index 000000000000..62fc41dd4d5e
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.6.5-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="https://dmalloc.com"
+SRC_URI="https://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="threads"
+
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.6.5-add-destdir-support.patch
+ "${FILESDIR}"/${PN}-5.6.5-allow-overriding-ar-and-ld.patch
+ "${FILESDIR}"/${PN}-5.6.5-set-soname-version.patch
+ "${FILESDIR}"/${PN}-5.6.5-configure-c99.patch
+ "${FILESDIR}"/${PN}-5.6.5-fix-cxx-check.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-cxx \
+ --enable-shlib \
+ $(use_enable threads)
+}
+
+src_test() {
+ # mv: cannot stat 'aout': No such file or directory
+ emake -j1 heavy
+}
+
+src_install() {
+ default
+
+ soname_link() {
+ dosym ${1}.so.${PV} /usr/$(get_libdir)/${1}.so.${PV%%.*}
+ dosym ${1}.so.${PV%%.*} /usr/$(get_libdir)/${1}.so
+ }
+
+ soname_link libdmalloc
+ soname_link libdmallocxx
+
+ if use threads; then
+ soname_link libdmallocth
+ soname_link libdmallocthcxx
+ fi
+
+ rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
+}
diff --git a/dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild b/dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild
new file mode 100644
index 000000000000..20d910b16a28
--- /dev/null
+++ b/dev-libs/dmalloc/dmalloc-5.6.5-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="A Debug Malloc Library"
+HOMEPAGE="https://dmalloc.com"
+SRC_URI="https://dmalloc.com/releases/${P}.tgz"
+
+LICENSE="CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="threads"
+
+BDEPEND="sys-apps/texinfo"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.6.5-add-destdir-support.patch
+ "${FILESDIR}"/${PN}-5.6.5-allow-overriding-ar-and-ld.patch
+ "${FILESDIR}"/${PN}-5.6.5-set-soname-version.patch
+ "${FILESDIR}"/${PN}-5.6.5-configure-c99.patch
+ "${FILESDIR}"/${PN}-5.6.5-fix-cxx-check.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cflags $(test-flags-CC -fPIC)
+
+ econf \
+ --enable-cxx \
+ --enable-shlib \
+ $(use_enable threads)
+}
+
+src_test() {
+ # mv: cannot stat 'aout': No such file or directory
+ emake -j1 heavy
+}
+
+src_install() {
+ default
+
+ soname_link() {
+ dosym ${1}.so.${PV} /usr/$(get_libdir)/${1}.so.${PV%%.*}
+ dosym ${1}.so.${PV%%.*} /usr/$(get_libdir)/${1}.so
+ }
+
+ soname_link libdmalloc
+ soname_link libdmallocxx
+
+ if use threads; then
+ soname_link libdmallocth
+ soname_link libdmallocthcxx
+ fi
+
+ rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
+}
diff --git a/dev-libs/dmalloc/dmalloc-999999.ebuild b/dev-libs/dmalloc/dmalloc-999999.ebuild
deleted file mode 100644
index e94bdfb50036..000000000000
--- a/dev-libs/dmalloc/dmalloc-999999.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools git-r3 toolchain-funcs
-
-DESCRIPTION="A Debug Malloc Library"
-HOMEPAGE="https://dmalloc.com"
-EGIT_REPO_URI="https://github.com/j256/dmalloc"
-
-LICENSE="ISC"
-SLOT="0"
-IUSE="threads"
-
-BDEPEND="
- app-text/texi2html
- sys-apps/texinfo
-"
-
-DOCS=(
- ChangeLog.txt README.md TODO dmalloc.html
-)
-
-PATCHES=(
- # - Build objects twice, once -fPIC for shared.
- # - Use DESTDIR.
- # - Fix SONAME and NEEDED.
- "${FILESDIR}"/${PN}-5.5.2-Makefile.in.patch
- # - Broken test, always returns false.
- "${FILESDIR}"/${PN}-5.5.2-cxx.patch
- "${FILESDIR}"/${PN}-5.5.2-ar.patch
- "${FILESDIR}"/${PN}-999999-texi2html.patch
-)
-
-src_prepare() {
- default
-
- # - Add threads support.
- use threads && eapply "${FILESDIR}"/${PN}-5.5.2-threads.patch
-
- # Respect CFLAGS/LDFLAGS. #337429
- sed -i \
- -e '/libdmalloc/ s:$(CC):& $(CFLAGS) $(LDFLAGS):g' \
- -e 's|ar cr|$(AR) cr|g' \
- Makefile.in || die
-
- # Run autoconf for -cxx.patch.
- eautoconf
-}
-
-src_configure() {
- tc-export AR
- econf \
- --enable-cxx \
- --enable-shlib \
- $(use_enable threads)
-}
-
-src_compile() {
- default
-
- #makeinfo dmalloc.texi || die
-}
-
-src_test() {
- emake heavy
-}
-
-src_install() {
- default
-
- doinfo dmalloc.info
-
- # add missing symlinks, lazy
- dosym lib${PN}.so.5.5.2 /usr/$(get_libdir)/lib${PN}.so
- dosym lib${PN}.so.5.5.2 /usr/$(get_libdir)/lib${PN}.so.5
-
- for lib in cxx th thcxx; do
- dosym lib${PN}${lib}.so.5.5.2 /usr/$(get_libdir)/lib${PN}${lib}.so
- dosym lib${PN}${lib}.so.5.5.2 \
- /usr/$(get_libdir)/lib${PN}${lib}.so.5
- done
-
- rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
-}
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch
new file mode 100644
index 000000000000..2ab42e0d258c
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-add-destdir-support.patch
@@ -0,0 +1,103 @@
+From 79c791659a519cc7b3b3e615a3cc51c5e85a0a0a Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sat, 16 Dec 2023 14:13:57 +0200
+Subject: [PATCH 1/5] Add DESTDIR support
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -182,65 +182,65 @@ distclean : clean
+ docs : $(DOCS) LICENSE.txt
+
+ installdirs :
+- $(srcdir)/mkinstalldirs $(includedir) $(libdir) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
+
+ installincs : $(HFLS)
+- $(srcdir)/mkinstalldirs $(includedir)
+- $(INSTALL_DATA) $(HFLS) $(includedir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
++ $(INSTALL_DATA) $(HFLS) $(DESTDIR)$(includedir)
+
+ installthsl : $(LIB_TH_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_SL) $(DESTDIR)$(libdir)
+
+ installth : $(INSTALL_THREADS)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH) $(DESTDIR)$(libdir)
+ @CXX_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installthsl' to install the threaded shared-library"
+
+ installthcxxsl : $(LIB_TH_CXX_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_CXX_SL) $(DESTDIR)$(shlibdir)
+
+ installthcxx : $(INSTALL_TH_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_TH_CXX) $(DESTDIR)$(libdir)
+ @SL_OFF@ @echo "Enter 'make installthcxxsl' to install the threaded C++ shared-library"
+
+ installcxxsl : $(LIB_CXX_SL)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_CXX_SL) $(DESTDIR)$(libdir)
+
+ installcxx : $(INSTALL_CXX)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIB_CXX) $(libdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIB_CXX) $(DESTDIR)$(libdir)
+ @TH_OFF@ @echo "Enter 'make installthcxx' to install the threaded C++ library"
+ @SL_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+
+ installsl : $(LIB_SL)
+- $(srcdir)/mkinstalldirs $(shlibdir)
+- $(INSTALL_PROGRAM) $(LIB_SL) $(shlibdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(shlibdir)
++ $(INSTALL_PROGRAM) $(LIB_SL) $(DESTDIR)$(shlibdir)
+ @CXX_OFF@ @echo "Enter 'make installcxxsl' to install the C++ shared-library"
+ @TH_OFF@ @echo "Enter 'make installthsl' to install thread shared-library"
+
+ installlib : $(INSTALL_LIB)
+- $(srcdir)/mkinstalldirs $(libdir)
+- $(INSTALL_PROGRAM) $(LIBRARY) $(libdir)
+- @RANLIB@ $(libdir)/$(LIBRARY)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
++ $(INSTALL_PROGRAM) $(LIBRARY) $(DESTDIR)$(libdir)
++ @RANLIB@ $(DESTDIR)$(libdir)/$(LIBRARY)
+ @SL_OFF@ @echo "Enter 'make installsl' to install $(LIB_SL) in $(shlibdir)"
+ @CXX_OFF@ @echo "Enter 'make installcxx' to install the C++ library"
+ @TH_OFF@ @echo "Enter 'make installth' to install thread library"
+
+ # see notes about why we need the FILE2 entries below
+ installdocs : $(INSTALL_FILE2) $(HTML_FILE2) $(INFO_FILE)
+- $(srcdir)/mkinstalldirs $(docdir)
+- $(INSTALL_DATA) $(INSTALL_FILE2) $(docdir)/$(INSTALL_FILE)
+- $(INSTALL_DATA) $(HTML_FILE2) $(docdir)/$(HTML_FILE)
+- $(INSTALL_DATA) $(INFO_FILE) $(docdir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(docdir)
++ $(INSTALL_DATA) $(INSTALL_FILE2) $(DESTDIR)$(docdir)/$(INSTALL_FILE)
++ $(INSTALL_DATA) $(HTML_FILE2) $(DESTDIR)$(docdir)/$(HTML_FILE)
++ $(INSTALL_DATA) $(INFO_FILE) $(DESTDIR)$(docdir)
+
+ install : installincs installlib $(UTIL)
+- $(srcdir)/mkinstalldirs $(bindir)
+- $(INSTALL_PROGRAM) $(UTIL) $(bindir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
++ $(INSTALL_PROGRAM) $(UTIL) $(DESTDIR)$(bindir)
+ @echo "Enter 'make installdocs' to install $(DOCS) in $(docdir)"
+
+ dmalloc.h.2 conf.h settings.h version.h : $(srcdir)/configure $(srcdir)/settings.dist $(srcdir)/conf.h.in
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch
new file mode 100644
index 000000000000..981909d9940a
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-allow-overriding-ar-and-ld.patch
@@ -0,0 +1,89 @@
+From 626e5fb4c3f89b21e5ed75ee6c01d86527dede5f Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 13:57:11 +0200
+Subject: [PATCH 2/5] Allow overriding AR and LD
+
+https://bugs.gentoo.org/337429
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -303,11 +303,11 @@ $(LIB_SL) : $(LIBRARY)
+ mv $@.t $@
+
+ $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_SL) : $(LIB_TH)
+@@ -316,7 +316,7 @@ $(LIB_TH_SL) : $(LIB_TH)
+ mv $@.t $@
+
+ $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_CXX_SL) : $(LIB_CXX)
+@@ -325,7 +325,7 @@ $(LIB_CXX_SL) : $(LIB_CXX)
+ mv $@.t $@
+
+ $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
+- ar cr $@ $?
++ $(AR) cr $@ $?
+ @RANLIB@ $@
+
+ $(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,8 +76,13 @@ if test "$ac_cv_prog_cc_stdc" = "no" ; then
+ fi
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AC_CHECK_TOOL(AR,ar)
++AC_CHECK_TOOL(LD,ld)
+ AC_C_CONST
+
++AC_ARG_VAR(AR)
++AC_ARG_VAR(LD)
++
+ # we need this for various settings
+ AC_HEADER_STDC
+ AC_CHECK_HEADER([stdarg.h],
+@@ -144,7 +149,7 @@ AC_SUBST(shlibdir)
+ AC_MSG_CHECKING([shared library link args])
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ # so now we try to create an archive from the compiled .o file
+- (ar cr conftest.a conftest.o) 2>&5
++ (${AR} cr conftest.a conftest.o) 2>&5
+ # see which shared-library ld commands work
+ #
+ # Darwin/Mac OS X - Terry Teague
+@@ -169,12 +174,12 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+ enable_shlib=no
+ fi
+- elif (ld -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared --whole-archive -soname $@ -o $@.t'
+- elif (ld -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -shared -o $@.t -all -soname $@ -none -lc -all'
+- elif (ld -G -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='ld -G -o $@.t'
++ elif (${LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -shared --whole-archive -soname $@ -o $@.t'
++ elif (${LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -shared -o $@.t -all -soname $@ -none -lc -all'
++ elif (${LD} -G -o conftest.so.t conftest.a) 2>&5; then
++ ac_cv_shared_link_args='$(LD) -G -o $@.t'
+ else
+ # oh well, toss an error
+ ac_cv_shared_link_args='# Could not configure shlib linking'
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
new file mode 100644
index 000000000000..4f5e6339d8aa
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
@@ -0,0 +1,68 @@
+From debb91ecdd39a7039abdc6b2fb4c9b79956fc758 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:35:31 +0200
+Subject: [PATCH 4/5] Fix c99 compatibility in configure script
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -486,19 +486,20 @@ AC_MSG_RESULT([$ac_cv_pnt_arith_type])
+ AC_CHECK_FUNCS(abort)
+ AC_MSG_CHECKING([abort safe])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ static int main_b = 0;
+ static char heap_mem[102400], *heap_p = heap_mem;
+-free () { if (main_b) _exit(0); }
++void free () { if (main_b) exit(0); }
+ char *malloc (int size) {
+ char *pnt;
+- if (main_b) _exit(0);
++ if (main_b) exit(0);
+ pnt = heap_p;
+ heap_p += size;
+ return pnt;
+ }
+ char *calloc (int number, int size) {
+ char *start, *pnt, *end;
+- if (main_b) _exit(0);
++ if (main_b) exit(0);
+ /* it should be already 0s */
+ start = malloc (number * size);
+ pnt = start;
+@@ -508,7 +509,7 @@ char *calloc (int number, int size) {
+ }
+ char *realloc (char *old_pnt, int new_size) {
+ char *start, *pnt, *end;
+- if (main_b) _exit(0);
++ if (main_b) exit(0);
+ start = malloc (new_size);
+ pnt = start;
+ end = start + new_size;
+@@ -549,6 +550,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ AC_CHECK_FUNCS(getenv)
+ AC_MSG_CHECKING([getenv safe])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ static char heap_mem[102400], *heap_p = heap_mem;
+ free (char *pnt) {
+ }
+@@ -651,6 +653,7 @@ fi
+ #
+ AC_MSG_CHECKING([constructor attribute])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ /* if we call the loc_con constructor then exit with error code 0 */
+ static void loc_con() __attribute__((constructor));
+ static void loc_con() { exit(0); }
+@@ -666,6 +669,7 @@ int main() { return 1; }
+ #
+ AC_MSG_CHECKING([destructor attribute])
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
++#include <stdlib.h>
+ /* if we call the loc_decon destructor then exit with error code 0 */
+ static void loc_decon() __attribute__((destructor));
+ static void loc_decon() { exit(0); }
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch
new file mode 100644
index 000000000000..7e7c61f1baa3
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-fix-cxx-check.patch
@@ -0,0 +1,22 @@
+From 17fb0cc429213fa3c2dd3d2bdec3b87e6b779be9 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:49:28 +0200
+Subject: [PATCH 5/5] Fix CXX check
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -63,8 +63,8 @@ AC_PROG_CC
+ AC_PROG_CXX
+
+ # see if we actually have a CXX program
+-if test "$ac_cv_prog_CXX" = "" -o ! -x "$ac_cv_prog_CXX"; then
+- AC_MSG_WARN(could not find C++ compiler $ac_cv_prog_CXX)
++if test "x$CXX" = "x" -o -x "$CXX"; then
++ AC_MSG_WARN(could not find C++ compiler $CXX)
+ enable_cxx=no
+ fi
+
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch
new file mode 100644
index 000000000000..ebed9c0ef1aa
--- /dev/null
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-set-soname-version.patch
@@ -0,0 +1,32 @@
+From 4cab6b74df4fb9ed7046faeb53c5ab01fa0716a1 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 17 Dec 2023 14:26:44 +0200
+Subject: [PATCH 3/5] Set soname version for shared library
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -175,9 +175,9 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ int foo(int val) { return val + 1; } ])],[
+ enable_shlib=no
+ fi
+ elif (${LD} -shared --whole-archive -soname conftest.so -o conftest.so.t conftest.a) 2>&5; then
+- ac_cv_shared_link_args='$(LD) -shared --whole-archive -soname $@ -o $@.t'
++ ac_cv_shared_link_args="\$(LD) -shared --whole-archive -soname \$(@:${dmalloc_version}=${dmalloc_version_major}) -o \$@.t"
+ elif (${LD} -shared -o conftest.so.t -all -soname conftest.so.t -none -lc -all conftest.a) 2>&5; then
+- ac_cv_shared_link_args='$(LD) -shared -o $@.t -all -soname $@ -none -lc -all'
++ ac_cv_shared_link_args="\$(LD) -shared -o \$@.t -all -soname \$(@:${dmalloc_version}=${dmalloc_version_major}) -none -lc -all"
+ elif (${LD} -G -o conftest.so.t conftest.a) 2>&5; then
+ ac_cv_shared_link_args='$(LD) -G -o $@.t'
+ else
+@@ -208,7 +208,7 @@ if test `uname` = "Darwin"; then
+ else
+ ac_cv_shared_lib_suffix=so
+ fi
+-shlibext="$ac_cv_shared_lib_suffix"
++shlibext="$ac_cv_shared_lib_suffix.$dmalloc_version"
+ AC_MSG_RESULT([$ac_cv_shared_lib_suffix])
+ AC_SUBST(shlibext)
+
+--
+2.43.0
+
diff --git a/dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch b/dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch
deleted file mode 100644
index 1e7e4ccd1eb1..000000000000
--- a/dev-libs/dmalloc/files/dmalloc-999999-texi2html.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -285,7 +285,7 @@
-
- dmalloc.html : $(srcdir)/dmalloc.texi
- rm -f $@ $@.t
-- texi2html --output=$@.t -number -monolithic $(srcdir)/dmalloc.texi
-+ texi2html --output=$@.t --number-footnotes --number-sections -monolithic $(srcdir)/dmalloc.texi
- mv $@.t $@
-
- settings.h : $(srcdir)/settings.dist $(srcdir)/configure
diff --git a/dev-libs/dmalloc/metadata.xml b/dev-libs/dmalloc/metadata.xml
index 115e9d64a669..98f616caa8cd 100644
--- a/dev-libs/dmalloc/metadata.xml
+++ b/dev-libs/dmalloc/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">j256/dmalloc</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/dotconf/Manifest b/dev-libs/dotconf/Manifest
index e83204456597..e564349b5fbc 100644
--- a/dev-libs/dotconf/Manifest
+++ b/dev-libs/dotconf/Manifest
@@ -1 +1,2 @@
DIST dotconf-1.3.tar.gz 333301 BLAKE2B df3f4c9bc4539ed5b21bd4d6059bd911bb319d9dbe4f48c6d45c34559eaaa646abea847f6d0b35678c12d9b5e89e2f112047557d458be608215d76bb50af004c SHA512 ced0e66f70d11a309e77add1bfac1da8e85dcbe193633bd4bd1ae4bfd043b66880406e93ec18327b8c5d3de8d4bfc5278db6e5cb39b030ee1dabfa1ce267a98e
+DIST dotconf-1.4.1.tar.gz 46565 BLAKE2B 8eb7508b6ca13f0f4cc2ca0c1d889ce7801c3d60d826078a23b68807f1c2fa38fed4e638ac4b1a2ddf9c1e204293e57acce29bbd5cf3d6fd12abb140b6cb0d3e SHA512 a6cada8621295b268d4b4fd85bc0c207e78324c9e84754ead2fdf6c1598ec8bdf626f9c24e66063d921c95d73e83b50ab50416a9b4c9a7a631392552ec46f55a
diff --git a/dev-libs/dotconf/dotconf-1.3-r2.ebuild b/dev-libs/dotconf/dotconf-1.3-r2.ebuild
index 9d0d505092f6..5092ea045426 100644
--- a/dev-libs/dotconf/dotconf-1.3-r2.ebuild
+++ b/dev-libs/dotconf/dotconf-1.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,10 +12,8 @@ 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"
-IUSE=""
-DEPEND=">=sys-devel/autoconf-2.58"
-RDEPEND=""
+DEPEND=">=dev-build/autoconf-2.58"
src_configure() {
econf --disable-static
diff --git a/dev-libs/dotconf/dotconf-1.4.1.ebuild b/dev-libs/dotconf/dotconf-1.4.1.ebuild
new file mode 100644
index 000000000000..36d47ae81583
--- /dev/null
+++ b/dev-libs/dotconf/dotconf-1.4.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+fi
+inherit autotools toolchain-funcs
+
+DESCRIPTION="dot.conf configuration file parser"
+HOMEPAGE="https://github.com/williamh/dotconf"
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/williamh/dotconf.git"
+else
+ SRC_URI="https://github.com/williamh/dotconf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+DEPEND=">=dev-build/autoconf-2.58"
+
+src_configure() {
+ eautoreconf
+ econf --disable-static
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/dotconf/dotconf-9999.ebuild b/dev-libs/dotconf/dotconf-9999.ebuild
new file mode 100644
index 000000000000..36d47ae81583
--- /dev/null
+++ b/dev-libs/dotconf/dotconf-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+fi
+inherit autotools toolchain-funcs
+
+DESCRIPTION="dot.conf configuration file parser"
+HOMEPAGE="https://github.com/williamh/dotconf"
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/williamh/dotconf.git"
+else
+ SRC_URI="https://github.com/williamh/dotconf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+DEPEND=">=dev-build/autoconf-2.58"
+
+src_configure() {
+ eautoreconf
+ econf --disable-static
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/double-conversion/double-conversion-3.2.1.ebuild b/dev-libs/double-conversion/double-conversion-3.2.1.ebuild
index 261a9d8b1800..b20b805cabb1 100644
--- a/dev-libs/double-conversion/double-conversion-3.2.1.ebuild
+++ b/dev-libs/double-conversion/double-conversion-3.2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ 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 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/dqlite/Manifest b/dev-libs/dqlite/Manifest
index dbfef5c8a9ce..0bf7f61c62bb 100644
--- a/dev-libs/dqlite/Manifest
+++ b/dev-libs/dqlite/Manifest
@@ -1,2 +1 @@
-DIST dqlite-1.13.0.tar.gz 190627 BLAKE2B 02880a112a7b070ee19653b60f19dbb49030b1d0d1bd3671577137ce281fd1af9c135f138d692fcc1c14592972cc9321198b3a2003fa0e81829c8ae462604964 SHA512 da56c622c75dcdc1df814d2b7acfeb08cb046fa7b74691d63575ddb3d30f91b441b8f58cc72466872b4c5e0028706b6505846d8f3d06583be844baefdd85f8a9
-DIST dqlite-1.14.0.tar.gz 190757 BLAKE2B 5304ff10134c7775c4475f77bbe60cc6892cc35c3f2a7b4813743cd27fc1176a1d513d66ebf22b47ed7e83fa833be1408f44f781fbd8200bfd3f4465ea1d6011 SHA512 4305b289903766f00c26e278cce3f761c778b67105a6d7e51e66cc1cbf85564fd41f27689b6895c6f182968d851e10a40d052570d55e22007e9eb5c2929dabd9
+DIST dqlite-1.16.4.tar.gz 499174 BLAKE2B 3a5f28dd352ada1d0866d3563c450aad10413118a30fc9369aaadc5f46acefaa8f28e21118e71ef3eb801c51c9946664882d82a15eff71eefbbd51f6fd68c4b3 SHA512 164a63ce9224b9a4f10d2312ac03e98ccdec8c6c4fe22e6fc595dc792f9a7c75317cf8e839eb31a8db2501a094d67053300532a92bca26c86ef5097dd3c06a2b
diff --git a/dev-libs/dqlite/dqlite-1.13.0.ebuild b/dev-libs/dqlite/dqlite-1.13.0.ebuild
deleted file mode 100644
index 5dc934b5faf6..000000000000
--- a/dev-libs/dqlite/dqlite-1.13.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
-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.12.0"
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-db/sqlite:3
- dev-libs/libuv:=
- >=dev-libs/raft-0.16.0"
-DEPEND="${RDEPEND}
- test? ( >=dev-libs/raft-0.13.0[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
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/dqlite/dqlite-1.14.0.ebuild b/dev-libs/dqlite/dqlite-1.14.0.ebuild
deleted file mode 100644
index c0cbc911e373..000000000000
--- a/dev-libs/dqlite/dqlite-1.14.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
-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.12.0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-db/sqlite:3
- dev-libs/libuv:=
- >=dev-libs/raft-0.17.1:="
-DEPEND="${RDEPEND}
- test? ( >=dev-libs/raft-0.13.0[lz4,test] )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-backtrace
- --disable-debug
- --disable-sanitize
- --disable-static
-
- # Will build a bundled libsqlite3.so.
- --enable-build-sqlite=no
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/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/dynolog/Manifest b/dev-libs/dynolog/Manifest
new file mode 100644
index 000000000000..72dc2c7eca05
--- /dev/null
+++ b/dev-libs/dynolog/Manifest
@@ -0,0 +1,35 @@
+DIST anyhow-1.0.75.crate 43901 BLAKE2B 6353557d7ec2cbfdd001c039fad62c95fea9e02b113149f726fd14bb36b31e637e8609dd5ee20a900e9c11bb783d9958d664b31ba7c467382fa7f51d477ad3aa SHA512 190d6be8ede0af9808210db53e4dc31ce69b126a26b0357220c4705a11e83cab2c2c09c59964a35794f3c434f717eaa6bb669e9e8f16012535c14246b17e8d40
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST clap-3.2.25.crate 219403 BLAKE2B 75a8ee36c52e64cf0ac7ed5604d8a575c41c756a588bd418e6c1edccfb358350cdd831b4176f01b987fe7fa5901ca2bccee6b0f68ccba7dbe40baf85a5f3bdb4 SHA512 557c8932175d7ecd077b32b68904924e52dd46d04fd04ba36b3a9dfd7ab1dbe8c2128fecfd75d0388b21fca4aee55a941794181cc2910a4d4eb3c54e9c7e73ea
+DIST clap_derive-3.2.25.crate 28212 BLAKE2B 8782f6425ed46197c5e5293e2f06fd82b2d17ea3e89206580ef3c6853bed2e8c99ef2528a30276a8287215d7f5505a992dd43c59f26b2915757c8e2f20510843 SHA512 c98098bfedb8b681d72eaedb946d9867fd068d9be31137fe1fb5d821cd68afec48e7d2963adb2099aa760c702d5b75fb0ed45fc62b83d7f26edc8cecc03ea5d3
+DIST clap_lex-0.2.4.crate 9652 BLAKE2B 5120b508dedf52507068c0c369a45ddfbe0369e5c05b65bc5a78c422b2a4bf488f9ef1e0bed4e335450f2c08b80148eb5f7efed678039b5a94b5bd666385939f SHA512 6c05e5fd850befd45be9005af7252385f2304aa28a107413bbe329d97aea835f7acfd0bd169c99f69f466ab93d6e1c35d73a4e48343457a06fe2d6be5bedde0f
+DIST dynolog-0.3.1_p20230126.tar.gz 18445927 BLAKE2B 6885bfde54d07a6783a7007f3ee1615b25fb79da0a32e68e11c93165807125e09614f01c6559787383b50e9bd0c11893071f6464de378517bfd7239dca54ab81 SHA512 38edb2fab5c4e6b64ee3fda557cdf610d383a3054db7a47ac4844d45104641098c81a27a82f20a0d2b60da2799902df5be8ac2967155ca72e3e1e1df75e30821
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
+DIST itoa-1.0.9.crate 10492 BLAKE2B 0d5acef9ae72d3f4b5a387d231952e6025def69da81d38269b4882bc534be7acadc073e526fd8bebdca898a98b2c741735c541e0b6a35ed0f8f8799b906b65b1 SHA512 95f7906edb7d6a2690389167f8c4d01bc37827205bca87d527f2eb33722419ed2f2e8afaa559cc5a0a7e7fac76515c9c44c71c42b536aa34b0e2858c40946b6d
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST os_str_bytes-6.6.1.crate 27643 BLAKE2B 8440a196a3d3d9c3a584562b6c2a1033f5606998e8851f8ccaeababe58022a42e65510e12ebdbcc7b24d0fcdcf111d68bf00d89b8665ad5cee49180db853789d SHA512 977c0fe9891c021914153d6a081c3789018fcd1830224f5c6768d0c75ac8ac4919638bb0a41949710fd5e699b162d9290a5379cc6251535a127e212f5b86932d
+DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
+DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
+DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
+DIST serde-1.0.193.crate 76863 BLAKE2B 163097e85b5542451896d7381607aa297e3b0342a2641887a01689b13122c6c1ca566fcb7f32f51bb0ecc861aed014f1467edfe21338223d5361555f870425a3 SHA512 82259ca302f42116ecffca3c88bc1212785ce5430f9d29390a9041d4e5943c13b13de119fde644a583960102c4b6e850a16f962d36dc76ac69fc2297ed65a506
+DIST serde_derive-1.0.193.crate 55692 BLAKE2B eeb2a2fbcd0daf5fee1bd6a4f584fed330db58cbd786073311d6a94308c63dfc6b7c2dfbc4b8980064ed66509f0127525b79d99aa96ca0134226fe21715999bb SHA512 05efb144aeee293a0e7dc7540106eb8c4920b2d8dfc25771d73afa8ffcba330104643430a6e396ea2adabbed4ccb23591251479b75449b9c8322799f91d38c41
+DIST serde_json-1.0.108.crate 146476 BLAKE2B 9c0ceae5566a4e0ce7a6264939862f9dd920bb47d18acebb179798b036c376d97a4e9b0717092903ab90cfbf6fb73d37518e3cc25f3217af010296f5644de396 SHA512 7d8d1b74515388d99983ffbc5696cba022305cf4c797d3ff5d2959fc8fc8f4ce01cc4c9e7ccae7097b06b5acf5307027f6b7315df1fd8f58e681cc5968e79fb6
+DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
+DIST termcolor-1.4.0.crate 18765 BLAKE2B d7286fcc84843296e2edf074e316ee8fcceb018c08deda7f1048e38108bf1a7c5f6b90dd3150078c413322eda08a1c58300b4adb963d9f51f307ecd08b5b7e10 SHA512 36c8550fe85cb90c4fdd1a6e3f60b42b6c71f65b6128da97d5ad6aac8350d907410899ad4a47bb4dc72ea6d00bc69e5a1ccc80ee9b0e80a1a27912e233f3e416
+DIST textwrap-0.16.0.crate 53722 BLAKE2B 44140aa2dfd5076005749449a56e920418e71e34cb92f1d697eb3f3e7f6fe87b0a3861c8a4050a4a62e03187b6cadc4495e4200bee52ee183541431c73e47209 SHA512 97ae8acece5663e1a6b08b827179e96d5ad0ee67d635888cc3d83454b52cf48fce97eb0eba374ba4747834099c74f43d66d9fec868e84be45369a42c1aaec2c3
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild
new file mode 100644
index 000000000000..cd1da77cf928
--- /dev/null
+++ b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Partially auto-Generated by cargo-ebuild 0.5.4-r1
+
+EAPI=8
+
+CRATES="
+ anyhow@1.0.75
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ clap@3.2.25
+ clap_derive@3.2.25
+ clap_lex@0.2.4
+ hashbrown@0.12.3
+ heck@0.4.1
+ hermit-abi@0.1.19
+ indexmap@1.9.3
+ itoa@1.0.9
+ libc@0.2.150
+ once_cell@1.18.0
+ os_str_bytes@6.6.1
+ proc-macro-error@1.0.4
+ proc-macro-error-attr@1.0.4
+ proc-macro2@1.0.70
+ quote@1.0.33
+ ryu@1.0.15
+ serde@1.0.193
+ serde_derive@1.0.193
+ serde_json@1.0.108
+ strsim@0.10.0
+ syn@1.0.109
+ syn@2.0.39
+ termcolor@1.4.0
+ textwrap@0.16.0
+ unicode-ident@1.0.12
+ version_check@0.9.4
+ winapi@0.3.9
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+"
+
+inherit cargo cmake
+
+DESCRIPTION="Performance monitoring daemon for heterogeneous CPU-GPU systems"
+HOMEPAGE="https://github.com/facebookincubator/dynolog"
+SRC_URI="https://dev.gentoo.org/~tupone/distfiles/${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+
+LICENSE="BSD Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-cpp/gflags
+ dev-cpp/gtest
+ dev-cpp/glog
+ net-misc/curl"
+RDEPEND="${DEPEND}"
+
+# Partially rust build
+QA_FLAGS_IGNORED=/usr/bin/dyno
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc13.patch
+ "${FILESDIR}"/${P}-unbundling.patch
+ "${FILESDIR}"/${P}-noWerror.patch
+ "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+CMAKE_SKIP_TESTS=( "Defs.CpuSet" )
+
+src_prepare() {
+ sed -i \
+ -e "s:__u64:ino_t:g" \
+ hbt/src/common/System.h \
+ || die
+ cmake_src_prepare
+ cmake_comment_add_subdirectory third_party/gflags
+ cmake_comment_add_subdirectory third_party/glog
+ rm -r third_party/googletest || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF
+ -DCPR_FORCE_USE_SYSTEM_CURL=ON
+ -DBUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+ cd cli
+ cargo_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ cd cli
+ cargo_src_compile
+}
+
+src_install() {
+ cmake_src_install
+ mkdir -p headers/dynolog/src/ipcfabric
+ cp dynolog/src/ipcfabric/FabricManager.h \
+ headers/dynolog/src/ipcfabric || die
+ doheader -r dynolog
+ cd ../cli
+ cd cli
+ cargo_src_install
+
+ dobin "${BUILD_DIR}"/${PN}/src/${PN}
+}
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch
new file mode 100644
index 000000000000..b24dfe3ea202
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-gcc13.patch
@@ -0,0 +1,20 @@
+--- a/dynolog/src/metric_frame/ExtraTypes.h 2023-12-04 22:40:38.277556488 +0100
++++ b/dynolog/src/metric_frame/ExtraTypes.h 2023-12-04 22:40:59.044223825 +0100
+@@ -6,6 +6,7 @@
+ #pragma once
+
+ #include <ostream>
++#include <cstdint>
+
+ namespace facebook::dynolog {
+
+--- a/hbt/src/perf_event/CpuEventsGroup.h 2023-12-04 22:56:20.774267789 +0100
++++ b/hbt/src/perf_event/CpuEventsGroup.h 2023-12-04 22:56:38.454271601 +0100
+@@ -10,6 +10,7 @@
+
+ #include <cstring>
+ #include <sstream>
++#include <utility>
+
+ #include <inttypes.h>
+ #include <stdlib.h>
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch
new file mode 100644
index 000000000000..a3617bc3a2a7
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch
@@ -0,0 +1,40 @@
+diff --git a/dynolog/src/gpumon/Utils.h b/dynolog/src/gpumon/Utils.h
+index 0728cdc..844076d 100644
+--- a/dynolog/src/gpumon/Utils.h
++++ b/dynolog/src/gpumon/Utils.h
+@@ -1,19 +1,20 @@
+ // (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary.
+
+ #pragma once
+
++#include <unistd.h>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
+
+ namespace dynolog {
+
+ // Assume at most one pid running on each gpu device_id
+ // Result[i] is the pid running on device_id i,
+ // or -1 if no process is running
+ std::vector<pid_t> getPidsOnGpu();
+ // Input map is type <environment variable name, metadata name>
+ // output map is type <metadata name, metadata value>
+ std::unordered_map<std::string, std::string> getMetadataForPid(
+ pid_t pid,
+ const std::unordered_map<std::string, std::string>& keysMap);
+--- a/hbt/src/perf_event/BPerfEventsGroup.cpp
++++ b/hbt/src/perf_event/BPerfEventsGroup.cpp
+@@ -76,10 +76,10 @@
+ cpu_cnt_ = ::libbpf_num_possible_cpus();
+ }
+
+-inline auto mapFdWrapperPtrIntoInode(
++inline ino_t mapFdWrapperPtrIntoInode(
+ const std::shared_ptr<FdWrapper>& fd_wrapper) {
+ if (fd_wrapper == nullptr) {
+- return 0ull;
++ return (ino_t)0;
+ }
+ return fd_wrapper->getInode();
+ }
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch
new file mode 100644
index 000000000000..fb915902b4cd
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch
@@ -0,0 +1,22 @@
+--- a/third_party/cpr/CMakeLists.txt 2023-12-06 09:59:09.062148849 +0100
++++ b/third_party/cpr/CMakeLists.txt 2023-12-06 09:59:27.615514631 +0100
+@@ -73,7 +73,7 @@
+
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+ else()
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Werror")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic")
+ endif()
+
+ # SSL
+--- a/third_party/pfs/CMakeLists.txt 2023-12-26 13:43:57.634865410 +0100
++++ b/third_party/pfs/CMakeLists.txt 2023-12-26 13:44:20.865488661 +0100
+@@ -12,7 +12,7 @@
+ endif ()
+ message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
+
+-add_compile_options (-std=c++11 -Wall -Wextra -pedantic -Werror)
++add_compile_options (-std=c++11 -Wall -Wextra -pedantic)
+
+ include_directories (include)
+
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch
new file mode 100644
index 000000000000..de661f8ddecb
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch
@@ -0,0 +1,18 @@
+diff -Naur a/hbt/src/common/System.h b/hbt/src/common/System.h
+--- a/hbt/src/common/System.h 2024-01-21 15:26:26.940486370 +0000
++++ b/hbt/src/common/System.h 2024-01-21 22:22:36.713134358 +0000
+@@ -446,6 +446,14 @@
+ cpu = getCpu();
+ return tstamp;
+ }
++#elif defined(__riscv)
++inline TimeStamp rdtscp(CpuId& cpu) {
++ TimeStamp tstamp;
++ // Use the RDCYCLE instruction for RISC-V.
++ asm volatile("rdcycle %0" : "=r"(tstamp));
++ cpu = getCpu();
++ return tstamp;
++}
+ #endif
+
+ inline std::pair<TimeStamp, CpuId> rdtscp() {
diff --git a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch
new file mode 100644
index 000000000000..dc85badfca81
--- /dev/null
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-unbundling.patch
@@ -0,0 +1,82 @@
+--- a/CMakeLists.txt 2023-12-06 07:46:09.148777964 +0100
++++ b/CMakeLists.txt 2023-12-06 07:46:17.995438966 +0100
+@@ -31,7 +31,6 @@
+
+ if(BUILD_TESTS)
+ enable_testing()
+- add_subdirectory("third_party/googletest" "third_party/googletest")
+ endif()
+
+ include_directories(".")
+@@ -49,6 +49,7 @@
+ set(BUILD_TESTING OFF CACHE BOOL "")
+ set(WITH_GFLAGS OFF CACHE BOOL "")
+ add_subdirectory(third_party/glog)
++find_package(glog)
+ target_link_libraries(dynolog_lib PUBLIC glog::glog)
+
+ set(GFLAGS_BUILD_TESTING OFF CACHE BOOL "")
+@@ -54,7 +53,7 @@
+
+ set(GFLAGS_BUILD_TESTING OFF CACHE BOOL "")
+ add_subdirectory(third_party/gflags)
+-target_link_libraries(dynolog_lib PUBLIC gflags::gflags)
++target_link_libraries(dynolog_lib PUBLIC gflags)
+
+ # https://github.com/nlohmann/json#cmake
+ set(JSON_BuildTests OFF CACHE INTERNAL "")
+--- a/dynolog/src/rpc/CMakeLists.txt 2023-12-06 07:40:29.268997358 +0100
++++ b/dynolog/src/rpc/CMakeLists.txt 2023-12-06 07:40:45.038986775 +0100
+@@ -12,7 +12,8 @@
+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..
+ )
+ target_link_libraries(dynolog_rpc_lib PRIVATE dynolog_lib)
+-target_link_libraries(dynolog_rpc_lib PUBLIC gflags::gflags)
++target_link_libraries(dynolog_rpc_lib PUBLIC gflags)
++find_package(glog)
+ target_link_libraries(dynolog_rpc_lib PUBLIC glog::glog)
+ target_link_libraries(dynolog_rpc_lib PUBLIC nlohmann_json::nlohmann_json)
+ target_link_libraries(dynolog_rpc_lib PUBLIC fmt::fmt)
+--- a/dynolog/src/gpumon/CMakeLists.txt 2023-12-06 07:41:18.658964157 +0100
++++ b/dynolog/src/gpumon/CMakeLists.txt 2023-12-06 07:41:30.005623376 +0100
+@@ -16,7 +16,8 @@
+ )
+ target_include_directories(dynolog_dcgm_lib PUBLIC
+ ${PROJECT_SOURCE_DIR}/third_party/pfs/include)
+-target_link_libraries(dynolog_dcgm_lib PUBLIC gflags::gflags)
++target_link_libraries(dynolog_dcgm_lib PUBLIC gflags)
++find_package(glog)
+ target_link_libraries(dynolog_dcgm_lib PUBLIC glog::glog)
+ target_link_libraries(dynolog_dcgm_lib PUBLIC nlohmann_json::nlohmann_json)
+ target_link_libraries(dynolog_dcgm_lib PUBLIC pfs)
+--- a/dynolog/src/tracing/CMakeLists.txt 2023-12-06 08:42:39.313607692 +0100
++++ b/dynolog/src/tracing/CMakeLists.txt 2023-12-06 08:42:59.377010468 +0100
+@@ -11,5 +11,6 @@
+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..
+ )
+
++find_package(glog)
+ target_link_libraries(dynolog_ipcmonitor_lib PUBLIC glog::glog)
+ target_link_libraries(dynolog_ipcmonitor_lib PUBLIC dynolog_ipcfabric_lib)
+--- a/dynolog/tests/rpc/CMakeLists.txt 2023-12-06 07:41:52.818942108 +0100
++++ b/dynolog/tests/rpc/CMakeLists.txt 2023-12-06 07:42:04.415601339 +0100
+@@ -2,7 +2,8 @@
+
+ add_executable(json_client SimpleJsonClientTestCLI.cpp SimpleJsonClientTest.h)
+
+-target_link_libraries(json_client PUBLIC gflags::gflags)
++target_link_libraries(json_client PUBLIC gflags)
++find_package(glog)
+ target_link_libraries(json_client PUBLIC glog::glog)
+
+ dynolog_add_test(SimpleJsonClientTest
+--- a/dynolog/tests/tracing/CMakeLists.txt 2023-12-06 08:44:45.267376972 +0100
++++ b/dynolog/tests/tracing/CMakeLists.txt 2023-12-06 08:45:01.977434795 +0100
+@@ -2,6 +2,7 @@
+
+ dynolog_add_test(IPCMonitorTest IPCMonitorTest.cpp)
+
++find_package(glog)
+ target_link_libraries(IPCMonitorTest PRIVATE glog::glog)
+ target_link_libraries(IPCMonitorTest PRIVATE dynolog_ipcmonitor_lib)
+ target_link_libraries(IPCMonitorTest PRIVATE dynolog_lib)
diff --git a/dev-libs/dynolog/metadata.xml b/dev-libs/dynolog/metadata.xml
new file mode 100644
index 000000000000..1afdcf76a673
--- /dev/null
+++ b/dev-libs/dynolog/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Alfredo Tupone</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">facebookincubator/dynolog</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/editline/editline-1.17.1.ebuild b/dev-libs/editline/editline-1.17.1.ebuild
index eed9640bbec9..0bba672748cf 100644
--- a/dev-libs/editline/editline-1.17.1.ebuild
+++ b/dev-libs/editline/editline-1.17.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,10 +10,6 @@ SRC_URI="https://github.com/troglobit/editline/releases/download/${PV}/${P}.tar.
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
PATCHES=("${FILESDIR}"/${PN}-1.16.0-rename-man.patch)
diff --git a/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild b/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
index 310c54534389..dd7e8e734711 100644
--- a/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
+++ b/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
VALA_USE_DEPEND="vapigen"
inherit autotools gnome2-utils python-any-r1 vala vcs-snapshot virtualx xdg
@@ -34,7 +34,7 @@ DEPEND="${RDEPEND}"
BDEPEND="${PYTHON_DEPS}
dev-util/glib-utils
dev-util/gtk-doc
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
dev-util/intltool
sys-devel/gettext
virtual/pkgconfig"
diff --git a/dev-libs/efl/Manifest b/dev-libs/efl/Manifest
index 35ae7b6d937c..710720bed01d 100644
--- a/dev-libs/efl/Manifest
+++ b/dev-libs/efl/Manifest
@@ -1 +1 @@
-DIST efl-1.26.3.tar.xz 168540684 BLAKE2B aeb0215b9cdce9ca10550c698df4985ff9557c3c400c3a300887148d04a8900f04c7200473e5fce1d3021378be1e664e9364d171ec09c4fc488b4ec758722ea5 SHA512 9801ee8bc963786962d87af56d532d3f019bc18a91924d2ef84934dcd0ae30452d858db93c33964f2bff9af2f3c8feb9927f7281ead4a8993ed622cd0cf2c514
+DIST efl-1.27.0.tar.xz 168543208 BLAKE2B 082f7089f1a017db8e62f36fb2a51e18c7d00b74b8e865a60d066e49921c69720101deb3184a125633a6c646e241b8765cccc038c906c00d4ca16ecb705faf6f SHA512 5dda2f630463a2504d9246be17449579bbc470904e137b02b3b5c44db033dec2688f6c477885de1485944d875ee62619b6e7c5d4d3657225951f6feaf83b4fa4
diff --git a/dev-libs/efl/efl-1.26.3-r1.ebuild b/dev-libs/efl/efl-1.26.3-r1.ebuild
deleted file mode 100644
index 8a464db88512..000000000000
--- a/dev-libs/efl/efl-1.26.3-r1.ebuild
+++ /dev/null
@@ -1,311 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DOCS_BUILDER="doxygen"
-DOCS_DEPEND="dev-texlive/texlive-fontutils"
-DOCS_DIR="${S}/doc"
-
-LUA_REQ_USE="deprecated(+)"
-LUA_COMPAT=( lua5-{1,2} luajit )
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit docs lua-single meson python-any-r1 xdg
-
-DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
-HOMEPAGE="https://www.enlightenment.org"
-SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
-IUSE="+X avif bmp connman cpu_flags_arm_neon dds debug drm +eet efl-one elogind examples fbcon
- +fontconfig fribidi gif gnutls glib +gstreamer harfbuzz heif hyphen ibus ico
- jpeg2k json nls mono opengl +pdf physics pmaps postscript psd pulseaudio raw scim
- sdl +sound +svg +system-lz4 systemd tga tgv tiff tslib unwind v4l vnc wayland webp xcf
- xim xpm xpresent zeroconf"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- ?? ( fbcon tslib )
- drm? ( wayland )
- examples? ( eet svg )
- ibus? ( glib )
- opengl? ( X )
- pulseaudio? ( sound )
- xim? ( X )
- xpresent? ( X )"
-
-# Requires everything to be enabled unconditionally.
-RESTRICT="test"
-
-RDEPEND="${LUA_DEPS}
- !x11-themes/e-flat-theme
- dev-libs/libinput:=
- net-misc/curl
- media-libs/giflib:=
- media-libs/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 )
- gnutls? ( net-libs/gnutls:= )
- !gnutls? ( dev-libs/openssl:0= )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- harfbuzz? ( media-libs/harfbuzz:= )
- heif? ( media-libs/libheif:= )
- hyphen? ( dev-libs/hyphen )
- ibus? ( app-i18n/ibus )
- jpeg2k? ( media-libs/openjpeg:= )
- json? ( >=media-libs/rlottie-0.0.1_pre20200424:= )
- mono? ( dev-lang/mono )
- opengl? ( virtual/opengl )
- pdf? ( app-text/poppler:=[cxx] )
- physics? ( sci-physics/bullet:= )
- postscript? ( app-text/libspectre )
- pulseaudio? ( media-sound/pulseaudio )
- raw? ( media-libs/libraw:= )
- scim? ( app-i18n/scim )
- sdl? ( media-libs/libsdl2 )
- sound? ( media-libs/libsndfile )
- svg? ( gnome-base/librsvg:2 )
- system-lz4? ( app-arch/lz4:= )
- systemd? ( sys-apps/systemd:= )
- tiff? ( media-libs/tiff:= )
- tslib? ( x11-libs/tslib:= )
- unwind? ( sys-libs/libunwind:= )
- v4l? ( media-libs/libv4l )
- vnc? ( net-libs/libvncserver )
- wayland? (
- dev-libs/wayland
- media-libs/mesa[gles2,wayland]
- x11-libs/libxkbcommon
- )
- webp? ( media-libs/libwebp:= )
- xpm? ( x11-libs/libXpm )
- xpresent? ( x11-libs/libXpresent )
- zeroconf? ( net-dns/avahi )"
-DEPEND="${RDEPEND}
- wayland? ( dev-libs/wayland-protocols )"
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- wayland? ( dev-util/wayland-scanner )"
-
-pkg_setup() {
- # Deprecated, provided for backward-compatibility. Everything is moved to libefreet.so.
- QA_FLAGS_IGNORED="/usr/$(get_libdir)/libefreet_trash.so.${PV}
- /usr/$(get_libdir)/libefreet_mime.so.${PV}"
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Remove automagic unwind configure option, #743154
- if ! use unwind; then
- sed -i "/config_h.set('HAVE_UNWIND/,/eina_ext_deps += unwind/d" src/lib/eina/meson.build ||
- die "Failed to remove libunwind dep"
- fi
-
- # Fixup Doxyfile
- pushd "${DOCS_DIR}" || die
- cp Doxyfile.in Doxyfile || die
- sed -i \
- -e "s/@PACKAGE_VERSION@/${PV}/g" \
- -e "s/@top_builddir@/../g" \
- -e "s/@top_srcdir@/../g" \
- -e "s/@srcdir@/./g" \
- Doxyfile || die
- popd || die
-
- # Fix python shebangs for python-exec[-native-symlinks], #764086
- local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
- python_fix_shebang -q ${shebangs[*]}
-}
-
-src_configure() {
- local emesonargs=(
- --buildtype=plain
-
- -D buffer=false
- -D build-tests=false
- -D cocoa=false
- -D drm-deprecated=false
- -D g-mainloop=false
- -D mono-beta=false
- -D dotnet=false
- -D pixman=false
- -D wl-deprecated=false
- -D dotnet-stylecop-severity=Warning
-
- -D edje-sound-and-video=true
- -D eeze=true
- -D input=true
- -D install-eo-files=true
- -D libmount=true
- -D native-arch-optimization=true
- -D xinput2=true
- -D xinput22=true
-
- $(meson_use X x11)
- $(meson_use debug debug-threads)
- $(meson_use drm)
- $(meson_use examples build-examples)
- $(meson_use fbcon fb)
- $(meson_use fontconfig)
- $(meson_use fribidi)
- $(meson_use glib)
- $(meson_use gstreamer)
- $(meson_use harfbuzz)
- $(meson_use hyphen)
- $(meson_use lua_single_target_luajit elua)
- $(meson_use nls)
- $(meson_use physics)
- $(meson_use pulseaudio)
- $(meson_use sdl)
- $(meson_use sound audio)
- $(meson_use tslib)
- $(meson_use v4l v4l2)
- $(meson_use vnc vnc-server)
- $(meson_use wayland wl)
- $(meson_use xpresent)
- $(meson_use zeroconf avahi)
-
- $(meson_use !system-lz4 embedded-lz4)
- )
-
- if use elogind || use systemd; then
- emesonargs+=( -D systemd=true )
- else
- emesonargs+=( -D systemd=false )
- fi
-
- if use wayland; then
- emesonargs+=( -D opengl=es-egl )
- elif ! use wayland && use opengl; then
- emesonargs+=( -D opengl=full )
- elif ! use wayland && use X && ! use opengl; then
- emesonargs+=( -D opengl=es-egl )
- else
- emesonargs+=( -D opengl=none )
- fi
-
- if use gnutls; then
- emesonargs+=( -D crypto=gnutls )
- else
- emesonargs+=( -D crypto=openssl )
- fi
-
- if use connman; then
- emesonargs+=( -D network-backend=connman )
- else
- emesonargs+=( -D network-backend=none )
- fi
-
- local disabledEvasLoaders=""
- ! use avif && disabledEvasLoaders="avif,"
- ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
- ! use dds && disabledEvasLoaders+="dds,"
- ! use eet && disabledEvasLoaders+="eet,"
- ! use gstreamer && disabledEvasLoaders+="gst,"
- ! use heif && disabledEvasLoaders+="heif,"
- ! use ico && disabledEvasLoaders+="ico,"
- ! use jpeg2k && disabledEvasLoaders+="jp2k,"
- ! use json && disabledEvasLoaders+="json,"
- ! use pdf && disabledEvasLoaders+="pdf,"
- ! use pmaps && disabledEvasLoaders+="pmaps,"
- ! use postscript && disabledEvasLoaders+="ps,"
- ! use psd && disabledEvasLoaders+="psd,"
- ! use raw && disabledEvasLoaders+="raw,"
- ! use svg && disabledEvasLoaders+="rsvg,svg,"
- ! use tga && disabledEvasLoaders+="tga,"
- ! use tgv && disabledEvasLoaders+="tgv,"
- ! use tiff && disabledEvasLoaders+="tiff,"
- ! use webp && disabledEvasLoaders+="webp,"
- ! use xcf && disabledEvasLoaders+="xcf,"
- ! use xpm && disabledEvasLoaders+="xpm,"
- [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
- emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
-
- local disabledImfLoaders=""
- ! use ibus && disabledImfLoaders+="ibus,"
- ! use scim && disabledImfLoaders+="scim,"
- ! use xim && disabledImfLoaders+="xim,"
- [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
- emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
-
- local bindingsList="cxx,"
- use lua_single_target_luajit && bindingsList+="lua,"
- use mono && bindingsList+="mono,"
- [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
- emesonargs+=( -D bindings="${bindingsList}" )
-
- local luaChoice=""
- if use lua_single_target_luajit; then
- luaChoice+="luajit"
- else
- luaChoice+="lua"
- fi
- emesonargs+=( -D lua-interpreter="${luaChoice}" )
-
- # Not all arm CPU's have neon instruction set, #722552
- if use arm && ! use cpu_flags_arm_neon; then
- emesonargs+=( -D native-arch-optimization=false )
- fi
-
- meson_src_configure
-}
-
-src_compile() {
- docs_compile
- meson_src_compile
-}
-
-src_install() {
- meson_src_install
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples/
- dodoc -r "${BUILD_DIR}"/src/examples/
- fi
-}
diff --git a/dev-libs/efl/efl-1.27.0.ebuild b/dev-libs/efl/efl-1.27.0.ebuild
new file mode 100644
index 000000000000..2cbdc3394a50
--- /dev/null
+++ b/dev-libs/efl/efl-1.27.0.ebuild
@@ -0,0 +1,296 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_REQ_USE="deprecated(+)"
+LUA_COMPAT=( lua5-{1,2} luajit )
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit lua-single meson python-any-r1 xdg
+
+DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
+HOMEPAGE="https://www.enlightenment.org"
+SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
+
+LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
+IUSE="+X avif bmp connman cpu_flags_arm_neon dds debug doc drm +eet efl-one elogind examples fbcon
+ +fontconfig fribidi gif glib +gstreamer harfbuzz heif hyphen ibus ico jpeg2k jpegxl json
+ nls mono opengl +pdf physics pmaps postscript psd pulseaudio raw scim sdl +sound +svg
+ +system-lz4 systemd tga tgv tiff tslib unwind v4l vnc wayland webp xcf xim xpm xpresent
+ zeroconf"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ ?? ( elogind systemd )
+ ?? ( fbcon tslib )
+ drm? ( wayland )
+ examples? ( eet svg )
+ gstreamer? ( sound )
+ ibus? ( glib )
+ opengl? ( X )
+ pulseaudio? ( sound )
+ xim? ( X )
+ xpresent? ( X )"
+
+# Requires everything to be enabled unconditionally.
+RESTRICT="test"
+
+RDEPEND="${LUA_DEPS}
+ !x11-themes/e-flat-theme
+ dev-libs/libinput:=
+ dev-libs/openssl:0=
+ net-misc/curl
+ media-libs/giflib:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ sys-apps/dbus
+ sys-libs/zlib
+ X? (
+ !opengl? ( media-libs/mesa[egl(+),gles2] )
+ media-libs/freetype
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/libxkbcommon
+ wayland? ( x11-libs/libxkbcommon[X] )
+ )
+ avif? ( media-libs/libavif:= )
+ connman? ( net-misc/connman )
+ drm? (
+ dev-libs/libinput:=
+ dev-libs/wayland
+ media-libs/mesa[gbm(+)]
+ x11-libs/libdrm
+ x11-libs/libxkbcommon
+ )
+ elogind? (
+ sys-auth/elogind
+ virtual/libudev:=
+ )
+ fontconfig? ( media-libs/fontconfig )
+ fribidi? ( dev-libs/fribidi )
+ glib? ( dev-libs/glib:2 )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ harfbuzz? ( media-libs/harfbuzz:= )
+ heif? ( media-libs/libheif:= )
+ hyphen? ( dev-libs/hyphen )
+ ibus? ( app-i18n/ibus )
+ jpeg2k? ( media-libs/openjpeg:= )
+ jpegxl? ( media-libs/libjxl:= )
+ json? ( >=media-libs/rlottie-0.0.1_pre20200424:= )
+ mono? ( dev-lang/mono )
+ opengl? ( virtual/opengl )
+ pdf? ( app-text/poppler:=[cxx] )
+ physics? ( sci-physics/bullet:= )
+ postscript? ( app-text/libspectre )
+ pulseaudio? ( media-libs/libpulse )
+ raw? ( media-libs/libraw:= )
+ scim? ( app-i18n/scim )
+ sdl? ( media-libs/libsdl2 )
+ sound? ( media-libs/libsndfile )
+ svg? ( gnome-base/librsvg:2 )
+ system-lz4? ( app-arch/lz4:= )
+ systemd? ( sys-apps/systemd:= )
+ tiff? ( media-libs/tiff:= )
+ tslib? ( x11-libs/tslib:= )
+ unwind? ( sys-libs/libunwind:= )
+ v4l? ( media-libs/libv4l )
+ vnc? ( net-libs/libvncserver )
+ wayland? (
+ dev-libs/wayland
+ media-libs/mesa[gles2,wayland]
+ x11-libs/libxkbcommon
+ )
+ webp? ( media-libs/libwebp:= )
+ xpm? ( x11-libs/libXpm )
+ xpresent? ( x11-libs/libXpresent )
+ zeroconf? ( net-dns/avahi )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ wayland? ( dev-libs/wayland-protocols )"
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ examples? ( sys-devel/gettext )
+ mono? ( dev-build/cmake )
+ nls? ( sys-devel/gettext )
+ wayland? ( dev-util/wayland-scanner )"
+
+pkg_setup() {
+ # Deprecated, provided for backward-compatibility. Everything is moved to libefreet.so.
+ QA_FLAGS_IGNORED="/usr/$(get_libdir)/libefreet_trash.so.${PV}
+ /usr/$(get_libdir)/libefreet_mime.so.${PV}"
+
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Remove automagic unwind configure option, #743154
+ if ! use unwind; then
+ sed -i "/config_h.set('HAVE_UNWIND/,/eina_ext_deps += unwind/d" src/lib/eina/meson.build ||
+ die "Failed to remove libunwind dep"
+ fi
+
+ # Fix python shebangs for python-exec[-native-symlinks], #764086
+ local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
+ python_fix_shebang -q ${shebangs[*]}
+}
+
+src_configure() {
+ local emesonargs=(
+ -D buffer=false
+ -D build-tests=false
+ -D cocoa=false
+ -D drm-deprecated=false
+ -D g-mainloop=false
+ -D mono-beta=false
+ -D dotnet=false
+ -D pixman=false
+ -D wl-deprecated=false
+
+ -D edje-sound-and-video=true
+ -D eeze=true
+ -D input=true
+ -D install-eo-files=true
+ -D libmount=true
+ -D native-arch-optimization=true
+ -D xinput2=true
+ -D xinput22=true
+
+ -D crypto=openssl
+ -D dotnet-stylecop-severity=Warning
+
+ $(meson_use X x11)
+ $(meson_use debug debug-threads)
+ $(meson_use doc docs)
+ $(meson_use drm)
+ $(meson_use examples build-examples)
+ $(meson_use fbcon fb)
+ $(meson_use fontconfig)
+ $(meson_use fribidi)
+ $(meson_use glib)
+ $(meson_use gstreamer)
+ $(meson_use harfbuzz)
+ $(meson_use hyphen)
+ $(meson_use lua_single_target_luajit elua)
+ $(meson_use nls)
+ $(meson_use physics)
+ $(meson_use pulseaudio)
+ $(meson_use sdl)
+ $(meson_use sound audio)
+ $(meson_use tslib)
+ $(meson_use v4l v4l2)
+ $(meson_use vnc vnc-server)
+ $(meson_use wayland wl)
+ $(meson_use xpresent)
+ $(meson_use zeroconf avahi)
+
+ $(meson_use !system-lz4 embedded-lz4)
+ )
+
+ if use elogind || use systemd; then
+ emesonargs+=( -D systemd=true )
+ else
+ emesonargs+=( -D systemd=false )
+ fi
+
+ if use wayland; then
+ emesonargs+=( -D opengl=es-egl )
+ elif ! use wayland && use opengl; then
+ emesonargs+=( -D opengl=full )
+ elif ! use wayland && use X && ! use opengl; then
+ emesonargs+=( -D opengl=es-egl )
+ else
+ emesonargs+=( -D opengl=none )
+ fi
+
+ if use connman; then
+ emesonargs+=( -D network-backend=connman )
+ else
+ emesonargs+=( -D network-backend=none )
+ fi
+
+ local disabledEvasLoaders=""
+ ! use avif && disabledEvasLoaders="avif,"
+ ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
+ ! use dds && disabledEvasLoaders+="dds,"
+ ! use eet && disabledEvasLoaders+="eet,"
+ ! use gstreamer && disabledEvasLoaders+="gst,"
+ ! use heif && disabledEvasLoaders+="heif,"
+ ! use ico && disabledEvasLoaders+="ico,"
+ ! use jpeg2k && disabledEvasLoaders+="jp2k,"
+ ! use jpegxl && disabledEvasLoaders+="jxl,"
+ ! use json && disabledEvasLoaders+="json,"
+ ! use pdf && disabledEvasLoaders+="pdf,"
+ ! use pmaps && disabledEvasLoaders+="pmaps,"
+ ! use postscript && disabledEvasLoaders+="ps,"
+ ! use psd && disabledEvasLoaders+="psd,"
+ ! use raw && disabledEvasLoaders+="raw,"
+ ! use svg && disabledEvasLoaders+="rsvg,svg,"
+ ! use tga && disabledEvasLoaders+="tga,"
+ ! use tgv && disabledEvasLoaders+="tgv,"
+ ! use tiff && disabledEvasLoaders+="tiff,"
+ ! use webp && disabledEvasLoaders+="webp,"
+ ! use xcf && disabledEvasLoaders+="xcf,"
+ ! use xpm && disabledEvasLoaders+="xpm,"
+ [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
+ emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
+
+ local disabledImfLoaders=""
+ ! use ibus && disabledImfLoaders+="ibus,"
+ ! use scim && disabledImfLoaders+="scim,"
+ ! use xim && disabledImfLoaders+="xim,"
+ [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
+ emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
+
+ local bindingsList="cxx,"
+ use lua_single_target_luajit && bindingsList+="lua,"
+ use mono && bindingsList+="mono,"
+ [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
+ emesonargs+=( -D bindings="${bindingsList}" )
+
+ local luaChoice=""
+ if use lua_single_target_luajit; then
+ luaChoice+="luajit"
+ else
+ luaChoice+="lua"
+ fi
+ emesonargs+=( -D lua-interpreter="${luaChoice}" )
+
+ # Not all arm CPU's have neon instruction set, #722552
+ if use arm && ! use cpu_flags_arm_neon; then
+ emesonargs+=( -D native-arch-optimization=false )
+ fi
+
+ meson_src_configure
+}
+
+src_compile() {
+ meson_src_compile
+}
+
+src_install() {
+ meson_src_install
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples/
+ dodoc -r "${BUILD_DIR}"/src/examples/
+ fi
+}
diff --git a/dev-libs/efl/metadata.xml b/dev-libs/efl/metadata.xml
index 44684ed64be4..2a3d3a291099 100644
--- a/dev-libs/efl/metadata.xml
+++ b/dev-libs/efl/metadata.xml
@@ -6,7 +6,6 @@
<name>Joonas Niilola</name>
</maintainer>
<use>
- <flag name="avif">Enable AVIF image loader</flag>
<flag name="bmp">Enable WBMP image loader</flag>
<flag name="dds">Enable DDS image loader</flag>
<flag name="drm">Enable DRM engine</flag>
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index 98e41ab11013..c9977594e891 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -1,3 +1,4 @@
-DIST elfutils-0.187-patches.tar.xz 2804 BLAKE2B 77cbd0666d8da3d5229baaba6605c84e7990200f39bfb72b2008eb2527e4567abd90c93c291cc0c8f3c10bbf97758ccf5877cbdae823780cf8dc97ff4ff2f932 SHA512 d056fdd6ae0e71471087af472a72384d6e73ff2d7fe1b708b5ec9f091a913c8327197660132b7a6619a0db86534715507ef67ee91691a00a591c1d24c55a99f4
-DIST elfutils-0.188.tar.bz2 9112977 BLAKE2B 6b0474f1436eaf6af73b735b9b2ddd5448ab9c03fbaa0be745a31c89ae8f15b0e21a651409c38643ca125794ce82c19d7b46db4a079f3e72cb919d643560e7a4 SHA512 585551b2d937d19d1becfc2f28935db1dd1a3d25571a62f322b70ac8da98c1a741a55d070327705df6c3e2ee026652e0b9a3c733b050a0b0ec5f2fc75d5b74b5
-DIST elfutils-0.188.tar.bz2.sig 310 BLAKE2B c8d9135cffde3b1dd337b692d5351855cf799915d3ebd553327febaac192bd2f108b3f45a6376d458e179390a1ceaf4809762cdc40ea1e05fed0214ac33ed56e SHA512 4cc8a7417d244e319a1650d71b1831660cfe41afc7c73e9c83d1f076f4013fe15247e8b4f5e12a5396d83c4f1c7663ca4be5ea42bff3dc23263f85331fd9d566
+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.188.ebuild b/dev-libs/elfutils/elfutils-0.188.ebuild
deleted file mode 100644
index b47d779db744..000000000000
--- a/dev-libs/elfutils/elfutils-0.188.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2003-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.187-patches.tar.xz"
-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 lzma nls static-libs test +utils valgrind 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}] )
- 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}
- valgrind? ( dev-util/valgrind )
-"
-BDEPEND="
- >=sys-devel/flex-2.5.4a
- sys-devel/m4
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-elfutils )
-"
-
-PATCHES=(
- "${WORKDIR}"/${PN}-0.187-patches/
-)
-
-src_unpack() {
- if use verify-sig ; then
- # Needed for downloaded patch (which is unsigned, which is fine)
- verify-sig_verify_detached "${DISTDIR}"/${P}.tar.bz2{,.sig}
- fi
-
- default
-}
-
-src_prepare() {
- default
-
- if use elibc_musl; then
- eapply "${WORKDIR}"/${PN}-0.187-patches/musl/
- fi
-
- if ! use static-libs; then
- sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
- fi
-
- # https://sourceware.org/PR23914
- sed -i 's:-Werror::' */Makefile.in || die
-}
-
-src_configure() {
- # bug #407135
- use test && append-flags -g
-
- # Symbol aliases are implemented as asm statements.
- # Will require porting: https://gcc.gnu.org/PR48200
- filter-flags '-flto*'
-
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable nls)
- --disable-debuginfod
- --disable-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.190.ebuild b/dev-libs/elfutils/elfutils-0.190.ebuild
new file mode 100644
index 000000000000..48128a1d751e
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.190.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2003-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/elfutils.gpg
+inherit flag-o-matic multilib-minimal verify-sig
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://sourceware.org/elfutils/"
+SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )"
+
+LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !dev-libs/libelf
+ >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
+ debuginfod? (
+ app-arch/libarchive:=
+ dev-db/sqlite:3=
+ net-libs/libmicrohttpd:=
+
+ net-misc/curl[static-libs?,${MULTILIB_USEDEP}]
+ )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
+ elibc_musl? (
+ dev-libs/libbsd
+ sys-libs/argp-standalone
+ sys-libs/fts-standalone
+ sys-libs/obstack-standalone
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ app-alternatives/lex
+ sys-devel/m4
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-elfutils )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
+ "${FILESDIR}"/${PN}-0.189-musl-macros.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use static-libs; then
+ sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
+ fi
+
+ # https://sourceware.org/PR23914
+ sed -i 's:-Werror::' */Makefile.in || die
+}
+
+src_configure() {
+ # bug #407135
+ use test && append-flags -g
+
+ # bug 660738
+ filter-flags -fno-asynchronous-unwind-tables
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(multilib_native_use_enable debuginfod)
+ $(use_enable debuginfod libdebuginfod)
+
+ # explicitly disable thread safety, it's not recommended by upstream
+ # doesn't build either on musl.
+ --disable-thread-safety
+
+ # Valgrind option is just for running tests under it; dodgy under sandbox
+ # and indeed even w/ glibc with newer instructions.
+ --disable-valgrind
+ --program-prefix="eu-"
+ --with-zlib
+ $(use_with bzip2 bzlib)
+ $(use_with lzma)
+ $(use_with zstd)
+ )
+
+ # Needed because sets alignment macro
+ is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address )
+ is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check VERBOSE=1
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ dodoc NOTES
+
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ if ! use utils; then
+ rm -rf "${ED}"/usr/bin || die
+ fi
+}
diff --git a/dev-libs/elfutils/elfutils-0.191.ebuild b/dev-libs/elfutils/elfutils-0.191.ebuild
new file mode 100644
index 000000000000..2825aaf9a27c
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.191.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2003-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/elfutils.gpg
+inherit flag-o-matic multilib-minimal verify-sig
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="https://sourceware.org/elfutils/"
+SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.sig )"
+
+LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !dev-libs/libelf
+ >=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
+ bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
+ debuginfod? (
+ app-arch/libarchive:=
+ dev-db/sqlite:3=
+ net-libs/libmicrohttpd:=
+
+ net-misc/curl[static-libs?,${MULTILIB_USEDEP}]
+ )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
+ elibc_musl? (
+ dev-libs/libbsd
+ sys-libs/argp-standalone
+ sys-libs/fts-standalone
+ sys-libs/obstack-standalone
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ app-alternatives/lex
+ sys-devel/m4
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
+ "${FILESDIR}"/${PN}-0.191-musl-macros.patch
+)
+
+src_prepare() {
+ default
+
+ if ! use static-libs; then
+ sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
+ fi
+
+ # https://sourceware.org/PR23914
+ sed -i 's:-Werror::' */Makefile.in || die
+}
+
+src_configure() {
+ # bug #407135
+ use test && append-flags -g
+
+ # bug 660738
+ filter-flags -fno-asynchronous-unwind-tables
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(multilib_native_use_enable debuginfod)
+ $(use_enable debuginfod libdebuginfod)
+
+ # explicitly disable thread safety, it's not recommended by upstream
+ # doesn't build either on musl.
+ --disable-thread-safety
+
+ # Valgrind option is just for running tests under it; dodgy under sandbox
+ # and indeed even w/ glibc with newer instructions.
+ --disable-valgrind
+ --program-prefix="eu-"
+ --with-zlib
+ $(use_with bzip2 bzlib)
+ $(use_with lzma)
+ $(use_with zstd)
+ )
+
+ # Needed because sets alignment macro
+ is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address )
+ is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check VERBOSE=1
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ dodoc NOTES
+
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ if ! use utils; then
+ rm -rf "${ED}"/usr/bin || die
+ fi
+}
diff --git a/dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch b/dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch
new file mode 100644
index 000000000000..222c0527b689
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.189-musl-aarch64-regs.patch
@@ -0,0 +1,57 @@
+https://www.sourceware.org/bugzilla/show_bug.cgi?id=25832
+https://cgit.openembedded.org/openembedded-core/plain/meta/recipes-devtools/elfutils/files/0006-Fix-build-on-aarch64-musl.patch
+https://bugs.gentoo.org/693772
+
+Other variants/links:
+https://git.alpinelinux.org/aports/tree/main/elfutils/fix-aarch64_fregs.patch
+https://github.com/gentoo/musl/blob/6450482b9b4463b57ac249c63b7ed796e9874c40/dev-libs/elfutils/files/0.178/fix-aarch64_fregs.patch
+
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 15 Aug 2017 17:27:30 +0800
+Subject: [PATCH] Fix build on aarch64/musl
+
+Errors
+
+invalid operands to binary & (have 'long double' and 'unsigned int')
+
+error: redefinition
+ of 'struct iovec'
+ struct iovec { void *iov_base; size_t iov_len; };
+ ^
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Rebase to 0.170
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+--- a/backends/aarch64_initreg.c
++++ b/backends/aarch64_initreg.c
+@@ -33,7 +33,7 @@
+ #include "system.h"
+ #include <assert.h>
+ #if defined(__aarch64__) && defined(__linux__)
+-# include <linux/uio.h>
++# include <sys/uio.h>
+ # include <sys/user.h>
+ # include <sys/ptrace.h>
+ /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
+@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
+
+ Dwarf_Word dwarf_fregs[32];
+ for (int r = 0; r < 32; r++)
+- dwarf_fregs[r] = fregs.vregs[r] & 0xFFFFFFFF;
++ dwarf_fregs[r] = (unsigned int)fregs.vregs[r] & 0xFFFFFFFF;
+
+ if (! setfunc (64, 32, dwarf_fregs, arg))
+ return false;
+--- a/backends/arm_initreg.c
++++ b/backends/arm_initreg.c
+@@ -38,7 +38,7 @@
+ #endif
+
+ #ifdef __aarch64__
+-# include <linux/uio.h>
++# include <sys/uio.h>
+ # include <sys/user.h>
+ # include <sys/ptrace.h>
+ /* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */
diff --git a/dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch b/dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch
new file mode 100644
index 000000000000..97c6c1dcd62e
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.189-musl-macros.patch
@@ -0,0 +1,86 @@
+May not be required (or at least some hunks) with next release (0.186?)
+
+https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch
+--- a/lib/libeu.h
++++ b/lib/libeu.h
+@@ -31,6 +31,27 @@
+
+ #include <stddef.h>
+ #include <stdint.h>
++#include <unistd.h>
++#include <alloca.h>
++#include <string.h>
++
++#ifndef TEMP_FAILURE_RETRY
++#define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++#endif
++
++#ifndef strndupa
++#define strndupa(s, n) \
++ (__extension__ ({const char *__in = (s); \
++ size_t __len = strnlen (__in, (n)) + 1; \
++ char *__out = (char *) alloca (__len); \
++ __out[__len-1] = '\0'; \
++ (char *) memcpy (__out, __in, __len-1);}))
++#endif
+
+ extern void *xmalloc (size_t) __attribute__ ((__malloc__));
+ extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__));
+--- a/src/arlib.h
++++ b/src/arlib.h
+@@ -29,6 +29,16 @@
+ #include <stdint.h>
+ #include <sys/types.h>
+
++#if !defined(ACCESSPERMS)
++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
++#endif
++#if !defined(ALLPERMS)
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
++#endif
++#if !defined(DEFFILEMODE)
++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/
++#endif
++
+
+ /* State of -D/-U flags. */
+ extern bool arlib_deterministic_output;
+--- a/src/elfcompress.c
++++ b/src/elfcompress.c
+@@ -37,6 +37,14 @@
+ #include "libeu.h"
+ #include "printversion.h"
+
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH 0
++#endif
++
++#if !defined(ALLPERMS)
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
++#endif
++
+ /* Name and version of program. */
+ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+
+--- a/src/strip.c
++++ b/src/strip.c
+@@ -45,6 +45,14 @@
+ #include <system.h>
+ #include <printversion.h>
+
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH 0
++#endif
++
++#if !defined(ACCESSPERMS)
++#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
++#endif
++
+ typedef uint8_t GElf_Byte;
+
+ /* Name and version of program. */
diff --git a/dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch b/dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch
new file mode 100644
index 000000000000..6e0912c5ce9a
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch
@@ -0,0 +1,14 @@
+https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch
+--- a/lib/system.h
++++ b/lib/system.h
+@@ -56,6 +56,10 @@ void error(int status, int errnum, const char *format, ...);
+ #error "err.h or error.h must be available"
+ #endif
+
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH 0
++#endif
++
+ /* error (EXIT_FAILURE, ...) should be noreturn but on some systems it
+ isn't. This may cause warnings about code that should not be reachable.
+ So have an explicit error_exit wrapper that is noreturn (because it
diff --git a/dev-libs/elfutils/metadata.xml b/dev-libs/elfutils/metadata.xml
index d91314ed4c10..05def2bfd0b3 100644
--- a/dev-libs/elfutils/metadata.xml
+++ b/dev-libs/elfutils/metadata.xml
@@ -8,7 +8,7 @@
<use>
<flag name="lzma">Support automatic decompression of LZMA-compressed files and kernel images</flag>
<flag name="utils">Install command-line utilities (all the eu-* programs)</flag>
- <flag name="valgrind">Add support for memory debugging using <pkg>dev-util/valgrind</pkg></flag>
+ <flag name="debuginfod">Enable debuginfod support, both the debuginfod server and the libdebuginfod client library</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:elfutils_project:elfutils</remote-id>
diff --git a/dev-libs/ell/Manifest b/dev-libs/ell/Manifest
index 543e3cec81de..00e0106f2d9e 100644
--- a/dev-libs/ell/Manifest
+++ b/dev-libs/ell/Manifest
@@ -1,3 +1,2 @@
-DIST ell-0.54.tar.xz 562496 BLAKE2B d5aa705d0a72068c18b4f7f2b40c80069fc4d8a746a4c8585140da5387e06a529019b4e8eb37d4caeb9fbb948100e86f78d678ca3a3c0964d03ec368f7a4be64 SHA512 dff507ced951a4919f6fe82b276446ee6a9bfb0b3b9fe7abb2c76a3c22cdccf92f97ebcb0a476946adef5b031fd0d86f5af934b052383bdd87b5a7962b021bac
-DIST ell-0.55.tar.xz 562716 BLAKE2B b49acda837e22dec8469423dd47b397471975acdb0df034f0d85163daf0eb393b9bb75b1dd81c6e8a395e271bb0b8da01939df3497983aae5b6d270a70dcd5fc SHA512 f71b7d20a37009842ae54b72463e4c34509d00f0c344ae3b39acabe784fee83027d04b3f272f51dbc519f82ab794837b9a24ca90da55b97c757725d030c1874e
-DIST ell-0.56.tar.xz 563096 BLAKE2B 3be874ddddab558911d5ea4e4fb0b32c1557b8577435f39ee88d7302bbb0efbd24671f6c426bbeaba2704ba45b865320e6f2e31f6a9c4d86e82dc8ed38ebae9f SHA512 7255470331927f67ebd1297e6c524c9c244234cf00923016c77d90bad5e4e381605c70373a7be4ecf9c1e72ec85fbc1671960dd31fb6eec279f2299e81c66ac1
+DIST ell-0.62.tar.xz 567188 BLAKE2B f7539c5f6eac6150d10b317ec5c5296e2005130c34e43c60cb1ac758fd629b00de81da6ff816031c486986732a707e81eb71ec3dd9dbfafd1e7af53ffd73eca1 SHA512 f0019cddba737879f2567b0295ec4cdf8589b989fdaba70a885253140f742e67e33abfe25fabbf8ecfd5c61336ec9cfe359193e0579b9120a66b13e9593beabf
+DIST ell-0.64.tar.xz 567908 BLAKE2B 8f49441b0775626170a682d88c704292d2141fa7ad6427e410f96f0d863d60298178c4216194c575b83db1dc4c067665fdb89eb6af4afb17a93d1b47c0bcc2ab SHA512 21035965b6c9d5fced834b8ff232e3c2113ed2061c9e07a2e1a2acddd964e861dfa25d115b8a367e5c980ba7e356a557b750e1abd3f19bcc4456840157114928
diff --git a/dev-libs/ell/ell-0.54.ebuild b/dev-libs/ell/ell-0.54.ebuild
deleted file mode 100644
index 6ab0c68ddaec..000000000000
--- a/dev-libs/ell/ell-0.54.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 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://01.org/ell"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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.55.ebuild b/dev-libs/ell/ell-0.55.ebuild
deleted file mode 100644
index a865da2e6d3f..000000000000
--- a/dev-libs/ell/ell-0.55.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 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://01.org/ell"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~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.56.ebuild b/dev-libs/ell/ell-0.56.ebuild
deleted file mode 100644
index 5e79649bd337..000000000000
--- a/dev-libs/ell/ell-0.56.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 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://01.org/ell"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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.62.ebuild b/dev-libs/ell/ell-0.62.ebuild
new file mode 100644
index 000000000000..aaabc3bdf016
--- /dev/null
+++ b/dev-libs/ell/ell-0.62.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info
+
+DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+else
+ SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+fi
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="pie test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( sys-apps/dbus )"
+
+CONFIG_CHECK="
+ ~TIMERFD
+ ~EVENTFD
+ ~CRYPTO_USER_API
+ ~CRYPTO_USER_API_HASH
+ ~CRYPTO_MD5
+ ~CRYPTO_SHA1
+ ~KEY_DH_OPERATIONS
+"
+
+src_prepare() {
+ default
+ sed -i -e "s#/tmp/ell-test-bus#/tmp/ell-test-bus-$(uuidgen)#" \
+ unit/test-dbus*.c unit/dbus.conf || die
+ [[ "${PV}" == *9999 ]] && eautoreconf
+}
+
+src_configure() {
+ append-cflags "-fsigned-char" #662694
+ local myeconfargs=(
+ $(use_enable pie)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/ell/ell-0.64.ebuild b/dev-libs/ell/ell-0.64.ebuild
new file mode 100644
index 000000000000..966be50f1a4d
--- /dev/null
+++ b/dev-libs/ell/ell-0.64.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info
+
+DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+else
+ SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="pie test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( sys-apps/dbus )"
+
+CONFIG_CHECK="
+ ~TIMERFD
+ ~EVENTFD
+ ~CRYPTO_USER_API
+ ~CRYPTO_USER_API_HASH
+ ~CRYPTO_MD5
+ ~CRYPTO_SHA1
+ ~KEY_DH_OPERATIONS
+"
+
+src_prepare() {
+ default
+ sed -i -e "s#/tmp/ell-test-bus#/tmp/ell-test-bus-$(uuidgen)#" \
+ unit/test-dbus*.c unit/dbus.conf || die
+ [[ "${PV}" == *9999 ]] && eautoreconf
+}
+
+src_configure() {
+ append-cflags "-fsigned-char" #662694
+ local myeconfargs=(
+ $(use_enable pie)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/ell/ell-9999.ebuild b/dev-libs/ell/ell-9999.ebuild
index 5f049ed30b76..367a5a212600 100644
--- a/dev-libs/ell/ell-9999.ebuild
+++ b/dev-libs/ell/ell-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
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"
@@ -14,7 +14,7 @@ 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"
+LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="pie test"
diff --git a/dev-libs/expat/Manifest b/dev-libs/expat/Manifest
index 889a1d903e00..d78c6592adc9 100644
--- a/dev-libs/expat/Manifest
+++ b/dev-libs/expat/Manifest
@@ -1 +1,4 @@
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.5.0.ebuild b/dev-libs/expat/expat-2.5.0.ebuild
index 284d45d381c1..16e5df511891 100644
--- a/dev-libs/expat/expat-2.5.0.ebuild
+++ b/dev-libs/expat/expat-2.5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,8 +12,9 @@ SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/ex
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="examples static-libs unicode"
+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 )
@@ -37,7 +38,7 @@ src_prepare() {
}
multilib_src_configure() {
- local myconf="$(use_enable static-libs static) --without-docbook"
+ local myconf="$(use_with test tests) $(use_enable static-libs static) --without-docbook"
mkdir -p "${BUILD_DIR}"w || 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/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild b/dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild
index e2d71c2c0bf6..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,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="http://www.fastcgi.com/dist/fcgi-$(ver_cut 1-3)-SNAP-$(ver_cut 5).tar.g
LICENSE="FastCGI"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="html"
S="${WORKDIR}/${PN}-2.4.1-SNAP-0910052249"
diff --git a/dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild b/dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild
deleted file mode 100644
index 3fdf609652cb..000000000000
--- a/dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic
-
-DESCRIPTION="Loki C++ library from Modern C++ Design"
-HOMEPAGE="http://www.libferris.com/"
-SRC_URI="mirror://sourceforge/witme/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="
- >=dev-libs/libsigc++-2.6:2"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # derice this damn configure script
- sed -i \
- -e '/^CFLAGS/{s: -O3 : :g;s:-Wl,-O1 -Wl,--hash-style=both::;}' \
- -e 's:-lstlport_gcc:-lstlport:' \
- configure || die
-
- # Fix building with libsigc++-2.6
- find -name '*.h' -exec sed -i '/sigc++\/object.h/d' {} + || die
- find -name '*.hh' -exec sed -i '/sigc++\/object.h/d' {} + || die
-}
-
-src_configure() {
- append-cxxflags -std=c++11
-
- econf \
- --disable-stlport \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild b/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild
new file mode 100644
index 000000000000..21e0d7a44d11
--- /dev/null
+++ b/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic autotools
+
+DESCRIPTION="Loki C++ library from Modern C++ Design"
+HOMEPAGE="https://data-room-software.org/libferris/"
+SRC_URI="mirror://sourceforge/witme/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND=">=dev-libs/libsigc++-2.6:2"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.13-r3-configure-libsigc.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -std=c++11
+
+ econf
+}
+
+src_install() {
+ default
+
+ # package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch b/dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch
new file mode 100644
index 000000000000..7c543a91d405
--- /dev/null
+++ b/dev-libs/ferrisloki/files/ferrisloki-3.0.13-r3-configure-libsigc.patch
@@ -0,0 +1,97 @@
+Rollup of src_prepare() from previous revisions plus additional fixes
+
+ * derice damn configure script
+ * fix building with libsgc++-2.6
+ * fix building with /bin/sh -> dash (bug #886619)
+--- a/configure.in
++++ b/configure.in
+@@ -1,4 +1,5 @@
+ AC_INIT(ferrisloki, 3.0.13)
++AC_CONFIG_MACRO_DIR([macros])
+
+ PACKAGE=$PACKAGE_NAME
+ VERSION=$PACKAGE_VERSION
+@@ -45,9 +46,6 @@ AC_STDC_HEADERS
+ #AC_ARG_PROGRAM
+ AM_PROG_LIBTOOL
+
+-STLPORT_CFLAGS=""
+-STLPORT_LDFLAGS=""
+-
+ ###############################################################################
+ ###############################################################################
+ ###############################################################################
+@@ -57,12 +55,6 @@ AM_FERRIS_SIGC2( 2.0.0 )
+
+ ###############################################################################
+
+-CFLAGS=" $STLPORT_CFLAGS $CXXFLAGS -DNDEBUG "
+-CXXFLAGS=" $STLPORT_CFLAGS $CXXFLAGS -DNDEBUG "
+-LDFLAGS=" $STLPORT_LDFLAGS $LDFLAGS"
+-AC_SUBST(CFLAGS)
+-AC_SUBST(CPPFLAGS)
+-AC_SUBST(LDFLAGS)
+ AC_SUBST(CXXFLAGS)
+ AC_SUBST(CXXCPPFLAGS)
+
+--- a/macros/ferrismacros.m4
++++ b/macros/ferrismacros.m4
+@@ -303,30 +303,6 @@ if test x"$have_stlport" = xno; then
+
+ AC_LANG_CPLUSPLUS
+ STLPORT_IO64_CFLAGS=" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 "
+-
+- AC_CHECK_PROG( have_stlportcfg, stlport-config, yes, no )
+-
+- if test "$have_stlportcfg" = yes; then
+-
+-# AC_PATH_GENERIC( STLPORT, 4.5, [ have_stlport=yes ], [foo=2] )
+- stlport_installed_version=`stlport-config --version`
+-
+- # Calculate the available version number
+- [f_tmp=( `echo $stlport_installed_version | sed 's/[^0-9]\+/ /g'` )]
+- [f_tmp=$(( 1000000 * ${f_tmp[0]:-0} + 1000 * ${f_tmp[1]:-0} + ${f_tmp[2]:-0} ))]
+-
+- [freq_version=( `echo $stlport_required_version | sed 's/[^0-9]\+/ /g'` )]
+- [freq_version=$(( 1000000 * ${freq_version[0]:-0} + 1000 * ${freq_version[1]:-0} + ${freq_version[2]:-0} ))]
+-
+- if test $freq_version -gt $f_tmp ; then
+- AC_MSG_WARN([STLPort version $1 is required, you have $stlport_installed_version])
+- else
+- have_stlport=yes
+- STLPORT_LIBS=" `stlport-config --libs` -lpthread "
+- STLPORT_CFLAGS=" `stlport-config --cflags` "
+- AM_FERRIS_STLPORT_INTERNAL_TRYLINK( [have_stlport=yes], [have_stlport=no] )
+- fi
+- fi
+ fi
+
+ if test x"$have_stlport" = xno; then
+@@ -442,15 +418,11 @@ dnl
+ stlport_required_version=$1
+ have_stlport=no
+
+-attempt_to_use_stlport=yes
++attempt_to_use_stlport=no
+ AC_ARG_ENABLE(stlport,
+ [--disable-stlport Don't use STLport even if it is detected],
+ [
+- if test x$enableval = xyes; then
+- attempt_to_use_stlport=yes
+- else
+- attempt_to_use_stlport=no
+- fi
++ attempt_to_use_stlport=no
+ ])
+
+ echo "attempt_to_use_stlport:${attempt_to_use_stlport}"
+--- a/src/Extensions.hh
++++ b/src/Extensions.hh
+@@ -29,7 +29,6 @@
+ ******************************************************************************/
+
+ #include <sigc++/signal.h>
+-#include <sigc++/object.h>
+ #include <loki/SmartPtr.h>
+ #include <loki/SmallObj.h>
+
diff --git a/dev-libs/ffcall/ffcall-2.4-r1.ebuild b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
index 370cad023a20..cd0ba85f08fd 100644
--- a/dev-libs/ffcall/ffcall-2.4-r1.ebuild
+++ b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}"/${MY_PV}
# 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 ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
PATCHES=(
# bug 842915, drop on next version bump
diff --git a/dev-libs/ffcall/ffcall-2.4.ebuild b/dev-libs/ffcall/ffcall-2.4.ebuild
index 286058bbcc34..1b41ad034e33 100644
--- a/dev-libs/ffcall/ffcall-2.4.ebuild
+++ b/dev-libs/ffcall/ffcall-2.4.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}"/${MY_PV}
# 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 ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
PATCHES=(
# bug 842915, drop on next version bump
diff --git a/dev-libs/flatbuffers/Manifest b/dev-libs/flatbuffers/Manifest
index 87667c2f6406..080fa756df8b 100644
--- a/dev-libs/flatbuffers/Manifest
+++ b/dev-libs/flatbuffers/Manifest
@@ -1,4 +1 @@
-DIST flatbuffers-2.0.6.tar.gz 1724250 BLAKE2B b6969b28dba753c4551b33d27409d9925c10a640ae860264f8054c19a470ce3da366c0bf7917bf7fe4f6cb57acbfbe1837f175fde40b84d311df6d1378d146ce SHA512 be631f34064c28d81876bf137c796e9736623cf2cc4f2a05dd45372e7195729c99fad1fa795f8ce71a408756a842edbdc0c3bc714a7cf63203a1de8681d86fb6
-DIST flatbuffers-22.12.06.gh.tar.gz 2172096 BLAKE2B 92bf0c56c10fa369e7a8a53a7f903af6b5f17560a3558587914c29ab8a655f3ee078c3e261426ca5d9ad0587419d4f0049459edc552e25958f80b80ba9539d59 SHA512 1b2c8eaa2ebeb92c3ebc363888b34b817d7b62a568e40bce2b037814f1f0103d4cb7db8507ec9ca05421be61b0b2be3edd6c4d564f75d1ce39278d73f8442ac1
-DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f
-DIST flatbuffers-23.1.4.gh.tar.gz 2178791 BLAKE2B 8c354c539378f7d8e05307f7ba0f5393265a6183fc8868d48b8da5ab7d39a3e7a7f85631db00f0dc57bf396d20652049303a79fbf31f07639d80596d300a7701 SHA512 8b3e1b9596a76548faca529fe5070e775be50bfdea079ba4f66014f5a1bfb93f8edd7e56f97363c897d2db8391277a9099a61d14e4298c3669ab7068bbf07865
+DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-libs/flatbuffers/files/flatbuffers-2.0.6-locales-detection-fixup.patch b/dev-libs/flatbuffers/files/flatbuffers-2.0.6-locales-detection-fixup.patch
deleted file mode 100644
index 6ab1b085876c..000000000000
--- a/dev-libs/flatbuffers/files/flatbuffers-2.0.6-locales-detection-fixup.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f10f1fdeab9dedf8206965b73a52e02e3de3bc41 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Wed, 22 Jun 2022 13:09:43 -0500
-Subject: [PATCH] Fix base.h to only include locale support for glibc users
-
-Signed-off-by: Jory Pratt <anarchy@gentoo.org>
----
- include/flatbuffers/base.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/flatbuffers/base.h b/include/flatbuffers/base.h
-index 458ac3f..46d6d80 100644
---- a/include/flatbuffers/base.h
-+++ b/include/flatbuffers/base.h
-@@ -262,7 +262,7 @@ namespace flatbuffers {
- #ifndef FLATBUFFERS_LOCALE_INDEPENDENT
- // Enable locale independent functions {strtof_l, strtod_l,strtoll_l, strtoull_l}.
- #if ((defined(_MSC_VER) && _MSC_VER >= 1800) || \
-- (defined(_XOPEN_VERSION) && (_XOPEN_VERSION>=700)) && (!defined(__ANDROID_API__) || (defined(__ANDROID_API__) && (__ANDROID_API__>=21))))
-+ (defined(__GLIBC__) && defined(_XOPEN_VERSION) && (_XOPEN_VERSION>=700)) && (!defined(__ANDROID_API__) || (defined(__ANDROID_API__) && (__ANDROID_API__>=21))))
- #define FLATBUFFERS_LOCALE_INDEPENDENT 1
- #else
- #define FLATBUFFERS_LOCALE_INDEPENDENT 0
---
-2.35.1
-
diff --git a/dev-libs/flatbuffers/flatbuffers-2.0.6-r1.ebuild b/dev-libs/flatbuffers/flatbuffers-2.0.6-r1.ebuild
deleted file mode 100644
index 4fd61a266b9f..000000000000
--- a/dev-libs/flatbuffers/flatbuffers-2.0.6-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Memory efficient serialization library"
-HOMEPAGE="https://google.github.io/flatbuffers/"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-# From 1.2.0->2.0.0, incremented SONAME, although the interface didn't actually change.
-# (Apparently to adopt semver.)
-SLOT="0/2"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-IUSE="static-libs test"
-
-# out-of-source build broken, bug #842060
-RESTRICT="test !test? ( test )"
-
-DOCS=( readme.md )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.0.6-locales-detection-fixup.patch
-)
-
-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/flatbuffers-22.12.06.ebuild b/dev-libs/flatbuffers/flatbuffers-22.12.06.ebuild
deleted file mode 100644
index d20c1234354b..000000000000
--- a/dev-libs/flatbuffers/flatbuffers-22.12.06.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Memory efficient serialization library"
-HOMEPAGE="
- https://google.github.io/flatbuffers/
- 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/2"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-DOCS=( readme.md )
-
-src_configure() {
- local mycmakeargs=(
- -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
- -DFLATBUFFERS_BUILD_SHAREDLIB=ON
- -DFLATBUFFERS_BUILD_TESTS=$(usex test)
- -DFLATBUFFERS_BUILD_BENCHMARKS=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/flatbuffers/flatbuffers-23.1.21.ebuild b/dev-libs/flatbuffers/flatbuffers-23.1.21.ebuild
deleted file mode 100644
index 7b43c4bca4fb..000000000000
--- a/dev-libs/flatbuffers/flatbuffers-23.1.21.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Memory efficient serialization library"
-HOMEPAGE="
- https://google.github.io/flatbuffers/
- 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 ~riscv ~x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-DOCS=( readme.md )
-
-src_configure() {
- local mycmakeargs=(
- -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
- -DFLATBUFFERS_BUILD_SHAREDLIB=ON
- -DFLATBUFFERS_BUILD_TESTS=$(usex test)
- -DFLATBUFFERS_BUILD_BENCHMARKS=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/flatbuffers/flatbuffers-23.1.4.ebuild b/dev-libs/flatbuffers/flatbuffers-23.1.4.ebuild
deleted file mode 100644
index fe724780b7de..000000000000
--- a/dev-libs/flatbuffers/flatbuffers-23.1.4.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Memory efficient serialization library"
-HOMEPAGE="
- https://google.github.io/flatbuffers/
- 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 ~riscv ~x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-DOCS=( readme.md )
-
-src_configure() {
- local mycmakeargs=(
- -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
- -DFLATBUFFERS_BUILD_SHAREDLIB=ON
- -DFLATBUFFERS_BUILD_TESTS=$(usex test)
- -DFLATBUFFERS_BUILD_BENCHMARKS=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild b/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild
new file mode 100644
index 000000000000..ead2e8a0a127
--- /dev/null
+++ b/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Memory efficient serialization library"
+HOMEPAGE="
+ https://flatbuffers.dev/
+ https://github.com/google/flatbuffers/
+"
+SRC_URI="
+ https://github.com/google/flatbuffers/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
+ -DFLATBUFFERS_BUILD_SHAREDLIB=ON
+ -DFLATBUFFERS_BUILD_TESTS=$(usex test)
+ -DFLATBUFFERS_BUILD_BENCHMARKS=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/flatbuffers/metadata.xml b/dev-libs/flatbuffers/metadata.xml
index e85fcdaad83e..3349130b9b78 100644
--- a/dev-libs/flatbuffers/metadata.xml
+++ b/dev-libs/flatbuffers/metadata.xml
@@ -7,5 +7,6 @@
</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 5483c6d39711..f63189255e12 100644
--- a/dev-libs/folks/Manifest
+++ b/dev-libs/folks/Manifest
@@ -1 +1,3 @@
-DIST folks-0.15.5.tar.xz 492976 BLAKE2B bb831a637dec44ba0e9bb815c2559e3b7f484734fc297293c392bb2c72dea77c5e8aec3e7c76a096288f84f463041fb0b52a3cb50a83c5d84bed818c6af72a27 SHA512 696d158234cc5b4c504491c6e01dc45ed53c4ac02e3e62e637d229207dde396a82a850d143d8615dc838d99c756edfce145405ea3972c556951d6408fb8487ea
+DIST folks-0.15.6.tar.xz 497968 BLAKE2B bb9237fae05a748a18a85d29034e879947c4ffcc1d3dbe7277c8e1f41e6e9c9ec27170e9e7d2ccb6dcc89789d331f7f320648620636e1ee54685906fc67ba4f9 SHA512 8d77c3b4c963d88877798b24da9edd977b3ac4b18568ed75885fa87bf81e0e8f29dc8232352e3fefc0bf2c9bb8ca6cea984d87d946a3892963a158bd4f45dc30
+DIST folks-0.15.7.tar.xz 502128 BLAKE2B b93146b216dd31dbc07cf770130593f830c01568aff3424bf4d0d8588ac651ea225ed6d3b38b9855d82dbef168605145a3a3de49706dd2ab31a4d368636dddf0 SHA512 52657b45678aa2418a44b0c8d332ac207eff18b02ca5c0d1491bdf8bae6552f30f2b6435804adc2a5fa66997f2cea09bdfe399dfaf52f3d8b7a5bde11b137c35
+DIST folks-0.15.9.tar.xz 506044 BLAKE2B e239c0ca3b51a5452620f5abaf37b34413b0a5ee867cc682214abd00c21d6375abf1a31755acd69360e47604c61572a63ffbe91f38485be1a83685a98aa34cd0 SHA512 8b1f0afaaf0907a9609863ec913eab75c7f60e3d1fd54e553fdb8d425f33cfb6043171bc5b7cc1dc66b1de702e1a8f5dd229c707d99af47dd3926ec0588c87fd
diff --git a/dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch b/dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch
new file mode 100644
index 000000000000..7ab37e0b1bc2
--- /dev/null
+++ b/dev-libs/folks/files/0.15.7-bluez-tests-dbusmock-0.30.1.patch
@@ -0,0 +1,28 @@
+From 9c3212cd6c3f4157e1b9afa5c90d054de1418acf Mon Sep 17 00:00:00 2001
+From: Niels De Graef <ndegraef@redhat.com>
+Date: Fri, 12 Jan 2024 22:57:42 +0100
+Subject: [PATCH] Revert "tests/bluez: Follow PairDevice() API change"
+
+This reverts commit b6b7d41aad9e36e0d0e6ec9822ed2e310923c8fd.
+
+See https://github.com/martinpitt/python-dbusmock/pull/192
+---
+ tests/lib/bluez/backend.vala | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/lib/bluez/backend.vala b/tests/lib/bluez/backend.vala
+index 72c688d3..023117e6 100644
+--- a/tests/lib/bluez/backend.vala
++++ b/tests/lib/bluez/backend.vala
+@@ -39,7 +39,7 @@ namespace org
+
+ [DBus (name = "PairDevice")]
+ public abstract void pair_device (string adapter_device_name,
+- string device_address, int class_=5898764) throws GLib.Error;
++ string device_address) throws GLib.Error;
+
+ [DBus (name = "BlockDevice")]
+ public abstract void block_device (string adapter_device_name,
+--
+GitLab
+
diff --git a/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch
new file mode 100644
index 000000000000..f61d655343e4
--- /dev/null
+++ b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch
@@ -0,0 +1,61 @@
+From 127bacf86b7ef639c37dd07afc0bf848c005c3c2 Mon Sep 17 00:00:00 2001
+From: Mohammed Anas <triallax@tutanota.com>
+Date: Sun, 14 Jan 2024 03:27:31 +0000
+Subject: [PATCH] build: add missing API declaration -include to dummy and EDS
+ backends
+
+In 7a9c8133468c1f8eb7fbb0e68a6a7e061b9452fb, the original
+`-include redeclare-internal-api.h` was added for autotools. It is
+necessary due to vala internals that require guaranteeing a private
+ABI's prototype is available when compiling folks, even though vala
+doesn't generate that prototype.
+
+During the port to meson, this `-include` was dropped.
+
+Without it, `-Werror=implicit-function-declaration` will cause folks to
+fail to compile. Implicit function declarations are a terrible feature
+-- they were part of c89, but c99 removed them without a deprecation
+because they were too dangerous to use, notable in a language that
+doesn't like to remove features even *with* a deprecation.
+
+For over two decades, compilers have, by default, allowed this invalid C
+anyways, on the grounds that it commonly existed, but modern compilers
+are finally starting to enforce this. It will become a fatal error by
+default in gcc 14, and clang 16.
+
+Folks got this right all the way back in 2013; it disappeared by
+accident. Let's restore it as originally intended.
+---
+Upstream: https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
+
+ backends/dummy/lib/meson.build | 1 +
+ backends/eds/lib/meson.build | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/backends/dummy/lib/meson.build b/backends/dummy/lib/meson.build
+index 32448f35..eacc0e7a 100644
+--- a/backends/dummy/lib/meson.build
++++ b/backends/dummy/lib/meson.build
+@@ -23,6 +23,7 @@ dummy_backendlib_vala_flags = [
+
+ dummy_backendlib_c_flags = [
+ '-include', 'config.h',
++ '-include', 'folks/redeclare-internal-api.h',
+ '-DBACKEND_NAME="@0@"'.format(dummy_backend_name),
+ '-DG_LOG_DOMAIN="@0@"'.format(dummy_backend_name),
+ ]
+diff --git a/backends/eds/lib/meson.build b/backends/eds/lib/meson.build
+index 3e3db84c..68d803b3 100644
+--- a/backends/eds/lib/meson.build
++++ b/backends/eds/lib/meson.build
+@@ -40,6 +40,7 @@ endif
+
+ eds_backendlib_c_flags = [
+ '-include', 'config.h',
++ '-include', 'folks/redeclare-internal-api.h',
+ '-DBACKEND_NAME="@0@"'.format(eds_backend_name),
+ '-DG_LOG_DOMAIN="@0@"'.format(eds_backend_name),
+ ]
+--
+GitLab
+
diff --git a/dev-libs/folks/folks-0.15.5.ebuild b/dev-libs/folks/folks-0.15.5.ebuild
deleted file mode 100644
index 36c177483257..000000000000
--- a/dev-libs/folks/folks-0.15.5.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
-
-DESCRIPTION="Library for aggregating people from multiple sources"
-HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/26" # subslot = libfolks soname version
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~x86-linux"
-
-IUSE="bluetooth eds telepathy test utils"
-REQUIRED_USE="bluetooth? ( eds )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=dev-libs/glib-2.58:2
- >=dev-libs/libgee-0.10:0.8[introspection]
- >=dev-libs/gobject-introspection-1.54:=
- telepathy? (
- >=net-libs/telepathy-glib-0.19.9
- dev-libs/dbus-glib
- )
- eds? ( >=gnome-extra/evolution-data-server-3.38:= )
- dev-libs/libxml2:2
- utils? ( sys-libs/readline:0= )
-"
-# telepathy-mission-control needed at runtime; it is used by the telepathy
-# backend via telepathy-glib's AccountManager binding.
-RDEPEND="${DEPEND}
- bluetooth? ( >=net-wireless/bluez-5[obex] )
- telepathy? ( net-im/telepathy-mission-control )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- $(vala_depend)
- telepathy? ( net-libs/telepathy-glib[vala] )
- eds? ( gnome-extra/evolution-data-server[vala] )
- test? (
- sys-apps/dbus
- bluetooth? (
- $(python_gen_any_dep '
- dev-python/python-dbusmock[${PYTHON_USEDEP}]
- ')
- )
- )
-"
-
-python_check_deps() {
- if use test && use bluetooth; then
- python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
- fi
-}
-
-src_prepare() {
- default
- vala_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use bluetooth bluez_backend)
- $(meson_use eds eds_backend)
- $(meson_use eds ofono_backend)
- $(meson_use telepathy telepathy_backend)
- -Dzeitgeist=false # last rited package
- -Dimport_tool=true
- $(meson_use utils inspect_tool)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
- )
- meson_src_configure
-}
-
-src_test() {
- dbus-run-session meson test -C "${BUILD_DIR}" -t 5
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/dev-libs/folks/folks-0.15.6-r1.ebuild b/dev-libs/folks/folks-0.15.6-r1.ebuild
new file mode 100644
index 000000000000..a01a4476a16d
--- /dev/null
+++ b/dev-libs/folks/folks-0.15.6-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/26" # subslot = libfolks soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x86-linux"
+
+IUSE="bluetooth eds telepathy test utils"
+REQUIRED_USE="bluetooth? ( eds )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/glib-2.58:2
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ >=dev-libs/gobject-introspection-1.54:=
+ telepathy? (
+ >=net-libs/telepathy-glib-0.19.9
+ dev-libs/dbus-glib
+ )
+ eds? ( >=gnome-extra/evolution-data-server-3.38:= )
+ dev-libs/libxml2:2
+ utils? ( sys-libs/readline:0= )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${DEPEND}
+ bluetooth? ( >=net-wireless/bluez-5[obex] )
+ telepathy? ( net-im/telepathy-mission-control )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+ telepathy? ( net-libs/telepathy-glib[vala] )
+ eds? ( gnome-extra/evolution-data-server[vala] )
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ $(python_gen_any_dep '
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+PATCHES=(
+ # implicit function declaration (Modern C porting):
+ # - https://bugs.gentoo.org/920098
+ # - https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
+ "${FILESDIR}"/folks-0.15.6-implicit-decl.patch
+)
+
+python_check_deps() {
+ if use test && use bluetooth; then
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth bluez_backend)
+ $(meson_use eds eds_backend)
+ $(meson_use eds ofono_backend)
+ $(meson_use telepathy telepathy_backend)
+ -Dzeitgeist=false # last rited package
+ -Dimport_tool=true
+ $(meson_use utils inspect_tool)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
+ )
+ meson_src_configure
+}
+
+src_test() {
+ dbus-run-session meson test -C "${BUILD_DIR}" -t 5
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/folks/folks-0.15.6.ebuild b/dev-libs/folks/folks-0.15.6.ebuild
new file mode 100644
index 000000000000..45afd5a484b8
--- /dev/null
+++ b/dev-libs/folks/folks-0.15.6.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/26" # subslot = libfolks soname version
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~x86-linux"
+
+IUSE="bluetooth eds telepathy test utils"
+REQUIRED_USE="bluetooth? ( eds )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/glib-2.58:2
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ >=dev-libs/gobject-introspection-1.54:=
+ telepathy? (
+ >=net-libs/telepathy-glib-0.19.9
+ dev-libs/dbus-glib
+ )
+ eds? ( >=gnome-extra/evolution-data-server-3.38:= )
+ dev-libs/libxml2:2
+ utils? ( sys-libs/readline:0= )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${DEPEND}
+ bluetooth? ( >=net-wireless/bluez-5[obex] )
+ telepathy? ( net-im/telepathy-mission-control )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+ telepathy? ( net-libs/telepathy-glib[vala] )
+ eds? ( gnome-extra/evolution-data-server[vala] )
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ $(python_gen_any_dep '
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+python_check_deps() {
+ if use test && use bluetooth; then
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth bluez_backend)
+ $(meson_use eds eds_backend)
+ $(meson_use eds ofono_backend)
+ $(meson_use telepathy telepathy_backend)
+ -Dzeitgeist=false # last rited package
+ -Dimport_tool=true
+ $(meson_use utils inspect_tool)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
+ )
+ meson_src_configure
+}
+
+src_test() {
+ dbus-run-session meson test -C "${BUILD_DIR}" -t 5
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/folks/folks-0.15.7.ebuild b/dev-libs/folks/folks-0.15.7.ebuild
new file mode 100644
index 000000000000..321ca83f3284
--- /dev/null
+++ b/dev-libs/folks/folks-0.15.7.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Library for aggregating people from multiple sources"
+HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/26" # subslot = libfolks soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x86-linux"
+
+IUSE="bluetooth eds telepathy test utils"
+REQUIRED_USE="bluetooth? ( eds )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ >=dev-libs/glib-2.58:2
+ >=dev-libs/libgee-0.10:0.8[introspection]
+ >=dev-libs/gobject-introspection-1.54:=
+ telepathy? (
+ >=net-libs/telepathy-glib-0.19.9
+ dev-libs/dbus-glib
+ )
+ eds? ( >=gnome-extra/evolution-data-server-3.38:= )
+ dev-libs/libxml2:2
+ utils? ( sys-libs/readline:0= )
+"
+# telepathy-mission-control needed at runtime; it is used by the telepathy
+# backend via telepathy-glib's AccountManager binding.
+RDEPEND="${DEPEND}
+ bluetooth? ( >=net-wireless/bluez-5[obex] )
+ telepathy? ( net-im/telepathy-mission-control )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ $(vala_depend)
+ telepathy? ( net-libs/telepathy-glib[vala] )
+ eds? ( gnome-extra/evolution-data-server[vala] )
+ test? (
+ sys-apps/dbus
+ bluetooth? (
+ $(python_gen_any_dep '
+ >=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]
+ ')
+ )
+ )
+"
+
+PATCHES=(
+ # implicit function declaration (Modern C porting):
+ # - https://bugs.gentoo.org/920098
+ # - https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
+ "${FILESDIR}"/folks-0.15.6-implicit-decl.patch
+ # Fix BluezBackend tests with python-dbusmock-0.30.1 and newer
+ "${FILESDIR}"/${PV}-bluez-tests-dbusmock-0.30.1.patch
+)
+
+python_check_deps() {
+ if use test && use bluetooth; then
+ python_has_version ">=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]"
+ fi
+}
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use bluetooth bluez_backend)
+ $(meson_use eds eds_backend)
+ $(meson_use eds ofono_backend)
+ $(meson_use telepathy telepathy_backend)
+ -Dzeitgeist=false # last rited package
+ -Dimport_tool=true
+ $(meson_use utils inspect_tool)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # Avoid warnings when /etc/profile.d/flatpak.sh from flatpak modified XDG_DATA_DIRS
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share
+ dbus-run-session meson test -C "${BUILD_DIR}" -t 5 || die "tests failed"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/dev-libs/folks/folks-0.15.9.ebuild b/dev-libs/folks/folks-0.15.9.ebuild
new file mode 100644
index 000000000000..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/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/foma-0.10.0_p20220612.ebuild b/dev-libs/foma/foma-0.10.0_p20220612.ebuild
deleted file mode 100644
index 1ba9f8a3597f..000000000000
--- a/dev-libs/foma/foma-0.10.0_p20220612.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022 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="sys-devel/bison
- sys-devel/flex"
-DEPEND="sys-libs/readline:=
- sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/foma-${MY_COMMIT}/foma"
-
-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
index a1fbf3c0c993..88d2163e2a86 100644
--- a/dev-libs/foma/metadata.xml
+++ b/dev-libs/foma/metadata.xml
@@ -5,4 +5,7 @@
<email>juippis@gentoo.org</email>
<name>Joonas Niilola</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">mhulden/foma</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/freexl/Manifest b/dev-libs/freexl/Manifest
index 738d63c9261f..a7a8e79184ae 100644
--- a/dev-libs/freexl/Manifest
+++ b/dev-libs/freexl/Manifest
@@ -1,2 +1,3 @@
DIST freexl-1.0.5.tar.gz 938994 BLAKE2B a3d2667271f6ab3de61a90f75ba8f7a645c5eddcd7f6d452fbbd59dc211c4676bdef7f7772235f60898de1e0a6d2e4951a3eadf77c4766bf938f5d8465f9de42 SHA512 86d742f58353be1f3ab683899a4d914845250b481acc078c769ef337d0a6ea24d25501a3e7c73b95904c6839ddd35f53e58ad4eee0c3b433caa84db0a8c6462b
DIST freexl-1.0.6.tar.gz 941179 BLAKE2B e0b04e66c56d3a2805eed3f86442269843a2ccf7133669b9506a1812562396f2b5bbc04e29c9f829d9df6e627fa31b87fccc5407275ffb205ff498bd47bc4b89 SHA512 efbbe261e57d5c05167ad8e1d5a5b348a7e702c0a4030b18dd2a8c60a38332caccbb073ff604bdf5bafac827310b41c7b79f9fa519ea512d6de2eafd9c1f71f6
+DIST freexl-2.0.0.tar.gz 991565 BLAKE2B 1fcb894b61fce05feeb89d36547291edb98ef8f2c40145e513d0f1f58357a3443b0a93b0c0283f0040b0687d980c5f165b1a080a9955814412cddc47bd550010 SHA512 663ccc321c2f0dcab8ad9255b2a77066c2046d531a0aa723fb114301fa27b53bf980787dd2548c46541036eceef988c5eedf2bec053adf628929470e67ddc17a
diff --git a/dev-libs/freexl/freexl-1.0.6.ebuild b/dev-libs/freexl/freexl-1.0.6.ebuild
index cc7c1fda2005..04dcf301b20e 100644
--- a/dev-libs/freexl/freexl-1.0.6.ebuild
+++ b/dev-libs/freexl/freexl-1.0.6.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+inherit libtool
+
DESCRIPTION="Simple XLS data extraction library"
HOMEPAGE="https://www.gaia-gis.it/fossil/freexl/index"
SRC_URI="https://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
@@ -14,6 +16,11 @@ KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 ~riscv x86"
DEPEND="virtual/libiconv"
RDEPEND="${DEPEND}"
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
econf --disable-static
}
diff --git a/dev-libs/freexl/freexl-2.0.0-r1.ebuild b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..c13a8a75b37f
--- /dev/null
+++ b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool
+
+DESCRIPTION="Simple XLS data extraction library"
+HOMEPAGE="https://www.gaia-gis.it/fossil/freexl/index"
+SRC_URI="https://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
+
+LICENSE="|| ( MPL-1.1 GPL-2+ LGPL-2.1+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
+
+DEPEND="
+ dev-libs/expat
+ sys-libs/zlib[minizip]
+ virtual/libiconv
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ econf --enable-xmldocs
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/fribidi/Manifest b/dev-libs/fribidi/Manifest
index d9274684e598..0c2bd2c704d2 100644
--- a/dev-libs/fribidi/Manifest
+++ b/dev-libs/fribidi/Manifest
@@ -1 +1 @@
-DIST fribidi-1.0.12.tar.xz 1154912 BLAKE2B f76f9d28f738f0cc9790ccdf0fe419cb0e7d70b24aa825844d23c4b31ad51c33f09c88ad4876fa6a52523f2a52d5eb7a4b50deeb70f9db750c69ac236ecfa8f5 SHA512 cd624f519b270303e89139ced4020115abe3b6a0d774ba57f17fa69c6036edebd76c635a42c468786e76c6ffb0c7d63b435cd2663bc2fba08dec405840dd8e49
+DIST fribidi-1.0.13.tar.xz 1170100 BLAKE2B 8cc31220304ddbdeb0047b30ed9084921920b32ad3f1bdcf29ecbb2fafbd430c391bc99bb7f205546ff8482aea1ef7ed369da71deb3474aa623fc2aeace1b62a SHA512 09357d842ff9e05b918f826e28e4a25ad996e17f73242ee9ce53fae9f37ec6c639f9cae4271577f6e0269f34265afc893858225c4a94610f0a6ee7580fb1fe07
diff --git a/dev-libs/fribidi/fribidi-1.0.12.ebuild b/dev-libs/fribidi/fribidi-1.0.12.ebuild
deleted file mode 100644
index b85a0deb64f0..000000000000
--- a/dev-libs/fribidi/fribidi-1.0.12.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="virtual/pkgconfig"
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddeprecated=true
- $(meson_native_use_bool doc docs)
- -Dbin=true
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/fribidi/fribidi-1.0.13.ebuild b/dev-libs/fribidi/fribidi-1.0.13.ebuild
new file mode 100644
index 000000000000..d752a04351c7
--- /dev/null
+++ b/dev-libs/fribidi/fribidi-1.0.13.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="A free implementation of the unicode bidirectional algorithm"
+HOMEPAGE="https://fribidi.org/"
+SRC_URI="https://github.com/fribidi/fribidi/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="virtual/pkgconfig"
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddeprecated=true
+ $(meson_native_use_bool doc docs)
+ -Dbin=true
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/gdl/gdl-3.40.0.ebuild b/dev-libs/gdl/gdl-3.40.0.ebuild
index 843f97d4df1e..6ed8a7bafa1a 100644
--- a/dev-libs/gdl/gdl-3.40.0.ebuild
+++ b/dev-libs/gdl/gdl-3.40.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,7 +19,7 @@ RDEPEND="
introspection? ( >=dev-libs/gobject-introspection-0.6.7:= )
"
DEPEND="${RDEPEND}
- >=dev-util/gtk-doc-am-1.4
+ >=dev-build/gtk-doc-am-1.4
"
BDEPEND="
>=dev-util/intltool-0.40.4
diff --git a/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild b/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild
index 50550ea6c716..ed99fb6e058e 100644
--- a/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild
+++ b/dev-libs/gf-complete/gf-complete-2.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -15,9 +15,6 @@ SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
IUSE=""
-DEPEND=""
-RDEPEND="${DEPEND}"
-
src_prepare() {
sed -i -e 's/ -O3 $(SIMD_FLAGS)//g' src/Makefile.am tools/Makefile.am test/Makefile.am examples/Makefile.am|| die
eapply_user
diff --git a/dev-libs/gf2x/gf2x-1.3.0-r1.ebuild b/dev-libs/gf2x/gf2x-1.3.0-r1.ebuild
index bb6abab0ffb6..1054fa5e2557 100644
--- a/dev-libs/gf2x/gf2x-1.3.0-r1.ebuild
+++ b/dev-libs/gf2x/gf2x-1.3.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,9 +10,10 @@ HOMEPAGE="https://gitlab.inria.fr/thome/gf2x/ https://gforge.inria.fr/projects/g
# The Gitlab release is missing the autotools files.
SRC_URI="https://gforge.inria.fr/frs/download.php/38243/${P}.tar.gz"
-LICENSE="GPL-2"
+# License is tricky, see their README
+LICENSE="GPL-3+ GPL-2+"
SLOT="0/3" # soname major version, defined in configure.ac
-KEYWORDS="amd64 ~arm64 ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
+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_}"
diff --git a/dev-libs/girara/Manifest b/dev-libs/girara/Manifest
index 250b7af5a3cf..7db83ba1feba 100644
--- a/dev-libs/girara/Manifest
+++ b/dev-libs/girara/Manifest
@@ -1,4 +1,2 @@
-DIST girara-0.3.5.tar.xz 60488 BLAKE2B 2d0f2f0635e8e8906810b1425191f5d70b7f9af0985c461bd90654e83d87ad698da225d70064438fed4473295aca8dbd26c4ce1efd96f8a7399e7145b1f8c111 SHA512 e7c5bf887b29767878502224ad45d62e43b3da91bd8e754603256550d4f0126f1493f0fb7473a4ebb8cc5909306564249c6a60e99eba2b0b417b98c728fcdc84
-DIST girara-0.3.6.tar.xz 60056 BLAKE2B 4a9f651e2127c7924cd3e55c7f955b3f80b90849b5ee06f2785388ae3adbb8910bb90e59f934f426fdb6d8e7d797ac82a52bc7b05becff56e1aff610e5e56081 SHA512 e9496b1bb629d59377ed1fee8a2fab2c7e5d60845e6777ed9bb796e1843fea20abda32d7de885f01e892654ea996490403c442021528b6b4f2aa50cf54d74c42
-DIST girara-0.3.7.tar.xz 60352 BLAKE2B 59515baf53d3ef46d98d5720437c253c82637df8380abe04a1649d4a2636124d6d0dfb001c9363d8a33a1bc496511e90b8c5365db34a29d489802fc780575d2a SHA512 9b91ef7e5047b3250327eab9280372f38615e9948884c108c3d1c5d3e81794f786adc827692b112d2bfdc2660e22206a143fafd5a814408df8ffd4c858148717
-DIST girara-0.3.9.tar.xz 60832 BLAKE2B e577c4273c2d8f4d51e0ee283184ecd2b5b48877996f95aa5cec83ad716efd4946508203d3108d451492ff5d118d965ca98d86f4e0d9b31fcc1cc0b2266b9511 SHA512 b5399b26389cff0c6aa6f70687b53a99243d38d66ec401f48de49391c88b31dc3287366819288c405051d14f4f778db952953d48be51ac47d90d9f3604c94708
+DIST girara-0.4.0.tar.xz 60804 BLAKE2B 4653986945b89c87c597f20425c0009473679578b9a92fd3f4480aa2decc5dcbb2c1a2b0db07bef67c818c2e2940b6c363da0020fa24e7001be13cb68e2ba945 SHA512 a8753231cb9de7d60ddaf6e7b19537f23ce447be5885725c982e395068466089fca46980d413cc4ea8e4a8059ccd4615366297600bcf7ef5bddf02d649703dec
+DIST girara-0.4.2.tar.xz 61468 BLAKE2B 7be287045c269c8a1f2b51b14f0b7f840d7d5929f81c27410a86653943f73b07a1ce16c5a5fe420e7df6f02d4f426b48a622d4cf483dc5065cd8551e273d8fcf SHA512 70dddf8998e37acce25325ddeb5a9b5c5844669b51320733d9d7a572831f28c72207aa6d608b7a856969d7fd0785cbab076596b814eb2e9ef37bf49bb5d476ae
diff --git a/dev-libs/girara/girara-0.3.5.ebuild b/dev-libs/girara/girara-0.3.5.ebuild
deleted file mode 100644
index 67aab558816f..000000000000
--- a/dev-libs/girara/girara-0.3.5.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson virtualx
-
-DESCRIPTION="UI library that focuses on simplicity and minimalism"
-HOMEPAGE="https://pwmt.org/projects/girara/"
-
-if [[ ${PV} == *999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
- EGIT_BRANCH="develop"
-else
- SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="amd64 arm ~riscv x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/glib:2
- dev-libs/json-c:=
- >=x11-libs/gtk+-3.20:3
- libnotify? ( x11-libs/libnotify )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- virtual/pkgconfig"
-
-src_configure() {
- local emesonargs=(
- -Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/girara/girara-0.3.6.ebuild b/dev-libs/girara/girara-0.3.6.ebuild
deleted file mode 100644
index 67aab558816f..000000000000
--- a/dev-libs/girara/girara-0.3.6.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson virtualx
-
-DESCRIPTION="UI library that focuses on simplicity and minimalism"
-HOMEPAGE="https://pwmt.org/projects/girara/"
-
-if [[ ${PV} == *999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
- EGIT_BRANCH="develop"
-else
- SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="amd64 arm ~riscv x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/glib:2
- dev-libs/json-c:=
- >=x11-libs/gtk+-3.20:3
- libnotify? ( x11-libs/libnotify )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- virtual/pkgconfig"
-
-src_configure() {
- local emesonargs=(
- -Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/girara/girara-0.3.7.ebuild b/dev-libs/girara/girara-0.3.7.ebuild
deleted file mode 100644
index 7d10e474a577..000000000000
--- a/dev-libs/girara/girara-0.3.7.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson virtualx
-
-DESCRIPTION="UI library that focuses on simplicity and minimalism"
-HOMEPAGE="https://pwmt.org/projects/girara/"
-
-if [[ ${PV} == *999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
- EGIT_BRANCH="develop"
-else
- SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="amd64 arm ~riscv x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/glib:2
- dev-libs/json-c:=
- >=x11-libs/gtk+-3.20:3
- libnotify? ( x11-libs/libnotify )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- virtual/pkgconfig"
-
-src_configure() {
- local emesonargs=(
- -Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/girara/girara-0.3.9.ebuild b/dev-libs/girara/girara-0.3.9.ebuild
deleted file mode 100644
index 88dc773e88de..000000000000
--- a/dev-libs/girara/girara-0.3.9.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson virtualx
-
-DESCRIPTION="UI library that focuses on simplicity and minimalism"
-HOMEPAGE="https://pwmt.org/projects/girara/"
-
-if [[ ${PV} == *999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
- EGIT_BRANCH="develop"
-else
- SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~riscv ~x86"
-fi
-
-LICENSE="ZLIB"
-SLOT="0"
-IUSE="doc libnotify test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/glib:2
- dev-libs/json-glib:=
- >=x11-libs/gtk+-3.20:3
- libnotify? ( x11-libs/libnotify )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- virtual/pkgconfig"
-
-src_configure() {
- local emesonargs=(
- -Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/girara/girara-0.4.0-r1.ebuild b/dev-libs/girara/girara-0.4.0-r1.ebuild
new file mode 100644
index 000000000000..cd469d5dc7e7
--- /dev/null
+++ b/dev-libs/girara/girara-0.4.0-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson virtualx
+
+DESCRIPTION="UI library that focuses on simplicity and minimalism"
+HOMEPAGE="https://pwmt.org/projects/girara/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
+ KEYWORDS="amd64 arm ~riscv x86"
+fi
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="doc libnotify test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/glib:2
+ dev-libs/json-glib:=
+ media-libs/harfbuzz:=
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/gtk+-3.20:3
+ x11-libs/pango
+ libnotify? ( x11-libs/libnotify )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( x11-base/xorg-proto )
+"
+# Tests are run under virtx
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? (
+ dev-libs/check
+ x11-libs/gtk+:3[X]
+ )
+"
+
+src_configure() {
+ local -a emesonargs=(
+ -Djson=enabled
+ $(meson_feature doc docs)
+ $(meson_feature libnotify notify)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # TODO: run test on wayland
+ virtx meson_src_test
+}
diff --git a/dev-libs/girara/girara-0.4.2.ebuild b/dev-libs/girara/girara-0.4.2.ebuild
new file mode 100644
index 000000000000..d3394bfb8b18
--- /dev/null
+++ b/dev-libs/girara/girara-0.4.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson virtualx
+
+DESCRIPTION="UI library that focuses on simplicity and minimalism"
+HOMEPAGE="https://pwmt.org/projects/girara/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
+ EGIT_BRANCH="develop"
+else
+ SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
+ KEYWORDS="amd64 arm ~arm64 ~riscv x86"
+fi
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="doc libnotify test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-accessibility/at-spi2-core
+ dev-libs/glib:2
+ dev-libs/json-glib:=
+ media-libs/harfbuzz:=
+ x11-libs/cairo[glib]
+ x11-libs/gdk-pixbuf
+ >=x11-libs/gtk+-3.20:3
+ x11-libs/pango
+ libnotify? ( x11-libs/libnotify )
+"
+# Tests are run under virtx
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-libs/check
+ x11-base/xorg-proto
+ x11-libs/gtk+:3[X]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
+
+src_configure() {
+ local -a emesonargs=(
+ -Djson=enabled
+ $(meson_feature doc docs)
+ $(meson_feature libnotify notify)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # TODO: run test on wayland
+ virtx meson_src_test
+}
diff --git a/dev-libs/girara/girara-9999.ebuild b/dev-libs/girara/girara-9999.ebuild
index 88dc773e88de..6b506349dbaa 100644
--- a/dev-libs/girara/girara-9999.ebuild
+++ b/dev-libs/girara/girara-9999.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit 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"
@@ -23,24 +23,41 @@ IUSE="doc libnotify test"
RESTRICT="!test? ( test )"
-DEPEND="dev-libs/glib:2
+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
- libnotify? ( x11-libs/libnotify )"
-RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
- virtual/pkgconfig"
+ x11-libs/pango
+ libnotify? ( x11-libs/libnotify )
+"
+# Tests are run under virtx
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-libs/check
+ x11-base/xorg-proto
+ x11-libs/gtk+:3[X]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+"
src_configure() {
- local emesonargs=(
+ local -a emesonargs=(
-Djson=enabled
- -Ddocs=$(usex doc enabled disabled)
- -Dnotify=$(usex libnotify enabled disabled)
+ $(meson_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 4311c033d558..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 "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
+ <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 5ffaae812bbb..0967ffcbbf05 100644
--- a/dev-libs/gjs/Manifest
+++ b/dev-libs/gjs/Manifest
@@ -1 +1 @@
-DIST gjs-1.74.1.tar.xz 638536 BLAKE2B 375abcaa20a538cfa271f7dcf6f3715e4324ff5a4a9482ce0dd7f78213598a715ebc034f701fe458876f841f72802db4ae2aabf0abc04dc4ac5bb39c917741fd SHA512 346667accb589df0e6a045e30782017eab928115f263d36d521b61b0af38fd268bc518b8ab5ec78e5d25e0194b744a2ee59e65668da679e138b2122858ce0614
+DIST gjs-1.78.5.tar.xz 656168 BLAKE2B e1458d000998b66fda90e448ca487e591729e003c3e11a939dc474958b6de55783d41db8de5b243a329361f12acc15a8e84f4131650705becb046b68c54a24a2 SHA512 bb25e52dff53bfbde6d2329027d4ff68849740cf753da58f9bdf5a19ea7b029e2517d67978f461f16660dd1aa48b223798e9c0a24cde0ccb62060e4a0c83a02e
diff --git a/dev-libs/gjs/gjs-1.74.1.ebuild b/dev-libs/gjs/gjs-1.74.1.ebuild
deleted file mode 100644
index cc5a3f3cb136..000000000000
--- a/dev-libs/gjs/gjs-1.74.1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2022 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 ppc ppc64 ~riscv x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.66.0:2
- dev-libs/libffi:=
- >=dev-libs/gobject-introspection-1.66.1:=
- >=dev-lang/spidermonkey-102.2.0:102
- 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/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/glib/Manifest b/dev-libs/glib/Manifest
index d99cd57cc034..b5a930af82f4 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -1,4 +1,3 @@
-DIST glib-2.74.3-patches-2.tar.xz 23576 BLAKE2B f3746bdf961890d9f4e7ad20b107b83b7ceb8dcc36e288c1d526bac31a0e1dd9d1f13323f512355085c77d186ad66c3f52c1154f34c1d6fd6a5e64a074b2920c SHA512 945c131c27f02044db6154f0a63f458d6317c8a4e841fb392947b16756e25d92adeb2b34d793c9e19441b825d1aee71ae9b08fdcbefa1bc9de1d5af9e903e82c
-DIST glib-2.74.3.tar.xz 5181732 BLAKE2B 46c37be9519866af040b2aaf35129a9cfae6e2c74636c01755b901002fa77f4e2305025691d7a8279acfbae1298a4b5b1e095b333bed3b067e9820547b6eca97 SHA512 a9aa7e84187abb57aeeff9c7f4c4125be742a510ae5d39b6b62696ad1a715c36b353c6c14222caeb1e87bed930fb54184dba77118b991c42f1857a292c6aa77b
-DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
-DIST glib-2.74.5.tar.xz 5211852 BLAKE2B 5bf0069cbf949a946357127682e4f687c7e7b8565037024a232b3e905e65bebb86d016832b6274f743005ec8fe5fcd31eaf99ccece82d9d7c3f924d17502c409 SHA512 2716e0fe984cc5d0714e91fe0de47ee71a8bd0b4c85caee337ddb7e02ac2fb3c8c007ccc1207b29cf901c30a7ec8e3bcca75d69c6fab2a32a8cf14bff974e614
+DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
+DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010a8816a0cef786cec9da2af9f7d7d1da735c971ab8c848b2dcec050330e5b0fdceb156a36d739848e6160cd19 SHA512 9c1af75fb973d23ce0286d5b7836eea45f9628c148ced5ac10e10abceda05024ae4c57f01439824d3287d986527500b7b959828b630b6e4a3314b5224f4d7246
+DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6
diff --git a/dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch b/dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch
deleted file mode 100644
index 9cd48a26453e..000000000000
--- a/dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3165
-
-From 6626765a79f125cf0ec9cdaefa51ceef718d41e7 Mon Sep 17 00:00:00 2001
-From: Michael Catanzaro <mcatanzaro@redhat.com>
-Date: Tue, 20 Dec 2022 17:10:41 -0600
-Subject: [PATCH] gthread-posix: need to #include <errno.h>
-
-a79c6af23eff5ee978db62e048828c9a992a1261 uses errno without the required
-header.
-
-
-(cherry picked from commit 03cb4261e00cf505790f4fd4e69f97b2ef4fcccd)
---- a/glib/gthreadprivate.h
-+++ b/glib/gthreadprivate.h
-@@ -41,6 +41,7 @@ struct _GRealThread
- /* system thread implementation (gthread-posix.c, gthread-win32.c) */
-
- #if defined(HAVE_FUTEX) || defined(HAVE_FUTEX_TIME64)
-+#include <errno.h>
- #include <linux/futex.h>
- #include <sys/syscall.h>
- #include <unistd.h>
---
-GitLab
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.74.3-r3.ebuild b/dev-libs/glib/glib-2.74.3-r3.ebuild
deleted file mode 100644
index d97da8c4c903..000000000000
--- a/dev-libs/glib/glib-2.74.3-r3.ebuild
+++ /dev/null
@@ -1,290 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-# https://discourse.gnome.org/t/multiple-fixes-for-gvariant-normalisation-issues-in-glib/12835
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-2.tar.xz"
-
-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"
-
-# * 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-util/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? ( >=sys-apps/dbus-1.2.14 )
- virtual/pkgconfig
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
- "${WORKDIR}"/${P}-patches-2
-)
-
-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
-
- default
- gnome2_environment_reset
- # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
- if use debug; then
- append-cflags -DG_ENABLE_DEBUG
- else
- append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
- fi
-
- # TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
- #if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- # TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
- #case ${CHOST} in
- #hppa*|metag*) export glib_cv_stack_grows=yes ;;
- #*) export glib_cv_stack_grows=no ;;
- #esac
- #fi
-
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_feature selinux)
- $(meson_use xattr)
- -Dlibmount=enabled # only used if host_system == 'linux'
- -Dman=true
- $(meson_use systemtap dtrace)
- $(meson_use systemtap)
- $(meson_feature sysprof)
- $(meson_native_use_bool gtk-doc gtk_doc)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Dnls=enabled
- -Doss_fuzz=disabled
- $(meson_native_use_feature elf libelf)
- -Dmultiarch=false
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS=/etc/xdg
- export XDG_DATA_DIRS=/usr/local/share:/usr/share
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- export TZ=UTC
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # https://bugs.gentoo.org/839807
- local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict /usr/b
-
- # Related test is a bit nitpicking
- mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-
- meson_src_test --timeout-multiplier 2 --no-suite flaky
-}
-
-multilib_src_install() {
- meson_src_install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
- rm "${ED}/usr/bin/glib-genmarshal" || die
- rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}/usr/bin/glib-mkenums" || die
- rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}/usr/bin/gtester-report" || die
- rm "${ED}/usr/share/man/man1/gtester-report.1" || die
- # gdbus-codegen manpage installed by dev-util/gdbus-codegen
- rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- # glib installs no schemas itself, but we force update for fresh install in case
- # something has dropped in a schemas file without direct glib dep; and for upgrades
- # in case the compiled schema format could have changed
- gnome2_schemas_update
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "$v" "-lt" "2.63.6"; then
- ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
- ewarn "to restart your session for \"Open With\" dialogs to work."
- fi
- done
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
- fi
-}
diff --git a/dev-libs/glib/glib-2.74.4.ebuild b/dev-libs/glib/glib-2.74.4.ebuild
deleted file mode 100644
index 9d4a61eeb1c9..000000000000
--- a/dev-libs/glib/glib-2.74.4.ebuild
+++ /dev/null
@@ -1,288 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-IUSE="dbus debug +elf 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"
-
-# * 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-util/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? ( >=sys-apps/dbus-1.2.14 )
- virtual/pkgconfig
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
- "${FILESDIR}"/${P}-implicit-func-decl.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
-
- default
- gnome2_environment_reset
- # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
- if use debug; then
- append-cflags -DG_ENABLE_DEBUG
- else
- append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
- fi
-
- # TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
- #if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- # TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
- #case ${CHOST} in
- #hppa*|metag*) export glib_cv_stack_grows=yes ;;
- #*) export glib_cv_stack_grows=no ;;
- #esac
- #fi
-
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_feature selinux)
- $(meson_use xattr)
- -Dlibmount=enabled # only used if host_system == 'linux'
- -Dman=true
- $(meson_use systemtap dtrace)
- $(meson_use systemtap)
- $(meson_feature sysprof)
- $(meson_native_use_bool gtk-doc gtk_doc)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Dnls=enabled
- -Doss_fuzz=disabled
- $(meson_native_use_feature elf libelf)
- -Dmultiarch=false
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS=/etc/xdg
- export XDG_DATA_DIRS=/usr/local/share:/usr/share
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- export TZ=UTC
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # https://bugs.gentoo.org/839807
- local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict /usr/b
-
- # Related test is a bit nitpicking
- mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-
- meson_src_test --timeout-multiplier 2 --no-suite flaky
-}
-
-multilib_src_install() {
- meson_src_install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
- rm "${ED}/usr/bin/glib-genmarshal" || die
- rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}/usr/bin/glib-mkenums" || die
- rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}/usr/bin/gtester-report" || die
- rm "${ED}/usr/share/man/man1/gtester-report.1" || die
- # gdbus-codegen manpage installed by dev-util/gdbus-codegen
- rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- # glib installs no schemas itself, but we force update for fresh install in case
- # something has dropped in a schemas file without direct glib dep; and for upgrades
- # in case the compiled schema format could have changed
- gnome2_schemas_update
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "$v" "-lt" "2.63.6"; then
- ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
- ewarn "to restart your session for \"Open With\" dialogs to work."
- fi
- done
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
- fi
-}
diff --git a/dev-libs/glib/glib-2.74.5.ebuild b/dev-libs/glib/glib-2.74.5.ebuild
deleted file mode 100644
index 7924f656d5e2..000000000000
--- a/dev-libs/glib/glib-2.74.5.ebuild
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-IUSE="dbus debug +elf 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"
-
-# * 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-util/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? ( >=sys-apps/dbus-1.2.14 )
- virtual/pkgconfig
-"
-# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
-
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
-)
-
-pkg_setup() {
- if use kernel_linux ; then
- CONFIG_CHECK="~INOTIFY_USER"
- if use test ; then
- CONFIG_CHECK="~IPV6"
- WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
- fi
- linux-info_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- if use test; then
- # TODO: Review the test exclusions, especially now with meson
- # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
- if ! has_version dev-util/desktop-file-utils ; then
- ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
- ewarn "think on installing it to get these tests run."
- sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
- sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
- fi
-
- # gdesktopappinfo requires existing terminal (gnome-terminal or any
- # other), falling back to xterm if one doesn't exist
- #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
- # ewarn "Some tests will be skipped due to missing terminal program"
- # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
- # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
- sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
- # desktop-app-info/launch* might fail similarly
- sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
- #fi
-
- # https://bugzilla.gnome.org/show_bug.cgi?id=722604
- sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
- sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
-
- ewarn "Tests for search-utils have been skipped"
- sed -i -e "/search-utils/d" glib/tests/meson.build || die
-
- # Play nice with network-sandbox, but this approach would defeat the purpose of the test
- #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
- else
- # Don't build tests, also prevents extra deps, bug #512022
- sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
- fi
-
- # Don't build fuzzing binaries - not used
- sed -i -e '/subdir.*fuzzing/d' meson.build || die
-
- # gdbus-codegen is a separate package
- sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
-
- # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
- sed -i -e '/install_dir/d' gio/tests/meson.build || die
-
- cat > "${T}/glib-test-ld-wrapper" <<-EOF
- #!/usr/bin/env sh
- exec \${LD:-ld} "\$@"
- EOF
- chmod a+x "${T}/glib-test-ld-wrapper" || die
- sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
-
- default
- gnome2_environment_reset
- # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
-}
-
-multilib_src_configure() {
- if use debug; then
- append-cflags -DG_ENABLE_DEBUG
- else
- append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
- fi
-
- # TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
- #if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- # TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
- #case ${CHOST} in
- #hppa*|metag*) export glib_cv_stack_grows=yes ;;
- #*) export glib_cv_stack_grows=no ;;
- #esac
- #fi
-
- local emesonargs=(
- -Ddefault_library=$(usex static-libs both shared)
- $(meson_feature selinux)
- $(meson_use xattr)
- -Dlibmount=enabled # only used if host_system == 'linux'
- -Dman=true
- $(meson_use systemtap dtrace)
- $(meson_use systemtap)
- $(meson_feature sysprof)
- $(meson_native_use_bool gtk-doc gtk_doc)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Dnls=enabled
- -Doss_fuzz=disabled
- $(meson_native_use_feature elf libelf)
- -Dmultiarch=false
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS=/etc/xdg
- export XDG_DATA_DIRS=/usr/local/share:/usr/share
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- export TZ=UTC
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # https://bugs.gentoo.org/839807
- local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
- addpredict /usr/b
-
- # Related test is a bit nitpicking
- mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-
- meson_src_test --timeout-multiplier 2 --no-suite flaky
-}
-
-multilib_src_install() {
- meson_src_install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
- rm "${ED}/usr/bin/glib-genmarshal" || die
- rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}/usr/bin/glib-mkenums" || die
- rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}/usr/bin/gtester-report" || die
- rm "${ED}/usr/share/man/man1/gtester-report.1" || die
- # gdbus-codegen manpage installed by dev-util/gdbus-codegen
- rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"${cache} || die
- else
- touch "${ED}"${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- # glib installs no schemas itself, but we force update for fresh install in case
- # something has dropped in a schemas file without direct glib dep; and for upgrades
- # in case the compiled schema format could have changed
- gnome2_schemas_update
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-
- for v in ${REPLACING_VERSIONS}; do
- if ver_test "$v" "-lt" "2.63.6"; then
- ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
- ewarn "to restart your session for \"Open With\" dialogs to work."
- fi
- done
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
- fi
-}
diff --git a/dev-libs/glib/glib-2.76.4.ebuild b/dev-libs/glib/glib-2.76.4.ebuild
new file mode 100644
index 000000000000..51da7bfa347f
--- /dev/null
+++ b/dev-libs/glib/glib-2.76.4.ebuild
@@ -0,0 +1,312 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ test? ( >=sys-apps/dbus-1.2.14 )
+ virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+)
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test; then
+ # TODO: Review the test exclusions, especially now with meson
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ # ewarn "Some tests will be skipped due to missing terminal program"
+ # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+ # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
+ # for backport (or in a bump) and file new issue if still fails
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ # desktop-app-info/launch* might fail similarly
+ sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+ #fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+ # Play nice with network-sandbox, but this approach would defeat the purpose of the test
+ #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+ fi
+
+ # Don't build fuzzing binaries - not used
+ sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+ # gdbus-codegen is a separate package
+ sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+ # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+ sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+ cat > "${T}/glib-test-ld-wrapper" <<-EOF
+ #!/usr/bin/env sh
+ exec \${LD:-ld} "\$@"
+ EOF
+ chmod a+x "${T}/glib-test-ld-wrapper" || die
+ sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+ # make default sane for us
+ if use prefix ; then
+ sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
+ # bug #308609, without path, bug #314057
+ export PERL=perl
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
+ meson.build || die
+ sed -i \
+ -e '/AvailabilityMacros.h/d' \
+ gio/giomodule.c || die
+
+ default
+ gnome2_environment_reset
+ # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+ # TODO: figure a way to pass appropriate values for all cross properties
+ # that glib uses (search for get_cross_property)
+ #if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ # TODO-meson: This should be in meson cross file as 'growing_stack'
+ # property; and more, look at get_cross_property
+ #case ${CHOST} in
+ #hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ #*) export glib_cv_stack_grows=no ;;
+ #esac
+ #fi
+
+ local emesonargs=(
+ -Dbuildtype=$(usex debug debug plain)
+ -Ddefault_library=$(usex static-libs both shared)
+ -Druntime_dir="${EPREFIX}"/run
+ $(meson_feature selinux)
+ $(meson_use xattr)
+ -Dlibmount=enabled # only used if host_system == 'linux'
+ -Dman=true
+ $(meson_use systemtap dtrace)
+ $(meson_use systemtap)
+ $(meson_feature sysprof)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dnls=enabled
+ -Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ export TZ=UTC
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ meson_src_test --timeout-multiplier 2 --no-suite flaky
+}
+
+multilib_src_install() {
+ meson_src_install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps
+ # and removals, and test depend on glib-utils instead; revisit now with
+ # meson
+ rm "${ED}/usr/bin/glib-genmarshal" || die
+ rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}/usr/bin/glib-mkenums" || die
+ rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}/usr/bin/gtester-report" || die
+ rm "${ED}/usr/share/man/man1/gtester-report.1" || die
+ # gdbus-codegen manpage installed by dev-util/gdbus-codegen
+ rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ # glib installs no schemas itself, but we force update for fresh install in case
+ # something has dropped in a schemas file without direct glib dep; and for upgrades
+ # in case the compiled schema format could have changed
+ gnome2_schemas_update
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "$v" "-lt" "2.63.6"; then
+ ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+ ewarn "to restart your session for \"Open With\" dialogs to work."
+ fi
+ done
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/glib/glib-2.78.3.ebuild b/dev-libs/glib/glib-2.78.3.ebuild
new file mode 100644
index 000000000000..51da7bfa347f
--- /dev/null
+++ b/dev-libs/glib/glib-2.78.3.ebuild
@@ -0,0 +1,312 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ test? ( >=sys-apps/dbus-1.2.14 )
+ virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+)
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test; then
+ # TODO: Review the test exclusions, especially now with meson
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ # ewarn "Some tests will be skipped due to missing terminal program"
+ # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+ # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
+ # for backport (or in a bump) and file new issue if still fails
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ # desktop-app-info/launch* might fail similarly
+ sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+ #fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+ # Play nice with network-sandbox, but this approach would defeat the purpose of the test
+ #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+ fi
+
+ # Don't build fuzzing binaries - not used
+ sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+ # gdbus-codegen is a separate package
+ sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+ # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+ sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+ cat > "${T}/glib-test-ld-wrapper" <<-EOF
+ #!/usr/bin/env sh
+ exec \${LD:-ld} "\$@"
+ EOF
+ chmod a+x "${T}/glib-test-ld-wrapper" || die
+ sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+ # make default sane for us
+ if use prefix ; then
+ sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
+ # bug #308609, without path, bug #314057
+ export PERL=perl
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
+ meson.build || die
+ sed -i \
+ -e '/AvailabilityMacros.h/d' \
+ gio/giomodule.c || die
+
+ default
+ gnome2_environment_reset
+ # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+ # TODO: figure a way to pass appropriate values for all cross properties
+ # that glib uses (search for get_cross_property)
+ #if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ # TODO-meson: This should be in meson cross file as 'growing_stack'
+ # property; and more, look at get_cross_property
+ #case ${CHOST} in
+ #hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ #*) export glib_cv_stack_grows=no ;;
+ #esac
+ #fi
+
+ local emesonargs=(
+ -Dbuildtype=$(usex debug debug plain)
+ -Ddefault_library=$(usex static-libs both shared)
+ -Druntime_dir="${EPREFIX}"/run
+ $(meson_feature selinux)
+ $(meson_use xattr)
+ -Dlibmount=enabled # only used if host_system == 'linux'
+ -Dman=true
+ $(meson_use systemtap dtrace)
+ $(meson_use systemtap)
+ $(meson_feature sysprof)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dnls=enabled
+ -Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ export TZ=UTC
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ meson_src_test --timeout-multiplier 2 --no-suite flaky
+}
+
+multilib_src_install() {
+ meson_src_install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps
+ # and removals, and test depend on glib-utils instead; revisit now with
+ # meson
+ rm "${ED}/usr/bin/glib-genmarshal" || die
+ rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}/usr/bin/glib-mkenums" || die
+ rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}/usr/bin/gtester-report" || die
+ rm "${ED}/usr/share/man/man1/gtester-report.1" || die
+ # gdbus-codegen manpage installed by dev-util/gdbus-codegen
+ rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ # glib installs no schemas itself, but we force update for fresh install in case
+ # something has dropped in a schemas file without direct glib dep; and for upgrades
+ # in case the compiled schema format could have changed
+ gnome2_schemas_update
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "$v" "-lt" "2.63.6"; then
+ ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+ ewarn "to restart your session for \"Open With\" dialogs to work."
+ fi
+ done
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/glib/glib-2.78.4-r1.ebuild b/dev-libs/glib/glib-2.78.4-r1.ebuild
new file mode 100644
index 000000000000..f1a94faa0074
--- /dev/null
+++ b/dev-libs/glib/glib-2.78.4-r1.ebuild
@@ -0,0 +1,321 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/packaging[${PYTHON_USEDEP}]
+ ')
+ test? ( >=sys-apps/dbus-1.2.14 )
+ virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+ "${FILESDIR}"/${PN}-2.78.4-distutils.patch
+ "${FILESDIR}"/${PN}-2.78.4-libpcre2-10.43.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/packaging[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test; then
+ # TODO: Review the test exclusions, especially now with meson
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ # ewarn "Some tests will be skipped due to missing terminal program"
+ # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+ # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
+ # for backport (or in a bump) and file new issue if still fails
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ # desktop-app-info/launch* might fail similarly
+ sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+ #fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+ # Play nice with network-sandbox, but this approach would defeat the purpose of the test
+ #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+ fi
+
+ # Don't build fuzzing binaries - not used
+ sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+ # gdbus-codegen is a separate package
+ sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+ # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+ sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+ cat > "${T}/glib-test-ld-wrapper" <<-EOF
+ #!/usr/bin/env sh
+ exec \${LD:-ld} "\$@"
+ EOF
+ chmod a+x "${T}/glib-test-ld-wrapper" || die
+ sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+ # make default sane for us
+ if use prefix ; then
+ sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
+ # bug #308609, without path, bug #314057
+ export PERL=perl
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
+ meson.build || die
+ sed -i \
+ -e '/AvailabilityMacros.h/d' \
+ gio/giomodule.c || die
+
+ default
+ gnome2_environment_reset
+ # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+ # TODO: figure a way to pass appropriate values for all cross properties
+ # that glib uses (search for get_cross_property)
+ #if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ # TODO-meson: This should be in meson cross file as 'growing_stack'
+ # property; and more, look at get_cross_property
+ #case ${CHOST} in
+ #hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ #*) export glib_cv_stack_grows=no ;;
+ #esac
+ #fi
+
+ local emesonargs=(
+ $(meson_feature debug glib_debug)
+ -Ddefault_library=$(usex static-libs both shared)
+ -Druntime_dir="${EPREFIX}"/run
+ $(meson_feature selinux)
+ $(meson_use xattr)
+ -Dlibmount=enabled # only used if host_system == 'linux'
+ -Dman=true
+ $(meson_use systemtap dtrace)
+ $(meson_use systemtap)
+ $(meson_feature sysprof)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dnls=enabled
+ -Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ export TZ=UTC
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ meson_src_test --timeout-multiplier 2 --no-suite flaky
+}
+
+multilib_src_install() {
+ meson_src_install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps
+ # and removals, and test depend on glib-utils instead; revisit now with
+ # meson
+ rm "${ED}/usr/bin/glib-genmarshal" || die
+ rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}/usr/bin/glib-mkenums" || die
+ rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}/usr/bin/gtester-report" || die
+ rm "${ED}/usr/share/man/man1/gtester-report.1" || die
+ # gdbus-codegen manpage installed by dev-util/gdbus-codegen
+ rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ # glib installs no schemas itself, but we force update for fresh install in case
+ # something has dropped in a schemas file without direct glib dep; and for upgrades
+ # in case the compiled schema format could have changed
+ gnome2_schemas_update
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "$v" "-lt" "2.63.6"; then
+ ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+ ewarn "to restart your session for \"Open With\" dialogs to work."
+ fi
+ done
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/glib/metadata.xml b/dev-libs/glib/metadata.xml
index 79eb1eaf5706..30120d5d64c7 100644
--- a/dev-libs/glib/metadata.xml
+++ b/dev-libs/glib/metadata.xml
@@ -21,7 +21,7 @@
</flag>
<flag name="systemtap">
Build support for profiling and tracing using
- <pkg>dev-util/systemtap</pkg>
+ <pkg>dev-debug/systemtap</pkg>
</flag>
<flag name="sysprof">
Enable profiling data capture support using
diff --git a/dev-libs/gmime/Manifest b/dev-libs/gmime/Manifest
index f42a40a68144..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.13.tar.xz 2231624 BLAKE2B c1b4af7ea911c6e2cdea01700d76d218028f7a7f3fc0443b15f915658f945b0fd784928eaa572b0a4b1cd2ea6f7b2812de75f066e3dd2bef23ebd4075a393ee9 SHA512 cfbf5d9e8d6cafcb340b6e470acaf7ae0a96581d39119a751b22fcf3ede089cc24accbd26a79ec2a4b7901ce66d7092765e8c388bbfa2138606dbb4b3f81f4d3
+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
index 4bf6d80f39bf..70d99c7da07e 100644
--- a/dev-libs/gmime/gmime-2.6.23-r2.ebuild
+++ b/dev-libs/gmime/gmime-2.6.23-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ 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 ~x86-solaris"
+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 )"
@@ -25,7 +25,7 @@ DEPEND="${RDEPEND}
virtual/libiconv
"
BDEPEND="
- >=dev-util/gtk-doc-am-1.8
+ >=dev-build/gtk-doc-am-1.8
virtual/pkgconfig
doc? ( app-text/docbook-sgml-utils )
test? ( app-crypt/gnupg )
diff --git a/dev-libs/gmime/gmime-3.2.13.ebuild b/dev-libs/gmime/gmime-3.2.13.ebuild
deleted file mode 100644
index 9dbe0d5adc7f..000000000000
--- a/dev-libs/gmime/gmime-3.2.13.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2022 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 ~x86-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-util/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.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/gmp/Manifest b/dev-libs/gmp/Manifest
index 846b78dc7601..9ad925e475bf 100644
--- a/dev-libs/gmp/Manifest
+++ b/dev-libs/gmp/Manifest
@@ -1,3 +1,2 @@
-DIST gmp-6.2.1-arm64-darwin.patch.bz2 2520 BLAKE2B 3d4e9dbd29dc9aa81f0c9e0de4a5904c989d54148c9e3dcc5097a43b3fb1ecd17802dacfc71ee131c0805a345f5dce9009e88439758d3a0ed8b3a88526353b4a SHA512 72d49f09c3facd75036c945e076207e72e5673ba9605999c32a122e43e8b970ed646c8ca8f07acbb62bff5e7c387d4c8e1f73ca73e50ac3f574b5f6471d66d56
-DIST gmp-6.2.1.tar.xz 2027316 BLAKE2B c0d85f175392a50cfa01bc6b0a312b235946ad8b4f6f84f6dabd33d7a6f2cc75c9b0e1e33057be07750bfa0145b7c4cf3b6188a5be6ca9d7271ec2276c84ebcb SHA512 c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84
+DIST gmp-6.3.0.tar.xz 2094196 BLAKE2B a865129e2b3f634ec5bad7f97ed89532e43f5662ac47a7d8ab7f0df8c9f8d0886bd984651422e2573c2163bca69c0547c248147ec90880accbd53db97dc0ddee SHA512 e85a0dab5195889948a3462189f0e0598d331d3457612e2d3350799dba2e244316d256f8161df5219538eb003e4b5343f989aaa00f96321559063ed8c8f29fd2
DIST gmp-man-6.2.1.pdf 827583 BLAKE2B 9aa25457a3c488e37cc7d54d825253ab749a3780919570579b319cf607001de50b212ca387b70213abcc5ab428b4525bdb9cd8ae932798a2d7928da98ce3f353 SHA512 f2d9d02e97975355ef490e921fedc94fb7687c3661eec8fa2e94a1622b6e59b17b3879eb3ec1f2df8edac100f727175144d107f4c49c602b773c43bc9e91dbcb
diff --git a/dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch b/dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch
deleted file mode 100644
index 90129ec5b2bd..000000000000
--- a/dev-libs/gmp/files/gmp-6.2.1-CVE-2021-43618.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugs.gentoo.org/823804
-https://gmplib.org/repo/gmp-6.2/rev/561a9c25298e
---- a/mpz/inp_raw.c
-+++ b/mpz/inp_raw.c
-@@ -88,8 +88,11 @@ mpz_inp_raw (mpz_ptr x, FILE *fp)
-
- abs_csize = ABS (csize);
-
-+ if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
-+ return 0; /* Bit size overflows */
-+
- /* round up to a multiple of limbs */
-- abs_xsize = BITS_TO_LIMBS (abs_csize*8);
-+ abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
-
- if (abs_xsize != 0)
- {
diff --git a/dev-libs/gmp/gmp-6.2.1-r2.ebuild b/dev-libs/gmp/gmp-6.2.1-r2.ebuild
deleted file mode 100644
index ae2140240b2a..000000000000
--- a/dev-libs/gmp/gmp-6.2.1-r2.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal toolchain-funcs
-
-MY_PV=${PV/_p*}
-MY_PV=${MY_PV/_/-}
-MANUAL_PV=${MY_PV}
-MANUAL_PV=6.2.1
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
-HOMEPAGE="https://gmplib.org/"
-SRC_URI="
- 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 )
-"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-arm64-darwin.patch.bz2"
-
-LICENSE="|| ( LGPL-3+ GPL-2+ )"
-# The subslot reflects the C & C++ SONAMEs.
-SLOT="0/10.4"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm doc +cxx pic static-libs"
-
-BDEPEND="sys-devel/m4
- app-arch/xz-utils"
-
-S=${WORKDIR}/${MY_P%a}
-
-DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
-HTML_DOCS=( doc )
-MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch
- "${FILESDIR}"/${PN}-6.2.1-no-zarch.patch
- "${WORKDIR}"/${P}-arm64-darwin.patch
- "${FILESDIR}"/${P}-CVE-2021-43618.patch
-)
-
-src_prepare() {
- default
-
- # We cannot run autotools here as gcc depends on this package
- elibtoolize
-
- # bug #536894
- if [[ ${CHOST} == *-darwin* ]] ; then
- eapply "${FILESDIR}"/${PN}-6.1.2-gcc-apple-4.0.1.patch
- fi
-
- # GMP uses the "ABI" env var during configure as does Gentoo (econf).
- # So, to avoid patching the source constantly, wrap things up.
- mv configure configure.wrapped || die
- cat <<-\EOF > configure
- #!/usr/bin/env sh
- exec env ABI="${GMPABI}" "$0.wrapped" "$@"
- EOF
-
- # Patches to original configure might have lost the +x bit.
- chmod a+rx configure{,.wrapped} || die
-}
-
-multilib_src_configure() {
- # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
- # https://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
- if [[ ${CHOST} == hppa2.0-* ]] ; then
- GMPABI="1.0"
- fi
-
- # ABI mappings (needs all architectures supported)
- case ${ABI} in
- 32|x86) GMPABI=32;;
- 64|amd64|n64) GMPABI=64;;
- [onx]32) GMPABI=${ABI};;
- esac
- export GMPABI
-
- tc-export CC
-
- # --with-pic forces static libraries to be built as PIC
- # and without TEXTRELs. musl does not support TEXTRELs: bug #707332
- ECONF_SOURCE="${S}" econf \
- CC_FOR_BUILD="$(tc-getBUILD_CC)" \
- --localstatedir="${EPREFIX}"/var/state/gmp \
- --enable-shared \
- $(use_enable asm assembly) \
- $(use_enable cxx) \
- $(use pic && echo --with-pic) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- # Should be a standalone lib
- rm -f "${ED}"/usr/$(get_libdir)/libgmp.la
-
- # This requires libgmp
- local la="${ED}/usr/$(get_libdir)/libgmpxx.la"
- if ! use static-libs ; then
- rm -f "${la}"
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
- use doc && cp "${DISTDIR}"/gmp-man-${MANUAL_PV}.pdf "${ED}"/usr/share/doc/${PF}/
-}
diff --git a/dev-libs/gmp/gmp-6.2.1-r5.ebuild b/dev-libs/gmp/gmp-6.2.1-r5.ebuild
deleted file mode 100644
index be3203afdc82..000000000000
--- a/dev-libs/gmp/gmp-6.2.1-r5.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnuconfig libtool multilib-minimal toolchain-funcs
-
-MY_PV=${PV/_p*}
-MY_PV=${MY_PV/_/-}
-
-MANUAL_PV=${MY_PV}
-MANUAL_PV=6.2.1
-
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-
-DESCRIPTION="Library for arbitrary-precision arithmetic on different type of numbers"
-HOMEPAGE="https://gmplib.org/"
-SRC_URI="
- 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 )
-"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-arm64-darwin.patch.bz2"
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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
- "${WORKDIR}"/${P}-arm64-darwin.patch
- "${FILESDIR}"/${P}-CVE-2021-43618.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() {
- # 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)
- )
-
- # 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
-
- 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/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 591e777c6165..c85682bf90a4 100644
--- a/dev-libs/gmp/metadata.xml
+++ b/dev-libs/gmp/metadata.xml
@@ -6,7 +6,6 @@
<name>Gentoo Toolchain Project</name>
</maintainer>
<use>
- <flag name="asm">Enable use of hand optimized assembly routines (faster execution)</flag>
<flag name="cpudetection">
Enables runtime CPU detection (useful for binpkgs, compatibility on other CPUs).
diff --git a/dev-libs/gnulib/Manifest b/dev-libs/gnulib/Manifest
index a6aa45395c5c..66669df08883 100644
--- a/dev-libs/gnulib/Manifest
+++ b/dev-libs/gnulib/Manifest
@@ -1,2 +1,2 @@
DIST gnulib-5293ada82e1ea38e9e5cdd3724c73204d703f07b.tar.xz 4721720 BLAKE2B d0c70f4f33cbc3b7fcbef6ebe67d4ebac2a89fe8e9b1598fa00f0292ce2bc528ed6f5be123072c43c52f1234266bb6fb96b7881839ff884a39d2bce58a9f3ad7 SHA512 0f1822fb579649c3cd09ca8e69334d425f2024d780a98d7bbf38d26f36f174036fa066635513485ddd6e2ad485c7060ae9b101c1595891307a382e6aa9bc4226
-DIST gnulib-9f48fb992a3d7e96610c4ce8be969cff2d61a01b.tar.xz 4711472 BLAKE2B 901fd3b3388210f090825829d1de43395819ee907574e2cf7c6586c93ef72afd26e68abc7ae27d1e462a703f1d3bedf37ffcf4d8924fed32a95bc94ae83399d5 SHA512 04ab346648a23a4f58dc2d818955ae145bc9c21c3b24a1719cdf48bb8116e3765de675bcf19747d64d43432db1bb406f403168f973f24811f9d126deadea7e7f
+DIST gnulib-5b92dd0a45c8d27f13a21076b57095ea5e220870.tar.xz 5058128 BLAKE2B 8bf17315962292790a4279fe39a07595656bb5a5b5c7273efe18c4b798dfcbc5ab39eed5b235e8313873b521dfb04998230a879985908ee4e21b59870d52191b SHA512 786c512159db7b0d6905b77ca193397479db94b3ef7ccf96876773b1942fdb7608ab82ceaa16ecba6ed8229de06d844b0d0b7a85dd672f88f46efc3361e28637
diff --git a/dev-libs/gnulib/gnulib-2022.02.12.16.27.05.ebuild b/dev-libs/gnulib/gnulib-2022.02.12.16.27.05.ebuild
deleted file mode 100644
index cd8850df2d95..000000000000
--- a/dev-libs/gnulib/gnulib-2022.02.12.16.27.05.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-GIT_TAG="9f48fb992a3d7e96610c4ce8be969cff2d61a01b"
-
-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-2"
-SLOT="0"
-KEYWORDS="~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc"
-
-S="${WORKDIR}/${PN}-${GIT_TAG}"
-
-src_compile() {
- if use doc; then
- emake -C doc info html
- fi
-}
-
-src_install() {
- dodoc README ChangeLog
-
- insinto /usr/share/${PN}
- doins -r build-aux
- doins -r doc
- doins -r lib
- doins -r m4
- doins -r modules
- doins -r tests
- doins -r top
-
- # install the real script
- exeinto /usr/share/${PN}
- doexe gnulib-tool
-
- # create and install the wrapper
- dosym ../share/${PN}/gnulib-tool /usr/bin/gnulib-tool
-}
diff --git a/dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild b/dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild
index 64e187b2477d..c94405ca93aa 100644
--- a/dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild
+++ b/dev-libs/gnulib/gnulib-2022.05.26.07.24.56.ebuild
@@ -9,9 +9,9 @@ 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-2"
+LICENSE="GPL-3+ LGPL-2.1+ FDL-1.3+"
SLOT="0"
-KEYWORDS="~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~arm64-macos ~x64-macos ~x64-solaris"
IUSE="doc"
S="${WORKDIR}/${PN}-${GIT_TAG}"
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 7305188a7c64..10bc9a526f5a 100644
--- a/dev-libs/gnulib/gnulib-9999-r1.ebuild
+++ b/dev-libs/gnulib/gnulib-9999-r1.ebuild
@@ -9,7 +9,7 @@ DESCRIPTION="Gnulib is a library of common routines intended to be shared at the
HOMEPAGE="https://www.gnu.org/software/gnulib"
EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
-LICENSE="GPL-2"
+LICENSE="GPL-3+ LGPL-2.1+ FDL-1.3+"
SLOT="0"
KEYWORDS=""
IUSE="doc"
diff --git a/dev-libs/gobject-introspection-common/Manifest b/dev-libs/gobject-introspection-common/Manifest
index baaf52d4a791..dcf0501a11b1 100644
--- a/dev-libs/gobject-introspection-common/Manifest
+++ b/dev-libs/gobject-introspection-common/Manifest
@@ -1 +1,2 @@
-DIST gobject-introspection-1.74.0.tar.xz 1044008 BLAKE2B 223bb9b8b452f03945f941086e47fb3b14f03f8353f4f903b21e3f494af728652a44de986752374057e90dd8111f21f5b0cd3e00bb0a8c3aa25c8261bb0b9247 SHA512 decff5dda0ec5ec0afda4d6bcd3bdadcbf34289002c0d9c0c77ecf8c5d3f15d196b24d8035041545031006acbdfe76af47c42da061c40e200c87f2c74cd301f0
+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.74.0.ebuild b/dev-libs/gobject-introspection-common/gobject-introspection-common-1.74.0.ebuild
deleted file mode 100644
index 6e70bb93ebba..000000000000
--- a/dev-libs/gobject-introspection-common/gobject-introspection-common-1.74.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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.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 819a2b39b6f5..77da9c6e7c5f 100644
--- a/dev-libs/gobject-introspection-common/metadata.xml
+++ b/dev-libs/gobject-introspection-common/metadata.xml
@@ -5,6 +5,7 @@
<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>
diff --git a/dev-libs/gobject-introspection/Manifest b/dev-libs/gobject-introspection/Manifest
index baaf52d4a791..dcf0501a11b1 100644
--- a/dev-libs/gobject-introspection/Manifest
+++ b/dev-libs/gobject-introspection/Manifest
@@ -1 +1,2 @@
-DIST gobject-introspection-1.74.0.tar.xz 1044008 BLAKE2B 223bb9b8b452f03945f941086e47fb3b14f03f8353f4f903b21e3f494af728652a44de986752374057e90dd8111f21f5b0cd3e00bb0a8c3aa25c8261bb0b9247 SHA512 decff5dda0ec5ec0afda4d6bcd3bdadcbf34289002c0d9c0c77ecf8c5d3f15d196b24d8035041545031006acbdfe76af47c42da061c40e200c87f2c74cd301f0
+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.74.0.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.74.0.ebuild
deleted file mode 100644
index 592e42c16091..000000000000
--- a/dev-libs/gobject-introspection/gobject-introspection-1.74.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# virtual/pkgconfig needed at runtime, bug #505408
-RDEPEND="
- >=dev-libs/gobject-introspection-common-${PV}
- >=dev-libs/glib-2.74.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
- sys-devel/flex
- 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.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/gom/gom-0.4.ebuild b/dev-libs/gom/gom-0.4.ebuild
index 31378c0ecf74..586b7eb92c0f 100644
--- a/dev-libs/gom/gom-0.4.ebuild
+++ b/dev-libs/gom/gom-0.4.ebuild
@@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk-doc +introspection python test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( introspection ${PYTHON_REQUIRED_USE} )"
diff --git a/dev-libs/gost-engine/Manifest b/dev-libs/gost-engine/Manifest
index a4718bfbb589..76ae036375c7 100644
--- a/dev-libs/gost-engine/Manifest
+++ b/dev-libs/gost-engine/Manifest
@@ -1,2 +1,4 @@
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/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/grantlee/grantlee-5.3.0.ebuild b/dev-libs/grantlee/grantlee-5.3.0.ebuild
index 467066d842a0..e44ee2d5e392 100644
--- a/dev-libs/grantlee/grantlee-5.3.0.ebuild
+++ b/dev-libs/grantlee/grantlee-5.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,7 +26,7 @@ DEPEND="${RDEPEND}
test? ( dev-qt/qttest:5 )
"
BDEPEND="
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
test? ( dev-qt/linguist-tools:5 )
"
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 8586d3a3c1bf..5ec776128dff 100644
--- a/dev-libs/gumbo/gumbo-0.10.1.ebuild
+++ b/dev-libs/gumbo/gumbo-0.10.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,12 +11,12 @@ SRC_URI="https://github.com/google/gumbo-parser/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-cpp/gtest )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
S="${WORKDIR}/gumbo-parser-${PV}"
diff --git a/dev-libs/gumbo/gumbo-0.11.0.ebuild b/dev-libs/gumbo/gumbo-0.11.0.ebuild
new file mode 100644
index 000000000000..6f628ab1e141
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.11.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="The HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://codeberg.org/grisha/gumbo-parser"
+SRC_URI="https://codeberg.org/grisha/gumbo-parser/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/gumbo-parser"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ HTML_DOCS=( docs/html/. )
+ fi
+}
+
+src_install() {
+ default
+ use doc && doman docs/man/man3/*
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/gumbo/gumbo-0.12.1.ebuild b/dev-libs/gumbo/gumbo-0.12.1.ebuild
new file mode 100644
index 000000000000..b8e91112d147
--- /dev/null
+++ b/dev-libs/gumbo/gumbo-0.12.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="The HTML5 parsing algorithm implemented as a pure C99 library"
+HOMEPAGE="https://codeberg.org/grisha/gumbo-parser"
+SRC_URI="https://codeberg.org/grisha/gumbo-parser/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/gumbo-parser"
+
+LICENSE="Apache-2.0"
+SLOT="0/2" # gumbo SONAME
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-cpp/gtest )"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_compile() {
+ default
+
+ if use doc; then
+ doxygen || die "doxygen failed"
+ HTML_DOCS=( docs/html/. )
+ fi
+}
+
+src_install() {
+ default
+ use doc && doman docs/man/man3/*
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/gumbo/metadata.xml b/dev-libs/gumbo/metadata.xml
index a2faadedd5a5..bf5592871976 100644
--- a/dev-libs/gumbo/metadata.xml
+++ b/dev-libs/gumbo/metadata.xml
@@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>graaff@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">google/gumbo-parser#readme</remote-id>
- </upstream>
+ <maintainer type="person" proxied="yes">
+ <email>contact@hacktivis.me</email>
+ <name>Haelwenn (lanodan) Monnier</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/half/metadata.xml b/dev-libs/half/metadata.xml
index e74d41fd607c..b71bc2af0234 100644
--- a/dev-libs/half/metadata.xml
+++ b/dev-libs/half/metadata.xml
@@ -12,4 +12,7 @@
<email>xgreenlandforwyy@gmail.com</email>
<name>Yiyang Wu</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">ROCm/half</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/heatshrink/Manifest b/dev-libs/heatshrink/Manifest
new file mode 100644
index 000000000000..b2379309357b
--- /dev/null
+++ b/dev-libs/heatshrink/Manifest
@@ -0,0 +1 @@
+DIST heatshrink-0.4.1.tar.gz 36945 BLAKE2B 526e3f88ddaec8116e5eef1a73a4450454ca808545dfe4a36069be8a0d771ca92c850c51f9b3c3e73f244454ba17d03da8fb0be4849728300c7eb8181e39651e SHA512 bb9610b963da0762b1ac21d0907f3801b525431abff495b66cadc244a2b2b334441de2b14442b722bfeb56cb4459fe4021eae0d0454f9e26a80e6efa11f079d2
diff --git a/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch b/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
new file mode 100644
index 000000000000..3230949b84bf
--- /dev/null
+++ b/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
@@ -0,0 +1,108 @@
+diff -urN heatshrink-0.4.1.orig/CMakeLists.txt heatshrink-0.4.1/CMakeLists.txt
+--- heatshrink-0.4.1.orig/CMakeLists.txt 1970-01-01 03:00:00.000000000 +0300
++++ heatshrink-0.4.1/CMakeLists.txt 2024-02-01 15:11:32.356696150 +0300
+@@ -0,0 +1,93 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(heatshrink LANGUAGES C VERSION 0.4.1)
++
++set(CMAKE_C_STANDARD 99)
++set(CMAKE_C_STANDARD_REQUIRED ON)
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
++
++add_library(${PROJECT_NAME} heatshrink_decoder.c heatshrink_encoder.c)
++add_library(${PROJECT_NAME}_dynalloc heatshrink_decoder.c heatshrink_encoder.c)
++
++find_library(MATH_LIBRARY m) # Business as usual
++if(MATH_LIBRARY)
++ target_link_libraries(${PROJECT_NAME} PUBLIC ${MATH_LIBRARY})
++endif()
++
++target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
++target_include_directories(${PROJECT_NAME}_dynalloc PUBLIC $<INSTALL_INTERFACE:include>)
++
++target_compile_definitions(${PROJECT_NAME} PUBLIC HEATSHRINK_DYNAMIC_ALLOC=0)
++target_compile_definitions(${PROJECT_NAME}_dynalloc PUBLIC HEATSHRINK_DYNAMIC_ALLOC=1)
++
++if (UNIX)
++ add_executable(${PROJECT_NAME}_cmd heatshrink.c)
++ target_link_libraries(${PROJECT_NAME}_cmd ${PROJECT_NAME}_dynalloc)
++ set_target_properties(${PROJECT_NAME}_cmd PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
++endif ()
++
++foreach (tgt ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
++ set_target_properties(${tgt}
++ PROPERTIES
++ VERSION ${PROJECT_VERSION}
++ SOVERSION ${PROJECT_VERSION})
++endforeach()
++
++# Installation and export:
++
++include(CMakePackageConfigHelpers)
++
++write_basic_package_version_file(
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
++ VERSION ${PROJECT_VERSION}
++ COMPATIBILITY AnyNewerVersion
++)
++
++set(_exported_targets ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
++if (UNIX)
++ list(APPEND _exported_targets ${PROJECT_NAME}_cmd)
++endif ()
++
++install(TARGETS ${_exported_targets}
++ EXPORT ${PROJECT_NAME}Targets
++)
++
++export(EXPORT ${PROJECT_NAME}Targets
++ FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake"
++ NAMESPACE ${PROJECT_NAME}::
++)
++
++include(GNUInstallDirs)
++set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
++
++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
++ INSTALL_DESTINATION ${ConfigPackageLocation}
++)
++
++install(
++ FILES
++ heatshrink_common.h
++ heatshrink_config.h
++ heatshrink_encoder.h
++ heatshrink_decoder.h
++ DESTINATION
++ include/${PROJECT_NAME}
++ )
++
++install(EXPORT ${PROJECT_NAME}Targets
++ FILE
++ ${PROJECT_NAME}Targets.cmake
++ NAMESPACE
++ ${PROJECT_NAME}::
++ DESTINATION
++ ${ConfigPackageLocation}
++)
++
++install(
++ FILES
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
++ DESTINATION
++ ${ConfigPackageLocation}
++)
+\ В конце файла нет новой строки
+diff -urN heatshrink-0.4.1.orig/Config.cmake.in heatshrink-0.4.1/Config.cmake.in
+--- heatshrink-0.4.1.orig/Config.cmake.in 1970-01-01 03:00:00.000000000 +0300
++++ heatshrink-0.4.1/Config.cmake.in 2024-02-01 15:11:32.356696150 +0300
+@@ -0,0 +1,5 @@
++@PACKAGE_INIT@
++
++if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake)
++ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
++endif ()
+\ В конце файла нет новой строки
diff --git a/dev-libs/heatshrink/heatshrink-0.4.1.ebuild b/dev-libs/heatshrink/heatshrink-0.4.1.ebuild
new file mode 100644
index 000000000000..2bda58d0cefa
--- /dev/null
+++ b/dev-libs/heatshrink/heatshrink-0.4.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A data compression/decompression library for embedded/real-time systems"
+HOMEPAGE="https://github.com/atomicobject/heatshrink"
+SRC_URI="https://github.com/atomicobject/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
diff --git a/dev-libs/heatshrink/metadata.xml b/dev-libs/heatshrink/metadata.xml
new file mode 100644
index 000000000000..df9f753c622a
--- /dev/null
+++ b/dev-libs/heatshrink/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/atomicobject/heatshrink/issues</bugs-to>
+ <remote-id type="github">atomicobject/heatshrink</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hidapi/Manifest b/dev-libs/hidapi/Manifest
index bee64ebd160c..3bece08534c5 100644
--- a/dev-libs/hidapi/Manifest
+++ b/dev-libs/hidapi/Manifest
@@ -1,3 +1,2 @@
-DIST hidapi-0.11.0.tgz 232631 BLAKE2B 770c0663b007aa36580af217d0d38be72923e0ad84cee137594ca3e174e589cebb9188003a50999e1c561b0e4e9ca68bd1af29029b89fde2b0a46020b12f9744 SHA512 0de4abc963600d159ce231416c468b9e81a8361e4d2c2202988d6eb2e58a923700e9b9be639fbddc6bc14625131848409e2e88dbc4b34a1f8a726c8fa4692d92
-DIST hidapi-0.12.0.tgz 238751 BLAKE2B 25eddf337970275a026839dfe8c0c3beef58da892a6b192751f70faa7ca3ad12f9deab34c3800e053ef9bdefca481a863fac0c25aab51dbf172b44bd94e34e56 SHA512 866268927698db6fa553e000ead3c0c4b8df67ea768d36acac9c71f06f0bd8283778e90eee03f81aaa930f38dbb5719391906c7d2742b74479ffa436104f5fa4
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.11.0.ebuild b/dev-libs/hidapi/hidapi-0.11.0.ebuild
deleted file mode 100644
index 2096ee28357b..000000000000
--- a/dev-libs/hidapi/hidapi-0.11.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
-HOMEPAGE="https://github.com/libusb/hidapi"
-SRC_URI="https://github.com/libusb/hidapi/archive/${P}.tar.gz -> ${P}.tgz"
-
-LICENSE="|| ( BSD GPL-3 HIDAPI )"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~riscv x86"
-IUSE="doc fox"
-
-RDEPEND="
- virtual/libusb:1[${MULTILIB_USEDEP}]
- virtual/libudev:0[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- fox? ( x11-libs/fox )"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
- default
-
- if ! use fox; then
- sed -i -e 's:PKG_CHECK_MODULES(\[fox\], .*):AC_SUBST(fox_CFLAGS,[ ])AC_SUBST(fox_LIBS,[ ]):' configure.ac || die
- fi
-
- # Portage handles license texts itself, no need to install them
- sed -i -e 's/LICENSE.*/ # blank/' Makefile.am || die
-
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static \
- $(multilib_native_use_enable fox testgui)
-}
-
-multilib_src_compile() {
- default
- if use doc && multilib_is_native_abi; then
- doxygen "${S}/doxygen/Doxyfile" || die
- fi
-}
-
-multilib_src_install() {
- emake install DESTDIR="${D}"
- find "${D}" -name '*.la' -delete || die
-
- if use doc && multilib_is_native_abi; then
- local HTML_DOCS=( html/. )
- fi
- einstalldocs
-}
diff --git a/dev-libs/hidapi/hidapi-0.12.0-r1.ebuild b/dev-libs/hidapi/hidapi-0.12.0-r1.ebuild
deleted file mode 100644
index 6f2ed465adcc..000000000000
--- a/dev-libs/hidapi/hidapi-0.12.0-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-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-doc/doxygen )"
-
-S="${WORKDIR}/${PN}-${P}"
-
-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.12.0.ebuild b/dev-libs/hidapi/hidapi-0.12.0.ebuild
deleted file mode 100644
index 308a68df2888..000000000000
--- a/dev-libs/hidapi/hidapi-0.12.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-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"
-
-RDEPEND="
- virtual/libusb:1[${MULTILIB_USEDEP}]
- virtual/libudev:0[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-S="${WORKDIR}/${PN}-${P}"
-
-multilib_src_compile() {
- cmake_src_compile
-
- if use doc && multilib_is_native_abi; then
- doxygen "${S}/doxygen/Doxyfile" || die
- fi
-}
-
-multilib_src_install() {
- cmake_src_install
-
- if use doc && multilib_is_native_abi; then
- local HTML_DOCS=( html/. )
- fi
- einstalldocs
-}
diff --git a/dev-libs/hidapi/hidapi-0.13.1-r1.ebuild b/dev-libs/hidapi/hidapi-0.13.1-r1.ebuild
new file mode 100644
index 000000000000..2e02a10b8d7d
--- /dev/null
+++ b/dev-libs/hidapi/hidapi-0.13.1-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib flag-o-matic
+
+DESCRIPTION="A multi-platform library for USB and Bluetooth HID-Class devices"
+HOMEPAGE="https://github.com/libusb/hidapi"
+SRC_URI="https://github.com/libusb/hidapi/archive/${P}.tar.gz -> ${P}.tgz"
+
+LICENSE="|| ( BSD GPL-3 HIDAPI )"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
+IUSE="doc"
+
+DEPEND="
+ virtual/libusb:1[${MULTILIB_USEDEP}]
+ virtual/libudev:0[${MULTILIB_USEDEP}]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )"
+
+S="${WORKDIR}/${PN}-${P}"
+
+multilib_src_configure() {
+ append-lfs-flags
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if use doc && multilib_is_native_abi; then
+ cd "${S}/doxygen"
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ if use doc && multilib_is_native_abi; then
+ local HTML_DOCS=( "${S}/doxygen/html/." )
+ fi
+ einstalldocs
+}
diff --git a/dev-libs/hidapi/hidapi-0.13.1.ebuild b/dev-libs/hidapi/hidapi-0.13.1.ebuild
deleted file mode 100644
index 6f2ed465adcc..000000000000
--- a/dev-libs/hidapi/hidapi-0.13.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-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-doc/doxygen )"
-
-S="${WORKDIR}/${PN}-${P}"
-
-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/metadata.xml b/dev-libs/hidapi/metadata.xml
index f31807f17dda..2493acc7ce5b 100644
--- a/dev-libs/hidapi/metadata.xml
+++ b/dev-libs/hidapi/metadata.xml
@@ -1,13 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>sultan@gentoo.org</email>
- <name>Stephan Hartmann</name>
- </maintainer>
- <use>
- <flag name="fox">Build a <pkg>x11-libs/fox</pkg> GUI</flag>
- </use>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">libusb/hidapi</remote-id>
</upstream>
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 e56d2c6315f8..54d9108948d7 100644
--- a/dev-libs/hiredis/Manifest
+++ b/dev-libs/hiredis/Manifest
@@ -1,3 +1,3 @@
-DIST hiredis-0.14.1.tar.gz 64372 BLAKE2B 9846b05e21bfadb876e26ab45bf5c29a3283b602ef725dfbd877815be690bb5579551f0c452e1d8abf9ae985f6b71408a3b86b343ca5d6dce58dd4897640996a SHA512 a7310f2d65075df0c17636a0220e16487759471a3442b1de2595ab747565f6b6262e37131613b13e396b31050bcbe5529c35d420cd43fd7d500d9d563d469c4f
DIST hiredis-1.0.2.tar.gz 98139 BLAKE2B 86d872cfec3d4e925d5d68e4f4faf1301aa6d706bd0406a8080471e14afc2c25db13b9a0937d29baccd457611af8e46922b5379183c7470c9ae1860aac3af096 SHA512 86497a1c21869bbe535378885eee6dbd594ef96325966511a3513f81e501af0f5ac7fed864f3230372f3ac7a23c05bad477fa5aa90b9747c9fb1408028174f9b
DIST hiredis-1.1.0.tar.gz 122002 BLAKE2B 74c23816e59ea241c68640f99970ae68536a1cd605ac1a7146bf52e355f5f74b3d39fb81be02741cf776c06b47b9d5acc7ec66bfdcf802dec3ed68fb28a82b1b SHA512 9dad012c144ed24de6aa413a3a10d19a9d0d9ece18dbc388406cd86c5b98cb66c76c586cb559c601ed13a75051d8921dc2882534cc3605513fde47d57276c3bb
+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-0.14.1-honor-AR.patch b/dev-libs/hiredis/files/hiredis-0.14.1-honor-AR.patch
deleted file mode 100644
index 0bfcf0988e81..000000000000
--- a/dev-libs/hiredis/files/hiredis-0.14.1-honor-AR.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -51,7 +51,7 @@ DYLIB_MAJOR_NAME=$(LIBNAME).$(DYLIBSUFFIX).$(HIREDIS_MAJOR)
- DYLIBNAME=$(LIBNAME).$(DYLIBSUFFIX)
- DYLIB_MAKE_CMD=$(CC) -shared -Wl,-soname,$(DYLIB_MINOR_NAME) -o $(DYLIBNAME) $(LDFLAGS)
- STLIBNAME=$(LIBNAME).$(STLIBSUFFIX)
--STLIB_MAKE_CMD=ar rcs $(STLIBNAME)
-+STLIB_MAKE_CMD=$(AR) rcs $(STLIBNAME)
-
- # Platform-specific overrides
- uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
diff --git a/dev-libs/hiredis/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.14.1.ebuild b/dev-libs/hiredis/hiredis-0.14.1.ebuild
deleted file mode 100644
index 8711e421b030..000000000000
--- a/dev-libs/hiredis/hiredis-0.14.1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Minimalistic C client library for the Redis database"
-HOMEPAGE="https://github.com/redis/hiredis"
-SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/0.14"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~x64-solaris"
-IUSE="examples static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-db/redis )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.13.3-disable-network-tests.patch
- "${FILESDIR}"/${PN}-0.14.1-honor-AR.patch
-)
-
-src_prepare() {
- default
-
- # use GNU ld syntax on Solaris
- sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
-}
-
-_build() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- PREFIX="${EPREFIX}/usr" \
- LIBRARY_PATH="$(get_libdir)" \
- DEBUG_FLAGS= \
- OPTIMIZATION= \
- "$@"
-}
-
-src_compile() {
- # The static lib re-uses the same objects as the shared lib, so
- # overhead is low w/creating it all the time. It's also needed
- # by the tests.
- _build dynamic static hiredis.pc
-}
-
-src_test() {
- local REDIS_PID="${T}"/hiredis.pid
- local REDIS_SOCK="${T}"/hiredis.sock
- local REDIS_PORT=56379
- local REDIS_TEST_CONFIG="daemonize yes
- pidfile ${REDIS_PID}
- port ${REDIS_PORT}
- bind 127.0.0.1
- unixsocket //${REDIS_SOCK}"
-
- _build hiredis-test
-
- "${EPREFIX}"/usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
- ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
- local ret=$?
-
- kill "$(<"${REDIS_PID}")" || die
- [[ ${ret} != "0" ]] && die "tests failed"
-}
-
-src_install() {
- _build PREFIX="${ED}/usr" install
-
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-
- local DOCS=( CHANGELOG.md README.md )
- use examples && DOCS+=( examples )
- einstalldocs
-}
diff --git a/dev-libs/hiredis/hiredis-1.0.2-r2.ebuild b/dev-libs/hiredis/hiredis-1.0.2-r2.ebuild
deleted file mode 100644
index 6290e448af16..000000000000
--- a/dev-libs/hiredis/hiredis-1.0.2-r2.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2022 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.pc
-}
-
-src_test() {
- local REDIS_PID="${T}"/hiredis.pid
- local REDIS_SOCK="${T}"/hiredis.sock
- local REDIS_PORT=56379
- local REDIS_TEST_CONFIG="
- daemonize yes
- pidfile ${REDIS_PID}
- port ${REDIS_PORT}
- bind 127.0.0.1
- unixsocket //${REDIS_SOCK}
- "
-
- _build hiredis-test
-
- "${EPREFIX}"/usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
- ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
- local ret=$?
-
- kill "$(<"${REDIS_PID}")" || die
- [[ ${ret} != "0" ]] && die "tests failed"
-}
-
-src_install() {
- _build PREFIX="${ED}/usr" install
-
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-
- local DOCS=( CHANGELOG.md README.md )
- use examples && DOCS+=( examples )
- einstalldocs
-}
diff --git a/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild b/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild
new file mode 100644
index 000000000000..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.1.0.ebuild b/dev-libs/hiredis/hiredis-1.1.0.ebuild
deleted file mode 100644
index 04945ae5a369..000000000000
--- a/dev-libs/hiredis/hiredis-1.1.0.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="Minimalistic C client library for the Redis database"
-HOMEPAGE="https://github.com/redis/hiredis"
-SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-# Always check "Upgrading from ..." in README
-# e.g. https://github.com/redis/hiredis#upgrading-to-110
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris"
-IUSE="examples ssl static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND="ssl? ( dev-libs/openssl:= )"
-RDEPEND="${DEPEND}"
-BDEPEND="
- test? (
- dev-db/redis
- dev-libs/libevent
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.0-disable-network-tests.patch
-)
-
-src_prepare() {
- default
-
- # use GNU ld syntax on Solaris
- sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die
-}
-
-_build() {
- emake \
- AR="$(tc-getAR)" \
- CC="$(tc-getCC)" \
- PREFIX="${EPREFIX}/usr" \
- LIBRARY_PATH="$(get_libdir)" \
- USE_SSL=$(usex ssl 1 0) \
- TEST_ASYNC=$(usex test 1 0) \
- DEBUG_FLAGS= \
- OPTIMIZATION= \
- "$@"
-}
-
-src_compile() {
- # The static lib re-uses the same objects as the shared lib, so
- # overhead is low w/creating it all the time. It's also needed
- # by the tests.
- _build dynamic static hiredis.pc
-}
-
-src_test() {
- # Compare with https://github.com/redis/hiredis/blob/648763c36e9f6493b13a77da35eb33ef0652b4e2/Makefile#L32
- local REDIS_PID="${T}"/hiredis.pid
- local REDIS_SOCK="${T}"/hiredis.sock
- local REDIS_PORT=56379
- local REDIS_TEST_CONFIG="
- daemonize yes
- pidfile ${REDIS_PID}
- port ${REDIS_PORT}
- bind 127.0.0.1
- unixsocket //${REDIS_SOCK}
- "
-
- _build hiredis-test
-
- "${EPREFIX}"/usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die
- ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK}
- local ret=$?
-
- kill "$(<"${REDIS_PID}")" || die
- [[ ${ret} != "0" ]] && die "tests failed"
-}
-
-src_install() {
- _build PREFIX="${ED}/usr" install
-
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins ${PN}.pc
-
- local DOCS=( CHANGELOG.md README.md )
- use examples && DOCS+=( examples )
- einstalldocs
-}
diff --git a/dev-libs/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/http-fetcher/metadata.xml b/dev-libs/http-fetcher/metadata.xml
index d43c15f4310e..954ebaf0701a 100644
--- a/dev-libs/http-fetcher/metadata.xml
+++ b/dev-libs/http-fetcher/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">http-fetcher</remote-id>
</upstream>
diff --git a/dev-libs/hyperscan/Manifest b/dev-libs/hyperscan/Manifest
deleted file mode 100644
index 583b450ea304..000000000000
--- a/dev-libs/hyperscan/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hyperscan-5.4.0.tar.gz 1844963 BLAKE2B 1a5af88655854b4c1ec58e6663b6c9c4b6fca0aa9d3e4daad3992daf911b8f359f48a95b65e4f05c71aa644e0271471d016fafaca05d547b838a9c52ea016e27 SHA512 cfec3f43b9e8b3fbb2e761927f3a173c1230f2688da710ec7708f2941ce6f550a1d3cb48b0b0e2ccf709807390117a7e40047cb99190bcc341f37eb3da13ae62
diff --git a/dev-libs/hyperscan/hyperscan-5.4.0.ebuild b/dev-libs/hyperscan/hyperscan-5.4.0.ebuild
deleted file mode 100644
index 34d42c4677bb..000000000000
--- a/dev-libs/hyperscan/hyperscan-5.4.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake flag-o-matic python-any-r1
-
-DESCRIPTION="High-performance regular expression matching library"
-SRC_URI="https://github.com/intel/hyperscan/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="https://www.hyperscan.io/ https://github.com/intel/hyperscan"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="-* amd64 x86"
-IUSE="cpu_flags_x86_avx2 cpu_flags_x86_ssse3 static-libs"
-
-RDEPEND="dev-libs/boost:="
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-util/ragel
-"
-
-# We can't default this to on as it's against the expectation of
-# how CPU_FLAGS_* work for users.
-REQUIRED_USE="cpu_flags_x86_ssse3"
-
-src_prepare() {
- # Respect user -O flags
- sed -i '/set(OPT_CX*_FLAG/d' CMakeLists.txt || die
-
- # upstream workaround
- append-cxxflags -Wno-redundant-move
- cmake_src_prepare
-}
-
-src_configure() {
- use cpu_flags_x86_ssse3 && append-flags -mssse3
- use cpu_flags_x86_avx2 && append-flags -mavx2
-
- # Temporary, see #772086#c1 and associated PR
- CMAKE_BUILD_TYPE="Release"
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
- -DBUILD_STATIC_AND_SHARED=$(usex static-libs ON OFF)
- -DBUILD_EXAMPLES=OFF
- -DFAT_RUNTIME=false
- )
- cmake_src_configure
-}
-
-src_test() {
- "${BUILD_DIR}"/bin/unit-hyperscan || die
-}
diff --git a/dev-libs/hyperscan/metadata.xml b/dev-libs/hyperscan/metadata.xml
deleted file mode 100644
index c367a670c6e6..000000000000
--- a/dev-libs/hyperscan/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arkamar@atlas.cz</email>
- <name>Petr Vaněk</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">intel/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 ec59ef06c25d..000000000000
--- a/dev-libs/hyphen/hyphen-2.8.8-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=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 ~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 )
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- docinto pdf
- dodoc doc/*.pdf
-
- rm -r "${ED}"/usr/share/hyphen || die
- # bug #775587
- rm -f "${ED}/usr/$(get_libdir)/libhyphen.la" || die
-}
diff --git a/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild b/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild
new file mode 100644
index 000000000000..f53aaa413168
--- /dev/null
+++ b/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="ALTLinux hyphenation library"
+HOMEPAGE="https://hunspell.github.io/"
+SRC_URI="mirror://sourceforge/hunspell/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+DEPEND="app-text/hunspell"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-lang/perl"
+
+DOCS=( AUTHORS ChangeLog NEWS README{,.nonstandard,.hyphen,.compound} THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-mawk.patch
+)
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ docinto pdf
+ dodoc doc/*.pdf
+
+ rm -r "${ED}"/usr/share/hyphen || die
+ # bug #775587
+ rm -f "${ED}/usr/$(get_libdir)/libhyphen.la" || die
+}
diff --git a/dev-libs/hyphen/metadata.xml b/dev-libs/hyphen/metadata.xml
index 8acbf740b37a..eae9e8117d60 100644
--- a/dev-libs/hyphen/metadata.xml
+++ b/dev-libs/hyphen/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">hunspell</remote-id>
+ <remote-id type="github">hunspell/hyphen</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/hyprland-protocols/Manifest b/dev-libs/hyprland-protocols/Manifest
new file mode 100644
index 000000000000..d7acf48d63d2
--- /dev/null
+++ b/dev-libs/hyprland-protocols/Manifest
@@ -0,0 +1 @@
+DIST hyprland-protocols-0.2.gh.tar.gz 6342 BLAKE2B a5179bc465156043903a5f17b1a4593ca15694ef22c52b1ba8a306d3680f1443a3c2ccf5947ace533244cc5b19ce02e8f3014053984f121f8e049882c1e21fa0 SHA512 cd1f9309a69236d6fd2ffc1a09f5f8a1196f357367779c08f30aeaaca7646be364c40fa8c207751012873085d24581fe7b7252c825e89958c20adfb48b029274
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild
new file mode 100644
index 000000000000..0de43fcf06fb
--- /dev/null
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol extensions for Hyprland"
+HOMEPAGE="https://github.com/hyprwm/hyprland-protocols"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~riscv"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild
new file mode 100644
index 000000000000..0de43fcf06fb
--- /dev/null
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Wayland protocol extensions for Hyprland"
+HOMEPAGE="https://github.com/hyprwm/hyprland-protocols"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/hyprwm/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~riscv"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+BDEPEND="
+ dev-util/wayland-scanner
+ virtual/pkgconfig
+"
diff --git a/dev-libs/hyprland-protocols/metadata.xml b/dev-libs/hyprland-protocols/metadata.xml
new file mode 100644
index 000000000000..1273be6af080
--- /dev/null
+++ b/dev-libs/hyprland-protocols/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hyprwm/hyprland-protocols</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/hyprlang/Manifest b/dev-libs/hyprlang/Manifest
new file mode 100644
index 000000000000..6e10a09ae087
--- /dev/null
+++ b/dev-libs/hyprlang/Manifest
@@ -0,0 +1,3 @@
+DIST hyprlang-0.4.2.gh.tar.gz 54441 BLAKE2B f87c91ba86fa1e7af1d895d00f537fdd3f3c379a4dd06761cd9bf032b751ee69d9a46863b823aa42cf8d4c0e7e07f543ee583f7ac4978911374f34cce640ff72 SHA512 4e98fa369130f4453d270053d5b3a36587ab77b2948125cffab59ac00267ea43aa5368d177e5862ef57a3c8471ad290889b83cf82ad08fcf35872172ee128963
+DIST hyprlang-0.5.0.gh.tar.gz 54809 BLAKE2B d5d83188b4cce021901182d94bcc6466949e6504053217cbf3324f7362e8a9d7cef2040949a172a35b41d9c0de981618d343edd21a70ab8a8005b573f5799e05 SHA512 9e80b936d977d46f9c1a0fc4733c89fb1cf521c767295891427f1ab358f8373839db3fad823f8abfca9d344350813361504f70aa3f6e109b523ab8ec2c3fa833
+DIST hyprlang-0.5.1.gh.tar.gz 56237 BLAKE2B 1d93362d4e121dc0d6e18d27456be71bed088d79646a92a74e41af7ebefd511cef05c12034eb679fd1849c3c95e50e425a52a42da75f274bf39d2956d6bd6d5e SHA512 92bf1e79c41c33e09de25f45e8abfe753736521be06fee298875a68072761bf0254d06d2d312a12b2ae750d8710f50d1666f1b3fbbb95c338398f2b9e80ce454
diff --git a/dev-libs/hyprlang/hyprlang-0.4.2.ebuild b/dev-libs/hyprlang/hyprlang-0.4.2.ebuild
new file mode 100644
index 000000000000..4c7b562223db
--- /dev/null
+++ b/dev-libs/hyprlang/hyprlang-0.4.2.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Official implementation library for the hypr config language"
+HOMEPAGE="https://github.com/hyprwm/hyprlang"
+SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
diff --git a/dev-libs/hyprlang/hyprlang-0.5.0.ebuild b/dev-libs/hyprlang/hyprlang-0.5.0.ebuild
new file mode 100644
index 000000000000..9884a4ce9a12
--- /dev/null
+++ b/dev-libs/hyprlang/hyprlang-0.5.0.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Official implementation library for the hypr config language"
+HOMEPAGE="https://github.com/hyprwm/hyprlang"
+SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~riscv"
diff --git a/dev-libs/hyprlang/hyprlang-0.5.1.ebuild b/dev-libs/hyprlang/hyprlang-0.5.1.ebuild
new file mode 100644
index 000000000000..4c7b562223db
--- /dev/null
+++ b/dev-libs/hyprlang/hyprlang-0.5.1.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Official implementation library for the hypr config language"
+HOMEPAGE="https://github.com/hyprwm/hyprlang"
+SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
diff --git a/dev-libs/hyprlang/metadata.xml b/dev-libs/hyprlang/metadata.xml
new file mode 100644
index 000000000000..9cd0a7a6e284
--- /dev/null
+++ b/dev-libs/hyprlang/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>julien@jroy.ca</email>
+ <name>Julien Roy</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+The hypr configuration language is an extremely efficient, yet easy to work with, configuration language for linux applications.
+
+It's user-friendly, easy to grasp, and easy to implement.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/hyprwm/hyprlang/issues</bugs-to>
+ <changelog>https://github.com/hyprwm/hyprlang/releases</changelog>
+ <remote-id type="github">hyprwm/hyprlang</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/icinga-php-library/Manifest b/dev-libs/icinga-php-library/Manifest
index f1f458399b0a..381ce67ae809 100644
--- a/dev-libs/icinga-php-library/Manifest
+++ b/dev-libs/icinga-php-library/Manifest
@@ -1,3 +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.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-thirdparty/Manifest b/dev-libs/icinga-php-thirdparty/Manifest
index e0fa0aea78f9..af9673e72790 100644
--- a/dev-libs/icinga-php-thirdparty/Manifest
+++ b/dev-libs/icinga-php-thirdparty/Manifest
@@ -1,2 +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.12.0.ebuild b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild
new file mode 100644
index 000000000000..9b47ddec8290
--- /dev/null
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Icinga PHP libraries for Icinga Web 2"
+HOMEPAGE="https://github.com/Icinga/icinga-php-thirdparty"
+SRC_URI="https://github.com/Icinga/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_install() {
+ insinto "/usr/share/icinga-php/vendor"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icu-layoutex/Manifest b/dev-libs/icu-layoutex/Manifest
index cdf78708ebe4..821057a1856d 100644
--- a/dev-libs/icu-layoutex/Manifest
+++ b/dev-libs/icu-layoutex/Manifest
@@ -1,2 +1,2 @@
-DIST icu4c-72_1-src.tgz 26303933 BLAKE2B 0eeaf6cf61c98ab93f2c7715607209b7741dcb806a98749a7172d004210b98c3528f84ca3c53400f7ed06ed90c6f6f3f55df3fead033c66c7e948697907343f9 SHA512 848c341b37c0ff077e34a95d92c6200d5aaddd0ee5e06134101a74e04deb08256a5e817c8aefab020986abe810b7827dd7b2169a60dacd250c298870518dcae8
-DIST icu4c-72_1-src.tgz.asc 659 BLAKE2B 1d28948ee577ed9fe694c1e151da124df3567d81352465c76e8910848bb780e9fc9505c4a3795fde8f2f6e8f28a631f887fdecdc536286341b2b23ce423a7cbb SHA512 8b5e841a3baa317a13cadf7deb3582a80cfab8e5bdae6bd04612ee7be3006d9acf07b015de01a94990fa350109a3c11e547482e4cb4ca986161cc701a8cd427b
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
diff --git a/dev-libs/icu-layoutex/icu-layoutex-72.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-72.1.ebuild
deleted file mode 100644
index 0fbb37202844..000000000000
--- a/dev-libs/icu-layoutex/icu-layoutex-72.1.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please bump with dev-libs/icu
-
-inherit autotools flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="External layout part of International Components for Unicode"
-HOMEPAGE="https://icu.unicode.org/"
-if [[ ${PV} == *_rc* ]] ; then
- SRC_URI="https://github.com/unicode-org/icu/archive/refs/tags/release-$(ver_rs 1- '-').tar.gz -> ${P/-layoutex}.tar.gz"
- S="${WORKDIR}"/${PN/-layoutex}-release-$(ver_rs 1- '-')/icu4c/source
-else
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/icu.asc
- inherit verify-sig
-
- SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
- SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz.asc )"
- S="${WORKDIR}"/${PN/-layoutex}/source
-
- KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-
- BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )"
-fi
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-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
-"
-
-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() {
- # 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
- 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/Manifest b/dev-libs/icu/Manifest
index cdf78708ebe4..821057a1856d 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -1,2 +1,2 @@
-DIST icu4c-72_1-src.tgz 26303933 BLAKE2B 0eeaf6cf61c98ab93f2c7715607209b7741dcb806a98749a7172d004210b98c3528f84ca3c53400f7ed06ed90c6f6f3f55df3fead033c66c7e948697907343f9 SHA512 848c341b37c0ff077e34a95d92c6200d5aaddd0ee5e06134101a74e04deb08256a5e817c8aefab020986abe810b7827dd7b2169a60dacd250c298870518dcae8
-DIST icu4c-72_1-src.tgz.asc 659 BLAKE2B 1d28948ee577ed9fe694c1e151da124df3567d81352465c76e8910848bb780e9fc9505c4a3795fde8f2f6e8f28a631f887fdecdc536286341b2b23ce423a7cbb SHA512 8b5e841a3baa317a13cadf7deb3582a80cfab8e5bdae6bd04612ee7be3006d9acf07b015de01a94990fa350109a3c11e547482e4cb4ca986161cc701a8cd427b
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
diff --git a/dev-libs/icu/icu-72.1.ebuild b/dev-libs/icu/icu-72.1.ebuild
deleted file mode 100644
index 7763a58c4f85..000000000000
--- a/dev-libs/icu/icu-72.1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2023 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_{9..11} )
-inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs
-
-DESCRIPTION="International Components for Unicode"
-HOMEPAGE="https://icu.unicode.org/"
-if [[ ${PV} == *_rc* ]] ; then
- SRC_URI="https://github.com/unicode-org/icu/archive/refs/tags/release-$(ver_rs 1- '-').tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}"/${PN}-release-$(ver_rs 1- '-')/icu4c/source
-else
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/icu.asc
- inherit verify-sig
-
- SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz"
- SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${PV//./-}/icu4c-${PV//./_}-src.tgz.asc )"
- S="${WORKDIR}"/${PN}/source
-
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-
- BDEPEND="verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )"
-fi
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-IUSE="debug doc examples static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND+="
- ${PYTHON_DEPS}
- sys-devel/autoconf-archive
- virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
-"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/icu-config
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
- "${FILESDIR}/${PN}-64.2-darwin.patch"
- "${FILESDIR}/${PN}-68.1-nonunicode.patch"
-)
-
-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"
-
- # 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
- --disable-layoutex
- $(use_enable debug)
- $(use_enable static-libs static)
- $(use_enable test tests)
- $(multilib_native_use_enable examples samples)
- )
-
- tc-is-cross-compiler && myeconfargs+=(
- --with-cross-build="${WORKDIR}"/host
- )
-
- # Work around cross-endian testing failures with LTO #757681
- if tc-is-cross-compiler && is-flagq '-flto*' ; then
- myeconfargs+=( --disable-strict )
- fi
-
- # ICU tries to use clang by default
- tc-export CC CXX
-
- # Make sure we configure with the same shell as we run icu-config
- # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
- export CONFIG_SHELL="${EPREFIX}/bin/sh"
- # Probably have no /bin/sh in prefix-chain
- [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- default
-
- if multilib_is_native_abi && use doc; then
- doxygen -u Doxyfile || die
- doxygen Doxyfile || die
- fi
-}
-
-multilib_src_test() {
- # INTLTEST_OPTS: intltest options
- # -e: Exhaustive testing
- # -l: Reporting of memory leaks
- # -v: Increased verbosity
- # IOTEST_OPTS: iotest options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- # CINTLTST_OPTS: cintltst options
- # -e: Exhaustive testing
- # -v: Increased verbosity
- emake -j1 check
-}
-
-multilib_src_install() {
- default
-
- if multilib_is_native_abi && use doc; then
- docinto html
- dodoc -r doc/html/*
- fi
-}
-
-multilib_src_install_all() {
- local HTML_DOCS=( ../readme.html )
- einstalldocs
-}
diff --git a/dev-libs/icu/icu-74.2.ebuild b/dev-libs/icu/icu-74.2.ebuild
new file mode 100644
index 000000000000..dcfd9ddc6d2b
--- /dev/null
+++ b/dev-libs/icu/icu-74.2.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with dev-libs/icu-layoutex
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc
+inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/-rc}
+MY_PV=${MY_PV//./_}
+
+DESCRIPTION="International Components for Unicode"
+HOMEPAGE="https://icu.unicode.org/"
+SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
+SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
+S="${WORKDIR}"/${PN}/source
+
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+LICENSE="BSD"
+SLOT="0/${PV%.*}.1"
+IUSE="debug doc examples static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/icu-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
+ "${FILESDIR}/${PN}-64.2-darwin.patch"
+ "${FILESDIR}/${PN}-68.1-nonunicode.patch"
+)
+
+src_prepare() {
+ default
+
+ # Disable renaming as it assumes stable ABI and that consumers
+ # won't use unofficial APIs. We need this despite the configure argument.
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
+ common/unicode/uconfig.h || die
+
+ # Fix linking of icudata
+ sed -i \
+ -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
+ config/mh-linux || die
+
+ # Append doxygen configuration to configure
+ sed -i \
+ -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ MAKEOPTS+=" VERBOSE=1"
+
+ # -Werror=odr
+ # https://bugs.gentoo.org/866947
+ # https://unicode-org.atlassian.net/browse/ICU-22001
+ #
+ # Only present in testsuite, but unfortunately that means we cannot...
+ # test... LTO support.
+ filter-lto
+
+ # ICU tries to append -std=c++11 without this, so as of 71.1,
+ # despite GCC 9+ using c++14 (or gnu++14) and GCC 11+ using gnu++17,
+ # we still need this.
+ append-cxxflags -std=c++14
+
+ if tc-is-cross-compiler; then
+ mkdir "${WORKDIR}"/host || die
+ pushd "${WORKDIR}"/host >/dev/null || die
+
+ CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
+ CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
+ "${S}"/configure --disable-renaming --disable-debug \
+ --disable-samples --enable-static || die
+ emake
+
+ popd >/dev/null || die
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-renaming
+ --disable-samples
+ # TODO: Merge with dev-libs/icu-layoutex
+ # Planned to do this w/ 73.2 but seem to get test failures
+ # only with --enable-layoutex.
+ --disable-layoutex
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ $(multilib_native_use_enable examples samples)
+ )
+
+ #if use test ; then
+ # myeconfargs+=(
+ # --enable-extras
+ # --enable-tools
+ # )
+ #else
+ # myeconfargs+=(
+ # $(multilib_native_enable extras)
+ # $(multilib_native_enable tools)
+ # )
+ #fi
+
+ tc-is-cross-compiler && myeconfargs+=(
+ --with-cross-build="${WORKDIR}"/host
+ )
+
+ # Work around cross-endian testing failures with LTO, bug #757681
+ if tc-is-cross-compiler && tc-is-lto ; then
+ myeconfargs+=( --disable-strict )
+ fi
+
+ # ICU tries to use clang by default
+ tc-export CC CXX
+
+ # Make sure we configure with the same shell as we run icu-config
+ # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
+ export CONFIG_SHELL="${EPREFIX}/bin/sh"
+ # Probably have no /bin/sh in prefix-chain
+ [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ doxygen -u Doxyfile || die
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake check
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ docinto html
+ dodoc -r doc/html/*
+ fi
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( ../readme.html )
+ einstalldocs
+}
diff --git a/dev-libs/igraph/Manifest b/dev-libs/igraph/Manifest
index a540f679a9a4..51f9f26da78d 100644
--- a/dev-libs/igraph/Manifest
+++ b/dev-libs/igraph/Manifest
@@ -1 +1,3 @@
-DIST igraph-0.9.4.tar.gz 3823988 BLAKE2B c62f15fd227a83da8a78c2bf569874e290c0f8ffd8c69353de1ff2fbd5dff290eceff2462495efc86f44303f3d9d0d397eba720a743da6c118dacb9eeff1b2b8 SHA512 1188d69b95f581d7dac5874dcdb2d1b1a322e39b275c6f092c199ed6214def814062bd46d573bdaa4bc8f4514d6840c6e93dedbe0f6c99a15de33cbc39356573
+DIST igraph-0.10.10.tar.gz 4336247 BLAKE2B cef87afe544d09446c999894c44e1d56120cac74b6af5d749835fbf60e5ae0f1676d6754e084f167d23718c6ce9f7b8cee159d3d670d1d5f1f495775c7b0d2f0 SHA512 d4b8d29f9c39f8390c442877183e64c442fccbc6a02b3aed5c1d8871ca5998d1a168f392f8dde26a8c3593ed6c09a66a200ac1155fbde87d368b101011bb122c
+DIST igraph-0.10.11.tar.gz 4349830 BLAKE2B 3aae088115148d1f965a52f01c950000097520fb0a150d2ad1fabb96cff434a9b548a6c17a10b9e0ebad3a577c2423ac5260cd28223147d3dc71b0d4fe139a95 SHA512 d6978589f12ed20b87777394b46f47b4ffc045ef693e5b4fc90163b9482361b2bf0ed2bb04aa99bf4a0653f7e4355cd480b0a165213d90ff7188ef6c86147c86
+DIST igraph-0.10.4.tar.gz 4279321 BLAKE2B 4e1fc8e8d6dd38cdb24ec564f51f2924e457376c258497b51d7dd4cec88d2226d5b202cdcfa69560e43fdb3cbd49656511178acd2ed705b4af26b1947a92f1ab SHA512 71bcec5f0ba100aae7614753f9232a4221580b822b4dc120e3a80eab59d70c42aedddb00728eb13faf7e522332c514c2e030314c416ded8a70e5de990ea8039b
diff --git a/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch b/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
new file mode 100644
index 000000000000..4bf0f2c6c3a9
--- /dev/null
+++ b/dev-libs/igraph/files/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
@@ -0,0 +1,35 @@
+From 808c083fbe661207ee8f0fcd3be5096b5dc17d0d Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 5 Mar 2024 14:54:46 +0100
+Subject: [PATCH] Fix `-Wstrict-aliasing`
+
+* Casting a `uint64_t*` to `double*` invokes undefined behavior, since
+ it violates the strict aliasing rules of ISO C. Instead of casting
+ pointers, let's read through a union which is supported by C and
+ yields the same performant assembly code.
+
+Closes: https://bugs.gentoo.org/924864
+---
+ src/random/random.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/random/random.c b/src/random/random.c
+index 8f2d0898aa..b5b44451ae 100644
+--- a/src/random/random.c
++++ b/src/random/random.c
+@@ -681,8 +681,13 @@ igraph_real_t igraph_rng_get_unif01(igraph_rng_t *rng) {
+ * Then we subtract 1 to arrive at the [0; 1) interval. This is fast
+ * but we lose one bit of precision as there are 2^53 possible doubles
+ * between 0 and 1. */
+- uint64_t r = (igraph_i_rng_get_random_bits_uint64(rng, 52) & 0xFFFFFFFFFFFFFull) | 0x3FF0000000000000ull;
+- return *(double *)(&r) - 1.0;
++ union {
++ uint64_t as_uint64_t;
++ double as_double;
++ } value;
++ value.as_uint64_t =
++ (igraph_i_rng_get_random_bits_uint64(rng, 52) & 0xFFFFFFFFFFFFFull) | 0x3FF0000000000000ull;
++ return value.as_double - 1.0;
+ }
+ }
+
diff --git a/dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch b/dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch
deleted file mode 100644
index 9bf9ed7bc764..000000000000
--- a/dev-libs/igraph/files/igraph-0.9.2-disable-broken-tests.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-upstream issue - https://github.com/igraph/igraph/issues/1694
-
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -678,10 +678,8 @@ add_examples(
- FOLDER examples/simple NAMES
- igraph_scg_grouping
- igraph_scg_grouping2
-- igraph_scg_grouping3
- igraph_scg_grouping4
- igraph_scg_semiprojectors
-- igraph_scg_semiprojectors2
- igraph_scg_semiprojectors3
- scg
- )
diff --git a/dev-libs/igraph/igraph-0.10.10.ebuild b/dev-libs/igraph/igraph-0.10.10.ebuild
new file mode 100644
index 000000000000..f270109ee806
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.10.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Creating and manipulating undirected and directed graphs"
+HOMEPAGE="https://igraph.org/"
+SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug test threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:0=
+ dev-libs/libxml2
+ sci-libs/arpack
+ sci-mathematics/glpk:=
+ sci-mathematics/plfit
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # backport fix for strict-aliasing
+ "${FILESDIR}"/808c083fbe661207ee8f0fcd3be5096b5dc17d0d.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_CCACHE=OFF
+ -DIGRAPH_GLPK_SUPPORT=ON
+ -DIGRAPH_GRAPHML_SUPPORT=ON
+ -DIGRAPH_USE_INTERNAL_ARPACK=OFF
+ -DIGRAPH_USE_INTERNAL_BLAS=OFF
+ -DIGRAPH_USE_INTERNAL_GLPK=OFF
+ -DIGRAPH_USE_INTERNAL_GMP=OFF
+ -DIGRAPH_USE_INTERNAL_LAPACK=OFF
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
+ -DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.10.11.ebuild b/dev-libs/igraph/igraph-0.10.11.ebuild
new file mode 100644
index 000000000000..2056002ac6f3
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.11.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Creating and manipulating undirected and directed graphs"
+HOMEPAGE="https://igraph.org/"
+SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug test threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:0=
+ dev-libs/libxml2
+ sci-libs/arpack
+ sci-mathematics/glpk:=
+ sci-mathematics/plfit
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_CCACHE=OFF
+ -DIGRAPH_GLPK_SUPPORT=ON
+ -DIGRAPH_GRAPHML_SUPPORT=ON
+ -DIGRAPH_USE_INTERNAL_ARPACK=OFF
+ -DIGRAPH_USE_INTERNAL_BLAS=OFF
+ -DIGRAPH_USE_INTERNAL_GLPK=OFF
+ -DIGRAPH_USE_INTERNAL_GMP=OFF
+ -DIGRAPH_USE_INTERNAL_LAPACK=OFF
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
+ -DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.10.4-r1.ebuild b/dev-libs/igraph/igraph-0.10.4-r1.ebuild
new file mode 100644
index 000000000000..fd9d1d6f77ec
--- /dev/null
+++ b/dev-libs/igraph/igraph-0.10.4-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Creating and manipulating undirected and directed graphs"
+HOMEPAGE="https://igraph.org/"
+SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/0"
+KEYWORDS="amd64 x86"
+
+IUSE="debug test threads"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/gmp:0=
+ dev-libs/libxml2
+ sci-libs/arpack
+ sci-mathematics/glpk:=
+ sci-mathematics/plfit
+ virtual/blas
+ virtual/lapack"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ # -Werror=strict-aliasing
+ #
+ # Fixed in upstream git master.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ local mycmakeargs=(
+ -DUSE_CCACHE=OFF
+ -DIGRAPH_GLPK_SUPPORT=ON
+ -DIGRAPH_GRAPHML_SUPPORT=ON
+ -DIGRAPH_USE_INTERNAL_ARPACK=OFF
+ -DIGRAPH_USE_INTERNAL_BLAS=OFF
+ -DIGRAPH_USE_INTERNAL_GLPK=OFF
+ -DIGRAPH_USE_INTERNAL_GMP=OFF
+ -DIGRAPH_USE_INTERNAL_LAPACK=OFF
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
+ -DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/dev-libs/igraph/igraph-0.9.4.ebuild b/dev-libs/igraph/igraph-0.9.4.ebuild
deleted file mode 100644
index 3e145244190d..000000000000
--- a/dev-libs/igraph/igraph-0.9.4.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Creating and manipulating undirected and directed graphs"
-HOMEPAGE="http://www.igraph.org/"
-SRC_URI="https://github.com/igraph/igraph/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/0"
-KEYWORDS="amd64 x86"
-IUSE="debug test threads"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/libxml2
- sci-libs/arpack
- sci-libs/cxsparse
- sci-mathematics/glpk:=
- virtual/blas
- virtual/lapack"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.9.2-disable-broken-tests.patch )
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_CCACHE=OFF
- -DIGRAPH_GLPK_SUPPORT=ON
- -DIGRAPH_GRAPHML_SUPPORT=ON
- -DIGRAPH_USE_INTERNAL_ARPACK=OFF
- -DIGRAPH_USE_INTERNAL_BLAS=OFF
- -DIGRAPH_USE_INTERNAL_CXSPARSE=OFF
- -DIGRAPH_USE_INTERNAL_GLPK=OFF
- -DIGRAPH_USE_INTERNAL_GMP=OFF
- -DIGRAPH_USE_INTERNAL_LAPACK=OFF
- -DIGRAPH_ENABLE_TLS=$(usex threads)
- -DBUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
-
-src_test() {
- cmake_build check
-}
diff --git a/dev-libs/iksemel/iksemel-1.4-r1.ebuild b/dev-libs/iksemel/iksemel-1.4-r1.ebuild
deleted file mode 100644
index e74f7323fa59..000000000000
--- a/dev-libs/iksemel/iksemel-1.4-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="eXtensible Markup Language parser library designed for Jabber applications"
-HOMEPAGE="https://github.com/meduketto/iksemel"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
-IUSE="ssl static-libs"
-
-RDEPEND="ssl? ( net-libs/gnutls:= )"
-DEPEND="${RDEPEND}
- ssl? ( virtual/pkgconfig )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.3-gnutls-2.8.patch
- "${FILESDIR}"/${PN}-1.4-gnutls-3.4.patch
- "${FILESDIR}"/${PN}-1.4-ikstack.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_with ssl gnutls) \
- $(use_enable static-libs static)
-}
-
-src_install() {
- default
- dodoc HACKING
-
- # package installs .pc files
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/iksemel/iksemel-1.4-r2.ebuild b/dev-libs/iksemel/iksemel-1.4-r2.ebuild
new file mode 100644
index 000000000000..373d63c51a00
--- /dev/null
+++ b/dev-libs/iksemel/iksemel-1.4-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="eXtensible Markup Language parser library designed for Jabber applications"
+HOMEPAGE="https://github.com/meduketto/iksemel"
+SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 ~sparc x86"
+IUSE="ssl"
+
+RDEPEND="ssl? ( net-libs/gnutls:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="ssl? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3-gnutls-2.8.patch
+ "${FILESDIR}"/${PN}-1.4-gnutls-3.4.patch
+ "${FILESDIR}"/${PN}-1.4-ikstack.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with ssl gnutls)
+}
+
+src_install() {
+ default
+ dodoc HACKING
+
+ # package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/imath/Manifest b/dev-libs/imath/Manifest
index b782847d7470..e3a201e2cc3d 100644
--- a/dev-libs/imath/Manifest
+++ b/dev-libs/imath/Manifest
@@ -1 +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
index 140156298dbb..35006aa943a2 100644
--- a/dev-libs/imath/imath-3.1.6.ebuild
+++ b/dev-libs/imath/imath-3.1.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ DESCRIPTION="Imath basic math package"
HOMEPAGE="https://imath.readthedocs.io"
SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
# re-keywording needed for (according to ilmbase keywords): ~x64-macos ~x86-solaris
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="BSD"
@@ -24,11 +24,8 @@ RESTRICT="!test? ( test )"
# blocker due to file collision #803347
RDEPEND="
- !dev-libs/imath:0
- !media-libs/ilmbase
sys-libs/zlib
python? (
- !dev-python/pyilmbase
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-libs/boost:=[python,${PYTHON_USEDEP}]
diff --git a/dev-libs/imath/imath-3.1.9.ebuild b/dev-libs/imath/imath-3.1.9.ebuild
new file mode 100644
index 000000000000..875d9a2d87d1
--- /dev/null
+++ b/dev-libs/imath/imath-3.1.9.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake python-single-r1
+
+MY_PN="${PN^}"
+
+DESCRIPTION="Imath basic math package"
+HOMEPAGE="https://imath.readthedocs.io"
+SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="3/29"
+IUSE="large-stack python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# blocker due to file collision #803347
+RDEPEND="
+ sys-libs/zlib
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ')
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ python? ( ${PYTHON_DEPS} )
+"
+
+DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md docs/PortingGuide2-3.md )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # requires press theme, not available in ::gentoo
+ -DBUILD_DOCS=OFF
+ -DIMATH_ENABLE_LARGE_STACK=$(usex large-stack)
+ # the following options are at their default value
+ -DIMATH_HALF_USE_LOOKUP_TABLE=ON
+ -DIMATH_INSTALL_PKG_CONFIG=ON
+ -DIMATH_USE_CLANG_TIDY=OFF
+ -DIMATH_USE_DEFAULT_VISIBILITY=OFF
+ -DIMATH_USE_NOEXCEPT=ON
+ )
+ if use python; then
+ mycmakeargs+=(
+ -DBoost_NO_BOOST_CMAKE=OFF
+ -DPYTHON=ON
+ -DPython3_EXECUTABLE="${PYTHON}"
+ -DPython3_INCLUDE_DIR=$(python_get_includedir)
+ -DPython3_LIBRARY=$(python_get_library_path)
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/imath/metadata.xml b/dev-libs/imath/metadata.xml
index e8c22a1a5aea..2f3f4ae00b0c 100644
--- a/dev-libs/imath/metadata.xml
+++ b/dev-libs/imath/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>waebbl-gentoo@posteo.net</email>
- <name>Bernd Waibel</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
diff --git a/dev-libs/inih/Manifest b/dev-libs/inih/Manifest
index 99f535bd88e4..52b0f107e155 100644
--- a/dev-libs/inih/Manifest
+++ b/dev-libs/inih/Manifest
@@ -1 +1,2 @@
-DIST inih-56.tar.gz 18458 BLAKE2B 51935959a9eb4e393b17302f0932a232963883680f10d404c63d5f2ebbd3bf0b740f44edfa1b2541d0e130016eb853ebedf68a1c40797f658496e2a8c966af3d SHA512 ff3e0910990f73e5b21fddc84737ab346279f201c86c7ad864c6cad9de5bde57c3e0a433b9b8f3585b7d86feaae2ea074185f92891dcadc98c274c1c0745d2d2
+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-56-r1.ebuild b/dev-libs/inih/inih-56-r1.ebuild
deleted file mode 100644
index e287c82e011d..000000000000
--- a/dev-libs/inih/inih-56-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# 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
-
-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_src_configure
-}
diff --git a/dev-libs/inih/inih-57-r1.ebuild b/dev-libs/inih/inih-57-r1.ebuild
new file mode 100644
index 000000000000..98e9528ea2d5
--- /dev/null
+++ b/dev-libs/inih/inih-57-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Tests not wired up to meson and don't seem to be intended for downstream use yet
+# e.g. hardcoding gcc, just a shell script
+
+inherit meson-multilib
+
+DESCRIPTION="inih (INI not invented here) simple .INI file parser"
+HOMEPAGE="https://github.com/benhoyt/inih"
+SRC_URI="https://github.com/benhoyt/inih/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/inih-r${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+DOCS=( README.md )
+
+src_configure() {
+ local emesonargs=(
+ -Ddefault_library=shared
+ -Ddistro_install=true
+ -Dwith_INIReader=true
+ )
+
+ meson-multilib_src_configure
+}
diff --git a/dev-libs/inih/inih-58.ebuild b/dev-libs/inih/inih-58.ebuild
new file mode 100644
index 000000000000..24cf8b3e6eba
--- /dev/null
+++ b/dev-libs/inih/inih-58.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Tests not wired up to meson and don't seem to be intended for downstream use yet
+# e.g. hardcoding gcc, just a shell script
+
+inherit meson-multilib
+
+DESCRIPTION="inih (INI not invented here) simple .INI file parser"
+HOMEPAGE="https://github.com/benhoyt/inih"
+SRC_URI="https://github.com/benhoyt/inih/archive/r${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/inih-r${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+DOCS=( README.md )
+
+src_configure() {
+ local emesonargs=(
+ -Ddefault_library=shared
+ -Ddistro_install=true
+ -Dwith_INIReader=true
+ )
+
+ meson-multilib_src_configure
+}
diff --git a/dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch b/dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch
new file mode 100644
index 000000000000..bf3c035fda07
--- /dev/null
+++ b/dev-libs/iniparser/files/iniparser-4.1-CVE-null-getstring.patch
@@ -0,0 +1,43 @@
+From ace9871f65d11b5d73f0b9ee8cf5d2807439442d Mon Sep 17 00:00:00 2001
+From: Antonio <antoniolrt@gmail.com>
+Date: Fri, 2 Jun 2023 15:03:10 -0300
+Subject: [PATCH] Handle null return from iniparser_getstring
+
+Fix handling of NULL returns from iniparser_getstring in
+iniparser_getboolean, iniparser_getlongint and iniparser_getdouble,
+avoiding a crash.
+---
+ src/iniparser.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/iniparser.c b/src/iniparser.c
+index f1d1658..dbceb20 100644
+--- a/src/iniparser.c
++++ b/src/iniparser.c
+@@ -456,7 +456,7 @@ long int iniparser_getlongint(const dictionary * d, const char * key, long int n
+ const char * str ;
+
+ str = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (str==INI_INVALID_KEY) return notfound ;
++ if (str==NULL || str==INI_INVALID_KEY) return notfound ;
+ return strtol(str, NULL, 0);
+ }
+
+@@ -511,7 +511,7 @@ double iniparser_getdouble(const dictionary * d, const char * key, double notfou
+ const char * str ;
+
+ str = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (str==INI_INVALID_KEY) return notfound ;
++ if (str==NULL || str==INI_INVALID_KEY) return notfound ;
+ return atof(str);
+ }
+
+@@ -553,7 +553,7 @@ int iniparser_getboolean(const dictionary * d, const char * key, int notfound)
+ const char * c ;
+
+ c = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (c==INI_INVALID_KEY) return notfound ;
++ if (c==NULL || c==INI_INVALID_KEY) return notfound ;
+ if (c[0]=='y' || c[0]=='Y' || c[0]=='1' || c[0]=='t' || c[0]=='T') {
+ ret = 1 ;
+ } else if (c[0]=='n' || c[0]=='N' || c[0]=='0' || c[0]=='f' || c[0]=='F') {
diff --git a/dev-libs/iniparser/iniparser-3.1-r3.ebuild b/dev-libs/iniparser/iniparser-3.1-r3.ebuild
index 4f0dd7a5229f..4e8762123d45 100644
--- a/dev-libs/iniparser/iniparser-3.1-r3.ebuild
+++ b/dev-libs/iniparser/iniparser-3.1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,12 +11,12 @@ SRC_URI="http://ndevilla.free.fr/iniparser/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
S="${WORKDIR}/${PN}"
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 12cc53945091..000000000000
--- a/dev-libs/iniparser/iniparser-4.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2022 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-_newlib_so_with_symlinks() {
- local source="${1}" base="${2}" current="${3}" revision="${4}" age="${5}"
-
- newlib.so ${source} ${base}.so.${current}.${revision}.${age}
- local i
- for i in ".${current}" '' ; do
- dosym ${base}.so.${current}.${revision}.${age} /usr/$(get_libdir)/${base}.so${i}
- done
-}
-
-src_prepare() {
- default
- rm -r html || die
-}
-
-src_configure() {
- append-lfs-flags
-}
-
-_emake() {
- emake CC="$(tc-getCC)" AR="$(tc-getAR)" V=1 \
- SO_TARGET=lib${PN}${SLOT}.so.1 \
- ADDITIONAL_CFLAGS= \
- "$@"
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake -C test
-}
-
-src_install() {
- _newlib_so_with_symlinks lib${PN}${SLOT}.so.1 lib${PN}${SLOT} 1 0 0
-
- insinto /usr/include/${PN}${SLOT}
- doins src/*.h
-
- if use doc; then
- emake -C doc
- HTML_DOCS=( html/. )
- fi
-
- if use examples; then
- docinto examples
- dodoc -r example/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
diff --git a/dev-libs/iniparser/metadata.xml b/dev-libs/iniparser/metadata.xml
index d34e989567aa..3b48e648fba0 100644
--- a/dev-libs/iniparser/metadata.xml
+++ b/dev-libs/iniparser/metadata.xml
@@ -5,10 +5,6 @@
<email>samba@gentoo.org</email>
<name>Samba Team</name>
</maintainer>
- <maintainer type="person">
- <email>grobian@gentoo.org</email>
- <name>Fabian Groffen</name>
- </maintainer>
<upstream>
<remote-id type="github">ndevilla/iniparser</remote-id>
</upstream>
diff --git a/dev-libs/intel-compute-runtime/Manifest b/dev-libs/intel-compute-runtime/Manifest
index 2e9434168059..bd9666305d2e 100644
--- a/dev-libs/intel-compute-runtime/Manifest
+++ b/dev-libs/intel-compute-runtime/Manifest
@@ -1,2 +1,2 @@
-DIST intel-compute-runtime-22.43.24595.35.tar.gz 5880869 BLAKE2B c9d4a16e9908427b69154a5a6550e4eec47bcce4fa811a9121c54de75bcd3e17e1d4cff8b1fa7486b2ffe0dd01f7fae06e5fd3b1d241378dcf521d1f8822bedb SHA512 0aab6cc16f7d523819c9a9eb58fba916c3b06c4be450c94cfc30b36038c768d6ddb79937ded7d9df68b7bdc97679756450c1c54844caed1655ddc688a6ae8a54
-DIST intel-compute-runtime-22.49.25018.24.tar.gz 5991968 BLAKE2B 06589bd63d3cfe35ed0a1af3a94c9e12cc2588143dcf52a371b71f827ca006989a74edabb58b6ecc0a08cfa850f582e47e441ee8d9bffdf672653e8a7809375e SHA512 9c0cc541cd635063ed49e8f807c0a81035abd46367deb43fe7187c00c017f2609cd9c5e55d0b40bb3cb54d05f01306df3a843f3b35683b0ab732881b5192182f
+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.49.25018.24-level-zero-1.9.patch b/dev-libs/intel-compute-runtime/files/intel-compute-runtime-22.49.25018.24-level-zero-1.9.patch
deleted file mode 100644
index 7527117ca032..000000000000
--- a/dev-libs/intel-compute-runtime/files/intel-compute-runtime-22.49.25018.24-level-zero-1.9.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/level_zero/core/test/unit_tests/sources/fabric/test_fabric.cpp
-+++ b/level_zero/core/test/unit_tests/sources/fabric/test_fabric.cpp
-@@ -110,7 +110,7 @@
- const ze_pci_ext_properties_t &pciProperties) {
- EXPECT_TRUE(0 == std::memcmp(vertexProperties.uuid.id, deviceProperties.uuid.id, sizeof(vertexProperties.uuid.id)));
- if (deviceProperties.flags & ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE) {
-- EXPECT_EQ(vertexProperties.type, ZE_FABRIC_VERTEX_EXP_TYPE_SUBEVICE);
-+ EXPECT_EQ(vertexProperties.type, ZE_FABRIC_VERTEX_EXP_TYPE_SUBDEVICE);
- } else {
- EXPECT_EQ(vertexProperties.type, ZE_FABRIC_VERTEX_EXP_TYPE_DEVICE);
- }
---- a/level_zero/core/source/fabric/fabric.cpp
-+++ b/level_zero/core/source/fabric/fabric.cpp
-@@ -56,7 +56,7 @@
- memcpy_s(fabricVertex->properties.uuid.id, ZE_MAX_UUID_SIZE, deviceProperties.uuid.id, ZE_MAX_DEVICE_UUID_SIZE);
-
- if (deviceProperties.flags & ZE_DEVICE_PROPERTY_FLAG_SUBDEVICE) {
-- fabricVertex->properties.type = ZE_FABRIC_VERTEX_EXP_TYPE_SUBEVICE;
-+ fabricVertex->properties.type = ZE_FABRIC_VERTEX_EXP_TYPE_SUBDEVICE;
- } else {
- fabricVertex->properties.type = ZE_FABRIC_VERTEX_EXP_TYPE_DEVICE;
- }
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-22.43.24595.35.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-22.43.24595.35.ebuild
deleted file mode 100644
index cda27132f096..000000000000
--- a/dev-libs/intel-compute-runtime/intel-compute-runtime-22.43.24595.35.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 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=">=media-libs/gmmlib-22.1.7:="
-
-DEPEND="
- ${DEPEND}
- >=dev-libs/intel-metrics-library-0_pre20220930:=
- dev-libs/libnl:3
- dev-libs/libxml2:2
- >=dev-util/intel-graphics-compiler-1.0.12149.1
- >=dev-util/intel-graphics-system-controller-0.8.4:=
- media-libs/mesa
- >=virtual/opencl-3
- l0? ( >=dev-libs/level-zero-1.8.5:= )
- 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-flags -flto=* -flto
-
- 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-22.49.25018.24.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-22.49.25018.24.ebuild
deleted file mode 100644
index 0af0d80dab75..000000000000
--- a/dev-libs/intel-compute-runtime/intel-compute-runtime-22.49.25018.24.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 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=">=media-libs/gmmlib-22.1.7:="
-
-DEPEND="
- ${DEPEND}
- >=dev-libs/intel-metrics-library-0_pre20220930:=
- dev-libs/libnl:3
- dev-libs/libxml2:2
- >=dev-util/intel-graphics-compiler-1.0.12812.26
- >=dev-util/intel-graphics-system-controller-0.8.7:=
- media-libs/mesa
- >=virtual/opencl-3
- l0? ( >=dev-libs/level-zero-1.9.4:= )
- 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"
- "${FILESDIR}/${PN}-22.49.25018.24-level-zero-1.9.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-flags -flto=* -flto
-
- 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.05.28454.17-r1.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.05.28454.17-r1.ebuild
new file mode 100644
index 000000000000..6cc55d2ef71c
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.05.28454.17-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver"
+HOMEPAGE="https://github.com/intel/compute-runtime"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+l0 +vaapi"
+
+RDEPEND="
+ >=dev-util/intel-graphics-compiler-1.0.15985.15
+ >=media-libs/gmmlib-22.3.17:=
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/intel-metrics-discovery:=
+ dev-libs/intel-metrics-library:=
+ dev-libs/libnl:3
+ dev-libs/libxml2:2
+ >=dev-util/intel-graphics-system-controller-0.8.16:=
+ media-libs/mesa
+ >=virtual/opencl-3
+ l0? ( >=dev-libs/level-zero-1.16.1:= )
+ vaapi? (
+ x11-libs/libdrm[video_cards_intel]
+ media-libs/libva
+ )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( "README.md" "FAQ.md" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-22.24.23453-remove-fortify-sources.patch"
+)
+
+src_prepare() {
+ # Remove '-Werror' from default
+ sed -e '/Werror/d' -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # See https://github.com/intel/compute-runtime/issues/531
+ filter-lto
+
+ local mycmakeargs=(
+ -DCCACHE_ALLOWED="OFF"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
+ -DBUILD_WITH_L0="$(usex l0)"
+ -DDISABLE_LIBVA="$(usex !vaapi)"
+ -DNEO__METRICS_LIBRARY_INCLUDE_DIR="${ESYSROOT}/usr/include"
+ -DKHRONOS_GL_HEADERS_DIR="${ESYSROOT}/usr/include"
+ -DOCL_ICD_VENDORDIR="${EPREFIX}/etc/OpenCL/vendors"
+ -DSUPPORT_DG1="ON"
+ -Wno-dev
+
+ # See https://github.com/intel/intel-graphics-compiler/issues/204
+ # -DNEO_DISABLE_BUILTINS_COMPILATION="ON"
+
+ # If enabled, tests are automatically run during
+ # the compile phase and we cannot run them because
+ # they require permissions to access the hardware.
+ -DSKIP_UNIT_TESTS="1"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild
new file mode 100644
index 000000000000..717beccf91d2
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.13.29138.7.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Intel Graphics Compute Runtime for oneAPI Level Zero and OpenCL Driver"
+HOMEPAGE="https://github.com/intel/compute-runtime"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+l0 +vaapi"
+
+RDEPEND="
+ >=dev-util/intel-graphics-compiler-1.0.15985.15
+ >=media-libs/gmmlib-22.3.17:=
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/intel-metrics-discovery:=
+ dev-libs/intel-metrics-library:=
+ dev-libs/libnl:3
+ dev-libs/libxml2:2
+ >=dev-util/intel-graphics-system-controller-0.8.16:=
+ media-libs/mesa
+ >=virtual/opencl-3
+ l0? ( >=dev-libs/level-zero-1.16.1:= )
+ vaapi? (
+ x11-libs/libdrm[video_cards_intel]
+ media-libs/libva
+ )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( "README.md" "FAQ.md" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-22.24.23453-remove-fortify-sources.patch"
+)
+
+src_prepare() {
+ # Remove '-Werror' from default
+ sed -e '/Werror/d' -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # See https://github.com/intel/compute-runtime/issues/531
+ filter-lto
+
+ local mycmakeargs=(
+ -DCCACHE_ALLOWED="OFF"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DCMAKE_INSTALL_LIBDIR="$(get_libdir)"
+ -DBUILD_WITH_L0="$(usex l0)"
+ -DDISABLE_LIBVA="$(usex !vaapi)"
+ -DNEO__METRICS_LIBRARY_INCLUDE_DIR="${ESYSROOT}/usr/include"
+ -DKHRONOS_GL_HEADERS_DIR="${ESYSROOT}/usr/include"
+ -DOCL_ICD_VENDORDIR="${EPREFIX}/etc/OpenCL/vendors"
+ -DSUPPORT_DG1="ON"
+ -Wno-dev
+
+ # See https://github.com/intel/intel-graphics-compiler/issues/204
+ # -DNEO_DISABLE_BUILTINS_COMPILATION="ON"
+
+ # If enabled, tests are automatically run during
+ # the compile phase and we cannot run them because
+ # they require permissions to access the hardware.
+ -DSKIP_UNIT_TESTS="1"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-metrics-discovery/Manifest b/dev-libs/intel-metrics-discovery/Manifest
new file mode 100644
index 000000000000..7adc5c3b7fe9
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/Manifest
@@ -0,0 +1,2 @@
+DIST metrics-discovery-1.12.170.tar.gz 4932048 BLAKE2B c4cf382ff29de4319f44863e0e45a0bb424c3f8af93c198723941c35f579e4d25252c99e6726d724483eae74e50a6315933106aa3e3bba8dad1af9a7ed8284fe SHA512 b4bb4465a059c7222b830ae3541eb1d6171d91f03ec131c1f8a079f6e8b2aed7c9f00899ae23744b986e070897eb135eaa4eff882d1cb173c80d6d2ce1ba3955
+DIST metrics-discovery-1.12.171.tar.gz 5219784 BLAKE2B 3927ad270060543d3dbca9e32abfa83661597313a54bec591098c7f0b48443326d4bc3c13f600b8b53ba4ca2850c15c2c2bee7dc117ca38de9bad3c5b4f8d8b5 SHA512 7c08841e86af29465c2d09788d7230bd9401eb02c35eb0e582db68a389c6e867cbb2f9eb38876cd00ffa519633a16c804454d43efd8c32fb61e39bada202708f
diff --git a/dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch b/dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch
new file mode 100644
index 000000000000..e8d1d5821e46
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/files/intel-metrics-discovery-1.12.170-revert-definitions.patch
@@ -0,0 +1,24 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -443,7 +443,7 @@
+ if ("${BUILD_TYPE}" STREQUAL "release")
+ add_definitions(-DNDEBUG)
+ # security compiler flags
+- add_definitions(-O2 -D_FORTIFY_SOURCE=2 -Wformat)
++ add_definitions(-Wformat)
+ elseif ("${BUILD_TYPE}" STREQUAL "release-internal" OR
+ "${BUILD_TYPE}" STREQUAL "releaseinternal")
+ add_definitions(-D_RELEASE_INTERNAL)
+@@ -467,12 +467,7 @@
+ "${BUILD_TYPE}" STREQUAL "release-internal" OR
+ "${BUILD_TYPE}" STREQUAL "releaseinternal")
+ add_definitions(-Werror=format-security) # treat format string security warnings as errors
+- add_definitions(-Werror) # treat warning as errors
+ add_definitions(-fvisibility=hidden) # to disable exporting internal symbols (by default gcc exports all symbols)
+- add_definitions(-flto) # enables Link-Time Optimization (LTO)
+- add_definitions(-fPIC) # generates position-independent code during the compilation phase
+- add_definitions(-fPIE) # generates position-independent executables during the compilation phase
+- add_definitions(-pie) # produces position-independent executables during the linking phase
+ elseif ("${BUILD_TYPE}" STREQUAL "debug")
+ add_definitions(-g)
+ endif ()
diff --git a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild
new file mode 100644
index 000000000000..728ed054c227
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake
+
+DESCRIPTION="A user mode library that provides access to GPU performance data"
+HOMEPAGE="https://github.com/intel/metrics-discovery"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+
+DEPEND="x11-libs/libdrm"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.12.170-revert-definitions.patch" )
+
+src_configure() {
+ local mycmakeargs=( -DLINUX_DISTRO="Gentoo" )
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
new file mode 100644
index 000000000000..1aa1fe8dda1b
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+MY_PN="${PN/intel-/}"
+MY_P="${MY_PN}-${PV}"
+
+inherit cmake
+
+DESCRIPTION="A user mode library that provides access to GPU performance data"
+HOMEPAGE="https://github.com/intel/metrics-discovery"
+SRC_URI="https://github.com/intel/${MY_PN}/archive/refs/tags/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${MY_P}"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+
+DEPEND="x11-libs/libdrm"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-1.12.170-revert-definitions.patch" )
+
+src_configure() {
+ local mycmakeargs=( -DLINUX_DISTRO="Gentoo" )
+ cmake_src_configure
+}
diff --git a/dev-libs/intel-metrics-discovery/metadata.xml b/dev-libs/intel-metrics-discovery/metadata.xml
new file mode 100644
index 000000000000..446f29fca8dd
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>gentoo@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
+ <longdescription>
+ This software is a user mode library that
+ provides access to GPU performance data.
+ The library has OS abstraction layer that
+ allows for interoperability in different environments.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">intel/metrics-discovery</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/intel-metrics-library/Manifest b/dev-libs/intel-metrics-library/Manifest
index 5772ae357791..7ca21434191c 100644
--- a/dev-libs/intel-metrics-library/Manifest
+++ b/dev-libs/intel-metrics-library/Manifest
@@ -1 +1,2 @@
-DIST intel-metrics-library-0_pre20220930.tar.gz 245113 BLAKE2B c6736d0da39a577283bab77fad483d4f5f11f20fd85133682eee1686a24cdb4aedfb61a9a4ca7ab253b26a08ed22327ea4131c8d6612ca61f68b293015f8b40a SHA512 ef159fa28a8df3c707b6fe743819e97e20cadb8c731650b79dc780a938c9165a0cd1acd497319a66a75bf08990067a31b652a49c8b8f80905ee25b0e4c0532dc
+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-0_pre20220930.ebuild b/dev-libs/intel-metrics-library/intel-metrics-library-0_pre20220930.ebuild
deleted file mode 100644
index 697e148d2c5a..000000000000
--- a/dev-libs/intel-metrics-library/intel-metrics-library-0_pre20220930.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CMAKE_BUILD_TYPE="Release"
-EGIT_COMMIT="f829f43a06bfbbdf026b5455d74482d476dd7a02"
-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/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${EGIT_COMMIT}"
-
-LICENSE="MIT"
-SLOT="0/114"
-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.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-vc-intrinsics/Manifest b/dev-libs/intel-vc-intrinsics/Manifest
index dd4fd7da77db..e15621065f10 100644
--- a/dev-libs/intel-vc-intrinsics/Manifest
+++ b/dev-libs/intel-vc-intrinsics/Manifest
@@ -1,3 +1 @@
-DIST intel-vc-intrinsics-0.11.0.tar.gz 139044 BLAKE2B 2d1ba293188821c551c4d0faf8426c3480f6aac631016db4a9bfebbb90c9b9e4ab76feb2716388fbf540153fe54d884377d7afda1dd6524ece15f88696d9d679 SHA512 a2d96133031305d9b772be70bd3d612b04319ad2fd4eec17445e7322352fb3a054e323b718c3a409089d597825d5737fa21f01a1ede32e5c1c84f68815f6f050
-DIST intel-vc-intrinsics-0.7.1.tar.gz 138162 BLAKE2B 6a3aa8dcec358dd2f19688a57e5efd267eb6fd208f21c0bbda12baae4b73b4a85462e930f06fb34d22fe15103af368e8763031b2ef668a677104c57231740ff4 SHA512 278c67e277c09a2a8f5d6aed77e4c7d7dfd7fc54f9e34b8fae2154641785b66eec298e02bffa84f8cf4d0824e0272f7fb659d0ea19d2a993b5c44bb2e6f5a076
-DIST intel-vc-intrinsics-0.8.1.tar.gz 138462 BLAKE2B 0f86f5fbeb7931a564eb598d527fd67e96489d0f2e7dba7166ffa468470022eff05e150877c3dd380ad003beb8651a0ac9ffe9c3dceeae6552c46b5f3e00aa64 SHA512 9763f1b624121694d6880ca3ffdf2e344ce3ed1a39c1c1e7dc06195b79acccce5e3d86032bba5c0de440376821c383f8ff59fdd57b0ae93fede17595b0fe0b42
+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.11.0.ebuild b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.11.0.ebuild
deleted file mode 100644
index 591c7d20746d..000000000000
--- a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.11.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CMAKE_BUILD_TYPE="Release"
-LLVM_MAX_SLOT="14"
-MY_PN="${PN/intel-/}"
-MY_P="${MY_PN}-${PV}"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake llvm 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=
- sys-devel/llvm:${LLVM_MAX_SLOT}
- sys-libs/zlib
-"
-RDEPEND="${DEPEND}"
-BDEPEND="${PYTHON_DEPS}"
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- )
-
- cmake_src_configure
-}
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/intel-vc-intrinsics-0.7.1-r1.ebuild b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.7.1-r1.ebuild
deleted file mode 100644
index 591c7d20746d..000000000000
--- a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.7.1-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CMAKE_BUILD_TYPE="Release"
-LLVM_MAX_SLOT="14"
-MY_PN="${PN/intel-/}"
-MY_P="${MY_PN}-${PV}"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake llvm 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=
- sys-devel/llvm:${LLVM_MAX_SLOT}
- sys-libs/zlib
-"
-RDEPEND="${DEPEND}"
-BDEPEND="${PYTHON_DEPS}"
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.8.1.ebuild b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.8.1.ebuild
deleted file mode 100644
index 591c7d20746d..000000000000
--- a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.8.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CMAKE_BUILD_TYPE="Release"
-LLVM_MAX_SLOT="14"
-MY_PN="${PN/intel-/}"
-MY_P="${MY_PN}-${PV}"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake llvm 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=
- sys-devel/llvm:${LLVM_MAX_SLOT}
- sys-libs/zlib
-"
-RDEPEND="${DEPEND}"
-BDEPEND="${PYTHON_DEPS}"
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/isa-l/Manifest b/dev-libs/isa-l/Manifest
index 6f03ccf55882..bfbf741347fa 100644
--- a/dev-libs/isa-l/Manifest
+++ b/dev-libs/isa-l/Manifest
@@ -1 +1,2 @@
DIST isa-l-2.30.0.tar.gz 649389 BLAKE2B 3364733d61ce16c91891b6da63d2b4fb2bc004761c91f2076a9a6441adaea24af43b6d32caec011c06206e3811e8c9639f8ceaac89fe97800144c7f78c80c350 SHA512 d3ecfb7326097534b06a74b584100336509525ae7cadc6112d0c27e3d8704f3810e18f583d3cc33fa266bfec96db023607622b22ddbf17988ec4bf1bb3b3b9b2
+DIST isa-l-2.31.0.tar.gz 705375 BLAKE2B 80e0c7f7351e4765393fc5734452ab00d84a84fd017a529a0b96d594c045e7e1c23957d292a56fc449e611dc29f3d4cc2a66c75055d1a7fbb31ca1d6f5c4650a SHA512 bbda3cf84e12352728c16d043ae71160569bff9540928eebb986e22d570176162a7f74fba9423d2349d014df061c09fc084343fbc51077415cfae9f692906dd8
diff --git a/dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch b/dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch
new file mode 100644
index 000000000000..e7db25d5a8ec
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.30.0_fix-shebang.patch
@@ -0,0 +1,26 @@
+From c0231591aa884754830e786cc75847b7c6c46d89 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sat, 9 Mar 2024 11:32:14 -0800
+Subject: [PATCH] tools: fix shebang
+
+This causes a build failure with slibtool.
+
+Gentoo issue: https://bugs.gentoo.org/829500
+
+Signed-off-by: orbea <orbea@riseup.net>
+--- a/tools/nasm-filter.sh
++++ b/tools/nasm-filter.sh
+@@ -1,4 +1,4 @@
+-#/bin/sh
++#!/bin/sh
+
+ # Filter out unnecessary options added by automake
+
+--- a/tools/yasm-filter.sh
++++ b/tools/yasm-filter.sh
+@@ -1,4 +1,4 @@
+-#/bin/sh
++#!/bin/sh
+
+ # Filter out unnecessary options added by automake
+
diff --git a/dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch b/dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch
new file mode 100644
index 000000000000..34b60337fe8f
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.30.0_makefile-x86.patch
@@ -0,0 +1,12 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -64,8 +64,7 @@
+ endif
+
+ if CPU_X86_32
+-libisal_la_SOURCES += ${lsrc_x86_32}
+-other_tests += ${other_tests_x86_32}
++libisal_la_SOURCES += ${lsrc_base_aliases}
+ endif
+
+ if CPU_AARCH64
diff --git a/dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch
new file mode 100644
index 000000000000..bb99550b2426
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-no-D.patch
@@ -0,0 +1,16 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -136,11 +136,11 @@
+ EXTRA_DIST += tools/yasm-filter.sh tools/nasm-filter.sh
+ EXTRA_DIST += tools/yasm-cet-filter.sh tools/nasm-cet-filter.sh
+
+-AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${ARCH} ${D}
++AM_CFLAGS = ${my_CFLAGS} ${INCLUDE} $(src_include) ${ARCH} ${DIST_D}
+ if CPU_AARCH64
+ AM_CCASFLAGS = ${AM_CFLAGS}
+ else
+-AM_CCASFLAGS = ${yasm_args} ${INCLUDE} ${src_include} ${DEFS} ${D}
++AM_CCASFLAGS = ${yasm_args} ${INCLUDE} ${src_include} ${DEFS} ${DIST_D}
+ endif
+
+ .asm.s:
diff --git a/dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch
new file mode 100644
index 000000000000..97965a7a9d2c
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.31.0_makefile-x86.patch
@@ -0,0 +1,12 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -67,8 +67,7 @@
+
+ if CPU_X86_32
+ ARCH=-Dx86_32
+-libisal_la_SOURCES += ${lsrc_x86_32}
+-other_tests += ${other_tests_x86_32}
++libisal_la_SOURCES += ${lsrc_base_aliases}
+ endif
+
+ if CPU_AARCH64
diff --git a/dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch b/dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch
new file mode 100644
index 000000000000..5162563b3646
--- /dev/null
+++ b/dev-libs/isa-l/files/isa-l-2.31.0_user-ldflags.patch
@@ -0,0 +1,10 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -83,6 +83,7 @@
+ -Wl,-z,noexecstack \
+ -Wl,-z,relro \
+ -Wl,-z,now \
++${LDFLAGS} \
+ "
+ AC_MSG_CHECKING([if $LD supports $LDFLAGS])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
diff --git a/dev-libs/isa-l/isa-l-2.30.0-r1.ebuild b/dev-libs/isa-l/isa-l-2.30.0-r1.ebuild
index 793f5856db3f..e80e64915e67 100644
--- a/dev-libs/isa-l/isa-l-2.30.0-r1.ebuild
+++ b/dev-libs/isa-l/isa-l-2.30.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,28 +11,41 @@ SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv -x86"
IUSE="cpu_flags_x86_avx512f"
# AVX512 support in yasm is still work in progress
-BDEPEND="amd64? (
- cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
- !cpu_flags_x86_avx512f? ( || (
- >=dev-lang/nasm-2.11.01
- >=dev-lang/yasm-1.2.0
- ) )
-)"
+BDEPEND="
+ amd64? (
+ cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
+ !cpu_flags_x86_avx512f? ( || (
+ >=dev-lang/nasm-2.11.01
+ >=dev-lang/yasm-1.2.0
+ ) )
+ )
+ x86? (
+ cpu_flags_x86_avx512f? ( >=dev-lang/nasm-2.13 )
+ !cpu_flags_x86_avx512f? ( || (
+ >=dev-lang/nasm-2.11.01
+ >=dev-lang/yasm-1.2.0
+ ) )
+ )
+"
PATCHES=(
+ "${FILESDIR}"/${PN}-2.30.0_fix-shebang.patch
"${FILESDIR}"/${PN}-2.30.0_makefile-no-D.patch
+ "${FILESDIR}"/${PN}-2.30.0_makefile-x86.patch
)
src_prepare() {
default
- # isa-l does not support arbitrary assemblers on amd64 (and presumably x86),
+ # isa-l does not support arbitrary assemblers on amd64 and x86,
# it must be either nasm or yasm.
- use amd64 && unset AS
+ if use amd64 || use x86; then
+ unset AS
+ fi
eautoreconf
}
diff --git a/dev-libs/isa-l/isa-l-2.31.0.ebuild b/dev-libs/isa-l/isa-l-2.31.0.ebuild
new file mode 100644
index 000000000000..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_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 8d951bfe898a..0d86e71006ab 100644
--- a/dev-libs/isl/Manifest
+++ b/dev-libs/isl/Manifest
@@ -1,2 +1 @@
-DIST isl-0.24.tar.xz 1930956 BLAKE2B 39cbfd18ad05778e3a5a44429261b45e4abc3efe7730ee890674d968890fe5e52c73bc1f8d271c7c3bc72d5754e3f7fcb209bd139e823d19cb9ea4ce1440164d SHA512 ff6bdcff839e1cd473f2a0c1e4dd4a3612ec6fee4544ccbc62b530a7248db2cf93b4b99bf493a86ddf2aba00e768927265d5d411f92061ea85fd7929073428e8
-DIST isl-0.25.tar.xz 1977048 BLAKE2B 54a13ba8a5d7666f62f3fb20db278d15b803400cb8b69f119b18fd1f54f7d02f1e07cd1e189803fc416afaa81b35e2247ef6b3da3d8cddc463b05cc9b3921890 SHA512 81ac6b404a71e146bb705efe647ecf3bee19c3254f534cb44228cec13ffc7a33d7d58b980106dbb120ffdc557403d966619e219328edd0a4b3cbc4ac66acb255
+DIST isl-0.26.tar.xz 2035560 BLAKE2B 2cfe2e0774a991d2385e66f58490c5454382cabc82d74eb4bbe5a603293b7bdc34ca3b087f0884f9da319c447747edc76275ecaf2f171237939f9c7d3c52ced7 SHA512 9b5ec16d14e48f9ac9bf9cd379d3022959cfc617ade9e0d4caf2862299564fecba09d67dbdf1a4071f2f743a4fd0fabd0b0c3d15f5cddfe7226cdd5d6c2a0c66
diff --git a/dev-libs/isl/files/isl-0.24-nobash.patch b/dev-libs/isl/files/isl-0.24-nobash.patch
deleted file mode 100644
index 226daa551c70..000000000000
--- a/dev-libs/isl/files/isl-0.24-nobash.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Fix-by: Matt Whitlock
-Bug: https://bugs.gentoo.org/786564
---- a/configure.ac 2020-11-01 13:53:47.000000000 +0000
-+++ b/configure.ac 2021-04-28 19:34:28.615119537 +0000
-@@ -83,8 +83,8 @@
- AM_CONDITIONAL(GMP_FOR_MP, test x$with_int = xgmp)
-
- AM_CONDITIONAL(HAVE_CXX11, test "x$HAVE_CXX11" = "x1")
--AM_CONDITIONAL(SMALL_INT_OPT, test "x$with_int" == "ximath-32")
--AS_IF([test "x$with_int" == "ximath-32"], [
-+AM_CONDITIONAL(SMALL_INT_OPT, test "x$with_int" = "ximath-32")
-+AS_IF([test "x$with_int" = "ximath-32"], [
- AC_DEFINE([USE_SMALL_INT_OPT], [], [Use small integer optimization])
- ])
-
---- a/configure 2020-11-01 13:53:55.000000000 +0000
-+++ b/configure 2021-04-28 19:34:29.246125644 +0000
-@@ -20654,7 +20654,7 @@
- HAVE_CXX11_FALSE=
- fi
-
-- if test "x$with_int" == "ximath-32"; then
-+ if test "x$with_int" = "ximath-32"; then
- SMALL_INT_OPT_TRUE=
- SMALL_INT_OPT_FALSE='#'
- else
-@@ -20662,7 +20662,7 @@
- SMALL_INT_OPT_FALSE=
- fi
-
--if test "x$with_int" == "ximath-32"; then :
-+if test "x$with_int" = "ximath-32"; then :
-
-
- $as_echo "#define USE_SMALL_INT_OPT /**/" >>confdefs.h
diff --git a/dev-libs/isl/isl-0.24-r2.ebuild b/dev-libs/isl/isl-0.24-r2.ebuild
deleted file mode 100644
index e0281d90f418..000000000000
--- a/dev-libs/isl/isl-0.24-r2.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib multilib-minimal preserve-libs toolchain-funcs
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="http://isl.gforge.inria.fr/ https://libisl.sourceforge.io/"
-SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz https://libisl.sourceforge.io/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.24-gdb-autoload-dir.patch
- "${FILESDIR}"/${PN}-0.24-nobash.patch
- "${FILESDIR}"/${PN}-0.24-respect-flags.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local econf_opts=(
- $(use_enable static-libs static)
-
- # AX_PROG_CC_FOR_BUILD deficiency:
- # https://wiki.gentoo.org/wiki/Project:Toolchain/use_native_symlinks
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- )
-
- if ! tc-is-cross-compiler; then
- # Incorrect CFLAGS handling as CFLAGS_FOR_BUILD
- # even for native builds. As a result -O3 is being used
- # regardless of user's CFLAGS.
- econf_opts+=(
- CFLAGS_FOR_BUILD="${CFLAGS}"
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${econf_opts[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- preserve_old_lib \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
diff --git a/dev-libs/isl/isl-0.25.ebuild b/dev-libs/isl/isl-0.25.ebuild
deleted file mode 100644
index 48733d37f1a9..000000000000
--- a/dev-libs/isl/isl-0.25.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib multilib-minimal preserve-libs toolchain-funcs
-
-DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
-HOMEPAGE="https://libisl.sourceforge.io/"
-SRC_URI="https://libisl.sourceforge.io/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/23"
-# They haven't made a new release in a while until now and
-# a fair bit changed. Let's be cautious.
-#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="app-arch/xz-utils
- virtual/pkgconfig"
-
-DOCS=( ChangeLog AUTHORS doc/manual.pdf )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.24-gdb-autoload-dir.patch
- "${FILESDIR}"/${PN}-0.24-respect-flags.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local econf_opts=(
- $(use_enable static-libs static)
-
- # AX_PROG_CC_FOR_BUILD deficiency:
- # https://wiki.gentoo.org/wiki/Project:Toolchain/use_native_symlinks
- CC_FOR_BUILD="$(tc-getBUILD_CC)"
- )
-
- if ! tc-is-cross-compiler; then
- # Incorrect CFLAGS handling as CFLAGS_FOR_BUILD
- # even for native builds. As a result -O3 is being used
- # regardless of user's CFLAGS.
- econf_opts+=(
- CFLAGS_FOR_BUILD="${CFLAGS}"
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${econf_opts[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -type f -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- preserve_old_lib \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify \
- /usr/$(get_libdir)/libisl$(get_libname 14) \
- /usr/$(get_libdir)/libisl$(get_libname 15) \
- /usr/$(get_libdir)/libisl$(get_libname 19) \
- /usr/$(get_libdir)/libisl$(get_libname 21) \
- /usr/$(get_libdir)/libisl$(get_libname 22)
-}
diff --git a/dev-libs/isl/isl-0.26.ebuild b/dev-libs/isl/isl-0.26.ebuild
new file mode 100644
index 000000000000..96dbce5b2ff6
--- /dev/null
+++ b/dev-libs/isl/isl-0.26.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib multilib-minimal preserve-libs toolchain-funcs
+
+DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
+HOMEPAGE="https://libisl.sourceforge.io/"
+SRC_URI="https://libisl.sourceforge.io/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/23"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.1.3-r1:=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/xz-utils
+ virtual/pkgconfig"
+
+DOCS=( ChangeLog AUTHORS doc/manual.pdf )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.24-gdb-autoload-dir.patch
+ "${FILESDIR}"/${PN}-0.24-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local econf_opts=(
+ $(use_enable static-libs static)
+
+ # AX_PROG_CC_FOR_BUILD deficiency:
+ # https://wiki.gentoo.org/wiki/Project:Toolchain/use_native_symlinks
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ )
+
+ if ! tc-is-cross-compiler; then
+ # Incorrect CFLAGS handling as CFLAGS_FOR_BUILD
+ # even for native builds. As a result -O3 is being used
+ # regardless of user's CFLAGS.
+ econf_opts+=(
+ CFLAGS_FOR_BUILD="${CFLAGS}"
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${econf_opts[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib \
+ /usr/$(get_libdir)/libisl$(get_libname 14) \
+ /usr/$(get_libdir)/libisl$(get_libname 15) \
+ /usr/$(get_libdir)/libisl$(get_libname 19) \
+ /usr/$(get_libdir)/libisl$(get_libname 21) \
+ /usr/$(get_libdir)/libisl$(get_libname 22)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify \
+ /usr/$(get_libdir)/libisl$(get_libname 14) \
+ /usr/$(get_libdir)/libisl$(get_libname 15) \
+ /usr/$(get_libdir)/libisl$(get_libname 19) \
+ /usr/$(get_libdir)/libisl$(get_libname 21) \
+ /usr/$(get_libdir)/libisl$(get_libname 22)
+}
diff --git a/dev-libs/ivykis/Manifest b/dev-libs/ivykis/Manifest
index dc0ee971361f..8c0abd3b537c 100644
--- a/dev-libs/ivykis/Manifest
+++ b/dev-libs/ivykis/Manifest
@@ -1 +1,2 @@
DIST ivykis-0.42.4.tar.gz 656775 BLAKE2B 9b85dacb74eae99907999d5181029a824c5f0d6aabb41d892353723318f9ff6fc1a2a6296224c7ee407510f7354f2ee934d40b9627a0fd13489bf53b8ff7f115 SHA512 26f4fa28582555004cbe1d80cb042f93deb42b195c7d563ce4048ace25c74bb558455d98d2d8e0e59534fabb2dff6503aff16d0feb7a05fd835b63432f080286
+DIST ivykis-0.43.tar.gz 669349 BLAKE2B da76afeb23888c86748130bb54b6dacd824666439a656c3938fa16c5c010db90c0b31126a5d3b4eb541fa1d2a17aaf0eb785b90cc63ec40972d0bf422b40a169 SHA512 75bf3878afb76f97ef5327005f58e97d13ba9a67eb5230c25b4a0ec3332f8e3e027f93fc5758554e056c3a00bcfb776862a0263bf251c97cc654b8d0570dafe9
diff --git a/dev-libs/ivykis/ivykis-0.42.4.ebuild b/dev-libs/ivykis/ivykis-0.42.4.ebuild
index 12b76ae9a612..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-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -21,7 +21,9 @@ src_prepare() {
}
src_configure() {
- econf $(use_enable static-libs static)
+ econf \
+ --cache-file="${S}"/config.cache \
+ $(use_enable static-libs static)
}
src_install() {
diff --git a/dev-libs/ivykis/ivykis-0.43.ebuild b/dev-libs/ivykis/ivykis-0.43.ebuild
new file mode 100644
index 000000000000..8123da4967da
--- /dev/null
+++ b/dev-libs/ivykis/ivykis-0.43.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library for asynchronous I/O readiness notification"
+HOMEPAGE="https://github.com/buytenh/ivykis"
+SRC_URI="https://github.com/buytenh/ivykis/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="static-libs"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --cache-file="${S}"/config.cache \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/jansson/Manifest b/dev-libs/jansson/Manifest
index 8a5efd23fb16..24fa3b4d26fe 100644
--- a/dev-libs/jansson/Manifest
+++ b/dev-libs/jansson/Manifest
@@ -1 +1 @@
-DIST jansson-2.14.tar.gz 535618 BLAKE2B eb514ff222444d4c0d1ef6b99150e3e43bd4d7a1bec3d66e5ece8bc59ac19a0898d9eb061cacad52afda7fe172ec6df46b5a90952707422f56daae53f82c9427 SHA512 5a592776c7ba8c0b1f5efaf813f77948bbc4bda168a72d221d176af0cf61038e26c1f30795433be10e2fc5069d5763d11852a8574774906a9f8ad261ac30109c
+DIST jansson-2.14.tar.bz2 434481 BLAKE2B b7b7e98360fd73f7925b88e3729a7a18307b4f05fed4b37659d24ddc03208469471d508dcd245534f73af3b5e93f595e49e3cb2c99733955b03d471bd5a32f15 SHA512 1a659c0f41b0672757c13ebd16bd10ad7d6484366aefda078aa816266ce4f5638bc121f1ce8c4234b0b9f201ea73c227b9084125857452cbcba058a111e4a6fd
diff --git a/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch b/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch
new file mode 100644
index 000000000000..0da70dc5afcb
--- /dev/null
+++ b/dev-libs/jansson/files/jansson-2.14-default-symver-test.patch
@@ -0,0 +1,55 @@
+From https://github.com/akheron/jansson/pull/666/commits/1e2ac681e5f39fc7a7e8b8deb2162a93976d4622 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Wed, 11 Oct 2023 20:51:57 -0400
+Subject: [PATCH] Port check for --default-symver to autoconf
+
+This commit ports the configure check for -Wl,--default-symver that is
+present in CMake to autoconf. This fixes building Jansson via autoconf
+with non-bfd linkers on glibc systems.
+
+Signed-off-by: Violet Purcell <vimproved@inventati.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,6 +25,9 @@ AC_TYPE_UINT16_T
+ AC_TYPE_UINT8_T
+ AC_TYPE_LONG_LONG_INT
+
++jansson_soversion="4"
++AC_SUBST([jansson_soversion])
++
+ AC_C_INLINE
+ case $ac_cv_c_inline in
+ yes) json_inline=inline;;
+@@ -138,8 +141,12 @@ AS_IF([test "x$with_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbol
+ AC_SUBST(JSON_BSYMBOLIC_LDFLAGS)
+
+ # Enable symbol versioning on GNU libc
++m4_pattern_forbid([^AX_CHECK_LINK_FLAG$])
+ JSON_SYMVER_LDFLAGS=
+-AC_CHECK_DECL([__GLIBC__], [JSON_SYMVER_LDFLAGS=-Wl,--default-symver])
++AC_CHECK_DECL([__GLIBC__],
++ [AX_CHECK_LINK_FLAG([-Wl,--default-symver],
++ [JSON_SYMVER_LDFLAGS=-Wl,--default-symver],
++ [JSON_SYMVER_LDFLAGS=-Wl,--version-script,$ac_abs_confdir/jansson.sym])])
+ AC_SUBST([JSON_SYMVER_LDFLAGS])
+
+ AC_ARG_ENABLE([ossfuzzers],
+@@ -168,6 +175,7 @@ AC_SUBST([AM_CFLAGS])
+
+ AC_CONFIG_FILES([
+ jansson.pc
++ jansson.sym
+ Makefile
+ doc/Makefile
+ src/Makefile
+--- /dev/null
++++ b/jansson.sym.in
+@@ -0,0 +1,5 @@
++JANSSON_@jansson_soversion@ {
++ global:
++ *;
++};
++
+--
+2.42.0
+
diff --git a/dev-libs/jansson/jansson-2.14-r1.ebuild b/dev-libs/jansson/jansson-2.14-r1.ebuild
index 1d11fe6ed7f2..f19ea8be4b1a 100644
--- a/dev-libs/jansson/jansson-2.14-r1.ebuild
+++ b/dev-libs/jansson/jansson-2.14-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ 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.gz"
+SRC_URI="https://github.com/akheron/jansson/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="MIT"
SLOT="0/4"
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/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/jemalloc-5.3.0-r1.ebuild b/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild
index 36af3bb44643..341374a74d7f 100644
--- a/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild
+++ b/dev-libs/jemalloc/jemalloc-5.3.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -18,6 +18,7 @@ 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 )
diff --git a/dev-libs/jemalloc/metadata.xml b/dev-libs/jemalloc/metadata.xml
index 641f68313307..022926696913 100644
--- a/dev-libs/jemalloc/metadata.xml
+++ b/dev-libs/jemalloc/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>kumba@gentoo.org</email>
+ <name>Joshua Kinard</name>
+ </maintainer>
<use>
<flag name="lazy-lock">Enable lazy locking (only lock when multi-threaded)</flag>
<flag name="prof">Enable allocation profiling</flag>
diff --git a/dev-libs/json-c/Manifest b/dev-libs/json-c/Manifest
index 9b849e98dc5f..31bdc97c1853 100644
--- a/dev-libs/json-c/Manifest
+++ b/dev-libs/json-c/Manifest
@@ -1 +1 @@
-DIST json-c-0.16.tar.gz 351916 BLAKE2B 11457fa39330338c85bfdfb0dd38fc703ad6942e730ba090c9fe017dfb81ef905d7b1bb1c768b9b51f6445a8cf3cf4007d7740be3a9878f8062edc62ba554c66 SHA512 255cff99033340b2c2678255d41dae7808f83ed0c102e693d2d9e186bd1f21dd1385fcaa360c0fc087a00965a9567fbda733370e6b518a9be2f1bb0a80439151
+DIST json-c-0.17.tar.gz 390045 BLAKE2B 26be25141447f2b652fa09d7096141a8bf7992469bcc53b275c1bc0108fc36a8898a8185c381218d3146d00fa03bdd0b837be073410fc93af943b5f083dbaa69 SHA512 4cbedd559502bf9014cfcd1d0bb8bb80d2abac4e969d95d4170123cd9cbafb0756b913fdbb83f666d14f674d6539a60ed1c5d0eb03c36b8037a2e00dc1636e19
diff --git a/dev-libs/json-c/json-c-0.16-r1.ebuild b/dev-libs/json-c/json-c-0.16-r1.ebuild
deleted file mode 100644
index 897ab5dfeac0..000000000000
--- a/dev-libs/json-c/json-c-0.16-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=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 doc static-libs threads"
-
-BDEPEND="doc? ( >=app-doc/doxygen-1.8.13 )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/json-c/config.h
-)
-
-src_prepare() {
- cmake_src_prepare
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DBUILD_STATIC_LIBS=$(usex static-libs)
- -DDISABLE_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
-}
-
-multilib_src_test() {
- multilib_is_native_abi && cmake_src_test
-}
-
-multilib_src_install_all() {
- use doc && HTML_DOCS=( "${S}"/doc/html/. )
- einstalldocs
-}
diff --git a/dev-libs/json-c/json-c-0.17.ebuild b/dev-libs/json-c/json-c-0.17.ebuild
new file mode 100644
index 000000000000..6fb6f4f13f3a
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.17.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cpu_flags_x86_rdrand static-libs threads"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/json-c/config.h
+)
+
+multilib_src_configure() {
+ # Tests use Valgrind automagically otherwise (bug #927027)
+ export USE_VALGRIND=0
+
+ local mycmakeargs=(
+ # apps are not installed, so disable unconditionally.
+ # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121
+ -DBUILD_APPS=OFF
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DDISABLE_EXTRA_LIBS=ON
+ -DDISABLE_WERROR=ON
+ -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
+ -DENABLE_THREADING=$(usex threads)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && cmake_src_test
+}
+
+multilib_src_install_all() {
+ HTML_DOCS=( "${S}"/doc/html/. )
+ einstalldocs
+}
diff --git a/dev-libs/json-c/json-c-9999.ebuild b/dev-libs/json-c/json-c-9999.ebuild
index 45ad70272198..2ee46fcafda5 100644
--- a/dev-libs/json-c/json-c-9999.ebuild
+++ b/dev-libs/json-c/json-c-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake-multilib git-r3
+inherit cmake-multilib git-r3 multibuild
DESCRIPTION="A JSON implementation in C"
HOMEPAGE="https://github.com/json-c/json-c/wiki"
@@ -13,23 +13,25 @@ LICENSE="MIT"
SLOT="0/5"
IUSE="cpu_flags_x86_rdrand doc static-libs threads"
-BDEPEND="doc? ( >=app-doc/doxygen-1.8.13 )"
+BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/json-c/config.h
)
-src_prepare() {
- cmake_src_prepare
-}
-
multilib_src_configure() {
+ # Tests use Valgrind automagically otherwise (bug #927027)
+ export USE_VALGRIND=0
+
local mycmakeargs=(
- -DDISABLE_WERROR=ON
+ # 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
- -DENABLE_THREADING=$(usex threads)
+ -DDISABLE_WERROR=ON
-DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
- -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DENABLE_THREADING=$(usex threads)
)
cmake_src_configure
@@ -37,14 +39,18 @@ multilib_src_configure() {
multilib_src_compile() {
cmake_src_compile
- use doc && doxygen doc/Doxyfile
+ if use doc && multilib_is_native_abi; then
+ cmake_build doc
+ fi
}
multilib_src_test() {
multilib_is_native_abi && cmake_src_test
}
-multilib_src_install_all() {
- use doc && HTML_DOCS=( "${BUILD_DIR}-abi_x86_64.amd64"/doc/html/. )
- einstalldocs
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ einstalldocs
+ fi
}
diff --git a/dev-libs/json-glib/Manifest b/dev-libs/json-glib/Manifest
index 512f29b5a12e..d0d6ff42a81d 100644
--- a/dev-libs/json-glib/Manifest
+++ b/dev-libs/json-glib/Manifest
@@ -1 +1 @@
-DIST json-glib-1.6.6.tar.xz 1306232 BLAKE2B 93814dad74ef61ef265e348e9e145ceb63c950f1e9ecda23fbaad24e291a1cbfc690e287ccc8959fd7c056634f80815ef54fa2c75b09ebd3e158f3fa4df1c8e7 SHA512 b9a737e4ba3ecdfb9cb8f5fb751cc74e5b1553664d3088c44a1f9e5396d4037958af214dcd290ddf5af98088f46167e10e371e134e1de5cbb7aec84c5c0fd017
+DIST json-glib-1.8.0.tar.xz 157300 BLAKE2B eef0344c353bb9288efb700a6041342379627b924a042263e011f21140166b57b108f6816e80ac692159b49943f9c1afeb722efafa34e8c60f2fcdf53a0dc034 SHA512 e4fe16bb7c5b72fcf9c0966ac1903ff0cd74ec8eab891db4b94e92353bdcb57b24613b6c2cce7bfa1996603c367d1b4939c12209369dfb915aac0f3804a3a900
diff --git a/dev-libs/json-glib/json-glib-1.6.6-r1.ebuild b/dev-libs/json-glib/json-glib-1.6.6-r1.ebuild
deleted file mode 100644
index 5046eb6e4e5f..000000000000
--- a/dev-libs/json-glib/json-glib-1.6.6-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org meson-multilib xdg-utils
-
-DESCRIPTION="Library providing GLib serialization and deserialization for the JSON format"
-HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="gtk-doc +introspection"
-
-RDEPEND="
- >=dev-libs/glib-2.54.0:2[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
-"
-DEPEND="${RDEPEND}"
-# TODO: Can we use a newer docbook-xml-dtd, or is one needed at all?
-BDEPEND="
- ~app-text/docbook-xml-dtd-4.1.2
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
- >=sys-devel/gettext-0.18
- virtual/pkgconfig
-"
-
-src_prepare() {
- xdg_environment_reset
- default
- # Disable installed-tests; this also indirectly removes build_aux/gen-installed-test.py calls, thus not needing python-any-r1.eclass
- sed -e 's/install: true/install: false/g' -i json-glib/tests/meson.build || die
- sed -e '/install_data/d' -i json-glib/tests/meson.build || die
-}
-
-multilib_src_configure() {
- local emesonargs=(
- # Never use gi-docgen subproject
- --wrap-mode nofallback
-
- $(meson_native_use_feature introspection)
- $(meson_native_use_feature gtk-doc gtk_doc)
- $(meson_native_true man)
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
- if use gtk-doc ; then
- # Move to location that <devhelp-41 will see, reconsider once devhelp-41 is stable
- mkdir -p "${ED}"/usr/share/gtk-doc/html || die
- mv "${ED}"/usr/share/doc/json-glib-1.0 "${ED}"/usr/share/gtk-doc/html/ || die
- fi
-}
diff --git a/dev-libs/json-glib/json-glib-1.8.0.ebuild b/dev-libs/json-glib/json-glib-1.8.0.ebuild
new file mode 100644
index 000000000000..b08e122f0bc6
--- /dev/null
+++ b/dev-libs/json-glib/json-glib-1.8.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org meson-multilib xdg-utils
+
+DESCRIPTION="Library providing GLib serialization and deserialization for the JSON format"
+HOMEPAGE="https://wiki.gnome.org/Projects/JsonGlib"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="gtk-doc +introspection nls test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.54.0:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
+"
+DEPEND="${RDEPEND}"
+# TODO: Can we use a newer docbook-xml-dtd, or is one needed at all?
+BDEPEND="
+ ~app-text/docbook-xml-dtd-4.1.2
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ dev-util/glib-utils
+ gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
+ >=sys-devel/gettext-0.18
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ xdg_environment_reset
+ default
+
+ # Disable installed-tests; this also indirectly removes
+ # build_aux/gen-installed-test.py calls, thus not needing
+ # python-any-r1.eclass
+ sed -e 's/install: true/install: false/g' -i json-glib/tests/meson.build || die
+ sed -e '/install_data/d' -i json-glib/tests/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ # Never use gi-docgen subproject
+ --wrap-mode nofallback
+
+ $(meson_native_use_feature introspection)
+ $(meson_native_use_feature gtk-doc gtk_doc)
+ $(meson_native_true man)
+
+ $(meson_feature nls)
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ if use gtk-doc ; then
+ # Move to location that <devhelp-41 will see, reconsider once devhelp-41 is stable
+ mkdir -p "${ED}"/usr/share/gtk-doc/html || die
+ mv "${ED}"/usr/share/doc/json-glib-1.0 "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
diff --git a/dev-libs/json-glib/metadata.xml b/dev-libs/json-glib/metadata.xml
index a753ac3849a1..489464083a6c 100644
--- a/dev-libs/json-glib/metadata.xml
+++ b/dev-libs/json-glib/metadata.xml
@@ -24,6 +24,9 @@
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>
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
index 29b0724205e0..2f60fe0f3b4c 100644
--- a/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild
+++ b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild
@@ -1,11 +1,12 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 edo toolchain-funcs
@@ -19,12 +20,11 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="BSD-2"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-DEPEND=""
-RDEPEND="${DEPEND}
+RDEPEND="
python? ( ${PYTHON_DEPS} )
"
BDEPEND="
diff --git a/dev-libs/json-parser/metadata.xml b/dev-libs/json-parser/metadata.xml
index 4580bd57e5b3..7cd44cd50b42 100644
--- a/dev-libs/json-parser/metadata.xml
+++ b/dev-libs/json-parser/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arkamar@atlas.cz</email>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<upstream>
<remote-id type="github">json-parser/json-parser</remote-id>
</upstream>
diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
index 19e07ba20467..308182dcfcfd 100644
--- a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
+++ b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
@@ -1,27 +1,29 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit meson python-any-r1
DESCRIPTION="C++ JSON reader and writer"
-HOMEPAGE="https://github.com/open-source-parsers/jsoncpp"
+HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/"
SRC_URI="
https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
- -> ${P}.tar.gz"
+ -> ${P}.tar.gz
+"
LICENSE="|| ( public-domain MIT )"
SLOT="0/25"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc test"
RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
- doc? ( app-doc/doxygen )"
-RDEPEND=""
+ doc? ( app-text/doxygen )
+"
src_configure() {
local emesonargs=(
diff --git a/dev-libs/jsonrpc-glib/Manifest b/dev-libs/jsonrpc-glib/Manifest
index d968af50bdc9..5178283368c0 100644
--- a/dev-libs/jsonrpc-glib/Manifest
+++ b/dev-libs/jsonrpc-glib/Manifest
@@ -1 +1 @@
-DIST jsonrpc-glib-3.42.0.tar.xz 42420 BLAKE2B a60ebebfee652ea694cd2884e057522534826cbca506d04847d29a23dd3035e9a1043912c9a434d4b8b58a6fcb91ba05cc8c76cf380e6205f3d89f9387800bf6 SHA512 615e446dba2b1bbefe1bf8891449de9d39e3486fefda590781f59469ea50e6affa487bcb260bd3e21ca30e696b1dec7a761c8d93ec9c0894d9bb4c3d65f106dc
+DIST jsonrpc-glib-3.44.0.tar.xz 42580 BLAKE2B 7a72aefc092eb0a17c6935323e9157c7bc07cfec766ede11c369651da95b5ff77ead09977f38b7c91b4bbcd04e7adb81d95e9eefe976f739502c1720a477efec SHA512 85962af18cb62af7c4dfa37289cf53ba9c905ee00994cc6bcc2679f1e0f79ea0b134386179dd2417e6166777d65f025959d6d258aa279bbfb1f4cacceeede7af
diff --git a/dev-libs/jsonrpc-glib/jsonrpc-glib-3.42.0.ebuild b/dev-libs/jsonrpc-glib/jsonrpc-glib-3.42.0.ebuild
deleted file mode 100644
index fae8f118dda3..000000000000
--- a/dev-libs/jsonrpc-glib/jsonrpc-glib-3.42.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=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 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/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/jthread/metadata.xml b/dev-libs/jthread/metadata.xml
index a3862b8ec2fc..115e9d64a669 100644
--- a/dev-libs/jthread/metadata.xml
+++ b/dev-libs/jthread/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/judy/metadata.xml b/dev-libs/judy/metadata.xml
index 61d3437afe43..a6a6cd45139a 100644
--- a/dev-libs/judy/metadata.xml
+++ b/dev-libs/judy/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>grknight@gentoo.org</email>
- <name>Brian Evans</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">judy</remote-id>
</upstream>
diff --git a/dev-libs/kasync/Manifest b/dev-libs/kasync/Manifest
deleted file mode 100644
index 78213d647eba..000000000000
--- a/dev-libs/kasync/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kasync-0.3.0.tar.xz 29060 BLAKE2B 0d2eeeeb296db7162426848c5467ee51e3530f0cef97cc345231fbde3225bc29736458c7e62938c7c9773742a9e4d3ed1f9545ac9d570cc5324321bc4e694e3a SHA512 a521862bafdff2931a3f01ef4393c6ae8f3c4655bb58dc2ddb4fde5f443d67b1a23d0c21491b2099ad6dae53d8894588b49299c45d334956b36ccedf94b17f9d
diff --git a/dev-libs/kasync/kasync-0.3.0.ebuild b/dev-libs/kasync/kasync-0.3.0.ebuild
deleted file mode 100644
index 2823530b43bc..000000000000
--- a/dev-libs/kasync/kasync-0.3.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="forceoptional"
-inherit ecm kde.org
-
-DESCRIPTION="C++ library for controlling asynchronous tasks"
-HOMEPAGE="https://api.kde.org/kasync/html/index.html"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/unstable/${PN}/${PV}/src/${P}.tar.xz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="LGPL-2+"
-SLOT="5"
diff --git a/dev-libs/kasync/metadata.xml b/dev-libs/kasync/metadata.xml
deleted file mode 100644
index d925f2439758..000000000000
--- a/dev-libs/kasync/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/kdiagram/Manifest b/dev-libs/kdiagram/Manifest
index cd8812c9005c..2d062d7d8781 100644
--- a/dev-libs/kdiagram/Manifest
+++ b/dev-libs/kdiagram/Manifest
@@ -1 +1,2 @@
DIST kdiagram-2.8.0.tar.xz 691044 BLAKE2B c7b3a4ba992192b34d8cda90bb50a495cb88f8456ca1109140841fd885b710ce1193868be148c25f813c2d26dd7365999bdd8572e66163f0d5d1a169afc3e448 SHA512 d981bce4feeb65038772125e5af1c096537ec87991fdb93d9a91dd5c9f089b1001647c8a63b209683a67b2d7b3aadeb7dd6279261eefaf6b6e046d0ab72723ec
+DIST kdiagram-3.0.1.tar.xz 693440 BLAKE2B b11698eb94392208233fc5da64bca5496cc9b91f5e603aee6e0fa896d2180c140ac988763b96078b9ffbc1baba94c82b158c483b6f9f6d31cfff188293e9ca98 SHA512 767c5ba0a4dfcc8b5a5bbf1c65b30bb391537024618b29ea5d5d09da04f85e2665cad60a7477e1cebeed0606e17c992cba0af7a89c76699063bb47e741ea8e20
diff --git a/dev-libs/kdiagram/kdiagram-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/keystone/files/keystone-0.9.2-strict-prototypes.patch b/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch
new file mode 100644
index 000000000000..6f41ba1841b4
--- /dev/null
+++ b/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch
@@ -0,0 +1,156 @@
+commit 3717a45601835ddce9f0c21c6552aef5b4a6383b
+Upstream: https://github.com/keystone-engine/keystone/pull/563
+Author: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
+Date: Sun Oct 8 13:59:08 2023 +0200
+
+ use full prototypes for functions without parameters
+
+--- a/bindings/ruby/keystone_gem/ext/keystone.c
++++ b/bindings/ruby/keystone_gem/ext/keystone.c
+@@ -27,7 +27,7 @@ VALUE KsClass = Qnil;
+ VALUE KsError = Qnil;
+
+
+-void Init_keystone() {
++void Init_keystone(void) {
+ rb_require("keystone/keystone_const");
+ KeystoneModule = rb_define_module("Keystone");
+ KsError = rb_define_class_under(KeystoneModule, "KsError", rb_eStandardError);
+--- a/llvm/cmake/config-ix.cmake
++++ b/llvm/cmake/config-ix.cmake
+@@ -35,7 +35,7 @@ function(check_type_exists type files variable)
+ add_cxx_include(includes "${files}")
+ CHECK_CXX_SOURCE_COMPILES("
+ ${includes} ${type} typeVar;
+- int main() {
++ int main(void) {
+ return 0;
+ }
+ " ${variable})
+@@ -83,7 +83,7 @@ check_include_file(histedit.h HAVE_HISTEDIT_H)
+ check_cxx_source_compiles("
+ #include <stddef.h>
+ #include <cxxabi.h>
+-int main() { return 0; }
++int main(void) { return 0; }
+ " HAVE_CXXABI_H)
+
+ # library checks
+@@ -414,7 +414,7 @@ if( PURE_WINDOWS )
+ #include <imagehlp.h>
+ extern \"C\" void foo(PENUMLOADED_MODULES_CALLBACK);
+ extern \"C\" void foo(BOOL(CALLBACK*)(PCSTR,ULONG_PTR,ULONG,PVOID));
+- int main(){return 0;}"
++ int main(void){return 0;}"
+ HAVE_ELMCB_PCSTR)
+ if( HAVE_ELMCB_PCSTR )
+ set(WIN32_ELMCB_PCSTR "PCSTR")
+--- a/llvm/cmake/config.guess
++++ b/llvm/cmake/config.guess
+@@ -539,7 +539,7 @@ EOF
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+- main()
++ int main(void)
+ {
+ if (!__power_pc())
+ exit(1);
+@@ -622,7 +622,7 @@ EOF
+ #include <stdlib.h>
+ #include <unistd.h>
+
+- int main ()
++ int main (void)
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+@@ -684,8 +684,8 @@ EOF
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+- int
+- main ()
++
++ int main (void)
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+@@ -1338,7 +1338,7 @@ cat >$dummy.c <<EOF
+ # include <sys/types.h>
+ # include <sys/utsname.h>
+ #endif
+-main ()
++int main (void)
+ {
+ #if defined (sony)
+ #if defined (MIPSEB)
+--- a/llvm/cmake/modules/CheckAtomic.cmake
++++ b/llvm/cmake/modules/CheckAtomic.cmake
+@@ -11,7 +11,7 @@ function(check_working_cxx_atomics varname)
+ CHECK_CXX_SOURCE_COMPILES("
+ #include <atomic>
+ std::atomic<int> x;
+-int main() {
++int main(void) {
+ return x;
+ }
+ " ${varname})
+@@ -46,7 +46,7 @@ CHECK_CXX_SOURCE_COMPILES("
+ #include <Intrin.h> /* Workaround for PR19898. */
+ #include <windows.h>
+ #endif
+-int main() {
++int main(void) {
+ #ifdef _MSC_VER
+ volatile LONG val = 1;
+ MemoryBarrier();
+--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
++++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
+@@ -37,7 +37,7 @@ if(NOT LLVM_FORCE_USE_OLD_TOOLCHAIN)
+ check_cxx_source_compiles("
+ #include <atomic>
+ std::atomic<float> x(0.0f);
+-int main() { return (float)x; }"
++int main(void) { return (float)x; }"
+ LLVM_NO_OLD_LIBSTDCXX)
+ if(NOT LLVM_NO_OLD_LIBSTDCXX)
+ message(FATAL_ERROR "Host Clang must be able to find libstdc++4.7 or newer!")
+@@ -457,7 +457,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11 -Werror=non-virtual-dtor")
+ CHECK_CXX_SOURCE_COMPILES("class base {public: virtual void anchor();protected: ~base();};
+ class derived final : public base { public: ~derived();};
+- int main() { return 0; }"
++ int main(void) { return 0; }"
+ CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ append_if(CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR
+@@ -471,7 +471,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ # line is also a // comment.
+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror -Wcomment")
+- CHECK_C_SOURCE_COMPILES("// \\\\\\n//\\nint main() {return 0;}"
++ CHECK_C_SOURCE_COMPILES("// \\\\\\n//\\nint main(void) {return 0;}"
+ C_WCOMMENT_ALLOWS_LINE_WRAP)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ if (NOT C_WCOMMENT_ALLOWS_LINE_WRAP)
+@@ -508,7 +508,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ #include <cassert>
+ #define NDEBUG
+ #include <cassert>
+- int main() { assert(this code is not compiled); }"
++ int main(void) { assert(this code is not compiled); }"
+ CXX_SUPPORTS_MODULES)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ if (CXX_SUPPORTS_MODULES)
+--- a/samples/sample.c
++++ b/samples/sample.c
+@@ -61,7 +61,7 @@ static bool sym_resolver(const char *symbol, uint64_t *value)
+ }
+
+ // test symbol resolver to handle missing symbols
+-static int test_sym_resolver()
++static int test_sym_resolver(void)
+ {
+ ks_engine *ks;
+ ks_err err;
diff --git a/dev-libs/keystone/keystone-0.9.2-r1.ebuild b/dev-libs/keystone/keystone-0.9.2-r1.ebuild
deleted file mode 100644
index a76e4f087c1d..000000000000
--- a/dev-libs/keystone/keystone-0.9.2-r1.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=14
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake distutils-r1 llvm
-
-DESCRIPTION="assembly/assembler framework + bindings"
-HOMEPAGE="https://www.keystone-engine.org/"
-
-if [[ ${PV} == 9999* ]]; then
- EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~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[@]/%/?}
-
-IUSE="python ${ALL_LLVM_TARGETS[*]}"
-
-RDEPEND="
- <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[${LLVM_TARGET_USEDEPS// /,}]
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}"
-
-RESTRICT=test # only regression tests
-
-REQUIRED_USE="
- || ( ${ALL_LLVM_TARGETS[*]} )
- 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="${LLVM_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-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 a6f8dcdd8897..c1e7b73fa5d4 100644
--- a/dev-libs/keystone/keystone-9999.ebuild
+++ b/dev-libs/keystone/keystone-9999.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-LLVM_MAX_SLOT=14
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake distutils-r1 llvm
+inherit cmake distutils-r1 flag-o-matic
DESCRIPTION="assembly/assembler framework + bindings"
HOMEPAGE="https://www.keystone-engine.org/"
@@ -17,31 +18,33 @@ if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
fi
S="${WORKDIR}"/${P/_rc/-rc}
LICENSE="GPL-2"
SLOT="0"
-# Keep in sync with llvm/CMakeLists.txt, subset of sys-devel/llvm
-ALL_LLVM_TARGETS=( AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86 )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+# Keep in sync with llvm/CMakeLists.txt
+KEYSTONE_TARGETS="AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86"
-IUSE="python ${ALL_LLVM_TARGETS[*]}"
+IUSE="python"
RDEPEND="
- <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):=[${LLVM_TARGET_USEDEPS// /,}]
python? ( ${PYTHON_DEPS} )
"
DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}"
+BDEPEND="
+ python?
+ (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ )
+"
RESTRICT=test # only regression tests
REQUIRED_USE="
- || ( ${ALL_LLVM_TARGETS[*]} )
python? ( ${PYTHON_REQUIRED_USE} )
"
@@ -61,8 +64,6 @@ pkg_setup() {
}
src_prepare() {
- default
-
sed -i '/NOT uppercase_CMAKE_BUILD_TYPE MATCHES/ s/DEBUG/GENTOO|DEBUG/' \
llvm/CMakeLists.txt || die
cmake_src_prepare
@@ -70,12 +71,15 @@ src_prepare() {
}
src_configure() {
+ # ODR violations in bundled LLVM (bug #924866)
+ filter-lto
+
local libdir="$(get_libdir)"
local mycmakeargs=(
-DCMAKE_CONFIGURATION_TYPES="Gentoo"
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=ON
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_TARGETS_TO_BUILD="${KEYSTONE_TARGETS// /;}"
-DLLVM_HOST_TRIPLE="${CHOST}"
-DPYTHON_EXECUTABLE="${PYTHON}"
)
diff --git a/dev-libs/kirigami-addons/Manifest b/dev-libs/kirigami-addons/Manifest
index 3f2a2159793b..0b9bf3bd2ae6 100644
--- a/dev-libs/kirigami-addons/Manifest
+++ b/dev-libs/kirigami-addons/Manifest
@@ -1 +1,2 @@
-DIST kirigami-addons-0.6.2.tar.xz 83620 BLAKE2B 36c8bd1c758d83aa45655f6323d65b7fed2394ddf066a4fc266d59e93d847cb1162a54f643fcee34235d58a9f919c532d87bed2901c075232100c486a54467bb SHA512 7e517a548c82e0a7a07da57950ce7f9bf3171e21b09cf041839af92e9602891e28d624cc55cf9660448a40669b6bbbdd05d050aa27e5f5547f1fdf4c9803ec2e
+DIST kirigami-addons-0.11.0.tar.xz 136692 BLAKE2B 26301176ddeaea3aec351207e82dc28a56e465aa6bc6d3bfd23b1feaa5d14cc0821a4c39fdf5eee3d134a8ed9bbcb5e503ee31d3864185c57bb0fcb788744f2d SHA512 f5a721eee6d0ebd37e67cdb5f89aba81136eb4ac23bc042b7d9bedd6a33f96f913353e1d83ec91e6997a8eea5e2834d9203eb7cd286eed1157149ecedeab6b89
+DIST kirigami-addons-1.1.0.tar.xz 1029104 BLAKE2B 0053b68330c6288379b8cb123278feecfa1f5152f8f06ce89d3b74084bcd382917d474e004b9b4b71049bf80d6de8a80420d3d05dfd437507f41d2dcc51407e1 SHA512 c5f73203b8befe46e5a0029469ec2ffb5b50e3e9c1d7ff426b4d7a1067f8135d3694fd7cbbe8930cac55f57a63c87dcb64334eb580ab47c1275388e72e6bfc46
diff --git a/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild
new file mode 100644
index 000000000000..b50294cd36ab
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP=true
+ECM_TEST=true
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm kde.org
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+fi
+
+DESCRIPTION="Visual end user components for Kirigami-based applications"
+HOMEPAGE="https://invent.kde.org/libraries/kirigami-addons"
+
+LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) LGPL-2.1+"
+SLOT="5"
+IUSE=""
+
+# would profit from VIRTUALX_REQUIRED=test, but then still requires
+# org.qt-project.qt.mediaplayer service and fails, bug 911186
+RESTRICT="test"
+
+COMMON_DEPEND="
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtgraphicaleffects-${QTMIN}:5
+ >=kde-plasma/libplasma-${KFMIN}:5
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml]
+ media-libs/gst-plugins-base:1.0[ogg,vorbis]
+ media-libs/gst-plugins-bad:1.0
+ media-libs/gst-plugins-good:1.0
+ x11-themes/sound-theme-freedesktop
+ )
+"
diff --git a/dev-libs/kirigami-addons/kirigami-addons-0.6.2.ebuild b/dev-libs/kirigami-addons/kirigami-addons-0.6.2.ebuild
deleted file mode 100644
index 1ea72b702da9..000000000000
--- a/dev-libs/kirigami-addons/kirigami-addons-0.6.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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.99.0
-QTMIN=5.15.5
-VIRTUALX_REQUIRED=test
-inherit ecm kde.org
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
-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=""
-
-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}
- >=kde-frameworks/plasma-${KFMIN}:5
- >=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
-"
-DEPEND="${COMMON_DEPEND}
- test? (
- >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml]
- media-libs/gst-plugins-base:1.0[ogg,vorbis]
- media-libs/gst-plugins-bad:1.0
- media-libs/gst-plugins-good:1.0
- x11-themes/sound-theme-freedesktop
- )
-"
diff --git a/dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild
new file mode 100644
index 000000000000..5bfa60a1d24a
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-1.1.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Visual end user components for Kirigami-based applications"
+HOMEPAGE="https://invent.kde.org/libraries/kirigami-addons"
+
+LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) LGPL-2.1+"
+SLOT="6"
+IUSE=""
+
+# would profit from VIRTUALX_REQUIRED=test, but then still requires
+# org.qt-project.qt.mediaplayer service and fails, bug 911186
+RESTRICT="test"
+
+COMMON_DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:6
+ kde-plasma/libplasma:6
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
+ x11-themes/sound-theme-freedesktop
+ )
+"
diff --git a/dev-libs/kirigami-addons/metadata.xml b/dev-libs/kirigami-addons/metadata.xml
index d925f2439758..ec655e157c6c 100644
--- a/dev-libs/kirigami-addons/metadata.xml
+++ b/dev-libs/kirigami-addons/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kirigami-addons</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/kopeninghours/Manifest b/dev-libs/kopeninghours/Manifest
index 4a47e99840f1..32e382728b50 100644
--- a/dev-libs/kopeninghours/Manifest
+++ b/dev-libs/kopeninghours/Manifest
@@ -1,2 +1,2 @@
-DIST kopeninghours-22.08.3.tar.xz 70540 BLAKE2B 76ac44a67b29133e0b499f0f11808f61e6c05b820eaaa7d0ef2656d1340e17b7663df1d4474f0735880f448c1fc0b6ee41cb86f3366afe458697edec8e269bbb SHA512 1874e61716f2e02e0df6e34e8ff451541e2e34649426ca610a5d7947df8f42dea1dc3067fb07221150fcb6dd3d942727e3e3c135a8ec76ed16ff1acd2ceebf6b
-DIST kopeninghours-22.12.2.tar.xz 71028 BLAKE2B 6d87255f1a6ee405b79badad41a265bb72c5887ca325ac3a0a372a845fce3ff45cbd3fda94c49fef704e90458fbfe84e41c9cc6d37891274ce4dbd561100e71a SHA512 ca4d074d1448789f7c811463f6b567e175e2415472a22928dd3e16796a487b8704cadaa2f8ebd50956a289cc8519afd76057a874fb7c76504840070e7cb18aa7
+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/kopeninghours-22.08.3.ebuild b/dev-libs/kopeninghours/kopeninghours-22.08.3.ebuild
deleted file mode 100644
index b9448e2152ea..000000000000
--- a/dev-libs/kopeninghours/kopeninghours-22.08.3.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 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.96.0
-QTMIN=5.15.5
-PYTHON_COMPAT=( python3_{9..11} )
-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:=[python,${PYTHON_USEDEP}]
- ')
- )
-"
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
-"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
-"
-
-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-22.12.2.ebuild b/dev-libs/kopeninghours/kopeninghours-22.12.2.ebuild
deleted file mode 100644
index 8e74e82a43d5..000000000000
--- a/dev-libs/kopeninghours/kopeninghours-22.12.2.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 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.101.0
-QTMIN=5.15.5
-PYTHON_COMPAT=( python3_{9..11} )
-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="
- sys-devel/bison
- sys-devel/flex
-"
-
-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-23.08.5.ebuild b/dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild
new file mode 100644
index 000000000000..0ced49ce9bd3
--- /dev/null
+++ b/dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.106.0
+QTMIN=5.15.9
+PYTHON_COMPAT=( python3_{10..12} )
+inherit ecm gear.kde.org python-single-r1
+
+DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
+HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
+https://invent.kde.org/libraries/kopeninghours"
+
+LICENSE="LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=kde-frameworks/kholidays-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ sys-libs/zlib
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
+
+pkg_setup() {
+ ecm_pkg_setup
+ python_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
+ $(cmake_use_find_package python Boost)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+ python_optimize
+}
diff --git a/dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild b/dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild
new file mode 100644
index 000000000000..796172457765
--- /dev/null
+++ b/dev-libs/kopeninghours/kopeninghours-24.02.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.0.0
+QTMIN=6.6.2
+PYTHON_COMPAT=( python3_{10..12} )
+inherit ecm gear.kde.org python-single-r1
+
+DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
+HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
+https://invent.kde.org/libraries/kopeninghours"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
+
+pkg_setup() {
+ ecm_pkg_setup
+ python_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
+ $(cmake_use_find_package python Boost)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+ python_optimize
+}
diff --git a/dev-libs/kopeninghours/metadata.xml b/dev-libs/kopeninghours/metadata.xml
index d925f2439758..4dee22b2e449 100644
--- a/dev-libs/kopeninghours/metadata.xml
+++ b/dev-libs/kopeninghours/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kopeninghours</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/kosmindoormap/Manifest b/dev-libs/kosmindoormap/Manifest
index 5613fe1f2ae2..47921034114d 100644
--- a/dev-libs/kosmindoormap/Manifest
+++ b/dev-libs/kosmindoormap/Manifest
@@ -1,2 +1,2 @@
-DIST kosmindoormap-22.08.3.tar.xz 358936 BLAKE2B 947e915db5df274aa6f1ea5126d5cb43a5ef1530803774f67fbf10dbeb3e1efe1b6bffa8814533cf6c09a2d5e4869320b19ad39b6b1dbd3434399845a21ed319 SHA512 925376ddea2b950bf435045193acbf2dca77601af16a3656acd9bb20d62a98c807b658cf6f5e85dcff56b749985e88537b194e03c619f70acc017761c2482ed8
-DIST kosmindoormap-22.12.2.tar.xz 363444 BLAKE2B 8a5878b01502d1c63ece4a0702e2b8df2dcf48b981ddd3701f693160a4a33b60a7812689a17638cf39cf8f68b526e0c080dcc77fc92fc4c530d5539600441fd7 SHA512 354826ceeb88aa7ae2d2f60a137214770857a0cc3e6886b0405a67a35f4d8509902a6673fcc4c54036b8803e8c906ca7371b12fb66d9add16db6d212db217976
+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-22.08.3.ebuild b/dev-libs/kosmindoormap/kosmindoormap-22.08.3.ebuild
deleted file mode 100644
index 8580f3dd2f41..000000000000
--- a/dev-libs/kosmindoormap/kosmindoormap-22.08.3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 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.96.0
-QTMIN=5.15.5
-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="
- sys-devel/bison
- sys-devel/flex
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- $(cmake_use_find_package openinghours KOpeningHours)
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kosmindoormap/kosmindoormap-22.12.2.ebuild b/dev-libs/kosmindoormap/kosmindoormap-22.12.2.ebuild
deleted file mode 100644
index c16c17a57eac..000000000000
--- a/dev-libs/kosmindoormap/kosmindoormap-22.12.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 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.101.0
-QTMIN=5.15.5
-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="
- sys-devel/bison
- sys-devel/flex
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- $(cmake_use_find_package openinghours KOpeningHours)
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild b/dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild
new file mode 100644
index 000000000000..132e337c3522
--- /dev/null
+++ b/dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm gear.kde.org
+
+DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
+HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
+
+LICENSE="LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64"
+IUSE="+openinghours"
+
+COMMON_DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:5
+ dev-libs/protobuf:=
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ sys-libs/zlib
+ openinghours? ( >=dev-libs/kopeninghours-${PVCUT}:5 )
+"
+DEPEND="${COMMON_DEPEND}
+ test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
+"
+RDEPEND="${COMMON_DEPEND}
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package openinghours KOpeningHours)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild b/dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild
new file mode 100644
index 000000000000..48e9a9cd47c9
--- /dev/null
+++ b/dev-libs/kosmindoormap/kosmindoormap-24.02.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
+HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64"
+IUSE="+gui"
+
+# kservice is optional and only used to find and open josm
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui?,network]
+ sys-libs/zlib
+ gui? (
+ >=dev-libs/kopeninghours-${PVCUT}:6
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TOOLS_ONLY=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kosmindoormap/metadata.xml b/dev-libs/kosmindoormap/metadata.xml
index d5abc837abc7..51bb95c924f5 100644
--- a/dev-libs/kosmindoormap/metadata.xml
+++ b/dev-libs/kosmindoormap/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kosmindoormap</remote-id>
</upstream>
<use>
<flag name="openinghours">Enable support for highlighting currently open amenities/shops/etc.</flag>
diff --git a/dev-libs/kpathsea/Manifest b/dev-libs/kpathsea/Manifest
index de858079677b..847ee8136b74 100644
--- a/dev-libs/kpathsea/Manifest
+++ b/dev-libs/kpathsea/Manifest
@@ -1,4 +1,7 @@
DIST kpathsea-texmf.d-11.tar.xz 12616 BLAKE2B f64dcaae859d6c95d534907f69519428973fad5b7a734eec269b3cc89fc2ae527a459b4ae4d966a3394d6a95f40fac16841f59f9f6cabf2a07dcdcb98a14cba9 SHA512 eec72ecc35edd47bd9a5762f0d06212e4625eea1ee2ffc36f93885b548ca6c4e0eb65345a1ec050f3f838aed5128bb32eda509b5aadbad6643469b4955441f22
+DIST kpathsea.doc.r68516.tar.xz 1040300 BLAKE2B f62e86600b7eef2edba9a1fc77d8bb1fe7ee7f6839cc541e976381c2435fe4e18c410edb1c422f9a56e838cf481f38398305c8691f55ce6ee8728ed4cd21862b SHA512 de1946896816d6ece6ac8632d8ca0d04212c34ef98009aaca5c7ec593f1c932e67c591d85b12406c7be6f142a59a03345d78279492857502ab2696af76bd35db
+DIST kpathsea.r68516.tar.xz 32592 BLAKE2B b59e2ec011d34c6378a1815fd2041107bed0b66a01af4b138322bbca5504b9e1418d50463d2b6fca7d581eaa5c033509a7b63bb0060a566735cd9556f51def59 SHA512 3a0e08fd9a7635e282e0fa010594358488e03db40faa305c309f28d307d475573696f3b6091b84eca96e9f25870ccab9ff549cdcc1412e610f6ca8474154b9f9
DIST texlive-20210325-source.tar.xz 54837368 BLAKE2B 66bd4bdd43ff53513004b9b9b90ababa0ab5efcf183a27864a3d39cde9cf90721456bda90c49ad6014f4b12d2e6293feaf9a8b152b85a89ffaa96bf5056347df SHA512 afd6eb24efaeac7c58d43ff24162aece919079a9ae02934509f068c7a3828223c33c14d9db11ff7fea3560b08a06f352446ba7f845eefb4a56a87b96f088f213
+DIST texlive-20230311-source.tar.xz 68359984 BLAKE2B 6263e8d3e066db96f071138f2442b1ed7e1f3db7e6d261cdeb9a7e6e636c6e6ed45305c6bda3ab6f9a439c92eabf32a79bf6e371d16b747eebbc05ee47b85035 SHA512 93ac43f3055fee0103a6cfceea18d39ece63984914f3af9ad76da218f2d568852d9b987d1c9647c1497b985e4ffa297ef97dc2d50d3e90f62b03ad685af31d96
DIST tl-kpathsea-2021.tar.xz 32308 BLAKE2B 83052cefc5699d46ce104e4379d39eee8e86b514d25245a6104fc9940accf131790ae144ca11dbd3b99a31a06017495bb5a53afb1e49da71a2c9eec008200653 SHA512 398358b84ecb81fece969fbd3521b093f7e791feec828c218e6371c26d57956491328999517a65711d45dfb04c83fd643ef0fad6a0153590866eddf485d5c575
DIST tl-kpathsea.doc-2021.tar.xz 1066608 BLAKE2B 798ccf9953e4fa2037f81b56dfa30cf99c56c17e2942d5a0f2041b871958284f05150e5d7631b542896190f178327f009130e6bb07f60e8173ec1e9f12c4cda9 SHA512 8ecccee7ad99220f91139dcd9c2ce0bd19eb0e2fe74f0a965f68e59a28bd3de454624d6e014ef2a5c481a537acb95b08a9546a79abd8df429300043ecf973545
diff --git a/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch
new file mode 100644
index 000000000000..39a7fafb6fda
--- /dev/null
+++ b/dev-libs/kpathsea/files/kpathsea-6.3.3_p20210325-Fix-slibtool-test.patch
@@ -0,0 +1,47 @@
+https://bugs.gentoo.org/924405
+https://github.com/TeX-Live/texlive-source/pull/65
+https://github.com/TeX-Live/texlive-source/commit/9c4aec9b1b85f3f0e336914d65d55ca6263c5526
+
+From 9c4aec9b1b85f3f0e336914d65d55ca6263c5526 Mon Sep 17 00:00:00 2001
+From: Karl Berry <karl@freefriends.org>
+Date: Thu, 22 Feb 2024 23:41:54 +0000
+Subject: [PATCH] make kpsereadlink.test generic, instead of depending on
+ libtool
+
+git-svn-id: svn://tug.org/texlive/trunk/Build/source@70081 c570f23f-e606-0410-a88d-b1316a301751
+---
+ texk/kpathsea/tests/kpsereadlink.test | 17 +++++++++++++----
+ 1 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/tests/kpsereadlink.test b/tests/kpsereadlink.test
+index 3b3570aa8d..2e1a852494 100755
+--- a/tests/kpsereadlink.test
++++ b/tests/kpsereadlink.test
+@@ -1,14 +1,23 @@
+ #! /bin/sh -vx
+ # $Id$
+-# Copyright 2017 Karl Berry <tex-live@tug.org>
++# Copyright 2017-2024 Karl Berry <tex-live@tug.org>
+ # Copyright 2010 Peter Breitenlohner <tex-live@tug.org>
+ # You may freely use, modify and/or distribute this file.
+
++test -n "$LN_S" || LN_S="ln -s" # standalone testing
++
+ test "x$LN_S" = 'xln -s' || exit 77
+
+-./kpsereadlink $LT_OBJDIR/libkpathsea.lai && exit 1
++rm -f readlink_test_file readlink_test_symlink
++
++touch readlink_test_file
++
++$LN_S readlink_test_file readlink_test_symlink || exit 1
++
++./kpsereadlink readlink_test_file && exit 1
+
+-link=`./kpsereadlink $LT_OBJDIR/libkpathsea.la` || exit 1
++link=`./kpsereadlink readlink_test_symlink` || exit 1
+
+-test "x$link" = x../libkpathsea.la || exit 1
++test "x$link" = xreadlink_test_file || exit 1
+
++rm -f readlink_test_file readlink_test_symlink
diff --git a/dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild b/dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild
index 45e773f12628..5109ca86e025 100644
--- a/dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild
+++ b/dev-libs/kpathsea/kpathsea-6.3.3_p20210325-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,13 +8,13 @@ inherit texlive-common libtool prefix tmpfiles
TEXMFD_VERSION="11"
DESCRIPTION="Path searching library for TeX-related files"
-HOMEPAGE="http://tug.org/texlive/"
-SRC_URI="https://dev.gentoo.org/~zlogene/distfiles/texlive/texlive-${PV#*_p}-source.tar.xz
- https://dev.gentoo.org/~zlogene/distfiles/texlive/${PN}-texmf.d-${TEXMFD_VERSION}.tar.xz"
+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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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}
@@ -24,12 +24,12 @@ EXTRA_TL_MODULES="kpathsea"
EXTRA_TL_DOC_MODULES="kpathsea.doc"
for i in ${EXTRA_TL_MODULES} ; do
- SRC_URI="${SRC_URI} https://dev.gentoo.org/~zlogene/distfiles/texlive/tl-${i}-${TL_VERSION}.tar.xz"
+ 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/~zlogene/distfiles/texlive/tl-${i}-${TL_VERSION}.tar.xz"
+ SRC_URI="${SRC_URI} https://dev.gentoo.org/~sam/distfiles/texlive/tl-${i}-${TL_VERSION}.tar.xz"
done
SRC_URI="${SRC_URI} ) "
@@ -37,6 +37,7 @@ 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() {
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/kpublictransport/Manifest b/dev-libs/kpublictransport/Manifest
index 6be8eae88199..11edbabf08c1 100644
--- a/dev-libs/kpublictransport/Manifest
+++ b/dev-libs/kpublictransport/Manifest
@@ -1,2 +1,2 @@
-DIST kpublictransport-22.08.3.tar.xz 489620 BLAKE2B 01aa9a92ba13a1060c08a5e2b6a1f2671c468c52587fded5f70dcda90977ecead2b3bcf8a333746400ac4b4a11061bbd56894bc335972f15fd29755f0ae23e15 SHA512 9b6c18395a0d8b9033a2b38d5912e3fcc649138a7ceb594d6d5d01534087bf01b6d4d51d2284f1212ae5574487c1c2acfd0d0b76deef0c181d64a56fed686b19
-DIST kpublictransport-22.12.2.tar.xz 490996 BLAKE2B 28594e9c911746acd5df28a66978a056a17332e830a65a04d5cfd85d81e479a506019b2cc010fcd69f9bdfc7cf4a3b72392f93382f3f749cc8d9768b0f38cc50 SHA512 9859b627376559d690fd026b5e0802c055baf7df552bc4be9c8062d22975d9380bddbf4aadf7693a283bc016c5f4fc4001800a73aab78617b88362c1210d77d2
+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-22.08.3.ebuild b/dev-libs/kpublictransport/kpublictransport-22.08.3.ebuild
deleted file mode 100644
index 5af5336a4498..000000000000
--- a/dev-libs/kpublictransport/kpublictransport-22.08.3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_QTHELP="true"
-ECM_TEST="true"
-KFMIN=5.96.0
-QTMIN=5.15.5
-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=""
-
-RDEPEND="
- dev-libs/protobuf:=
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kpublictransport/kpublictransport-22.12.2.ebuild b/dev-libs/kpublictransport/kpublictransport-22.12.2.ebuild
deleted file mode 100644
index 7dab3c27ea1d..000000000000
--- a/dev-libs/kpublictransport/kpublictransport-22.12.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_QTHELP="true"
-ECM_TEST="true"
-KFMIN=5.101.0
-QTMIN=5.15.5
-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=""
-
-RDEPEND="
- dev-libs/protobuf:=
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild b/dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild
new file mode 100644
index 000000000000..b769c4eea8e6
--- /dev/null
+++ b/dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for accessing public transport timetables and other information"
+HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
+ https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
+
+LICENSE="LGPL-2+"
+SLOT="5"
+KEYWORDS="~amd64"
+IUSE="networkmanager"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ sys-libs/zlib
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:5 )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package networkmanager KF5NetworkManagerQt)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild b/dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild
new file mode 100644
index 000000000000..d68e9ad160b2
--- /dev/null
+++ b/dev-libs/kpublictransport/kpublictransport-24.02.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.0.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for accessing public transport timetables and other information"
+HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
+ https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64"
+IUSE="networkmanager"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,ssl]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package networkmanager KF6NetworkManagerQt)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kpublictransport/metadata.xml b/dev-libs/kpublictransport/metadata.xml
index d925f2439758..30e480919694 100644
--- a/dev-libs/kpublictransport/metadata.xml
+++ b/dev-libs/kpublictransport/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/kpublictransport</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/kreport/kreport-3.2.0-r3.ebuild b/dev-libs/kreport/kreport-3.2.0-r3.ebuild
index de7477e25d74..d616a54c4a74 100644
--- a/dev-libs/kreport/kreport-3.2.0-r3.ebuild
+++ b/dev-libs/kreport/kreport-3.2.0-r3.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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..11} )
+PYTHON_COMPAT=( python3_{9..12} )
KFMIN=5.82.0
QTMIN=5.15.2
VIRTUALX_REQUIRED="test"
diff --git a/dev-libs/ktextaddons/Manifest b/dev-libs/ktextaddons/Manifest
new file mode 100644
index 000000000000..a4c0d979b06f
--- /dev/null
+++ b/dev-libs/ktextaddons/Manifest
@@ -0,0 +1,2 @@
+DIST ktextaddons-1.2.1.tar.xz 392132 BLAKE2B 63a3dcbca0e49fab246f6a76266529e90ec73209e5dd2464884b9b0071867d10ff017b91faa321a8738e63c90c6bd6c4c8ad708a4a944595eba4a7f0aa4934d2 SHA512 44a0aa56a92594031576d2e37e7bc526444f64cebd9b5add8bd382e72fc30b222075bee4d61cc358da61f4db266cd0a339717bd9d90b21e38993371cb1408db9
+DIST ktextaddons-1.5.4.tar.xz 471052 BLAKE2B 9f2730d0e1f71606b60c2469bd06790a8a1fadd7e30526ed94125d8eb897a08be549ac05bd9af9651dadf5ef95fa71249c5802e40fce43f28c82c2cd8f121e04 SHA512 76829c265c68e374fc7012c270a0328bb9d724d78165f0bda8da126994a5eb692af0b66b93e1151af3fc3e1755bbedfabcae73b60bb47c871181d2d50530e243
diff --git a/dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild b/dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild
new file mode 100644
index 000000000000..88de23ac551d
--- /dev/null
+++ b/dev-libs/ktextaddons/ktextaddons-1.2.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_DESIGNERPLUGIN="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.103.0
+QTMIN=5.15.5
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Various text handling addons"
+HOMEPAGE="https://invent.kde.org/libraries/ktextaddons"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2+"
+SLOT="5"
+IUSE="speech"
+
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/qtkeychain:=[qt5(+)]
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ speech? ( >=dev-qt/qtspeech-${QTMIN}:5 )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package speech Qt5TextToSpeech)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild b/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild
new file mode 100644
index 000000000000..cc272fa5c8ee
--- /dev/null
+++ b/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_DESIGNERPLUGIN="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=5.245.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Various text handling addons"
+HOMEPAGE="https://invent.kde.org/libraries/ktextaddons"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2+"
+SLOT="6"
+IUSE="speech"
+
+RESTRICT="test"
+
+DEPEND="
+ >=dev-libs/qtkeychain-0.14.1-r1:=[qt6]
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ >=dev-qt/qtmultimedia-${QTMIN}:6
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/sonnet-${KFMIN}:6
+ >=kde-frameworks/syntax-highlighting-${KFMIN}:6
+ speech? ( >=dev-qt/qtspeech-${QTMIN}:6 )
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package speech Qt6TextToSpeech)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/ktextaddons/metadata.xml b/dev-libs/ktextaddons/metadata.xml
new file mode 100644
index 000000000000..fe672f377cfd
--- /dev/null
+++ b/dev-libs/ktextaddons/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="kde-invent">libraries/ktextaddons</remote-id>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ </upstream>
+ <use>
+ <flag name="designer">Build plugins for <pkg>dev-qt/designer</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/kuserfeedback/Manifest b/dev-libs/kuserfeedback/Manifest
deleted file mode 100644
index 508855a3fecf..000000000000
--- a/dev-libs/kuserfeedback/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kuserfeedback-1.2.0.tar.xz 206364 BLAKE2B 4ae1683f8a3470ee3db7b3039c27ebd7bc210afd5cd8cdd992a107e541971f4778d7add3fb330befbfd7d62e04d9d2aba8fc22eab5a368f4b92e98f7baa1ec41 SHA512 0152233c741a287b623256cac6d109d405441f17dec68c5782d900ddb9ca5a93614d46ea112e1be9e64913cc3f46d107bec64cad4579b766919439b0ed88a470
diff --git a/dev-libs/kuserfeedback/files/kuserfeedback-1.2.0-enable_docs.patch b/dev-libs/kuserfeedback/files/kuserfeedback-1.2.0-enable_docs.patch
deleted file mode 100644
index 77915f1b4040..000000000000
--- a/dev-libs/kuserfeedback/files/kuserfeedback-1.2.0-enable_docs.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From f523d1da91dbf944cb753e8aed8ad40367e8826c Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Fri, 11 Feb 2022 12:29:50 +0100
-Subject: [PATCH] Hide finding docs dependencies behind ENABLE_DOCS
-
-It was also oddly placed within CMakeLists.txt so moved it below
-major Qt dependency calls (and the actual "# Dependencies" block).
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9ea764a..48623bc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -39,12 +39,6 @@ include(ECMGeneratePriFile)
- include(FeatureSummary)
- include(GenerateExportHeader)
-
--if(QT_MAJOR_VERSION STREQUAL "5")
-- find_package(Qt5 CONFIG OPTIONAL_COMPONENTS DocTools)
--else()
-- find_package(Qt6 CONFIG OPTIONAL_COMPONENTS ToolsTools)
--endif()
--
- ecm_setup_version(PROJECT
- VARIABLE_PREFIX KUSERFEEDBACK
- VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kuserfeedback_version.h"
-@@ -61,6 +55,14 @@ if (NOT CMAKE_CROSSCOMPILING)
- find_package(Qt${QT_MAJOR_VERSION} NO_MODULE QUIET OPTIONAL_COMPONENTS Help)
- endif()
-
-+if (ENABLE_DOCS)
-+ if(QT_MAJOR_VERSION STREQUAL "5")
-+ find_package(Qt5 CONFIG OPTIONAL_COMPONENTS DocTools)
-+ else()
-+ find_package(Qt6 CONFIG OPTIONAL_COMPONENTS ToolsTools)
-+ endif()
-+endif()
-+
- set_package_properties(Qt${QT_MAJOR_VERSION} PROPERTIES URL "http://qt-project.org/")
- set_package_properties(Qt${QT_MAJOR_VERSION}Widgets PROPERTIES TYPE RECOMMENDED PURPOSE "Required for feedback configuration and notification widgets.")
- set_package_properties(Qt${QT_MAJOR_VERSION}Charts PROPERTIES TYPE RECOMMENDED PURPOSE "Required for UserFeedbackConsole.")
---
-2.35.1
-
diff --git a/dev-libs/kuserfeedback/kuserfeedback-1.2.0.ebuild b/dev-libs/kuserfeedback/kuserfeedback-1.2.0.ebuild
deleted file mode 100644
index 254230bd0c42..000000000000
--- a/dev-libs/kuserfeedback/kuserfeedback-1.2.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="forceoptional"
-KFMIN=5.82.0
-QTMIN=5.15.2
-VIRTUALX_REQUIRED="test"
-inherit ecm kde.org
-
-DESCRIPTION="Framework to collect user feedback for applications via telemetry and surveys"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-fi
-LICENSE="MIT"
-SLOT="5"
-IUSE="doc"
-
-DEPEND="
- >=dev-qt/qtcharts-${QTMIN}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtsql-${QTMIN}:5
- >=dev-qt/qtsvg-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kdeclarative-${KFMIN}:5
- >=kde-frameworks/kguiaddons-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
- doc? (
- >=dev-qt/qdoc-${QTMIN}:5
- >=dev-qt/qthelp-${QTMIN}:5
- )
-"
-
-# https://invent.kde.org/libraries/kuserfeedback/-/merge_requests/21
-PATCHES=( "${FILESDIR}/${P}-enable_docs.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DQT_MAJOR_VERSION=5
- # disable server application
- -DENABLE_PHP=NO
- -DENABLE_PHP_UNIT=NO
- -DENABLE_SURVEY_TARGET_EXPRESSIONS=YES
- -DENABLE_DOCS=$(usex doc)
- )
-
- ecm_src_configure
-}
diff --git a/dev-libs/kuserfeedback/metadata.xml b/dev-libs/kuserfeedback/metadata.xml
deleted file mode 100644
index d925f2439758..000000000000
--- a/dev-libs/kuserfeedback/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/kweathercore/Manifest b/dev-libs/kweathercore/Manifest
index 824e455c13fa..c9ad5a139be3 100644
--- a/dev-libs/kweathercore/Manifest
+++ b/dev-libs/kweathercore/Manifest
@@ -1 +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
index 7497dcb80615..05ef902e19e9 100644
--- a/dev-libs/kweathercore/kweathercore-0.7.ebuild
+++ b/dev-libs/kweathercore/kweathercore-0.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ DESCRIPTION="Library for retrieval of weather information including forecasts an
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 x86"
fi
LICENSE="LGPL-2+"
SLOT="5"
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
index d925f2439758..474c349df8f3 100644
--- a/dev-libs/kweathercore/metadata.xml
+++ b/dev-libs/kweathercore/metadata.xml
@@ -7,5 +7,6 @@
</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 eb4cf7a74506..7ca6271a9449 100644
--- a/dev-libs/leatherman/Manifest
+++ b/dev-libs/leatherman/Manifest
@@ -1,2 +1,2 @@
-DIST leatherman-1.12.8.tar.gz 815817 BLAKE2B b0844527a470c0e54983d49abc84a7331a07f3cac76919f56e58a01d60b794e422f3ef8342e046c483a83c428d2c80ff8e8d6b71375f45ddb03a5721e63c7aef SHA512 c6096a7c0e95fb43c6998f26e8f28157f46b78af4eaf2caaa1caae832d2f23aa7591e3a29a17f24bc9b993421645d37d44249fd8cae15a3d18b40d614acd23ad
-DIST leatherman-1.12.9.tar.gz 816107 BLAKE2B 1c2e50767585a30da40fdacde0aa8655cefc2a41cadd24a7689be5da0afcbe8627293d37780442873907996f01401b46340a3d7be5d9b2a65b2f87191daca6c3 SHA512 e69f2b0c04a1cbd20e097abcc020e7b27fb74f168207fcbcffce9fd0edd1760acc75d5c5f645d3a798f106e129ce73e512f0c11699733475b290dfc876de0565
+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/shared_nowide.patch b/dev-libs/leatherman/files/shared_nowide.patch
deleted file mode 100644
index 4f5f67045fb6..000000000000
--- a/dev-libs/leatherman/files/shared_nowide.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-diff --git a/nowide/CMakeLists.txt b/nowide/CMakeLists.txt
-index ff9dba6..5d1b9ce 100644
---- a/nowide/CMakeLists.txt
-+++ b/nowide/CMakeLists.txt
-@@ -1,7 +1,5 @@
- find_package(Boost 1.54 REQUIRED)
-
--add_leatherman_includes(${Boost_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/../vendor/nowide/include")
--add_leatherman_headers(../vendor/nowide/include/boost)
- if(WIN32)
- add_leatherman_library(../vendor/nowide/src/iostream.cpp)
- endif()
---- leatherman-1.10.0/execution/CMakeLists.txt~ 2020-06-03 10:30:05.027479897 +0100
-+++ leatherman-1.10.0/execution/CMakeLists.txt 2020-06-03 10:30:18.871483297 +0100
-@@ -1,4 +1,4 @@
--find_package(Boost 1.54 REQUIRED COMPONENTS regex filesystem system)
-+find_package(Boost 1.73 REQUIRED COMPONENTS regex filesystem system nowide)
-
- add_leatherman_deps("${Boost_LIBRARIES}")
- if ("${CMAKE_SYSTEM_NAME}" MATCHES "SunOS")
-@@ -10,7 +10,6 @@
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
- leatherman_dependency(util)
--leatherman_dependency(nowide)
- leatherman_dependency(locale)
- leatherman_dependency(logging)
- leatherman_dependency(file_util)
---- leatherman-1.10.0/file_util/CMakeLists.txt~ 2020-06-03 10:30:05.031479898 +0100
-+++ leatherman-1.10.0/file_util/CMakeLists.txt 2020-06-03 10:31:04.550494516 +0100
-@@ -1,9 +1,8 @@
--find_package(Boost 1.54 REQUIRED COMPONENTS regex filesystem system)
-+find_package(Boost 1.73 REQUIRED COMPONENTS regex filesystem system nowide)
-
- add_leatherman_deps("${Boost_LIBRARIES}")
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
--leatherman_dependency(nowide)
- leatherman_dependency(locale)
- leatherman_dependency(logging)
- leatherman_dependency(util)
---- leatherman-1.10.0/logging/CMakeLists.txt~ 2020-06-03 10:30:05.035479898 +0100
-+++ leatherman-1.10.0/logging/CMakeLists.txt 2020-06-03 10:30:19.092483352 +0100
-@@ -4,7 +4,6 @@
- add_leatherman_deps(${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
--leatherman_dependency(nowide)
- leatherman_dependency(locale)
-
- if (CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "SunOS")
---- leatherman-1.10.0/tests/CMakeLists.txt~ 2020-06-02 23:24:17.146002133 +0100
-+++ leatherman-1.10.0/tests/CMakeLists.txt 2020-06-02 23:26:17.780054923 +0100
-@@ -1,8 +1,8 @@
--set(BOOST_REQUIRED_COMPONENTS system date_time chrono log log_setup thread filesystem regex)
-+set(BOOST_REQUIRED_COMPONENTS system date_time chrono log log_setup thread filesystem regex nowide)
- if (LEATHERMAN_USE_LOCALES)
- set(BOOST_REQUIRED_COMPONENTS ${BOOST_REQUIRED_COMPONENTS} locale)
- endif()
--find_package(Boost "1.54" REQUIRED COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
-+find_package(Boost "1.73" REQUIRED COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
-
- include_directories(BEFORE ${LEATHERMAN_CATCH_INCLUDE} ${LEATHERMAN_INCLUDE_DIRS})
- add_executable(leatherman_test main.cc ${LEATHERMAN_TEST_SRCS})
---- leatherman-1.10.0/util/CMakeLists.txt~ 2020-06-03 10:05:44.277172451 +0100
-+++ leatherman-1.10.0/util/CMakeLists.txt 2020-06-03 10:06:52.969185017 +0100
-@@ -1,10 +1,8 @@
--find_package(Boost 1.54 REQUIRED date_time chrono system)
-+find_package(Boost 1.73 REQUIRED date_time chrono system nowide)
-
- add_leatherman_deps(${Boost_LIBRARIES})
- add_leatherman_includes("${Boost_INCLUDE_DIRS}")
-
--leatherman_dependency(nowide)
--
- if(WIN32)
- set(PLATFORM_SRCS "src/windows/time.cc" "src/windows/environment.cc" "src/windows/scoped_handle.cc")
- set(PLATFORM_TESTS "tests/windows/environment.cc")
---- leatherman-1.10.0/file_util/src/file.cc~ 2019-12-14 20:46:29.000000000 +0000
-+++ leatherman-1.10.0/file_util/src/file.cc 2020-06-02 22:42:45.100963441 +0100
-@@ -1,6 +1,6 @@
- #include <leatherman/file_util/file.hpp>
- #include <boost/nowide/fstream.hpp>
--#include <boost/nowide/cenv.hpp>
-+#include <boost/nowide/cstdlib.hpp>
- #include <boost/filesystem.hpp>
- #include <sstream>
- #include <leatherman/logging/logging.hpp>
---- leatherman-1.10.0/util/src/environment.cc~ 2019-12-14 20:46:29.000000000 +0000
-+++ leatherman-1.10.0/util/src/environment.cc 2020-06-02 22:42:45.101963441 +0100
-@@ -1,5 +1,6 @@
- #include <leatherman/util/environment.hpp>
--#include <boost/nowide/cenv.hpp>
-+#include <boost/nowide/cstdlib.hpp>
-+#include <boost/system/error_code.hpp>
-
- using namespace std;
-
---- leatherman-1.10.0/util/tests/environment.cc~ 2019-12-14 20:46:29.000000000 +0000
-+++ leatherman-1.10.0/util/tests/environment.cc 2020-06-02 22:42:45.103963442 +0100
-@@ -1,6 +1,6 @@
- #include <catch.hpp>
- #include <leatherman/util/environment.hpp>
--#include <boost/nowide/cenv.hpp>
-+#include <boost/nowide/cstdlib.hpp>
-
- using namespace std;
- using namespace leatherman::util;
diff --git a/dev-libs/leatherman/leatherman-1.12.12.ebuild b/dev-libs/leatherman/leatherman-1.12.12.ebuild
new file mode 100644
index 000000000000..8f059cdc447e
--- /dev/null
+++ b/dev-libs/leatherman/leatherman-1.12.12.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A C++ toolkit"
+HOMEPAGE="https://github.com/puppetlabs/leatherman"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv sparc x86"
+IUSE="debug static-libs test"
+#RESTRICT="!test? ( test )"
+RESTRICT="test" # restricted til we don't need the shared_nowide patch
+
+RDEPEND="dev-libs/boost:=[nls]
+ net-misc/curl"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/portage-sandbox-test-fix.patch
+ "${FILESDIR}"/1.12.2-shared_nowide.patch
+)
+
+src_prepare() {
+ sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
+ # vendored boost lib conflicts with boost 1.73 and above
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DLEATHERMAN_ENABLE_TESTING=$(usex test)
+ # We depend on Boost with nls, so this is always true
+ -DLEATHERMAN_USE_ICU=ON
+
+ -DLEATHERMAN_SHARED=$(usex !static-libs)
+ )
+
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${WORKDIR}/${P}"_build/bin/leatherman_test || die
+}
diff --git a/dev-libs/leatherman/leatherman-1.12.13.ebuild b/dev-libs/leatherman/leatherman-1.12.13.ebuild
new file mode 100644
index 000000000000..7508537d3159
--- /dev/null
+++ b/dev-libs/leatherman/leatherman-1.12.13.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A C++ toolkit"
+HOMEPAGE="https://github.com/puppetlabs/leatherman"
+SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="debug static-libs test"
+#RESTRICT="!test? ( test )"
+RESTRICT="test" # restricted til we don't need the shared_nowide patch
+
+RDEPEND="dev-libs/boost:=[nls]
+ net-misc/curl"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/portage-sandbox-test-fix.patch
+ "${FILESDIR}"/1.12.2-shared_nowide.patch
+)
+
+src_prepare() {
+ sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
+ # vendored boost lib conflicts with boost 1.73 and above
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_VERBOSE_MAKEFILE=ON
+ -DCMAKE_BUILD_TYPE=None
+ -DLEATHERMAN_ENABLE_TESTING=$(usex test)
+ # We depend on Boost with nls, so this is always true
+ -DLEATHERMAN_USE_ICU=ON
+
+ -DLEATHERMAN_SHARED=$(usex !static-libs)
+ )
+
+ if use debug; then
+ mycmakeargs+=(
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${WORKDIR}/${P}"_build/bin/leatherman_test || die
+}
diff --git a/dev-libs/leatherman/leatherman-1.12.8.ebuild b/dev-libs/leatherman/leatherman-1.12.8.ebuild
deleted file mode 100644
index 06e7e264bf51..000000000000
--- a/dev-libs/leatherman/leatherman-1.12.8.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A C++ toolkit"
-HOMEPAGE="https://github.com/puppetlabs/leatherman"
-SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 sparc x86"
-IUSE="debug static-libs test"
-#RESTRICT="!test? ( test )"
-RESTRICT="test" # restricted til we don't need the shared_nowide patch
-
-RDEPEND="dev-libs/boost:=[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.9.ebuild b/dev-libs/leatherman/leatherman-1.12.9.ebuild
deleted file mode 100644
index 8466060b3186..000000000000
--- a/dev-libs/leatherman/leatherman-1.12.9.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A C++ toolkit"
-HOMEPAGE="https://github.com/puppetlabs/leatherman"
-SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~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/level-zero/Manifest b/dev-libs/level-zero/Manifest
index a0cc8bd0132e..f17819ae97f2 100644
--- a/dev-libs/level-zero/Manifest
+++ b/dev-libs/level-zero/Manifest
@@ -1,2 +1,2 @@
-DIST level-zero-1.8.12.tar.gz 696435 BLAKE2B 31dfb05e947e05f7892c289071fc61f3f874009cf3b0c73c6e8c666a7ecbe1e71be6dab8bada9a56c9f993e0ba4c3bbecb975f9173e0c03672cdd31fb2a54450 SHA512 8e4025c15426e7593b45c65a09ad51282ba65156205eafbc10fa1e91aa351e2a3e2911e4b2f1bfc8fad78179f684469a3587ed164a3a702caad5aa4e5788284e
-DIST level-zero-1.9.4.tar.gz 742767 BLAKE2B 191bb317a5d9ac3b7806172f2e42ced3a3f1a82bf806fc5afe85e7f2976f27c733c9f13c1b68b3fdc99e1bbff2c2dceffe2d9621c755b3e5c9e0c3aec341c111 SHA512 aff8f7965c70541bfbc5db05d3c2306d11c69f7b20396618520e0eb141fa021b0d89872e362e8137311d9b5ba68667754357c917f0108a5a5eb030e9883bddea
+DIST level-zero-1.16.1.tar.gz 999641 BLAKE2B 845964416526428d4848ccc3beebf0eac426ba39ce292cea3dced13803dbeb1d4393930b46a60fc2c59dc9e2f4bba1188b211a57574c58fb7180c44b7a8a028b SHA512 c53b5663494613b7a536816bf8367895aa055ce74d9abc8e8aacc3efb7c081de60480d03693861e2b348698b7da6224ac21fb590bf9311d342a19ca4f416b051
+DIST level-zero-1.16.14.tar.gz 1001744 BLAKE2B a02d3b04a127bb43a3b2507c00f6c536d319d11e6196ad347f3d82a22d11f094118b5115589f463945b8763c9fb5c22a09965c637e72b14c7364813f8d69e05f SHA512 8c80d75909398245c0173a4198748d1a1e469e21a09138f60b314061ff556e7f529807e02c6ec1f3a47f2871e17c24b7be6d363810a25fee11e73b5c97c7c62a
diff --git a/dev-libs/level-zero/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.8.12.ebuild b/dev-libs/level-zero/level-zero-1.8.12.ebuild
deleted file mode 100644
index 44fda91ff929..000000000000
--- a/dev-libs/level-zero/level-zero-1.8.12.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 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() {
- 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.9.4.ebuild b/dev-libs/level-zero/level-zero-1.9.4.ebuild
deleted file mode 100644
index f019194f4f68..000000000000
--- a/dev-libs/level-zero/level-zero-1.9.4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 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() {
- cmake_src_prepare
-
- # According to upstream, release tarballs should contain this file but at least
- # some of them do not. Fortunately it is trivial to make one ourselves.
- echo "$(ver_cut 3)" > "${S}"/VERSION_PATCH || die
-}
diff --git a/dev-libs/leveldb/leveldb-1.23-r4.ebuild b/dev-libs/leveldb/leveldb-1.23-r4.ebuild
deleted file mode 100644
index 265ef4f39682..000000000000
--- a/dev-libs/leveldb/leveldb-1.23-r4.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A fast key-value storage library written at Google"
-HOMEPAGE="https://github.com/google/leveldb"
-SRC_URI="https://github.com/google/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+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=(
- -DHAVE_CRC32C=ON
- -DLEVELDB_BUILD_BENCHMARKS=OFF
- -DHAVE_SNAPPY=$(usex snappy)
- -DHAVE_TCMALLOC=$(usex tcmalloc)
- -DLEVELDB_BUILD_TESTS=$(usex test)
- )
- cmake_src_configure
-}
-
-src_test() {
- TEST_TMPDIR="${T}" TEMP="${T}" cmake_src_test
-}
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/libIDL/libIDL-0.8.14-r4.ebuild b/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild
index 3181772403ae..16db90846d23 100644
--- a/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild
+++ b/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,11 +11,11 @@ HOMEPAGE="https://www.gnome.org/"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+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="
- sys-devel/flex
+ app-alternatives/lex
app-alternatives/yacc
virtual/pkgconfig"
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-9999.ebuild b/dev-libs/libaio/libaio-9999.ebuild
index db2f93f97564..9066780e1381 100644
--- a/dev-libs/libaio/libaio-9999.ebuild
+++ b/dev-libs/libaio/libaio-9999.ebuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit multilib-minimal toolchain-funcs flag-o-matic usr-ldscript
+inherit multilib-minimal toolchain-funcs flag-o-matic
DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
HOMEPAGE="https://pagure.io/libaio"
+
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://pagure.io/libaio.git"
@@ -14,6 +15,7 @@ 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"
@@ -83,9 +85,6 @@ 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/libansilove/Manifest b/dev-libs/libansilove/Manifest
index 4613ce1abbdc..00486a178c58 100644
--- a/dev-libs/libansilove/Manifest
+++ b/dev-libs/libansilove/Manifest
@@ -1,3 +1 @@
-DIST libansilove-1.2.9.tar.gz 58703 BLAKE2B b7feb458c01ab6bb96be1893d7f8ffc92dff63e23aa81fad29519ff574d55c0bbf84f66da0bf54a9ff428079f7d101e50b92d6f600934400f67d06497123abf7 SHA512 80fe2463634005c4ba5ba74587b1248fa5ef4789600a3b9603678bf63c8bb7d9c60348388d103589b6b11516fe033ec080a7a625ed84233976c44334c6ac1959
-DIST libansilove-1.3.0.tar.gz 59167 BLAKE2B efb7234b4a61182e051f229d3ae443c59e0f59d74a38f4f08e48d5ec1ee4ccc491b824fb91c1d26b22c2e7c5fa8638c0c64f9f33e9114c278bf09808ba1bbf34 SHA512 225a5bb3fe3547a893dba5d176d5b7f3950d33457b58b50583ad33517f194fa2cda2fdeb0cfd7d7a48bf0dd9d2bc1a60b00b6a31ac8df9036c8b0385a086e3b9
-DIST libansilove-1.3.1.tar.gz 59223 BLAKE2B e35229c601e6dfe3bc98ba9b10408a7318d8eb96a7e34e5053f4438a30a03cf31a40e6a74ea036165e90f96e3d4fca8db1f82c24ac818b699b67ae2eded57eeb SHA512 d08c240b7e5c3386a3db76ea9eca2fd80446a79c8eb0426b50b58a860996a76d9f94825ed1651b62c800afb8d0e4003e0707c7c2d285c27df63e45b4bdea0cf8
+DIST libansilove-1.4.1.tar.gz 62359 BLAKE2B dd08b0167088ed312dd1f78e7e862ff4e19961670bd5e130bc584b7a4764cd3754cf9890679b8719e1ac4128b884872776e6f8ec3534f585944e791d1b3f04a6 SHA512 2e299aa0eaf1df457d26bde1a8e0d5df1670e7a48e492cd3d2600e546d365e159da5bf6dda68d4056886d01b426747380428f3575c29b4c0ff759be3790fdf77
diff --git a/dev-libs/libansilove/libansilove-1.2.9.ebuild b/dev-libs/libansilove/libansilove-1.2.9.ebuild
deleted file mode 100644
index dd28dd03edd7..000000000000
--- a/dev-libs/libansilove/libansilove-1.2.9.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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/libansilove-1.3.0.ebuild b/dev-libs/libansilove/libansilove-1.3.0.ebuild
deleted file mode 100644
index e0470e9d552a..000000000000
--- a/dev-libs/libansilove/libansilove-1.3.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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/libansilove-1.3.1.ebuild b/dev-libs/libansilove/libansilove-1.3.1.ebuild
deleted file mode 100644
index fecc5c260cb5..000000000000
--- a/dev-libs/libansilove/libansilove-1.3.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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/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/libappindicator/libappindicator-12.10.1_p20200706.ebuild b/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild
index 94e58009eb6e..c21d074835d9 100644
--- a/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild
+++ b/dev-libs/libappindicator/libappindicator-12.10.1_p20200706.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -30,7 +30,7 @@ DEPEND="${RDEPEND}"
BDEPEND="
introspection? ( $(vala_depend) )
>=dev-util/gtk-doc-1.14
- >=dev-util/gtk-doc-am-1.14
+ >=dev-build/gtk-doc-am-1.14
virtual/pkgconfig
test? ( dev-util/dbus-test-runner )
"
diff --git a/dev-libs/libarcus/Manifest b/dev-libs/libarcus/Manifest
deleted file mode 100644
index a8698a231913..000000000000
--- a/dev-libs/libarcus/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libarcus-4.13.1.tar.gz 32077 BLAKE2B 8a75de1ccd0879db817cd67600f83e765e00eed175d73685331ea7f1cde07dabd5c49c9b0f3f039a2a0e6ad7f491fa34de62054494fd9c588e3bb530370b65b7 SHA512 ffb14595f23c47f71082b994eae01471f45e2e9e1ae9a8ad01df577b9445594c30173388beab016a92be9723638ca6e46b5cecddddc6adc97e9d212fc0fa23fa
diff --git a/dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch b/dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch
deleted file mode 100644
index 659885d406e3..000000000000
--- a/dev-libs/libarcus/files/libarcus-4.8.0-deprecated-protobuf-calls.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/src/Socket_p.h
-+++ b/src/Socket_p.h
-@@ -128,9 +128,6 @@
-
- static const int keep_alive_rate = 500; //Number of milliseconds between sending keepalive packets
-
-- // This value determines when protobuf should warn about very large messages.
-- static const int message_size_warning = 400 * 1048576;
--
- // This value determines when protobuf should error out because the message is too large.
- // Due to the way Protobuf is implemented, messages large than 512MiB will cause issues.
- static const int message_size_maximum = 500 * 1048576;
-@@ -362,7 +359,7 @@
- return;
- }
-
-- uint32_t message_size = message->ByteSize();
-+ uint32_t message_size = message->ByteSizeLong();
- if(platform_socket.writeUInt32(message_size) == -1)
- {
- error(ErrorCode::SendFailedError, "Could not send message size");
-@@ -548,7 +545,7 @@
-
- google::protobuf::io::ArrayInputStream array(wire_message->data, wire_message->size);
- google::protobuf::io::CodedInputStream stream(&array);
-- stream.SetTotalBytesLimit(message_size_maximum, message_size_warning);
-+ stream.SetTotalBytesLimit(message_size_maximum);
- if(!message->ParseFromCodedStream(&stream))
- {
- error(ErrorCode::ParseFailedError, "Failed to parse message:" + std::string(wire_message->data));
diff --git a/dev-libs/libarcus/libarcus-4.13.1.ebuild b/dev-libs/libarcus/libarcus-4.13.1.ebuild
deleted file mode 100644
index 77d40e732248..000000000000
--- a/dev-libs/libarcus/libarcus-4.13.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="libArcus"
-
-DESCRIPTION="This library facilitates communication between Cura and its backend"
-HOMEPAGE="https://github.com/Ultimaker/libArcus"
-SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/3"
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="examples +python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/protobuf:=
- $(python_gen_cond_dep '
- <dev-python/sip-5[${PYTHON_USEDEP}]
- python? ( dev-python/protobuf-python[${PYTHON_USEDEP}] )
- ')"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.8.0-deprecated-protobuf-calls.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Find SIP for current python version, not the latest installed
- sed -i "s/find_package(Python3 3.4 REQUIRED/find_package(Python3 ${EPYTHON##python} EXACT REQUIRED/g" \
- CMakeLists.txt cmake/FindSIP.cmake || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=$(usex examples ON OFF)
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/libarcus/metadata.xml b/dev-libs/libarcus/metadata.xml
deleted file mode 100644
index 777a4fbbb00a..000000000000
--- a/dev-libs/libarcus/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <longdescription>
- This library contains C++ code and Python3 bindings for creating a socket in a thread and using this socket to
- send and receive messages based on the Protocol Buffers library.
- It is designed to facilitate the communication between Cura and its backend and similar code.
- </longdescription>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/libArcus/issues</bugs-to>
- <remote-id type="github">Ultimaker/libArcus</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libassuan/Manifest b/dev-libs/libassuan/Manifest
index 6b903682dc78..368e73babfb3 100644
--- a/dev-libs/libassuan/Manifest
+++ b/dev-libs/libassuan/Manifest
@@ -1 +1,4 @@
-DIST libassuan-2.5.5.tar.bz2 572263 BLAKE2B 24952e97c757b97c387ab4c2c4bf7b040f2874e9326c129805c7f5326fa14d80e083b0842e336a635531a2c8d4a66d428c816bae6b175f1c4518add1ffa3554d SHA512 70117f77aa43bbbe0ed28da5ef23834c026780a74076a92ec775e30f851badb423e9a2cb9e8d142c94e4f6f8a794988c1b788fd4bd2271e562071adf0ab16403
+DIST libassuan-2.5.6.tar.bz2 577012 BLAKE2B 462af1eab69e157f65f8134a492cde01dd1e0ee00609f2c2585e742fb9c5532b3fd96054b4fb7449e305690f70aa7a120085db42e2de2e3b0ef8b1603e7e5846 SHA512 dcca942d222a2c226a7e34ba7988ee0c3c55bd6032166eb472caf2053db89aeeea7a40e93d8c2887c7ee73c5f838e8b0725e8cfb595accc1606646559362f7ee
+DIST libassuan-2.5.6.tar.bz2.sig 119 BLAKE2B 379c6566b2369550bfc4b4616fb71ebdbd9947c183488e2af2261db79be3fc34c5691918f3c560b46c20e02e1aa46c44ee31c1fa3727d191f5801831d34e6721 SHA512 c7765530618128a12f1118278d35d8c33d32b560073dbd691cb92c0d94b75fd5fde65cd3f5db717ddfb907b266fdddc1e7a1e2b15b1b89b7470941dbde8162e3
+DIST libassuan-2.5.7.tar.bz2 605076 BLAKE2B 67cb01b7ed9be13a52a37db439666bb8eb709cc63204fe250ff57854459aa8b36655479e887b285fe9ad799c49e66f176f971ab3a871e114cfb217a1f2968d16 SHA512 ca33bd0325bbebccb63b6a84cc0aa5c85b25c6275a68df83aeb3f3729b2cd38220198a941c3479bd461f16b7ddb6b558c0664697ca3153c7fb430544303d773f
+DIST libassuan-2.5.7.tar.bz2.sig 238 BLAKE2B c30005d67cac32857a0dd59dc8a2b9d0d166c6cd6a413742a1d3117c050e9b1b2b96cc4c470fc3e5693ce4c5a422e2cb008b40ef7883a7d039dc9a2234229265 SHA512 b7a798da0e1252acecf8b58b9cc30a5f10fa432d2581c190e4fb064fcf10e9a1b9e07e86c73ee16f0f25ad0e782fac21142875a06487f612268be7f1a09cc1a9
diff --git a/dev-libs/libassuan/libassuan-2.5.5.ebuild b/dev-libs/libassuan/libassuan-2.5.5.ebuild
deleted file mode 100644
index 4e2e9a7fa80d..000000000000
--- a/dev-libs/libassuan/libassuan-2.5.5.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool
-
-DESCRIPTION="IPC library used by GnuPG and GPGME"
-HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
-SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-3 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-# Note: On each bump, update dep bounds on each version from configure.ac!
-RDEPEND=">=dev-libs/libgpg-error-1.17"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- elibtoolize
-
- # fix standards conflict
- sed -i \
- -e '/_XOPEN_SOURCE/s/500/600/' \
- -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
- -e 's/__EXTENSIONS__/_NO&/' \
- configure || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- # ppl need to use libassuan-config for --cflags and --libs
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libassuan/libassuan-2.5.6.ebuild b/dev-libs/libassuan/libassuan-2.5.6.ebuild
new file mode 100644
index 000000000000..b6dc422ad71e
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.5.6.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit libtool verify-sig
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Note: On each bump, update dep bounds on each version from configure.ac!
+RDEPEND=">=dev-libs/libgpg-error-1.33"
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )"
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ elibtoolize
+
+ # fix standards conflict
+ sed -i \
+ -e '/_XOPEN_SOURCE/s/500/600/' \
+ -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
+ -e 's/__EXTENSIONS__/_NO&/' \
+ configure || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libassuan/libassuan-2.5.7.ebuild b/dev-libs/libassuan/libassuan-2.5.7.ebuild
new file mode 100644
index 000000000000..9ad4f60dc2ee
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-2.5.7.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit libtool verify-sig
+
+DESCRIPTION="IPC library used by GnuPG and GPGME"
+HOMEPAGE="https://www.gnupg.org/related_software/libassuan/index.en.html"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-3 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Note: On each bump, update dep bounds on each version from configure.ac!
+RDEPEND=">=dev-libs/libgpg-error-1.33"
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )"
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ elibtoolize
+
+ # fix standards conflict
+ sed -i \
+ -e '/_XOPEN_SOURCE/s/500/600/' \
+ -e 's/_XOPEN_SOURCE_EXTENDED/_NO&/' \
+ -e 's/__EXTENSIONS__/_NO&/' \
+ configure || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ # ppl need to use libassuan-config for --cflags and --libs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libatomic_ops/Manifest b/dev-libs/libatomic_ops/Manifest
index 2eba9ff7117d..4de74f9694cb 100644
--- a/dev-libs/libatomic_ops/Manifest
+++ b/dev-libs/libatomic_ops/Manifest
@@ -1 +1 @@
-DIST libatomic_ops-7.6.14.tar.gz 500006 BLAKE2B 02bf8448eb61119d5eea81d6a861238f5aae4c7740536f9c17c614d199db81eb7cb6e07d6edef1a76cae88bdd2b021fa0692f2b42842692ec853b2879c559d81 SHA512 da83886b4d766da64b27672eede40bd5787523a4c308ac7bd3f03ac831ae1a141ba21e5f5ada27bfcf811b9fb04d8a519331ea2573af036f8791958668dad851
+DIST libatomic_ops-7.8.2.tar.gz 524637 BLAKE2B 1faaedc52106b9d240085beb364a257de28ba5dba4141d2b6a7660a93c59ed7b4e1371ea4a8212b32a11805a15992c7b5ba4e748b2d194e8cc06fe20d91d5e14 SHA512 0559087c99b941990f189ea4ed5b3b371faf086bc1d517da6b878ba609c200eef24358768fd4361900101cdb474e28cea8408eb0b0222d23ef3154ce77f6acc0
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.6.14.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.6.14.ebuild
deleted file mode 100644
index 80d8ee29b5c0..000000000000
--- a/dev-libs/libatomic_ops/libatomic_ops-7.6.14.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-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/libatomic_ops-7.8.2.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild
new file mode 100644
index 000000000000..594b3890a0dd
--- /dev/null
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal
+
+DESCRIPTION="Implementation for atomic memory update operations"
+HOMEPAGE="https://github.com/ivmai/libatomic_ops"
+SRC_URI="https://github.com/ivmai/libatomic_ops/releases/download/v${PV}/${P}.tar.gz"
+
+# See doc/LICENSING.txt
+LICENSE="MIT boehm-gc GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+src_prepare() {
+ default
+ # ensure LTO patches are applied
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf --enable-shared
+}
+
+multilib_src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch b/dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch
new file mode 100644
index 000000000000..2507d25ea83b
--- /dev/null
+++ b/dev-libs/libax25/files/libax25-0.0.12_rc5-musl.patch
@@ -0,0 +1,23 @@
+As MUSL libc does not provide netax25/ax25.h, netrom/netrom.h and
+netrose/rose.h instatll substitute files uncondiditionally. See bug #907465
+
+diff --git a/Makefile.am b/Makefile.am
+index 0ff5f37..517e084 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -7,15 +7,9 @@ libax25ioincludedir = $(includedir)
+ AM_CPPFLAGS = -DAX25_SYSCONFDIR=\""$(sysconfdir)/ax25/"\" \
+ -DAX25_LOCALSTATEDIR=\""$(localstatedir)/ax25/"\"
+
+-if !AX25_H
+ USE_LIBAX25_AX25_H = netax25/ax25.h
+-endif
+-if !NETROM_H
+ USE_LIBAX25_NETROM_H = netrom/netrom.h
+-endif
+-if !ROSE_H
+ USE_LIBAX25_ROSE_H = netrose/rose.h
+-endif
+
+ nobase_libax25include_HEADERS = \
+ netax25/axlib.h \
diff --git a/dev-libs/libax25/libax25-0.0.12_rc5.ebuild b/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
index 7b1d1c34fbd9..3eea73794bff 100644
--- a/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
+++ b/dev-libs/libax25/libax25-0.0.12_rc5.ebuild
@@ -1,10 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_P=${PN}-$(ver_rs 3 '-')
+inherit autotools
+
DESCRIPTION="AX.25 library for hamradio applications"
HOMEPAGE="http://www.linux-ax25.org/"
SRC_URI="http://www.linux-ax25.org/pub/${PN}/${MY_P}.tar.xz"
@@ -16,6 +18,12 @@ IUSE="static-libs"
S=${WORKDIR}/${MY_P}
+src_prepare() {
+ use elibc_musl && eapply "${FILESDIR}/${P}-musl.patch"
+ eapply_user
+ eautoreconf
+}
+
src_configure() {
econf $(use_enable static-libs static)
}
diff --git a/dev-libs/libayatana-appindicator/Manifest b/dev-libs/libayatana-appindicator/Manifest
index c08d80757239..79449f152a58 100644
--- a/dev-libs/libayatana-appindicator/Manifest
+++ b/dev-libs/libayatana-appindicator/Manifest
@@ -1 +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.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-indicator/libayatana-indicator-0.9.3.ebuild b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild
index 7acb92415ab8..1780035a631f 100644
--- a/dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild
+++ b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.3.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}
LICENSE="GPL-3"
SLOT="3"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest
index 52c1f7444cac..2cbf2e2cd5bc 100644
--- a/dev-libs/libbpf/Manifest
+++ b/dev-libs/libbpf/Manifest
@@ -1,4 +1,4 @@
DIST libbpf-0.8.1.tar.gz 942702 BLAKE2B 084be7d4258500fa894560ed2e52821addcc5d150dcd77fd646271b614d788b7931271be9c3e46fdbc4ed93d053ea3e09023158a8e4a31f9452d10dcb0677b58 SHA512 e3bb602f55215a4f030e564af7321ba6338937c426fcaee478b607f88b0c773c40a0c3f59a2b345bda951a19e79061733f8a3fdc10a6292e92782e65754b584a
-DIST libbpf-1.0.0.tar.gz 917108 BLAKE2B 5bde5a9147330f11dcf1e37aace971624293aae3914459a6b8be327530fa2c2774edaf1b798225ade2771edd88bddc2a74d7f523791f83558417b759eb417f7a SHA512 e99aea1ff477114549b41c272a975169a79ffc1daf4bcaba586cd13d0fc0b23c336cb406fd8e64b73350fe16e2d423fa68a29601d15e2477955c7a92358fb7f8
-DIST libbpf-1.0.1.tar.gz 917269 BLAKE2B 24e43f9a2b20e6f708b74ff50c8ce243546681201b1d72d6b35a95dd85b59032069814792739d3b2a6adaa007958a142a687e901e36a193fd02cdca69926d08f SHA512 2ee6d85c0a33f723e5b93ddddf97118e67754c9e44ca0449ceb49126820f89fea9ddc282a5add764dc4da090af6164cc6641b497489253d192ed01bc397df9be
-DIST libbpf-1.1.0.tar.gz 2337951 BLAKE2B 70bee4e94c3b372501e1697cec6573fb3292e61236ed210bde4c3a838494cc951571d7c47720c28a47b8e038331775d66d3f4ad24423f5102e1ee708d1981f88 SHA512 751126893883c68e5472724988327e03f7f52becd472f7d6239fa838762f857e54a0347f8f824b8c32ca93b8f419310a86e1d75e3646dae72c2d2992d093b828
+DIST libbpf-1.2.2.tar.gz 1000104 BLAKE2B 45a2ceabd38b3ea55f466de68d0806df6ae802b509063ca12d670ba972bac3dc5c7e518e8c9904915dbc9877c27ea892a7b857aa03d4e86016969b2d278b0b4a SHA512 bc7620207e6f521b9b5baab00bd81346084b8eabf81bff3ec24e5367d389f2a331a0b082798f8bb5d4fea836c3c0cc961fc881abc3a4e05d91152150bdfe47be
+DIST libbpf-1.3.0.tar.gz 999282 BLAKE2B 5ee0a45cd06be482c9523ec2a9bb26cf12b89df23f515b037badda868770069d5ffb751c011222b86b1d43034a1cdd537cb263883ed0645641548adc9c9896eb SHA512 59990189538e47765542e9ed6e88bc78c9d29bc077b5666bb1303cf15579c90b3d35a0d631b9bbd4bff2708243dc91d901bd68c119fb74dfd10a3e1066aa9acc
+DIST libbpf-1.4.0.tar.gz 1015490 BLAKE2B 46932f972201581f9f5be98063888216fd522ac549561efdec09603dfcbf0132418f50c2aed80d656fd25b235a9dc3b4ffe459cab9445a8508a7af620989072f SHA512 400c91a4870be8bb115f7abcc12c460700980fb6a3afdf43c885b1cdbe28fed1d37142d3987a85e12b4c565787a48f5cd0b07cafff067d91902d70713528929f
diff --git a/dev-libs/libbpf/libbpf-1.0.0-r1.ebuild b/dev-libs/libbpf/libbpf-1.0.0-r1.ebuild
deleted file mode 100644
index a3309d26fe8d..000000000000
--- a/dev-libs/libbpf/libbpf-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} =~ [9]{4,} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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}"
-
-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.0.1.ebuild b/dev-libs/libbpf/libbpf-1.0.1.ebuild
deleted file mode 100644
index 4bc4f9eafffd..000000000000
--- a/dev-libs/libbpf/libbpf-1.0.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} =~ [9]{4,} ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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.1.0.ebuild b/dev-libs/libbpf/libbpf-1.1.0.ebuild
deleted file mode 100644
index c444170afb0c..000000000000
--- a/dev-libs/libbpf/libbpf-1.1.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# 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.2.2.ebuild b/dev-libs/libbpf/libbpf-1.2.2.ebuild
new file mode 100644
index 000000000000..a82b4169cdc1
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-1.2.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR PKG_CONFIG
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-1.3.0.ebuild b/dev-libs/libbpf/libbpf-1.3.0.ebuild
new file mode 100644
index 000000000000..bc00c0ee5ab7
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-1.3.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR PKG_CONFIG
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ dodoc "${DOCS[@]}"
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-1.4.0.ebuild b/dev-libs/libbpf/libbpf-1.4.0.ebuild
new file mode 100644
index 000000000000..6cd9245fc9a6
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-1.4.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2 ${PV})"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR PKG_CONFIG
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ dodoc "${DOCS[@]}"
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-9999.ebuild b/dev-libs/libbpf/libbpf-9999.ebuild
index 4bc4f9eafffd..a666bd28bfd5 100644
--- a/dev-libs/libbpf/libbpf-9999.ebuild
+++ b/dev-libs/libbpf/libbpf-9999.ebuild
@@ -1,10 +1,13 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
@@ -14,18 +17,24 @@ else
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"
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
PATCHES=(
"${FILESDIR}"/libbpf-9999-paths.patch
@@ -49,6 +58,8 @@ src_install() {
find "${ED}" -name '*.a' -delete || die
fi
+ dodoc "${DOCS[@]}"
+
insinto /usr/$(get_libdir)/pkgconfig
doins ${PN}.pc
}
diff --git a/dev-libs/libbsd/Manifest b/dev-libs/libbsd/Manifest
index 82a7043fed9a..5feead1ee32f 100644
--- a/dev-libs/libbsd/Manifest
+++ b/dev-libs/libbsd/Manifest
@@ -1,2 +1,4 @@
-DIST libbsd-0.11.7.tar.xz 418508 BLAKE2B 2ff0aa951c5b37a58ab101aade52d077d52f3695bb8535c99dec89659775501d93af16f164fef946776f445ee88a276d00870f64cb3fef58942ce26af6d2eaa9 SHA512 51fda4724f41dd8a4628afd58c21236a7588d9045e337e06eeabf83805a9aaaa53705441ca901ad11f1c65f18e881523bdc97721a7d3d6a5cced27f2450d09a2
-DIST libbsd-0.11.7.tar.xz.asc 833 BLAKE2B 925cd4f5b68c0dccceb476cb188bb5a8185ad77895b9b458ff6819ae241dbd8cbf1c18dd12d10b90b3a9ea3f9e065b44566d1a908d0c111ecbd435434b922a66 SHA512 bdcce69ee261039900896c5be48659f1b6b809f3a6e8a5220aac30a6687926ac29e478a3ea737727d077d6575ee11b86eed896932568fdd261a9aaeb46d695b6
+DIST libbsd-0.11.8.tar.xz 432376 BLAKE2B b2b9496423f177af7cba3c55c071b58a314ad987bd04fee5c93dc1885a501a923048f676d00dcb70c8cfa37de775c6ec64224dfecce1d0eaed50b8c27ec0c001 SHA512 0173fc20e2471f96bc6677500a02fbccef7463e023445f47681843c9a94b1fa9970c5af7d2f87f1a1e7f8a7bb60112988defc073828fd2a0dcd0e66e44e67295
+DIST libbsd-0.11.8.tar.xz.asc 931 BLAKE2B 3841b81fa8bcdf0e27a41c769691dbefbb82073a18e3a30580794e0242c903bd0b512d31d6e897f8fa98ef3a3cf0dc08a413040ead00caa63f0b993396e1f2fe SHA512 a24355f9151f1da62e1f4f37280eec57ee7a32205b493d973d59231382c878e4373d4cf83ec41612536ef9361fe43e68331217c96c59b6741e7827272369ff2c
+DIST libbsd-0.12.1.tar.xz 444048 BLAKE2B 74af2c1f3254fe1e1527c31c5518a8097e9f3a377c497bdb40df262ae00e2244ae460c8f5df6c6533f83c02eaa08621ef1cfbc2a83b9bb28bd77433ff7c088bd SHA512 c45c7861b63295c118f53ce868437ad73887b6764708d0a348b796f5abe2cefc9adbb0dd3be23f6348d6bf63a9920a13b7f90d065299cac5a05ce0376211073a
+DIST libbsd-0.12.1.tar.xz.asc 833 BLAKE2B 962f17396b7c74d8ce30925ed65e9b127b576730f580d9411af258c677f6b723e38060ec0af9a8defa54166385502654b721ae48c69ef1465ecadbfbe8c54f07 SHA512 f6c545317b9fe06ce6cfd34e579a5959524ad40f2b25d13617888dd9b79cd5b483e7d24aead540a0bf30a71cd11cc7ca932f41ae60a797b0e881474de9f30543
diff --git a/dev-libs/libbsd/libbsd-0.11.7-r2.ebuild b/dev-libs/libbsd/libbsd-0.11.7-r2.ebuild
deleted file mode 100644
index 0fcfb6bd563b..000000000000
--- a/dev-libs/libbsd/libbsd-0.11.7-r2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/guillemjover.asc
-inherit 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="BSD BSD-2 BSD-4 ISC"
-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() {
- # 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.11.7.ebuild b/dev-libs/libbsd/libbsd-0.11.7.ebuild
deleted file mode 100644
index f01b8521ce0d..000000000000
--- a/dev-libs/libbsd/libbsd-0.11.7.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/guillemjover.asc
-inherit 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="BSD BSD-2 BSD-4 ISC"
-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() {
- # 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
-}
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/libbson/Manifest b/dev-libs/libbson/Manifest
index 14ac1b166010..761865c04ae0 100644
--- a/dev-libs/libbson/Manifest
+++ b/dev-libs/libbson/Manifest
@@ -1 +1,2 @@
DIST libbson-1.18.0.tar.gz 7246954 BLAKE2B 9418ab2e132f8a8c582bcbea8c7b090e9e45e34219845d8f6b7a99d4ebfb17ef2eec2223504e9a4ab7f51ca01e904a7f3bb04bf9f8bf20c010ab9f82894a728e SHA512 c970f347689916172a957fc431b307bab3cb63367d4b39c49745c75b9fa84f0035db934c551570a4141733fc1bc6b33b118911c3b69ecdea797f19312b213606
+DIST libbson-1.24.4.tar.gz 7916661 BLAKE2B e361b52bf16eed7437428b0481d792ecf2f9cc283fdd6f23916d4a3ffb1b7d7c9ea7a7c4cf5f369e21fb6d4f564b91e07ac2ee44656855993218593dc4f1c166 SHA512 3563c061565d17a76581e188f6e184d7e41f2729812c8815afd34e03ebe6c1d25d7498a2cb1b599a09d24f6268c36473ef5113a14c7585a1532c9abf2e56e936
diff --git a/dev-libs/libbson/libbson-1.24.4.ebuild b/dev-libs/libbson/libbson-1.24.4.ebuild
new file mode 100644
index 000000000000..b21689d766dc
--- /dev/null
+++ b/dev-libs/libbson/libbson-1.24.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Library routines related to building,parsing and iterating BSON documents"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson"
+SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/mongo-c-driver-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~loong ~ppc ~riscv ~sparc ~x86"
+IUSE="examples static-libs"
+
+BDEPEND="dev-python/sphinx"
+
+S="${WORKDIR}/mongo-c-driver-${PV}"
+
+src_prepare() {
+ cmake_src_prepare
+
+ # remove doc files
+ sed -i '/^\s*install\s*(FILES COPYING NEWS/,/^\s*)/ {d}' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_BSON=ON
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_MONGOC=OFF
+ -DENABLE_TESTS=OFF
+ -DENABLE_STATIC="$(usex static-libs ON OFF)"
+ -DENABLE_UNINSTALL=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc src/libbson/examples/*.c
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/libbson/metadata.xml b/dev-libs/libbson/metadata.xml
index 4969d78d9fe6..c01295da36f6 100644
--- a/dev-libs/libbson/metadata.xml
+++ b/dev-libs/libbson/metadata.xml
@@ -6,6 +6,6 @@
<name>Ultrabug</name>
</maintainer>
<upstream>
- <remote-id type="github">mongodb/libbson</remote-id>
+ <remote-id type="github">mongodb/mongo-c-driver</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libburn/Manifest b/dev-libs/libburn/Manifest
index 41ad895201dc..6694916106ef 100644
--- a/dev-libs/libburn/Manifest
+++ b/dev-libs/libburn/Manifest
@@ -1 +1 @@
-DIST libburn-1.5.4.tar.gz 991212 BLAKE2B 3fd4aa70eed2c9d0d33ef8bb967cd6208f1561aeebe8bc2b222fa4639fa3c215d49ee5ed3efc32813221fc4a9016ec9a3cabdcd8ae052d161794c0af11c7e6ee SHA512 dd7b14093e62e2c02011955c24e01d70ed78969b14faf7e5a63c0da97a80c438b628922532eb135af7dea8ee7c7b83554b3354160306dad852ce5bf6eb1d5ac9
+DIST libburn-1.5.6.tar.gz 995353 BLAKE2B 2c4b2e0a191c2a02327177bc5acd418d14a0c6eb9de065de171b0c4240a8bd7746ab2fd775fa1f0433bc1fe98dd47620524ec2954f4aa0f2015557cf881a5d3f SHA512 549cb25310aac5ce445639374d84f0c09fb1fdd70be97479588775e5afcc12dd0655c5bf51bd3f1bf8c06a66b318fd1e709dcfd72845e795ffaf353ea621accd
diff --git a/dev-libs/libburn/libburn-1.5.4.ebuild b/dev-libs/libburn/libburn-1.5.4.ebuild
deleted file mode 100644
index 747cd4625e79..000000000000
--- a/dev-libs/libburn/libburn-1.5.4.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libburn"
-SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="debug static-libs"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND=""
-DEPEND="
- ${RDEPEND}
-"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --disable-ldconfig-at-install \
- $(use_enable debug)
-}
-
-src_install() {
- default
-
- dodoc CONTRIBUTORS doc/{comments,*.txt}
-
- docinto cdrskin
- dodoc cdrskin/{*.txt,README}
- docinto cdrskin/html
- dodoc cdrskin/cdrskin_eng.html
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libburn/libburn-1.5.6-r1.ebuild b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
new file mode 100644
index 000000000000..d669c0ff6bfd
--- /dev/null
+++ b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="debug static-libs"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ default
+
+ # Ancient libtool version in 1.5.6 at least (debian's 2.4.2-1.11)
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --disable-ldconfig-at-install \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.txt}
+
+ docinto cdrskin
+ dodoc cdrskin/{*.txt,README}
+ docinto cdrskin/html
+ dodoc cdrskin/cdrskin_eng.html
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libburn/libburn-1.5.6.ebuild b/dev-libs/libburn/libburn-1.5.6.ebuild
new file mode 100644
index 000000000000..3af82ed1e139
--- /dev/null
+++ b/dev-libs/libburn/libburn-1.5.6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="debug static-libs"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ --disable-ldconfig-at-install \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.txt}
+
+ docinto cdrskin
+ dodoc cdrskin/{*.txt,README}
+ docinto cdrskin/html
+ dodoc cdrskin/cdrskin_eng.html
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libbytesize/Manifest b/dev-libs/libbytesize/Manifest
index 44b25f50477b..3458e34920ce 100644
--- a/dev-libs/libbytesize/Manifest
+++ b/dev-libs/libbytesize/Manifest
@@ -1,2 +1,2 @@
-DIST libbytesize-2.6.tar.gz 444795 BLAKE2B 5f89b2c614ebdd8efd3ac0841ad99c32309bdb33236373a0c9b007415a2f40ff30a0edcecb56947f2f41403cabb6a6bff68c2e4ce52e322df15d6daa3e10d2af SHA512 f6e72b763216c54c08318d090d604791c61cd5a3e683ffbe6e9d01de850661bd4e8a3adeb85c6fd0fb60244e2e128292cbae06c0aa2d1fe9f34104e64af8210e
-DIST libbytesize-2.7.tar.gz 445367 BLAKE2B de5e48b4e17364308c19bbf8e8d68f88ee9e79c9b99d77a81f9f7a1b65e09c2af0ca1ae28ac30ad1b1820335afc1aa4a2596cff487cfd770f04fda0fb38258cd SHA512 3f2bdebad1e145227d7c81b25b8832ab9f984513c35d81254f68c0cb50b1883f3b96fbb258d7c8223fb284d79dc4ec8b01beae3f7687cded629b269ef5b7210e
+DIST libbytesize-2.10.tar.gz 458804 BLAKE2B 413a45bebf8394e0557c2e1ef7e1f4348fa6dfa52c697599886d70292ea8b2e1b17402e787afaeb8fecd84e3a37a6c0c39440fa22a556dcaba3f419ee17e1b0e SHA512 9e52b9a756a5b4ee6e23a7a20fd0c6ca2a65ff31f38ddc7545d6838fe9a3da0ee0bd7491cb268f071c950fbeb8d65c707423d285cc3548038b3a2d3aa7f0de48
+DIST libbytesize-2.9.tar.gz 458737 BLAKE2B d2e47b520cf2669131816f069d8ebeb946be02bc04acc676579f12e798fcb2aa176fd25e6bb77dd1e6b274ec0762498df5df18d88c627653accc426a7e268f36 SHA512 6def6bebe33344e6d6ce1a636bcd200a9d28ed5c4e5ce5dfbfd94c4d92ba37512ef1ee4f12716af0d6a402d5285e60df1ee629ecf31cf7d0b59990c524384fd1
diff --git a/dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch b/dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch
deleted file mode 100644
index 5fe0f095eaca..000000000000
--- a/dev-libs/libbytesize/files/libbytesize-2.6-configure-bashism.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://github.com/storaged-project/libbytesize/pull/102
-
-From: Sam James <sam@gentoo.org>
-Date: Fri, 24 Dec 2021 07:58:47 +0000
-Subject: [PATCH] build: avoid bashisms in configure
-
-configure needs to be executable by a POSIX-compliant shell (/bin/sh)
-and while this is often Bash, which tolerates non-POSIX statements, it
-might sometimes be e.g. dash which doesn't.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -59,7 +59,7 @@ AC_ARG_WITH([python3],
- AC_SUBST(WITH_PYTHON3, 0)
- if test "x$with_python3" != "xno"; then
- AC_PATH_PROG([python3], [python3], [no])
-- AS_IF([test "x$python3" == "xno"],
-+ AS_IF([test "x$python3" = "xno"],
- [if test "x$with_python3" = "xyes"; then
- LIBBYTESIZE_SOFT_FAILURE([Python3 support requested, but python3 is not available])
- fi],
-@@ -77,7 +77,7 @@ AC_ARG_WITH([gtk-doc],
- AC_SUBST(WITH_GTK_DOC, 0)
- if test "x$with_gtk_doc" != "xno"; then
- AC_PATH_PROG([gtkdoc_scan], [gtkdoc-scan], [no])
-- AS_IF([test "x$gtkdoc_scan" == "xno"],
-+ AS_IF([test "x$gtkdoc_scan" = "xno"],
- [if test "x$with_gtk_doc" = "xyes"; then
- LIBBYTESIZE_SOFT_FAILURE([Building documentation with gtk-doc requested, but not available])
- fi],
diff --git a/dev-libs/libbytesize/libbytesize-2.10.ebuild b/dev-libs/libbytesize/libbytesize-2.10.ebuild
new file mode 100644
index 000000000000..e0ffbc9de484
--- /dev/null
+++ b/dev-libs/libbytesize/libbytesize-2.10.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools python-r1
+
+DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big byte sizes"
+HOMEPAGE="https://github.com/storaged-project/libbytesize"
+SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc python test tools"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ tools? ( python )
+"
+
+RDEPEND="
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ dev-libs/libpcre2:=
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ doc? (
+ dev-util/gtk-doc
+ virtual/pkgconfig
+ )
+ test? (
+ dev-python/pocketlint[${PYTHON_USEDEP}]
+ dev-python/polib[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4-no_Werror.patch"
+)
+
+python_do() {
+ if use python ; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc gtk-doc)
+ $(use_with python python3)
+ $(use_with tools)
+ )
+ local ECONF_SOURCE="${S}"
+ python_do econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ python_do emake
+}
+
+src_test() {
+ python_do emake check
+}
+
+install_helper() {
+ emake DESTDIR="${D}" install
+ use python && python_optimize
+}
+
+src_install() {
+ python_do install_helper
+ einstalldocs
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/libbytesize/libbytesize-2.6.ebuild b/dev-libs/libbytesize/libbytesize-2.6.ebuild
deleted file mode 100644
index d39a28991e97..000000000000
--- a/dev-libs/libbytesize/libbytesize-2.6.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit autotools python-r1
-
-DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big sizes in bytes"
-HOMEPAGE="https://github.com/storaged-project/libbytesize"
-SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}/${P}.tar.gz"
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="doc python test tools"
-
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- tools? ( python )
-"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/mpfr:=
- dev-libs/libpcre2
- python? ( ${PYTHON_DEPS} )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( dev-util/gtk-doc )
- test? (
- dev-python/pocketlint[${PYTHON_USEDEP}]
- dev-python/polib[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md )
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.4-no_Werror.patch"
- "${FILESDIR}/${PN}-2.6-configure-bashism.patch"
-)
-
-python_do() {
- if use python; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with doc gtk-doc)
- $(use_with python python3)
- $(use_with tools)
- )
- local ECONF_SOURCE="${S}"
- python_do econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- python_do emake
-}
-
-src_test() {
- python_do emake check
-}
-
-install_helper() {
- emake DESTDIR="${D}" install
- use python && python_optimize
-}
-
-src_install() {
- python_do install_helper
- einstalldocs
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/libbytesize/libbytesize-2.7.ebuild b/dev-libs/libbytesize/libbytesize-2.7.ebuild
deleted file mode 100644
index b3ee62f2f404..000000000000
--- a/dev-libs/libbytesize/libbytesize-2.7.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit autotools python-r1
-
-DESCRIPTION="Tiny library providing a C \"class\" for working with arbitrary big sizes in bytes"
-HOMEPAGE="https://github.com/storaged-project/libbytesize"
-SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}/${P}.tar.gz"
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="doc python test tools"
-
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
- tools? ( python )
-"
-
-RDEPEND="
- dev-libs/gmp:0=
- dev-libs/mpfr:=
- dev-libs/libpcre2
- python? ( ${PYTHON_DEPS} )
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
- sys-devel/gettext
- doc? ( dev-util/gtk-doc )
- test? (
- dev-python/pocketlint[${PYTHON_USEDEP}]
- dev-python/polib[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md )
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.4-no_Werror.patch"
-)
-
-python_do() {
- if use python ; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with doc gtk-doc)
- $(use_with python python3)
- $(use_with tools)
- )
- local ECONF_SOURCE="${S}"
- 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/libcbor/Manifest b/dev-libs/libcbor/Manifest
index 20b568f676d6..2e079000a927 100644
--- a/dev-libs/libcbor/Manifest
+++ b/dev-libs/libcbor/Manifest
@@ -1,3 +1,2 @@
-DIST libcbor-0.10.1.tar.gz 284393 BLAKE2B 49b224493b4743fab0352e139ed9e85873238beb25e23555cd31f2ef720f6eb9ac136f26a92be56778f703f240dab2b6e0beddbb88c5cbf7edf084db7e96df76 SHA512 fd662d59127cd86a7e13eeb87ba0b4a9280f367b77fe85f579e5c230503ad39a323a8b9dfb8c6a49f8a05d5b81460ca4526dc130c7e1d403fd0839c0f37f5548
DIST libcbor-0.10.2.tar.gz 289450 BLAKE2B 3ef2d7fd7942ff32acbe59db6a4b68ad72dde3af4675ef2ee3c93666360554d6e9a29392dbc4fb3029f9ff821f536b90bfd1c522c9c9c2298ab511322fb53d37 SHA512 23c6177443778d4b4833ec7ed0d0e639a0d4863372e3a38d772fdce2673eae6d5cb2a31a2a021d1a699082ea53494977c907fd0e94149b97cb23a4b6d039228a
-DIST libcbor-0.9.0.tar.gz 275405 BLAKE2B 7e78722650c702552dda4844615c454989281abe8c45ba3c9168af16e9d440a1b7e4e0c9afd89faa48e74ba85dcbe0c7733eec3e44fdafc0ca340e97574fe274 SHA512 710239f69d770212a82e933e59df1aba0fb3ec516ef6666a366f30a950565a52981b0d46ca7e0eea739f5785d79cc21fc19acd857a4a0b135f4f6aa3ef5fd3b0
+DIST libcbor-0.11.0.tar.gz 293563 BLAKE2B 6ac400ee9cabb0ec68355c35f762ea61222152059e70bcf9dc3cf4e06a6599bb6a392197ee979821a0e50c22a5c9e94e5d11458178ed7e26b049c410fddfa24f SHA512 c14aaa55c0c82e09b9eb2cc6847951d1bac8a081a247776c507d5450367da5717b1056bad09fb0f0178311de8754e8f89c060e0fc0f400fafdc42de441421e66
diff --git a/dev-libs/libcbor/libcbor-0.10.1.ebuild b/dev-libs/libcbor/libcbor-0.10.1.ebuild
deleted file mode 100644
index 6b319b41f650..000000000000
--- a/dev-libs/libcbor/libcbor-0.10.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# 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="+custom-alloc doc test"
-
-BDEPEND="
- doc? (
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
- dev-python/breathe[${PYTHON_USEDEP}]
- ')
- )
- test? ( dev-util/cmocka )
-"
-
-RESTRICT="!test? ( test )"
-
-python_check_deps() {
- 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
- -DCBOR_CUSTOM_ALLOC=$(usex custom-alloc 'ON' 'OFF')
- -DWITH_TESTS=$(usex test 'ON' 'OFF')
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- pushd doc >/dev/null || die
- emake html man
- popd >/dev/null || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- if use doc; then
- dodoc -r doc/build/html
- doman doc/build/man/*
- fi
-}
diff --git a/dev-libs/libcbor/libcbor-0.10.2.ebuild b/dev-libs/libcbor/libcbor-0.10.2.ebuild
index db0bd0476f03..83c83a5ed6ba 100644
--- a/dev-libs/libcbor/libcbor-0.10.2.ebuild
+++ b/dev-libs/libcbor/libcbor-0.10.2.ebuild
@@ -12,14 +12,14 @@ 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="+custom-alloc doc test"
+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/sphinx-rtd-theme[${PYTHON_USEDEP}]
dev-python/breathe[${PYTHON_USEDEP}]
')
)
@@ -31,7 +31,7 @@ RESTRICT="!test? ( test )"
python_check_deps() {
python_has_version \
"dev-python/sphinx[${PYTHON_USEDEP}]" \
- "dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
"dev-python/breathe[${PYTHON_USEDEP}]"
}
@@ -42,7 +42,6 @@ pkg_setup() {
src_configure() {
local mycmakeargs=(
-DCMAKE_BUILD_TYPE=Release
- -DCBOR_CUSTOM_ALLOC=$(usex custom-alloc 'ON' 'OFF')
-DWITH_TESTS=$(usex test 'ON' 'OFF')
)
@@ -55,7 +54,7 @@ src_compile() {
if use doc; then
mkdir -p doc/build || die
pushd doc >/dev/null || die
- emake html man
+ emake -j1 html man
popd >/dev/null || die
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/libcbor-0.9.0.ebuild b/dev-libs/libcbor/libcbor-0.9.0.ebuild
deleted file mode 100644
index d6097a3597d7..000000000000
--- a/dev-libs/libcbor/libcbor-0.9.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_MAKEFILE_GENERATOR="emake"
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-any-r1 cmake
-
-DESCRIPTION="CBOR protocol implementation for C and others"
-HOMEPAGE="https://github.com/pjk/libcbor"
-SRC_URI="https://github.com/PJK/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+custom-alloc doc test"
-
-BDEPEND="
- doc? (
- $(python_gen_any_dep '
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
- dev-python/breathe[${PYTHON_USEDEP}]
- ')
- )
- test? ( dev-util/cmocka )
-"
-
-RESTRICT="!test? ( test )"
-
-python_check_deps() {
- 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
- -DCBOR_CUSTOM_ALLOC=$(usex custom-alloc 'ON' 'OFF')
- -DWITH_TESTS=$(usex test 'ON' 'OFF')
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use doc; then
- pushd doc >/dev/null || die
- emake html man
- popd >/dev/null || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- if use doc; then
- dodoc -r doc/build/html
- doman doc/build/man/*
- fi
-}
diff --git a/dev-libs/libcbor/metadata.xml b/dev-libs/libcbor/metadata.xml
index 0b931e44104b..8ce035a8ef63 100644
--- a/dev-libs/libcbor/metadata.xml
+++ b/dev-libs/libcbor/metadata.xml
@@ -5,9 +5,6 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
- <use>
- <flag name="custom-alloc">Custom, dynamically defined allocator support</flag>
- </use>
<upstream>
<remote-id type="github">pjk/libcbor</remote-id>
</upstream>
diff --git a/dev-libs/libcdada/Manifest b/dev-libs/libcdada/Manifest
index bc4241a438c1..14182df179d9 100644
--- a/dev-libs/libcdada/Manifest
+++ b/dev-libs/libcdada/Manifest
@@ -1,3 +1 @@
-DIST libcdada-0.3.4.tar.gz 1772957 BLAKE2B 5a7b24e7e033807586a30beb35a304b37262e8e673a02f307af63606b2119e3c76b2ed90cec6f494cac26f77aaafd1756d69c5043cf9adfd6a42cd0db76b4298 SHA512 363f2ebe9a054a6356040bb68460321ffb6dc0f66dfd2f95d275864135bed715e12bb6bbbffe11d665020a119033cd80d6bf323020760339664f1b7a4f1ae9ca
-DIST libcdada-0.3.5.tar.gz 1776937 BLAKE2B 55280e28d2fa6235ac95020b07853748a4551f1c1c2e65b12585064c4fa952dd310b54d5f95f986cea12018d452e1fb086d8bc3c944b169d5aeb280b78f25007 SHA512 4f3d022e54573c4dd0a39d8ef7d097bb209834ba56ec30003ef257e0496c7a08e50a432d0a4a40f019f06feab806cab81ee5ace9c92193266d5ec82cddad3269
DIST libcdada-0.4.0.tar.gz 1777257 BLAKE2B 26e24fa513ab4a290a7632b4f56c102dc45cd9d34d4a7b7464f58aaee596b5ac3c8172080144d3f3c5cbcf5790f29e74b020f11cea943223e5933c2a7db66f8b SHA512 370a40a070df6783b5f44373bd09751660d51698095fa0ace38943a0331f90a55d131de50180b9ca9597361b7712dbcb350fde77a0e0489c47e4358fec61458b
diff --git a/dev-libs/libcdada/libcdada-0.3.4-r2.ebuild b/dev-libs/libcdada/libcdada-0.3.4-r2.ebuild
deleted file mode 100644
index 1befa5a821b5..000000000000
--- a/dev-libs/libcdada/libcdada-0.3.4-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_9 )
-inherit autotools python-any-r1
-
-DESCRIPTION="Basic data structures in C"
-HOMEPAGE="https://github.com/msune/libcdada"
-SRC_URI="https://github.com/msune/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( ${PYTHON_DEPS} )"
-
-PATCHES=( "${FILESDIR}/${PN}-${PV}-Werror.patch" )
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if ! use test; then
- sed -ie "/SUBDIRS/s/test //" Makefile.am || die
- fi
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-valgrind
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
diff --git a/dev-libs/libcdada/libcdada-0.3.5.ebuild b/dev-libs/libcdada/libcdada-0.3.5.ebuild
deleted file mode 100644
index 7a83586f9acb..000000000000
--- a/dev-libs/libcdada/libcdada-0.3.5.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit autotools python-any-r1
-
-DESCRIPTION="Basic data structures in C"
-HOMEPAGE="https://github.com/msune/libcdada"
-SRC_URI="https://github.com/msune/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( ${PYTHON_DEPS} )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.4-Werror.patch
- "${FILESDIR}"/${PN}-0.3.5-respect-CFLAGS.patch
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with test tests)
-
- # Needed for tests. We throw them away in src_install anyway.
- --enable-static
-
- --disable-valgrind
- --without-examples
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
-}
diff --git a/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild b/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild
index 2492b4825207..53d9dcb9f3d6 100644
--- a/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild
+++ b/dev-libs/libcdio-paranoia/libcdio-paranoia-2.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ SRC_URI="mirror://gnu/${PN%-*}/${MY_P}.tar.bz2"
# clause "or later" so we use LGPL-2.1 without +
LICENSE="GPL-3+ GPL-2+ LGPL-2.1"
SLOT="0/2" # soname version
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="+cxx static-libs test"
RDEPEND="app-eselect/eselect-cdparanoia
diff --git a/dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch b/dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch
new file mode 100644
index 000000000000..10325682aec2
--- /dev/null
+++ b/dev-libs/libcdio/files/libcdio-2.1.0-realpath-test-fix.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/834342
+https://git.savannah.gnu.org/cgit/libcdio.git/commit/?id=56335fff0f21d294cd0e478d49542a43e9495ed0
+
+From 56335fff0f21d294cd0e478d49542a43e9495ed0 Mon Sep 17 00:00:00 2001
+From: "R. Bernstein" <rocky@gnu.org>
+Date: Wed, 24 Aug 2022 14:34:33 -0400
+Subject: Correct realpath test failure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+See https://savannah.gnu.org/bugs/?62948
+Patch courtesy of Martin Liška <marxin>
+--- a/test/driver/realpath.c
++++ b/test/driver/realpath.c
+@@ -1,5 +1,7 @@
+ /* -*- C -*-
+- Copyright (C) 2010-2012, 2015, 2017 Rocky Bernstein <rocky@gnu.org>
++
++ Copyright (C) 2010-2012, 2015, 2017, 2022 Rocky Bernstein
++ <rocky@gnu.org>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -175,16 +177,17 @@ main(int argc, const char *argv[])
+ rc = check_rc(symlink(psz_symlink_file, psz_symlink_file),
+ "symlink", psz_symlink_file);
+ if (0 == rc) {
+- cdio_realpath(psz_symlink_file, psz_file_check);
+- if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
++ char *retvalue = cdio_realpath(psz_symlink_file, psz_file_check);
++ if (0 != retvalue) {
++ if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
+ fprintf(stderr, "direct cdio_realpath cycle test failed. %s vs %s\n",
+ psz_file_check, symlink_file);
+ rc = 5;
+ goto err_exit;
++ }
++ check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
+ }
+- check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
+ }
+-
+ }
+
+ check_rc(unlink(psz_orig_file), "unlink", psz_orig_file);
+--
+cgit v1.1
diff --git a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
index a2f4805fe768..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-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools libtool multilib-minimal
+inherit autotools flag-o-matic libtool multilib-minimal
DESCRIPTION="A library to encapsulate CD-ROM reading and control"
HOMEPAGE="https://www.gnu.org/software/libcdio/"
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0/19" # subslot is based on SONAME
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="cddb +cxx minimal static-libs test"
RESTRICT="!test? ( test )"
@@ -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/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/libcec-6.0.2.ebuild b/dev-libs/libcec/libcec-6.0.2.ebuild
deleted file mode 100644
index 0348aae7ad68..000000000000
--- a/dev-libs/libcec/libcec-6.0.2.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-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="http://libcec.pulse-eight.com"
-SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-IUSE="cubox exynos python raspberry-pi kernel-cec tools +xrandr udev"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/libplatform-2.0.0
- python? ( ${PYTHON_DEPS} )
- raspberry-pi? ( >=media-libs/raspberrypi-userland-0_pre20160305-r1 )
- tools? ( sys-libs/ncurses:= )
- udev? ( virtual/udev )
- xrandr? ( x11-libs/libXrandr )
-"
-DEPEND="${RDEPEND}
- python? ( dev-lang/swig )"
-BDEPEND="virtual/pkgconfig"
-
-CONFIG_CHECK="~USB_ACM"
-
-S="${WORKDIR}/${PN}-${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.0.7-no-override-udev.patch"
- "${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
- cp "${S}/debian/pulse-eight-usb-cec.udev" \
- "${BUILD_DIR}/65-pulse-eight-usb-cec.udev" || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- use python && python_optimize "${D}$(python_get_sitedir)"
-
- use tools && doman debian/cec-client.1
-
- if use udev; then
- udev_dorules "${BUILD_DIR}/65-pulse-eight-usb-cec.udev"
- fi
-}
-
-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 uucp group"
-}
diff --git a/dev-libs/libcgroup/Manifest b/dev-libs/libcgroup/Manifest
index fc793519300c..48d5b3481552 100644
--- a/dev-libs/libcgroup/Manifest
+++ b/dev-libs/libcgroup/Manifest
@@ -1,3 +1,3 @@
DIST libcgroup-0.41.tar.bz2 500120 BLAKE2B 3410b430aa58613b5b9abedba05bef99b1b8a1fd619d55fb446ab951e052a336efc918879217055bceee886a03d97c3ff46028a87e8231212653a886cfb80521 SHA512 1aedb02cd2ce3bc2e2a328a247a92976ad0978ca4d3aee4eb671fbcc6bb270348efc78dcf84f27fc500f8bfb9bb57c7d6e4d429ef2bc69e4e5118b7cd895a6bd
-DIST libcgroup-2.0.tar.bz2 953191 BLAKE2B d4fe008a51a4f90047210a3c8e4ce48b1c4a126111ccc7fe919404b1782ea764404894a43a651e0d6b2674d02fb031cb56cf7a689c57600d856c03536524bb63 SHA512 b2c5d1128536bf49782415df2d1530cf48bdb287e5d2abdee68f9fa780d995d9bae79f97da5f0c437130d66054c96301b319cd1631a3b0efbc5bfe1e3414dc4b
DIST libcgroup-3.0.0.tar.gz 1125800 BLAKE2B 5d4999ac513de756ffe741d2e959c01d8500a2000f521dff31832e1ef545869fb9c8ae1c78d05aaa051e7e6e68266bd57a751ba3aa897966a83ff50128090ba5 SHA512 1e8a7c9a71d928ab0e354254b007b30fc159a30e441bd52a03ded142420c94e130594bb512680c62fc22f5193934fb78afc31453342b032d1db3197fd4c3e606
+DIST libcgroup-3.1.0.tar.gz 1223547 BLAKE2B 3cd3ca779b4453df71aba584ad8fe654fb55478ad89b36ba5deccf46e3ef331b11dc32a9a72dfa525784558701a72fd0777e05275233e599015ae93269661534 SHA512 84272e811422f2105e275ccadbd333fe6da495da5504cd97acd3101718e27b52e0f56b62f847933b32d613e15c170d1b998d85a89c1591e8ce37c33043f3e00b
diff --git a/dev-libs/libcgroup/files/cgconfig.confd-r2 b/dev-libs/libcgroup/files/cgconfig.confd-r2
new file mode 100644
index 000000000000..2770c85e2ee1
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgconfig.confd-r2
@@ -0,0 +1,8 @@
+# /etc/conf.d/cgconfig: config file for /etc/init.d/cgconfig
+
+# Configuration file location
+CG_CONFIGFILE="/etc/cgroup/cgconfig.conf"
+CG_CONFIGDIR="/etc/cgroup/cgconfig.d"
+
+# Enable calssifying pid according to rules if necessary
+CG_CLASSIFY=No
diff --git a/dev-libs/libcgroup/files/cgconfig.initd-r2 b/dev-libs/libcgroup/files/cgconfig.initd-r2
new file mode 100644
index 000000000000..aaf3ea88031b
--- /dev/null
+++ b/dev-libs/libcgroup/files/cgconfig.initd-r2
@@ -0,0 +1,53 @@
+#!/sbin/openrc-run
+# Copyright 1999-2023 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CGCONFIGPARSER="/usr/sbin/cgconfigparser"
+CGCLASSIFY="/usr/bin/cgclassify"
+: "${CG_CONFIGFILE:=/etc/cgroup/cgconfig.conf}"
+: "${CG_CONFIGDIR:=/etc/cgroup/cgconfig.d}"
+description="Control Group Configuration Service"
+
+start()
+{
+ ebegin "Setting up CGroups"
+ "${CGCONFIGPARSER}" "--load=${CG_CONFIGFILE}" "--load-directory=${CG_CONFIGDIR}" >/dev/null 2>&1
+ eend "$?"
+}
+
+start_post()
+{
+ # Classify PID according to the rules if requested
+ yesno "${CG_CLASSIFY}" || return 0
+ ebegin "Classifying PID to CGroups"
+ local pid
+ for pid in $(pgrep ''); do
+ ${CGCLASSIFY} ${pid} || einfo "Classifying ${pid} failed"
+ done
+ eend "$?"
+}
+
+stop()
+{
+ cgconfig_umount
+}
+
+cgconfig_umount()
+{
+ local ctrl eq mnt_pnt mnt_pts
+
+ while read ctrl eq mnt_pnt; do
+ case "${ctrl}" in
+ (\#*) continue ;;
+ (mount*) mnt_pts=true;;
+ (\}*) mnt_pts= ;;
+ (*)
+ [ -n "${mnt_pts}" ] || continue
+ mnt_pnt="${mnt_pnt%;}"
+ ebegin "Unmounting ${mnt_pnt}"
+ umount "${mnt_pnt}"
+ eend "$?"
+ ;;
+ esac
+ done < "${CG_CONFIGFILE}"
+}
diff --git a/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
index 48d67cfb1185..0c4c21f022b8 100644
--- a/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
+++ b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,18 +20,19 @@ REQUIRED_USE="daemon? ( tools )"
RESTRICT="test"
BDEPEND="
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/yacc
+ app-alternatives/lex
elibc_musl? ( sys-libs/fts-standalone )
"
DEPEND="pam? ( sys-libs/pam )"
RDEPEND="${DEPEND}"
PATCHES=(
- "${FILESDIR}"/${P}-replace-DECLS.patch
- "${FILESDIR}"/${P}-replace-INLCUDES.patch
+ "${FILESDIR}"/${P}-replace_DECLS.patch
+ "${FILESDIR}"/${P}-replace_INLCUDES.patch
"${FILESDIR}"/${P}-reorder-headers.patch
"${FILESDIR}"/${P}-remove-umask.patch
+ "${FILESDIR}"/${P}-slibtool.patch
)
pkg_setup() {
@@ -42,14 +43,6 @@ pkg_setup() {
linux-info_pkg_setup
}
-PATCHES=(
- "${FILESDIR}"/${P}-replace_DECLS.patch
- "${FILESDIR}"/${P}-replace_INLCUDES.patch
- "${FILESDIR}"/${P}-reorder-headers.patch
- "${FILESDIR}"/${P}-remove-umask.patch
- "${FILESDIR}"/${P}-slibtool.patch
-)
-
src_prepare() {
default
# Change rules file location
diff --git a/dev-libs/libcgroup/libcgroup-2.0.ebuild b/dev-libs/libcgroup/libcgroup-2.0.ebuild
deleted file mode 100644
index 989fc89b4af8..000000000000
--- a/dev-libs/libcgroup/libcgroup-2.0.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools flag-o-matic linux-info pam systemd
-
-DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
-HOMEPAGE="https://github.com/libcgroup/libcgroup"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="+daemon pam static-libs test +tools"
-REQUIRED_USE="daemon? ( tools )"
-
-# Use mount cgroup to build directory
-# sandbox restricted to trivial build,
-RESTRICT="test"
-
-BDEPEND="
- sys-devel/bison
- sys-devel/flex
- elibc_musl? ( sys-libs/fts-standalone )
-"
-DEPEND="pam? ( sys-libs/pam )"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- local CONFIG_CHECK="~CGROUPS"
- if use daemon; then
- CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
- fi
- linux-info_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Change rules file location
- find src -name *.c -o -name *.h \
- | xargs sed -i '/^#define/s:/etc/cg:/etc/cgroup/cg:'
- sed -i 's:/etc/cg:/etc/cgroup/cg:' \
- doc/man/cg* samples/*.conf README* || die "sed failed"
-
- # Drop native libcgconfig init config
- sed -i '/^man_MANS/s:cgred.conf.5::' \
- doc/man/Makefile.am || die "sed failed"
-
- # If we're not running tests, don't bother building them.
- if ! use test; then
- sed -i '/^SUBDIRS/s:tests::' Makefile.am || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- local my_conf
-
- if use pam; then
- my_conf=" --enable-pam-module-dir=$(getpam_mod_dir) "
- fi
-
- use elibc_musl && append-ldflags "-lfts"
- econf \
- $(use_enable static-libs static) \
- $(use_enable daemon) \
- $(use_enable pam) \
- $(use_enable tools) \
- ${my_conf}
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-
- insinto /etc/cgroup
- doins samples/cgconfig.conf
- doins samples/cgrules.conf
- doins samples/cgsnapshot_blacklist.conf
-
- keepdir /etc/cgroup/cgconfig.d
- keepdir /etc/cgroup/cgrules.d
-
- if use tools; then
- newconfd "${FILESDIR}"/cgconfig.confd-r1 cgconfig
- newinitd "${FILESDIR}"/cgconfig.initd-r1 cgconfig
- systemd_dounit "${FILESDIR}"/cgconfig.service
- systemd_dounit "${FILESDIR}"/cgrules.service
- fi
-
- if use daemon; then
- newconfd "${FILESDIR}"/cgred.confd-r2 cgred
- newinitd "${FILESDIR}"/cgred.initd-r1 cgred
- fi
-}
diff --git a/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild b/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild
new file mode 100644
index 000000000000..980bb7d03807
--- /dev/null
+++ b/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic linux-info pam systemd
+
+DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
+HOMEPAGE="https://github.com/libcgroup/libcgroup"
+SRC_URI="https://github.com/libcgroup/libcgroup/releases/download/v$(ver_cut 1-2)/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+daemon pam static-libs test +tools"
+REQUIRED_USE="daemon? ( tools )"
+
+# Test failure needs investigation
+RESTRICT="!test? ( test ) test"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+"
+DEPEND="
+ elibc_musl? ( sys-libs/fts-standalone )
+ pam? ( sys-libs/pam )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.0-configure-bashism.patch"
+ "${FILESDIR}/${PN}-3.0.0-musl-strerror_r.patch"
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~CGROUPS"
+ if use daemon; then
+ CONFIG_CHECK="${CONFIG_CHECK} ~CONNECTOR ~PROC_EVENTS"
+ fi
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Change rules file location
+ find src -name '*.c' -o -name '*.h' -print0 \
+ | xargs -0 sed -i '/^#define/s:/etc/cg:/etc/cgroup/cg:'
+ sed -i 's:/etc/cg:/etc/cgroup/cg:' \
+ doc/man/cg* samples/config/*.conf README* || die "sed failed"
+
+ # Drop native libcgconfig init config
+ sed -i '/^man_MANS/s:cgred.conf.5::' \
+ doc/man/Makefile.am || die "sed failed"
+
+ # If we're not running tests, don't bother building them.
+ if ! use test; then
+ sed -i '/^SUBDIRS/s:tests::' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ if use elibc_musl; then
+ append-ldflags -lfts
+ fi
+
+ local myconf=(
+ "$(use_enable static-libs static)"
+ "$(use_enable daemon)"
+ "$(use_enable pam)"
+ "$(use_enable tools)"
+ "$(use_enable test tests)"
+ )
+
+ if use pam; then
+ myconf+=( "--enable-pam-module-dir=$(getpam_mod_dir)" )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ # Run just the unit tests rather than the full lot as they
+ # need fewer permissions, no containers, etc.
+ emake -C tests/gunit check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ insinto /etc/cgroup
+ doins samples/config/cgconfig.conf
+ doins samples/config/cgrules.conf
+ doins samples/config/cgsnapshot_blacklist.conf
+
+ keepdir /etc/cgroup/cgconfig.d
+ keepdir /etc/cgroup/cgrules.d
+
+ if use tools; then
+ newconfd "${FILESDIR}/cgconfig.confd-r2" cgconfig
+ newinitd "${FILESDIR}/cgconfig.initd-r2" cgconfig
+ systemd_dounit "${FILESDIR}/cgconfig.service"
+ systemd_dounit "${FILESDIR}/cgrules.service"
+ fi
+
+ if use daemon; then
+ newconfd "${FILESDIR}/cgred.confd-r2" cgred
+ newinitd "${FILESDIR}/cgred.initd-r1" cgred
+ fi
+}
diff --git a/dev-libs/libcgroup/libcgroup-3.0.0.ebuild b/dev-libs/libcgroup/libcgroup-3.0.0.ebuild
index a5009c1da4d8..296dd1071c8b 100644
--- a/dev-libs/libcgroup/libcgroup-3.0.0.ebuild
+++ b/dev-libs/libcgroup/libcgroup-3.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/libcgroup/libcgroup/releases/download/v$(ver_cut 1-2
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86"
IUSE="+daemon pam static-libs test +tools"
REQUIRED_USE="daemon? ( tools )"
@@ -19,8 +19,8 @@ REQUIRED_USE="daemon? ( tools )"
RESTRICT="!test? ( test ) test"
BDEPEND="
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/yacc
+ app-alternatives/lex
"
DEPEND="
elibc_musl? ( sys-libs/fts-standalone )
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/libcharon/Manifest b/dev-libs/libcharon/Manifest
deleted file mode 100644
index f42c09a959e1..000000000000
--- a/dev-libs/libcharon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libcharon-4.13.0.tar.gz 151775 BLAKE2B f8a8b59b361ffc9b54e0047e0cc3824e2a92cf341aa9664712d020e07e5f2facda6f2d1827998c4af0958a3b05070738a20d93d7723a2f3708e601b70474653c SHA512 cd6e4cd696bcbebe5aa6a53f5222fbb8f982ff21d165adcd8854769b19df2d15ea6287100ba09ddd85ac80d3f86dbfae9ac050ee50f082223bf0acb542413d8c
diff --git a/dev-libs/libcharon/libcharon-4.13.0.ebuild b/dev-libs/libcharon/libcharon-4.13.0.ebuild
deleted file mode 100644
index f2a4bc85ec38..000000000000
--- a/dev-libs/libcharon/libcharon-4.13.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="libCharon"
-
-DESCRIPTION="This library facilitates communication between Cura and its backend"
-HOMEPAGE="https://github.com/Ultimaker/libCharon"
-SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-IUSE="+client +dbus test"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RDEPEND="
- ${PYTHON_DEPS}
- dbus? (
- acct-group/ultimaker
- acct-user/ultimaker
- sys-apps/dbus
- )"
-
-DEPEND="${PYTHON_DEPS}
- test? (
- $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-src_prepare() {
- # use current python version, not the latest installed
- # fix python install location
- sed -i \
- -e "s:find_package(Python3 3.4 REQUIRED:find_package(Python3 ${EPYTHON##python} EXACT REQUIRED:g" \
- -e "s:lib\${LIB_SUFFIX}/python\${Python3_VERSION_MAJOR}\.\${Python3_VERSION_MINOR}/site-packages:$(python_get_sitedir):g" \
- CMakeLists.txt || die
-
- sed -i -e "s:/usr/lib/python3/dist-packages/Charon/Service/main.py:$(python_get_sitedir)/Charon/Service/main.py:g" service/charon.service || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINSTALL_CLIENT=$(usex client ON OFF)
- -DINSTALL_SERVICE=$(usex dbus ON OFF)
- -DPython3_EXECUTABLE="${PYTHON}"
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- python_optimize
-}
-
-pkg_postinst() {
- if use dbus ; then
- elog "To start the Charon File Metadata service at boot, add it to the default runlevel with:"
- elog " systemctl enable charon"
- fi
-}
diff --git a/dev-libs/libcharon/metadata.xml b/dev-libs/libcharon/metadata.xml
deleted file mode 100644
index fdb12d8c03e0..000000000000
--- a/dev-libs/libcharon/metadata.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <longdescription>
- Library to read and write several 3D-printing related file formats including G-Code and Ultimaker File Package (UFP).
- </longdescription>
- <use>
- <flag name="client">Install the charon client library</flag>
- </use>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/libCharon/issues</bugs-to>
- <remote-id type="github">Ultimaker/libCharon</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libchdr/Manifest b/dev-libs/libchdr/Manifest
deleted file mode 100644
index 7f5406d069b0..000000000000
--- a/dev-libs/libchdr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libchdr-0_p20221129.tar.gz 1748187 BLAKE2B bc2f03d558e0f208ae3c51a53b2bbf630fb4cc502c18d83b31f184cf2c2f59e06dbb88c5399e01fb5f2436643a5095256bd31501a1531a043537a05c45c27be3 SHA512 4a72dcb376c451b74389650e121de06daae7cf0b293d7d66a8f7acf1b4f83355a2467a2d77e0953331ee5fffa243f713efb0878bb509384715e9c42a567a9b90
diff --git a/dev-libs/libchdr/libchdr-0_p20221129.ebuild b/dev-libs/libchdr/libchdr-0_p20221129.ebuild
deleted file mode 100644
index 243e27033a4e..000000000000
--- a/dev-libs/libchdr/libchdr-0_p20221129.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-HASH_CHDR=a20e04c12c0c20048bf771da6df7aa2e51f5e0cb
-
-DESCRIPTION="Standalone library for reading MAME's CHDv1-v5 formats"
-HOMEPAGE="https://github.com/rtissera/libchdr/"
-SRC_URI="https://github.com/rtissera/libchdr/archive/${HASH_CHDR}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${HASH_CHDR}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_SYSTEM_ZLIB=yes
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/libchdr/metadata.xml b/dev-libs/libchdr/metadata.xml
deleted file mode 100644
index 52316d51b131..000000000000
--- a/dev-libs/libchdr/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>ionen@gentoo.org</email>
- <name>Ionen Wolkens</name>
- </maintainer>
- <upstream>
- <remote-id type="github">rtissera/libchdr</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libclc/Manifest b/dev-libs/libclc/Manifest
index 53407e02853b..bd71f2e58a68 100644
--- a/dev-libs/libclc/Manifest
+++ b/dev-libs/libclc/Manifest
@@ -1,8 +1,10 @@
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
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.0rc1.src.tar.xz 118364920 BLAKE2B 449fa321722e77d1a595d0f1f52a4e9492954d928355402f6e07e6c8a20e4ebfc03690ef8272b92eb5cdd58c97ca37fa6baf847d399e36a84e3ea7d94d1ea6ca SHA512 a24074ea8e21af49b0545f02bdec4727e8df841e59340dc189cc5a144a70fc6880e82381fba622ac62c7504f7bf394c916c773ee25904e8faf41eaedce6ae9e0
-DIST llvm-project-16.0.0rc1.src.tar.xz.sig 566 BLAKE2B 29a593f74b05ef6268f0b2ee5ebd810a244e7c6b27dd94f709b22bca8e6c8367f8321a6ec61f85476cd399f31519ac2a3c978014afae29490c1e70d26eb6c35f SHA512 dcca03d41ee3cc7d5b150184b03eb9f2e579603ce9cd5289360d1ca47169174afc26a85079cf096ec91e23f487f0b38bb6cd5fb7e5197530582155b16a5ce748
-DIST llvm-project-46d5a57801bc37e5ebb1a4d6b2acc0fa99c01e8d.tar.gz 180436731 BLAKE2B 51c30c3f11dd55a225b8ebe4ded752ce9e8eb58751e7458c29901dbdd3673f94892d337d111d696e779e3f7ef0bca6c7d79709e2072a4bf3a001d8813125d571 SHA512 ebbe0f8becac39d63433dcc3de474c40f1215fc8faab94fa2ba869d28e66b27e4fe088377bd7ae64575a6d7b07017b88bf92e5488a3185a753e647d8da352bbf
-DIST llvm-project-6dc85bd3fde7df2999fda07e9e9f2e83d52c6125.tar.gz 175208511 BLAKE2B cf87cf7e9bf7c74aab8ccda0f153369cb81798047fdd48025c3c7030857b128babbaafb667385a5c8e9916e16038b14fee39f1623d329471e73c39c2f2d7bbfa SHA512 e6dc0cacd6c079be8a00364e4c244782d764d9a8d514d65f9078427cb4a0c1663ff88761bfbc1e955a1a990451439110497c2cb7af7f56b2c91f2e9db4389894
+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-ee284d2da0720dc21191d6f545504cbfcf5dcbcf.tar.gz 208883034 BLAKE2B e37c9f1a6a4d0caa9a3091f979dd09f509d458f8b7b30286c77dd2385aea748b7aac6dd488c79573f82feb655aa321717bd2fb46bba4a12b388b52064f6e13bf SHA512 1335ade87cd2accc47ac47ed2ab302999e375808b158b6c9d31fac9059cbb992d2bdaaadf1fd9a1b37268c1123d43346ea4d150894d6d2e6f80ba790b65b93b1
+DIST llvm-project-f03cd2db91956456f1c5e2da86d3c50183eebd28.tar.gz 209375254 BLAKE2B 1d7e043d04323edb64b2ef2309fbcb4f82a959f45391e815133cc0891d5a497bbb81101aab460e9bf67e75aa906e13ad1877c3850829dcad397ed626dc8f2792 SHA512 6775e03a44b2133bd4a4b473ab007599321daa19dc7f3cc47f95cf9d110e83e982bf48a6b1d43038b0f0a2c0fef2f689aefd20132b25a90ef19342683e2d2e50
diff --git a/dev-libs/libclc/libclc-14.0.6.ebuild b/dev-libs/libclc/libclc-14.0.6.ebuild
deleted file mode 100644
index 5464d123288a..000000000000
--- a/dev-libs/libclc/libclc-14.0.6.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi"
-IUSE="${IUSE_VIDEO_CARDS}"
-REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )"
-
-LLVM_MAX_SLOT=14
-BDEPEND="
- ${PYTHON_DEPS}
- || (
- sys-devel/clang:14
- sys-devel/clang:13
- )
-"
-
-LLVM_COMPONENTS=( libclc )
-llvm.org_set_globals
-
-llvm_check_deps() {
- has_version -b "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
- # we do not need llvm_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local libclc_targets=()
-
- use video_cards_nvidia && libclc_targets+=(
- "nvptx--"
- "nvptx64--"
- "nvptx--nvidiacl"
- "nvptx64--nvidiacl"
- )
- use video_cards_r600 && libclc_targets+=(
- "r600--"
- )
- use video_cards_radeonsi && libclc_targets+=(
- "amdgcn--"
- "amdgcn-mesa-mesa3d"
- "amdgcn--amdhsa"
- )
- # TODO: spirv
- [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
-
- libclc_targets=${libclc_targets[*]}
- local mycmakeargs=(
- -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
- -DLLVM_CONFIG="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libclc/libclc-15.0.7.ebuild b/dev-libs/libclc/libclc-15.0.7.ebuild
index 6e24b29779b1..4032920d3b2a 100644
--- a/dev-libs/libclc/libclc-15.0.7.ebuild
+++ b/dev-libs/libclc/libclc-15.0.7.ebuild
@@ -12,7 +12,7 @@ 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"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
LLVM_MAX_SLOT=15
BDEPEND="
diff --git a/dev-libs/libclc/libclc-16.0.0.9999.ebuild b/dev-libs/libclc/libclc-16.0.0.9999.ebuild
deleted file mode 100644
index c424e4a83842..000000000000
--- a/dev-libs/libclc/libclc-16.0.0.9999.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE="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-16.0.0_pre20230107.ebuild b/dev-libs/libclc/libclc-16.0.0_pre20230107.ebuild
deleted file mode 100644
index c424e4a83842..000000000000
--- a/dev-libs/libclc/libclc-16.0.0_pre20230107.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE="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-16.0.0_pre20230127.ebuild b/dev-libs/libclc/libclc-16.0.0_pre20230127.ebuild
deleted file mode 100644
index c424e4a83842..000000000000
--- a/dev-libs/libclc/libclc-16.0.0_pre20230127.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE="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-16.0.0_rc1.ebuild b/dev-libs/libclc/libclc-16.0.0_rc1.ebuild
deleted file mode 100644
index c424e4a83842..000000000000
--- a/dev-libs/libclc/libclc-16.0.0_rc1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE="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-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.0.9999.ebuild b/dev-libs/libclc/libclc-17.0.0.9999.ebuild
deleted file mode 100644
index 93cce600989e..000000000000
--- a/dev-libs/libclc/libclc-17.0.0.9999.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="OpenCL C library"
-HOMEPAGE="https://libclc.llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
-SLOT="0"
-KEYWORDS=""
-IUSE="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-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-19.0.0.9999.ebuild b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240410.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake llvm.org llvm-r1 python-any-r1
+
+DESCRIPTION="OpenCL C library"
+HOMEPAGE="https://libclc.llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
+SLOT="0"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
+"
+
+LLVM_COMPONENTS=( libclc )
+llvm.org_set_globals
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local libclc_targets=()
+
+ use spirv && libclc_targets+=(
+ "spirv-mesa3d-"
+ "spirv64-mesa3d-"
+ )
+ use video_cards_nvidia && libclc_targets+=(
+ "nvptx--"
+ "nvptx64--"
+ "nvptx--nvidiacl"
+ "nvptx64--nvidiacl"
+ )
+ use video_cards_r600 && libclc_targets+=(
+ "r600--"
+ )
+ use video_cards_radeonsi && libclc_targets+=(
+ "amdgcn--"
+ "amdgcn-mesa-mesa3d"
+ "amdgcn--amdhsa"
+ )
+ [[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
+
+ libclc_targets=${libclc_targets[*]}
+ local mycmakeargs=(
+ -DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/libclc/libclc-19.0.0_pre20240420.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240420.ebuild
new file mode 100644
index 000000000000..15a69aca7556
--- /dev/null
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240420.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/libconfig/libconfig-1.7.3.ebuild b/dev-libs/libconfig/libconfig-1.7.3.ebuild
index 8efd8925734c..449f75c98860 100644
--- a/dev-libs/libconfig/libconfig-1.7.3.ebuild
+++ b/dev-libs/libconfig/libconfig-1.7.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit autotools multilib-minimal
DESCRIPTION="Libconfig is a simple library for manipulating structured configuration files"
HOMEPAGE="
- http://www.hyperrealm.com/libconfig/libconfig.html
+ https://www.hyperrealm.com/libconfig/libconfig.html
https://github.com/hyperrealm/libconfig
"
SRC_URI="https://github.com/hyperrealm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
@@ -15,12 +15,13 @@ SRC_URI="https://github.com/hyperrealm/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
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"
+IUSE="+cxx static-libs test"
+RESTRICT="!test? ( test )"
DEPEND="
sys-apps/texinfo
- sys-devel/bison
- sys-devel/libtool
+ app-alternatives/yacc
+ dev-build/libtool
"
src_prepare() {
@@ -33,10 +34,14 @@ src_prepare() {
}
multilib_src_configure() {
- econf \
- $(use_enable cxx) \
- $(use_enable static-libs static) \
+ local myeconfargs=(
+ $(use_enable cxx)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
--disable-examples
+ )
+
+ econf "${myeconfargs[@]}"
}
multilib_src_test() {
diff --git a/dev-libs/libconfig/metadata.xml b/dev-libs/libconfig/metadata.xml
index 115e9d64a669..2657107da297 100644
--- a/dev-libs/libconfig/metadata.xml
+++ b/dev-libs/libconfig/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">hyperrealm/libconfig</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libcpuid/Manifest b/dev-libs/libcpuid/Manifest
index 9b777e15e851..48df6d7ae716 100644
--- a/dev-libs/libcpuid/Manifest
+++ b/dev-libs/libcpuid/Manifest
@@ -1 +1 @@
-DIST libcpuid-0.6.2.tar.gz 265896 BLAKE2B 27f7c6c6a8bce6f27ca2f537c0255d8e8efa4ca5a7a278deecdb7b5c122830cc49e7e4524a2b2c0c39c0a43b3d05649c5e95a1bee843b6ddd981e3bee33383ab SHA512 36175387ae86e6f602544c516a875ac7fe0a3bde52e3e3c09f8852a804dd252694e17c638723aa3d36219d4588981cfd2261086bcf561d175e7c038e3a69e2ff
+DIST libcpuid-0.6.4.tar.gz 338722 BLAKE2B ad23c13c48b0244f401a60d07fb569712f24b4d1f2bcd16f8d0240c6a39f8afae8944c9d3b4f486d3e1727157d642915c794fc89f9af315a2c4daf64625fdf25 SHA512 5396301d2a5485c6cf15a2fa8eab0ce28d967fe0dcf0776fec3618b963bc786499032150037f6b9123738e094d41583a331bcea25e502b5025ec6f03d318f77e
diff --git a/dev-libs/libcpuid/libcpuid-0.6.2.ebuild b/dev-libs/libcpuid/libcpuid-0.6.2.ebuild
deleted file mode 100644
index c3576366dccf..000000000000
--- a/dev-libs/libcpuid/libcpuid-0.6.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=(python3_{9..11})
-
-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.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/libcroco/libcroco-0.6.13-r1.ebuild b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
index 2bbce851d189..e3da950d913c 100644
--- a/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
+++ b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit gnome2 multilib-minimal
+inherit flag-o-matic gnome2 multilib-minimal
DESCRIPTION="Generic Cascading Style Sheet (CSS) parsing and manipulation toolkit"
HOMEPAGE="https://gitlab.gnome.org/Archive/libcroco"
LICENSE="LGPL-2"
SLOT="0.6"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -20,7 +20,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
virtual/pkgconfig
"
@@ -36,6 +36,14 @@ src_prepare() {
gnome2_src_prepare
}
+src_configure() {
+ # bug #855704
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
ECONF_SOURCE=${S} \
gnome2_src_configure \
diff --git a/dev-libs/libcss/Manifest b/dev-libs/libcss/Manifest
index 3eac4c2b2337..6d33e7e03719 100644
--- a/dev-libs/libcss/Manifest
+++ b/dev-libs/libcss/Manifest
@@ -1 +1 @@
-DIST libcss-0.9.1-src.tar.gz 522715 BLAKE2B 32206403f77997e6692eed00c9233e6f49f08efc2515901a8bef7590883e44ef320511368fe5a67968102911d849696a4419735c7f6691f0f272fcc3b9a000d8 SHA512 069b30e74ff03fc91666dd16f22a38effbb3e29f066fd0fbc09efdc26dd8678e3f31adeaf918c5596fb962c56335fb2ecdbde1aa6704fcbdec3c2f97d03e5bbe
+DIST libcss-0.9.2-src.tar.gz 545016 BLAKE2B 4d5f2554e4ffa5cf8fef3046a244e27dba954e48770c28a2ea79b63826dc056e8fa47d006e7ab4ae2048cf706e7adc2a81053eea2cfbe8b0f0bd683610af9632 SHA512 271362a5fcdf0cfeeefd62ed5319a1a27a56839b953255a48c54995dec62001a1a95c4da4bd315751353c989ee6008e671ad6347dd9e5dc714180578dd1d24df
diff --git a/dev-libs/libcss/libcss-0.9.1-r1.ebuild b/dev-libs/libcss/libcss-0.9.1-r1.ebuild
deleted file mode 100644
index dd714b5212c8..000000000000
--- a/dev-libs/libcss/libcss-0.9.1-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit netsurf
-
-DESCRIPTION="CSS parser and selection engine, written in C"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libcss/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/libparserutils
- dev-libs/libwapcaplet"
-DEPEND="${RDEPEND}
- test? ( dev-lang/perl )"
-BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1
- virtual/pkgconfig"
-
-src_prepare() {
- default
- sed -e '1i#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"' \
- -i src/parse/parse.c src/select/arena_hash.h || die
- sed -e '1i#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"' \
- -i src/parse/parse.c src/select/computed.c || die
-}
-
-_emake() {
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/libcss/libcss-0.9.2.ebuild b/dev-libs/libcss/libcss-0.9.2.ebuild
new file mode 100644
index 000000000000..36b6fd1f2d52
--- /dev/null
+++ b/dev-libs/libcss/libcss-0.9.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit netsurf
+
+DESCRIPTION="CSS parser and selection engine, written in C"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libcss/"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libparserutils
+ dev-libs/libwapcaplet"
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+BDEPEND="
+ dev-build/netsurf-buildsystem
+ virtual/pkgconfig"
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ _emake test
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libcss/libcss-9999.ebuild b/dev-libs/libcss/libcss-9999.ebuild
new file mode 100644
index 000000000000..55df25e380a3
--- /dev/null
+++ b/dev-libs/libcss/libcss-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 netsurf
+
+DESCRIPTION="CSS parser and selection engine, written in C"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libcss/"
+
+EGIT_REPO_URI="https://git.netsurf-browser.org/${PN}.git"
+LICENSE="MIT"
+SLOT="0/${PV}"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libparserutils
+ dev-libs/libwapcaplet"
+DEPEND="${RDEPEND}
+ test? ( dev-lang/perl )"
+BDEPEND="
+ dev-build/netsurf-buildsystem
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+}
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ _emake test
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libcss/metadata.xml b/dev-libs/libcss/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libcss/metadata.xml
+++ b/dev-libs/libcss/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libdaemon/libdaemon-0.14-r4.ebuild b/dev-libs/libdaemon/libdaemon-0.14-r4.ebuild
index 30beecfa0faa..b00a727aee78 100644
--- a/dev-libs/libdaemon/libdaemon-0.14-r4.ebuild
+++ b/dev-libs/libdaemon/libdaemon-0.14-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SLOT="0/5"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc examples"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${PV}-man-page-typo-fix.patch
diff --git a/dev-libs/libdazzle/libdazzle-3.44.0.ebuild b/dev-libs/libdazzle/libdazzle-3.44.0.ebuild
index bcec09a0e1ad..e1b879ab6776 100644
--- a/dev-libs/libdazzle/libdazzle-3.44.0.ebuild
+++ b/dev-libs/libdazzle/libdazzle-3.44.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/libdazzle"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk-doc +introspection test +vala"
REQUIRED_USE="vala? ( introspection )"
@@ -25,7 +25,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
# libxml2 required for glib-compile-resources; glib-utils for glib-mkenums
BDEPEND="
- >=dev-util/meson-0.49.0
+ >=dev-build/meson-0.49.0
vala? ( $(vala_depend) )
dev-libs/libxml2:2
dev-util/glib-utils
diff --git a/dev-libs/libdbh/libdbh-5.0.22.ebuild b/dev-libs/libdbh/libdbh-5.0.22.ebuild
index f24e96b09343..d0cddf9b2621 100644
--- a/dev-libs/libdbh/libdbh-5.0.22.ebuild
+++ b/dev-libs/libdbh/libdbh-5.0.22.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ SLOT="0"
KEYWORDS="amd64 x86"
BDEPEND="
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
virtual/pkgconfig"
S="${WORKDIR}/${MY_P}"
diff --git a/dev-libs/libdbusmenu-lxqt/Manifest b/dev-libs/libdbusmenu-lxqt/Manifest
new file mode 100644
index 000000000000..6d43f2efade3
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/Manifest
@@ -0,0 +1 @@
+DIST libdbusmenu-lxqt-0.1.0.tar.xz 39232 BLAKE2B 7c2741609996a33fb1bffb9aff938130e31ebc6796dcf613ccbb2bbf9bae2290fa09bda9777ebec2b819c7ac2ce04ad086483db409c2809517ce7e41729cd71d SHA512 8c09f9bd4b3c60db1666f5a53ea84c67d2d120b215eca6563c32385387e100fe591cb8653a283750444356c61306cf385507edb6a507b22427eb6f18aa972fb5
diff --git a/dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch b/dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch
new file mode 100644
index 000000000000..835e8eb71c86
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch
@@ -0,0 +1,129 @@
+From 1be3710c1032eb8eee9fabc59f05f335aeb2e97c Mon Sep 17 00:00:00 2001
+From: Jimi Huotari <chiitoo@gentoo.org>
+Date: Wed, 20 Mar 2024 21:01:00 +0200
+Subject: [PATCH] cmake: fix pkgconfig libdir path with general cleanup
+
+Also use more GNUInstallDirs.
+
+Adapted from: https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre20160218-cmake.patch
+---
+ CMakeLists.txt | 14 ++++++--------
+ cmake/modules/FindQJSON.cmake | 2 +-
+ dbusmenu-lxqt.pc.in | 6 +++---
+ src/CMakeLists.txt | 10 +++++-----
+ 4 files changed, 15 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3e46428..7bb1e66 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -49,9 +49,7 @@ endif (__DBUSMENU_HAVE_CXX17)
+
+ include(CMakePackageConfigHelpers)
+ include(GNUInstallDirs)
+-set(LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+-set(CMAKECONFIG_INSTALL_DIR "${LIB_DESTINATION}/cmake/dbusmenu-lxqt")
+-set(INCLUDE_INSTALL_DIR "include/dbusmenu-lxqt")
++set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt")
+
+ # dist targets
+ set(ARCHIVE_NAME libdbusmenu-lxqt-${dbusmenu_lxqt_VERSION})
+@@ -76,7 +74,7 @@ add_dependencies(distcheck dist)
+ configure_file(dbusmenu-lxqt.pc.in ${CMAKE_BINARY_DIR}/dbusmenu-lxqt.pc @ONLY)
+
+ install(FILES ${CMAKE_BINARY_DIR}/dbusmenu-lxqt.pc
+- DESTINATION ${LIB_DESTINATION}/pkgconfig
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+ )
+
+ add_subdirectory(src)
+@@ -91,7 +89,7 @@ if(WITH_DOC)
+ )
+
+ install(DIRECTORY ${CMAKE_BINARY_DIR}/html/
+- DESTINATION share/doc/libdbusmenu-lxqt-doc
++ DESTINATION ${CMAKE_INSTALL_DOCDIR}
+ )
+ endif(WITH_DOC)
+
+@@ -99,7 +97,7 @@ endif(WITH_DOC)
+ configure_package_config_file(
+ dbusmenu-lxqt-config.cmake.in
+ ${CMAKE_BINARY_DIR}/dbusmenu-lxqt-config.cmake
+- INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-lxqt
+ PATH_VARS INCLUDE_INSTALL_DIR
+ )
+
+@@ -113,6 +111,6 @@ write_basic_package_version_file(
+ install(FILES
+ ${CMAKE_BINARY_DIR}/dbusmenu-lxqt-config.cmake
+ ${CMAKE_BINARY_DIR}/dbusmenu-lxqt-config-version.cmake
+- DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-lxqt"
+ COMPONENT Devel
+ )
+diff --git a/cmake/modules/FindQJSON.cmake b/cmake/modules/FindQJSON.cmake
+index cd007e1..e1371ce 100644
+--- a/cmake/modules/FindQJSON.cmake
++++ b/cmake/modules/FindQJSON.cmake
+@@ -34,7 +34,7 @@ else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
+ qjson/parser.h
+ PATHS
+ ${PC_QJSON_INCLUDE_DIRS}
+- ${INCLUDE_INSTALL_DIR}
++ ${CMAKE_INSTALL_INCLUDEDIR}
+ ${KDE4_INCLUDE_DIR}
+ )
+
+diff --git a/dbusmenu-lxqt.pc.in b/dbusmenu-lxqt.pc.in
+index d437851..60e81ad 100644
+--- a/dbusmenu-lxqt.pc.in
++++ b/dbusmenu-lxqt.pc.in
+@@ -1,7 +1,7 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=@CMAKE_INSTALL_PREFIX@
+-libdir=@CMAKE_INSTALL_PREFIX@/lib
+-includedir=@CMAKE_INSTALL_PREFIX@/include/dbusmenu-lxqt
++exec_prefix=${prefix}
++libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/dbusmenu-lxqt
+
+ Name: libdbusmenu-lxqt
+ Description: Qt implementation of dbusmenu spec
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e0d65e5..90b801c 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -83,23 +83,23 @@ target_link_libraries(dbusmenu-lxqt
+
+ # Make sure linking to the target adds dbusmenu-lxqt install directory
+ target_include_directories(dbusmenu-lxqt
+- INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
++ INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt>")
+
+ install(TARGETS dbusmenu-lxqt
+ EXPORT dbusmenu-lxqt-targets
+- LIBRARY DESTINATION ${LIB_DESTINATION}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION bin
+ )
+
+ install(EXPORT dbusmenu-lxqt-targets
+- DESTINATION ${CMAKECONFIG_INSTALL_DIR})
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-lxqt)
+
+ install(DIRECTORY .
+- DESTINATION ${INCLUDE_INSTALL_DIR}
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt
+ FILES_MATCHING PATTERN "*.h"
+ PATTERN "*_p.h" EXCLUDE
+ )
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_version.h
+- DESTINATION ${INCLUDE_INSTALL_DIR}
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-lxqt
+ )
+--
+2.44.0
+
diff --git a/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild b/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild
new file mode 100644
index 000000000000..c21b6f45c981
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="LXQt DBusMenu Implementation"
+HOMEPAGE="https://lxqt-project.org/"
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+
+RDEPEND=">=dev-qt/qtbase-6.6:6[dbus,widgets]"
+
+PATCHES=( "${FILESDIR}/${PN}-0.1.0-cmake.patch" )
diff --git a/dev-libs/libdbusmenu-lxqt/metadata.xml b/dev-libs/libdbusmenu-lxqt/metadata.xml
new file mode 100644
index 000000000000..e11930658310
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>lxqt@gentoo.org</email>
+ <name>LXQt</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lxqt/libdbusmenu-lxqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
index e1c1e7580ead..f309a0f7391e 100644
--- a/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
+++ b/dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://launchpad.net/ubuntu/+archive/primary/+files/${PN}_${MY_PV}.ori
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="
diff --git a/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild b/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild
index 50cbef2a3619..63e7a3f93bad 100644
--- a/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild
+++ b/dev-libs/libdbusmenu/libdbusmenu-16.04.0-r2.ebuild
@@ -14,7 +14,7 @@ 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 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="debug gtk gtk3 +introspection test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libdex/Manifest b/dev-libs/libdex/Manifest
new file mode 100644
index 000000000000..873da4389984
--- /dev/null
+++ b/dev-libs/libdex/Manifest
@@ -0,0 +1 @@
+DIST libdex-0.4.3.tar.xz 96820 BLAKE2B 51f6c9a209d8ff19d7e97f4d8cbc9065739f08c555712076c9b6f4d345d56522f31afa1b8dffe8da2cfc128d368d7dc5f6a93757f0fe5cfd0a55de17587d776e SHA512 26691373d560d20cefa3a23e31677259b234cdf623b17b8fb2b6976b03768e86e458d2670aa3b260638b595994f278240e972bf3ff5b765013fb6d3114f46cef
diff --git a/dev-libs/libdex/libdex-0.4.3.ebuild b/dev-libs/libdex/libdex-0.4.3.ebuild
new file mode 100644
index 000000000000..93a7becd291c
--- /dev/null
+++ b/dev-libs/libdex/libdex-0.4.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org linux-info meson vala
+
+DESCRIPTION="Deferred Execution library for GNOME and GTK"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libdex"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+IUSE="+eventfd gtk-doc +introspection +liburing sysprof test vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.68:2
+ liburing? ( >=sys-libs/liburing-0.7:= )
+ introspection? ( dev-libs/gobject-introspection:= )
+ sysprof? ( dev-util/sysprof-capture:4 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ vala? ( $(vala_depend) )
+ dev-util/glib-utils
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gi-docgen )
+"
+
+pkg_setup() {
+ if use eventfd && linux_config_exists; then
+ if ! linux_chkconfig_present EVENTFD ; then
+ ewarn "CONFIG_EVENTFD must be enabled for USE=eventfd"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use gtk-doc docs)
+ -Dexamples=false
+ $(meson_use vala vapi)
+ $(meson_feature introspection)
+ $(meson_use sysprof)
+ $(meson_use test tests)
+ $(meson_feature liburing)
+ $(meson_feature eventfd)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/${PN}-1 "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
diff --git a/dev-libs/libdex/metadata.xml b/dev-libs/libdex/metadata.xml
new file mode 100644
index 000000000000..e9adc4891c7f
--- /dev/null
+++ b/dev-libs/libdex/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription>
+ Dex is a library supporting "Deferred Execution" with the explicit
+ goal of integrating with GNOME and GTK-based applications.
+ It provides primatives for supporting futures in a variety of ways
+ with both read-only and writable views. Additionally, integration
+ with existing asynchronous-based APIs is provided through the use
+ of wrapper promises.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/libdex</remote-id>
+ </upstream>
+ <use>
+ <flag name="eventfd">Allow use of eventfd</flag>
+ <flag name="liburing">Allow use of liburing (io_uring)<pkg>sys-libs/liburing</pkg></flag>
+ <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/libdispatch/Manifest b/dev-libs/libdispatch/Manifest
index 3fd44f6b78de..ccb5d7a76e1d 100644
--- a/dev-libs/libdispatch/Manifest
+++ b/dev-libs/libdispatch/Manifest
@@ -1,2 +1,3 @@
-DIST libdispatch-5.6.1.tar.gz 592615 BLAKE2B bbd495717456163b0740cd6bcb92d9dfa7a728b88ab6c3ec6c25bcd4bcc3575cb3eb5e93416ddf8293854c17566f4d0ef7ee4280cf15944ddf224e7439b59a5b SHA512 083a8ebdea87cc04f856db1833adcfca83b16568cff311123ccc6a835f73979ac1051f1733feacfa04155fcabc97f561738adf8e871468e808cf8048bea063b1
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/libdispatch-5.6.1.ebuild b/dev-libs/libdispatch/libdispatch-5.6.1.ebuild
deleted file mode 100644
index e15220ed9521..000000000000
--- a/dev-libs/libdispatch/libdispatch-5.6.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2022 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"
-
-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
-
- cmake_src_configure
-}
diff --git a/dev-libs/libdispatch/libdispatch-5.7.1.ebuild b/dev-libs/libdispatch/libdispatch-5.7.1.ebuild
index af88a1aec21c..da9e6411f534 100644
--- a/dev-libs/libdispatch/libdispatch-5.7.1.ebuild
+++ b/dev-libs/libdispatch/libdispatch-5.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,10 @@ SRC_URI="https://github.com/apple/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.g
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
DEPEND="
!gnustep-base/libobjc2
@@ -49,5 +52,6 @@ src_configure () {
export HOST_CXX="$(tc-getBUILD_CXX)"
tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+ local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
cmake_src_configure
}
diff --git a/dev-libs/libdispatch/libdispatch-5.7.3.ebuild b/dev-libs/libdispatch/libdispatch-5.7.3.ebuild
new file mode 100644
index 000000000000..da9e6411f534
--- /dev/null
+++ b/dev-libs/libdispatch/libdispatch-5.7.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake toolchain-funcs
+
+MY_PN="swift-corelibs-${PN}"
+MY_PV="swift-${PV}-RELEASE"
+
+DESCRIPTION="A library for concurrent code execution on multicore hardware"
+HOMEPAGE="https://github.com/apple/swift-corelibs-libdispatch"
+SRC_URI="https://github.com/apple/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ !gnustep-base/libobjc2
+ !sys-libs/blocksruntime
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/clang
+ sys-devel/llvm
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/remove-Werror.patch"
+ "${FILESDIR}/libdispatch-5.3.3-musl.patch"
+)
+
+src_configure () {
+ if ! tc-is-clang ; then
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ strip-unsupported-flags
+ fi
+
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
+ cmake_src_configure
+}
diff --git a/dev-libs/libdispatch/libdispatch-5.8.ebuild b/dev-libs/libdispatch/libdispatch-5.8.ebuild
new file mode 100644
index 000000000000..7ccdb7491b88
--- /dev/null
+++ b/dev-libs/libdispatch/libdispatch-5.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic cmake toolchain-funcs
+
+MY_PN="swift-corelibs-${PN}"
+MY_PV="swift-${PV}-RELEASE"
+
+DESCRIPTION="A library for concurrent code execution on multicore hardware"
+HOMEPAGE="https://github.com/apple/swift-corelibs-libdispatch"
+SRC_URI="https://github.com/apple/${MY_PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ppc64 ~riscv x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ !gnustep-base/libobjc2
+ !sys-libs/blocksruntime
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/clang
+ sys-devel/llvm
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/remove-Werror.patch"
+ "${FILESDIR}/libdispatch-5.3.3-musl.patch"
+)
+
+src_configure () {
+ if ! tc-is-clang ; then
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ strip-unsupported-flags
+ fi
+
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ local mycmakeargs=( -DBUILD_TESTING=$(usex test) )
+ cmake_src_configure
+}
diff --git a/dev-libs/libdispatch/metadata.xml b/dev-libs/libdispatch/metadata.xml
index 148e05a351bd..7e1433ad2dac 100644
--- a/dev-libs/libdispatch/metadata.xml
+++ b/dev-libs/libdispatch/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">apple/swift-corelibs-libdispatch</remote-id>
</upstream>
diff --git a/dev-libs/libdnet/Manifest b/dev-libs/libdnet/Manifest
index 50391c5530cf..28153e6d5415 100644
--- a/dev-libs/libdnet/Manifest
+++ b/dev-libs/libdnet/Manifest
@@ -1,2 +1,4 @@
-DIST libdnet-1.14.tar.gz 520833 BLAKE2B 97e241fc374fc9489e70d440db5e19199f4e653650af85e24af56bbbc0167db1c451349c43fcb630a26c61f8ca15c58f5c879e0d82654e275189ca3e140bb22a SHA512 ce8d95228f5175e4d9a8ff71bb99eb1ccc3ccd599a85dd07adbfd9842fc54066235d362c8060828fb3ba8129d0e1e8e071e93d60d69c6d03be310c80e61cea93
-DIST libdnet-1.16.1.tar.gz 666619 BLAKE2B 74472af1bc97c4771909e926eb9b27193c50d665036672fc89ff21159408daeef090e682c5e76e19f31d04e802fb73edf01d1aa057b543568f534d31f8db375b SHA512 9c6899b42502f3892463f1ec694934cc3b02831222fa15b5a899868229366ed4e9cc728ea2c70ec857ee9d676d763b1e390f6878a597a33f7d1cd5a7bd870586
+DIST libdnet-1.16.2.tar.gz 675191 BLAKE2B 04e4533dbe45700decec4755c7db608d0ca68be05431bf44e6984b2c6a4aec55888fc0f0159916c8ac4a60ec5f743047d2a0a541786cd13fda61739bd7eef0fb SHA512 4b1902553a57eeb56952968e15be032de92d8106dc6e0ebf8e10470605c9c2ed69cb015f4057a5c119d01509c6795fc0dcda85a311d14124dddefdeb6223f848
+DIST libdnet-1.16.4.tar.gz 684358 BLAKE2B 40be891c9004288329aaee0c79a29ebf0f095dfaaca4da98fd5ecfd759e22b8d10dc6b906200db1ac5b0a8cfbbea8fbe509da393e60cddeb5f875ad179cdc67a SHA512 6c5556e365047afcc5da3f76b1c99aa70723c076a7cf75c03d96a661a583dfa6d0ab605076e68efffe5ddca2d69875e4bc4938e0874b8aa24915fcfbfe3f3ff9
+DIST libdnet-1.17.0.tar.gz 684645 BLAKE2B b208cb41201145411b1949531cb1ab27b4edc6026b8ca703c24231fdb021f46bfe922eb1da11090c271f439339f5384c93168fad3130ed2f89b3d2eca5c7f89f SHA512 b207b2f61e3759a2b17827eabf37b0eb68cb9fa27418f99ee4efd754b01dfe8504dff465664b14054d54df334195d43963d142c7104dc603b2b8b1491590d2a7
+DIST libdnet-1.18.0.tar.gz 740145 BLAKE2B 67f9257e0a05c6c768609c288de9a8704a7ba9d66142bcf849929fa3dbc7b59e379cef2a917d01d4ccfa63b5dfffaf7225f9c67f94e6e91c528a3066fae8c933 SHA512 c074828a1ecd21c292f9120c7afb6b3c11e967d1e0aaca78e75a5558e96f5e65e0d24b68b8386c33c1c28734a3d30f5857d394796e049d521c8b4a9a2c8dcea9
diff --git a/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch b/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch
deleted file mode 100644
index 439ffb7cb927..000000000000
--- a/dev-libs/libdnet/files/libdnet-1.14-ndisc.patch
+++ /dev/null
@@ -1,796 +0,0 @@
-From 1c324828f4c6c64c9340f169bc059152dba1f998 Mon Sep 17 00:00:00 2001
-From: Stas Grabois <finpushack@gmail.com>
-Date: Sat, 5 Sep 2020 13:15:32 +0300
-Subject: [PATCH] IPv6 support
-
----
- configure | 20 ++++
- configure.ac | 7 ++
- include/dnet.h | 1 +
- include/dnet/Makefile.am | 2 +-
- include/dnet/Makefile.in | 2 +-
- include/dnet/ip6.h | 3 +
- include/dnet/ndisc.h | 35 +++++++
- include/dnet/route.h | 3 +
- src/Makefile.in | 2 +-
- src/intf.c | 101 +++++++++++++-------
- src/ip6.c | 56 +++++++++++
- src/ndisc-linux.c | 197 +++++++++++++++++++++++++++++++++++++++
- src/ndisc-none.c | 55 +++++++++++
- src/route-linux.c | 95 ++++++++++++++++++-
- 14 files changed, 541 insertions(+), 38 deletions(-)
- create mode 100644 include/dnet/ndisc.h
- create mode 100644 src/ndisc-linux.c
- create mode 100644 src/ndisc-none.c
-
---- a/configure
-+++ b/configure
-@@ -22025,6 +22025,26 @@
-
- fi
-
-+if test "$ac_cv_dnet_linux_procfs" = yes ; then
-+ case $LIBOBJS in
-+ "ndisc-linux.$ac_objext" | \
-+ *" ndisc-linux.$ac_objext" | \
-+ "ndisc-linux.$ac_objext "* | \
-+ *" ndisc-linux.$ac_objext "* ) ;;
-+ *) LIBOBJS="$LIBOBJS ndisc-linux.$ac_objext" ;;
-+esac
-+
-+else
-+ case $LIBOBJS in
-+ "ndisc-none.$ac_objext" | \
-+ *" ndisc-none.$ac_objext" | \
-+ "ndisc-none.$ac_objext "* | \
-+ *" ndisc-none.$ac_objext "* ) ;;
-+ *) LIBOBJS="$LIBOBJS ndisc-none.$ac_objext" ;;
-+esac
-+
-+fi
-+
- if test "$ac_cv_header_linux_if_tun_h" = yes ; then
- case $LIBOBJS in
- "tun-linux.$ac_objext" | \
---- a/configure.ac
-+++ b/configure.ac
-@@ -303,6 +303,13 @@
- AC_LIBOBJ([route-none])
- fi
-
-+dnl Check for ndisc interface.
-+if test "$ac_cv_dnet_linux_procfs" = yes ; then
-+ AC_LIBOBJ([ndisc-linux])
-+else
-+ AC_LIBOBJ([ndisc-none])
-+fi
-+
- dnl Check for tun interface.
- if test "$ac_cv_header_linux_if_tun_h" = yes ; then
- AC_LIBOBJ([tun-linux])
---- a/include/dnet.h
-+++ b/include/dnet.h
-@@ -16,6 +16,7 @@
- #include <dnet/ip6.h>
- #include <dnet/addr.h>
- #include <dnet/arp.h>
-+#include <dnet/ndisc.h>
- #include <dnet/icmp.h>
- #include <dnet/tcp.h>
- #include <dnet/udp.h>
---- a/include/dnet/Makefile.am
-+++ b/include/dnet/Makefile.am
-@@ -5,4 +5,4 @@
- dnetincludedir = $(includedir)/dnet
-
- dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
-- ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h
-+ ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h ndisc.h
---- a/include/dnet/Makefile.in
-+++ b/include/dnet/Makefile.in
-@@ -106,7 +106,7 @@
- dnetincludedir = $(includedir)/dnet
-
- dnetinclude_HEADERS = addr.h arp.h blob.h eth.h fw.h icmp.h intf.h ip.h \
-- ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h
-+ ip6.h os.h rand.h route.h tcp.h tun.h udp.h sctp.h ndisc.h
-
- subdir = include/dnet
- mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
---- a/include/dnet/ip6.h
-+++ b/include/dnet/ip6.h
-@@ -179,6 +179,9 @@
- char *ip6_ntoa(const ip6_addr_t *ip6);
- #define ip6_aton ip6_pton
-
-+ssize_t ip6_add_option(void *buf, size_t len,
-+ int proto, const void *optbuf, size_t optlen);
-+
- void ip6_checksum(void *buf, size_t len);
- __END_DECLS
-
-new file mode 100644
---- a//dev/null
-+++ b/include/dnet/ndisc.h
-@@ -0,0 +1,35 @@
-+/*
-+ * ndisc.c
-+ *
-+ * Kernel arp/ndisc table operations.
-+ *
-+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
-+ *
-+ */
-+
-+#ifndef DNET_NDISC_H
-+#define DNET_NDISC_H
-+
-+/*
-+ * NDISC cache entry
-+ */
-+struct ndisc_entry {
-+ int intf_index;
-+ struct addr ndisc_pa; /* protocol address */
-+ struct addr ndisc_ha; /* hardware address */
-+};
-+
-+typedef struct ndisc_handle ndisc_t;
-+
-+typedef int (*ndisc_handler)(const struct ndisc_entry *entry, void *arg);
-+
-+__BEGIN_DECLS
-+ndisc_t *ndisc_open(void);
-+int ndisc_add(ndisc_t *n, const struct ndisc_entry *entry);
-+int ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry);
-+int ndisc_get(ndisc_t *n, struct ndisc_entry *entry);
-+int ndisc_loop(ndisc_t *n, ndisc_handler callback, void *arg);
-+ndisc_t *ndisc_close(ndisc_t *r);
-+__END_DECLS
-+
-+#endif /* DNET_NDISC_H */
---- a/include/dnet/route.h
-+++ b/include/dnet/route.h
-@@ -26,7 +26,10 @@
- __BEGIN_DECLS
- route_t *route_open(void);
- int route_add(route_t *r, const struct route_entry *entry);
-+int route_add_dev(route_t *r, const struct route_entry *entry, const char* dev);
-+int route6_add(route_t *r, const struct route_entry *entry, int intf_index);
- int route_delete(route_t *r, const struct route_entry *entry);
-+int route6_delete(route_t *r, const struct route_entry *entry, int intf_index);
- int route_get(route_t *r, struct route_entry *entry);
- int route_loop(route_t *r, route_handler callback, void *arg);
- route_t *route_close(route_t *r);
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -144,7 +144,7 @@
- intf-win32.c intf.c ip-cooked.c ip-win32.c ip.c memcmp.c \
- route-bsd.c route-hpux.c route-linux.c route-none.c \
- route-win32.c strlcat.c strlcpy.c strsep.c tun-bsd.c \
-- tun-linux.c tun-none.c tun-solaris.c
-+ tun-linux.c tun-none.c tun-solaris.c ndisc-linux.c ndisc-none.c
- SOURCES = $(libdnet_la_SOURCES)
-
- all: all-am
---- a/src/intf.c
-+++ b/src/intf.c
-@@ -20,6 +20,9 @@
- # define IP_MULTICAST
- #endif
- #include <net/if.h>
-+#ifdef HAVE_NET_IF_DL_H
-+# include <net/if_dl.h>
-+#endif
- #ifdef HAVE_NET_IF_VAR_H
- # include <net/if_var.h>
- #endif
-@@ -79,6 +82,21 @@
- u_char ifcbuf[4192];
- };
-
-+/* TODO: move to .h */
-+union sockunion {
-+#ifdef HAVE_NET_IF_DL_H
-+ struct sockaddr_dl sdl;
-+#endif
-+ struct sockaddr_in sin;
-+#ifdef HAVE_SOCKADDR_IN6
-+ struct sockaddr_in6 sin6;
-+#endif
-+ struct sockaddr sa;
-+#ifdef AF_RAW
-+ struct sockaddr_raw sr;
-+#endif
-+};
-+
- static int
- intf_flags_to_iff(u_short flags, int iff)
- {
-@@ -129,14 +147,10 @@
-
- setsockopt(intf->fd, SOL_SOCKET, SO_BROADCAST,
- (const char *) &one, sizeof(one));
--#ifdef SIOCGIFNETMASK_IN6
- if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
--# ifdef EPROTONOSUPPORT
- if (errno != EPROTONOSUPPORT)
--# endif
- return (intf_close(intf));
- }
--#endif
- }
- return (intf);
- }
-@@ -586,34 +600,50 @@
- return (_intf_get_aliases(intf, entry));
- }
-
-+static int
-+get_max_bits(const struct addr *a)
-+{
-+ if (a->addr_type == ADDR_TYPE_IP) {
-+ return IP_ADDR_BITS;
-+ } else if (a->addr_type == ADDR_TYPE_IP6) {
-+ return IP6_ADDR_BITS;
-+ } else {
-+ return 0;
-+ }
-+}
-+
- static int
- _match_intf_src(const struct intf_entry *entry, void *arg)
- {
-- int matched = 0;
-- int cnt;
- struct intf_entry *save = (struct intf_entry *)arg;
--
-- if (entry->intf_addr.addr_type == ADDR_TYPE_IP &&
-- entry->intf_addr.addr_ip == save->intf_addr.addr_ip) {
-- matched = 1;
-- } else {
-- for (cnt = 0; !matched && cnt < (int) entry->intf_alias_num; cnt++) {
-- if (entry->intf_alias_addrs[cnt].addr_type != ADDR_TYPE_IP)
-- continue;
-- if (entry->intf_alias_addrs[cnt].addr_ip == save->intf_addr.addr_ip)
-- matched = 1;
-- }
-+ int len = save->intf_len < entry->intf_len ? save->intf_len : entry->intf_len;
-+ int i;
-+
-+ struct addr a, saved_addr;
-+
-+ saved_addr = save->intf_addr;
-+ saved_addr.addr_bits = get_max_bits(&saved_addr);
-+
-+ a = entry->intf_addr;
-+ a.addr_bits = get_max_bits(&a);
-+
-+ if (addr_cmp(&a, &saved_addr) == 0) {
-+ memcpy(save, entry, len);
-+ return 1;
- }
-
-- if (matched) {
-- /* XXX - truncated result if entry is too small. */
-- if (save->intf_len < entry->intf_len)
-- memcpy(save, entry, save->intf_len);
-- else
-- memcpy(save, entry, entry->intf_len);
-- return (1);
-+ for (i = 0; i < (int)entry->intf_alias_num; i++) {
-+ a = entry->intf_alias_addrs[i];
-+ a.addr_bits = get_max_bits(&a);
-+
-+ if (addr_cmp(&a, &saved_addr) == 0) {
-+ memcpy(save, entry, len);
-+ save->intf_addr = entry->intf_alias_addrs[i];
-+ return 1;
-+ }
- }
-- return (0);
-+
-+ return 0;
- }
-
- int
-@@ -631,24 +661,27 @@
- int
- intf_get_dst(intf_t *intf, struct intf_entry *entry, struct addr *dst)
- {
-- struct sockaddr_in sin;
-+ union sockunion sun;
- socklen_t n;
-
-- if (dst->addr_type != ADDR_TYPE_IP) {
-+ int fd;
-+
-+ if (dst->addr_type != ADDR_TYPE_IP && dst->addr_type != ADDR_TYPE_IP6) {
- errno = EINVAL;
- return (-1);
- }
-- addr_ntos(dst, (struct sockaddr *)&sin);
-- sin.sin_port = htons(666);
--
-- if (connect(intf->fd, (struct sockaddr *)&sin, sizeof(sin)) < 0)
-+ addr_ntos(dst, (struct sockaddr *)&sun);
-+ sun.sin.sin_port = htons(666);
-+
-+ fd = dst->addr_type == ADDR_TYPE_IP6 ? intf->fd6 : intf->fd;
-+ if (connect(fd, (struct sockaddr *)&sun, sizeof(sun)) < 0)
- return (-1);
-
-- n = sizeof(sin);
-- if (getsockname(intf->fd, (struct sockaddr *)&sin, &n) < 0)
-+ n = sizeof(sun);
-+ if (getsockname(fd, (struct sockaddr *)&sun, &n) < 0)
- return (-1);
-
-- addr_ston((struct sockaddr *)&sin, &entry->intf_addr);
-+ addr_ston((struct sockaddr *)&sun, &entry->intf_addr);
-
- if (intf_loop(intf, _match_intf_src, entry) != 1)
- return (-1);
---- a/src/ip6.c
-+++ b/src/ip6.c
-@@ -9,6 +9,8 @@
- #include "config.h"
-
- #include "dnet.h"
-+#include <string.h>
-+#include <errno.h>
-
- #define IP6_IS_EXT(n) \
- ((n) == IP_PROTO_HOPOPTS || (n) == IP_PROTO_DSTOPTS || \
-@@ -70,3 +72,57 @@
- }
- }
- }
-+
-+ssize_t
-+ip6_add_option(void *buf, size_t len, int proto,
-+ const void *optbuf, size_t optlen)
-+{
-+ struct ip6_hdr *ip6;
-+ struct tcp_hdr *tcp = NULL;
-+ u_char *p;
-+ int hl, datalen, padlen;
-+
-+ if (proto != IP_PROTO_TCP) {
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+
-+ ip6 = (struct ip6_hdr *)buf;
-+ p = (u_char *)buf + IP6_HDR_LEN;
-+
-+ tcp = (struct tcp_hdr *)p;
-+ hl = tcp->th_off << 2;
-+ p = (u_char *)tcp + hl;
-+
-+ datalen = ntohs(ip6->ip6_plen) + IP6_HDR_LEN - (p - (u_char *)buf);
-+
-+ /* Compute padding to next word boundary. */
-+ if ((padlen = 4 - (optlen % 4)) == 4)
-+ padlen = 0;
-+
-+ /* XXX - IP_HDR_LEN_MAX == TCP_HDR_LEN_MAX */
-+ if (hl + optlen + padlen > IP_HDR_LEN_MAX ||
-+ ntohs(ip6->ip6_plen) + IP6_HDR_LEN + optlen + padlen > len) {
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+
-+ /* Shift any existing data. */
-+ if (datalen) {
-+ memmove(p + optlen + padlen, p, datalen);
-+ }
-+ /* XXX - IP_OPT_NOP == TCP_OPT_NOP */
-+ if (padlen) {
-+ memset(p, IP_OPT_NOP, padlen);
-+ p += padlen;
-+ }
-+ memmove(p, optbuf, optlen);
-+ p += optlen;
-+ optlen += padlen;
-+
-+ tcp->th_off = (p - (u_char *)tcp) >> 2;
-+
-+ ip6->ip6_plen = htons(ntohs(ip6->ip6_plen) + optlen);
-+
-+ return (optlen);
-+}
-new file mode 100644
---- a//dev/null
-+++ b/src/ndisc-linux.c
-@@ -0,0 +1,197 @@
-+/*
-+ * ndisc-linux.c
-+ *
-+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
-+ *
-+ */
-+
-+#include "config.h"
-+
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/socket.h>
-+#include <sys/uio.h>
-+
-+#include <asm/types.h>
-+#include <netinet/in.h>
-+#include <linux/netlink.h>
-+#include <linux/rtnetlink.h>
-+
-+#include <net/route.h>
-+
-+#include <ctype.h>
-+#include <errno.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#include "dnet.h"
-+
-+struct ndisc_handle
-+{
-+ int nlfd;
-+ int seq;
-+};
-+
-+ndisc_t *
-+ndisc_open(void)
-+{
-+ struct sockaddr_nl snl;
-+ ndisc_t *n;
-+
-+ if ((n = calloc(1, sizeof(*n))) != NULL) {
-+ n->nlfd = -1;
-+
-+ if ((n->nlfd = socket(AF_NETLINK, SOCK_RAW,
-+ NETLINK_ROUTE)) < 0)
-+ return (ndisc_close(n));
-+
-+ memset(&snl, 0, sizeof(snl));
-+ snl.nl_family = AF_NETLINK;
-+
-+ if (bind(n->nlfd, (struct sockaddr *)&snl, sizeof(snl)) < 0)
-+ return (ndisc_close(n));
-+ }
-+ return (n);
-+}
-+
-+static int
-+netlink_addattr(struct nlmsghdr *n, int type, const void *data, int data_len)
-+{
-+ int len = RTA_LENGTH(data_len);
-+ struct rtattr *rta;
-+
-+ rta = (struct rtattr *)((uint8_t*)n + NLMSG_ALIGN(n->nlmsg_len));
-+ rta->rta_type = type;
-+ rta->rta_len = len;
-+ memcpy(RTA_DATA(rta), data, data_len);
-+ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len);
-+ return 0;
-+}
-+
-+int
-+ndisc_modify(ndisc_t *n, const struct ndisc_entry *entry, int type, int flags)
-+{
-+ struct nlmsghdr *nmsg;
-+ struct ndmsg *ndm;
-+ struct rtattr *rta;
-+ struct sockaddr_nl snl;
-+ struct iovec iov;
-+ struct msghdr msg;
-+ u_char buf[512];
-+ int i, af, alen;
-+
-+ switch (entry->ndisc_pa.addr_type) {
-+ case ADDR_TYPE_IP:
-+ af = AF_INET;
-+ alen = IP_ADDR_LEN;
-+ break;
-+ case ADDR_TYPE_IP6:
-+ af = AF_INET6;
-+ alen = IP6_ADDR_LEN;
-+ break;
-+ default:
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+ memset(buf, 0, sizeof(buf));
-+
-+ nmsg = (struct nlmsghdr *)buf;
-+ nmsg->nlmsg_len = NLMSG_LENGTH(sizeof(struct ndmsg));
-+ nmsg->nlmsg_flags = NLM_F_REQUEST | flags;
-+ nmsg->nlmsg_type = type;
-+ nmsg->nlmsg_seq = ++n->seq;
-+
-+ nmsg->nlmsg_flags |= NLM_F_ACK;
-+
-+ ndm = (struct ndmsg *)(nmsg + 1);
-+ ndm->ndm_family = af;
-+ ndm->ndm_state = NUD_PERMANENT;
-+ ndm->ndm_ifindex = entry->intf_index;
-+
-+ netlink_addattr(nmsg, NDA_DST, &entry->ndisc_pa.addr_data8[0],
-+ alen);
-+
-+ if (type == RTM_NEWNEIGH) {
-+ netlink_addattr(nmsg, NDA_LLADDR,
-+ &entry->ndisc_ha.addr_data8[0], ETH_ADDR_LEN);
-+ }
-+
-+ memset(&snl, 0, sizeof(snl));
-+ snl.nl_family = AF_NETLINK;
-+
-+ iov.iov_base = nmsg;
-+ iov.iov_len = nmsg->nlmsg_len;
-+
-+ memset(&msg, 0, sizeof(msg));
-+ msg.msg_name = &snl;
-+ msg.msg_namelen = sizeof(snl);
-+ msg.msg_iov = &iov;
-+ msg.msg_iovlen = 1;
-+
-+ if (sendmsg(n->nlfd, &msg, 0) < 0)
-+ return (-1);
-+
-+ iov.iov_base = buf;
-+ iov.iov_len = sizeof(buf);
-+
-+ if ((i = recvmsg(n->nlfd, &msg, 0)) <= 0)
-+ return (-1);
-+
-+ if (nmsg->nlmsg_len < (int)sizeof(*nmsg) || nmsg->nlmsg_len > i ||
-+ nmsg->nlmsg_seq != n->seq) {
-+ errno = EINVAL;
-+ return (-1);
-+ }
-+ if (nmsg->nlmsg_type == NLMSG_ERROR) {
-+ struct nlmsgerr *err = (struct nlmsgerr*)NLMSG_DATA(nmsg);
-+ errno = -err->error;
-+ if (errno == 0) {
-+ return 0;
-+ }
-+
-+ return (-1);
-+ }
-+
-+ return (-1);
-+}
-+
-+int
-+ndisc_add(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ return ndisc_modify(n, entry, RTM_NEWNEIGH, NLM_F_CREATE | NLM_F_EXCL);
-+}
-+
-+int
-+ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ return ndisc_modify(n, entry, RTM_DELNEIGH, 0);
-+}
-+
-+int
-+ndisc_get(ndisc_t *n, struct ndisc_entry *entry)
-+{
-+ /* TBD */
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+nsidc_loop(ndisc_t *n, ndisc_handler callback, void *arg)
-+{
-+ /* TBD */
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+ndisc_t *
-+ndisc_close(ndisc_t *n)
-+{
-+ if (n != NULL) {
-+ if (n->nlfd >= 0)
-+ close(n->nlfd);
-+ free(n);
-+ }
-+ return (NULL);
-+}
-new file mode 100644
---- a//dev/null
-+++ b/src/ndisc-none.c
-@@ -0,0 +1,55 @@
-+/*
-+ * ndisc-linux.c
-+ *
-+ * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
-+ *
-+ */
-+
-+#include "config.h"
-+
-+#include <errno.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+#include "dnet.h"
-+
-+ndisc_t *
-+ndisc_open(void)
-+{
-+ errno = ENOSYS;
-+ return (NULL);
-+}
-+
-+int
-+ndisc_add(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+ndisc_delete(ndisc_t *n, const struct ndisc_entry *entry)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+ndisc_get(ndisc_t *n, struct ndisc_entry *entry)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+int
-+nsidc_loop(ndisc_t *n, ndisc_handler callback, void *arg)
-+{
-+ errno = ENOSYS;
-+ return (-1);
-+}
-+
-+ndisc_t *
-+ndisc_close(ndisc_t *n)
-+{
-+ return (NULL);
-+}
---- a/src/route-linux.c
-+++ b/src/route-linux.c
-@@ -39,6 +39,7 @@
-
- struct route_handle {
- int fd;
-+ int fd6;
- int nlfd;
- };
-
-@@ -49,10 +50,13 @@
- route_t *r;
-
- if ((r = calloc(1, sizeof(*r))) != NULL) {
-- r->fd = r->nlfd = -1;
-+ r->fd = r->fd6 = r->nlfd = -1;
-
- if ((r->fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
- return (route_close(r));
-+
-+ if ((r->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0)
-+ return (route_close(r));
-
- if ((r->nlfd = socket(AF_NETLINK, SOCK_RAW,
- NETLINK_ROUTE)) < 0)
-@@ -90,6 +94,67 @@
- return (ioctl(r->fd, SIOCADDRT, &rt));
- }
-
-+int
-+route_add_dev(route_t *r, const struct route_entry *entry, const char* dev)
-+{
-+ struct rtentry rt;
-+ struct addr dst;
-+
-+ memset(&rt, 0, sizeof(rt));
-+ rt.rt_flags = RTF_UP;
-+ rt.rt_dev = (char*)dev;
-+
-+ if (ADDR_ISHOST(&entry->route_dst)) {
-+ rt.rt_flags |= RTF_HOST;
-+ memcpy(&dst, &entry->route_dst, sizeof(dst));
-+ } else
-+ addr_net(&entry->route_dst, &dst);
-+
-+ if (entry->route_gw.addr_ip != 0) {
-+ rt.rt_flags |= RTF_GATEWAY;
-+ }
-+
-+ if (addr_ntos(&dst, &rt.rt_dst) < 0 ||
-+ addr_ntos(&entry->route_gw, &rt.rt_gateway) < 0 ||
-+ addr_btos(entry->route_dst.addr_bits, &rt.rt_genmask) < 0)
-+ return (-1);
-+
-+ int ret = (ioctl(r->fd, SIOCADDRT, &rt));
-+ return ret;
-+}
-+
-+int
-+route6_add(route_t *r, const struct route_entry *entry, int intf_index)
-+{
-+ struct in6_rtmsg rt;
-+ struct addr dst;
-+
-+ memset(&rt, 0, sizeof(rt));
-+ rt.rtmsg_flags = RTF_UP;
-+
-+ if (ADDR_ISHOST(&entry->route_dst)) {
-+ rt.rtmsg_flags |= RTF_HOST;
-+ memcpy(&dst, &entry->route_dst, sizeof(dst));
-+ } else {
-+ addr_net(&entry->route_dst, &dst);
-+ }
-+
-+ rt.rtmsg_dst_len = entry->route_dst.addr_bits;
-+ rt.rtmsg_ifindex = intf_index;
-+ rt.rtmsg_metric = 1;
-+
-+ memcpy(&rt.rtmsg_dst, &dst.addr_ip6, sizeof(rt.rtmsg_dst));
-+
-+ if (!IN6_IS_ADDR_UNSPECIFIED(&entry->route_gw.addr_ip6)) {
-+ rt.rtmsg_flags |= RTF_GATEWAY;
-+ memcpy(&rt.rtmsg_gateway, &entry->route_gw.addr_ip6,
-+ sizeof(rt.rtmsg_gateway));
-+ }
-+
-+ int ret = (ioctl(r->fd6, SIOCADDRT, &rt));
-+ return ret;
-+}
-+
- int
- route_delete(route_t *r, const struct route_entry *entry)
- {
-@@ -112,6 +177,32 @@
- return (ioctl(r->fd, SIOCDELRT, &rt));
- }
-
-+int
-+route6_delete(route_t *r, const struct route_entry *entry, int intf_index)
-+{
-+ struct in6_rtmsg rt;
-+ struct addr dst;
-+
-+ memset(&rt, 0, sizeof(rt));
-+ rt.rtmsg_flags = RTF_UP;
-+
-+ if (ADDR_ISHOST(&entry->route_dst)) {
-+ rt.rtmsg_flags |= RTF_HOST;
-+ memcpy(&dst, &entry->route_dst, sizeof(dst));
-+ } else
-+ addr_net(&entry->route_dst, &dst);
-+
-+ rt.rtmsg_dst_len = entry->route_dst.addr_bits;
-+ rt.rtmsg_ifindex = intf_index;
-+ rt.rtmsg_metric = 1;
-+
-+ memcpy(&rt.rtmsg_dst, &dst, sizeof(rt.rtmsg_dst));
-+ memcpy(&rt.rtmsg_gateway, &entry->route_gw, sizeof(rt.rtmsg_gateway));
-+
-+ int ret = (ioctl(r->fd6, SIOCDELRT, &rt));
-+ return ret;
-+}
-+
- int
- route_get(route_t *r, struct route_entry *entry)
- {
-@@ -278,6 +369,8 @@
- if (r != NULL) {
- if (r->fd >= 0)
- close(r->fd);
-+ if (r->fd6 >= 0)
-+ close(r->fd6);
- if (r->nlfd >= 0)
- close(r->nlfd);
- free(r);
diff --git a/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch b/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch
deleted file mode 100644
index abc3a6b0f2d3..000000000000
--- a/dev-libs/libdnet/files/libdnet-1.14-strlcpy.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/python/dnet.c
-+++ b/python/dnet.c
-@@ -22,6 +22,7 @@
- #endif
- __PYX_EXTERN_C double pow(double, double);
- #include "dnet.h"
-+#include "config.h"
-
-
- typedef struct {const char *s; const void **p;} __Pyx_CApiTabEntry; /*proto*/
diff --git a/dev-libs/libdnet/libdnet-1.14-r2.ebuild b/dev-libs/libdnet/libdnet-1.14-r2.ebuild
deleted file mode 100644
index 90dbdead4409..000000000000
--- a/dev-libs/libdnet/libdnet-1.14-r2.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-AT_M4DIR="config"
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_OPTIONAL=1
-inherit autotools distutils-r1
-
-DESCRIPTION="simplified, portable interface to several low-level networking routines"
-HOMEPAGE="https://github.com/ofalk/libdnet"
-SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="python test"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-DEPEND="python? ( ${PYTHON_DEPS} )"
-RDEPEND="${DEPEND}"
-BDEPEND="
- python? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md THANKS )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.14-ndisc.patch"
- "${FILESDIR}/${PN}-1.14-strlcpy.patch"
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e 's/libcheck.a/libcheck.so/g' \
- -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \
- configure.ac || die
- sed -i \
- -e 's|-L$libdir ||g' \
- dnet-config.in || die
- sed -i \
- -e '/^SUBDIRS/s|python||g' \
- Makefile.am || die
-
- eautoreconf
-
- if use python; then
- cd python || die
- distutils-r1_src_prepare
- fi
-}
-
-src_configure() {
- econf \
- --disable-static \
- $(use_with python)
-}
-
-src_compile() {
- default
- if use python; then
- cd python || die
- distutils-r1_src_compile
- fi
-}
-
-src_install() {
- default
-
- if use python; then
- cd python || die
- unset DOCS
- distutils-r1_src_install
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libdnet/libdnet-1.16.1.ebuild b/dev-libs/libdnet/libdnet-1.16.1.ebuild
deleted file mode 100644
index b4a55eda9c28..000000000000
--- a/dev-libs/libdnet/libdnet-1.16.1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-DISTUTILS_OPTIONAL=1
-inherit autotools distutils-r1
-
-DESCRIPTION="Simplified, portable interface to several low-level networking routines"
-HOMEPAGE="https://github.com/ofalk/libdnet"
-SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="python test"
-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|-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) \
- --with-check=$(usex test "${ESYSROOT}/usr")
-}
-
-src_compile() {
- default
- if use python; then
- cd python || die
- distutils-r1_src_compile
- fi
-}
-
-src_install() {
- default
-
- if use python; then
- cd python || die
- unset DOCS
- distutils-r1_src_install
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libdnet/libdnet-1.16.2.ebuild b/dev-libs/libdnet/libdnet-1.16.2.ebuild
new file mode 100644
index 000000000000..8ed52eca9704
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.16.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )"
+RDEPEND="${DEPEND}"
+BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ --without-check
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnet/libdnet-1.16.4.ebuild b/dev-libs/libdnet/libdnet-1.16.4.ebuild
new file mode 100644
index 000000000000..08f0bd6dfacb
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.16.4.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )"
+RDEPEND="${DEPEND}"
+BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnet/libdnet-1.17.0.ebuild b/dev-libs/libdnet/libdnet-1.17.0.ebuild
new file mode 100644
index 000000000000..fd47d46e0186
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.17.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )
+"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnet/libdnet-1.18.0.ebuild b/dev-libs/libdnet/libdnet-1.18.0.ebuild
new file mode 100644
index 000000000000..fd47d46e0186
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.18.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )
+"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild b/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild
index 01dfa007a8b7..f774ab301982 100644
--- a/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild
+++ b/dev-libs/libdynd/libdynd-0.7.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,7 +18,7 @@ KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
IUSE="cuda doc fftw test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
+BDEPEND="doc? ( app-text/doxygen[dot] )"
RDEPEND="
dev-libs/c-blosc:=
cuda? ( dev-util/nvidia-cuda-toolkit )
diff --git a/dev-libs/libdynd/metadata.xml b/dev-libs/libdynd/metadata.xml
index 97a1c50305a2..dc216a13aea0 100644
--- a/dev-libs/libdynd/metadata.xml
+++ b/dev-libs/libdynd/metadata.xml
@@ -15,9 +15,6 @@
preview development state, and can be thought of as a sandbox where
features are being tried and tweaked to gain experience with them.
</longdescription>
- <use>
- <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
- </use>
<upstream>
<remote-id type="github">libdynd/libdynd</remote-id>
</upstream>
diff --git a/dev-libs/libe/Manifest b/dev-libs/libe/Manifest
deleted file mode 100644
index 11215c2a2c70..000000000000
--- a/dev-libs/libe/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libe-0.11.0.tar.gz 414542 BLAKE2B 5b7c312b837659811cca7e64c0006fb5b3378086b82f44b5819f975a11038cc305338555d60758e1f8435672a855668ab2e6719a4a42c9c7d596ca4d35a1aa5d SHA512 178003b19f5ad2b3503a929bce131d329e5eafba9f46ae3343cf4271e248ef883b84945e642239a7cdc96185e1b975bcf62004831042c2ab232e7813efbb5339
diff --git a/dev-libs/libe/files/libe-0.11.0-strtoul.patch b/dev-libs/libe/files/libe-0.11.0-strtoul.patch
deleted file mode 100644
index e993c593252f..000000000000
--- a/dev-libs/libe/files/libe-0.11.0-strtoul.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/e/convert.h
-+++ b/e/convert.h
-@@ -58,7 +58,7 @@
-
- errno = 0;
- #ifdef _MSC_VER
-- ret = _strtoui64(s.c_str(), &endptr, base);
-+ ret = strtoul(s.c_str(), &endptr, base);
- #else
- ret = strtoull(s.c_str(), &endptr, base);
- #endif
diff --git a/dev-libs/libe/libe-0.11.0.ebuild b/dev-libs/libe/libe-0.11.0.ebuild
deleted file mode 100644
index 45011db72260..000000000000
--- a/dev-libs/libe/libe-0.11.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Hyperdex libe support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-# bit messy at the moment, next release should fix it I hope
-RESTRICT="test"
-
-RDEPEND="dev-libs/libpo6"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.11.0-strtoul.patch )
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- # no static archives
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libe/metadata.xml b/dev-libs/libe/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/libe/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libebml/Manifest b/dev-libs/libebml/Manifest
index c95e4195b4cf..37734bdd9b13 100644
--- a/dev-libs/libebml/Manifest
+++ b/dev-libs/libebml/Manifest
@@ -1 +1,2 @@
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.4.5.ebuild b/dev-libs/libebml/libebml-1.4.5.ebuild
new file mode 100644
index 000000000000..7c2f857b9463
--- /dev/null
+++ b/dev-libs/libebml/libebml-1.4.5.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Extensible binary format library (kinda like XML)"
+HOMEPAGE="https://www.matroska.org/ https://github.com/Matroska-Org/libebml/"
+SRC_URI="https://dl.matroska.org/downloads/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5" # subslot = soname major version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
diff --git a/dev-libs/libedit/libedit-20221030.3.1.ebuild b/dev-libs/libedit/libedit-20221030.3.1.ebuild
index 5733658ffc69..0efa3b2f8b95 100644
--- a/dev-libs/libedit/libedit-20221030.3.1.ebuild
+++ b/dev-libs/libedit/libedit-20221030.3.1.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://thrysoee.dk/editline/"
SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz"
S=${WORKDIR}/${MY_P}
-LICENSE="BSD-2"
+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"
diff --git a/dev-libs/libee/libee-0.4.1.ebuild b/dev-libs/libee/libee-0.4.1.ebuild
index 9355b1f0a058..0c199a5b8e31 100644
--- a/dev-libs/libee/libee-0.4.1.ebuild
+++ b/dev-libs/libee/libee-0.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,17 +10,19 @@ SRC_URI="http://www.libee.org/files/download/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 ~hppa x86 ~amd64-linux"
-IUSE="debug"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libxml2
- dev-libs/libestr"
+ dev-libs/libestr
+"
DEPEND="${RDEPEND}"
src_configure() {
econf \
--disable-static \
- --enable-testbench \
+ $(use_enable test testbench) \
$(use_enable debug)
}
diff --git a/dev-libs/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-r3.ebuild b/dev-libs/libelf/libelf-0.8.13-r3.ebuild
index a1323dc1f305..bccbd87625a1 100644
--- a/dev-libs/libelf/libelf-0.8.13-r3.ebuild
+++ b/dev-libs/libelf/libelf-0.8.13-r3.ebuild
@@ -11,7 +11,7 @@ SRC_URI="http://www.mr511.de/software/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 sparc x86 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 sparc x86 ~x64-solaris"
IUSE="debug nls"
RDEPEND="!dev-libs/elfutils"
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/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.3.ebuild b/dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild
index fa01a43d32f5..f600ce77a6a5 100644
--- a/dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild
+++ b/dev-libs/liberasurecode/liberasurecode-1.6.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools
+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"
@@ -14,14 +14,25 @@ SLOT="0"
KEYWORDS="amd64 ~arm64 x86"
IUSE="doc static-libs"
-DEPEND="doc? ( app-doc/doxygen )"
+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() {
- eapply_user
+ 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 \
diff --git a/dev-libs/libev/libev-4.33.ebuild b/dev-libs/libev/libev-4.33.ebuild
index 127618dc6d37..b8ffdb37c3da 100644
--- a/dev-libs/libev/libev-4.33.ebuild
+++ b/dev-libs/libev/libev-4.33.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools multilib-minimal
+inherit autotools flag-o-matic multilib-minimal
DESCRIPTION="A high-performance event loop/event model with lots of feature"
HOMEPAGE="http://software.schmorp.de/pkg/libev.html"
@@ -27,6 +27,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # See bug #855869 and its large number of dupes in bundled libev copies.
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
ECONF_SOURCE="${S}" \
econf \
diff --git a/dev-libs/libevdev/Manifest b/dev-libs/libevdev/Manifest
index 160652327aa3..2892eb9d590c 100644
--- a/dev-libs/libevdev/Manifest
+++ b/dev-libs/libevdev/Manifest
@@ -1 +1 @@
-DIST libevdev-1.13.0.tar.xz 451328 BLAKE2B 07b15bf46ca3b01d9a93da8d93fd60b2f1eb95961f0f202a321030e145528453375f1e4fa3458adac3f3346cc26642538251b35002f18f9802799e4732d39f3e SHA512 f30f14c44ef4d4829625aa4c28f10555f333905486f9d39c18cd3ca35e87128a0c24c1bc18ca37b6bf98bc8f7fad27e1bc68678a58e6e6fff3b8d99502ac6905
+DIST libevdev-1.13.1.tar.xz 455484 BLAKE2B 063eefeebebf5253ce23666e31d67d7268ad97e09f84e0e3a02b1024a92f68e1a4f1fc2508304abf49ab05dba4961b49463b640a18c79ea38ca0c5a9d8bf3e9c SHA512 9b75bad4bc13948854c8dff7a7a46aca6c06d1410ccb000f881bf76055ccac040595c3b24fb1a574be875b5c262eb86820b9ec3383752641bc2047135e5a412f
diff --git a/dev-libs/libevdev/libevdev-1.13.0.ebuild b/dev-libs/libevdev/libevdev-1.13.0.ebuild
deleted file mode 100644
index 202eca1b8e96..000000000000
--- a/dev-libs/libevdev/libevdev-1.13.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit meson-multilib python-any-r1
-
-DESCRIPTION="Handler library for evdev events"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/libevdev/ https://gitlab.freedesktop.org/libevdev/libevdev"
-
-if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/libevdev/libevdev.git"
- inherit git-r3
-else
- SRC_URI="https://www.freedesktop.org/software/libevdev/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="doc test"
-
-DEPEND="test? ( dev-libs/check[${MULTILIB_USEDEP}] )"
-BDEPEND="
- ${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
-"
-RESTRICT="!test? ( test )"
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- meson_src_test -t 100
-}
-
-multilib_src_install_all() {
- if use doc; then
- local HTML_DOCS=( doc/html/. )
- einstalldocs
- fi
-}
diff --git a/dev-libs/libevdev/libevdev-1.13.1-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-9999.ebuild b/dev-libs/libevdev/libevdev-9999.ebuild
index 74a2c08922e0..5016bca432b7 100644
--- a/dev-libs/libevdev/libevdev-9999.ebuild
+++ b/dev-libs/libevdev/libevdev-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson-multilib python-any-r1
@@ -25,7 +25,7 @@ IUSE="doc test"
DEPEND="test? ( dev-libs/check[${MULTILIB_USEDEP}] )"
BDEPEND="
${PYTHON_DEPS}
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
virtual/pkgconfig
"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libevent/Manifest b/dev-libs/libevent/Manifest
index f1f1c08b55bb..cfc3c56e4cb7 100644
--- a/dev-libs/libevent/Manifest
+++ b/dev-libs/libevent/Manifest
@@ -1,2 +1,4 @@
-DIST libevent-2.1.11.tar.gz 1082234 BLAKE2B c6721589834bff027a8149ee0076e1877fba000d1712a405e20030192d9c81b892d0930bc1a4774650bef4cb08c60ac81b5928dc17346492ae7e4ded2125579a SHA512 9d0517b117f128f4f196b19a810524814bab75fa967d533063aaa619d3cf2dca97b443edd5805b764da2993d8e37caa536dce39f68ffcc2a88d32a89204c2de3
-DIST libevent-2.1.12.tar.gz 1100847 BLAKE2B bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290 SHA512 88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f
+DIST libevent-2.1.12-stable.tar.gz 1100847 BLAKE2B bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290 SHA512 88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f
+DIST libevent-2.1.12-stable.tar.gz.asc 488 BLAKE2B 629109913fe57110d0d78f5a7f18f36a7556b6b438ca65d9ce7c8f1d46e04cb9af4df8d7504d31165b510869154ea3a546e55a83bd7b1247bcfdf7c7d9509312 SHA512 841b57a0f6ba645b1871f257b9929093b11b7d6fd03332e6339adceddda233e78f6190faa2339e2b67b26dc2a56ddd7ce622792820b582168b31a2d1d1854f1f
+DIST libevent-2.2.1-alpha-dev.tar.gz 1166550 BLAKE2B 4ab460a521aab90852ade14c937c06a21f8e5649a1a1dc4114f978a99272deb77b4e05923861e979f4ee5f50e04149d7b8f8e38294279757f27779597f407d79 SHA512 3e0ef283979a30cce11065c3b9a1078f3f006dbab86e8b49f75dc3aac2384085cb74477d95e5bc4e88c0d81ee2359fcd1cf292107d4791de87191019f2fcdfa5
+DIST libevent-2.2.1-alpha-dev.tar.gz.asc 488 BLAKE2B d3e2b2782edd3bcabe42183b5b6647b6e55cd52292813901015a96c6eeec40e1ce57e9be731b2bd027c787f22b8ac5a587b7bed1dff95993bedde8b88fc1e89c SHA512 af720bce0829e806fb8bbb043eaf973fa6765ee17f059367b72344ce111a68f878b7a2fe361e4a3db61c7b4724c7dff19f960636b98e4208e7e27a2a077b8848
diff --git a/dev-libs/libevent/files/libevent-2.1.12-clang16.patch b/dev-libs/libevent/files/libevent-2.1.12-clang16.patch
new file mode 100644
index 000000000000..2ecf2472079f
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.1.12-clang16.patch
@@ -0,0 +1,105 @@
+https://bugs.gentoo.org/880381
+https://github.com/libevent/libevent/commit/35375101e741d78bf49642c6929c1eb69a7c3d79
+
+From 35375101e741d78bf49642c6929c1eb69a7c3d79 Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat@libevent.org>
+Date: Fri, 27 Jan 2023 08:57:33 +0100
+Subject: [PATCH] Fixes some new warnings under clang-15
+
+- -Wdeprecated-non-prototype
+
+ /src/le/libevent/strlcpy.c:48:1: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
+ event_strlcpy_(dst, src, siz)
+
+- -Wstrict-prototypes
+
+ /src/le/libevent/evthread.c:82:70: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
+ struct evthread_condition_callbacks *evthread_get_condition_callbacks()
+
+- -Wunused-but-set-variable
+
+ /src/le/libevent/test/regress_buffer.c:130:6: warning: variable 'n' set but not used [-Wunused-but-set-variable]
+ int n = 0;
+ ^
+---
+ evthread.c | 4 ++--
+ strlcpy.c | 6 +-----
+ test/regress_buffer.c | 5 -----
+ 3 files changed, 3 insertions(+), 12 deletions(-)
+
+diff --git a/evthread.c b/evthread.c
+index 3eac594d64..c2da914da1 100644
+--- a/evthread.c
++++ b/evthread.c
+@@ -74,12 +74,12 @@ evthread_set_id_callback(unsigned long (*id_fn)(void))
+ evthread_id_fn_ = id_fn;
+ }
+
+-struct evthread_lock_callbacks *evthread_get_lock_callbacks()
++struct evthread_lock_callbacks *evthread_get_lock_callbacks(void)
+ {
+ return evthread_lock_debugging_enabled_
+ ? &original_lock_fns_ : &evthread_lock_fns_;
+ }
+-struct evthread_condition_callbacks *evthread_get_condition_callbacks()
++struct evthread_condition_callbacks *evthread_get_condition_callbacks(void)
+ {
+ return evthread_lock_debugging_enabled_
+ ? &original_cond_fns_ : &evthread_cond_fns_;
+diff --git a/strlcpy.c b/strlcpy.c
+index 3876475f5a..04c74298dc 100644
+--- a/strlcpy.c
++++ b/strlcpy.c
+@@ -44,11 +44,7 @@ static char *rcsid = "$OpenBSD: strlcpy.c,v 1.5 2001/05/13 15:40:16 deraadt Exp
+ * will be copied. Always NUL terminates (unless siz == 0).
+ * Returns strlen(src); if retval >= siz, truncation occurred.
+ */
+-size_t
+-event_strlcpy_(dst, src, siz)
+- char *dst;
+- const char *src;
+- size_t siz;
++size_t event_strlcpy_(char *dst, const char *src, size_t siz)
+ {
+ register char *d = dst;
+ register const char *s = src;
+diff --git a/test/regress_buffer.c b/test/regress_buffer.c
+index 5683810e26..b0a9e0c162 100644
+--- a/test/regress_buffer.c
++++ b/test/regress_buffer.c
+@@ -127,19 +127,16 @@ evbuffer_get_waste(struct evbuffer *buf, size_t *allocatedp, size_t *wastedp, si
+ {
+ struct evbuffer_chain *chain;
+ size_t a, w, u;
+- int n = 0;
+ u = a = w = 0;
+
+ chain = buf->first;
+ /* skip empty at start */
+ while (chain && chain->off==0) {
+- ++n;
+ a += chain->buffer_len;
+ chain = chain->next;
+ }
+ /* first nonempty chain: stuff at the end only is wasted. */
+ if (chain) {
+- ++n;
+ a += chain->buffer_len;
+ u += chain->off;
+ if (chain->next && chain->next->off)
+@@ -148,7 +145,6 @@ evbuffer_get_waste(struct evbuffer *buf, size_t *allocatedp, size_t *wastedp, si
+ }
+ /* subsequent nonempty chains */
+ while (chain && chain->off) {
+- ++n;
+ a += chain->buffer_len;
+ w += (size_t)chain->misalign;
+ u += chain->off;
+@@ -158,7 +154,6 @@ evbuffer_get_waste(struct evbuffer *buf, size_t *allocatedp, size_t *wastedp, si
+ }
+ /* subsequent empty chains */
+ while (chain) {
+- ++n;
+ a += chain->buffer_len;
+ }
+ *allocatedp = a;
diff --git a/dev-libs/libevent/files/libevent-2.1.12-libressl.patch b/dev-libs/libevent/files/libevent-2.1.12-libressl.patch
new file mode 100644
index 000000000000..4c809aface12
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.1.12-libressl.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/903001
+https://github.com/libevent/libevent/issues/1277
+https://github.com/libevent/libevent/pull/1227
+https://github.com/libevent/libevent/commit/883630f76cbf512003b81de25cd96cb75c6cf0f9
+
+From 883630f76cbf512003b81de25cd96cb75c6cf0f9 Mon Sep 17 00:00:00 2001
+From: Theo Buehler <tb@openbsd.org>
+Date: Sun, 21 Nov 2021 21:38:20 +0100
+Subject: [PATCH] Don't define BIO_get_init() for LibreSSL 3.5+
+
+BIO_get_init() is available in LibreSSL 3.5 and later. The BIO type
+will become opaque, so the existing macro will break the build.
+---
+ openssl-compat.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/openssl-compat.h b/openssl-compat.h
+index a23e34251b..f5de25539f 100644
+--- a/openssl-compat.h
++++ b/openssl-compat.h
+@@ -40,7 +40,8 @@ static inline BIO_METHOD *BIO_meth_new(int type, const char *name)
+ #endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) */
+
+-#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L
++#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L && \
++ LIBRESSL_VERSION_NUMBER < 0x30500000L
+ #define BIO_get_init(b) (b)->init
+ #endif
+
diff --git a/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch b/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch
new file mode 100644
index 000000000000..6dfce3db3497
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.2.1-disable-signalfd.patch
@@ -0,0 +1,152 @@
+From 594ab34f1dfc73db85e8f95ec51892cadecaa76c Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat@libevent.org>
+Date: Mon, 10 Jul 2023 10:40:49 +0200
+Subject: [PATCH] Disable signalfd by default
+
+signalfd may behave differently to sigaction/signal, so to avoid
+breaking libevent users (like [1], [2]) disable it by default.
+
+ [1]: https://github.com/tmux/tmux/pull/3621
+ [2]: https://github.com/tmux/tmux/pull/3626
+
+Also signalfd is not that perfect:
+- you need to SIG_BLOCK the signal before
+ - blocked signals are not reset on exec
+ - blocked signals are allowed to coalesce - so in case of multiple
+ signals sent you may get the signal only once (ok for most of the
+ signals, but may be a problem for SIGCHLD, though you may call
+ waitpid() in a loop or use pidfd)
+- and also one implementation problem -
+ sigprocmask is unspecified in a multithreaded process
+
+Refs:
+- https://lwn.net/Articles/415684/
+- https://ldpreload.com/blog/signalfd-is-useless
+
+Refs: https://github.com/libevent/libevent/issues/1460
+Refs: #1342 (cc @dmantipov)
+---
+ CMakeLists.txt | 1 +
+ include/event2/event.h | 6 ++++--
+ signalfd.c | 4 ++--
+ test/include.am | 2 ++
+ test/test.sh | 11 +++++++++--
+ 5 files changed, 18 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cd41d16e57..9c402ec0c1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1509,6 +1509,7 @@ if (NOT EVENT__DISABLE_TESTS)
+ else()
+ add_backend_test(${BACKEND} "${BACKEND_ENV_VARS}")
+ endif()
++ add_backend_test(signalfd_${BACKEND} "${BACKEND_ENV_VARS};EVENT_USE_SIGNALFD=1")
+ endforeach()
+
+ #
+diff --git a/include/event2/event.h b/include/event2/event.h
+index 384a84178b..9b971edf1d 100644
+--- a/include/event2/event.h
++++ b/include/event2/event.h
+@@ -599,9 +599,11 @@ enum event_base_config_flag {
+ */
+ EVENT_BASE_FLAG_EPOLL_DISALLOW_TIMERFD = 0x40,
+
+- /** Do not use signalfd(2) to handle signals even if supported.
++ /** Use signalfd(2) to handle signals over sigaction/signal.
++ *
++ * But note, that in some edge cases signalfd() may works differently.
+ */
+- EVENT_BASE_FLAG_DISALLOW_SIGNALFD = 0x80,
++ EVENT_BASE_FLAG_USE_SIGNALFD = 0x80,
+ };
+
+ /**
+diff --git a/signalfd.c b/signalfd.c
+index 376a04d539..ed31014e5f 100644
+--- a/signalfd.c
++++ b/signalfd.c
+@@ -205,8 +205,8 @@ sigfd_del(struct event_base *base, int signo, short old, short events, void *p)
+ int sigfd_init_(struct event_base *base)
+ {
+ EVUTIL_ASSERT(base != NULL);
+- if ((base->flags & EVENT_BASE_FLAG_DISALLOW_SIGNALFD) ||
+- getenv("EVENT_DISALLOW_SIGNALFD"))
++ if (!(base->flags & EVENT_BASE_FLAG_USE_SIGNALFD) &&
++ !getenv("EVENT_USE_SIGNALFD"))
+ return -1;
+ base->evsigsel = &sigfdops;
+ return 0;
+diff --git a/test/include.am b/test/include.am
+index e061c937b7..9b50759da7 100644
+--- a/test/include.am
++++ b/test/include.am
+@@ -80,6 +80,8 @@ test_runner_changelist: $(top_srcdir)/test/test.sh
+ $(top_srcdir)/test/test.sh -b "" -c
+ test_runner_timerfd_changelist: $(top_srcdir)/test/test.sh
+ $(top_srcdir)/test/test.sh -b "" -T
++test_runner_timerfd_changelist: $(top_srcdir)/test/test.sh
++ $(top_srcdir)/test/test.sh -b "" -S
+
+ DISTCLEANFILES += test/regress.gen.c test/regress.gen.h
+
+diff --git a/test/test.sh b/test/test.sh
+index dfdd2bf098..79362888c5 100755
+--- a/test/test.sh
++++ b/test/test.sh
+@@ -50,6 +50,7 @@ setup () {
+ done
+ unset EVENT_EPOLL_USE_CHANGELIST
+ unset EVENT_PRECISE_TIMER
++ unset EVENT_USE_SIGNALFD
+ }
+
+ announce () {
+@@ -138,10 +139,12 @@ do_test() {
+ EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST
+ elif test "$2" = "(timerfd)" ; then
+ EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER
++ elif test "$2" = "(signalfd)" ; then
++ EVENT_USE_SIGNALFD=1; export EVENT_USE_SIGNALFD
+ elif test "$2" = "(timerfd+changelist)" ; then
+ EVENT_EPOLL_USE_CHANGELIST=yes; export EVENT_EPOLL_USE_CHANGELIST
+ EVENT_PRECISE_TIMER=1; export EVENT_PRECISE_TIMER
+- fi
++ fi
+
+ run_tests
+ }
+@@ -153,6 +156,7 @@ usage()
+ -t - run timerfd test
+ -c - run changelist test
+ -T - run timerfd+changelist test
++ -S - run signalfd test
+ EOL
+ }
+ main()
+@@ -161,13 +165,15 @@ main()
+ timerfd=0
+ changelist=0
+ timerfd_changelist=0
++ signalfd=0
+
+- while getopts "b:tcT" c; do
++ while getopts "b:tcTS" c; do
+ case "$c" in
+ b) backends="$OPTARG";;
+ t) timerfd=1;;
+ c) changelist=1;;
+ T) timerfd_changelist=1;;
++ S) signalfd=1;;
+ ?*) usage && exit 1;;
+ esac
+ done
+@@ -179,6 +185,7 @@ main()
+ [ $timerfd_changelist -eq 0 ] || do_test EPOLL "(timerfd+changelist)"
+ for i in $backends; do
+ do_test $i
++ [ $signalfd -eq 0 ] || do_test $i "(signalfd)"
+ done
+
+ if test "$FAILED" = "yes"; then
diff --git a/dev-libs/libevent/libevent-2.1.11.ebuild b/dev-libs/libevent/libevent-2.1.11.ebuild
deleted file mode 100644
index 17b310f4c5ad..000000000000
--- a/dev-libs/libevent/libevent-2.1.11.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit multilib-minimal
-
-DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-HOMEPAGE="
- https://libevent.org/
- https://github.com/libevent/libevent/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/releases/download/release-${PV/_/-}-stable/${P/_/-}-stable.tar.gz -> ${P}.tar.gz
-"
-LICENSE="BSD"
-
-SLOT="0/2.1-7"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug +ssl static-libs test +threads"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="
- ${DEPEND}
- !<=dev-libs/9libs-1.0
-"
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/event2/event-config.h
-)
-S=${WORKDIR}/${P/_/-}-stable
-
-multilib_src_configure() {
- # fix out-of-source builds
- mkdir -p test || die
-
- ECONF_SOURCE="${S}" \
- econf \
- --disable-samples \
- $(use_enable debug debug-mode) \
- $(use_enable debug malloc-replacement) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support)
-}
-
-src_test() {
- # The test suite doesn't quite work (see bug #406801 for the latest
- # installment in a riveting series of reports).
- :
- # emake -C test check | tee "${T}"/tests
-}
-
-DOCS=( ChangeLog{,-1.4,-2.0} )
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libevent/libevent-2.1.12-r1.ebuild b/dev-libs/libevent/libevent-2.1.12-r1.ebuild
new file mode 100644
index 000000000000..89c1bf1ab732
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.1.12-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit libtool multilib-minimal verify-sig
+
+MY_P="${P}-stable"
+DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="
+ https://libevent.org/
+ https://github.com/libevent/libevent/
+"
+BASE_URI="https://github.com/libevent/libevent/releases/download/release-${MY_P#*-}"
+SRC_URI="
+ ${BASE_URI}/${MY_P}.tar.gz
+ verify-sig? (
+ ${BASE_URI}/${MY_P}.tar.gz.asc
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0/2.1-7"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="
+ +clock-gettime debug malloc-replacement +ssl static-libs test
+ verbose-debug
+"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ssl? (
+ >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ !<=dev-libs/9libs-1.0
+"
+BDEPEND="
+ verify-sig? (
+ sec-keys/openpgp-keys-libevent
+ )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/event2/event-config.h
+)
+PATCHES=(
+ "${FILESDIR}"/${P}-clang16.patch #880381
+ "${FILESDIR}"/${P}-libressl.patch #903001
+)
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libevent.asc
+
+src_prepare() {
+ default
+ # bug #767472
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # fix out-of-source builds
+ mkdir -p test || die
+
+ ECONF_SOURCE="${S}" \
+ econf \
+ $(use_enable clock-gettime) \
+ $(use_enable debug debug-mode) \
+ $(use_enable malloc-replacement malloc-replacement) \
+ $(use_enable ssl openssl) \
+ $(use_enable static-libs static) \
+ $(use_enable test libevent-regress) \
+ $(use_enable verbose-debug) \
+ --disable-samples
+}
+
+src_test() {
+ # The test suite doesn't quite work (see bug #406801 for the latest
+ # installment in a riveting series of reports).
+ :
+ # emake -C test check | tee "${T}"/tests
+}
+
+DOCS=( ChangeLog{,-1.4,-2.0} )
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libevent/libevent-2.1.12.ebuild b/dev-libs/libevent/libevent-2.1.12.ebuild
deleted file mode 100644
index 0098608db527..000000000000
--- a/dev-libs/libevent/libevent-2.1.12.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit libtool multilib-minimal
-
-DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-HOMEPAGE="
- https://libevent.org/
- https://github.com/libevent/libevent/
-"
-SRC_URI="
- https://github.com/${PN}/${PN}/releases/download/release-${PV/_/-}-stable/${P/_/-}-stable.tar.gz -> ${P}.tar.gz
-"
-LICENSE="BSD"
-
-SLOT="0/2.1-7"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="
- +clock-gettime debug malloc-replacement +ssl static-libs test
- +threads verbose-debug
-"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="
- ${DEPEND}
- !<=dev-libs/9libs-1.0
-"
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/event2/event-config.h
-)
-S=${WORKDIR}/${P/_/-}-stable
-
-src_prepare() {
- default
- # bug #767472
- elibtoolize
-}
-
-multilib_src_configure() {
- # fix out-of-source builds
- mkdir -p test || die
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable clock-gettime) \
- $(use_enable debug debug-mode) \
- $(use_enable malloc-replacement malloc-replacement) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support) \
- $(use_enable verbose-debug) \
- --disable-samples
-}
-
-src_test() {
- # The test suite doesn't quite work (see bug #406801 for the latest
- # installment in a riveting series of reports).
- :
- # emake -C test check | tee "${T}"/tests
-}
-
-DOCS=( ChangeLog{,-1.4,-2.0} )
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libevent/libevent-2.1.9999.ebuild b/dev-libs/libevent/libevent-2.1.9999.ebuild
deleted file mode 100644
index 842a86badc67..000000000000
--- a/dev-libs/libevent/libevent-2.1.9999.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools git-r3 multilib-minimal
-
-DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-EGIT_BRANCH="patches-$(ver_cut 1-2)"
-EGIT_REPO_URI="https://github.com/libevent/libevent"
-HOMEPAGE="
- https://libevent.org/
- https://github.com/libevent/libevent
-"
-
-LICENSE="BSD"
-# libevent-2.1.so.6
-SLOT="0/2.1-7"
-KEYWORDS=""
-IUSE="
- +clock-gettime debug malloc-replacement +ssl static-libs test
- +threads verbose-debug
-"
-RESTRICT="test"
-
-DEPEND="
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
-"
-RDEPEND="
- ${DEPEND}
- !<=dev-libs/9libs-1.0
-"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/event2/event-config.h
-)
-DOCS=(
- ChangeLog{,-1.4,-2.0}
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- # fix out-of-source builds
- mkdir -p test || die
-
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable clock-gettime) \
- $(use_enable debug debug-mode) \
- $(use_enable malloc-replacement malloc-replacement) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support) \
- $(use_enable verbose-debug) \
- --disable-samples
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libevent/libevent-2.2.1-r2.ebuild b/dev-libs/libevent/libevent-2.2.1-r2.ebuild
new file mode 100644
index 000000000000..64aa2bd59b5c
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.2.1-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal verify-sig
+
+MY_P="${P}-alpha-dev"
+DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
+HOMEPAGE="
+ https://libevent.org/
+ https://github.com/libevent/libevent/
+"
+BASE_URI="https://github.com/libevent/libevent/releases/download/release-${PV}-alpha"
+SRC_URI="
+ ${BASE_URI}/${MY_P}.tar.gz
+ verify-sig? (
+ ${BASE_URI}/${MY_P}.tar.gz.asc
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0/2.2.1-r2"
+KEYWORDS=""
+IUSE="
+ +clock-gettime debug malloc-replacement mbedtls +ssl static-libs
+ test verbose-debug
+"
+# TODO: hangs
+RESTRICT="test"
+
+DEPEND="
+ mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] )
+ ssl? ( >=dev-libs/openssl-1.0.1h-r2:=[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ verify-sig? (
+ sec-keys/openpgp-keys-libevent
+ )
+"
+
+DOCS=( README.md ChangeLog{,-1.4,-2.0} whatsnew-2.{0,1}.txt )
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/event2/event-config.h
+)
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libevent.asc
+
+PATCHES=(
+ # signalfd-by-default breaks at least app-misc/tmux
+ # https://github.com/libevent/libevent/pull/1486
+ "${FILESDIR}/${P}-disable-signalfd.patch"
+)
+
+multilib_src_configure() {
+ # fix out-of-source builds
+ mkdir -p test || die
+
+ local ECONF_SOURCE="${S}"
+ local myconf=(
+ $(use_enable clock-gettime)
+ $(use_enable debug debug-mode)
+ $(use_enable malloc-replacement malloc-replacement)
+ $(use_enable mbedtls)
+ $(use_enable ssl openssl)
+ $(use_enable static-libs static)
+ $(use_enable test libevent-regress)
+ $(use_enable verbose-debug)
+ --disable-samples
+ )
+ econf "${myconf[@]}"
+
+ # workaround https://github.com/libevent/libevent/issues/1459
+ sed -i -e 's:@CMAKE_DEBUG_POSTFIX@::' *.pc || die
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libevent/libevent-9999.ebuild b/dev-libs/libevent/libevent-9999.ebuild
index c9777c12daf2..471fb8418bef 100644
--- a/dev-libs/libevent/libevent-9999.ebuild
+++ b/dev-libs/libevent/libevent-9999.ebuild
@@ -1,42 +1,39 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
inherit autotools git-r3 multilib-minimal
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
-EGIT_REPO_URI="https://github.com/libevent/libevent"
HOMEPAGE="
https://libevent.org/
- https://github.com/libevent/libevent
+ https://github.com/libevent/libevent/
"
+EGIT_REPO_URI="https://github.com/libevent/libevent.git"
LICENSE="BSD"
-SLOT="0"
+SLOT="0/2.2"
KEYWORDS=""
IUSE="
+clock-gettime debug malloc-replacement mbedtls +ssl static-libs
- test +threads verbose-debug
+ test verbose-debug
"
+# TODO: hangs
RESTRICT="test"
DEPEND="
- mbedtls? ( net-libs/mbedtls )
- ssl? (
- >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
- )
+ mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] )
+ ssl? ( >=dev-libs/openssl-1.0.1h-r2:=[${MULTILIB_USEDEP}] )
"
RDEPEND="
${DEPEND}
- !<=dev-libs/9libs-1.0
"
+DOCS=( README.md ChangeLog{,-1.4,-2.0} whatsnew-2.{0,1}.txt )
MULTILIB_WRAPPED_HEADERS=(
/usr/include/event2/event-config.h
)
-DOCS=(
- ChangeLog{,-1.4,-2.0}
-)
src_prepare() {
default
@@ -47,18 +44,19 @@ multilib_src_configure() {
# fix out-of-source builds
mkdir -p test || die
- ECONF_SOURCE="${S}" \
- econf \
- $(use_enable clock-gettime) \
- $(use_enable debug debug-mode) \
- $(use_enable malloc-replacement malloc-replacement) \
- $(use_enable mbedtls) \
- $(use_enable ssl openssl) \
- $(use_enable static-libs static) \
- $(use_enable test libevent-regress) \
- $(use_enable threads thread-support) \
- $(use_enable verbose-debug) \
+ local ECONF_SOURCE="${S}"
+ local myconf=(
+ $(use_enable clock-gettime)
+ $(use_enable debug debug-mode)
+ $(use_enable malloc-replacement malloc-replacement)
+ $(use_enable mbedtls)
+ $(use_enable ssl openssl)
+ $(use_enable static-libs static)
+ $(use_enable test libevent-regress)
+ $(use_enable verbose-debug)
--disable-samples
+ )
+ econf "${myconf[@]}"
}
multilib_src_install_all() {
diff --git a/dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch b/dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch
new file mode 100644
index 000000000000..6579fe476c0f
--- /dev/null
+++ b/dev-libs/libezV24/files/libezV24-0.1.1-clang16-build-fix.patch
@@ -0,0 +1,21 @@
+Bug: https://bugs.gentoo.org/895044
+--- a/ezV24.c
++++ b/ezV24.c
+@@ -42,6 +42,7 @@
+ #include <errno.h>
+ #include <termios.h>
+ #include <sys/ioctl.h>
++#include <sys/param.h>
+
+
+ #define __EZV24_C__
+--- a/snprintf.c
++++ b/snprintf.c
+@@ -61,6 +61,7 @@
+
+ /* From: Id: sprint.c,v 1.5 1995/09/10 18:35:09 chuck Exp */
+
++#define _GNU_SOURCE
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include <stdarg.h>
diff --git a/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild b/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
new file mode 100644
index 000000000000..14ae567deeec
--- /dev/null
+++ b/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Library that provides an easy API to Linux serial ports"
+HOMEPAGE="https://ezv24.sourceforge.net"
+SRC_URI="mirror://sourceforge/ezv24/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+
+HTML_DOCS=( api-html/. )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${P}-clang16-build-fix.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export AR CC RANLIB
+ sed -i -e 's:__LINUX__:__linux__:' *.c *.h || die
+}
+
+src_install() {
+ export NO_LDCONFIG="stupid"
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
+ einstalldocs
+
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/libf2c/Manifest b/dev-libs/libf2c/Manifest
index 860e613edbe5..982d923a5c3d 100644
--- a/dev-libs/libf2c/Manifest
+++ b/dev-libs/libf2c/Manifest
@@ -1 +1,2 @@
DIST libf2c-20130927.zip 129082 BLAKE2B 09f818bde8888b569858784c39e93a6a11b3103039f44c3f6a1246b29efb5f8ae6e45f787ed0c2216bea383a79b9554aff30e1fbb00668bbc872b4bc30d87ba8 SHA512 1a12093dec3c250f4775eebd06f1a9144fdb956ea3162202fb67569fdd956ac5591bc563a0726ca65ea10d465efaac1c1d8024d63bc4a4b5c88bf46242607c8a
+DIST libf2c-20240130.zip 130671 BLAKE2B 3e8b989064e677d9725a703870b14531ea045b8ef167b11218687def75068c2b59997726acf4c3e5c0b20e024754f9207ffc9354b6feeb46414b59d99e7ec896 SHA512 596bd0017e0c4b61191200a0bc788777585049eb939c528625349404cc8d9bbd0957efecd79077c487fdff5fc7e435189574b2c495cafaa6006dd2585b13960a
diff --git a/dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch b/dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch
new file mode 100644
index 000000000000..9b58139b91a9
--- /dev/null
+++ b/dev-libs/libf2c/files/20240130-link-shared-libf2c-correctly.patch
@@ -0,0 +1,13 @@
+diff --git a/makefile.u b/makefile.u
+index a1cb700..6d5fb78 100644
+--- a/makefile.u
++++ b/makefile.u
+@@ -88,7 +88,7 @@ libf2c.a: $(OFILES)
+ ## arrange for $DYLD_LIBRARY_PATH to include the directory containing libf2c.so.
+
+ libf2c.so: $(OFILES)
+- $(CC) $(LDFLAGS) -shared -o libf2c.so $(OFILES)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libf2c.so.2 -o libf2c.so.2 -lm $(OFILES)
+
+ ### If your system lacks ranlib, you don't need it; see README.
+
diff --git a/dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch b/dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch
new file mode 100644
index 000000000000..1398c843507b
--- /dev/null
+++ b/dev-libs/libf2c/files/libf2c-20240130-fix-buildsystem.patch
@@ -0,0 +1,66 @@
+From c398f9cc0504c33de034e68a8d402a5ad301c19f Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 10 Mar 2024 17:54:11 -0400
+Subject: [PATCH] import libf2c-20130927-fix-buildsystem.patch and fix up
+
+---
+ makefile.u | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+diff --git a/makefile.u b/makefile.u
+index a271e5c..e8c8485 100644
+--- a/makefile.u
++++ b/makefile.u
+@@ -12,16 +12,12 @@
+ # -fPIC
+ # to the CFLAGS = line below.
+
+-.SUFFIXES: .c .o
+-CC = cc
+ SHELL = /bin/sh
+-CFLAGS = -O
+
+ # compile, then strip unnecessary symbols
+ .c.o:
+- $(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
+- ld -r -x -o $*.xxx $*.o
+- mv $*.xxx $*.o
++ $(CC) -c $(CPPFLAGS) $(CFLAGS) -DSkip_f2c_Undefs $< -o $@
++
+ ## Under Solaris (and other systems that do not understand ld -x),
+ ## omit -x in the ld line above.
+ ## If your system does not have the ld command, comment out
+@@ -72,8 +68,8 @@ OFILES = $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \
+ all: f2c.h signal1.h sysdep1.h libf2c.a
+
+ libf2c.a: $(OFILES)
+- ar r libf2c.a $?
+- -ranlib libf2c.a
++ $(AR) r libf2c.a $?
++ $(RANLIB) libf2c.a
+
+ ## Shared-library variant: the following rule works on Linux
+ ## systems. Details are system-dependent. Under Linux, -fPIC
+@@ -126,7 +122,7 @@ fio.h: fio.h0 sysdep1.h
+
+ install: libf2c.a
+ cp libf2c.a $(LIBDIR)
+- -ranlib $(LIBDIR)/libf2c.a
++ $(RANLIB) $(LIBDIR)/libf2c.a
+
+ clean:
+ rm -f libf2c.a *.o arith.h signal1.h sysdep1.h
+@@ -186,8 +182,8 @@ xwsne.o: lio.h
+ xwsne.o: fmt.h
+
+ arith.h: arithchk.c
+- $(CC) $(CFLAGS) -DNO_FPINIT arithchk.c -lm ||\
+- $(CC) -DNO_LONG_LONG $(CFLAGS) -DNO_FPINIT arithchk.c -lm
++ $(CC) $(CPPFLAGS) $(CFLAGS) -DNO_FPINIT arithchk.c -lm ||\
++ $(CC) -DNO_LONG_LONG $(CPPFLAGS) $(CFLAGS) -DNO_FPINIT arithchk.c -lm
+ ./a.out >arith.h
+ rm -f a.out arithchk.o
+
+--
+2.43.2
+
diff --git a/dev-libs/libf2c/libf2c-20240130.ebuild b/dev-libs/libf2c/libf2c-20240130.ebuild
new file mode 100644
index 000000000000..1d9da1eeca59
--- /dev/null
+++ b/dev-libs/libf2c/libf2c-20240130.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Library that converts FORTRAN to C source"
+HOMEPAGE="http://www.netlib.org/f2c/"
+SRC_URI="http://www.netlib.org/f2c/${PN}.zip -> ${P}.zip"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+BDEPEND="app-arch/unzip"
+
+S="${WORKDIR}"
+
+PATCHES=(
+ "${FILESDIR}"/20051004-add-ofiles-dep.patch
+ "${FILESDIR}"/20240130-link-shared-libf2c-correctly.patch
+ "${FILESDIR}"/${PN}-20110801-main.patch
+ "${FILESDIR}"/${PN}-20110801-64bit-long.patch
+ "${FILESDIR}"/${PN}-20240130-fix-buildsystem.patch
+)
+
+src_configure() {
+ tc-export AR CC RANLIB
+}
+
+src_compile() {
+ if use static-libs; then
+ emake -f makefile.u all
+ # Clean up files so we can recompile
+ # with -fPIC for the shared lib
+ rm -v *.o || die "clean failed"
+ fi
+
+ append-cflags -fPIC
+ emake -f makefile.u libf2c.so
+}
+
+src_install() {
+ doheader f2c.h
+
+ dolib.so libf2c.so.2
+ dosym libf2c.so.2 /usr/$(get_libdir)/libf2c.so
+ use static-libs && dolib.a libf2c.a
+
+ einstalldocs
+ dodoc Notice
+}
diff --git a/dev-libs/libfastjson/Manifest b/dev-libs/libfastjson/Manifest
index d05dabe0f415..28091ecbe51e 100644
--- a/dev-libs/libfastjson/Manifest
+++ b/dev-libs/libfastjson/Manifest
@@ -1,2 +1 @@
-DIST libfastjson-0.99.8.tar.gz 433819 BLAKE2B f988c01de8e7becc5a848825c18151fec2b80f81eb5b50e459b1a3bb535f5521fb63e9350eb133eb984f57f42c5f529220a0c9461eb4689e1421ad815c4c4d87 SHA512 1e7eb7eaae2c6ccb78b77ac883808e1d311b03bad083dc72ab7712765a2ed139accd762850d60f54c6fe0ad48c4385714818fd2c8ed76700ce3546e5aff1c823
-DIST libfastjson-0.99.9.tar.gz 436502 BLAKE2B 5ed542f373dee2e28c85f8b48e9d35c7727d7e565c691f90caed7a9ac1192814c6371e03bce18dd9765b4251e6a78b7e612eeb38872d2833cd72021d41fb889a SHA512 90505fba033179aa92f12ac5dbbb071f69f3491de5bbbbb46d553b08ac325448459c9e33ba22ef4f9db0bae4496cca60046eebf6325d70b045c1a0a9845b0d48
+DIST libfastjson-1.2304.0.tar.gz 89477 BLAKE2B 2a24ada8f98b837bc4c6983694354615309913eff69f006933441e5a8e9fc58365ca4bd3e03ebdda60e685cefd7e48739f45c49348899150b9b2923f05a709c6 SHA512 a43dc809c0fc073f8bddaebdf91c996ccfc6275d7dcc312762e8dfb366dc121c7698c316b71bd5b43f2f7e9b3c326c90cfa927ce415824a7d32dd5e6667048ab
diff --git a/dev-libs/libfastjson/libfastjson-0.99.8-r1.ebuild b/dev-libs/libfastjson/libfastjson-0.99.8-r1.ebuild
deleted file mode 100644
index 38d0d58b62f2..000000000000
--- a/dev-libs/libfastjson/libfastjson-0.99.8-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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"
-
-BDEPEND=">=sys-devel/autoconf-archive-2015.02.04"
-
-DOCS=( AUTHORS ChangeLog )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- --disable-rdrand
- --enable-compile-warnings=yes
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}"/usr/lib* -name '*.la' -delete || die
-}
diff --git a/dev-libs/libfastjson/libfastjson-0.99.9-r1.ebuild b/dev-libs/libfastjson/libfastjson-0.99.9-r1.ebuild
deleted file mode 100644
index 91ac169b5e6a..000000000000
--- a/dev-libs/libfastjson/libfastjson-0.99.9-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Fork of the json-c library, which is optimized for liblognorm processing"
-HOMEPAGE="https://www.rsyslog.com/tag/libfastjson/"
-SRC_URI="http://download.rsyslog.com/${PN}/${P}.tar.gz"
-LICENSE="MIT"
-SLOT="0/4.3.0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv sparc x86"
-IUSE="static-libs"
-
-BDEPEND=">=sys-devel/autoconf-archive-2015.02.04"
-
-DOCS=( AUTHORS ChangeLog )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static-libs static)
- --disable-rdrand
- --enable-compile-warnings=yes
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- 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/libffi-compat/libffi-compat-3.2.1-r3.ebuild b/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild
index 7a9ccdf0119b..f50543480cab 100644
--- a/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild
+++ b/dev-libs/libffi-compat/libffi-compat-3.2.1-r3.ebuild
@@ -10,7 +10,7 @@ SRC_URI="ftp://sourceware.org/pub/libffi/libffi-${PV}.tar.gz"
LICENSE="MIT"
SLOT="6" # libffi.so.6
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="debug pax-kernel test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild b/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
index 3ae81a7d2e4f..8ff355662171 100644
--- a/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
+++ b/dev-libs/libffi-compat/libffi-compat-3.3-r2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/libffi/libffi/releases/download/v${PV}/libffi-${PV}.
LICENSE="MIT"
SLOT="7" # SONAME=libffi.so.7
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="debug pax-kernel test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest
index 85514adcd060..8500e7a471b4 100644
--- a/dev-libs/libffi/Manifest
+++ b/dev-libs/libffi/Manifest
@@ -1 +1,2 @@
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.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.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.4.ebuild b/dev-libs/libffi/libffi-3.4.4.ebuild
deleted file mode 100644
index c9b3f53e8ea0..000000000000
--- a/dev-libs/libffi/libffi-3.4.4.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal preserve-libs
-
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="a portable, high level programming interface to various calling conventions"
-HOMEPAGE="https://sourceware.org/libffi/"
-SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="MIT"
-# This is a core package which is depended on by e.g. Python
-# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users
-# with FEATURES="-preserved-libs" or another package manager if SONAME
-# changes.
-SLOT="0/8" # SONAME=libffi.so.8
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="debug exec-static-trampoline pax-kernel static-libs test"
-
-RESTRICT="!test? ( test )"
-BDEPEND="test? ( dev-util/dejagnu )"
-
-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_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/libfido2/Manifest b/dev-libs/libfido2/Manifest
index 90e91ea15503..d0c8c47b5505 100644
--- a/dev-libs/libfido2/Manifest
+++ b/dev-libs/libfido2/Manifest
@@ -1,2 +1 @@
-DIST libfido2-1.11.0.tar.gz 624148 BLAKE2B ac123145f22260922e1d83653ba5781c5f41b410760f2c26b7cab7cb0871079aed66a8d9747393843738e4c2ed7ba8ba0292075516ef0354fd4328df967b7a6d SHA512 d9644453d67b84ec8385dfb63796adb3eae2d7f7cb47fbb1bcf9ca7f5cce400623738cc3317d629c2f0af630424cb2788217f8c7f20d1b52b7369c729052d572
-DIST libfido2-1.12.0.tar.gz 652326 BLAKE2B e206c9c76e27037c49d3b0e842487b0711559483eb9ae638590bb7175761251c6f60dae6c6dc6cc8b13e49b9f32432ce4368e709b4aacf71f43b760092e3b00d SHA512 ae8c716fe9b2fa52f191c4b3fe61442ba0b7a364a23c6c3a29afdba4f47c5eff89cb1d6c9fcacaefd7d4ebce641d35600527ee33934786c2096ac97f78e9418f
+DIST libfido2-1.13.0.tar.gz 652777 BLAKE2B 506e0ecf89825e313fbcb0de59ef0b1a3aab483013f959b391448da0600979780ae76807639231ab8a60eead039471bba707073ec4e259b611d67031ac7713f1 SHA512 90f8452cee4c9cc72241478e697c5c692ccff5ab27752f2f296c3623ee297d1f80a85a359b4d0656c67790084c116aac921894e762eb52d3a79056e5014c03e7
diff --git a/dev-libs/libfido2/files/libfido2-1.11.0-regress-tests.patch b/dev-libs/libfido2/files/libfido2-1.11.0-regress-tests.patch
deleted file mode 100644
index 391aae014661..000000000000
--- a/dev-libs/libfido2/files/libfido2-1.11.0-regress-tests.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-https://github.com/Yubico/libfido2/pull/579
-
-From c359e5dba24ae7b44cc0d61fb7c00e652465853b Mon Sep 17 00:00:00 2001
-From: Silke Hofstra <silke@slxh.eu>
-Date: Fri, 6 May 2022 15:36:02 +0200
-Subject: [PATCH 1/3] regress: link against chosen library
-
-Compile `regress` against `${_FIDO2_LIBRARY}` so it links against
-the shared library when building with `BUILD_STATIC_LIBS=OFF`.
---- a/regress/CMakeLists.txt
-+++ b/regress/CMakeLists.txt
-@@ -6,7 +6,7 @@ add_custom_target(regress)
-
- macro(add_regress_test NAME SOURCES)
- add_executable(${NAME} ${SOURCES})
-- target_link_libraries(${NAME} fido2)
-+ target_link_libraries(${NAME} ${_FIDO2_LIBRARY})
- add_test(${NAME} ${NAME})
- add_dependencies(regress ${NAME})
- endmacro()
-@@ -17,6 +17,7 @@ if(MSVC AND BUILD_SHARED_LIBS)
- "${CBOR_BIN_DIRS}/${CBOR_LIBRARIES}.dll"
- "${CRYPTO_BIN_DIRS}/${CRYPTO_LIBRARIES}.dll"
- "${ZLIB_BIN_DIRS}/${ZLIB_LIBRARIES}.dll"
-+ "$<TARGET_FILE:${_FIDO2_LIBRARY}>"
- "${CMAKE_CURRENT_BINARY_DIR}")
- endif()
-
-
-From a5413255cb0dd4579faf0dda0ce1b3e45db398e9 Mon Sep 17 00:00:00 2001
-From: Silke Hofstra <silke@slxh.eu>
-Date: Mon, 9 May 2022 10:56:29 +0200
-Subject: [PATCH 3/3] regress: run compression test against static lib only
-
---- a/regress/CMakeLists.txt
-+++ b/regress/CMakeLists.txt
-@@ -4,13 +4,22 @@
-
- add_custom_target(regress)
-
--macro(add_regress_test NAME SOURCES)
-+macro(add_regress_test_common NAME SOURCES)
- add_executable(${NAME} ${SOURCES})
-- target_link_libraries(${NAME} ${_FIDO2_LIBRARY})
- add_test(${NAME} ${NAME})
- add_dependencies(regress ${NAME})
- endmacro()
-
-+macro(add_regress_test NAME SOURCES)
-+ add_regress_test_common(${NAME} ${SOURCES})
-+ target_link_libraries(${NAME} ${_FIDO2_LIBRARY})
-+endmacro()
-+
-+macro(add_regress_static_test NAME SOURCES)
-+ add_regress_test_common(${NAME} ${SOURCES})
-+ target_link_libraries(${NAME} fido2)
-+endmacro()
-+
- if(MSVC AND BUILD_SHARED_LIBS)
- add_custom_command(TARGET regress POST_BUILD
- COMMAND "${CMAKE_COMMAND}" -E copy
-@@ -33,13 +42,17 @@ else()
- endif()
-
- add_regress_test(regress_assert assert.c)
--add_regress_test(regress_compress compress.c)
- add_regress_test(regress_cred cred.c)
- add_regress_test(regress_dev dev.c)
- add_regress_test(regress_eddsa eddsa.c)
- add_regress_test(regress_es256 es256.c)
- add_regress_test(regress_rs256 rs256.c)
-
-+# Run these tests only against the static library
-+if(BUILD_STATIC_LIBS)
-+ add_regress_static_test(regress_compress compress.c)
-+endif()
-+
- if(MINGW)
- # needed for nanosleep() in mingw
- target_link_libraries(regress_dev winpthread)
-
diff --git a/dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch b/dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch
deleted file mode 100644
index 2a1bfc1614db..000000000000
--- a/dev-libs/libfido2/files/libfido2-1.7.0-cmakelists.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- libfido2-1.7.0/CMakeLists.txt
-+++ libfido2-1.7.0/CMakeLists.txt
-@@ -246,14 +246,12 @@
-
- add_compile_options(-Wall)
- add_compile_options(-Wextra)
-- add_compile_options(-Werror)
- add_compile_options(-Wshadow)
- add_compile_options(-Wcast-qual)
- add_compile_options(-Wwrite-strings)
- add_compile_options(-Wmissing-prototypes)
- add_compile_options(-Wbad-function-cast)
- add_compile_options(-pedantic)
-- add_compile_options(-pedantic-errors)
-
- if(HAVE_SHORTEN_64_TO_32)
- add_compile_options(-Wshorten-64-to-32)
---- libfido2-1.7.0/man/CMakeLists.txt
-+++ libfido2-1.7.0/man/CMakeLists.txt
-@@ -3,10 +3,8 @@
- # license that can be found in the LICENSE file.
-
- find_program(MANDOC_PATH mandoc)
--find_program(GZIP_PATH gzip)
-
- message(STATUS "MANDOC_PATH: ${MANDOC_PATH}")
--message(STATUS "GZIP_PATH: ${GZIP_PATH}")
-
- list(APPEND MAN_SOURCES
- eddsa_pk_new.3
diff --git a/dev-libs/libfido2/libfido2-1.11.0.ebuild b/dev-libs/libfido2/libfido2-1.11.0.ebuild
deleted file mode 100644
index 34f4ead4ef7b..000000000000
--- a/dev-libs/libfido2/libfido2-1.11.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake udev linux-info
-
-DESCRIPTION="Provides library functionality for FIDO 2.0"
-HOMEPAGE="https://github.com/Yubico/libfido2"
-SRC_URI="https://github.com/Yubico/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.7.0-cmakelists.patch
- "${FILESDIR}"/${PN}-1.11.0-regress-tests.patch
-)
-
-pkg_pretend() {
- CONFIG_CHECK="
- ~USB_HID
- ~HIDRAW
- "
-
- check_extra_config
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_EXAMPLES=OFF
- -DBUILD_STATIC_LIBS=$(usex static-libs ON OFF)
- -DNFC_LINUX=$(usex nfc ON OFF)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- udev_newrules udev/70-u2f.rules 70-libfido2-u2f.rules
-}
-
-pkg_postinst() {
- udev_reload
-}
diff --git a/dev-libs/libfido2/libfido2-1.12.0.ebuild b/dev-libs/libfido2/libfido2-1.12.0.ebuild
deleted file mode 100644
index 5fba80836f19..000000000000
--- a/dev-libs/libfido2/libfido2-1.12.0.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake udev linux-info
-
-DESCRIPTION="Provides library functionality for FIDO 2.0"
-HOMEPAGE="https://github.com/Yubico/libfido2"
-SRC_URI="https://github.com/Yubico/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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
-"
-
-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 ON OFF)
- -DNFC_LINUX=$(usex nfc ON OFF)
- )
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- udev_newrules udev/70-u2f.rules 70-libfido2-u2f.rules
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
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/libfilezilla/Manifest b/dev-libs/libfilezilla/Manifest
index 65d7fbcdcf93..0979e16d5c42 100644
--- a/dev-libs/libfilezilla/Manifest
+++ b/dev-libs/libfilezilla/Manifest
@@ -1,3 +1,3 @@
-DIST libfilezilla-0.39.1.tar.bz2 622574 BLAKE2B 2845f0309f8a9036f42930203b89d503ffe5897dbb819cc9249b3179deb24f5c562843471712702d7a302df0b3c7dead1bc108de9dd5dd4b1cb1501cd3ef9ba1 SHA512 b5c4dcaef146ea3e249a4972e66aa441187693bea148f0ead0c08568ecf1856a78c7455cbc70737d82b9c33c2af5d6abe79dd4cb2dfbb65bdcefd6765016dfb6
-DIST libfilezilla-0.39.2.tar.bz2 623763 BLAKE2B f3fac951ea46e36d45748697f4f8d78b46176d457c42a031355f3d35713d419b31b2e886bfcba9f769814c67b8cd797ebc67b2ec6f338213a22dda7cc0282b6e SHA512 ffa0728aaaa90e1561f8ab6bb855bf21068d0a653dd764560064b36efc20b9d0182d97151fb528a7fb26fb2f1779a884d23f1e4cf0b13fa7984e7f3568c9c217
-DIST libfilezilla-0.41.0.tar.bz2 627849 BLAKE2B 1697ce1a50b8d490d0197fb349ae7652dc6c7b9815dce68158478ba3122d483bf35cf1ab5c540b784d5677000c71afaabedc7e4097b38c486331238737351c01 SHA512 bda747299807c37c738ee6ade2f926bc500bd3d67de5b84b0201a4769c6c3d0899c3113c93afd88dc9958bc711426d6918af355e2d971c1b12de30304f2a47fc
+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.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.39.1-r1.ebuild b/dev-libs/libfilezilla/libfilezilla-0.39.1-r1.ebuild
deleted file mode 100644
index 2e9c6bff9ffc..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.39.1-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/31" # 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 )"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.37.1-pthread.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.39.2.ebuild b/dev-libs/libfilezilla/libfilezilla-0.39.2.ebuild
deleted file mode 100644
index f3634e7ca805..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.39.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/32" # 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 )"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.37.1-pthread.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.41.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.41.0.ebuild
deleted file mode 100644
index 58bc413a0ed5..000000000000
--- a/dev-libs/libfilezilla/libfilezilla-0.41.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit flag-o-matic
-
-DESCRIPTION="C++ library offering some basic functionality for platform-independent programs"
-HOMEPAGE="https://lib.filezilla-project.org/"
-SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0/34" # 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 )"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.37.1-pthread.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.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/libfmt/Manifest b/dev-libs/libfmt/Manifest
index 0476506726f7..fd77431cdece 100644
--- a/dev-libs/libfmt/Manifest
+++ b/dev-libs/libfmt/Manifest
@@ -1,2 +1,6 @@
-DIST libfmt-8.1.1.tar.gz 826254 BLAKE2B 8f3eafd72c0eff62cfcf26a8a37e4d89c8f4a2cec6e427e3ea8d0de3010dd6e5e45ce4486335d3b433308a967915b38ca4d422d789ceda4196153329128056b9 SHA512 794a47d7cb352a2a9f2c050a60a46b002e4157e5ad23e15a5afc668e852b1e1847aeee3cda79e266c789ff79310d792060c94976ceef6352e322d60b94e23189
+DIST libfmt-10.0.0.tar.gz 851582 BLAKE2B 4e778fd352ed084b9790b59b4875fc6ed04b7a58a40b3673854dd00763f492cc838970e8faef77b5f9db5e912a2fc77943aedb4ca4afb64a3736129cc4611809 SHA512 6188508d74ca1ed75bf6441b152c07ca83971d3104b37f33784a7b55dfcc614d6243e77e0a14220018586fdb86207cc033eece834e7acd5e0907ed4c97403f3b
+DIST libfmt-10.1.0.tar.gz 849294 BLAKE2B 9e90bdb91ac9f34bf75bcb0c0f45a90ce9d5c27c0a47c2e5c2d09972ab03e6da32e29ddd33761b8347eaa0db0ec79af4f8aac93d3f38c9d9f29b49bb24779467 SHA512 69a7b8584f828528e3bb4b87153449e96df29bd740adcd42a2e3d50ae4a270c80a5eb2c3057337048be5b978094d8bb73bec3378e3b6370748de2b063dd0aa4b
+DIST libfmt-10.1.1.tar.gz 851454 BLAKE2B 8b1237e6de72e81ebf2ad8d3c321b6ae9352bfeeb817d2e7f4541a722cd7ecc9212a2b83276fa0aa901473e1b90a15f487feefb3ea03acdcabdfe6b6f22997a1 SHA512 288c349baac5f96f527d5b1bed0fa5f031aa509b4526560c684281388e91909a280c3262a2474d963b5d1bf7064b1c9930c6677fe54a0d8f86982d063296a54c
+DIST libfmt-10.2.0.tar.gz 854581 BLAKE2B 8d094b9832f3acaaf6cdbbc3b04c7c92e585cd7079afb75b7901126c578a3a3f2094f208fb20444cbec001849cd8f229b3c441be3f11a91470fa04ca42c94177 SHA512 b90f8ab1692fcae9146f8cad5c5c26a2b5ceb6a0460003e01cabe8a75c0aa2fea1c3760dc3214eddaf08984a1695747ea8b1f3124c40c54cbadfd45458fa4b2d
+DIST libfmt-10.2.1.tar.gz 854665 BLAKE2B 7bef719aa99464b5cb608c81ca78e23f3aed81cadfa9ed65246c4983a98f0cadb27983d42929ab4e0b5e264673e38d7658a4f7d5171e624b2431b3c6327071d9 SHA512 27df90c681ec37e55625062a79e3b83589b6d7e94eff37a3b412bb8c1473f757a8adb727603acc9185c3490628269216843b7d7bd5a3cb37f0029da5d1495ffa
DIST libfmt-9.1.0.tar.gz 837901 BLAKE2B ff1daa43140615b63aeb1ecd0aa1c32d24decfd5006805080293ef3db04d544c0445a30e8da0d985a6f5a25ad48ce4f6ae61e52da5ea4a4d3b031c212da38b18 SHA512 a18442042722dd48e20714ec034a12fcc0576c9af7be5188586970e2edf47529825bdc99af366b1d5891630c8dbf6f63bfa9f012e77ab3d3ed80d1a118e3b2be
diff --git a/dev-libs/libfmt/files/libfmt-8.1.1-fix-static-assert.patch b/dev-libs/libfmt/files/libfmt-8.1.1-fix-static-assert.patch
deleted file mode 100644
index 9f29d7fb111c..000000000000
--- a/dev-libs/libfmt/files/libfmt-8.1.1-fix-static-assert.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-https://github.com/fmtlib/fmt/commit/8f8a1a02d5c5cb967d240feee3ffac00d66f22a2.patch
-https://github.com/facebook/folly/issues/1705
-
-From 8f8a1a02d5c5cb967d240feee3ffac00d66f22a2 Mon Sep 17 00:00:00 2001
-From: Victor Zverovich <viz@fb.com>
-Date: Fri, 14 Jan 2022 13:08:14 -0800
-Subject: [PATCH] Fix handling of formattable types implicitly convertible to
- pointers
-
----
- include/fmt/core.h | 5 +++--
- test/core-test.cc | 21 ++++++++++++++++++++-
- 2 files changed, 23 insertions(+), 3 deletions(-)
-
-diff --git a/include/fmt/core.h b/include/fmt/core.h
-index f2d21e5c5a..12571ce0da 100644
---- a/include/fmt/core.h
-+++ b/include/fmt/core.h
-@@ -1398,10 +1398,11 @@ template <typename Context> struct arg_mapper {
- template <
- typename T,
- FMT_ENABLE_IF(
-- std::is_member_pointer<T>::value ||
-+ std::is_pointer<T>::value || std::is_member_pointer<T>::value ||
- std::is_function<typename std::remove_pointer<T>::type>::value ||
- (std::is_convertible<const T&, const void*>::value &&
-- !std::is_convertible<const T&, const char_type*>::value))>
-+ !std::is_convertible<const T&, const char_type*>::value &&
-+ !has_formatter<T, Context>::value))>
- FMT_CONSTEXPR auto map(const T&) -> unformattable_pointer {
- return {};
- }
-diff --git a/test/core-test.cc b/test/core-test.cc
-index b2f2097ea1..c9eea8ffd8 100644
---- a/test/core-test.cc
-+++ b/test/core-test.cc
-@@ -737,6 +737,24 @@ struct convertible_to_pointer {
- operator const int*() const { return nullptr; }
- };
-
-+struct convertible_to_pointer_formattable {
-+ operator const int*() const { return nullptr; }
-+};
-+
-+FMT_BEGIN_NAMESPACE
-+template <> struct formatter<convertible_to_pointer_formattable> {
-+ auto parse(format_parse_context& ctx) -> decltype(ctx.begin()) {
-+ return ctx.begin();
-+ }
-+
-+ auto format(convertible_to_pointer_formattable, format_context& ctx) const
-+ -> decltype(ctx.out()) {
-+ auto test = string_view("test");
-+ return std::copy_n(test.data(), test.size(), ctx.out());
-+ }
-+};
-+FMT_END_NAMESPACE
-+
- enum class test_scoped_enum {};
-
- TEST(core_test, is_formattable) {
-@@ -770,11 +788,12 @@ TEST(core_test, is_formattable) {
- #endif
-
- static_assert(!fmt::is_formattable<convertible_to_pointer>::value, "");
-+ const auto f = convertible_to_pointer_formattable();
-+ EXPECT_EQ(fmt::format("{}", f), "test");
-
- static_assert(!fmt::is_formattable<void (*)()>::value, "");
-
- struct s;
--
- static_assert(!fmt::is_formattable<int(s::*)>::value, "");
- static_assert(!fmt::is_formattable<int (s::*)()>::value, "");
- static_assert(!fmt::is_formattable<test_scoped_enum>::value, "");
-
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-8.1.1-r1.ebuild b/dev-libs/libfmt/libfmt-8.1.1-r1.ebuild
deleted file mode 100644
index b621d9247a58..000000000000
--- a/dev-libs/libfmt/libfmt-8.1.1-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-LICENSE="MIT"
-IUSE="test"
-SLOT="0/${PV}"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-DEPEND=""
-RDEPEND=""
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-static-assert.patch
-)
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild b/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild
index 9c3f5a38576e..db30bc50d6d1 100644
--- a/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild
+++ b/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
S="${WORKDIR}/fmt-${PV}"
fi
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 4e9f5edae832..da45c0e71554 100644
--- a/dev-libs/libfmt/libfmt-9999.ebuild
+++ b/dev-libs/libfmt/libfmt-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake-multilib flag-o-matic
DESCRIPTION="Small, safe and fast formatting library"
HOMEPAGE="https://github.com/fmtlib/fmt"
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
S="${WORKDIR}/fmt-${PV}"
fi
@@ -22,7 +22,8 @@ SLOT="0/${PV}"
IUSE="test"
RESTRICT="!test? ( test )"
-src_configure() {
+multilib_src_configure() {
+ append-lfs-flags
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
-DFMT_LIB_DIR="$(get_libdir)"
diff --git a/dev-libs/libfmt/metadata.xml b/dev-libs/libfmt/metadata.xml
index 1de535ae4683..eb6c368a1f48 100644
--- a/dev-libs/libfmt/metadata.xml
+++ b/dev-libs/libfmt/metadata.xml
@@ -8,5 +8,6 @@
<upstream>
<bugs-to>https://github.com/fmtlib/fmt/issues</bugs-to>
<remote-id type="github">fmtlib/fmt</remote-id>
+ <remote-id type="cpe">cpe:/a:fmt_project:fmt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/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/libgamin-0.1.10-r6.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild
index 87a88a7e7a0c..86fcb2f3bb8d 100644
--- a/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild
+++ b/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild
@@ -17,7 +17,7 @@ SRC_URI="${SRC_URI}
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug static-libs"
RESTRICT="test" # needs gam-server
diff --git a/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild
new file mode 100644
index 000000000000..3e0d9572036a
--- /dev/null
+++ b/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME_ORG_MODULE="gamin"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit autotools gnome.org multilib-minimal
+
+DESCRIPTION="Library providing the FAM File Alteration Monitor API"
+HOMEPAGE="https://www.gnome.org/~veillard/gamin/"
+SRC_URI="${SRC_URI}
+ mirror://gentoo/gamin-0.1.9-freebsd.patch.bz2
+ https://dev.gentoo.org/~grobian/patches/libgamin-0.1.10-opensolaris.patch.bz2
+ https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug static-libs"
+
+RESTRICT="test" # needs gam-server
+
+RDEPEND="
+ !app-admin/fam
+ !<app-admin/gamin-0.1.10"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ mv "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
+
+ # Fix QA warnings, bug #257281, upstream #466791
+ eapply "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
+
+ if [[ ${CHOST} != *-solaris* ]] ; then
+ # Fix compile warnings; bug #188923
+ eapply "${WORKDIR}"/gamin-0.1.9-freebsd.patch
+ else
+ # (Open)Solaris necessary patches (changes configure.in), unfortunately
+ # conflicts with freebsd patch and breaks some linux installs so it must
+ # only be applied if on solaris.
+ eapply -p0 "${WORKDIR}"/${P}-opensolaris.patch
+ fi
+
+ # Fix collision problem due to intermediate library, upstream bug #530635
+ eapply "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
+
+ # Fix compilation with latest glib, bug #382783
+ eapply "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
+
+ # Fix crosscompilation issues, bug #267604
+ eapply "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
+
+ # Enable linux specific features on armel, upstream bug #588338
+ eapply "${FILESDIR}/${P}-armel-features.patch"
+
+ # Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
+ eapply "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
+
+ # Fix musl build, upstream bug #588337
+ eapply "${FILESDIR}/${PN}-0.1.10-musl-pthread.patch"
+
+ # Drop DEPRECATED flags
+ sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
+
+ sed -i \
+ -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
+ -e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
+ configure.in || die #466962
+
+ mv configure.in configure.ac || die
+ # autoconf is required as the user-cflags patch modifies configure.in
+ # however, elibtoolize is also required, so when the above patch is
+ # removed, replace the following call with a call to elibtoolize
+ AT_M4DIR="${WORKDIR}" eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(use_enable static-libs static)
+ --disable-debug
+ --disable-server
+ $(use_enable kernel_linux inotify)
+ $(use_enable debug debug-api)
+ --without-python
+ )
+ local ECONF_SOURCE=${S}
+
+ econf "${myconf[@]}"
+}
+
+multilib_src_install_all() {
+ DOCS=( AUTHORS ChangeLog README TODO NEWS doc/*txt )
+ HTML_DOCS=( doc/*.{html,gif} )
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild b/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
index 2a564652addf..c7184acf5ab2 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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit xdg cmake
+inherit cmake xdg
DESCRIPTION="Provides functionality for gaming input devices"
HOMEPAGE="https://sourceforge.net/projects/libgaminggear/"
SRC_URI="mirror://sourceforge/libgaminggear/${P}.tar.bz2"
+
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
@@ -23,15 +24,13 @@ RDEPEND="
x11-libs/libnotify
x11-libs/pango
"
-
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}
dev-libs/libgudev
media-libs/harfbuzz
"
BDEPEND="
dev-util/glib-utils
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
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 9cab16a86f27..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-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ HOMEPAGE="https://www.gnupg.org/"
SRC_URI="mirror://gnupg/${MY_PN}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1 MIT"
SLOT="11" # soname major version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
!dev-libs/libgcrypt:0/11
@@ -44,9 +44,7 @@ multilib_src_configure() {
--without-capabilities
# http://trac.videolan.org/vlc/ticket/620
- # causes bus-errors on sparc64-solaris
$([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index ebf21a881b4d..2bbd8c896934 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -1,4 +1,4 @@
-DIST libgcrypt-1.10.1.tar.bz2 3778457 BLAKE2B 46f30459891183b6d9ec18f1c7907fee0ad156c7dd75044f3db2b4d1c19dc6f30b2dfa6f85bc82adc9243aaba913e40fb6faf77d2226ca5a33897220d032437a SHA512 e5ca7966624fff16c3013795836a2c4377f0193dbb4ac5ad2b79654b1fa8992e17d83816569a402212dc8367a7980d4141f5d6ac282bae6b9f02186365b61f13
-DIST libgcrypt-1.10.1.tar.bz2.sig 119 BLAKE2B 5261d7dbfd5d82b2d3fa2ebf864a9ef0c7c978dd66a71c078df7bbb3b63f5d85180e5f909f43a49712fc16c45f7aabaa6bc30ed82a39ffc9a5d483ea6a94d162 SHA512 b156ae05079776698bc95ba5a9e48e95de8f716aa1760ef4b2e7cb8518ccec660337fc7823f865bde870461800d472fd8e458d03a7095b6bb614f6dd96f796d8
-DIST libgcrypt-1.9.4.tar.bz2 3239704 BLAKE2B b8244bc12a68955797b0c2b474ac5c95df1014231f7180a2ffa113e3aacedc98eed60ee1e4b30b032a5fcd6a04855ae07142c223906d5db9c28328a71e014f33 SHA512 d0e117ac73c94d70e9521ee1e6328691498cc8328f8c4e21338096908f5c04c7b838966eb63d59494565f4e19f506c07dab4f4d922150d75610d9f7b57abbf60
-DIST libgcrypt-1.9.4.tar.bz2.sig 119 BLAKE2B 4012c22259a9fd56f9da6c87d60077cea0dbfef85d4d4ad1ff6a2375ddefafc4cd03ee9083d18e080c14c95887b495062af886732a9593bcf1b8f187d21073fe SHA512 4aee16449b4b50dac62bd80217e769f32f43fb7cd994402b7d9cffbb1934b2771041c8c0c41a63ced9c8d9408025f9c5608ffc7f00e5e9a9b92a07cb5118a98a
+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.1-configure-clang16.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch
deleted file mode 100644
index fa80c999a3aa..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.10.1-configure-clang16.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-https://lists.gnupg.org/pipermail/gcrypt-devel/2022-December/005410.html
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1211,7 +1211,8 @@ AC_CACHE_CHECK([whether GCC assembler is compatible for ARM assembly implementat
- /* Test if '.type' and '.size' are supported. */
- ".size asmfunc,.-asmfunc;\n\t"
- ".type asmfunc,%function;\n\t"
-- );]], [ asmfunc(); ] )],
-+ );
-+ void asmfunc(void);]], [ asmfunc(); ] )],
- [gcry_cv_gcc_arm_platform_as_ok=yes])
- fi])
- if test "$gcry_cv_gcc_arm_platform_as_ok" = "yes" ; then
-@@ -1238,7 +1239,8 @@ AC_CACHE_CHECK([whether GCC assembler is compatible for ARMv8/Aarch64 assembly i
- "eor x0, x0, x30, ror #12;\n\t"
- "add x0, x0, x30, asr #12;\n\t"
- "eor v0.16b, v0.16b, v31.16b;\n\t"
-- );]], [ asmfunc(); ] )],
-+ );
-+ void asmfunc(void);]], [ asmfunc(); ] )],
- [gcry_cv_gcc_aarch64_platform_as_ok=yes])
- fi])
- if test "$gcry_cv_gcc_aarch64_platform_as_ok" = "yes" ; then
-@@ -1267,7 +1269,8 @@ AC_CACHE_CHECK([whether GCC assembler supports for CFI directives],
- ".cfi_restore_state\n\t"
- ".long 0\n\t"
- ".cfi_endproc\n\t"
-- );]])],
-+ );
-+ void asmfunc(void)]])],
- [gcry_cv_gcc_asm_cfi_directives=yes])])
- if test "$gcry_cv_gcc_asm_cfi_directives" = "yes" ; then
- AC_DEFINE(HAVE_GCC_ASM_CFI_DIRECTIVES,1,
-@@ -1666,7 +1669,8 @@ if test $amd64_as_feature_detection = yes; then
- [gcry_cv_gcc_as_const_division_ok],
- [gcry_cv_gcc_as_const_division_ok=no
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
-- [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t");]],
-+ [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t");
-+ void fn(void);]],
- [fn();])],
- [gcry_cv_gcc_as_const_division_ok=yes])])
- if test "$gcry_cv_gcc_as_const_division_ok" = "no" ; then
-@@ -1679,7 +1683,8 @@ if test $amd64_as_feature_detection = yes; then
- [gcry_cv_gcc_as_const_division_with_wadivide_ok],
- [gcry_cv_gcc_as_const_division_with_wadivide_ok=no
- AC_LINK_IFELSE([AC_LANG_PROGRAM(
-- [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t");]],
-+ [[__asm__(".text\n\tfn:\n\t xorl \$(123456789/12345678), %ebp;\n\t");
-+ void fn(void);]],
- [fn();])],
- [gcry_cv_gcc_as_const_division_with_wadivide_ok=yes])])
- if test "$gcry_cv_gcc_as_const_division_with_wadivide_ok" = "no" ; then
-@@ -1715,7 +1720,8 @@ if test $amd64_as_feature_detection = yes; then
- * and "-Wa,--divide" workaround failed, this causes assembly
- * to be disable on this machine. */
- "xorl \$(123456789/12345678), %ebp;\n\t"
-- );]], [ asmfunc(); ])],
-+ );
-+ void asmfunc(void);]], [ asmfunc(); ])],
- [gcry_cv_gcc_amd64_platform_as_ok=yes])
- fi])
- if test "$gcry_cv_gcc_amd64_platform_as_ok" = "yes" ; then
-@@ -1734,7 +1740,8 @@ if test $amd64_as_feature_detection = yes; then
- ".globl asmfunc\n\t"
- "asmfunc:\n\t"
- "xorq \$(1234), %rbp;\n\t"
-- );]], [ asmfunc(); ])],
-+ );
-+ void asmfunc(void);]], [ asmfunc(); ])],
- [gcry_cv_gcc_win64_platform_as_ok=yes])])
- if test "$gcry_cv_gcc_win64_platform_as_ok" = "yes" ; then
- AC_DEFINE(HAVE_COMPATIBLE_GCC_WIN64_PLATFORM_AS,1,
-@@ -1767,7 +1774,8 @@ AC_CACHE_CHECK([whether GCC assembler is compatible for Intel syntax assembly im
- "sub eax, [esp + 4];\n\t"
- "add dword ptr [esp + eax], 0b10101;\n\t"
- ".att_syntax prefix\n\t"
-- );]], [ actest(); ])],
-+ );
-+ void actest(void);]], [ actest(); ])],
- [gcry_cv_gcc_platform_as_ok_for_intel_syntax=yes])
- fi])
- if test "$gcry_cv_gcc_platform_as_ok_for_intel_syntax" = "yes" ; then
-@@ -1832,6 +1840,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports NEON instructions],
- "vadd.u64 %q0, %q1;\n\t"
- "vadd.s64 %d3, %d2, %d3;\n\t"
- );
-+ void testfn(void);
- ]], [ testfn(); ])],
- [gcry_cv_gcc_inline_asm_neon=yes])
- fi])
-@@ -1879,6 +1888,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports AArch32 Crypto Extension i
-
- "vmull.p64 q0, d0, d0;\n\t"
- );
-+ void testfn(void);
- ]], [ testfn(); ])],
- [gcry_cv_gcc_inline_asm_aarch32_crypto=yes])
- fi])
-@@ -1907,6 +1917,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports AArch64 NEON instructions]
- "dup v0.8b, w0;\n\t"
- "ld4 {v0.8b,v1.8b,v2.8b,v3.8b},[x0],\#32;\n\t"
- );
-+ void testfn(void);
- ]], [ testfn(); ])],
- [gcry_cv_gcc_inline_asm_aarch64_neon=yes])
- fi])
-@@ -1955,6 +1966,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports AArch64 Crypto Extension i
- "pmull v0.1q, v0.1d, v31.1d;\n\t"
- "pmull2 v0.1q, v0.2d, v31.2d;\n\t"
- );
-+ void testfn(void);
- ]], [ testfn(); ])],
- [gcry_cv_gcc_inline_asm_aarch64_crypto=yes])
- fi])
-@@ -2050,6 +2062,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports PowerPC AltiVec/VSX/crypto
- "vshasigmad %v0, %v1, 0, 15;\n"
- "vpmsumd %v11, %v11, %v11;\n"
- );
-+ void testfn(void);
- ]], [ testfn(); ] )],
- [gcry_cv_gcc_inline_asm_ppc_altivec=yes])
- fi])
-@@ -2075,6 +2088,7 @@ AC_CACHE_CHECK([whether GCC inline assembler supports PowerISA 3.00 instructions
- "testfn:\n"
- "stxvb16x %r1,%v12,%v30;\n"
- );
-+ void testfn(void);
- ]], [ testfn(); ])],
- [gcry_cv_gcc_inline_asm_ppc_arch_3_00=yes])
- fi])
-
-
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10.1-fix-no-asm-hppa.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10.1-fix-no-asm-hppa.patch
deleted file mode 100644
index e665749db3a5..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.10.1-fix-no-asm-hppa.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=c0692324fe8b3806eefc5017767917dca9cd94d0
-https://dev.gnupg.org/T5976
-https://bugs.gentoo.org/832871
-
-From c0692324fe8b3806eefc5017767917dca9cd94d0 Mon Sep 17 00:00:00 2001
-From: NIIBE Yutaka <gniibe@fsij.org>
-Date: Tue, 17 May 2022 10:44:55 +0900
-Subject: [PATCH] mpi: Allow building with --disable-asm for HPPA.
-
-* mpi/longlong.h [__hppa] (udiv_qrnnd): Only define
-when assembler is enabled.
-
---
-
-GnuPG-bug-id: 5976
-Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
---- a/mpi/longlong.h
-+++ b/mpi/longlong.h
-@@ -430,14 +430,14 @@ extern UDItype __udiv_qrnnd ();
- # define UMUL_TIME 40
- # define UDIV_TIME 80
- # endif
--# ifndef LONGLONG_STANDALONE
-+# if !defined(LONGLONG_STANDALONE) && !defined(ASM_DISABLED)
- # define udiv_qrnnd(q, r, n1, n0, d) \
- do { USItype __r; \
- (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
- (r) = __r; \
- } while (0)
- extern USItype __udiv_qrnnd ();
--# endif /* !LONGLONG_STANDALONE */
-+# endif /* !LONGLONG_STANDALONE && !ASM_DISABLED */
- # define count_leading_zeros(count, x) \
- do { \
- USItype __tmp; \
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.9.4-arm-neon-compile-fix.patch b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
deleted file mode 100644
index a42b0e89008a..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-https://lists.gnupg.org/pipermail/gcrypt-devel/2022-January/005224.html
-
-From bc0b82ad8201a4d7bffa3cf0f5504b72c1011cb1 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Tue, 18 Jan 2022 12:44:22 +0000
-Subject: [PATCH] cipher/cipher-gcm: fix build failure on ARM NEON
-
-'features' is only defined when relevant CPU features are found, but
-one of the uses below its definition checked for GCM_USE_ARM_NEON which
-wasn't in the guard above it.
-
-i.e. We used to only define 'features' when:
-- GCM_USE_INTEL_PCLMUL
-- GCM_USE_ARM_PMULL
-- GCM_USE_S390X_CRYPTO
-- GCM_USE_PPC_VPMSUM
-- GCM_USE_S390X_CRYPTO
-- GCM_USE_PPC_VPMSUM
-is set.
-
-We were missing GCM_USE_ARM_NEON so when we check for GCM_USE_ARM_NEON
-below, it'd fail as features wasn't defined.
-
-Bug: https://bugs.gentoo.org/831397
----
- cipher/cipher-gcm.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/cipher/cipher-gcm.c b/cipher/cipher-gcm.c
-index a039c5e9..22834f35 100644
---- a/cipher/cipher-gcm.c
-+++ b/cipher/cipher-gcm.c
-@@ -583,7 +583,8 @@ static void
- setupM (gcry_cipher_hd_t c)
- {
- #if defined(GCM_USE_INTEL_PCLMUL) || defined(GCM_USE_ARM_PMULL) || \
-- defined(GCM_USE_S390X_CRYPTO) || defined(GCM_USE_PPC_VPMSUM)
-+ defined(GCM_USE_ARM_NEON) || defined(GCM_USE_S390X_CRYPTO) || \
-+ defined(GCM_USE_PPC_VPMSUM)
- unsigned int features = _gcry_get_hw_features ();
- #endif
-
---
-2.34.1
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
deleted file mode 100644
index fdaaf606e1e9..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/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 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +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.10.1-fix-no-asm-hppa.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
-
- # 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")
- # causes bus-errors on sparc64-solaris
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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.1-r3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild
deleted file mode 100644
index 38cdf50ad91f..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/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 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc +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.10.1-fix-no-asm-hppa.patch
- "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch
- "${FILESDIR}"/${PN}-1.10.1-configure-clang16.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
-
- # 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")
- # causes bus-errors on sparc64-solaris
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && 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_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.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.9.4-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild
deleted file mode 100644
index d164dfc4b237..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gnupg.asc
-inherit autotools flag-o-matic 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 MIT"
-SLOT="0/20" # subslot = soname major version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+asm cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3 cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1 doc static-libs"
-
-# Build system only has --disable-arm-crypto-support right now
-# If changing this, update src_configure logic too.
-# ARM CPUs seem to, right now, support all-or-nothing for crypto extensions,
-# but this looks like it might change in future. This is just a safety check
-# in case people somehow do have a CPU which only supports some. They must
-# for now disable them all if that's the case.
-REQUIRED_USE="
- cpu_flags_arm_aes? ( cpu_flags_arm_sha1 cpu_flags_arm_sha2 )
- cpu_flags_arm_sha1? ( cpu_flags_arm_aes cpu_flags_arm_sha2 )
- cpu_flags_arm_sha2? ( cpu_flags_arm_aes cpu_flags_arm_sha1 )
- cpu_flags_ppc_vsx3? ( cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 )
- cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
-"
-
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( virtual/texi2dvi )
- verify-sig? ( sec-keys/openpgp-keys-gnupg )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-multilib-syspath.patch
- "${FILESDIR}"/${PN}-powerpc-darwin.patch
- "${FILESDIR}"/${PN}-1.9.4-arm-neon-compile-fix.patch
- "${FILESDIR}"/${PN}-1.9.4-no-fgrep-libgcrypt-config.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libgcrypt-config
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- if [[ ${CHOST} == *86*-solaris* ]] ; then
- # ASM code uses GNU ELF syntax, divide in particular, we need to
- # allow this via ASFLAGS, since we don't have a flag-o-matic
- # function for that, we'll have to abuse cflags for this
- append-cflags -Wa,--divide
- fi
-
- if [[ ${CHOST} == powerpc* ]] ; then
- # ./configure does a lot of automagic, prevent that
- # generic ppc32+ppc64 altivec
- use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no
- use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no
- # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support
- use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no
- # power9 vector extension, aka arch 3.00 ISA
- use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
- fi
-
- # 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")
- # causes bus-errors on sparc64-solaris
- $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
-
- $(use asm || echo "--disable-asm")
-
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
- $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
-}
-
-multilib_src_compile() {
- default
- multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
- multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libgcrypt/metadata.xml b/dev-libs/libgcrypt/metadata.xml
index 33d811c69f22..8d42c0b262c0 100644
--- a/dev-libs/libgcrypt/metadata.xml
+++ b/dev-libs/libgcrypt/metadata.xml
@@ -9,7 +9,6 @@
<remote-id type="cpe">cpe:/a:gnupg:libgcrypt</remote-id>
</upstream>
<use>
- <flag name="asm">Enable assembly for optimization</flag>
<flag name="getentropy">Use getentropy function to obtain randomness from the kernel</flag>
</use>
</pkgmetadata>
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.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.20.6.ebuild b/dev-libs/libgee/libgee-0.20.6.ebuild
deleted file mode 100644
index 92d774e85027..000000000000
--- a/dev-libs/libgee/libgee-0.20.6.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome2
-
-DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgee"
-
-LICENSE="LGPL-2.1+"
-SLOT="0.8/2"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86 ~x86-linux"
-IUSE="+introspection"
-
-# FIXME: add doc support, requires valadoc
-RDEPEND="
- >=dev-libs/glib-2.36:2
- introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-src_configure() {
- gnome2_src_configure \
- $(use_enable introspection) \
- VALAC="$(type -P false)"
-}
diff --git a/dev-libs/libgit2-glib/Manifest b/dev-libs/libgit2-glib/Manifest
index dc4789e2c233..7e08a7a2c53d 100644
--- a/dev-libs/libgit2-glib/Manifest
+++ b/dev-libs/libgit2-glib/Manifest
@@ -1 +1 @@
-DIST libgit2-glib-1.1.0.tar.xz 140128 BLAKE2B e1e87fca17ec801059245c5687399f48886450f7ca7ea948f2179fed383543dec1b18b78abc3ec5581f570b488a166e1e03e99201385698877075be8b3205dbe SHA512 5e493b85a2bcbfea2a291e6dd243ee6948a31e7305c96c0bf04a750114de6ba3a06b435502eeae09bc1b91d34d5174e27bd4171fe969f1b376e820f82a3b5e1d
+DIST libgit2-glib-1.2.0.tar.xz 140576 BLAKE2B f49f808e7f97c45d7df49d780fdf036422b794e551f2e42d934b015fb227b1cb80d5067198a5ef7ac0539460bf6c0eab74025bcf367a0aebb43518448015e22e SHA512 37004e86c663ce5fe1bd54878b908575eb9195c1012e88e39c2efdb0b6cfa1de3d2ed9754cecc1b942d001698870025c87d95856f2a0a9f2d0dba1979b07b1f8
diff --git a/dev-libs/libgit2-glib/libgit2-glib-1.1.0.ebuild b/dev-libs/libgit2-glib/libgit2-glib-1.1.0.ebuild
deleted file mode 100644
index 74abcf2694d0..000000000000
--- a/dev-libs/libgit2-glib/libgit2-glib-1.1.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit gnome.org meson python-r1 vala xdg
-
-DESCRIPTION="Git library for GLib"
-HOMEPAGE="https://wiki.gnome.org/Projects/Libgit2-glib"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
-IUSE="gtk-doc python +ssh +vala"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- >=dev-libs/gobject-introspection-1.54:=
- >=dev-libs/glib-2.44.0:2
- >=dev-libs/libgit2-0.26.0:0=[ssh?]
- python? (
- ${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
- gtk-doc? ( dev-util/gi-docgen )
- vala? ( $(vala_depend) )
-"
-
-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/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/Manifest b/dev-libs/libgit2/Manifest
index 9331788b5a71..b6be2db7ff21 100644
--- a/dev-libs/libgit2/Manifest
+++ b/dev-libs/libgit2/Manifest
@@ -1 +1,2 @@
-DIST libgit2-1.5.1.tar.gz 5895483 BLAKE2B 4df80216523f4065e46c1ce99fd0747d2f8516571691c8c2b5638e32c805f5ce08d3add769e6d5ce29ac69b35419db82ce56c6b3019e70573c4ad63aca2e440d SHA512 04cf389e30cd9fb787704e3c8997acaaeea5c13e1e2f9eaf9f5598d35c2e85f3cf04b47312cae9e7278236ecb089c2d33addd852e38d3c7d2daa87929b077f39
+DIST libgit2-1.7.2.tar.gz 7548186 BLAKE2B c27870124c7e63a37794014a802a6fce46c577313f3b6081580f920fa842a65305b5bc56aa6ab02cf87c533d6052afdc37317f96aa1fd67387b07f52415ccbe3 SHA512 825737e4a1991fba50ea535f15b0e560ebe76ead752e04aeba36925b944d0da77fe9826a70980a1aa3d0bf9afbedfab79dd92e799c9252931384c89ebec9b012
+DIST libgit2-1.8.0.tar.gz 7590126 BLAKE2B f3cc5259a5804bb1e319633269a8c488d7195683e39c178fbe5dc43278736bf15f706c1ca8f72b519ef647033ed11426ea40ceb0dd3ffddae3a35839493d6c54 SHA512 e5634267bd9c6a594c9a954d09c657e7b8aadf213609bf7dd83b99863d0d0c7109a5277617dd508abc2da54ea3f12c2af1908d1aeb73c000e94056e2f3653144
diff --git a/dev-libs/libgit2/libgit2-1.5.1.ebuild b/dev-libs/libgit2/libgit2-1.5.1.ebuild
deleted file mode 100644
index 4649bd0b13c7..000000000000
--- a/dev-libs/libgit2/libgit2-1.5.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake python-any-r1
-
-DESCRIPTION="A linkable library for Git"
-HOMEPAGE="https://libgit2.org/"
-SRC_URI="
- https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
-"
-S=${WORKDIR}/${P/_/-}
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 arm arm64 ~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_prepare() {
- cmake_src_prepare
- # relying on forked http-parser to support some obscure URI form
- sed -i -e '/empty_port/s:test:_&:' \
- tests/libgit2/network/url/parse.c || die
-}
-
-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
- )
- cmake_src_configure
-}
-
-src_test() {
- if [[ ${EUID} -eq 0 ]] ; then
- # repo::iterator::fs_preserves_error fails if run as root
- # since root can still access dirs with 0000 perms
- ewarn "Skipping tests: non-root privileges are required for all tests to pass"
- else
- local TEST_VERBOSE=1
- cmake_src_test -R offline
- fi
-}
-
-src_install() {
- cmake_src_install
- dodoc docs/*.{md,txt}
-
- if use examples ; then
- find examples -name '.gitignore' -delete || die
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-libs/libgit2/libgit2-1.7.2.ebuild b/dev-libs/libgit2/libgit2-1.7.2.ebuild
new file mode 100644
index 000000000000..e6996dbfbafa
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-1.7.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake flag-o-matic python-any-r1
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="https://libgit2.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+S=${WORKDIR}/${P/_/-}
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos"
+IUSE="examples gssapi +ssh test +threads trace"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libpcre2:=
+ net-libs/http-parser:=
+ sys-libs/zlib
+ dev-libs/openssl:0=
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DUSE_SSH=$(usex ssh)
+ -DUSE_GSSAPI=$(usex gssapi ON OFF)
+ -DUSE_HTTP_PARSER=system
+ -DREGEX_BACKEND=pcre2
+ )
+ # https://bugs.gentoo.org/927821
+ append-flags -fno-strict-aliasing
+ filter-lto
+ # https://bugs.gentoo.org/925207
+ append-lfs-flags
+ cmake_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake_src_test -R offline
+ fi
+}
+
+src_install() {
+ cmake_src_install
+ dodoc docs/*.{md,txt}
+
+ if use examples ; then
+ find examples -name '.gitignore' -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libgit2/libgit2-1.8.0.ebuild b/dev-libs/libgit2/libgit2-1.8.0.ebuild
new file mode 100644
index 000000000000..e6996dbfbafa
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-1.8.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake flag-o-matic python-any-r1
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="https://libgit2.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+S=${WORKDIR}/${P/_/-}
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos"
+IUSE="examples gssapi +ssh test +threads trace"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libpcre2:=
+ net-libs/http-parser:=
+ sys-libs/zlib
+ dev-libs/openssl:0=
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DUSE_SSH=$(usex ssh)
+ -DUSE_GSSAPI=$(usex gssapi ON OFF)
+ -DUSE_HTTP_PARSER=system
+ -DREGEX_BACKEND=pcre2
+ )
+ # https://bugs.gentoo.org/927821
+ append-flags -fno-strict-aliasing
+ filter-lto
+ # https://bugs.gentoo.org/925207
+ append-lfs-flags
+ cmake_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake_src_test -R offline
+ fi
+}
+
+src_install() {
+ cmake_src_install
+ dodoc docs/*.{md,txt}
+
+ if use examples ; then
+ find examples -name '.gitignore' -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild b/dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild
index b519436e496b..a6bed38526a3 100644
--- a/dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild
+++ b/dev-libs/libglib-testing/libglib-testing-0.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://tecnocode.co.uk/downloads/libglib-testing-${PV}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~x86"
DEPEND=">=dev-libs/glib-2.44:2"
RDEPEND="${DEPEND}"
diff --git a/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild b/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild
index 2eb330143a14..8ae75e17654a 100644
--- a/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild
+++ b/dev-libs/libgnome-games-support/libgnome-games-support-1.8.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/libgnome-games-support"
LICENSE="LGPL-3+"
SLOT="1/3"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
IUSE=""
# glib dep in meson is 2.40, but vala is passed 2.44 target
diff --git a/dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild b/dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild
index 6d27b4edade6..33cf0b4df7b7 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/libgnome-games-support"
LICENSE="LGPL-3+"
SLOT="2/4"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
# glib dep in meson is 2.40, but vala is passed 2.44 target
RDEPEND="
diff --git a/dev-libs/libgnt/libgnt-2.14.3.ebuild b/dev-libs/libgnt/libgnt-2.14.3.ebuild
index e69ee9d06634..04d2ce3f3f6b 100644
--- a/dev-libs/libgnt/libgnt-2.14.3.ebuild
+++ b/dev-libs/libgnt/libgnt-2.14.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit meson
+inherit flag-o-matic meson
DESCRIPTION="Pidgin's GLib Ncurses Toolkit"
HOMEPAGE="https://keep.imfreedom.org/libgnt/libgnt"
@@ -32,6 +32,11 @@ PATCHES=(
)
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855872
+ # https://issues.imfreedom.org/issue/LIBGNT-19/Build-fails-with-LTO
+ filter-lto
+
local emesonargs=(
-Dpython2=false
$(meson_use doc)
diff --git a/dev-libs/libgpg-error/Manifest b/dev-libs/libgpg-error/Manifest
index 3bbfa2c74628..5c24aeb0ee7e 100644
--- a/dev-libs/libgpg-error/Manifest
+++ b/dev-libs/libgpg-error/Manifest
@@ -1,2 +1,6 @@
-DIST libgpg-error-1.46.tar.bz2 1014291 BLAKE2B 6748c463256b7d0a05fe89a63c5f3abda1975d861c35821248664f2f09cd2273ef619d12408b6107a99519939ca7214f492e705c29f52f7bbdc422237281c1ca SHA512 b06223bb2b0f67d3db5d0d9ab116361a0eda175d4667352b5c0941408d37f2b0ba8e507297e480ccebb88cbba9d0a133820b896914b07d264fb3edaac7b8c99d
-DIST libgpg-error-1.46.tar.bz2.sig 238 BLAKE2B c9f48969dc5b51c4d6c0c643a510e442b883af319f4bd9db3d1f9d9b56e4003f020131ace28d5e6d3db1d3f62c63ac083f159d545e601e7c47391bd16e4411d6 SHA512 c71be3ab3b2fe6c0932faad3df42c67a861a789a09e0b084da06fbf723c37e3bf28047ff4475a9b26bf622434517235c2677a832eebb611a47330ccc7887a7cf
+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.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.46-r1.ebuild b/dev-libs/libgpg-error/libgpg-error-1.46-r1.ebuild
deleted file mode 100644
index 3d94e5f819ed..000000000000
--- a/dev-libs/libgpg-error/libgpg-error-1.46-r1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2022 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="${BROOT}"/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+=" 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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
- hprefixify -w 1 autogen.sh
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(multilib_is_native_abi || echo --disable-languages)
- $(use_enable common-lisp languages)
- $(use_enable nls)
- # required for sys-power/suspend[crypt], bug 751568
- $(use_enable static-libs static)
- $(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.47-r1.ebuild b/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild
new file mode 100644
index 000000000000..1d2b90ba2690
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools multilib-minimal toolchain-funcs prefix verify-sig
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="common-lisp nls static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+ /usr/include/gpgrt.h
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+ /usr/bin/gpgrt-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.44-remove_broken_check.patch"
+)
+
+src_prepare() {
+ default
+
+ if use prefix ; then
+ # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
+ sed -i -e 's/solaris\*/disabled/' configure.ac || die
+ fi
+
+ # only necessary for as long as we run eautoreconf, configure.ac
+ # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is
+ # not a pure /bin/sh script, so it fails on some hosts
+ sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_is_native_abi || echo --disable-languages)
+ $(use_enable common-lisp languages)
+ $(use_enable nls)
+ # required for sys-power/suspend[crypt], bug 751568
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+
+ # See bug #699206 and its duplicates wrt gpgme-config
+ # Upstream no longer install this by default and we should
+ # seek to disable it at some point.
+ --enable-install-gpg-error-config
+
+ --enable-threads
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgpg-error/libgpg-error-1.48.ebuild b/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
new file mode 100644
index 000000000000..0939b629b21f
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Contains error handling functions used by GnuPG software"
+HOMEPAGE="https://www.gnupg.org/related_software/libgpg-error"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="common-lisp nls static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/gpg-error.h
+ /usr/include/gpgrt.h
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gpg-error-config
+ /usr/bin/gpgrt-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.48-remove_broken_check.patch"
+)
+
+src_prepare() {
+ default
+
+ if use prefix ; then
+ # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
+ sed -i -e 's/solaris\*/disabled/' configure.ac || die
+ fi
+
+ # only necessary for as long as we run eautoreconf, configure.ac
+ # uses ./autogen.sh to generate PACKAGE_VERSION, but autogen.sh is
+ # not a pure /bin/sh script, so it fails on some hosts
+ sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_is_native_abi || echo --disable-languages)
+ $(use_enable common-lisp languages)
+ $(use_enable nls)
+ # required for sys-power/suspend[crypt], bug 751568
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+
+ # See bug #699206 and its duplicates wrt gpgme-config
+ # Upstream no longer install this by default and we should
+ # seek to disable it at some point.
+ --enable-install-gpg-error-config
+
+ --enable-threads
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+ )
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libgpg-error/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/libgpiod/Manifest b/dev-libs/libgpiod/Manifest
index 8afe11354ed5..cc79e073bb6f 100644
--- a/dev-libs/libgpiod/Manifest
+++ b/dev-libs/libgpiod/Manifest
@@ -1 +1,4 @@
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.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 259f300149e2..08ed90c17a3a 100644
--- a/dev-libs/libgpiod/metadata.xml
+++ b/dev-libs/libgpiod/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
<use>
<flag name="tools">Build some useful gpio tools that use libgpiod.</flag>
</use>
diff --git a/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild b/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
index d86626bd309d..ace2ec18de4b 100644
--- a/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
+++ b/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://dl.suckless.org/libgrapheme/${P}.tar.gz"
LICENSE="ISC Unicode-DFS-2016"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 arm64 x86"
# upstream suggests keeping the static option, others have requested it too
IUSE="static-libs"
@@ -22,8 +22,13 @@ src_prepare() {
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}"
diff --git a/dev-libs/libgudev/Manifest b/dev-libs/libgudev/Manifest
index 9ccec2aff812..4b42a0c9e8be 100644
--- a/dev-libs/libgudev/Manifest
+++ b/dev-libs/libgudev/Manifest
@@ -1,2 +1 @@
-DIST libgudev-236.tar.xz 28428 BLAKE2B cee5098f851183131db88812c8a985a3617fec7a2257f3c05ae0f06e423f15efa89801ef0c75cbb6e5ea9fb7a9db3c4d9215a3689e5d1ddb4832ef17442753cf SHA512 b00c30a7d57de8cca92a22f4c4da878c7cce448b1177858cc9ee0b99c5bc4fd0fbd01d8f4f9a9b9ef073af8f51c26533f2e7896c01ed9fed0a2bcfa6b2cfcbc2
-DIST libgudev-237.tar.xz 29060 BLAKE2B 5d39d4d26d8c8b3fa877319c294036294dbda96b340d2d04d7a35449d91b58de876b96b5e3d9423cdf3e1d3e2a94f5a861b1ac1e74a610637e0fc66248c68309 SHA512 2d68981e3ba5c58ee080b6ed5cd5152c1c352b2bdb3ecb5eaf2b91f6800d3369121222a7fe4f82630aabd164069ee7276c52082b2fc2ff5f318481b85b25abc6
+DIST libgudev-238.tar.xz 30548 BLAKE2B 386491e78c82081e89dad897d16ea6733430a67db3f75f2d9fdee5474b074ad6fede9f08e429f4eb6feaa9bbbb982d9d039db738aac5b5ce0ffac2d3a19430d4 SHA512 684061b4fc64a6ea3dd1ac34835279330c7eb2728fad6e3a9d34c0d501be3103d0f96c6d6866c8e257a0027e4f78a6314cb8ba81cda5ddf42ee9ea1a576ec5dc
diff --git a/dev-libs/libgudev/files/libgudev-test-double.patch b/dev-libs/libgudev/files/libgudev-test-double.patch
deleted file mode 100644
index 5d0eb3dab18d..000000000000
--- a/dev-libs/libgudev/files/libgudev-test-double.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 6f0503b1930a0776ef45fa7bc87a87e9dc69dacf Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Sat, 21 Aug 2021 15:09:58 -0400
-Subject: [PATCH] Skip test-double if the fr_FR.UTF-8 locale is not available
-
-Bug: https://bugs.gentoo.org/809359
----
- tests/test-double.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test-double.c b/tests/test-double.c
-index 0092d8b..7ba3abe 100644
---- a/tests/test-double.c
-+++ b/tests/test-double.c
-@@ -54,7 +54,11 @@ test_double (void)
- int main(int argc, char **argv)
- {
- setlocale (LC_ALL, NULL);
-- setlocale (LC_NUMERIC, "fr_FR.UTF-8");
-+ if (!setlocale (LC_NUMERIC, "fr_FR.UTF-8"))
-+ /* Skip the test if fr_FR.UTF-8 is not available */
-+ /* https://mesonbuild.com/Unit-tests.html#skipped-tests-and-hard-errors */
-+ return 77;
-+
- g_test_init (&argc, &argv, NULL);
-
- g_test_add_func ("/gudev/double", test_double);
---
-2.33.0
-
diff --git a/dev-libs/libgudev/libgudev-236.ebuild b/dev-libs/libgudev/libgudev-236.ebuild
deleted file mode 100644
index 6f66a6b523fa..000000000000
--- a/dev-libs/libgudev/libgudev-236.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2015-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson-multilib
-
-DESCRIPTION="GObject bindings for libudev"
-HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
-SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="introspection"
-
-DEPEND="
- >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
- >=virtual/libudev-199:=[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
-"
-RDEPEND="${DEPEND}
-"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- # avoid multilib checksum mismatch
- sed -i -e 's:@filename@:gudev/gudevenums.h:' gudev/gudevenumtypes.h.template || die
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_feature introspection)
- -Dgtk_doc=false
- -Dtests=disabled # umockdev tests currently don't pass (might need extra setup)
- -Dvapi=disabled
- )
- meson_src_configure
-}
diff --git a/dev-libs/libgudev/libgudev-237-r1.ebuild b/dev-libs/libgudev/libgudev-237-r1.ebuild
deleted file mode 100644
index a6fc1c64e605..000000000000
--- a/dev-libs/libgudev/libgudev-237-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2015-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson-multilib
-
-DESCRIPTION="GObject bindings for libudev"
-HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
-SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~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-199:=[${MULTILIB_USEDEP}]
- introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/umockdev[${MULTILIB_USEDEP}] )
-"
-BDEPEND="
- dev-util/glib-utils
- virtual/pkgconfig
-"
-
-PATCHES=(
- # https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/19
- "${FILESDIR}/libgudev-test-double.patch"
-)
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_feature introspection)
- -Dgtk_doc=false
- $(meson_feature test tests)
- -Dvapi=disabled
- )
- meson_src_configure
-}
-
-src_test() {
- # libsandbox interferes somehow.
- # There are no access violations, but tests fail.
- # https://bugs.gentoo.org/805449
- local -x SANDBOX_ON=0
- meson-multilib_src_test
-}
diff --git a/dev-libs/libgudev/libgudev-238-r1.ebuild b/dev-libs/libgudev/libgudev-238-r1.ebuild
new file mode 100644
index 000000000000..3d1e02888556
--- /dev/null
+++ b/dev-libs/libgudev/libgudev-238-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2015-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson-multilib
+
+DESCRIPTION="GObject bindings for libudev"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
+SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="introspection test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
+ >=virtual/libudev-251:=[sticky-tags(+),${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/umockdev[${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+"
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature introspection)
+ -Dgtk_doc=false
+ $(meson_feature test tests)
+ -Dvapi=disabled
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # libsandbox interferes somehow.
+ # There are no access violations, but tests fail.
+ # https://bugs.gentoo.org/805449
+ local -x SANDBOX_ON=0
+ meson-multilib_src_test
+}
diff --git a/dev-libs/libgusb/Manifest b/dev-libs/libgusb/Manifest
index e1ff45e13d6a..3fd71e68eff3 100644
--- a/dev-libs/libgusb/Manifest
+++ b/dev-libs/libgusb/Manifest
@@ -1,3 +1 @@
-DIST libgusb-0.4.2.tar.xz 48440 BLAKE2B 6241271efe40a8653e417ffcbd9b7ba0463c5a1e289a39fb8aab6b6c70da75973af1bcb8afba0a6c3a1535a7015e7d0f121f22ca1dddcd74d57722af3c95c312 SHA512 c3e8e7a21f1e2f355cda5dddbde7235f9c48d4ff96c2d012e48df5bd7e1216ed41f3cc81f4a215ceead8b6e8cf0d04a85916043adfd074e543c041dbe63acd48
-DIST libgusb-0.4.3.tar.xz 48536 BLAKE2B 64ebe5f30cf7f0c43c12c8208559a698faa6df6e6cd7039a81c117d21ce8c5d0c2fec3a78565634eb348316fddabc6ff488a60b2d6bfaaf613510c76c3e28644 SHA512 d76c41af4962ec6af2dd22f41c0fabe46de64805a32fe7ad56b037725a26f217c8fa8705dd1d8e9008237ce0bb739c4e95f1b652fdb38b66ac6ed23840dfccc5
-DIST libgusb-0.4.4.tar.xz 49096 BLAKE2B 9ea68cd4fc415893cdf1bf34720d99a6eeb67b23403c4de64284b6c9072c68d6431cca842f3be4c5a6997ce3aa8a14f581cdb4d6768e6035d2337326bdd6f44c SHA512 1150315741f99d7ba96cba9eb341709ba1cbd84e59e95dce4d398b795e46b083151262b7ba80d102b7b201aac745a975d6f2549a981339df5e18cf9e0831e1fa
+DIST libgusb-0.4.8.tar.xz 51632 BLAKE2B f904bb8a0766a61b0e7d6e5e80d7f0eed5c44537065db2b9bf33cd694fcaa58d93a7cdec37802fd278c2eb7ad2e4de79cd492baa1ead373e31e4d75488999e1e SHA512 b6446761ba4a19b8e7b7fc2bcf26064c89a574c328b794eb3f1723ef71b4100447c5b024bd8163c4e42af935ce0b7e11b93b722871061f7115da0003cc14b001
diff --git a/dev-libs/libgusb/libgusb-0.4.2.ebuild b/dev-libs/libgusb/libgusb-0.4.2.ebuild
deleted file mode 100644
index 0d52eac53fd8..000000000000
--- a/dev-libs/libgusb/libgusb-0.4.2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit meson-multilib python-any-r1 vala
-
-DESCRIPTION="GObject wrapper for libusb"
-HOMEPAGE="https://github.com/hughsie/libgusb"
-SRC_URI="https://people.freedesktop.org/~hughsient/releases/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-
-IUSE="gtk-doc +introspection test +vala"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- sys-apps/hwdata
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- gtk-doc? ( dev-util/gi-docgen )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
- use vala && vala_setup
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=shared
- $(meson_use test tests)
- $(meson_native_use_bool vala vapi)
- -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
- $(meson_feature test umockdev)
-
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
- fi
-}
diff --git a/dev-libs/libgusb/libgusb-0.4.3.ebuild b/dev-libs/libgusb/libgusb-0.4.3.ebuild
deleted file mode 100644
index 79fdfd6e4237..000000000000
--- a/dev-libs/libgusb/libgusb-0.4.3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit meson-multilib python-any-r1 vala
-
-DESCRIPTION="GObject wrapper for libusb"
-HOMEPAGE="https://github.com/hughsie/libgusb"
-SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-IUSE="gtk-doc +introspection test +vala"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- sys-apps/hwdata
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- gtk-doc? ( dev-util/gi-docgen )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
- use vala && vala_setup
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=shared
- $(meson_use test tests)
- $(meson_native_use_bool vala vapi)
- -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
- $(meson_feature test umockdev)
-
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
- fi
-}
diff --git a/dev-libs/libgusb/libgusb-0.4.4.ebuild b/dev-libs/libgusb/libgusb-0.4.4.ebuild
deleted file mode 100644
index 79fdfd6e4237..000000000000
--- a/dev-libs/libgusb/libgusb-0.4.4.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit meson-multilib python-any-r1 vala
-
-DESCRIPTION="GObject wrapper for libusb"
-HOMEPAGE="https://github.com/hughsie/libgusb"
-SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-IUSE="gtk-doc +introspection test +vala"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- sys-apps/hwdata
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- gtk-doc? ( dev-util/gi-docgen )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
- use vala && vala_setup
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=shared
- $(meson_use test tests)
- $(meson_native_use_bool vala vapi)
- -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
- $(meson_feature test umockdev)
-
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
- fi
-}
diff --git a/dev-libs/libgusb/libgusb-0.4.8.ebuild b/dev-libs/libgusb/libgusb-0.4.8.ebuild
new file mode 100644
index 000000000000..986ca1a121f6
--- /dev/null
+++ b/dev-libs/libgusb/libgusb-0.4.8.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit meson-multilib python-any-r1 vala
+
+DESCRIPTION="GObject wrapper for libusb"
+HOMEPAGE="https://github.com/hughsie/libgusb"
+SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+
+IUSE="gtk-doc +introspection test +vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
+ virtual/libusb:1[udev,${MULTILIB_USEDEP}]
+ >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+ sys-apps/hwdata
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
+BDEPEND="
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
+ gtk-doc? ( dev-util/gi-docgen )
+ vala? ( $(vala_depend) )
+ virtual/pkgconfig
+"
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ default
+ use vala && vala_setup
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ -Ddefault_library=shared
+ $(meson_use test tests)
+ $(meson_native_use_bool vala vapi)
+ -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
+ $(meson_native_use_bool gtk-doc docs)
+ $(meson_native_use_bool introspection)
+ $(meson_feature test umockdev)
+
+ )
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
+ fi
+}
diff --git a/dev-libs/libgweather/Manifest b/dev-libs/libgweather/Manifest
index 83fe75d2fee1..9a4ea496fc79 100644
--- a/dev-libs/libgweather/Manifest
+++ b/dev-libs/libgweather/Manifest
@@ -1 +1 @@
-DIST libgweather-4.2.0.tar.xz 2752164 BLAKE2B 9cc51363d6a2a09497269760701e0e0c1beb68c0096262fb6e2885414f838b41c151df7b057def457fdd49f9036d853ab624a9683a5cf57bbdefaed5376fe69f SHA512 cd95c6714575c0afc52455bb99c9116af27716868648debe0e5309904cfaf7516cf2379e415b3d9dd57b5dd223bae8e8acbaf705a3867dad8f75aec22eea908e
+DIST libgweather-4.4.2.tar.xz 2827456 BLAKE2B de53257f15b5b0e38bd41ccf69665e701065db85d144853831f409cd1a7116482bb374a858b022f9fb5eb167203bb393fa4a9087ab2c2272ba1b83dec3efcbb0 SHA512 66012af9bc50dfbb8cdb3d8b1ad7c72b5e8e012d8bbaa5a8d7a841f4bd5b2ebe0a490cc7ea256ea5e1d218f328da8826fb2345aa848fd961da271e64cdf330ad
diff --git a/dev-libs/libgweather/libgweather-4.2.0.ebuild b/dev-libs/libgweather/libgweather-4.2.0.ebuild
deleted file mode 100644
index 17301696325d..000000000000
--- a/dev-libs/libgweather/libgweather-4.2.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit gnome.org 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 ~x86-solaris"
-
-RDEPEND="
- >=dev-libs/glib-2.68.0:2
- >=net-libs/libsoup-2.99.2:3.0
- sci-geosciences/geocode-glib:2
- >=dev-libs/libxml2-2.6.0:2
- dev-libs/json-glib
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
- vala? ( $(vala_depend) )
-"
-
-python_check_deps() {
- python_has_version -b "dev-python/pygobject[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- gnome2_environment_reset
- use vala && vala_setup
- # The metar test requires network access
- if has network-sandbox ${FEATURES}; then
- sed -i -e '/metar/d' libgweather/tests/meson.build || die
- fi
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use vala enable_vala)
- $(meson_use gtk-doc gtk_doc)
- $(meson_use introspection)
- $(meson_use test tests)
- -Dsoup2=false
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/doc/libgweather-4.0 "${ED}"/usr/share/gtk-doc/ || die
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/dev-libs/libgweather/libgweather-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/libhid/libhid-0.2.17-r1.ebuild b/dev-libs/libhid/libhid-0.2.17-r1.ebuild
index 908ad8e00008..d8047f0c5757 100644
--- a/dev-libs/libhid/libhid-0.2.17-r1.ebuild
+++ b/dev-libs/libhid/libhid-0.2.17-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,12 +21,12 @@ DEPEND="${RDEPEND}"
BDEPEND="
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
- "${FILESDIR}"/${P}-configure.patch
- "${FILESDIR}"/${P}-man.patch
+ "${FILESDIR}"/${PN}-0.2.17-configure.patch
+ "${FILESDIR}"/${PN}-0.2.17-man.patch
)
src_prepare() {
@@ -36,6 +36,7 @@ src_prepare() {
}
src_configure() {
+ local CONFIG_SHELL="$(type -P bash)"
export OS_LDFLAGS="${LDFLAGS}"
myeconfargs=(
diff --git a/dev-libs/libical/Manifest b/dev-libs/libical/Manifest
index 9b52aeb4e056..c7b0779ec931 100644
--- a/dev-libs/libical/Manifest
+++ b/dev-libs/libical/Manifest
@@ -1,2 +1,2 @@
-DIST libical-3.0.14.tar.gz 887795 BLAKE2B 8c073b77b5e4e6b24e3dfae7ac7a5f88da874bdfa53489cd04afd4d458d2fc963d39c2816691e777003ca9af510ceaf7bab9d7e1021942aa9c3adaad32ca8341 SHA512 36da5516672976c71b049a12af36164d91f9b655f81f1884766558149f25e80c30e64d15da848842f8a629295d708f39ce6fa63a3b0da39b5cbeb91911a4e6d8
-DIST libical-3.0.16.tar.gz 921245 BLAKE2B d6afe96abf32ece87393d85b4e5b0c1c10330ac64bca52bbaef96af45fbc06242cbbb4274fa350cc9a56655de238a85dea6111f381674b7cff44ab67a470e89e SHA512 72659c98f6c98b3e0fa15849df7f80993403100fb5c237e452df714a7be2d1d27f4547c81b399fe7bc6b1fb10c8c7cf9a23f5b969d588d7b05d7fe2e29c86bd4
+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/libical-3.0.14-r1.ebuild b/dev-libs/libical/libical-3.0.14-r1.ebuild
deleted file mode 100644
index 161414fada22..000000000000
--- a/dev-libs/libical/libical-3.0.14-r1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-VALA_USE_DEPEND="vapigen"
-inherit cmake python-any-r1 vala
-
-DESCRIPTION="Implementation of basic iCAL protocols"
-HOMEPAGE="https://github.com/libical/libical"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="|| ( MPL-2.0 LGPL-2.1 )"
-SLOT="0/3"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE="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-doc/doxygen[dot]
- glib? ( dev-util/gtk-doc )
- )
- introspection? ( dev-libs/gobject-introspection )
- test? (
- ${PYTHON_DEPS}
- glib? ( $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') )
- )
- vala? ( $(vala_depend) )
-"
-
-DOCS=(
- AUTHORS README.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.16.ebuild b/dev-libs/libical/libical-3.0.16.ebuild
deleted file mode 100644
index 08d0a0959509..000000000000
--- a/dev-libs/libical/libical-3.0.16.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-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 ~x86-solaris"
-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-doc/doxygen[dot]
- glib? ( dev-util/gtk-doc )
- )
- introspection? ( dev-libs/gobject-introspection )
- test? (
- ${PYTHON_DEPS}
- glib? ( $(python_gen_any_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]') )
- )
- vala? ( $(vala_depend) )
-"
-
-DOCS=(
- AUTHORS README.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.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/libiconv/libiconv-1.17.ebuild b/dev-libs/libiconv/libiconv-1.17.ebuild
index db5e609fb051..83b6a42dc1c7 100644
--- a/dev-libs/libiconv/libiconv-1.17.ebuild
+++ b/dev-libs/libiconv/libiconv-1.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,9 +9,9 @@ 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"
+LICENSE="LGPL-2.1+ GPL-3+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+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
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-r4.ebuild b/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild
index 2124b53457b2..f4d947713309 100644
--- a/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild
+++ b/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,8 +14,8 @@ 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"
-RESTRICT="test" # consequence of the -no-mono.patch
+IUSE="gtk +introspection test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/dbus-glib
@@ -31,13 +31,17 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
app-text/gnome-doc-utils
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
gnome-base/gnome-common
virtual/pkgconfig
$(vala_depend)
+ test? ( dev-util/dbus-test-runner )
"
-PATCHES=( "${FILESDIR}"/${P}-autotools.patch )
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${PN}-12.10.1-tests-werror.patch
+)
src_prepare() {
default
@@ -51,11 +55,16 @@ src_configure() {
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/libinput/Manifest b/dev-libs/libinput/Manifest
index d2d3b9d8d2cc..93761637c86b 100644
--- a/dev-libs/libinput/Manifest
+++ b/dev-libs/libinput/Manifest
@@ -1,2 +1 @@
-DIST libinput-1.21.0.tar.gz 988650 BLAKE2B 54c63beeff8dee93a52774220b45321d8a94261687b463319fbae9246331b532be7995a5b32c30425b9d0708b2ba69d4b4e83e8dc7ecebe6fb1237b723a266b6 SHA512 510273d68f2d4cfa61564a706b1f334f6bfca0d1c8faf0bb8aa656cf3fbd5e38d79d6fbaa01a20d38bc15777c9afc341e4ed08d35ef367ef3803ce788cbc4a0e
-DIST libinput-1.22.1.tar.bz2 794829 BLAKE2B 253f840e45ab2293503a0da09ea914b982e643c35928af6762955325a002b5bf20bf8571e705e3a050663cd0e1e26ee0cf4952a6193659f9b27ad1080008e900 SHA512 9d1985bc03ae304643fcd3acb762afc53305942e39071a062e7f8950be4929c72bdfeff06039c77f70e53233885df1e2e1a1dc538caeefd2b46f35826d290e9e
+DIST libinput-1.25.0.tar.bz2 812020 BLAKE2B 03034b6315c281d7eee6a7bc1f4c799c2c7f74add7a195501de75feb6b98fa8dc601b7573da5586b2b2882c3cfaddfad62f5c1b836402dce1f463bdb2884945d SHA512 b9dc3f3b5f34c82399dfb7ccb5f65d19a596c415f0198b39e3f360f5b87c42124a5355c8d9f6f42cc9ae2d4f9a90fe5da6260136fa83d278048392f93381a84b
diff --git a/dev-libs/libinput/files/libinput-1.22.1-sphinx-6.patch b/dev-libs/libinput/files/libinput-1.22.1-sphinx-6.patch
deleted file mode 100644
index 737ac3965c7a..000000000000
--- a/dev-libs/libinput/files/libinput-1.22.1-sphinx-6.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://bugs.gentoo.org/891371
-https://bugs.gentoo.org/889908
-https://gitlab.freedesktop.org/libinput/libinput/-/commit/bf2e8a406e6ebfdb62ffa67f00822c17ff9b2c6a
-
-From bf2e8a406e6ebfdb62ffa67f00822c17ff9b2c6a Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Tue, 17 Jan 2023 12:28:58 +1000
-Subject: [PATCH] doc/user: fix sphinx warning
-
-WARNING: extlinks: Sphinx-6.0 will require a caption string to contain
-exactly one '%s' and all other '%' need to be escaped as '%%'.
-
-Well, let's do that then!
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---- a/doc/user/conf.py.in
-+++ b/doc/user/conf.py.in
-@@ -169,7 +169,7 @@ from recommonmark.parser import CommonMarkParser
-
- extlinks = { 'commit' :
- ('https://gitlab.freedesktop.org/libinput/libinput/commit/%s',
-- 'git commit ')
-+ 'git commit %s')
- }
-
- # -- git version hack -------------------------------------------------
---
-GitLab
diff --git a/dev-libs/libinput/libinput-1.21.0-r1.ebuild b/dev-libs/libinput/libinput-1.21.0-r1.ebuild
deleted file mode 100644
index 225df8bd4a50..000000000000
--- a/dev-libs/libinput/libinput-1.21.0-r1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 2014-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 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.gz"
-
-LICENSE="MIT"
-SLOT="0/10"
-[[ "$(ver_cut 3)" -gt 900 ]] || \
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="doc input_devices_wacom test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- $(python_gen_any_dep '
- dev-python/commonmark[${PYTHON_USEDEP}]
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- >=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]
- ')
- >=app-doc/doxygen-1.8.3
- >=media-gfx/graphviz-2.38.0
- )
-"
-# test? ( dev-util/valgrind )
-RDEPEND="
- input_devices_wacom? ( >=dev-libs/libwacom-0.27:= )
- >=dev-libs/libevdev-1.9.902
- >=sys-libs/mtdev-1.1
- virtual/libudev:=
- virtual/udev
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-libs/check-0.9.10 )"
-
-python_check_deps() {
- has_version -b "dev-python/commonmark[${PYTHON_USEDEP}]" && \
- has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" && \
- has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- has_version -b ">=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed "s@, '-Werror'@@" -i meson.build || die #744250
-}
-
-src_configure() {
- # gui can be built but will not be installed
- local emesonargs=(
- -Ddebug-gui=false
- $(meson_use doc documentation)
- $(meson_use input_devices_wacom libwacom)
- $(meson_use test tests)
- -Dudev-dir="${EPREFIX}$(get_udevdir)"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use doc ; then
- docinto html
- dodoc -r "${BUILD_DIR}"/Documentation/.
- fi
-}
-
-pkg_postinst() {
- pkgname="dev-python/python-libevdev"
- if [[ -z "${REPLACING_VERSIONS}" ]] && ! has_version "${pkgname}" ; then
- einfo "${pkgname} must be installed to use the"
- einfo "libinput measure and libinput replay tools."
- fi
-
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/dev-libs/libinput/libinput-1.22.1.ebuild b/dev-libs/libinput/libinput-1.22.1.ebuild
deleted file mode 100644
index 70cad76124a2..000000000000
--- a/dev-libs/libinput/libinput-1.22.1.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 2014-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-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 ~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-doc/doxygen-1.8.3
- >=media-gfx/graphviz-2.38.0
- )
-"
-# test? ( dev-util/valgrind )
-
-PATCHES=(
- "${FILESDIR}"/${P}-sphinx-6.patch
-)
-
-python_check_deps() {
- python_has_version "dev-python/commonmark[${PYTHON_USEDEP}]" && \
- python_has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" && \
- python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
- python_has_version ">=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- sed "s@, '-Werror'@@" -i meson.build || die #744250
-}
-
-src_configure() {
- # gui can be built but will not be installed
- local emesonargs=(
- -Ddebug-gui=false
- $(meson_use doc documentation)
- $(meson_use input_devices_wacom libwacom)
- $(meson_use test tests)
- -Dudev-dir="${EPREFIX}$(get_udevdir)"
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use doc ; then
- docinto html
- dodoc -r "${BUILD_DIR}"/Documentation/.
- fi
-}
-
-pkg_postinst() {
- optfeature "measure and replay tools" dev-python/python-libevdev
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
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/libintl/Manifest b/dev-libs/libintl/Manifest
index 0d369ce9163e..fe3a242e1a81 100644
--- a/dev-libs/libintl/Manifest
+++ b/dev-libs/libintl/Manifest
@@ -1,2 +1,6 @@
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/libintl-0.21.1.ebuild b/dev-libs/libintl/libintl-0.21.1.ebuild
index bf61c562db4c..dc28c7d29d59 100644
--- a/dev-libs/libintl/libintl-0.21.1.ebuild
+++ b/dev-libs/libintl/libintl-0.21.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Note: Keep version bumps in sync with sys-devel/gettext.
@@ -6,7 +6,7 @@
EAPI=7
MY_P="gettext-${PV}"
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/gettext.asc
+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)"
@@ -17,7 +17,7 @@ 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+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}]"
diff --git a/dev-libs/libintl/libintl-0.22.4.ebuild b/dev-libs/libintl/libintl-0.22.4.ebuild
new file mode 100644
index 000000000000..04a709a15046
--- /dev/null
+++ b/dev-libs/libintl/libintl-0.22.4.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with sys-devel/gettext.
+
+EAPI=8
+
+MY_P="gettext-${PV}"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc
+inherit multilib-minimal libtool usr-ldscript verify-sig
+
+DESCRIPTION="the GNU international library (split out of gettext)"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="
+ mirror://gnu/gettext/${MY_P}.tar.xz
+ verify-sig? ( mirror://gnu/gettext/${MY_P}.tar.xz.sig )
+"
+S="${WORKDIR}/${MY_P}/gettext-runtime"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs +threads"
+
+DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]"
+# Block C libraries known to provide libintl.
+RDEPEND="
+ ${DEPEND}
+ !sys-libs/glibc
+ !sys-libs/musl
+ !<sys-devel/gettext-0.19.6-r1
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gettext )"
+
+src_prepare() {
+ default
+
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # gettext-0.21.1-java-autoconf.patch changes
+ # gettext-{runtime,tools}/configure.ac and the corresponding
+ # configure scripts. Avoid regenerating other autotools output.
+ #touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die
+ # Makefile.am adds a dependency on gettext-{runtime,tools}/configure.ac
+ #touch -c configure || die
+
+ cd "${S}" || die
+
+ # The libtool files are stored higher up, so make sure we run in the
+ # whole tree and not just the subdir we build.
+ elibtoolize "${WORKDIR}"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --cache-file="${BUILD_DIR}"/config.cache
+
+ # Emacs support is now in a separate package.
+ --without-emacs
+ --without-lispdir
+ # Normally this controls nls behavior in general, but the libintl
+ # subdir is skipped unless this is explicitly set. ugh.
+ --enable-nls
+ # This magic flag enables libintl.
+ --with-included-gettext
+ # The gettext package provides this library.
+ --disable-c++
+ --disable-libasprintf
+ # No Java until someone cares.
+ --disable-java
+
+ $(use_enable static-libs static)
+ $(use_enable threads)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ # We only need things in the intl/ subdir.
+ emake -C intl
+}
+
+multilib_src_install() {
+ # We only need things in the intl/ subdir.
+ emake DESTDIR="${D}" install -C intl
+
+ gen_usr_ldscript -a intl
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -type f -name "*.la" -delete || die
+ fi
+
+ rm -r "${ED}"/usr/share/locale || die
+
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/libintl/libintl-0.22.5.ebuild b/dev-libs/libintl/libintl-0.22.5.ebuild
new file mode 100644
index 000000000000..f3330a38b3c0
--- /dev/null
+++ b/dev-libs/libintl/libintl-0.22.5.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: Keep version bumps in sync with sys-devel/gettext.
+
+EAPI=8
+
+MY_P="gettext-${PV}"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gettext.asc
+inherit multilib-minimal libtool usr-ldscript verify-sig
+
+DESCRIPTION="the GNU international library (split out of gettext)"
+HOMEPAGE="https://www.gnu.org/software/gettext/"
+SRC_URI="
+ mirror://gnu/gettext/${MY_P}.tar.xz
+ verify-sig? ( mirror://gnu/gettext/${MY_P}.tar.xz.sig )
+"
+S="${WORKDIR}/${MY_P}/gettext-runtime"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs +threads"
+
+DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]"
+# Block C libraries known to provide libintl.
+RDEPEND="
+ ${DEPEND}
+ !sys-libs/glibc
+ !sys-libs/musl
+ !<sys-devel/gettext-0.19.6-r1
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gettext )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # bug #898570
+ unreachable
+ MIN
+ alignof
+ static_assert
+)
+
+src_prepare() {
+ default
+
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # gettext-0.21.1-java-autoconf.patch changes
+ # gettext-{runtime,tools}/configure.ac and the corresponding
+ # configure scripts. Avoid regenerating other autotools output.
+ #touch -c gettext-{runtime,tools}/{aclocal.m4,Makefile.in,config.h.in,configure} || die
+ # Makefile.am adds a dependency on gettext-{runtime,tools}/configure.ac
+ #touch -c configure || die
+
+ cd "${S}" || die
+
+ # The libtool files are stored higher up, so make sure we run in the
+ # whole tree and not just the subdir we build.
+ elibtoolize "${WORKDIR}"
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --cache-file="${BUILD_DIR}"/config.cache
+
+ # Emacs support is now in a separate package.
+ --without-emacs
+ --without-lispdir
+ # Normally this controls nls behavior in general, but the libintl
+ # subdir is skipped unless this is explicitly set. ugh.
+ --enable-nls
+ # This magic flag enables libintl.
+ --with-included-gettext
+ # The gettext package provides this library.
+ --disable-c++
+ --disable-libasprintf
+ # No Java until someone cares.
+ --disable-java
+
+ $(use_enable static-libs static)
+ $(use_enable threads)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ # We only need things in the intl/ subdir.
+ emake -C intl
+}
+
+multilib_src_install() {
+ # We only need things in the intl/ subdir.
+ emake DESTDIR="${D}" install -C intl
+
+ gen_usr_ldscript -a intl
+}
+
+multilib_src_install_all() {
+ if ! use static-libs ; then
+ find "${ED}" -type f -name "*.la" -delete || die
+ fi
+
+ rm -r "${ED}"/usr/share/locale || die
+
+ dodoc AUTHORS ChangeLog NEWS README
+}
diff --git a/dev-libs/libisoburn/Manifest b/dev-libs/libisoburn/Manifest
index a9521668870c..34cd3f89bcf2 100644
--- a/dev-libs/libisoburn/Manifest
+++ b/dev-libs/libisoburn/Manifest
@@ -1 +1 @@
-DIST libisoburn-1.5.4.tar.gz 1623904 BLAKE2B 3bb6ba88ad0422e1f3fbefdadb60231ea338a6bb8f39087fd25d58d68a4603c445d5d02b54c0a69897c321b4620f2ceb46eb8899552d2486e579a34f345a9d7f SHA512 5fc8532a13caf6caa5a0711753ca99ee2b3f4d5e2db9b3ed2aeef76714e3ae6de6d9c2db0d8297c0d749c42c5ab84fe92989751d8da24d41457b98656eb1bd86
+DIST libisoburn-1.5.6.tar.gz 1650966 BLAKE2B 56246feb390532588861944944de50fc6e70afa284da78a33e6a1c3a37fdf02cd8362dce2fc59c8f0017cc475eb15db47841759f376342d411d0518e9ba49c9b SHA512 0fc0058aa4cf755f30d5be0de808012978c657348412c7f129b8f8128da41f18216f3e039050a5851b557ffab344cf7dc44df374400ca008e34e2e2524fbd979
diff --git a/dev-libs/libisoburn/libisoburn-1.5.4.ebuild b/dev-libs/libisoburn/libisoburn-1.5.4.ebuild
deleted file mode 100644
index fea0150a35ac..000000000000
--- a/dev-libs/libisoburn/libisoburn-1.5.4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Creation/expansion of ISO-9660 filesystems on CD/DVD media supported by libburn"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisoburn"
-SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2 GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~s390 sparc x86"
-IUSE="acl debug external-filters external-filters-setuid frontend-optional
- launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
-
-REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- >=dev-libs/libburn-1.5.4
- >=dev-libs/libisofs-1.5.4
- readline? ( sys-libs/readline:0= )
- !readline? ( libedit? ( dev-libs/libedit ) )
- acl? ( virtual/acl )
- xattr? ( sys-apps/attr )
- zlib? ( sys-libs/zlib )
- launch-frontend? ( dev-lang/tcl:0 dev-lang/tk:0 )
- launch-frontend-setuid? ( dev-lang/tcl:0 dev-lang/tk:0 )
- frontend-optional? ( dev-tcltk/bwidget )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_enable readline libreadline) \
- $(usex readline --disable-libedit $(use_enable libedit)) \
- $(use_enable acl libacl) \
- $(use_enable xattr) \
- $(use_enable zlib) \
- --disable-libjte \
- $(use_enable external-filters) \
- $(use_enable external-filters-setuid) \
- $(use_enable launch-frontend) \
- $(use_enable launch-frontend-setuid) \
- --disable-ldconfig-at-install \
- --enable-pkg-check-modules \
- $(use_enable debug)
-}
-
-src_install() {
- default
-
- dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
-
- docinto frontend
- dodoc frontend/README-tcltk
- docinto xorriso
- dodoc xorriso/{changelog.txt,README_gnu_xorriso}
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
new file mode 100644
index 000000000000..3bbb20c4a6d4
--- /dev/null
+++ b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Creation/expansion of ISO-9660 filesystems on CD/DVD media supported by libburn"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisoburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="acl debug external-filters external-filters-setuid frontend-optional
+ launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
+
+REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=dev-libs/libburn-1.5.6
+ >=dev-libs/libisofs-1.5.6
+ readline? ( sys-libs/readline:0= )
+ !readline? (
+ libedit? ( dev-libs/libedit )
+ )
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+ launch-frontend? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ launch-frontend-setuid? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ frontend-optional? ( dev-tcltk/bwidget )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ default
+
+ # Ancient libtool version in 1.5.6 at least (debian's 2.4.2-1.11)
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable readline libreadline) \
+ $(usex readline --disable-libedit $(use_enable libedit)) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ $(use_enable external-filters) \
+ $(use_enable external-filters-setuid) \
+ $(use_enable launch-frontend) \
+ $(use_enable launch-frontend-setuid) \
+ --disable-ldconfig-at-install \
+ --enable-pkg-check-modules \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
+
+ docinto frontend
+ dodoc frontend/README-tcltk
+ docinto xorriso
+ dodoc xorriso/{changelog.txt,README_gnu_xorriso}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libisoburn/libisoburn-1.5.6.ebuild b/dev-libs/libisoburn/libisoburn-1.5.6.ebuild
new file mode 100644
index 000000000000..4960500550dc
--- /dev/null
+++ b/dev-libs/libisoburn/libisoburn-1.5.6.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Creation/expansion of ISO-9660 filesystems on CD/DVD media supported by libburn"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisoburn"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~s390 sparc x86"
+IUSE="acl debug external-filters external-filters-setuid frontend-optional
+ launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
+
+REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=dev-libs/libburn-1.5.6
+ >=dev-libs/libisofs-1.5.6
+ readline? ( sys-libs/readline:0= )
+ !readline? (
+ libedit? ( dev-libs/libedit )
+ )
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+ launch-frontend? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ launch-frontend-setuid? (
+ dev-lang/tcl:0
+ dev-lang/tk:0
+ )
+ frontend-optional? ( dev-tcltk/bwidget )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable readline libreadline) \
+ $(usex readline --disable-libedit $(use_enable libedit)) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ $(use_enable external-filters) \
+ $(use_enable external-filters-setuid) \
+ $(use_enable launch-frontend) \
+ $(use_enable launch-frontend-setuid) \
+ --disable-ldconfig-at-install \
+ --enable-pkg-check-modules \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
+
+ docinto frontend
+ dodoc frontend/README-tcltk
+ docinto xorriso
+ dodoc xorriso/{changelog.txt,README_gnu_xorriso}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libisofs/Manifest b/dev-libs/libisofs/Manifest
index 40ab662ad1af..0057a3ef40a4 100644
--- a/dev-libs/libisofs/Manifest
+++ b/dev-libs/libisofs/Manifest
@@ -1 +1 @@
-DIST libisofs-1.5.4.tar.gz 870395 BLAKE2B 2cb9d247219c368e9808dbb2b7bcbe22829e78683a6dc6d8a182b54ebfe6d8c8a082990179b784f891fc79f2ed4830f09dd43c64bfdce60cbff6c34fae2150e7 SHA512 a06e834e81081358478cdd27d1dcc6f3bb52ffd2ea57ade59f3ff2f69868fb6886a0b38fd1580d24295b7ed936ac471f107df64d62c1ff42b57dd8ce0810e3f2
+DIST libisofs-1.5.6.pl01.tar.gz 879218 BLAKE2B 466cb1fed6b0a29b2a418dfe7a3ac393d38961b08cf53febfe80f1bf91f891d1c17119a482fb0cb6f44eda0c568b1c00bd7b2eeb028ad749c99451ffb18b7f8b SHA512 7760931abbe508002bd3e7eeb694071425f24316cb11c80a2f162a76c3a1d79c57593b758bc0e540107140fd18714e1bf87ae3a65510956a76a1c09f80453a80
diff --git a/dev-libs/libisofs/libisofs-1.5.4.ebuild b/dev-libs/libisofs/libisofs-1.5.4.ebuild
deleted file mode 100644
index 00b1e8d8ab0b..000000000000
--- a/dev-libs/libisofs/libisofs-1.5.4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
-SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_enable debug) \
- $(use_enable verbose-debug) \
- $(use_enable acl libacl) \
- $(use_enable xattr) \
- $(use_enable zlib) \
- --disable-libjte \
- --disable-ldconfig-at-install
-}
-
-src_install() {
- default
-
- dodoc Roadmap doc/{*.txt,Tutorial}
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild b/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
new file mode 100644
index 000000000000..0c18fbd5e4be
--- /dev/null
+++ b/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PF=${P/_p1/}
+MY_P=${MY_PF}.pl01
+
+inherit autotools
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
+SRC_URI="https://files.libburnia-project.org/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="acl debug static-libs verbose-debug xattr zlib"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${MY_PF}"
+
+src_prepare() {
+ default
+
+ # Ancient libtool version in 1.5.6 at least (debian's 2.4.2-1.11)
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_enable verbose-debug) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ --disable-ldconfig-at-install
+}
+
+src_install() {
+ default
+
+ dodoc Roadmap doc/{*.txt,Tutorial}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild b/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild
new file mode 100644
index 000000000000..a1580127c83c
--- /dev/null
+++ b/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PF=${P/_p1/}
+MY_P=${MY_PF}.pl01
+
+DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
+HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
+SRC_URI="https://files.libburnia-project.org/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="acl debug static-libs verbose-debug xattr zlib"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+RDEPEND="
+ acl? ( virtual/acl )
+ xattr? ( sys-apps/attr )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${MY_PF}"
+
+src_configure() {
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable debug) \
+ $(use_enable verbose-debug) \
+ $(use_enable acl libacl) \
+ $(use_enable xattr) \
+ $(use_enable zlib) \
+ --disable-libjte \
+ --disable-ldconfig-at-install
+}
+
+src_install() {
+ default
+
+ dodoc Roadmap doc/{*.txt,Tutorial}
+
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libite/Manifest b/dev-libs/libite/Manifest
index 3e1efd85ae09..d4e8a05c5d24 100644
--- a/dev-libs/libite/Manifest
+++ b/dev-libs/libite/Manifest
@@ -1,2 +1 @@
-DIST libite-2.5.1.tar.xz 311436 BLAKE2B f3616b8d51f7a6987c9d4451feec9032b777a0fae4ed37ee68d95fc998bbefb09f84834435466e424f9b2dbe15a18b46d2fa5d7bc0a2307b30556734da06ed71 SHA512 113e7ff59d0e815b1e7bdbee601d5800264226eb7968b49aaf3c1505682058036df96be32ac939bef417313591b18447e12d46c32c0bdaf72a6a9143c22f2127
-DIST libite-2.5.2.tar.xz 312136 BLAKE2B 657bd6437be34931d06891cc53a0338845bd70ce9fa378bbc3fa4b7e0262296eb47b5c5c86644b79dc1796796282e07b82c2dbc99d0fbfdfad8bbe36fe404100 SHA512 8b0ac905dde81bc740b2fc877d4716cc1c4848e769a0150c65e8b9f392115211f1c953bb0c31b412454e6ce3643455a18d314e7e8192886a2350e642575f148a
+DIST libite-2.6.1.tar.xz 318552 BLAKE2B 36716ef4224513ed175c272724f927b03de63587ea611a14ab80ecbe012db4982ed8f96089c0336960de6f1ff57e5a6d1a64db895a613a2b59021bcf0e896b08 SHA512 37320cc7093aad756b574e9415a3a2aed9d76a147720f2b6493a173943b4f2875723c6f4f1d79868e3bd5e312fd545349c7dbcd66a675cee4ee1fa9889bfc2ee
diff --git a/dev-libs/libite/libite-2.5.1.ebuild b/dev-libs/libite/libite-2.5.1.ebuild
deleted file mode 100644
index 1163330dee56..000000000000
--- a/dev-libs/libite/libite-2.5.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A collection of useful BSD APIs"
-HOMEPAGE="https://github.com/troglobit/libite"
-SRC_URI="https://github.com/troglobit/libite/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-src_configure() {
- econf --enable-static=no
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
- rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
-}
diff --git a/dev-libs/libite/libite-2.5.2.ebuild b/dev-libs/libite/libite-2.5.2.ebuild
deleted file mode 100644
index 1163330dee56..000000000000
--- a/dev-libs/libite/libite-2.5.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A collection of useful BSD APIs"
-HOMEPAGE="https://github.com/troglobit/libite"
-SRC_URI="https://github.com/troglobit/libite/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-src_configure() {
- econf --enable-static=no
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
- rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
-}
diff --git a/dev-libs/libite/libite-2.6.1.ebuild b/dev-libs/libite/libite-2.6.1.ebuild
new file mode 100644
index 000000000000..91c25c54e4c0
--- /dev/null
+++ b/dev-libs/libite/libite-2.6.1.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A collection of useful BSD APIs"
+HOMEPAGE="https://github.com/troglobit/libite"
+SRC_URI="https://github.com/troglobit/libite/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+ rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
+}
diff --git a/dev-libs/libixion/Manifest b/dev-libs/libixion/Manifest
index 5513636ebc08..f8581813773e 100644
--- a/dev-libs/libixion/Manifest
+++ b/dev-libs/libixion/Manifest
@@ -1 +1 @@
-DIST libixion-0.17.0.tar.xz 499836 BLAKE2B c8c31b07ad14dd49be259686af3e39e6f5d4aeeb8680030ea7bd2697c8baa72123f2659b3087f224f956612dc444c97e6a6d331fd3deff780981bab4d5b6ad25 SHA512 0acdb2eae5250236a94b1a3344ca990058ea8db7b1e741545bcb7160f9e28d21a3c2ec336621fd590df10188a4d5feadfbb3a63f57e9bfd2cc1bffc04009ffad
+DIST libixion-0.19.0.tar.xz 536540 BLAKE2B 2bd8db83f926d553b1b6c78eb3e735e9911dbdd3cb95105fca04fd560099f38c5e4834d5887b1b0e6d44343e0da9b0fa0264f00c931a6b04b7e4c70996f819b2 SHA512 f06edbcf5ae7459a46e01273952ce6fbc4e8f2b7782c7e07645dc30e102f20f542e449acafc26484765207b10656e0b350f4108cbf1e03947ee7267254cf6f97
diff --git a/dev-libs/libixion/libixion-0.17.0.ebuild b/dev-libs/libixion/libixion-0.17.0.ebuild
deleted file mode 100644
index efb35e6775d3..000000000000
--- a/dev-libs/libixion/libixion-0.17.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-single-r1
-
-DESCRIPTION="General purpose formula parser & interpreter"
-HOMEPAGE="https://gitlab.com/ixion/ixion"
-
-if [[ ${PV} == *9999 ]]; then
- MDDS_SLOT="1/9999"
- EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
- inherit git-r3 autotools
-else
- MDDS_SLOT="1/2.0"
- SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.17" # 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-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 bdf365c4dc51..ec4bffd84edf 100644
--- a/dev-libs/libixion/libixion-9999.ebuild
+++ b/dev-libs/libixion/libixion-9999.ebuild
@@ -1,27 +1,26 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
-
+PYTHON_COMPAT=( python3_{10..12} )
inherit python-single-r1
DESCRIPTION="General purpose formula parser & interpreter"
HOMEPAGE="https://gitlab.com/ixion/ixion"
-if [[ ${PV} == *9999 ]]; then
- MDDS_SLOT="1/9999"
+if [[ ${PV} == *9999* ]]; then
+ MDDS_SLOT="1/3.0"
EGIT_REPO_URI="https://gitlab.com/ixion/ixion.git"
inherit git-r3 autotools
else
- MDDS_SLOT="1/2.0"
+ MDDS_SLOT="1/2.1"
SRC_URI="https://kohei.us/files/ixion/src/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT"
-SLOT="0/0.18" # based on SONAME of libixion.so
+SLOT="0/0.20" # based on SONAME of libixion.so
IUSE="debug python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -39,7 +38,7 @@ pkg_setup() {
src_prepare() {
default
- [[ ${PV} == *9999 ]] && eautoreconf
+ [[ ${PV} == *9999* ]] && eautoreconf
}
src_configure() {
diff --git a/dev-libs/libjcat/Manifest b/dev-libs/libjcat/Manifest
index a89c994fd8cd..6331f7ea2ef2 100644
--- a/dev-libs/libjcat/Manifest
+++ b/dev-libs/libjcat/Manifest
@@ -1 +1,2 @@
-DIST libjcat-0.1.12.tar.gz 68536 BLAKE2B 88328645dc38432d7988b87004e450459bebe3159f41074209f18fa9e8d0158025199e6add8b6ee531ac22ac3c87f227524ad741de6ec76ade4b39fd67b0b830 SHA512 cf60e86ad97ed786e6e7daefbb17b32d4725f3eab769f7cc480e9085b3a864fd2aad4e1db97b7b5e54352d17b84178631a4224aad3d5bc19cdac204b2fed844a
+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/libjcat-0.1.12.ebuild b/dev-libs/libjcat/libjcat-0.1.12.ebuild
deleted file mode 100644
index b2f10383f582..000000000000
--- a/dev-libs/libjcat/libjcat-0.1.12.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-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() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use vala && vala_setup
-}
-
-src_prepare() {
- xdg_environment_reset
- default
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk-doc gtkdoc)
- $(meson_use gpg)
- $(meson_use introspection)
- $(meson_use man)
- $(meson_use pkcs7)
- $(meson_use test tests)
- $(meson_use vala vapi)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libjcat/libjcat-0.1.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
index 38cfe165fd55..01872545896e 100644
--- a/dev-libs/libjcat/metadata.xml
+++ b/dev-libs/libjcat/metadata.xml
@@ -5,10 +5,6 @@
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
<longdescription lang="en">
This library allows reading and writing gzip-compressed JSON catalog files,
which can be used to store GPG, PKCS-7 and SHA-256 checksums for each file.
@@ -17,6 +13,8 @@
in Microsoft Windows.
</longdescription>
<use>
+ <flag name="ed25519">Enable ED25519 verification support
+ via <pkg>dev-libs/nettle</pkg> and <pkg>net-libs/gnutls</pkg></flag>
<flag name="gpg">Enable GPG verification support via <pkg>app-crypt/gpgme</pkg></flag>
<flag name="pkcs7">Enable PKCS7 verification support via <pkg>net-libs/gnutls</pkg></flag>
</use>
diff --git a/dev-libs/libjodycode/Manifest b/dev-libs/libjodycode/Manifest
new file mode 100644
index 000000000000..f681f8e69288
--- /dev/null
+++ b/dev-libs/libjodycode/Manifest
@@ -0,0 +1 @@
+DIST libjodycode-3.1.tar.gz 27340 BLAKE2B c084c75a241737c63f33a9a21ea2dc5303d6811fd94db9bd62162eb1ed3fa6e43edbbc1cbfa079f60f8f11a76c052cd825250b2ca34594889da46cbdda1c5248 SHA512 980f1797084594f710cae92b26d10c46a73415d11e89af608c8a87730ea39f497fec0889f9bd88af7c23aa0067dd6642758edc2b2756d9eba6e6a4a50c583751
diff --git a/dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch b/dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch
new file mode 100644
index 000000000000..761aecdf3c59
--- /dev/null
+++ b/dev-libs/libjodycode/files/libjodycode-3.0.1-static-lib.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index aaf46df..adb8cb2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -168,7 +168,6 @@ installfiles:
+ $(INSTALL_PROGRAM) $(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION) $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION)
+ $(LN) $(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION) $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION_MAJOR)
+ $(LN) $(PROGRAM_NAME).$(SO_SUFFIX).$(VERSION_MAJOR) $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).$(SO_SUFFIX)
+- $(INSTALL_DATA) $(PROGRAM_NAME).a $(DESTDIR)$(LIB_DIR)/$(PROGRAM_NAME).a
+ $(INSTALL_DATA) $(PROGRAM_NAME).h $(DESTDIR)$(INC_DIR)/$(PROGRAM_NAME).h
+ $(INSTALL_DATA) $(PROGRAM_NAME).7 $(DESTDIR)$(MAN7_DIR)/$(PROGRAM_NAME).7
+
diff --git a/dev-libs/libjodycode/libjodycode-3.1.ebuild b/dev-libs/libjodycode/libjodycode-3.1.ebuild
new file mode 100644
index 000000000000..76fa041c7d71
--- /dev/null
+++ b/dev-libs/libjodycode/libjodycode-3.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Shared code used by several utilities written by Jody Bruchon"
+HOMEPAGE="https://github.com/jbruchon/libjodycode"
+SRC_URI="https://github.com/jbruchon/libjodycode/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+# missing test script
+# https://github.com/jbruchon/jdupes/issues/191
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.1-static-lib.patch
+)
+
+src_compile() {
+ emake sharedlib
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIB_DIR="/usr/$(get_libdir)" \
+ PREFIX="${EPREFIX}"/usr \
+ install
+ einstalldocs
+}
diff --git a/dev-libs/libjodycode/metadata.xml b/dev-libs/libjodycode/metadata.xml
new file mode 100644
index 000000000000..5e6911a2de6c
--- /dev/null
+++ b/dev-libs/libjodycode/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>jakov.petrina@sartura.hr</email>
+ <name>Jakov Petrina</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jbruchon/libjodycode</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libjwt/Manifest b/dev-libs/libjwt/Manifest
new file mode 100644
index 000000000000..c8e0cd1b9089
--- /dev/null
+++ b/dev-libs/libjwt/Manifest
@@ -0,0 +1 @@
+DIST libjwt-1.15.3.tar.gz 108461 BLAKE2B 76b113ba189b23cf254906f85aa16df0a3243554c1930ea8471942072aaa1539814df444e5f1d48693ff5147489b444505358f6bdd84a88928a8ab5f3e036110 SHA512 111052e4a424f3960383ee533503c633b7284e4283e5b50cb8d5ba1fae6012b6f142d58e7230af0ff731329822abc7c3ab551b635b81d1341d3d5025b32dfd9f
diff --git a/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch
new file mode 100644
index 000000000000..1217eb86c4e2
--- /dev/null
+++ b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch
@@ -0,0 +1,342 @@
+From: https://github.com/dekeonus/libjwt/tree/feat-multi-ssl
+
+Enables multiple ssl implemtations to be installed at the same time
+default libjwt will default to linking to openssl (if openssl enabled)
+
+
+diff --git a/configure.ac b/configure.ac
+index be848df..3b61e2a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,27 +6,105 @@ LT_INIT([])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_HEADERS([libjwt/config.h])
+
++AC_SUBST([LIBJWT_LTVERSION], [11:0:9])
+ AC_SUBST([AM_CFLAGS], [-Wall])
+
+-dnl Prefer OpenSSL unless asked to ignore it
++dnl Build with OpenSSL when asked
+ AC_ARG_WITH([openssl],
+- AS_HELP_STRING([--without-openssl], [Ignore presence of OpenSSL libraries and use GnuTLS]))
+-
+-AS_IF([test "x$with_openssl" != "xno"], [
+- PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8])
+- AM_CONDITIONAL([HAVE_OPENSSL], [true])
+-], [
+- PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8])
+- AM_CONDITIONAL([HAVE_OPENSSL], [false])
++ AS_HELP_STRING([--with-openssl], [Build using OpenSSL library]),
++ [with_openssl=$withval],
++ [blank_openssl=yes])
++
++dnl Build with GnutLS when asked
++AC_ARG_WITH([gnutls],
++ AS_HELP_STRING([--with-gnutls], [Build using GnuTLS library]),
++ [with_gnutls=$withval],
++ [blank_gnutls=yes])
++
++dnl If no with[out]-'ssl' default to openssl
++AS_IF([test "x$blank_openssl" = "xyes" -a "x$blank_gnutls" = "xyes"], [
++ with_openssl=yes
++])
++
++dnl emulate previous build, without-openssl means build with gnutls
++AS_IF([test "x$with_openssl" = "xno" -a "x$blank_gnutls" = "xyes"], [
++ with_gnutls=yes
++])
++
++AC_ARG_ENABLE([multi-ssl], AS_HELP_STRING([--enable-multi-ssl],
++ [Enable multiple ssl library implementations]),
++ [enable_multi_ssl=$enableval],
++ [enable_multi_ssl=no])
++
++AS_IF([test "x$enable_multi_ssl" = "xno"], [
++ AS_IF([test "x$with_openssl" = "xyes" -a "x$with_gnutls" = "xyes"], [
++AC_MSG_ERROR([You need to enable multi-ssl to support multiple ssl implementations concurrently])
++ ])
++])
++AM_CONDITIONAL([MULTI_SSL], [test "x$enable_multi_ssl" = "xyes"])
++
++AS_IF([test "x$with_openssl" = "xyes"], [
++ PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8], [found_openssl=yes])
++])
++AM_CONDITIONAL([HAVE_OPENSSL], [test "x$found_openssl" = "xyes"])
++
++AS_IF([test "x$with_gnutls" = "xyes"], [
++ PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8], [found_gnutls=yes])
++])
++AM_CONDITIONAL([HAVE_GNUTLS], [test "x$found_gnutls" = "xyes"])
++
++AS_IF([test "x$found_openssl" != "xyes" -a "x$found_gnutls" != "xyes"], [
++ AC_MSG_ERROR([Neither openssl nor gnutls was found])
+ ])
+
++dnl work out default, or only, ssl library
++AC_MSG_CHECKING([which ssl library to use as default])
++AC_ARG_WITH([default-ssl], AS_HELP_STRING([--with-default-ssl@<:@=Lib@:>@],
++ [set default ssl library [openssl|gnutls] for multi-ssl]),
++ [with_default_ssl=$withval],
++ [with_default_ssl=yes])
++dnl note, yes/blank case will require further nesting, if additional ssl lib support added
++AS_CASE([$with_default_ssl],
++ [openssl], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl],
++ [AC_MSG_ERROR([requested default ssl lib openssl, but openssl not found])]
++ )],
++ [gnutls], [AS_IF([test "x$found_gnutls" = "xyes"], [ssl_impl=gnutls],
++ [AC_MSG_ERROR([requested default ssl lib gnutls, but gnutls not found])]
++ )],
++ [no], [AC_MSG_ERROR([unsupported configuration --without-default-ssl])],
++ [yes], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl],
++ [ssl_impl=gnutls])],
++ [AC_MSG_ERROR([Unknown ssl library $with_default_ssl])]
++)
++AC_MSG_RESULT([$ssl_impl])
++
+ AC_ARG_WITH([examples],
+ AS_HELP_STRING([--without-examples], [do not build example programs]),
+- [],
++ [with_examples=$withval],
+ [with_examples=yes])
+
+ AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$with_examples" != "xno"])
+
++dnl should not reach default case, bail out if it triggers
++AS_CASE([$ssl_impl],
++ [openssl], [
++ AC_SUBST([SSL_DEF_LDFLAGS], [$OPENSSL_LDFLAGS])
++ AC_SUBST([SSL_DEF_INCLUDES], [$OPENSSL_INCLUDES])
++ AC_SUBST([SSL_DEF_CFLAGS], [$OPENSSL_CFLAGS])
++ AC_SUBST([SSL_DEF_LIBS], [$OPENSSL_LIBS])
++ ],
++ [gnutls], [
++ AC_SUBST([SSL_DEF_LDFLAGS], [$GNUTLS_LDFLAGS])
++ AC_SUBST([SSL_DEF_INCLUDES], [$GNUTLS_INCLUDES])
++ AC_SUBST([SSL_DEF_CFLAGS], [$GNUTLS_CFLAGS])
++ AC_SUBST([SSL_DEF_LIBS], [$GNUTLS_LIBS])
++ ],
++ [AC_MSG_ERROR([unable to set default ssl library])]
++)
++AM_CONDITIONAL([SSL_DEF_OPENSSL], [test "x$ssl_impl" = "xopenssl"])
++dnl currently unused, for additional ssl implementations
++dnl AM_CONDITIONAL([SSL_DEF_GNUTLS], [test "x$ssl_impl" = "xgnutls"])
++
+ PKG_CHECK_MODULES([JANSSON], [jansson >= 2.0])
+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [true], [true])
+
+@@ -44,6 +122,13 @@ DX_PDF_FEATURE(OFF)
+ DX_PS_FEATURE(OFF)
+ DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.cfg)
+
++
++AM_COND_IF([MULTI_SSL], [
++ AM_COND_IF([HAVE_OPENSSL],
++ [AC_CONFIG_FILES([libjwt/libjwt-ossl.pc])])
++ AM_COND_IF([HAVE_GNUTLS],
++ [AC_CONFIG_FILES([libjwt/libjwt-gnutls.pc])])
++ ])
+ AC_CONFIG_FILES([
+ Makefile
+ include/Makefile
+diff --git a/libjwt/Makefile.am b/libjwt/Makefile.am
+index 7621428..b837d53 100644
+--- a/libjwt/Makefile.am
++++ b/libjwt/Makefile.am
+@@ -4,17 +4,51 @@ lib_LTLIBRARIES = libjwt.la
+
+ libjwt_la_SOURCES = jwt.c base64.c
+
+-if HAVE_OPENSSL
++if SSL_DEF_OPENSSL
+ libjwt_la_SOURCES += jwt-openssl.c
+ else
++## SSL_DEF_GNUTLS
+ libjwt_la_SOURCES += jwt-gnutls.c
+ endif
+
++if MULTI_SSL
++if HAVE_OPENSSL
++lib_LTLIBRARIES += libjwt-ossl.la
++libjwt_ossl_la_SOURCES = jwt.c base64.c jwt-openssl.c
++endif
++if HAVE_GNUTLS
++lib_LTLIBRARIES += libjwt-gnutls.la
++libjwt_gnutls_la_SOURCES = jwt.c base64.c jwt-gnutls.c
++endif
++endif
++
+ # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+-libjwt_la_LDFLAGS = -version-info 11:0:9 $(OPENSSL_LDFLAGS) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
+-libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
+-libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
+-libjwt_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS)
++libjwt_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(SSL_DEF_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(SSL_DEF_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(SSL_DEF_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_la_LIBADD = $(JANSSON_LIBS) $(SSL_DEF_LIBS) $(CODE_COVERAGE_LDFLAGS)
++if MULTI_SSL
++if HAVE_OPENSSL
++libjwt_ossl_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(OPENSSL_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_ossl_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_ossl_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_ossl_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(CODE_COVERAGE_LDFLAGS)
++endif
++if HAVE_GNUTLS
++libjwt_gnutls_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_gnutls_la_CPPFLAGS = -I$(top_srcdir)/include $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_gnutls_la_CFLAGS = $(JANSSON_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_gnutls_la_LIBADD = $(JANSSON_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS)
++endif
++endif
+
+ pkgconfiglibdir = $(libdir)/pkgconfig
+ pkgconfiglib_DATA = libjwt.pc
++if MULTI_SSL
++if HAVE_OPENSSL
++pkgconfiglib_DATA += libjwt-ossl.pc
++endif
++if HAVE_GNUTLS
++pkgconfiglib_DATA += libjwt-gnutls.pc
++endif
++endif
+diff --git a/libjwt/libjwt-gnutls.pc.in b/libjwt/libjwt-gnutls.pc.in
+new file mode 100644
+index 0000000..63962ee
+--- /dev/null
++++ b/libjwt/libjwt-gnutls.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: JWT C Library
++Version: @PACKAGE_VERSION@
++
++Cflags: -I${includedir}
++Libs: -L${libdir} -ljwt-gnutls
++Libs.private: @JANSSON_LIBS@ @GNUTLS_LIBS@
+diff --git a/libjwt/libjwt-ossl.pc.in b/libjwt/libjwt-ossl.pc.in
+new file mode 100644
+index 0000000..98c0ebe
+--- /dev/null
++++ b/libjwt/libjwt-ossl.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: JWT C Library
++Version: @PACKAGE_VERSION@
++
++Cflags: -I${includedir}
++Libs: -L${libdir} -ljwt-ossl
++Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@
+diff --git a/libjwt/libjwt.pc.in b/libjwt/libjwt.pc.in
+index 0c81d36..0bb64f4 100644
+--- a/libjwt/libjwt.pc.in
++++ b/libjwt/libjwt.pc.in
+@@ -9,4 +9,4 @@ Version: @PACKAGE_VERSION@
+
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -ljwt
+-Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@
++Libs.private: @JANSSON_LIBS@ @SSL_DEF_LIBS@
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 58860ac..57a6444 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -10,6 +10,14 @@ TESTS = \
+ jwt_ec \
+ jwt_validate
+
++if MULTI_SSL
++if HAVE_OPENSSL
++include ossl_tests.mk
++endif
++if HAVE_GNUTLS
++include gnutls_tests.mk
++endif
++endif
+ check_PROGRAMS = $(TESTS)
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+diff --git a/tests/gnutls_tests.mk b/tests/gnutls_tests.mk
+new file mode 100644
+index 0000000..b16b8ef
+--- /dev/null
++++ b/tests/gnutls_tests.mk
+@@ -0,0 +1,32 @@
++## for jwttest in $(jwttests)
++## do
++## TESTS += $(sslimpl)_$(jwttest)
++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c
++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS)
++## done
++
++TESTS += gnutls_jwt_new
++gnutls_jwt_new_SOURCES = jwt_new.c
++gnutls_jwt_new_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_grant
++gnutls_jwt_grant_SOURCES = jwt_grant.c
++gnutls_jwt_grant_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_header
++gnutls_jwt_header_SOURCES = jwt_header.c
++gnutls_jwt_header_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_dump
++gnutls_jwt_dump_SOURCES = jwt_dump.c
++gnutls_jwt_dump_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_encode
++gnutls_jwt_encode_SOURCES = jwt_encode.c
++gnutls_jwt_encode_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_rsa
++gnutls_jwt_rsa_SOURCES = jwt_rsa.c
++gnutls_jwt_rsa_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_ec
++gnutls_jwt_ec_SOURCES = jwt_ec.c
++gnutls_jwt_ec_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_validate
++gnutls_jwt_validate_SOURCES = jwt_validate.c
++gnutls_jwt_validate_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++
+diff --git a/tests/ossl_tests.mk b/tests/ossl_tests.mk
+new file mode 100644
+index 0000000..5c360c4
+--- /dev/null
++++ b/tests/ossl_tests.mk
+@@ -0,0 +1,32 @@
++## for jwttest in $(jwttests)
++## do
++## TESTS += $(sslimpl)_$(jwttest)
++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c
++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS)
++## done
++
++TESTS += ossl_jwt_new
++ossl_jwt_new_SOURCES = jwt_new.c
++ossl_jwt_new_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_grant
++ossl_jwt_grant_SOURCES = jwt_grant.c
++ossl_jwt_grant_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_header
++ossl_jwt_header_SOURCES = jwt_header.c
++ossl_jwt_header_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_dump
++ossl_jwt_dump_SOURCES = jwt_dump.c
++ossl_jwt_dump_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_encode
++ossl_jwt_encode_SOURCES = jwt_encode.c
++ossl_jwt_encode_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_rsa
++ossl_jwt_rsa_SOURCES = jwt_rsa.c
++ossl_jwt_rsa_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_ec
++ossl_jwt_ec_SOURCES = jwt_ec.c
++ossl_jwt_ec_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_validate
++ossl_jwt_validate_SOURCES = jwt_validate.c
++ossl_jwt_validate_LDADD = -ljwt-ossl $(CHECK_LIBS)
++
diff --git a/dev-libs/libjwt/libjwt-1.15.3.ebuild b/dev-libs/libjwt/libjwt-1.15.3.ebuild
new file mode 100644
index 000000000000..35757c174d8b
--- /dev/null
+++ b/dev-libs/libjwt/libjwt-1.15.3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="JWT C Library"
+HOMEPAGE="https://github.com/benmcollins/libjwt"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/benmcollins/libjwt"
+else
+ SRC_URI="https://github.com/benmcollins/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="0"
+# openssl / gnutls set which ssl implementations to use (build libjwt-ossl.so / libjwt-gnutls.so)
+# IF openssl is enabled it will be the implementation used for libjwt.so
+# gnutls will only be used for libjwt.so if openssl is disabled
+IUSE="gnutls +openssl test"
+
+REQUIRED_USE="
+ || ( gnutls openssl )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/jansson
+ gnutls? (
+ net-libs/gnutls:=
+ )
+ openssl? (
+ dev-libs/openssl:=
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-libs/check )
+"
+
+PATCHES=(
+ "${FILESDIR}/libjwt-1.15.3_multi_ssl_atools.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-multi-ssl
+ $(use_with gnutls)
+ $(use_with openssl)
+ --with-default-ssl=$(usex openssl openssl gnutls)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libjwt/metadata.xml b/dev-libs/libjwt/metadata.xml
new file mode 100644
index 000000000000..b06eda457275
--- /dev/null
+++ b/dev-libs/libjwt/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>jaco@uls.co.za</email>
+ <name>Jaco Kroon</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>dek.devel@baisenvar.info</email>
+ <name>Bill Prendergast</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>nic@boet.cc</email>
+ <name>Nic Boet</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="openssl">Use openssl libs for crypto functions</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">benmcollins/libjwt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libksba/Manifest b/dev-libs/libksba/Manifest
index d37377164005..c1e1649791c2 100644
--- a/dev-libs/libksba/Manifest
+++ b/dev-libs/libksba/Manifest
@@ -1,2 +1,4 @@
-DIST libksba-1.6.3.tar.bz2 668287 BLAKE2B a2b474aa5ea8eb387a2d9a459ec1e3daf36bbe7fd9d41a6f4c663ab443f46b98f12064cd6b2f039f5b30e1e2c9cbc4d01b43f8e125d13494c87f5b2d0f973d3b SHA512 188f6d27b4904c10cd54ba949c1132dd6c167f53dd1b77eae39c5b8e3ac8b15e87b2a54cdfddac95ac4ed41ee83c3d4e1b17d95126f245b6c204fade6739a2ce
-DIST libksba-1.6.3.tar.bz2.sig 119 BLAKE2B c6ab01889e7d7efa6117b388c8bf8e1916a3d5c174659b01a34a60bcf8e04181aaf60c79ebd8ab423300f19de084a7968db9b9afd8aa5980246d9ce3f91d66d2 SHA512 57081497e32af41abbe84678dfb2379318ae75fdde1f871f3960b7dce7270b952a832b64accbb2a1f19fbef8db9f4d35ac59890ac6cbe45215a65f6971ba43f1
+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/libksba-1.6.3.ebuild b/dev-libs/libksba/libksba-1.6.3.ebuild
deleted file mode 100644
index a939ec97fd30..000000000000
--- a/dev-libs/libksba/libksba-1.6.3.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 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="${BROOT}"/usr/share/openpgp-keys/gnupg.asc
-inherit toolchain-funcs verify-sig
-
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/libgpg-error-1.8"
-DEPEND="${RDEPEND}"
-BDEPEND="
- sys-devel/bison
- verify-sig? ( sec-keys/openpgp-keys-gnupg )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.0-no-fgrep-ksba-config.patch
-)
-
-src_configure() {
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-
- local myeconfargs=(
- $(use_enable static-libs static)
-
- GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
- LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-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.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/libliftoff/Manifest b/dev-libs/libliftoff/Manifest
index 150c094da16e..a8c10dec1933 100644
--- a/dev-libs/libliftoff/Manifest
+++ b/dev-libs/libliftoff/Manifest
@@ -1 +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.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/liblinear/Manifest b/dev-libs/liblinear/Manifest
index 202d311a741a..51d7295908e9 100644
--- a/dev-libs/liblinear/Manifest
+++ b/dev-libs/liblinear/Manifest
@@ -1 +1,2 @@
+DIST liblinear-2.46.tar.gz 569001 BLAKE2B d1f9019717b47414c11611a253ca9185d80cb5860e53462f9b4a6f95c99b0d39502ba91827d8afca6e98d279b50ce44cdcfde9a3629f2c5d4773eeb93e17de76 SHA512 94b892a51f85246cad36562f1e4870a22e73c0c6bf237dfcdc50467e93212a6e88a8f7ba36cfd691c031d8ced9ad663f592ef94e309df764d56095cfff7835ce
DIST liblinear-243.tar.gz 565437 BLAKE2B 6367cfbdc040b9183c4993f5340a4d74a8dde48da04ef07f725dc5735073e1b9a7440bad325e9f7527ad76d675dbf3bb47d1d43fc323e1e42ef360d679e816ff SHA512 a0cfa9803285cdfda54752e7addfb210a9ba8f7056cfc8aca13987db7f0bef5fe02d6179eadc829cb243670414da061e6c4cf3d50d682ce392778a0e8cb9e753
diff --git a/dev-libs/liblinear/liblinear-246.ebuild b/dev-libs/liblinear/liblinear-246.ebuild
new file mode 100644
index 000000000000..c19c43ca5fd9
--- /dev/null
+++ b/dev-libs/liblinear/liblinear-246.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs
+
+MY_PV="${PV:0:1}.${PV:1}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A Library for Large Linear Classification"
+HOMEPAGE="https://www.csie.ntu.edu.tw/~cjlin/liblinear/ https://github.com/cjlin1/liblinear"
+SRC_URI="https://www.csie.ntu.edu.tw/~cjlin/liblinear/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="BSD"
+SLOT="0/5"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e '/^CFLAGS/d;/^CXXFLAGS/d' \
+ blas/Makefile || die
+ sed -i \
+ -e 's|make|$(MAKE)|g' \
+ -e '/$(LIBS)/s|$(CFLAGS)|& $(LDFLAGS)|g' \
+ -e '/^CFLAGS/d;/^CXXFLAGS/d' \
+ -e 's|$(SHARED_LIB_FLAG)|& $(LDFLAGS)|g' \
+ Makefile || die
+
+ # fix install_name on Darwin
+ sed -i \
+ -e '/install_name/s:liblinear.so.$(SHVER):'"${EPREFIX}"'/usr/lib/liblinear.$(SHVER).dylib:' \
+ -e '/LDFLAGS/s:liblinear.so.$(SHVER):liblinear'"$(get_libname '$(SHVER)')"':' \
+ Makefile || die
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="${CFLAGS} -fPIC" \
+ CXXFLAGS="${CXXFLAGS} -fPIC" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ lib all
+}
+
+src_install() {
+ dolib.so ${PN}$(get_libname ${SLOT#*/})
+ dosym ${PN}$(get_libname ${SLOT#*/}) /usr/$(get_libdir)/${PN}$(get_libname)
+
+ newbin predict ${PN}-predict
+ newbin train ${PN}-train
+
+ doheader linear.h
+
+ dodoc README
+}
diff --git a/dev-libs/liblist/Manifest b/dev-libs/liblist/Manifest
deleted file mode 100644
index 66420c8739c8..000000000000
--- a/dev-libs/liblist/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST liblist-2.4.tar.bz2 275234 BLAKE2B 2f18d8b85476bd9369ef597553a546450fd33b3f3b4486ca371e6efd810a51b23ca3880300e0ecf826e9a9e8591f2b90a6a0006d224b34552f77416a83f7175e SHA512 814a02e4e47de8d234e592b87156533c30563c64c3a7515712fb9b75119bcee21796232b2a5abf7e4ab892932fa256890ad175aecb75aad8fb4614c6f4fbe3dd
diff --git a/dev-libs/liblist/liblist-2.4-r1.ebuild b/dev-libs/liblist/liblist-2.4-r1.ebuild
deleted file mode 100644
index 4ff0ef02da9f..000000000000
--- a/dev-libs/liblist/liblist-2.4-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Generic linked-list manipulation routines, plus queues and stacks"
-HOMEPAGE="http://ohnopub.net/liblist"
-SRC_URI="ftp://ohnopublishing.net/mirror/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~ppc64 x86 ~amd64-linux"
-IUSE="doc examples"
-
-BDEPEND="
- doc? (
- dev-texlive/texlive-metapost
- media-gfx/transfig
- virtual/latex-base
- )
-"
-
-src_configure() {
- econf \
- --disable-static \
- $(use_enable doc docs) \
- $(use_enable examples)
-}
-
-src_install() {
- default
-
- if use examples; then
- docinto examples
- dodoc examples/{*.c,Makefile,README}
- docinto examples/cache
- dodoc examples/cache/{*.c,README}
- fi
-
- docompress -x /usr/share/doc/${PF}/{list.0,paper.dvi,examples}
-
- # no static archives
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- elog "Note that man pages for this package have been renamed to avoid"
- elog "name collisions with some system functions. However, the libs"
- elog "and header files have not been changed."
- elog "The new names are liblist, lcache, liblist_queue, and liblist_stack."
-}
diff --git a/dev-libs/liblist/metadata.xml b/dev-libs/liblist/metadata.xml
deleted file mode 100644
index 0d62d0d99711..000000000000
--- a/dev-libs/liblist/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!--maintainer-needed-->
- <longdescription>
- This package provides generic linked-list manipulation routines. In addition,
- queue and stack abstractions are provided by single header files.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild b/dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild
index f3648a4f4e3d..0cc8b9bcd877 100644
--- a/dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild
+++ b/dev-libs/liblognorm/liblognorm-2.0.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -28,7 +28,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- >=sys-devel/autoconf-archive-2015.02.04
+ >=dev-build/autoconf-archive-2015.02.04
virtual/pkgconfig
doc? ( >=dev-python/sphinx-1.2.2 )
"
diff --git a/dev-libs/liblouis/Manifest b/dev-libs/liblouis/Manifest
index 9d1e55f5921b..1f385d6b1315 100644
--- a/dev-libs/liblouis/Manifest
+++ b/dev-libs/liblouis/Manifest
@@ -1 +1,2 @@
DIST liblouis-3.23.0.tar.gz 16738612 BLAKE2B b4508d27eaa9669bb2a1fbaac55edb3a85d3d2df18a8b26f4c9c396579b04614da3b3bcd6af45459d9129d2b81a920262dcb8fef7bee4290752174411fd66109 SHA512 25819758fc987ed378c439c5d40efd2692247a6020a40e5909320021e518e0518f5b022dda4ea5c7006a0f1ce2a4225d4ee1404560987bb2dd83504d58aa09db
+DIST liblouis-3.25.0.tar.gz 16939419 BLAKE2B f67dc1ee3aa9eb32fcf0693b3a31d40c56f048b393785011ec2b4c61611a3ab67d181d1e76148c489e443e3b0c4d5f7846ac1b4810ffa2c6a6e1d081cceab6ae SHA512 4e6456f30e845b955e98346cb94bdd4eaa6aff30f3e29fbd4e91c5bb58d1182c679fbf8afa27d7031c80d5755ae8567b830fa57c175522a038ef18d1bdc0707d
diff --git a/dev-libs/liblouis/liblouis-3.25.0.ebuild b/dev-libs/liblouis/liblouis-3.25.0.ebuild
new file mode 100644
index 000000000000..ae8c9ea52083
--- /dev/null
+++ b/dev-libs/liblouis/liblouis-3.25.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_OPTIONAL=1
+inherit distutils-r1
+
+DESCRIPTION="An open-source braille translator and back-translator"
+HOMEPAGE="https://github.com/liblouis/liblouis"
+SRC_URI="https://github.com/liblouis/liblouis/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/20"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-apps/help2man
+ python? ( ${PYTHON_DEPS}
+ >=dev-python/setuptools-42.0.2[${PYTHON_USEDEP}]
+ )
+ test? ( dev-libs/libyaml )
+"
+
+src_prepare() {
+ default
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+src_configure() {
+ # -fanalyzer substantially slows down the build and isn't useful for
+ # us. It's useful for upstream as it's static analysis, but it's not
+ # useful when just getting something built.
+ export gl_cv_warn_c__fanalyzer=no
+
+ # CONFIG_SHELL is temporary until https://github.com/liblouis/liblouis/pull/1369
+ # is in a release.
+ CONFIG_SHELL="${BROOT}"/bin/bash econf --enable-ucs4
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ pushd python > /dev/null || die
+ # setup.py imports liblouis to get the version number,
+ # and this causes the shared library to be dlopened
+ # at build-time. Hack around it with LD_PRELOAD.
+ # Thanks ArchLinux.
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+src_test() {
+ default
+
+ if use python; then
+ pushd python > /dev/null || die
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_test
+ popd > /dev/null || die
+ fi
+}
+
+python_test() {
+ local -x LOUIS_TABLEPATH="${S}"/tables
+ "${EPYTHON}" tests/test_louis.py || die
+}
+
+src_install() {
+ if use python; then
+ pushd python > /dev/null || die
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_install
+ popd > /dev/null || die
+ fi
+
+ # These need to be after distutils src_install, or it'll try to install them from under python/ as well
+ DOCS=( README AUTHORS NEWS ChangeLog doc/liblouis.txt )
+ HTML_DOCS=( doc/liblouis.html )
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild b/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
index f5c82fdbc28a..8cca8705cd0f 100644
--- a/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
+++ b/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
-# Please bump with sys-devel/libtool.
+# Please bump with dev-build/libtool.
inherit multilib-minimal flag-o-matic
@@ -16,9 +16,10 @@ 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
-# libltdl doesn't have a testsuite.
+# libltdl doesn't have a testsuite. Don't bother trying.
+RESTRICT="test"
BDEPEND="app-arch/xz-utils"
diff --git a/dev-libs/libltdl/libltdl-2.4.7.ebuild b/dev-libs/libltdl/libltdl-2.4.7.ebuild
deleted file mode 100644
index e27886080551..000000000000
--- a/dev-libs/libltdl/libltdl-2.4.7.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Please bump with sys-devel/libtool.
-
-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"
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-# libltdl doesn't have a testsuite.
-
-BDEPEND="app-arch/xz-utils"
-
-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. # bug #293921
- #use static-libs || find "${D}" -name libltdl.la -delete
-}
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.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.4.7.ebuild b/dev-libs/libmaa/libmaa-1.4.7.ebuild
new file mode 100644
index 000000000000..c75763f85f2c
--- /dev/null
+++ b/dev-libs/libmaa/libmaa-1.4.7.ebuild
@@ -0,0 +1,92 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing toolchain-funcs
+
+DESCRIPTION="Library with low-level data structures which are helpful for writing compilers"
+HOMEPAGE="http://www.dict.org/"
+SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="dev-util/mk-configure"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.7-makefile-respect-flags.patch
+)
+
+src_configure() {
+ local jobs="$(makeopts_jobs)"
+ unset MAKEOPTS
+
+ export MAKEOPTS="-j${jobs}"
+ export MAKE=bmake
+
+ MAKEARGS=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ NM="$(tc-getNM)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ OBJDUMP="$(tc-getOBJDUMP)"
+ RANLIB="$(tc-getRANLIB)"
+ STRIP="$(tc-getSTRIP)"
+ #SIZE="$(tc-getSIZE)"
+
+ # Don't use LD, use the compiler driver instead
+ LDCOMPILER=yes
+
+ CFLAGS="${CFLAGS}"
+ CXXFLAGS="${CXXFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+
+ # Our toolchain already handles these
+ MKPIE=no
+ USE_SSP=no
+ USE_RELRO=no
+ USE_FORT=no
+
+ # No -Werror
+ WARNERR=no
+
+ INSTALL="${INSTALL:-${BROOT}/usr/bin/install}"
+
+ # Don't calcify compiler settings in installed files
+ MKCOMPILERSETTINGS=yes
+
+ PREFIX="${EPREFIX}/usr"
+ DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ INFODIR="${EPREFIX}/usr/share/info"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+
+ MKFILESDIR="${BROOT}/usr/share/mk-configure/mk"
+ BUILTINSDIR="${BROOT}/usr/share/mk-configure/builtins"
+ FEATURESDIR="${BROOT}/usr/share/mk-configure/feature"
+ )
+
+ mkcmake "${MAKEARGS[@]}" -j1 configure || die
+}
+
+src_compile() {
+ mkcmake "${MAKEARGS[@]}" all || die
+}
+
+src_test() {
+ mkcmake "${MAKEARGS[@]}" test || die
+}
+
+src_install() {
+ mkcmake "${MAKEARGS[@]}" DESTDIR="${ED}" install
+
+ rm "${ED}"/usr/share/doc/${PF}/LICENSE || die
+
+ dodoc doc/libmaa.600dpi.ps
+
+ # don't want static or libtool archives, #401935
+ find "${D}" \( -name '*.a' -o -name '*.la' \) -delete || die
+}
diff --git a/dev-libs/libmaa/metadata.xml b/dev-libs/libmaa/metadata.xml
index bab7ac2ea3f4..010f65db9531 100644
--- a/dev-libs/libmaa/metadata.xml
+++ b/dev-libs/libmaa/metadata.xml
@@ -13,5 +13,6 @@
</longdescription>
<upstream>
<remote-id type="sourceforge">dict</remote-id>
+ <remote-id type="github">cheusov/dictd</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libmacaroons/Manifest b/dev-libs/libmacaroons/Manifest
new file mode 100644
index 000000000000..909446e451c7
--- /dev/null
+++ b/dev-libs/libmacaroons/Manifest
@@ -0,0 +1 @@
+DIST libmacaroons-0.3.0.tar.gz 47762 BLAKE2B 69371bb69262a88c736121861d9b136fa444b912d2c3a5d603c5897c8af85e9f4af6a6733e35c126ea44c97cfdd1359e1f41ee97452fa7275850769f2134d825 SHA512 79ae2e515bd673949bc1338f06f5f811a0e853ca61ff995bb4cddaf95e5297e77b012c9975b0bb0dba96520b9a24619a4593e3722e64610f1147e131f8c96de0
diff --git a/dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch
new file mode 100644
index 000000000000..f11071d3efff
--- /dev/null
+++ b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-json-c.patch
@@ -0,0 +1,38 @@
+
+Fix build with JSON support enabled
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,7 +62,7 @@ Please install libjson to continue.
+ ----------------------------------------])
+ fi
+
+- AC_CHECK_HEADER([json/json.h],,[AC_MSG_ERROR([
++ AC_CHECK_HEADER([json-c/json.h],,[AC_MSG_ERROR([
+ ----------------------------------------
+ Macaroons rely upon the libjson library.
+ Please install libjson to continue.
+diff --git a/macaroons.c b/macaroons.c
+index ab296c8..654edfc 100644
+--- a/macaroons.c
++++ b/macaroons.c
+@@ -32,12 +32,17 @@
+
+ /* C */
+ #include <assert.h>
++#include <stdbool.h>
+ #include <stdio.h>
+ #include <string.h>
+
++#define TRUE true
++#define FALSE false
++
+ /* json */
+ #ifdef MACAROONS_JSON_SUPPORT
+-#include <json/json.h>
++#include <json-c/json.h>
++#include <json-c/json_object.h>
+ #endif
+
+ /* macaroons */
+--
diff --git a/dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch
new file mode 100644
index 000000000000..89293b707bd0
--- /dev/null
+++ b/dev-libs/libmacaroons/files/libmacaroons-0.3.0-no-python.patch
@@ -0,0 +1,91 @@
+
+ Disable Python by force (works only with Python 2.x).
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -30,13 +30,8 @@ AM_CPPFLAGS = $(SODIUM_CFLAGS)
+ AM_CFLAGS = -fvisibility=hidden $(SODIUM_CFLAGS) $(WANAL_CFLAGS)
+ AM_CXXFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden $(SODIUM_CFLAGS) $(WANAL_CXXFLAGS)
+
+-AM_DISTCHECK_CONFIGURE_FLAGS = --enable-python-bindings
+ TESTS_ENVIRONMENT = . $(abs_top_srcdir)/test/env.sh "${abs_top_srcdir}" "${abs_top_builddir}" "${VERSION}";
+
+-pyx_verbose = $(pyx_verbose_$(V))
+-pyx_verbose_ = $(pyx_verbose_$(AM_DEFAULT_VERBOSITY))
+-pyx_verbose_0 = @echo " PYX " $@;
+-
+ EXTRA_DIST =
+ EXTRA_DIST += README
+ EXTRA_DIST += LICENSE
+@@ -57,39 +52,3 @@ libmacaroons_la_LDFLAGS = -version-info 0:1:0
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libmacaroons.pc
+-
+-##################################### Tests ####################################
+-
+-EXTRA_DIST += test/env.sh
+-EXTRA_DIST += test/python-hmac-sanity-check
+-EXTRA_DIST += test/python-hmac-sanity-check.sh
+-EXTRA_DIST += test/readme.sh
+-
+-TESTS =
+-TESTS += test/python-hmac-sanity-check.sh
+-#TESTS += test/readme.sh
+-
+-#################################### Python ####################################
+-
+-pyexec_LTLIBRARIES =
+-if ENABLE_PYTHON_BINDINGS
+-pyexec_LTLIBRARIES += bindings/python/macaroons.la
+-endif
+-
+-EXTRA_DIST += bindings/python/macaroons.pyx
+-
+-bindings_python_macaroons_la_SOURCES = bindings/python/macaroons.c
+-bindings_python_macaroons_la_CPPFLAGS =
+-bindings_python_macaroons_la_CPPFLAGS += $(PYTHON_CPPFLAGS)
+-bindings_python_macaroons_la_CPPFLAGS += $(AM_CPPFLAGS)
+-bindings_python_macaroons_la_CPPFLAGS += $(CPPFLAGS)
+-bindings_python_macaroons_la_CFLAGS =
+-bindings_python_macaroons_la_CFLAGS += -fvisibility=default
+-bindings_python_macaroons_la_CFLAGS += -fno-strict-aliasing
+-bindings_python_macaroons_la_CFLAGS += $(CFLAGS)
+-bindings_python_macaroons_la_LIBADD =
+-bindings_python_macaroons_la_LIBADD += libmacaroons.la
+-bindings_python_macaroons_la_LIBADD += $(PYTHON_LDFLAGS)
+-bindings_python_macaroons_la_LDFLAGS = -module -avoid-version -export-symbols-regex initmacaroons $(AM_LDFLAGS) $(LDFLAGS)
+-bindings/python/macaroons.c: bindings/python/macaroons.pyx
+- $(pyx_verbose)cython bindings/python/macaroons.pyx
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,7 +11,6 @@ m4_define([serial_tests], [
+ ])
+ AM_INIT_AUTOMAKE(foreign serial_tests subdir-objects dist-bzip2)
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+-AM_PATH_PYTHON([2.6])
+ LT_PREREQ([2.2])
+ LT_INIT
+ AC_CONFIG_SRCDIR([macaroons.h])
+@@ -35,13 +34,6 @@ AC_TYPE_SIZE_T
+ # Checks for library functions.
+
+ # Optional components
+-AC_ARG_ENABLE([python_bindings], [AS_HELP_STRING([--enable-python-bindings],
+- [build Python bindings @<:@default: no@:>@])],
+- [python_bindings=${enableval}], [python_bindings=no])
+-if test x"${python_bindings}" = xyes; then
+- AC_PYTHON_DEVEL([>= '2.6'])
+-fi
+-
+ AC_ARG_ENABLE([json_support], [AS_HELP_STRING([--enable-json-support],
+ [enable support for JSON macaroons @<:@default: no@:>@])],
+ [json_support=${enableval}], [json_support=no])
+@@ -69,7 +61,6 @@ Please install libjson to continue.
+ ----------------------------------------])])
+ fi
+
+-AM_CONDITIONAL([ENABLE_PYTHON_BINDINGS], [test x"${python_bindings}" = xyes])
+ AM_CONDITIONAL([ENABLE_JSON_SUPPORT], [test x"${json_support}" = xyes])
+
+ AH_BOTTOM([#include <custom-config.h>])
diff --git a/dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild b/dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild
new file mode 100644
index 000000000000..2b1886a719c3
--- /dev/null
+++ b/dev-libs/libmacaroons/libmacaroons-0.3.0-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library for generation and use of macaroons authorization credentials"
+HOMEPAGE="https://github.com/rescrv/libmacaroons"
+SRC_URI="https://github.com/rescrv/libmacaroons/archive/refs/tags/releases/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+DEPEND="
+ dev-libs/json-c:=
+ dev-libs/libsodium:=
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+S="${WORKDIR}"/${PN}-releases-${PV}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-json-c.patch
+ "${FILESDIR}"/${P}-no-python.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-json-support
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmacaroons/metadata.xml b/dev-libs/libmacaroons/metadata.xml
new file mode 100644
index 000000000000..5a6c5e0880cc
--- /dev/null
+++ b/dev-libs/libmacaroons/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>amadio@gentoo.org</email>
+ <name>Guilherme Amadio</name>
+ </maintainer>
+ <longdescription lang="en">
+ This library provides an implementation of macaroons, which are flexible
+ authorization tokens that work great in distributed systems. Like cookies,
+ macaroons are bearer tokens that enable applications to ascertain whether
+ their holders' actions are authorized.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">rescrv/libmacaroons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libmanette/Manifest b/dev-libs/libmanette/Manifest
index 76f14612826e..232e5955215a 100644
--- a/dev-libs/libmanette/Manifest
+++ b/dev-libs/libmanette/Manifest
@@ -1 +1 @@
-DIST libmanette-0.2.6.tar.xz 43236 BLAKE2B 3b2a6979aa368117fa5d61623c26e6cca61388770ad77e759c3427fcba64d40361b1e1a4f87a2931281edbf5c2943a44c2ee3b0485ef52ddbf183a9e72344892 SHA512 e10a1b3e493a6472b0cf7562e3dfbba839ee69bb878676b2e3521363e9ff7c5df7d379923a4781366797e889f3c8985397080ae606264dc9bd3a4459bce0513c
+DIST libmanette-0.2.7.tar.xz 43928 BLAKE2B 10978109c22defc1fa3361ef08d824ec5a67fda86b020504322fb86db0f7157617daf34db6ddaf0c2221ad9419b04cad07fad17bb6de103b198c7664cee12c4d SHA512 c3ebaba901731d3f106379befba1c4020aa32dcd224ced7f24aab37e547644080202dfcdd0e8cbd0cb6c864410f038e483502d357ab9842ae0f25e9570d120ef
diff --git a/dev-libs/libmanette/libmanette-0.2.6.ebuild b/dev-libs/libmanette/libmanette-0.2.6.ebuild
deleted file mode 100644
index a5d3ab5156db..000000000000
--- a/dev-libs/libmanette/libmanette-0.2.6.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 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 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/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/libmateweather/Manifest b/dev-libs/libmateweather/Manifest
index 9e79e19a41fe..15f406c648b3 100644
--- a/dev-libs/libmateweather/Manifest
+++ b/dev-libs/libmateweather/Manifest
@@ -1 +1,2 @@
-DIST libmateweather-1.26.0.tar.xz 2213064 BLAKE2B ae6670f60694627491890e3ff35550937f9b30431e3d6c48780e38c15a13d2a5812129e13c228f6a81004787e078ccc6c7410b75e17112f3afe993e5a7e061bd SHA512 e786071d8c9393abc6d8f0733bd213305ace50698066ba7913ac254d8944e6db94296de5ecf91c0d5a8babd38f0cc35cb3bcee046f1eb0339ec5429a66d062d1
+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.26.0.ebuild b/dev-libs/libmateweather/libmateweather-1.26.0.ebuild
deleted file mode 100644
index ab585932f04d..000000000000
--- a/dev-libs/libmateweather/libmateweather-1.26.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MATE_LA_PUNT="yes"
-
-inherit mate
-
-if [[ ${PV} != 9999 ]]; 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-util/gtk-doc-am
- >=sys-devel/gettext-0.19.8
- >=sys-devel/libtool-2.2.6:2
- virtual/pkgconfig
-"
-
-src_configure() {
- mate_src_configure \
- --enable-locations-compression \
- --disable-all-translations-in-one-xml \
- --disable-icon-update
-}
diff --git a/dev-libs/libmateweather/libmateweather-1.26.3.ebuild b/dev-libs/libmateweather/libmateweather-1.26.3.ebuild
new file mode 100644
index 000000000000..6150436bf89e
--- /dev/null
+++ b/dev-libs/libmateweather/libmateweather-1.26.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MATE_LA_PUNT="yes"
+
+inherit mate
+
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
+fi
+
+DESCRIPTION="MATE library to access weather information from online services"
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+
+IUSE="debug"
+
+COMMON_DEPEND=">=dev-libs/glib-2.56:2
+ >=dev-libs/libxml2-2.6:2
+ >=net-libs/libsoup-2.54:2.4
+ >=sys-libs/timezone-data-2010k:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/libintl
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-util/gtk-doc
+ dev-build/gtk-doc-am
+ >=sys-devel/gettext-0.19.8
+ >=dev-build/libtool-2.2.6:2
+ virtual/pkgconfig
+"
+
+src_configure() {
+ mate_src_configure \
+ --enable-locations-compression \
+ --disable-all-translations-in-one-xml \
+ --disable-icon-update
+}
diff --git a/dev-libs/libmateweather/libmateweather-1.27.1.ebuild b/dev-libs/libmateweather/libmateweather-1.27.1.ebuild
new file mode 100644
index 000000000000..bed9fb8fb2dd
--- /dev/null
+++ b/dev-libs/libmateweather/libmateweather-1.27.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MATE_LA_PUNT="yes"
+
+inherit mate
+
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+fi
+
+DESCRIPTION="MATE library to access weather information from online services"
+LICENSE="LGPL-2.1+ GPL-2+"
+SLOT="0"
+
+IUSE="debug"
+
+COMMON_DEPEND=">=dev-libs/glib-2.56:2
+ >=dev-libs/libxml2-2.6:2
+ >=net-libs/libsoup-2.54:2.4
+ >=sys-libs/timezone-data-2010k:0
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/libintl
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-util/gtk-doc
+ dev-build/gtk-doc-am
+ >=sys-devel/gettext-0.19.8
+ >=dev-build/libtool-2.2.6:2
+ virtual/pkgconfig
+"
+
+src_configure() {
+ mate_src_configure \
+ --enable-locations-compression \
+ --disable-all-translations-in-one-xml \
+ --disable-icon-update
+}
diff --git a/dev-libs/libmateweather/metadata.xml b/dev-libs/libmateweather/metadata.xml
index 5287a89b3db4..bf554ceb7f0f 100644
--- a/dev-libs/libmateweather/metadata.xml
+++ b/dev-libs/libmateweather/metadata.xml
@@ -1,9 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mate@gentoo.org</email>
- <name>Gentoo MATE Desktop</name>
+ <maintainer type="person" proxied="yes">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>immoloism@gmail.com</email>
+ <name>Ian Jordan</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">mate-desktop/libmateweather</remote-id>
diff --git a/dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild b/dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild
index 0ec2f35a8d74..481be5e3800c 100644
--- a/dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild
+++ b/dev-libs/libmaxminddb/libmaxminddb-1.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]] ; then
else
SRC_URI="https://github.com/maxmind/libmaxminddb/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
LICENSE="Apache-2.0"
diff --git a/dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch b/dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch
new file mode 100644
index 000000000000..7ddba14ea3b6
--- /dev/null
+++ b/dev-libs/libmba/files/libmba-0.9.1-clang16-build-fix.patch
@@ -0,0 +1,11 @@
+Bug: https://bugs.gentoo.org/895046
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -22,6 +22,7 @@
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
++#define _GNU_SOURCE
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <errno.h>
diff --git a/dev-libs/libmba/libmba-0.9.1-r4.ebuild b/dev-libs/libmba/libmba-0.9.1-r4.ebuild
deleted file mode 100644
index df4485f0ce4b..000000000000
--- a/dev-libs/libmba/libmba-0.9.1-r4.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="A library of generic C modules"
-LICENSE="MIT"
-HOMEPAGE="http://www.ioplex.com/~miallen/libmba/"
-SRC_URI="http://www.ioplex.com/~miallen/libmba/dl/${P}.tar.gz"
-
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-PATCHES=(
- "${FILESDIR}"/${P}-qa.patch
- "${FILESDIR}"/${P}-glibc-2.20.patch
-)
-
-src_prepare() {
- default
-
- tc-export CC
- sed -i -e "s:gcc:${CC}:g" mktool.c || die
-
- # prevent reinventing strdup(), wcsdup() and strnlen()
- append-cflags -D_XOPEN_SOURCE=500
-}
-
-src_compile() {
- emake LIBDIR="$(get_libdir)"
-}
-
-src_install() {
- emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
-
- dodoc README.txt docs/*.txt
- docinto html
- dodoc -r docs/*.html docs/www/* docs/ref
-
- docinto examples
- dodoc -r examples/*
-
- gunzip -v $(find "${ED}" -name '*.[0-9]*.gz') || die
-}
diff --git a/dev-libs/libmba/libmba-0.9.1-r5.ebuild b/dev-libs/libmba/libmba-0.9.1-r5.ebuild
new file mode 100644
index 000000000000..e5e334234cd0
--- /dev/null
+++ b/dev-libs/libmba/libmba-0.9.1-r5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A library of generic C modules"
+LICENSE="MIT"
+HOMEPAGE="https://www.ioplex.com/~miallen/libmba/"
+SRC_URI="https://www.ioplex.com/~miallen/libmba/dl/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-qa.patch
+ "${FILESDIR}"/${P}-glibc-2.20.patch
+ "${FILESDIR}"/${P}-clang16-build-fix.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export CC
+ sed -i -e "s:gcc:${CC}:g" mktool.c || die
+
+ # prevent reinventing strdup(), wcsdup() and strnlen()
+ append-cflags -D_XOPEN_SOURCE=500
+}
+
+src_compile() {
+ emake LIBDIR="$(get_libdir)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="$(get_libdir)" install
+
+ dodoc README.txt docs/*.txt
+ docinto html
+ dodoc -r docs/*.html docs/www/* docs/ref
+
+ docinto examples
+ dodoc -r examples/*
+
+ gunzip -v $(find "${ED}" -name '*.[0-9]*.gz') || die
+}
diff --git a/dev-libs/libmcfp/Manifest b/dev-libs/libmcfp/Manifest
index bce9f1916c32..ef373098c4ee 100644
--- a/dev-libs/libmcfp/Manifest
+++ b/dev-libs/libmcfp/Manifest
@@ -1 +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.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/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/libmcrypt-2.5.8-r4.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild
deleted file mode 100644
index 8dba968e3696..000000000000
--- a/dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Provides an uniform interface to access several encryption algorithms"
-HOMEPAGE="https://mcrypt.sourceforge.net"
-SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
-
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
-
-DOCS=(
- AUTHORS NEWS README THANKS TODO ChangeLog
- doc/README.config doc/README.key doc/README.xtea
- doc/example.c
-)
-
-PATCHES=(
- "${FILESDIR}/${P}-rotate-mask.patch"
- "${FILESDIR}/${P}-autoconf-2.70.patch" #775113
-)
-
-src_prepare() {
- default
- mv configure.in configure.ac
- mv libltdl/configure.in libltdl/configure.ac
- sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
- eautoreconf # need new libtool for interix (elibtoolize would suffice for freebsd)
-}
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r5.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r5.ebuild
deleted file mode 100644
index 54637cd96a4f..000000000000
--- a/dev-libs/libmcrypt/libmcrypt-2.5.8-r5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Provides an uniform interface to access several encryption algorithms"
-HOMEPAGE="https://mcrypt.sourceforge.net"
-SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
-
-LICENSE="GPL-2+ LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
-
-DOCS=(
- AUTHORS NEWS README THANKS TODO ChangeLog
- doc/README.config doc/README.key doc/README.xtea
- doc/example.c
-)
-
-PATCHES=(
- "${FILESDIR}/${P}-rotate-mask.patch"
- "${FILESDIR}/${P}-autoconf-2.70.patch" #775113
- # http://sourceforge.net/tracker/index.php?func=detail&aid=1872801&group_id=87941&atid=584895
- "${FILESDIR}/${P}-uninitialized.patch"
- "${FILESDIR}/${P}-prototypes.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)
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild
new file mode 100644
index 000000000000..592c4a66ef6e
--- /dev/null
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Provides an uniform interface to access several encryption algorithms"
+HOMEPAGE="https://mcrypt.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+DOCS=(
+ AUTHORS NEWS README THANKS TODO ChangeLog
+ doc/README.config doc/README.key doc/README.xtea
+ doc/example.c
+)
+
+PATCHES=(
+ "${FILESDIR}/${P}-rotate-mask.patch"
+ "${FILESDIR}/${P}-autoconf-2.70.patch" #775113
+ # http://sourceforge.net/tracker/index.php?func=detail&aid=1872801&group_id=87941&atid=584895
+ "${FILESDIR}/${P}-uninitialized.patch"
+ "${FILESDIR}/${P}-prototypes.patch"
+ "${FILESDIR}/${P}-implicit-int.patch"
+)
+
+src_prepare() {
+ default
+ mv configure.in configure.ac
+ mv libltdl/configure.in libltdl/configure.ac
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
+ eautoreconf # update stale autotools
+}
+
+src_configure() {
+ # LTO type mismatch (bug #924867)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
new file mode 100644
index 000000000000..a92b77a045aa
--- /dev/null
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Provides an uniform interface to access several encryption algorithms"
+HOMEPAGE="https://mcrypt.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+DOCS=(
+ AUTHORS NEWS README THANKS TODO ChangeLog
+ doc/README.config doc/README.key doc/README.xtea
+ doc/example.c
+)
+
+PATCHES=(
+ "${FILESDIR}/${P}-rotate-mask.patch"
+ "${FILESDIR}/${P}-autoconf-2.70.patch" #775113
+ # http://sourceforge.net/tracker/index.php?func=detail&aid=1872801&group_id=87941&atid=584895
+ "${FILESDIR}/${P}-uninitialized.patch"
+ "${FILESDIR}/${P}-prototypes.patch"
+ "${FILESDIR}/${P}-c99.patch"
+ "${FILESDIR}/${P}-c99-2.patch"
+)
+
+src_prepare() {
+ default
+
+ mv configure.in configure.ac || die
+ mv libltdl/configure.in libltdl/configure.ac || die
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
+
+ eautoreconf # update stale autotools
+}
+
+src_configure() {
+ # LTO type mismatch (bug #924867)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch b/dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch
new file mode 100644
index 000000000000..53e95483838c
--- /dev/null
+++ b/dev-libs/libmelf/files/libmelf-0.4.0-r2-ldflags-soname.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.in b/configure.in
+index b25f195..7a7e320 100644
+--- a/configure.in
++++ b/configure.in
+@@ -25,7 +25,7 @@ AC_MSG_RESULT($cache_sys_os)
+ if test "x$cache_sys_os" = "xSolaris"; then
+ SHAREDEXEC="ld -dy -r -o libmelf.so \${OBJS}"
+ else
+- SHAREDEXEC="\${CC} \${FLAGS} -shared \${OBJS} -o libmelf.so"
++ SHAREDEXEC="\${CC} \${FLAGS} \${LDFLAGS} -shared \${OBJS} -Wl,-soname,libmelf.so -o libmelf.so"
+ fi
+
+ AC_C_BIGENDIAN()
diff --git a/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild b/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild
deleted file mode 100644
index be54175c6c62..000000000000
--- a/dev-libs/libmelf/libmelf-0.4.0-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="libmelf is a library interface for manipulating ELF object files"
-HOMEPAGE="http://www.hick.org/code/skape/libmelf/"
-SRC_URI="http://www.hick.org/code/skape/${PN}/${P}.tar.gz"
-
-LICENSE="Artistic"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="static-libs"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- # This patch was gained from the elfsign-0.2.2 release
- "${FILESDIR}"/${PN}-0.4.1-unfinal-release.patch
- # Cleanup stuff
- "${FILESDIR}"/${PN}-0.4.0-r1-gcc-makefile-cleanup.patch
-)
-
-src_prepare() {
- default
-
- # * QA Notice: The following shared libraries lack a SONAME
- # * /usr/lib64/libmelf.so
- sed 's/\(-shared -fPIC\)/\1 -Wl,-soname,libmelf.so/' -i configure || die
-}
-
-src_configure() {
- tc-export CC AR RANLIB
- append-flags -fPIC
- default
-}
-
-src_compile() {
- emake OPTFLAGS="${CFLAGS}"
-}
-
-src_install() {
- dobin tools/elfres
-
- dolib.so libmelf.so
- use static-libs && dolib.a libmelf.a
-
- insinto /usr/include
- doins melf.h stdelf.h
-
- HTML_DOCS=( docs/html/. )
- einstalldocs
-}
diff --git a/dev-libs/libmelf/libmelf-0.4.0-r2.ebuild b/dev-libs/libmelf/libmelf-0.4.0-r2.ebuild
new file mode 100644
index 000000000000..65754bd9885c
--- /dev/null
+++ b/dev-libs/libmelf/libmelf-0.4.0-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="libmelf is a library interface for manipulating ELF object files"
+HOMEPAGE="https://www.hick.org/code/skape/libmelf/"
+SRC_URI="https://www.hick.org/code/skape/${PN}/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+PATCHES=(
+ # This patch was gained from the elfsign-0.2.2 release
+ "${FILESDIR}"/${PN}-0.4.1-unfinal-release.patch
+ # Cleanup stuff
+ "${FILESDIR}"/${PN}-0.4.0-r1-gcc-makefile-cleanup.patch
+ # Respect LDFLAGS when linking, set SONAME
+ "${FILESDIR}"/${PN}-0.4.0-r2-ldflags-soname.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC AR RANLIB
+ append-flags -fPIC
+ default
+}
+
+src_compile() {
+ emake OPTFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ dobin tools/elfres
+
+ dolib.so libmelf.so
+ use static-libs && dolib.a libmelf.a
+
+ insinto /usr/include
+ doins melf.h stdelf.h
+
+ HTML_DOCS=( docs/html/. )
+ einstalldocs
+}
diff --git a/dev-libs/libmemcached-awesome/Manifest b/dev-libs/libmemcached-awesome/Manifest
index c5d464f5555f..e8f4373f3054 100644
--- a/dev-libs/libmemcached-awesome/Manifest
+++ b/dev-libs/libmemcached-awesome/Manifest
@@ -1,2 +1 @@
-DIST libmemcached-awesome-1.1.2.tar.gz 527675 BLAKE2B 436c3dcfed00a66459064a58a4d82e22f6f4a624a1f462949d2d3d8536b1342cbb7f0d5f883a86cce119dbcada4597c664609b7f9334bd321a5f1d314e5906b0 SHA512 3b9b6b1b09b39c845b5169841902d45e470f99af65765c9ae5d405d4eb1b6884e49831ccfb128df67beeda45eeed5e0f41ee475560cabcfa98e8196134182a53
-DIST libmemcached-awesome-1.1.3.tar.gz 527880 BLAKE2B b3d91b9eeb335b3fa7b910842b3c31326669aa9634ab6c87a3247bf8279037f5c2470b653fed851bf1708559af1a1edab52707c19eb6ea89ac6cb92424290d4a SHA512 99fb2ad32c05f8af769f5b30983b7c4244cd7ee027ccc8f893a957de4ffb12939959e2461c9acd20a8d21e0af824606e97d54465b7147337f40313c5eddf474b
+DIST libmemcached-awesome-1.1.4.tar.gz 530337 BLAKE2B b3309e4e7ab737d06255ce9e8d2b8644e2787dca73c0b09de8bbf9c99b8126cb5eee9ef2f7320c312f35ed8e29c70e1c1042dc80587982d9bcb7200d79bba5b2 SHA512 0a10a2431142ec6e4547f82fdd35b55c018264e5f8c39910a65252c3f53d862fb5945e7a671951915aac076767cc995740b3e499eb584017a38eb2d1e82171fb
diff --git a/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.2.ebuild b/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.2.ebuild
deleted file mode 100644
index 2dfd5eb24214..000000000000
--- a/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2022 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="!dev-libs/libmemcached
- libevent? ( dev-libs/libevent:= )
- sasl? ( dev-libs/cyrus-sasl:2 )"
-DEPEND="${RDEPEND}
- test? ( net-misc/memcached )"
-BDEPEND="sys-devel/bison
- sys-devel/flex
- 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/libmemcached-awesome-1.1.3.ebuild b/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.3.ebuild
deleted file mode 100644
index aa23fd0f9f65..000000000000
--- a/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2022 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="!dev-libs/libmemcached
- libevent? ( dev-libs/libevent:= )
- sasl? ( dev-libs/cyrus-sasl:2 )"
-DEPEND="${RDEPEND}
- test? ( net-misc/memcached )"
-BDEPEND="sys-devel/bison
- sys-devel/flex
- 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/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/libmirage/Manifest b/dev-libs/libmirage/Manifest
index 4b6fb536b1e5..bb9a5ab218ba 100644
--- a/dev-libs/libmirage/Manifest
+++ b/dev-libs/libmirage/Manifest
@@ -1 +1 @@
-DIST libmirage-3.2.6.tar.xz 229408 BLAKE2B 38402e37acf42e58fc896621cfb0f253a53b23eb8c783a900521fa8fb297fd3df8397b2f8d341e33fd7e0edcae9ac1a4e178cc9414498f27399b8e5f2a1984c5 SHA512 085ca774c047f845a61e9c1015f4b249073e72239c55dbb84c335799815cfe93b0c883c6e56cac3c0c11db009f44a6b48680c6fe6793dde63a5006cdbb627197
+DIST libmirage-3.2.7.tar.xz 229564 BLAKE2B e1e02526fcd8daec8716e0457e38be68df9e13f8609e29772c2bee080ace7e5e76112c6ffb57719144a8c9acddc942dd44e827371ffe90673cd34b0ba0f74b08 SHA512 cbb2e98dca93009c9395d1d29dc529cf4cf912b64f166c0652ee4193c83f3e93ee1f4af623f8f0903ad1d77634fe89e5c3076d138678bcb84641880e1a1d1f76
diff --git a/dev-libs/libmirage/libmirage-3.2.6.ebuild b/dev-libs/libmirage/libmirage-3.2.6.ebuild
deleted file mode 100644
index 27a87fac9425..000000000000
--- a/dev-libs/libmirage/libmirage-3.2.6.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake xdg-utils
-
-DESCRIPTION="CD and DVD image access library"
-HOMEPAGE="https://cdemu.sourceforge.io"
-SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0/11" # subslot = libmirage soname version
-KEYWORDS="amd64 x86"
-IUSE="doc +introspection"
-
-RDEPEND=">=app-arch/bzip2-1:=
- >=app-arch/xz-utils-5:=
- >=dev-libs/glib-2.38:2
- >=media-libs/libsamplerate-0.1:=
- >=media-libs/libsndfile-1.0:=
- sys-libs/zlib:=
- introspection? ( >=dev-libs/gobject-introspection-1.30 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/desktop-file-utils
- dev-util/intltool
- sys-devel/gettext
- virtual/pkgconfig
- doc? ( dev-util/gtk-doc )
- introspection? ( >=dev-libs/gobject-introspection-1.30 )"
-
-DOCS=( AUTHORS README )
-
-src_configure() {
- local mycmakeargs=(
- -DGTKDOC_ENABLED="$(usex doc)"
- -DINTROSPECTION_ENABLED="$(usex introspection)"
- -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_mimeinfo_database_update
-}
diff --git a/dev-libs/libmirage/libmirage-3.2.7.ebuild b/dev-libs/libmirage/libmirage-3.2.7.ebuild
new file mode 100644
index 000000000000..a634e95fadf5
--- /dev/null
+++ b/dev-libs/libmirage/libmirage-3.2.7.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake xdg-utils
+
+DESCRIPTION="CD and DVD image access library"
+HOMEPAGE="https://cdemu.sourceforge.io"
+SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/11" # subslot = libmirage soname version
+KEYWORDS="amd64 x86"
+IUSE="doc +introspection"
+
+RDEPEND=">=app-arch/bzip2-1:=
+ >=app-arch/xz-utils-5:=
+ >=dev-libs/glib-2.38:2
+ >=media-libs/libsamplerate-0.1:=
+ >=media-libs/libsndfile-1.0:=
+ sys-libs/zlib:=
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/desktop-file-utils
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )"
+
+DOCS=( AUTHORS README )
+
+src_configure() {
+ local mycmakeargs=(
+ -DGTKDOC_ENABLED="$(usex doc)"
+ -DINTROSPECTION_ENABLED="$(usex introspection)"
+ -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+}
diff --git a/dev-libs/libmix/libmix-2.05-r7.ebuild b/dev-libs/libmix/libmix-2.05-r7.ebuild
index 5e01c439716b..9e7e51c26590 100644
--- a/dev-libs/libmix/libmix-2.05-r7.ebuild
+++ b/dev-libs/libmix/libmix-2.05-r7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools toolchain-funcs
+inherit autotools flag-o-matic toolchain-funcs
DESCRIPTION="Programs Crypto/Network/Multipurpose Library"
HOMEPAGE="http://mixter.void.ru/"
@@ -35,6 +35,12 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/855875
+ # No upstream bug report -- upstream website doesn't resolve and no
+ # other contact method.
+ filter-lto
+
tc-export CC CXX
econf \
diff --git a/dev-libs/libmodbus/libmodbus-3.1.10.ebuild b/dev-libs/libmodbus/libmodbus-3.1.10.ebuild
index 3f234eeed373..0faa7ec5b0df 100644
--- a/dev-libs/libmodbus/libmodbus-3.1.10.ebuild
+++ b/dev-libs/libmodbus/libmodbus-3.1.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/stephane/${PN}/releases/download/v${PV}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~riscv x86"
IUSE="static-libs test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libmpack/libmpack-1.0.5-r3.ebuild b/dev-libs/libmpack/libmpack-1.0.5-r3.ebuild
deleted file mode 100644
index e3c8855055af..000000000000
--- a/dev-libs/libmpack/libmpack-1.0.5-r3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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 Makefile.in || 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}"
- "LIBDIR=${EPREFIX}/usr/$(get_libdir)"
- "INCDIR=${EPREFIX}/usr/include"
- "XLDFLAGS=-shared"
- )
-
- emake "${myemakeargs[@]}" install
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- local file="libmpack.0.0.0.dylib"
- install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/${file}" "${ED}/usr/$(get_libdir)/${file}" || die "Failed to adjust install_name"
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libmpack/libmpack-1.0.5-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/libmspack/Manifest b/dev-libs/libmspack/Manifest
index 698014b9766f..8bde9da8b8e8 100644
--- a/dev-libs/libmspack/Manifest
+++ b/dev-libs/libmspack/Manifest
@@ -1 +1,2 @@
DIST libmspack-0.10.1alpha.tar.gz 963274 BLAKE2B 39bcb3b7ea419d6d00850b70c217c802a2095dd4398038e594ae7c01ca12e71508218c1cfca5ae8b102636ab9517b13d55c1e411b31e87d28aa46331cd0127e6 SHA512 a7b5f7caa49190c5021f3e768b92f2e51cc0ce685c9ab6ed6fb36de885c73231b58d47a8a3b5c5aa5c9ac56c25c500eb683d84dbf11f09f97f6cb4fff5adc245
+DIST libmspack-0.11alpha.tar.gz 509478 BLAKE2B 7e386ab5ae160000bab9e5523f2ebf3907a5cb564fb7cc8945ca15daf5c8ff2563f6680383c52f6de95d1aa992d6616e2f80133740c8329390a8e5c76ba84301 SHA512 40c487e5b4e2f63a6cada26d29db51f605e8c29525a1cb088566d02cf2b1cc9dba263f80e2101d7f8e9d69cf7684a15bcaf791fb4891ad013a56afc7256dfa62
diff --git a/dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild b/dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild
index 1c6a56dacf44..da8fcd943d18 100644
--- a/dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild
+++ b/dev-libs/libmspack/libmspack-0.10.1_alpha-r1.ebuild
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
MY_P="${PN}-9999"
else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~x64-solaris"
+ 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"
diff --git a/dev-libs/libmspack/libmspack-0.11_alpha.ebuild b/dev-libs/libmspack/libmspack-0.11_alpha.ebuild
new file mode 100644
index 000000000000..2a4ad5dfcc64
--- /dev/null
+++ b/dev-libs/libmspack/libmspack-0.11_alpha.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
+ inherit git-r3
+ MY_P="${PN}-9999"
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+ MY_PV="${PV/_alpha/alpha}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://www.cabextract.org.uk/libmspack/libmspack-${MY_PV}.tar.gz"
+fi
+
+DESCRIPTION="A library for Microsoft compression formats"
+HOMEPAGE="https://www.cabextract.org.uk/libmspack/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="debug doc"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ if [[ ${PV} == *9999 ]] ; then
+ # Re-create file layout from release tarball
+ pushd "${WORKDIR}" > /dev/null || die
+
+ cp -aL "${S}"/${PN} "${WORKDIR}"/${PN}-source || die
+ rm -r "${S}" || die
+ mv "${WORKDIR}"/${PN}-source "${S}" || die
+
+ popd > /dev/null || die
+ fi
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable debug)
+}
+
+src_test() {
+ default
+
+ cd "${S}"/test || die
+ ./cabd_test || die
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/. )
+
+ default
+
+ if use doc ; then
+ rm "${ED}"/usr/share/doc/"${PF}"/html/{Makefile*,Doxyfile*} || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name "*.a" -delete || die
+}
diff --git a/dev-libs/libmspack/libmspack-9999.ebuild b/dev-libs/libmspack/libmspack-9999.ebuild
index 1c6a56dacf44..2a4ad5dfcc64 100644
--- a/dev-libs/libmspack/libmspack-9999.ebuild
+++ b/dev-libs/libmspack/libmspack-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
MY_P="${PN}-9999"
else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~x64-solaris"
+ 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"
diff --git a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
index 38ae77d2aa73..0fbcec33e9e8 100644
--- a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
+++ b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ IUSE="doc"
RDEPEND="dev-libs/popt"
DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${PN}-0.2.6-iconv.patch
diff --git a/dev-libs/libnest2d/Manifest b/dev-libs/libnest2d/Manifest
deleted file mode 100644
index c11b486d54e2..000000000000
--- a/dev-libs/libnest2d/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libnest2d-0.4.tar.gz 365065 BLAKE2B 74a4aef18be22d24e4e73288dd3e330b2f5baa3b2c705683c22767dfb0394a7b332bad957321f57ec7eaaf4740cff9ca1ed86f9d552be65df1b2af76ceba61e9 SHA512 fadce18986b844eed13a581f84055df909a17407a0980deb6c7c24248a969a537a8840650bcfc673e61973810ce9a008acb599e3b8e00c9bff6b566ca41cd62c
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch b/dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch
deleted file mode 100644
index ed48cd3eeff8..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-add-disallowed-areas.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 2e91be2679b5efa0773292d9d0a2ae72255bb271 Mon Sep 17 00:00:00 2001
-From: Ghostkeeper <rubend@tutanota.com>
-Date: Tue, 6 Oct 2020 16:13:15 +0200
-Subject: [PATCH 1/3] Allow for an item to be a disallowed area
-
-Disallowed areas have slightly different behaviour from fixed items: Other items won't get packed closely around them. Implementation of that pending.
-
-Contributes to issue CURA-7754.
----
- include/libnest2d/nester.hpp | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/include/libnest2d/nester.hpp b/include/libnest2d/nester.hpp
-index 2f207d5..932a060 100644
---- a/include/libnest2d/nester.hpp
-+++ b/include/libnest2d/nester.hpp
-@@ -71,6 +71,15 @@ class _Item {
- int binid_{BIN_ID_UNSET}, priority_{0};
- bool fixed_{false};
-
-+ /**
-+ * \brief If this is a fixed area, indicates whether it is a disallowed area
-+ * or a previously placed item.
-+ *
-+ * If this is a disallowed area, other objects will not get packed close
-+ * together with this item. It only blocks other items in its area.
-+ */
-+ bool disallowed_{false};
-+
- public:
-
- /// The type of the shape which was handed over as the template argument.
-@@ -129,11 +138,18 @@ class _Item {
- sh_(sl::create<RawShape>(std::move(contour), std::move(holes))) {}
-
- inline bool isFixed() const noexcept { return fixed_; }
-+ inline bool isDisallowedArea() const noexcept { return disallowed_; }
- inline void markAsFixedInBin(int binid)
- {
- fixed_ = binid >= 0;
- binid_ = binid;
- }
-+ inline void markAsDisallowedAreaInBin(int binid)
-+ {
-+ fixed_ = binid >= 0;
-+ binid_ = binid;
-+ disallowed_ = true;
-+ }
-
- inline void binId(int idx) { binid_ = idx; }
- inline int binId() const noexcept { return binid_; }
-
-From ff61049e59d3151462bca7ff2e2268c2b32731e7 Mon Sep 17 00:00:00 2001
-From: Ghostkeeper <rubend@tutanota.com>
-Date: Tue, 6 Oct 2020 16:14:36 +0200
-Subject: [PATCH 2/3] Allow unsetting of being a disallowed area
-
-If you set the bin to -1 or set the item to be a simple fixed item afterwards, it'll no longer be a disallowed area.
-
-Contributes to issue CURA-7754.
----
- include/libnest2d/nester.hpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/include/libnest2d/nester.hpp b/include/libnest2d/nester.hpp
-index 932a060..54761a6 100644
---- a/include/libnest2d/nester.hpp
-+++ b/include/libnest2d/nester.hpp
-@@ -143,12 +143,13 @@ class _Item {
- {
- fixed_ = binid >= 0;
- binid_ = binid;
-+ disallowed_ = false;
- }
- inline void markAsDisallowedAreaInBin(int binid)
- {
- fixed_ = binid >= 0;
- binid_ = binid;
-- disallowed_ = true;
-+ disallowed_ = fixed_;
- }
-
- inline void binId(int idx) { binid_ = idx; }
-
-From 31391fd173249ad9b906390058e13b09238fadc8 Mon Sep 17 00:00:00 2001
-From: Ghostkeeper <rubend@tutanota.com>
-Date: Thu, 8 Oct 2020 11:06:58 +0200
-Subject: [PATCH 3/3] Align items to their starting position if all placed
- items are disallowed
-
-We shouldn't align items to disallowed areas. So place them in the starting position according to the alignment property.
-
-Lot of work to investigate. But very little code changes!
-
-Contributes to issue CURA-7754.
----
- include/libnest2d/placers/nfpplacer.hpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/include/libnest2d/placers/nfpplacer.hpp b/include/libnest2d/placers/nfpplacer.hpp
-index 96a8cff..b0ebb15 100644
---- a/include/libnest2d/placers/nfpplacer.hpp
-+++ b/include/libnest2d/placers/nfpplacer.hpp
-@@ -101,7 +101,7 @@ struct NfpPConfig {
- * alignment with the candidate item or do anything else.
- *
- * \param remaining A container with the remaining items waiting to be
-- * placed. You can use some features about the remaining items to alter to
-+ * placed. You can use some features about the remaining items to alter the
- * score of the current placement. If you know that you have to leave place
- * for other items as well, that might influence your decision about where
- * the current candidate should be placed. E.g. imagine three big circles
-@@ -735,7 +735,8 @@ class _NofitPolyPlacer: public PlacerBoilerplate<_NofitPolyPlacer<RawShape, TBin
- remlist.insert(remlist.end(), remaining.from, remaining.to);
- }
-
-- if(items_.empty()) {
-+ if(std::all_of(items_.begin(), items_.end(),
-+ [](const Item& item) { return item.isDisallowedArea(); })) {
- setInitialPosition(item);
- best_overfit = overfit(item.transformedShape(), bin_);
- can_pack = best_overfit <= 0;
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch b/dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch
deleted file mode 100644
index 456f543207a9..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-add-soversion-to-shared-library.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 12b64796aee24d5af41df3a10c4313dc713c3e74 Mon Sep 17 00:00:00 2001
-From: Karl Nilsson <karl.robert.nilsson@gmail.com>
-Date: Wed, 13 Jan 2021 21:51:34 -0500
-Subject: [PATCH] CMake: add SOVERSION to shared library
-
----
- CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 374e90f..c2f2bec 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -95,6 +95,7 @@ if(NOT LIBNEST2D_HEADER_ONLY)
- add_library(${LIBNAME} ${PROJECT_SOURCE_DIR}/src/libnest2d.cpp)
- set_target_properties(${LIBNAME} PROPERTIES PREFIX "")
- set_target_properties(${LIBNAME} PROPERTIES DEBUG_POSTFIX "d")
-+ set_target_properties(${LIBNAME} PROPERTIES SOVERSION "1.0")
- target_link_libraries(${LIBNAME} PUBLIC libnest2d_headeronly)
- target_compile_definitions(${LIBNAME} PUBLIC LIBNEST2D_STATIC)
- target_sources(${LIBNAME} PRIVATE ${LIBNEST2D_SRCFILES})
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch b/dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch
deleted file mode 100644
index 4032618fb538..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-fix-cpp-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2,7 +2,7 @@
-
- project(Libnest2D)
-
--set(CMAKE_CXX_STANDARD 11)
-+set(CMAKE_CXX_STANDARD 14)
- set(CMAKE_CXX_STANDARD_REQUIRED)
-
- # Add our own cmake module path.
diff --git a/dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch b/dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch
deleted file mode 100644
index 34484426f302..000000000000
--- a/dev-libs/libnest2d/files/libnest2d-0.4-gnu-install-dirs.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -114,6 +114,7 @@
- endif()
-
- include(CMakePackageConfigHelpers)
-+include(GNUInstallDirs)
-
- write_basic_package_version_file(
- "${CMAKE_CURRENT_BINARY_DIR}/cmakeexports/${PROJECT_NAME}ConfigVersion.cmake"
-@@ -123,10 +124,10 @@
-
- install(TARGETS libnest2d libnest2d_headeronly ${LIBNAME}
- EXPORT ${PROJECT_NAME}Targets
-- RUNTIME DESTINATION bin
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-- INCLUDES DESTINATION include)
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- export(EXPORT ${PROJECT_NAME}Targets
- FILE "${CMAKE_CURRENT_BINARY_DIR}/cmakeexports/${PROJECT_NAME}Targets.cmake"
diff --git a/dev-libs/libnest2d/libnest2d-0.4-r2.ebuild b/dev-libs/libnest2d/libnest2d-0.4-r2.ebuild
deleted file mode 100644
index a70f129172c3..000000000000
--- a/dev-libs/libnest2d/libnest2d-0.4-r2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Library and framework for the 2D bin packaging problem"
-HOMEPAGE="https://github.com/tamasmeszaros/libnest2d"
-SRC_URI="https://github.com/tamasmeszaros/libnest2d/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/1"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-IUSE="examples static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-cpp/eigen:3
- dev-libs/boost
- dev-libs/clipper
- sci-libs/nlopt
- "
-DEPEND="${RDEPEND}
- test? ( >=dev-cpp/catch-2.9.1 )
- "
-
-PATCHES=(
- "${FILESDIR}"/${P}-add-disallowed-areas.patch
- "${FILESDIR}"/${P}-add-soversion-to-shared-library.patch
- "${FILESDIR}"/${P}-fix-cpp-version.patch
- "${FILESDIR}"/${P}-gnu-install-dirs.patch
- )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DLIBNEST2D_BUILD_EXAMPLES=$(usex examples)
- -DLIBNEST2D_HEADER_ONLY=$(usex static-libs OFF ON)
- -DLIBNEST2D_BUILD_UNITTESTS=$(usex test)
- -DCMAKE_INSTALL_LIBDIR=$(get_libdir)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libnest2d/metadata.xml b/dev-libs/libnest2d/metadata.xml
deleted file mode 100644
index 7d6dba84de93..000000000000
--- a/dev-libs/libnest2d/metadata.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <longdescription>
- Libnest2D is a library and framework for the 2D bin packaging problem. Inspired from the SVGNest Javascript
- library the project is built from scratch in C++11. The library is written with a policy that it should be
- usable out of the box with a very simple interface but has to be customizable to the very core as well. The
- algorithms are defined in a header only fashion with templated geometry types. These geometries can have custom
- or already existing implementation to avoid copying or having unnecessary dependencies.
-
- A default backend is provided if the user of the library just wants to use it out of the box without additional
- integration. This backend is reasonably fast and robust, being built on top of boost geometry and the
- polyclipping library. Usage of this default backend implies the dependency on these packages but its header only
- as well.
- </longdescription>
- <upstream>
- <bugs-to>https://github.com/tamasmeszaros/libnest2d/issues</bugs-to>
- <remote-id type="github">tamasmeszaros/libnest2d</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild b/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
index e07eb4d29c0b..ef8be90d793a 100644
--- a/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
+++ b/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/nfc-tools/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 ~arm x86"
IUSE="doc pcsc-lite readline usb"
RDEPEND="
@@ -19,7 +19,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
src_configure() {
local drivers="arygon,pn532_uart,pn532_spi,pn532_i2c,acr122s"
diff --git a/dev-libs/libnl/Manifest b/dev-libs/libnl/Manifest
index da8654736030..c3489a869e4a 100644
--- a/dev-libs/libnl/Manifest
+++ b/dev-libs/libnl/Manifest
@@ -1 +1,3 @@
DIST libnl-3.7.0.tar.gz 1000913 BLAKE2B 22c418ea520416d79ee4552ab6bc5ba99239b29e074c840d31b0ec4171a0403ea9d2c1afcbf1b3428564dd371cadd99bc062ae7540e7496f970c4fb98f967e84 SHA512 80fbbc079299c90afd2a5eda62e4d4f98bf4ef23958c3ce5101f4ed4d81d783af733213bb3bab15f218555d8460bc2394898f909f4ac024fc27281faec86a041
+DIST libnl-3.8.0.tar.gz 1071113 BLAKE2B ff90d52e9b617ad8a53e4d42f43bee065b331ed919a3effc4a0f38c8e15b46f86c1eb153816499ed77dd99063500b1dc52951891034475a5bb81da1ad8004594 SHA512 a8da7e8464c5cab2807cd86f83fca53bc77f7c3bdefe43880db7be9caf5ba6bfca1b7e778b906c12fda1cf7e6f413f88cc7ad1dcc42fe8c050a8d28a6e656c02
+DIST libnl-3.9.0.tar.gz 1074117 BLAKE2B 56a39aad9aa15992ff02fe35732abbc5ed5d107b814587e02b914631489877899989d49c7aeee1ecb461ad5f525c7cd7c045c9770864d83b0a58490293441193 SHA512 b6f3633d1920e61645c97f4c4c4419444e7fd66aa3b67b0a73bc29df24cf27065542a62a9c2581f90d0c153247922ce5c649b7da51c0fead6afceaf4d0361dce
diff --git a/dev-libs/libnl/files/libnl-3.8.0-printf-non-bash.patch b/dev-libs/libnl/files/libnl-3.8.0-printf-non-bash.patch
new file mode 100644
index 000000000000..885f8fd750f3
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.8.0-printf-non-bash.patch
@@ -0,0 +1,22 @@
+https://github.com/thom311/libnl/pull/360
+
+From 32f84a052a4383299b9f30ad09d2a70c3b2cf2b3 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Thu, 31 Aug 2023 06:59:59 +0100
+Subject: [PATCH] Makefile.am: avoid use of non-portable echo arguments
+
+This fixes tests with a non-bash shell as /bin/sh (in this case, dash) which
+does not support `echo -e`. echo itself is portable, but not echo with any arguments.
+
+Use `printf` instead.
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1129,7 +1129,7 @@ EXTRA_DIST += \
+
+ %.build-headers-test.c: %
+ mkdir -p "$(dir $@)"
+- echo -e "#include <$$(echo "$<" | sed 's|.*\<include/netlink/|netlink/|')>\nint main(int argc, char **argv) { return 0; }" > $@
++ printf "#include <$$(echo "$<" | sed 's|.*\<include/netlink/|netlink/|')>\nint main(int argc, char **argv) { return 0; }" > $@
+
+ %.build-headers-test.o: %.build-headers-test.c
+ $(COMPILE) -Wall -Werror -Wno-error=cpp -I$(srcdir)/include -I$(builddir)/include -c -o $@ $<
diff --git a/dev-libs/libnl/files/libnl-3.8.0-python-decorator-syntax.patch b/dev-libs/libnl/files/libnl-3.8.0-python-decorator-syntax.patch
new file mode 100644
index 000000000000..d7d14962dab4
--- /dev/null
+++ b/dev-libs/libnl/files/libnl-3.8.0-python-decorator-syntax.patch
@@ -0,0 +1,21 @@
+https://github.com/thom311/libnl/commit/9aab12dff8e89b7da826c5c0826ef13c71963e28
+
+From 9aab12dff8e89b7da826c5c0826ef13c71963e28 Mon Sep 17 00:00:00 2001
+From: David Ward <david.ward@ll.mit.edu>
+Date: Tue, 29 Aug 2023 20:54:19 -0400
+Subject: [PATCH] python: Use correct decorator syntax in HTBQdisc
+
+Fixes: 87d370912ca8 ("netlink.nlattr re-implemented in more pythonic way")
+
+https://github.com/thom311/libnl/pull/359
+--- a/python/netlink/route/qdisc/htb.py
++++ b/python/netlink/route/qdisc/htb.py
+@@ -28,7 +28,7 @@ def default_class(self, value):
+ capi.rtnl_htb_set_defcls(self._qdisc._rtnl_qdisc, int(value))
+
+ @property
+- @netlink.nlattr("r2q", type=int)
++ @netlink.nlattr(type=int)
+ def r2q(self):
+ return capi.rtnl_htb_get_rate2quantum(self._qdisc._rtnl_qdisc)
+
diff --git a/dev-libs/libnl/libnl-3.7.0.ebuild b/dev-libs/libnl/libnl-3.7.0.ebuild
index 335a8c42100a..dc16175b64ac 100644
--- a/dev-libs/libnl/libnl-3.7.0.ebuild
+++ b/dev-libs/libnl/libnl-3.7.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools distutils-r1 multilib-minimal
LIBNL_P=${P/_/-}
diff --git a/dev-libs/libnl/libnl-3.8.0.ebuild b/dev-libs/libnl/libnl-3.8.0.ebuild
new file mode 100644
index 000000000000..c72e4b01c347
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.8.0.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Make sure to test USE=utils on bumps and update MULTILIB_WRAPPED_HEADERS if needed
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+inherit autotools distutils-r1 multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/thom311/libnl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+
+ S="${WORKDIR}/${LIBNL_P}"
+fi
+
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+IUSE="+debug python test utils"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+ )
+ test? ( dev-libs/check )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ # We do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/mdb.h
+ /usr/include/libnl3/netlink/cli/nh.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-python-decorator-syntax.patch
+ "${FILESDIR}"/${PN}-3.8.0-printf-non-bash.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_configure() {
+ # bug #884277
+ export YACC=yacc.bison
+
+ ECONF_SOURCE="${S}" econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+
+ pushd python > /dev/null || die
+
+ distutils-r1_src_install
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ DOCS=( ChangeLog )
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libnl/libnl-3.9.0.ebuild b/dev-libs/libnl/libnl-3.9.0.ebuild
new file mode 100644
index 000000000000..b80abc5153fd
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.9.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Make sure to test USE=utils on bumps and update MULTILIB_WRAPPED_HEADERS if needed
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+inherit autotools distutils-r1 multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/thom311/libnl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ S="${WORKDIR}/${LIBNL_P}"
+fi
+
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+IUSE="+debug python test utils"
+RESTRICT="!test? ( test )"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-lang/swig
+ )
+ test? ( dev-libs/check )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ # We do not install CLI stuff for non-native
+ /usr/include/libnl3/netlink/cli/addr.h
+ /usr/include/libnl3/netlink/cli/class.h
+ /usr/include/libnl3/netlink/cli/cls.h
+ /usr/include/libnl3/netlink/cli/ct.h
+ /usr/include/libnl3/netlink/cli/exp.h
+ /usr/include/libnl3/netlink/cli/link.h
+ /usr/include/libnl3/netlink/cli/mdb.h
+ /usr/include/libnl3/netlink/cli/nh.h
+ /usr/include/libnl3/netlink/cli/neigh.h
+ /usr/include/libnl3/netlink/cli/qdisc.h
+ /usr/include/libnl3/netlink/cli/route.h
+ /usr/include/libnl3/netlink/cli/rule.h
+ /usr/include/libnl3/netlink/cli/tc.h
+ /usr/include/libnl3/netlink/cli/utils.h
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_configure() {
+ # bug #884277
+ export YACC=yacc.bison
+
+ ECONF_SOURCE="${S}" econf \
+ $(multilib_native_use_enable utils cli) \
+ $(use_enable debug)
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ # Unset DOCS= since distutils-r1.eclass interferes
+ local DOCS=()
+
+ pushd python > /dev/null || die
+
+ distutils-r1_src_install
+
+ popd > /dev/null || die
+ fi
+}
+
+multilib_src_install_all() {
+ DOCS=( ChangeLog )
+
+ einstalldocs
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libnl/libnl-9999.ebuild b/dev-libs/libnl/libnl-9999.ebuild
index 001f603d5b81..b80abc5153fd 100644
--- a/dev-libs/libnl/libnl-9999.ebuild
+++ b/dev-libs/libnl/libnl-9999.ebuild
@@ -3,9 +3,12 @@
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_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit autotools distutils-r1 multilib-minimal
LIBNL_P=${P/_/-}
@@ -31,18 +34,21 @@ RESTRICT="!test? ( test )"
RDEPEND="python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
-BDEPEND="${RDEPEND}
+BDEPEND="
+ ${RDEPEND}
sys-devel/bison
sys-devel/flex
+ virtual/pkgconfig
python? (
${DISTUTILS_DEPS}
dev-lang/swig
)
- test? ( dev-libs/check )"
+ test? ( dev-libs/check )
+"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
MULTILIB_WRAPPED_HEADERS=(
- # we do not install CLI stuff for non-native
+ # 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
@@ -50,6 +56,7 @@ MULTILIB_WRAPPED_HEADERS=(
/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
@@ -71,6 +78,9 @@ src_prepare() {
}
multilib_src_configure() {
+ # bug #884277
+ export YACC=yacc.bison
+
ECONF_SOURCE="${S}" econf \
$(multilib_native_use_enable utils cli) \
$(use_enable debug)
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
index 93f597785e9e..6ec8f7df146d 100644
--- a/dev-libs/libnop/libnop-2021.11.03.ebuild
+++ b/dev-libs/libnop/libnop-2021.11.03.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,13 +14,13 @@ SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
-DEPEND=""
-RDEPEND="${DEPEND}"
BDEPEND="test? ( dev-cpp/gtest )"
RESTRICT="!test? ( test )"
S="${WORKDIR}"/${PN}-${CommitId}
+PATCHES=( "${FILESDIR}"/${P}-libstdc++.patch )
+
src_compile() {
use test && default
}
diff --git a/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild b/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
index 054cc665c4a5..9c276dfffb96 100644
--- a/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
+++ b/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,12 +6,12 @@ EAPI=7
inherit netsurf
DESCRIPTION="C library for framebuffer abstraction"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libnsfb/"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libnsfb/"
SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="sdl test vnc wayland X"
RESTRICT="!test? ( test )"
@@ -25,7 +25,7 @@ RDEPEND="sdl? ( >=media-libs/libsdl-1.2.15-r4 )
>=x11-libs/xcb-util-image-0.3.9-r1
>=x11-libs/xcb-util-keysyms-0.3.9-r1
)"
-BDEPEND="dev-util/netsurf-buildsystem"
+BDEPEND="dev-build/netsurf-buildsystem"
PATCHES=( "${FILESDIR}/${PN}-0.1.0-autodetect.patch" )
diff --git a/dev-libs/libnsutils/Manifest b/dev-libs/libnsutils/Manifest
index 042293948aca..ce490b784d84 100644
--- a/dev-libs/libnsutils/Manifest
+++ b/dev-libs/libnsutils/Manifest
@@ -1 +1 @@
-DIST libnsutils-0.1.0-src.tar.gz 8840 BLAKE2B 9f25763b945a96d89ba33959caf676b09964da096a9e969396f3b0ba0f6b4bd6bfb52a61bdcc222432463f2bc0f6bc148bc754200fb80a9ab521c5d64638bba7 SHA512 82d75e799b21484120b9711c853075a07990aa4d5ac5bb0574683bd1fd59eef547d9b78333eeb2da9d96c2132b4e7c32510cf690c80cef291cce8ef2eb44198e
+DIST libnsutils-0.1.1-src.tar.gz 8996 BLAKE2B abd096ea6cfd47abd85a55aa3455f45b61cf80a1b93f2c3048f0edc4df02160c1f78cd3d5197e39253eeaa227d366694536c2c19cfbebb6fed663626ef2bbdb6 SHA512 f0294abb458378fcc4740feadf334e13b2f89db5783980bbdbdfd0403df735e483dd5e43af2c39bc3e669ee181ade7eecab673483aa65dbe697aec1b56dc4a0f
diff --git a/dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild b/dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild
deleted file mode 100644
index 38f54257b76b..000000000000
--- a/dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit netsurf
-
-DESCRIPTION="C library for base64 and time"
-HOMEPAGE="http://www.netsurf-browser.org/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE=""
-
-BDEPEND="dev-util/netsurf-buildsystem"
-
-_emake() {
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/libnsutils/libnsutils-0.1.1.ebuild b/dev-libs/libnsutils/libnsutils-0.1.1.ebuild
new file mode 100644
index 000000000000..4e8dfe5cdd78
--- /dev/null
+++ b/dev-libs/libnsutils/libnsutils-0.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit netsurf
+
+DESCRIPTION="General utility library for NetSurf"
+HOMEPAGE="https://www.netsurf-browser.org/"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+BDEPEND="dev-build/netsurf-buildsystem"
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libnsutils/libnsutils-9999.ebuild b/dev-libs/libnsutils/libnsutils-9999.ebuild
new file mode 100644
index 000000000000..b8854e0a0627
--- /dev/null
+++ b/dev-libs/libnsutils/libnsutils-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit git-r3 netsurf
+
+DESCRIPTION="C library for base64 and time"
+HOMEPAGE="https://www.netsurf-browser.org/"
+
+EGIT_REPO_URI="https://git.netsurf-browser.org/${PN}.git"
+LICENSE="MIT"
+SLOT="0/${PV}"
+
+BDEPEND="dev-build/netsurf-buildsystem"
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libnsutils/metadata.xml b/dev-libs/libnsutils/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libnsutils/metadata.xml
+++ b/dev-libs/libnsutils/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libofx/libofx-0.10.9.ebuild b/dev-libs/libofx/libofx-0.10.9.ebuild
index 4ecbe857e76d..4e058f94cf65 100644
--- a/dev-libs/libofx/libofx-0.10.9.ebuild
+++ b/dev-libs/libofx/libofx-0.10.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ BDEPEND="
dev-util/gengetopt
sys-apps/help2man
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( app-crypt/gnupg )
"
RDEPEND="
diff --git a/dev-libs/liboil/liboil-0.3.17-r4.ebuild b/dev-libs/liboil/liboil-0.3.17-r4.ebuild
index aa2946547264..ca36144b8ac9 100644
--- a/dev-libs/liboil/liboil-0.3.17-r4.ebuild
+++ b/dev-libs/liboil/liboil-0.3.17-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,14 +11,14 @@ SRC_URI="https://liboil.freedesktop.org/download/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0.3"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+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-util/gtk-doc-am
+ dev-build/gtk-doc-am
virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/${P}-amd64-cpuid.patch )
diff --git a/dev-libs/liborcus/Manifest b/dev-libs/liborcus/Manifest
index a10f5c5f0982..43b43bede6f9 100644
--- a/dev-libs/liborcus/Manifest
+++ b/dev-libs/liborcus/Manifest
@@ -1 +1 @@
-DIST liborcus-0.17.2.tar.xz 1839188 BLAKE2B d274e3af71df16866e305403d63d3978613915753412ac9de19d7de7802930c3886d8653d6d48a8d9a971dc0ee284f8f83af8dc07850b5f28fcdab2815b6d9b2 SHA512 8ad8db46c23673260057aff555286d95ebfeff0a027bdeae24f11f8aa12456284f7f4446edddb91936b3011eb1227cfe1618ab3c4d909f8356c8c151f5739d79
+DIST liborcus-0.19.2.tar.xz 2211268 BLAKE2B 4ee3fd2fb122d3a9840cb92452bf8a6d3d54b7b50a32be84e1bb08dfe2e2abc2de80098d9460b6bd82d0249304a7ba5c39b18ace3f69150ba71e16ef14795ca4 SHA512 c955490f57e91615278a83bb48726025cd5f8059b97ed5532f770199e134ca511c7ee6b0cd0a9d3a2d54208a5fdd19117054e95e818162ea568052fa11b21d4e
diff --git a/dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch b/dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch
deleted file mode 100644
index 1de33a7e3f4c..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.17.0-test-fix.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-# https://bugs.gentoo.org/713586
-
-[PATCH] Build orcus-env-dump unconditionally
-
-The rule for `orcus-env-dump.o` is guarded by `if WITH_TOOLS` however,
-the rule for the executable `orcus-env-dump` is not. This leads to
-linking errors when running the test suite without tools.
-
-Move the rule for `orcus-env-dump.o` out of the if WITH_TOOLS block to
-always build it.
----
- src/Makefile.am | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -25,6 +25,16 @@ orcus_test_xml_LDADD = \
-
- orcus_test_xml_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS) -DSRCDIR=\""$(top_srcdir)"\"
-
-+#----------------------------------------------------------------------------
-+
-+# orcus-env-dump
-+
-+orcus_env_dump_SOURCES = orcus_env_dump.cpp
-+orcus_env_dump_LDADD = \
-+ parser/liborcus-parser-@ORCUS_API_VERSION@.la \
-+ liborcus/liborcus-@ORCUS_API_VERSION@.la
-+orcus_env_dump_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS)
-+
-
- TESTS = \
- orcus-test-xml \
-@@ -136,16 +146,6 @@ orcus_detect_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS
-
- #----------------------------------------------------------------------------
-
--# orcus-env-dump
--
--orcus_env_dump_SOURCES = orcus_env_dump.cpp
--orcus_env_dump_LDADD = \
-- parser/liborcus-parser-@ORCUS_API_VERSION@.la \
-- liborcus/liborcus-@ORCUS_API_VERSION@.la
--orcus_env_dump_CPPFLAGS = -I$(top_builddir)/lib/liborcus/liborcus.la $(AM_CPPFLAGS)
--
--#----------------------------------------------------------------------------
--
- if BUILD_SPREADSHEET_MODEL
-
- orcus_json_LDADD += \
diff --git a/dev-libs/liborcus/files/liborcus-0.17.2-clang.patch b/dev-libs/liborcus/files/liborcus-0.17.2-clang.patch
deleted file mode 100644
index 62950cfcecb9..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.17.2-clang.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://gitlab.com/orcus/orcus/-/commit/469aca3c76965b9031947506a15d940cbcd11cdb
-
-From: Tom Stellard <tstellar@redhat.com>
-Date: Mon, 16 May 2022 22:12:30 +0000
-Subject: [PATCH] Fix error when compiling with clang
-
-csv.cpp:83:29: error: non-constant-expression cannot be narrowed from type 'Py_ssize_t' (aka 'long') to 'std::basic_string_view::size_type' (aka 'unsigned long') in initializer list [-Wc++11-narrowing]
- app.read_stream({p, n});
- ^
-csv.cpp:83:29: note: insert an explicit cast to silence this issue
- app.read_stream({p, n});
- ^
- static_cast<size_type>( )
-1 error generated.
---- a/src/python/csv.cpp
-+++ b/src/python/csv.cpp
-@@ -80,7 +80,7 @@ PyObject* csv_read(PyObject* /*module*/, PyObject* args, PyObject* kwargs)
-
- Py_ssize_t n = 0;
- const char* p = PyUnicode_AsUTF8AndSize(str.get(), &n);
-- app.read_stream({p, n});
-+ app.read_stream({p, static_cast<std::string_view::size_type>(n)});
-
- return create_document(std::move(doc));
- }
-GitLab
diff --git a/dev-libs/liborcus/files/liborcus-0.17.2-gcc-13.patch b/dev-libs/liborcus/files/liborcus-0.17.2-gcc-13.patch
deleted file mode 100644
index fa4892053b10..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.17.2-gcc-13.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://gitlab.com/orcus/orcus/-/commit/fa68d6a76778df26e41108e3400f4a907e351203
-https://gitlab.com/orcus/orcus/-/merge_requests/136
-
-From fa68d6a76778df26e41108e3400f4a907e351203 Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yoshida@gmail.com>
-Date: Tue, 19 Jul 2022 21:11:16 -0400
-Subject: [PATCH] Explicitly include <cstdint> header with GCC 13 (#162)
-
-c.f. https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
---- a/include/orcus/base64.hpp
-+++ b/include/orcus/base64.hpp
-@@ -9,6 +9,7 @@
- #define __ORCUS_BASE64_HPP__
-
- #include "env.hpp"
-+#include <cstdint>
- #include <vector>
- #include <string>
-
---- a/include/orcus/types.hpp
-+++ b/include/orcus/types.hpp
-@@ -8,6 +8,7 @@
- #ifndef INCLUDED_ORCUS_TYPES_HPP
- #define INCLUDED_ORCUS_TYPES_HPP
-
-+#include <cstdint>
- #include <cstdlib>
- #include <vector>
- #include <string>
diff --git a/dev-libs/liborcus/liborcus-0.17.2.ebuild b/dev-libs/liborcus/liborcus-0.17.2.ebuild
deleted file mode 100644
index 6250ac5bfc4c..000000000000
--- a/dev-libs/liborcus/liborcus-0.17.2.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10} )
-
-inherit autotools python-single-r1
-
-DESCRIPTION="Standalone file import filter library for spreadsheet documents"
-HOMEPAGE="https://gitlab.com/orcus/orcus/blob/master/README.md"
-
-if [[ ${PV} == *9999* ]]; then
- MDDS_SLOT="1/2.0"
- EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
- inherit git-r3
-else
- MDDS_SLOT="1/2.0"
- SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/0.17" # based on SONAME of liborcus.so
-IUSE="python +spreadsheet-model test tools"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/boost:=[zlib(+)]
- sys-libs/zlib
- python? ( ${PYTHON_DEPS} )
- spreadsheet-model? ( dev-libs/libixion:${SLOT} )
-"
-DEPEND="${RDEPEND}
- dev-util/mdds:${MDDS_SLOT}
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-clang.patch
- "${FILESDIR}"/${P}-gcc-13.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # bug 713586
- use test && eapply "${FILESDIR}/${PN}-0.17.0-test-fix.patch"
-
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-static
- --disable-werror
- $(use_enable python)
- $(use_enable spreadsheet-model)
- $(use_with tools)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -type f -delete || die
-}
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 bf3da10e0175..3aecf4036ad7 100644
--- a/dev-libs/liborcus/liborcus-9999.ebuild
+++ b/dev-libs/liborcus/liborcus-9999.ebuild
@@ -1,28 +1,26 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-
+PYTHON_COMPAT=( python3_{10..12} )
inherit 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/2.0"
+ MDDS_SLOT="1/3.0"
EGIT_REPO_URI="https://gitlab.com/orcus/orcus.git"
inherit git-r3
else
- MDDS_SLOT="1/2.0"
+ MDDS_SLOT="1/2.1"
SRC_URI="https://kohei.us/files/orcus/src/${P}.tar.xz"
- # Unkeyworded while libreoffice has no release making use of this slot
- # KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT"
-SLOT="0/0.18" # based on SONAME of liborcus.so
+SLOT="0/0.20" # based on SONAME of liborcus.so
IUSE="python +spreadsheet-model test tools"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -32,7 +30,7 @@ RDEPEND="
dev-libs/boost:=[zlib(+)]
sys-libs/zlib
python? ( ${PYTHON_DEPS} )
- spreadsheet-model? ( dev-libs/libixion:0/0.17 )
+ spreadsheet-model? ( dev-libs/libixion:${SLOT} )
"
DEPEND="${RDEPEND}
dev-util/mdds:${MDDS_SLOT}
@@ -43,16 +41,13 @@ pkg_setup() {
}
src_prepare() {
- # bug 713586
- use test && eapply "${FILESDIR}/${P}-test-fix.patch"
-
default
eautoreconf
}
src_configure() {
local myeconfargs=(
- --disable-static
+ --without-benchmark
--disable-werror
$(use_enable python)
$(use_enable spreadsheet-model)
@@ -63,5 +58,6 @@ src_configure() {
src_install() {
default
+ use python && python_optimize
find "${D}" -name '*.la' -type f -delete || die
}
diff --git a/dev-libs/libotf/libotf-0.9.16-r1.ebuild b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
new file mode 100644
index 000000000000..64a7e7d43b66
--- /dev/null
+++ b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library for handling OpenType fonts (OTF)"
+HOMEPAGE="https://www.nongnu.org/m17n/"
+SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs X"
+
+RDEPEND=">=media-libs/freetype-2.4.9
+ X? (
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXt
+ )"
+DEPEND="${RDEPEND}
+ X? (
+ x11-base/xorg-proto
+ x11-libs/libICE
+ x11-libs/libXmu
+ )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.13-build.patch
+ "${FILESDIR}"/${PN}-0.9.16-freetype_pkgconfig.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ export ac_cv_header_X11_Xaw_Command_h=$(usex X)
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/libotf/libotf-0.9.16.ebuild b/dev-libs/libotf/libotf-0.9.16.ebuild
index c73b79eb6f4f..af118cd89a6f 100644
--- a/dev-libs/libotf/libotf-0.9.16.ebuild
+++ b/dev-libs/libotf/libotf-0.9.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -10,7 +10,7 @@ SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="static-libs X"
RDEPEND=">=media-libs/freetype-2.4.9
diff --git a/dev-libs/libowfat/libowfat-0.32-r5.ebuild b/dev-libs/libowfat/libowfat-0.32-r5.ebuild
index da8af4daacc6..45ea340b25da 100644
--- a/dev-libs/libowfat/libowfat-0.32-r5.ebuild
+++ b/dev-libs/libowfat/libowfat-0.32-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -38,6 +38,12 @@ src_prepare() {
}
src_compile() {
+ # Primary use case is for code by the same author. Which then fails with
+ # LTO errors. It builds a static library only, anyway. Result: LTO can be
+ # used if you don't upgrade the compiler. If you do, the compiler errors,
+ # or if you are unlucky, ICEs. Just don't use LTO, there is no point...
+ filter-lto
+
emake \
CC="$(tc-getCC)" \
AR="$(tc-getAR)" \
diff --git a/dev-libs/libowfat/libowfat-0.33-r1.ebuild b/dev-libs/libowfat/libowfat-0.33-r1.ebuild
index 140aed4ff868..456716706290 100644
--- a/dev-libs/libowfat/libowfat-0.33-r1.ebuild
+++ b/dev-libs/libowfat/libowfat-0.33-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -23,6 +23,12 @@ pkg_setup() {
}
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
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.12-r1.ebuild b/dev-libs/libp11/libp11-0.4.12-r1.ebuild
deleted file mode 100644
index 928c1c975169..000000000000
--- a/dev-libs/libp11/libp11-0.4.12-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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 ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="doc static-libs"
-
-RDEPEND="dev-libs/openssl:=[bindist(+)]"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable static-libs static) \
- $(use_enable doc api-doc)
-}
-
-src_install() {
- default
-
- find "${ED}" -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 343ed3a9d54e..735336302139 100644
--- a/dev-libs/libp11/metadata.xml
+++ b/dev-libs/libp11/metadata.xml
@@ -10,7 +10,7 @@
<flag name="doc">Generate and install API documentation for the package.</flag>
</use>
<upstream>
- <remote-id type="cpe">cpe:/a:opensc-project:opensc</remote-id>
+ <remote-id type="cpe">cpe:/a:opensc-project:libp11</remote-id>
<remote-id type="github">opensc/libp11</remote-id>
<remote-id type="sourceforge">opensc</remote-id>
</upstream>
diff --git a/dev-libs/libparserutils/Manifest b/dev-libs/libparserutils/Manifest
index 4efcd47806be..1966f9baf737 100644
--- a/dev-libs/libparserutils/Manifest
+++ b/dev-libs/libparserutils/Manifest
@@ -1 +1 @@
-DIST libparserutils-0.2.4-src.tar.gz 74521 BLAKE2B 85e39d64bb8365f95da227e3a52ea2a2a85b0f913f861117b496bdff1556b8ca880189325995cf02eeb51f2db76c917a63f59ee1a1fed8fec6ce43dc16f9b66f SHA512 e6a7b618e00e2bc69a0de63c29cc809f250fbd1c10544523c563f4bb9ac3281e02ba36c096518fc0a9074dad49a05346b04cc85b7d972f88f2645af0f869cbc2
+DIST libparserutils-0.2.5-src.tar.gz 74518 BLAKE2B 792e9fd14119537e4ec6e54d0e147114473e6935ea4b557c0de1341c29352e5773be90b282ca49573fd11cfb5a17e6f0f41cce1f2abbb95e5203794b3775ce4b SHA512 5d26bbfb754deb950c098f444d44003d681f30dfaf18a4d6b25ef5023ab5dbfa8968a9d8b6d319ad470fe3c75022328c55c810a623139208a7091b2df27f0a18
diff --git a/dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild b/dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild
deleted file mode 100644
index 1e777ae69ee8..000000000000
--- a/dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic netsurf
-
-DESCRIPTION="C library for building efficient parsers"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
-SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv x86"
-IUSE="iconv test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1
- test? ( dev-lang/perl )
-"
-
-DOCS=( README docs/Todo )
-
-src_configure() {
- append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
-}
-
-_emake() {
- netsurf_define_makeconf
- emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- _emake test
-}
-
-src_install() {
- _emake DESTDIR="${D}" install
-}
diff --git a/dev-libs/libparserutils/libparserutils-0.2.5.ebuild b/dev-libs/libparserutils/libparserutils-0.2.5.ebuild
new file mode 100644
index 000000000000..79cdf371104a
--- /dev/null
+++ b/dev-libs/libparserutils/libparserutils-0.2.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic netsurf
+
+DESCRIPTION="C library for building efficient parsers"
+HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="amd64 arm arm64 ~loong ppc ~ppc64 ~riscv x86"
+IUSE="iconv test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-build/netsurf-buildsystem
+ test? ( dev-lang/perl )
+"
+
+DOCS=( README docs/Todo )
+
+src_configure() {
+ append-cflags "-D$(usex iconv WITH WITHOUT)_ICONV_FILTER"
+}
+
+_emake() {
+ netsurf_define_makeconf
+ emake "${NETSURF_MAKECONF[@]}" COMPONENT_TYPE=lib-shared $@
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ _emake test
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
diff --git a/dev-libs/libparserutils/metadata.xml b/dev-libs/libparserutils/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libparserutils/metadata.xml
+++ b/dev-libs/libparserutils/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch b/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch
new file mode 100644
index 000000000000..2b5af062d36a
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch
@@ -0,0 +1,18 @@
+https://bugs.exim.org/show_bug.cgi?id=2173#c4
+https://bugs.gentoo.org/910188
+https://github.com/MariaDB/server/pull/2700
+--- a/pcre_exec.c
++++ b/pcre_exec.c
+@@ -509,6 +509,12 @@
+ (e.g. stopped by repeated call or recursion limit)
+ */
+
++#ifdef __GNUC__
++static int
++match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
++ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
++ unsigned int rdepth) __attribute__((optnone,noinline,noclone));
++#endif
+ static int
+ match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
diff --git a/dev-libs/libpcre/libpcre-8.45-r1.ebuild b/dev-libs/libpcre/libpcre-8.45-r1.ebuild
index 18522d5343a3..486937c58cb3 100644
--- a/dev-libs/libpcre/libpcre-8.45-r1.ebuild
+++ b/dev-libs/libpcre/libpcre-8.45-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -21,18 +21,23 @@ S="${WORKDIR}/${MY_P}"
LICENSE="BSD"
SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode zlib"
-REQUIRED_USE="readline? ( !libedit )
- libedit? ( !readline )"
+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:0= )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
"
-DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
MULTILIB_CHOST_TOOLS=(
@@ -63,6 +68,7 @@ multilib_src_configure() {
$(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
diff --git a/dev-libs/libpcre/libpcre-8.45-r2.ebuild b/dev-libs/libpcre/libpcre-8.45-r2.ebuild
new file mode 100644
index 000000000000..c87877646d81
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.45-r2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal preserve-libs usr-ldscript
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="
+ mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
+ "
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="
+ readline? ( !libedit )
+ libedit? ( !readline )
+"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.45-fix-stack-size-detection.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2)
+ $(use_enable cxx cpp)
+ $(use_enable jit)
+ $(use_enable jit pcregrep-jit)
+ $(use_enable pcre16)
+ $(use_enable pcre32)
+ $(multilib_native_use_enable libedit pcretest-libedit)
+ $(multilib_native_use_enable readline pcretest-libreadline)
+ $(use_enable static-libs static)
+ $(use_enable unicode utf)
+ $(use_enable unicode unicode-properties)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcregrep-libz)
+
+ --enable-pcre8
+ --enable-shared
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+
+ gen_usr_ldscript -a pcre
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre/libpcre-8.45-r3.ebuild b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
new file mode 100644
index 000000000000..6147da6ca44c
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal preserve-libs
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="
+ mirror://sourceforge/pcre/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
+ "
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="
+ readline? ( !libedit )
+ libedit? ( !readline )
+"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.45-fix-stack-size-detection.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+
+ # We do a full autoreconf because:
+ # - the software is end of life and never getting new dist tarballs
+ # - it uses a frankensteined "2.4.6.42-b88ce-dirty" libtool, which
+ # means elibtoolize can't find patches to apply
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2)
+ $(use_enable cxx cpp)
+ $(use_enable jit)
+ $(use_enable jit pcregrep-jit)
+ $(use_enable pcre16)
+ $(use_enable pcre32)
+ $(multilib_native_use_enable libedit pcretest-libedit)
+ $(multilib_native_use_enable readline pcretest-libreadline)
+ $(use_enable static-libs static)
+ $(use_enable unicode utf)
+ $(use_enable unicode unicode-properties)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcregrep-libz)
+
+ --enable-pcre8
+ --enable-shared
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre2/Manifest b/dev-libs/libpcre2/Manifest
index fd56ba492a72..f3ae75c83491 100644
--- a/dev-libs/libpcre2/Manifest
+++ b/dev-libs/libpcre2/Manifest
@@ -1,5 +1,4 @@
-DIST libpcre2-10.36-patchset-01.tar.xz 1364 BLAKE2B bfef3c876a092e06972107b44794c23b758a030181f3040c8b722db166789eac794783169b468fc71334fd660bc2f1c31422a8cb8e5bdc18a69b72654b1b59b2 SHA512 04324d1efa6d155fa3ffbc328638e4674bea305fef7f57d4369ab4a6399a0f489b4c0ecfb49643feff310d91872e1673e965c48a5c60f1bf54a319f0d275c306
-DIST pcre2-10.40.tar.bz2 1765440 BLAKE2B 627a204585b92238eda81b4befc88757a81d75b0d9fa26ea6d51afcdd93f7e2d102a2245bf3c8e1f5f9ddf69a316c419c948b741a64442bb567480015543e49b SHA512 00e7b48a6554b9127cb6fe24c5cacf72783416a9754ec88f62f73c52f46ed72c86c1869e62c91a31b2ff2cbafbbedabca44b3f1eb7670bc92f49d8401c7374e8
-DIST pcre2-10.40.tar.bz2.sig 310 BLAKE2B 9609111a64b66893b12e36d1cbc77b64d6a0cc30b9288e52753785ddcab37cc3e169d0f117d94e4ad7d7ff897a6ba0a574c9a2e529c3c7e171f5a1bc6f64fe23 SHA512 faa4b47fdac1543cd323651f251b8abb94b31b5966b42d445b8cbb38c441df4742e3c3517c2bc6c0a4464e9fb5feab5d5beda1250a03d56bec2d8383be2f63ab
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.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.40-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild
deleted file mode 100644
index 288e14a00e95..000000000000
--- a/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/philiphazel.asc
-inherit flag-o-matic libtool multilib-minimal usr-ldscript verify-sig
-
-PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
-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/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2
- https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
- verify-sig? ( https://github.com/PhilipHazel/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
-
-if [[ -n "${PATCH_SET}" ]] ; then
- SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PATCH_SET}"
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline static-libs unicode zlib"
-REQUIRED_USE="?? ( libedit readline )"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:= )
- zlib? ( sys-libs/zlib )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- verify-sig? ( sec-keys/openpgp-keys-philiphazel )"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre2-config
-)
-
-src_unpack() {
- if use verify-sig ; then
- # Needed for downloaded patch (which is unsigned, which is fine)
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.bz2{,.sig}
- fi
-
- default
-}
-
-src_prepare() {
- if [[ -d "${WORKDIR}/patches" ]] ; then
- rm "${WORKDIR}"/patches/pcre2-10.36-001-issue2698.patch || die
- eapply "${WORKDIR}"/patches
- fi
-
- default
-
- elibtoolize
-}
-
-multilib_src_configure() {
- append-lfs-flags
-
- 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 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
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild
index 215da4f0f5e8..759b7d987085 100644
--- a/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild
+++ b/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/philiphazel.asc
+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}"
@@ -14,7 +14,7 @@ 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/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig )"
+ 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
@@ -23,8 +23,8 @@ 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline static-libs unicode zlib"
+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="
@@ -33,7 +33,10 @@ RDEPEND="
readline? ( sys-libs/readline:= )
zlib? ( sys-libs/zlib )
"
-DEPEND="${RDEPEND}"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
BDEPEND="
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-philiphazel )
@@ -60,6 +63,7 @@ multilib_src_configure() {
$(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)
diff --git a/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild b/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild
new file mode 100644
index 000000000000..b3cf5cb10cb5
--- /dev/null
+++ b/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/philiphazel.asc
+inherit libtool multilib-minimal verify-sig
+
+MY_P="pcre2-${PV/_rc/-RC}"
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="https://www.pcre.org/"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig )"
+else
+ SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0/3" # libpcre2-posix.so version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="?? ( libedit readline )"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-philiphazel )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-pcre2-8
+ --enable-shared
+ $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
+ $(multilib_native_use_enable libedit pcre2test-libedit)
+ $(multilib_native_use_enable readline pcre2test-libreadline)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcre2grep-libz)
+ $(use_enable jit)
+ $(use_enable jit pcre2grep-jit)
+ $(use_enable pcre16 pcre2-16)
+ $(use_enable pcre32 pcre2-32)
+ $(use_enable static-libs static)
+ $(use_enable unicode)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_test() {
+ emake check VERBOSE=yes
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libpcre2/libpcre2-10.43.ebuild b/dev-libs/libpcre2/libpcre2-10.43.ebuild
new file mode 100644
index 000000000000..eebbe19389eb
--- /dev/null
+++ b/dev-libs/libpcre2/libpcre2-10.43.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/philiphazel.asc
+inherit libtool multilib-minimal verify-sig
+
+MY_P="pcre2-${PV/_rc/-RC}"
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="https://www.pcre.org/"
+SRC_URI="
+ https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ verify-sig? ( https://github.com/PCRE2Project/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0/3" # libpcre2-posix.so version
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="bzip2 +jit libedit +pcre16 +pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="?? ( libedit readline )"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-philiphazel )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.10-000-Fix-multilib.patch
+ "${FILESDIR}"/${PN}-10.43-fix-loong-sljit.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --enable-pcre2-8
+ --enable-shared
+ $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
+ $(multilib_native_use_enable libedit pcre2test-libedit)
+ $(multilib_native_use_enable readline pcre2test-libreadline)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcre2grep-libz)
+ $(use_enable jit)
+ $(use_enable jit pcre2grep-jit)
+ $(use_enable pcre16 pcre2-16)
+ $(use_enable pcre32 pcre2-32)
+ $(use_enable static-libs static)
+ $(use_enable unicode)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_test() {
+ emake check VERBOSE=yes
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libpcre2/metadata.xml b/dev-libs/libpcre2/metadata.xml
index 66bde795d3f1..77f759c7c845 100644
--- a/dev-libs/libpcre2/metadata.xml
+++ b/dev-libs/libpcre2/metadata.xml
@@ -26,6 +26,6 @@
</slots>
<upstream>
<remote-id type="cpe">cpe:/a:pcre:pcre</remote-id>
- <remote-id type="github">PhilipHazel/pcre2</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 b527aae704e4..45f433b79f36 100644
--- a/dev-libs/libpeas/Manifest
+++ b/dev-libs/libpeas/Manifest
@@ -1 +1 @@
-DIST libpeas-1.34.0.tar.xz 194716 BLAKE2B 8162a7475e54d43ac7d2f75e80a2ff3aa9256432ad6c2dfa4071ff3660455db3523b650f4fde7a0ede52b73fcd591323b4fa39f61e3127b19d391c00d91ec2b7 SHA512 3d8877b15d1aecdce6768bcbbd69471b8b009596e60b54a781fe961d24f18f33af62838552a98ee0aa8b2ef0855837cd10189b3b9c9040f7dc40c17f42922b1b
+DIST libpeas-1.36.0.tar.xz 195432 BLAKE2B 12b12f041784e5fbeb03a36cad62625f7b60f770f7ff83d0660b28288262e125c2ca5f83032d4ae96faaa7b815ba9dcb245d3cbdac823765435a21e1eb08f663 SHA512 254087089475a3c1415e0ba8efb17aac56b96b1eee7c8e12933e72cc551ee39e9e3eac2d3d602bf9d369dd9fc7d3f5141e7683dec11b40b6c7b961b8e6c70a11
diff --git a/dev-libs/libpeas/libpeas-1.34.0.ebuild b/dev-libs/libpeas/libpeas-1.34.0.ebuild
deleted file mode 100644
index 14945b6f2a08..000000000000
--- a/dev-libs/libpeas/libpeas-1.34.0.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# 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_{9..11} )
-
-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.38:2
- >=dev-libs/gobject-introspection-1.39:=
- gtk? ( >=x11-libs/gtk+-3.0.0:3[introspection] )
- glade? ( >=dev-util/glade-3.9.1:3.10 )
- lua? (
- ${LUA_DEPS}
- $(lua_gen_cond_dep '
- >=dev-lua/lgi-0.9.0[${LUA_USEDEP}]
- ')
- )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- >=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]
- ')
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? (
- >=dev-util/gtk-doc-1.11
- >=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{,-gtk}-1.0 "${ED}"/usr/share/gtk-doc/html/ || die
- fi
-}
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/libpfm/Manifest b/dev-libs/libpfm/Manifest
index ed200d478f4b..c28fc8a712d5 100644
--- a/dev-libs/libpfm/Manifest
+++ b/dev-libs/libpfm/Manifest
@@ -1 +1,2 @@
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.12.0.ebuild b/dev-libs/libpfm/libpfm-4.12.0.ebuild
new file mode 100644
index 000000000000..2405d1039040
--- /dev/null
+++ b/dev-libs/libpfm/libpfm-4.12.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Hardware-based performance monitoring interface for Linux"
+HOMEPAGE="http://perfmon2.sourceforge.net"
+SRC_URI="mirror://sourceforge/perfmon2/${PN}4/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0/4"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+IUSE="static-libs"
+
+src_prepare() {
+ default
+
+ sed -e "s:SLDFLAGS=:SLDFLAGS=\$(LDFLAGS) :g" \
+ -i lib/Makefile || die
+ sed -e "s:LIBDIR=\$(PREFIX)/lib:LIBDIR=\$(PREFIX)/$(get_libdir):g" \
+ -i config.mk || die
+}
+
+src_compile() {
+ # 'DBG=' unsets '-Werror' and other optional flags, bug #664294
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)" DBG=
+}
+
+src_install() {
+ emake DESTDIR="${D}" LDCONFIG=true PREFIX="${EPREFIX}/usr" install
+ dodoc README
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libpipeline/libpipeline-1.5.7.ebuild b/dev-libs/libpipeline/libpipeline-1.5.7.ebuild
index 62c761ccafbb..1379eb5d9cb4 100644
--- a/dev-libs/libpipeline/libpipeline-1.5.7.ebuild
+++ b/dev-libs/libpipeline/libpipeline-1.5.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libpo6/Manifest b/dev-libs/libpo6/Manifest
deleted file mode 100644
index 4671d2a623a3..000000000000
--- a/dev-libs/libpo6/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libpo6-0.8.0.tar.gz 364709 BLAKE2B 848a69ee3e4685bd81a3c6974b342b420c00e20cd78058a3f87bdbe7ee20b47cf4a43d5bbc3c613bcf01a70c7cf19658521a5450f54f18b4a2717e53408e57d0 SHA512 0fed5af37f47245ecdd84dd4dcc5d24dd84dacbd93cf1eb9b4b2e86fba6d26e7f459a9a274b0c42397fc5e22d48cb603ee2b809979cf48675710ba9221d8a3bf
diff --git a/dev-libs/libpo6/libpo6-0.8.0.ebuild b/dev-libs/libpo6/libpo6-0.8.0.ebuild
deleted file mode 100644
index 94435303959f..000000000000
--- a/dev-libs/libpo6/libpo6-0.8.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Hyperdex libpo6 support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libpo6/metadata.xml b/dev-libs/libpo6/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/libpo6/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libportal/Manifest b/dev-libs/libportal/Manifest
index ad68bc5788d2..26fb14475215 100644
--- a/dev-libs/libportal/Manifest
+++ b/dev-libs/libportal/Manifest
@@ -1 +1 @@
-DIST libportal-0.6.tar.xz 63816 BLAKE2B 396659bd1fd00885b49363a3f6fc0ccf5324c87417cfcab48c966ef61ab2fa35d300be84656261fdf4313b77fc13058d7b7c9aadb0591c1ef17b80434f8ec19d SHA512 f5f76a0dd0c66521b745c276e41f298addbbd41dd5fb3df9381ea85c122387878cb0e51ffac1e17f9e82548ab222d2c2fe92ab0d018de8a9ae9b2dfd65e454c4
+DIST libportal-0.7.1.tar.xz 74268 BLAKE2B b519fa88735d640a74e18cc791ec69862f136b793a7c855b1f3873cf6b15626d69088747f1a7ff54f8cd96f79e82e3df31e5349e3da57906e769b8f809f4ba34 SHA512 cbc50bfd86787fffc975fc53835acc6c3c0fd54b7ee02fce1983f1bd0fc40b15a0537780cd5e943ecedcf951840080a0f55a23a96e706223e52a6144ee70332c
diff --git a/dev-libs/libportal/libportal-0.6.ebuild b/dev-libs/libportal/libportal-0.6.ebuild
deleted file mode 100644
index 21ac7b164fa8..000000000000
--- a/dev-libs/libportal/libportal-0.6.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson 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="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 )
- )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- default
- vala_setup
-}
-
-src_configure() {
- local backends
- use gtk && backends+="gtk3,gtk4,"
- use qt5 && backends+="qt5,"
-
- local emesonargs=(
- -Dbackends=${backends%,}
- -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/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/libpqxx/Manifest b/dev-libs/libpqxx/Manifest
index 8b49e6f0dfa0..380122efe07c 100644
--- a/dev-libs/libpqxx/Manifest
+++ b/dev-libs/libpqxx/Manifest
@@ -1,2 +1 @@
-DIST libpqxx-7.4.1.tar.gz 702581 BLAKE2B 9190b62eaf4cee188e32611acfc938a4111e5ea510df50e424ebd3b6c73fe91dfc8fecd5f889dc2af95756f04c87a410a136cd4b4d6d1f276ce2e5fc26906df3 SHA512 a30a9f5ca87944922c9a3bd92d53392855ac3b2760cb7c21411caf364e443c25d1b2d4b4022e60ff7b30bc530fc3223ab3983325217d47fd7d71375c165c8c21
-DIST libpqxx-7.7.4.tar.gz 745900 BLAKE2B 2306ca1481cb36d32a5911452944404d90760890dfa1f78eca1f9bd0aa8b194484f4a82f15eca2bb37ea9dc80baa81dba5dee45255c04ed7df7aaa01920747ad SHA512 dd8fc9887eec81356d3c6cbcd11543e76bda8caebc770851bb6cf6e3eb5284ef33fc45f6de54c4cc902e07b06a8064f141841ad041addcc0e669d19486b7b4e1
+DIST libpqxx-7.7.5.tar.gz 745921 BLAKE2B 0ca9b36aecc96a436023621a1fcfcac2732443fe9d85507a64b511914a606a05f1a1d7e569dbf893d47412fb4040d02c0af2c8de280335d1f7a43240464df59d SHA512 78f1f17f5083347cfce607349d4f62be2878c41150c4afd1f26844dc796d0fe190b387b295e1b6bf9d81a26a0ebe1d82597fa651227c3a1cfe3acbd02ea7246c
diff --git a/dev-libs/libpqxx/libpqxx-7.4.1.ebuild b/dev-libs/libpqxx/libpqxx-7.4.1.ebuild
deleted file mode 100644
index 6499c690a71b..000000000000
--- a/dev-libs/libpqxx/libpqxx-7.4.1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-any-r1
-
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
-
-DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
-SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="http://pqxx.org/development/libpqxx/"
-LICENSE="BSD"
-SLOT="0"
-IUSE="doc static-libs"
-
-RDEPEND="dev-db/postgresql:="
-DEPEND="${RDEPEND}"
-BDEPEND="${PYTHON_DEPS}
- doc? (
- app-doc/doxygen
- app-text/xmlto
- )
-"
-
-DOCS=( AUTHORS NEWS README{.md,-UPGRADE} )
-
-src_configure() {
- econf \
- --enable-shared \
- $(use_enable doc documentation) \
- $(use_enable static-libs static)
-}
-
-src_test() {
- einfo "The tests need a running PostgreSQL server and an existing database."
- einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
- einfo "set PGPORT and PGHOST. Define them at the command line or in:"
- einfo " ${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/libpqxx-7.7.4.ebuild b/dev-libs/libpqxx/libpqxx-7.7.4.ebuild
deleted file mode 100644
index 45c9d1648fa7..000000000000
--- a/dev-libs/libpqxx/libpqxx-7.7.4.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit python-any-r1
-
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
-SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-HOMEPAGE="http://pqxx.org/development/libpqxx/"
-LICENSE="BSD"
-# 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-doc/doxygen
- 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/libpqxx-7.7.5.ebuild b/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
new file mode 100644
index 000000000000..2f48102dfea8
--- /dev/null
+++ b/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit python-any-r1
+
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+
+DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
+SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+HOMEPAGE="https://pqxx.org/development/libpqxx/"
+LICENSE="BSD"
+# SONAME version is equal to major.minor
+SLOT="0/$(ver_cut 1-2)"
+IUSE="doc static-libs"
+
+RDEPEND="dev-db/postgresql:="
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ doc? (
+ app-text/doxygen[dot]
+ app-text/xmlto
+ )
+"
+
+DOCS=( AUTHORS NEWS README.md )
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_enable doc documentation) \
+ $(use_enable static-libs static)
+}
+
+src_test() {
+ einfo "The tests need a running PostgreSQL server and an existing database."
+ einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
+ einfo "set PGPORT and PGHOST. Define them at the command line or in:"
+ einfo " ${BROOT}/etc/libpqxx_test_env"
+
+ if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
+ if [[ -f ${BROOT}/etc/libpqxx_test_env ]] ; then
+ source "${BROOT}/etc/libpqxx_test_env"
+ [[ -n $PGDATABASE ]] && export PGDATABASE
+ [[ -n $PGHOST ]] && export PGHOST
+ [[ -n $PGPORT ]] && export PGPORT
+ [[ -n $PGUSER ]] && export PGUSER
+ fi
+ fi
+
+ if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
+ local server_version
+ server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
+ if [[ $? = 0 ]] ; then
+ cd "${S}/test" || die
+ emake check
+ else
+ eerror "Is the server running?"
+ eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
+ eerror " Role: ${PGUSER}"
+ eerror " Database: ${PGDATABASE}"
+ die "Couldn't connect to server."
+ fi
+ else
+ eerror "PGDATABASE and PGUSER must be set to perform tests."
+ eerror "Skipping tests."
+ fi
+}
+
+src_install () {
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/libpqxx/metadata.xml b/dev-libs/libpqxx/metadata.xml
index 57ddc42d6eae..b47de6bbc481 100644
--- a/dev-libs/libpqxx/metadata.xml
+++ b/dev-libs/libpqxx/metadata.xml
@@ -11,4 +11,7 @@
about any platform — then libpqxx is the library you use. Supersedes the now
defunct libpq++ (AKA, libpqpp) API.
</longdescription>
+ <upstream>
+ <remote-id type="github">jtv/libpqxx</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libpsl-native/Manifest b/dev-libs/libpsl-native/Manifest
new file mode 100644
index 000000000000..71a6e7de2338
--- /dev/null
+++ b/dev-libs/libpsl-native/Manifest
@@ -0,0 +1 @@
+DIST libpsl-native-7.4.0.tar.gz 288919 BLAKE2B b38b35d3f1ebf2b7deeb90ff78c7c00e2e51f7b115a1622a878e7870de4dae53458a16b325fe7059b6faf7157701f14e179c8cb12648ff5ffd44694ce9a6ead2 SHA512 bfd1c00834bfd2a7fdba0cf5ae3bb82efb959fdc2f538d05bde150b98d417012647115c6893fc53db0b20170ea40be238ef017044a8076798c02578bd14884f9
diff --git a/dev-libs/libpsl-native/files/libpsl-native-7.3.2-test-cmake.patch b/dev-libs/libpsl-native/files/libpsl-native-7.3.2-test-cmake.patch
new file mode 100644
index 000000000000..641a4aaf4ee2
--- /dev/null
+++ b/dev-libs/libpsl-native/files/libpsl-native-7.3.2-test-cmake.patch
@@ -0,0 +1,18 @@
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-add_subdirectory(googletest)
++find_package(GTest REQUIRED)
+
+ add_executable(psl-native-test
+ test-getfileowner.cpp
+@@ -19,9 +19,6 @@ add_executable(psl-native-test
+ test-createhardlink.cpp
+ main.cpp)
+
+-# manually include gtest headers
+-target_include_directories(psl-native-test PRIVATE ${gtest_SOURCE_DIR}/include)
+-
+ target_link_libraries(psl-native-test psl-native gtest)
+
+ add_test(NAME psl-native-test
diff --git a/dev-libs/libpsl-native/files/libpsl-native-7.4.0-cmake.patch b/dev-libs/libpsl-native/files/libpsl-native-7.4.0-cmake.patch
new file mode 100644
index 000000000000..1515e4cda7a1
--- /dev/null
+++ b/dev-libs/libpsl-native/files/libpsl-native-7.4.0-cmake.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,7 +3,7 @@ project(PSL-NATIVE)
+
+ # Can't use add_compile_options with 2.8.11
+ set(CMAKE_BUILD_TYPE "Release")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -fstack-protector-strong -fpie -D_FORTIFY_SOURCE=2")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now")
diff --git a/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild b/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild
new file mode 100644
index 000000000000..23612295362d
--- /dev/null
+++ b/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN="PowerShell-Native"
+CMAKE_IN_SOURCE_BUILD="ON"
+
+inherit cmake
+
+DESCRIPTION="Functionality missing from .NET Core via system calls"
+HOMEPAGE="https://github.com/PowerShell/PowerShell-Native/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/PowerShell/${MY_PN}.git"
+ S="${WORKDIR}/${P}/src/${PN}"
+else
+ SRC_URI="https://github.com/PowerShell/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${MY_PN}-${PV}/src/${PN}"
+
+ KEYWORDS="amd64 arm ~arm64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+BDEPEND="dev-cpp/gtest"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.4.0-cmake.patch"
+ "${FILESDIR}/${PN}-7.3.2-test-cmake.patch"
+)
+
+src_install() {
+ dolib.so "${S}/../powershell-unix/libpsl-native.so"
+
+ einstalldocs
+}
diff --git a/dev-libs/libpsl-native/metadata.xml b/dev-libs/libpsl-native/metadata.xml
new file mode 100644
index 000000000000..f363f77b5905
--- /dev/null
+++ b/dev-libs/libpsl-native/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dotnet@gentoo.org</email>
+ <name>Gentoo Dotnet Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/PowerShell/PowerShell-Native/issues/</bugs-to>
+ <remote-id type="github">PowerShell/PowerShell-Native</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libpthread-stubs/Manifest b/dev-libs/libpthread-stubs/Manifest
index e567241773e4..bb862f00ea73 100644
--- a/dev-libs/libpthread-stubs/Manifest
+++ b/dev-libs/libpthread-stubs/Manifest
@@ -1 +1 @@
-DIST libpthread-stubs-0.4.tar.bz2 57565 BLAKE2B 0c59ba509aa24ce0d255790363d78d670be0bae5fd9556798f276466ecaf70c4d93064b531dd9870da8f934da6660fba71a7f0b402bb6ba5420fd6ee5ca546df SHA512 0fec563f3833b84311b32cb13a4fd9832aeb0204c65b1541bf453d5d35693b2267c3cee656e00a4b8533b07a8f6320ca5c3672dcf8ab047cdac8628154c08954
+DIST libpthread-stubs-0.5.tar.xz 56980 BLAKE2B df84742e6695c64b33c82130765fa4bc3f908874aa868ae6543008a569ef79e384b562a6946e25b45331898d5df55c3bfd2e907a03bda15aca3993917baf6e50 SHA512 a24f7c40dcaf5f6ca0085972117fed5ad0851f6fc1972fdab799d27236afaaa4f7baa93e40532f93984d313d94456819aaf4ec8f8d1bbb2e5c4fc76c31891d82
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
deleted file mode 100644
index 1f41658a74fc..000000000000
--- a/dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="Pthread functions stubs for platforms missing them"
-HOMEPAGE="https://www.x.org/wiki/ https://gitlab.freedesktop.org/xorg/lib/pthread-stubs"
-SRC_URI="https://xcb.freedesktop.org/dist/${P}.tar.bz2"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
-
-# there is nothing to compile for this package, all its contents are produced by
-# configure. the only make job that matters is make install
-multilib_src_compile() { true; }
diff --git a/dev-libs/libpthread-stubs/libpthread-stubs-0.5.ebuild b/dev-libs/libpthread-stubs/libpthread-stubs-0.5.ebuild
new file mode 100644
index 000000000000..da0c91b70a8d
--- /dev/null
+++ b/dev-libs/libpthread-stubs/libpthread-stubs-0.5.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_MODULE=lib/
+XORG_MULTILIB=yes
+XORG_TARBALL_SUFFIX="xz"
+inherit xorg-3
+
+DESCRIPTION="Pthread functions stubs for platforms missing them"
+KEYWORDS="~ppc-macos ~x64-macos"
+
+# there is nothing to compile for this package, all its contents are produced by
+# configure. the only make job that matters is make install
+multilib_src_compile() { true; }
diff --git a/dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch b/dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch
new file mode 100644
index 000000000000..99b49e26e737
--- /dev/null
+++ b/dev-libs/libptytty/files/libptytty-2.0-configure-clang16.patch
@@ -0,0 +1,15 @@
+http://lists.schmorp.de/pipermail/rxvt-unicode/2023q2/002652.html
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -95,7 +95,8 @@ check_function_exists(setreuid HAVE_SETREUID)
+ check_function_exists(setresuid HAVE_SETRESUID)
+
+ check_c_source_compiles(
+- "#include <stdlib.h>
++ "#define _XOPEN_SOURCE 500
++ #include <stdlib.h>
+
+ int main ()
+ {
+
diff --git a/dev-libs/libptytty/libptytty-2.0-r1.ebuild b/dev-libs/libptytty/libptytty-2.0-r1.ebuild
new file mode 100644
index 000000000000..6622e0666ff1
--- /dev/null
+++ b/dev-libs/libptytty/libptytty-2.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A library for mostly OS-independent handling of pty/tty/utmp/wtmp/lastlog"
+HOMEPAGE="http://software.schmorp.de/pkg/libptytty.html"
+SRC_URI="http://dist.schmorp.de/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0-rundir.patch
+ "${FILESDIR}"/${PN}-2.0-configure-clang16.patch
+)
+
+DOCS=( Changes README )
+
+src_configure() {
+ # Bug #828923
+ local mycmakeargs=()
+ if use elibc_musl; then
+ mycmakeargs+=(
+ -DPT_LASTLOGX_FILE="\"/dev/null/lastlogx\""
+ -DPT_WTMPX_FILE="\"/dev/null/wtmpx\""
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/libptytty/libptytty-2.0.ebuild b/dev-libs/libptytty/libptytty-2.0.ebuild
deleted file mode 100644
index cfa4b8a6b1fc..000000000000
--- a/dev-libs/libptytty/libptytty-2.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="A library for mostly OS-independent handling of pty/tty/utmp/wtmp/lastlog"
-HOMEPAGE="http://software.schmorp.de/pkg/libptytty.html"
-SRC_URI="http://dist.schmorp.de/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.0-rundir.patch
-)
-
-DOCS=( Changes README )
-
-src_configure() {
- # Bug #828923
- local mycmakeargs=()
- if use elibc_musl; then
- mycmakeargs+=(
- -DPT_LASTLOGX_FILE="\"/dev/null/lastlogx\""
- -DPT_WTMPX_FILE="\"/dev/null/wtmpx\""
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
new file mode 100644
index 000000000000..f4eb2d415180
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit libtool pam python-r1
+
+DESCRIPTION="Library for password quality checking and generating random passwords"
+HOMEPAGE="https://github.com/libpwquality/libpwquality"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="pam python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND="
+ >=sys-devel/gettext-0.18.2
+ virtual/pkgconfig
+"
+RDEPEND="
+ >=sys-libs/cracklib-2.8:=[static-libs(+)?]
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ elibtoolize
+
+ if use python ; then
+ # bug #830397
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+ python_copy_sources
+ fi
+}
+
+src_configure() {
+ # Install library in /lib for pam
+ configuring() {
+ local sitedir
+ econf \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
+ $(use_enable pam) \
+ --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
+ $(use_enable python python-bindings) \
+ $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
+ $(use_enable static-libs static)
+ }
+ if_use_python_python_foreach_impl configuring
+}
+
+src_compile() {
+ if_use_python_python_foreach_impl default
+}
+
+src_test() {
+ if_use_python_python_foreach_impl default
+}
+
+src_install() {
+ if_use_python_python_foreach_impl default
+ find "${ED}" -name '*.la' -delete || die
+}
+
+if_use_python_python_foreach_impl() {
+ if use python; then
+ python_foreach_impl run_in_build_dir "$@"
+ else
+ "$@"
+ fi
+}
diff --git a/dev-libs/libpy/files/libpy-0.2.5-setuptools.patch b/dev-libs/libpy/files/libpy-0.2.5-setuptools.patch
new file mode 100644
index 000000000000..0f5adc5e9c98
--- /dev/null
+++ b/dev-libs/libpy/files/libpy-0.2.5-setuptools.patch
@@ -0,0 +1,11 @@
+diff --git a/setup.py b/setup.py
+index 61bc3da..39c2ea5 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,5 +1,5 @@
+ import ast
+-from distutils.command.build_py import build_py as _build_py
++from setuptools.command.build_py import build_py as _build_py
+ import os
+ import pathlib
+ import shutil
diff --git a/dev-libs/libpy/files/libpy-0.2.5-stdint.patch b/dev-libs/libpy/files/libpy-0.2.5-stdint.patch
new file mode 100644
index 000000000000..d641ea4da1f4
--- /dev/null
+++ b/dev-libs/libpy/files/libpy-0.2.5-stdint.patch
@@ -0,0 +1,11 @@
+diff --git a/include/libpy/util.h b/include/libpy/util.h
+index 3e0c72d..8669483 100644
+--- a/include/libpy/util.h
++++ b/include/libpy/util.h
+@@ -1,5 +1,6 @@
+ #pragma once
+
++#include <cstdint>
+ #include <algorithm>
+ #include <sstream>
+ #include <stdexcept>
diff --git a/dev-libs/libpy/libpy-0.2.5-r1.ebuild b/dev-libs/libpy/libpy-0.2.5-r1.ebuild
deleted file mode 100644
index f17fd083c69e..000000000000
--- a/dev-libs/libpy/libpy-0.2.5-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit flag-o-matic distutils-r1
-
-GTEST_VER="23b2a3b1cf803999fb38175f6e9e038a4495c8a5"
-
-DESCRIPTION="Utilities for writing C++ extension modules"
-HOMEPAGE="https://quantopian.github.io/libpy/
- https://github.com/quantopian/libpy"
-SRC_URI="
- https://github.com/quantopian/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://github.com/google/googletest/archive/${GTEST_VER}.tar.gz -> gtest-${GTEST_VER}.tar.gz )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="sparsehash test"
-
-COMMON_DEPEND="
- >=dev-python/numpy-1.11.3[${PYTHON_USEDEP}]
-"
-RDEPEND="${COMMON_DEPEND}"
-BDEPEND="${COMMON_DEPEND}
- sparsehash? ( dev-cpp/sparsehash )
- test? (
- dev-cpp/gtest
- >=dev-python/pytest-4.4.1[${PYTHON_USEDEP}]
- )
-"
-
-RESTRICT="!test? ( test )"
-REQUIRED_USE="test? ( sparsehash )"
-
-PATCHES=(
- "${FILESDIR}/libpy-0.2.5-no-werror.patch"
- "${FILESDIR}/libpy-0.2.5-permissions.patch"
- "${FILESDIR}/libpy-0.2.5-cflags.patch"
-)
-
-python_test() {
- emake GTEST_ROOT="${WORKDIR}/googletest-${GTEST_VER}" test
-}
-
-python_configure() {
- replace-flags '-O*' '-O3'
-}
diff --git a/dev-libs/libpy/libpy-0.2.5-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/libqtxdg/Manifest b/dev-libs/libqtxdg/Manifest
index 5537acf580f6..f1f0c4a1822b 100644
--- a/dev-libs/libqtxdg/Manifest
+++ b/dev-libs/libqtxdg/Manifest
@@ -1,2 +1,2 @@
-DIST libqtxdg-3.10.0.tar.xz 71656 BLAKE2B 345fd1c3b3b117521220fe70487a9e934800031b7c8c6973b360c0817fd1635118a65bac90bb16818bfb035db55b1b23b5cbfd350583be34f49373c50551f5c0 SHA512 c5c3b91684fca5a288d7097b1d9f94c6cb80d7aaca46d861b9aba3efc625ac8b109513fd56e337615d1700d56af0c945ac6c8977cb9b0e88737ee490244d0ad5
-DIST libqtxdg-3.9.1.tar.xz 71604 BLAKE2B 73db84890afa5b7177447a01ae2eb92db4bf13c6e3377a0ac7bdda192b15f8cd068db2875c13ba37d7d27a2c28e48d435801625b11ec8f7eb602fa02b5eca841 SHA512 1b05a10649229a34e3b653c37abefbb02c8b456d77aaabed0e47668818ee29730ea049d96bc5c71c9ad83d1c9c87888195bf228dc9817fd27053f0286752978c
+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.10.0.ebuild b/dev-libs/libqtxdg/libqtxdg-3.10.0.ebuild
deleted file mode 100644
index 17d652cf817f..000000000000
--- a/dev-libs/libqtxdg/libqtxdg-3.10.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 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.12.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.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.9.1.ebuild b/dev-libs/libqtxdg/libqtxdg-3.9.1.ebuild
deleted file mode 100644
index 3df90add0d7c..000000000000
--- a/dev-libs/libqtxdg/libqtxdg-3.9.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 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.11.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/libratbag/libratbag-0.15.ebuild b/dev-libs/libratbag/libratbag-0.15.ebuild
index 92d15650c73c..ba7c076793e6 100644
--- a/dev-libs/libratbag/libratbag-0.15.ebuild
+++ b/dev-libs/libratbag/libratbag-0.15.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_10 )
inherit meson python-single-r1 systemd udev
@@ -28,16 +28,16 @@ BDEPEND="
doc? (
$(python_gen_cond_dep '
dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
')
)
test? (
dev-libs/check
dev-libs/gobject-introspection
- dev-util/valgrind
+ dev-debug/valgrind
$(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
')
)
"
@@ -51,7 +51,7 @@ RDEPEND="
virtual/libudev:=
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
')
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
diff --git a/dev-libs/libratbag/libratbag-0.16.ebuild b/dev-libs/libratbag/libratbag-0.16.ebuild
index ce898921eaf8..ad08ddd3c6db 100644
--- a/dev-libs/libratbag/libratbag-0.16.ebuild
+++ b/dev-libs/libratbag/libratbag-0.16.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_10 )
inherit meson python-single-r1 systemd udev
@@ -28,16 +28,16 @@ BDEPEND="
doc? (
$(python_gen_cond_dep '
dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
')
)
test? (
dev-libs/check
dev-libs/gobject-introspection
- dev-util/valgrind
+ dev-debug/valgrind
$(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
')
)
"
@@ -51,7 +51,7 @@ RDEPEND="
virtual/libudev:=
$(python_gen_cond_dep '
dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
+ dev-python/evdev[${PYTHON_USEDEP}]
')
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
diff --git a/dev-libs/libratbag/libratbag-0.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.17.ebuild b/dev-libs/libratbag/libratbag-0.17.ebuild
deleted file mode 100644
index ad049dcddcab..000000000000
--- a/dev-libs/libratbag/libratbag-0.17.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit meson 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-util/valgrind
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/python-evdev[${PYTHON_USEDEP}]
- ')
- )
-"
-RDEPEND="
- ${PYTHON_DEPS}
- acct-group/plugdev
- dev-libs/glib:2
- dev-libs/json-glib
- dev-libs/libevdev
- dev-libs/libunistring:=
- virtual/libudev:=
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- dev-python/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-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/librdkafka/Manifest b/dev-libs/librdkafka/Manifest
index 6fa639baa2c9..e53816e500da 100644
--- a/dev-libs/librdkafka/Manifest
+++ b/dev-libs/librdkafka/Manifest
@@ -1,9 +1 @@
-DIST librdkafka-1.4.4.tar.gz 2734332 BLAKE2B 47c22f00d88d58eb6366e17a8f0ddaee4984bc65f01a627c5d3b8eee019519a2de9a7ae6e2ab2053354a5d72337107b7f515ad65ff205b6838e154b95d9f2331 SHA512 478d17f56efd39b312ea774695bc31d22a83aae3a94913fb0dd07e7f04f3f2a6e3f3610dc7501864dbacbcf4a3207603c6e1d5eebac4e5246ee868cde398021d
-DIST librdkafka-1.5.0.tar.gz 2757553 BLAKE2B a9bbcdaa011944e43f9c70e2062199c5f12d1b92e40ba55707520002ed3a909ff13308336703924388625570d88a94d58b24cd19b5d6e9f79acd31dd92d0d7ed SHA512 ccd8dd3e90c9315833610745c28e0ffa60786324c938c7cbbb2ff847d7493d1b72d97adf5e5210bbc87970047cfd7e58a85141534d227187f2f17c492bef4262
-DIST librdkafka-1.5.2.tar.gz 2771823 BLAKE2B 61a56d36ba49539eb52f89a0d5b48e0245b1cedd09c40e65063d65208b50bb95aa5f00ce3c050d4203b4720b2ce63a9f1d6eee7100fdf85c50e7a15457a52010 SHA512 6a796c58aef9d91fe85f3815ee523a0dcafad59f33c83e5c20c62d4e4337c21c2d223dd0d6a88f37cf86d14a8e55facfa87c651990e08d9522f7cf78b0d17446
-DIST librdkafka-1.5.3.tar.gz 2773929 BLAKE2B f23ed9fe04af5d17ee2066366d32701a07f1360d665fd06126008f42e2512434848829eeb2578b35bd7f8fb26663d72c3d2ee22a5b3f33b7029df28f919b2b77 SHA512 24c93658462f933766a026fede5f09e1056ee9532f27b56da64bdde5626ac6f2460bc92b950337a7c3a99d75201a3c3bc5aaa78e888ffd9665e248d62f2c87d9
-DIST librdkafka-1.6.0.tar.gz 2909665 BLAKE2B 64b9098531febc0c4b06ce8d6d6cc65b9895cda9b40c9d9fd8b70d5febbb2c851856fb71a355d606074dae9e026277da5e65d0e9ed44a3dfd76b2b55cc142651 SHA512 b58d701f71342eb2c29ecd5aa0514af351b5a5d2282768e034b5995300fcbe2c416d6b4e15dfaddaacf2ec3b7571a320bf5356ade3fe33598d3f05f99f6553ba
-DIST librdkafka-1.6.1.tar.gz 2920909 BLAKE2B 03d949319b022bc933a9b816660f87498cf9df460f41c65f08e5f6aa22cf5766974f4abe5fe0078054a21df45cc0b46f30383ce83743348fd3124e3b9ffed7f5 SHA512 19f64f275c7cd1c60f026a466c79021549e4acced60e6c01b364944ddb2f4a2c0784ab35031275c406b638a14b958c6f904177e51e2fcb4d058c541d046677dc
-DIST librdkafka-1.7.0.tar.gz 2946082 BLAKE2B ea74e2dbd0e25ed998a80a0c964e78993f233c3fec1555dbefe11e0e9a407badcc903fbdef47289c82627a67cfce0d995a2786b90e810d874ccba04ba81fbc67 SHA512 2fb1eb1821d6eb2e3c4346aebd26a96c612f18a055e6861c49231957e8694758bd31aafa45c066280d6b1359e95e5a61927a276dab161356448da0685f5658fa
-DIST librdkafka-1.8.0.tar.gz 4092247 BLAKE2B e35235d92a5253956e24946493f03fa9f575efafb94279d4982e0aa86508fed5f4ce66887adab71168f03f61c0917e8722aa5d0314ea2d86b069fb52402e8e89 SHA512 6a612f0e2f7028c7b46314615e22a39ad36f54a2b83fe75e1f838eae7bb33d9bf5bdf45fbf8471af18ddb9c54bff8514180918e6ab15ff1faa4555af4a1e35e0
-DIST librdkafka-1.8.2.tar.gz 4097028 BLAKE2B 37a3190417e973ea4629012e358ff61cda45eb0134448dd0054fd1f1cac57f3543b133331b0b0d518f219f30f79f7665a214c75084d6a8474687b7e686395724 SHA512 8c8ae291129b78e3b8367307ad1b1715af1438cd76d7160d64d13a58adf84c7c9f51efeba4656f55e101c25e4cb744db0d8bb5c01a2decb229e4567d16bdcb22
+DIST librdkafka-2.2.0.tar.gz 4340164 BLAKE2B 394c9fd25db0a3a02b16fec3d5d5acc4808b4c8a6c8e025e71f15a91c6311206bf4d7c863860be36483c150bb10955cdc98ba0f088fa493b20ae52154e2a83d0 SHA512 1a85b5864efdeece1327e461b62a378f24b73eb7174168f630aeff01d4a5074d6b2f15744bc267665fcfc6384e804df00c20b7271ecd85a98dca84746b86b4d9
diff --git a/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch b/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
new file mode 100644
index 000000000000..cc6b57ea72d2
--- /dev/null
+++ b/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
@@ -0,0 +1,285 @@
+https://bugs.gentoo.org/915433
+https://github.com/confluentinc/librdkafka/pull/4449
+
+From 8b311b8a850805f4ec9bb068c0edb31492ad03fe Mon Sep 17 00:00:00 2001
+From: Emanuele Sabellico <esabellico@confluent.io>
+Date: Wed, 27 Sep 2023 11:08:33 +0200
+Subject: [PATCH 1/3] tmpabuf refactor and fix for insufficient buffer
+ allocation
+
+---
+ CHANGELOG.md | 10 ++++++
+ src/rdkafka_buf.h | 25 ++++++++++++---
+ src/rdkafka_metadata.c | 59 +++++++++++++++++++-----------------
+ src/rdkafka_metadata_cache.c | 38 +++++++++++------------
+ src/rdkafka_topic.c | 36 +++++++++++++---------
+ 5 files changed, 100 insertions(+), 68 deletions(-)
+
+diff --git a/src/rdkafka_buf.h b/src/rdkafka_buf.h
+index ccd563cc6..623ec49ae 100644
+--- a/src/rdkafka_buf.h
++++ b/src/rdkafka_buf.h
+@@ -49,21 +49,36 @@ typedef struct rd_tmpabuf_s {
+ size_t of;
+ char *buf;
+ int failed;
+- int assert_on_fail;
++ rd_bool_t assert_on_fail;
+ } rd_tmpabuf_t;
+
+ /**
+- * @brief Allocate new tmpabuf with \p size bytes pre-allocated.
++ * @brief Initialize new tmpabuf of non-final \p size bytes.
+ */
+ static RD_UNUSED void
+-rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, int assert_on_fail) {
+- tab->buf = rd_malloc(size);
+- tab->size = size;
++rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, rd_bool_t assert_on_fail) {
++ tab->buf = NULL;
++ tab->size = RD_ROUNDUP(size, 8);
+ tab->of = 0;
+ tab->failed = 0;
+ tab->assert_on_fail = assert_on_fail;
+ }
+
++/**
++ * @brief Add a new allocation of \p _size bytes,
++ * rounded up to maximum word size,
++ * for \p _times times.
++ */
++#define rd_tmpabuf_add_alloc_times(_tab, _size, _times) \
++ (_tab)->size += RD_ROUNDUP(_size, 8) * _times
++
++#define rd_tmpabuf_add_alloc(_tab, _size) \
++ rd_tmpabuf_add_alloc_times(_tab, _size, 1)
++/**
++ * @brief Finalize tmpabuf pre-allocating tab->size bytes.
++ */
++#define rd_tmpabuf_finalize(_tab) (_tab)->buf = rd_malloc((_tab)->size)
++
+ /**
+ * @brief Free memory allocated by tmpabuf
+ */
+diff --git a/src/rdkafka_metadata.c b/src/rdkafka_metadata.c
+index f96edf658..6c2f60ae3 100644
+--- a/src/rdkafka_metadata.c
++++ b/src/rdkafka_metadata.c
+@@ -164,7 +164,8 @@ static rd_kafka_metadata_internal_t *rd_kafka_metadata_copy_internal(
+ * Because of this we copy all the structs verbatim but
+ * any pointer fields needs to be copied explicitly to update
+ * the pointer address. */
+- rd_tmpabuf_new(&tbuf, size, 1 /*assert on fail*/);
++ rd_tmpabuf_new(&tbuf, size, rd_true /*assert on fail*/);
++ rd_tmpabuf_finalize(&tbuf);
+ mdi = rd_tmpabuf_write(&tbuf, src, sizeof(*mdi));
+ md = &mdi->metadata;
+
+@@ -506,11 +507,13 @@ rd_kafka_parse_Metadata(rd_kafka_broker_t *rkb,
+ * no more than 4 times larger than the wire representation.
+ * This is increased to 5 times in case if we want to compute partition
+ * to rack mapping. */
+- rd_tmpabuf_new(&tbuf,
+- sizeof(*mdi) + rkb_namelen +
+- (rkbuf->rkbuf_totlen * 4 +
+- (compute_racks ? rkbuf->rkbuf_totlen : 0)),
+- 0 /*dont assert on fail*/);
++ rd_tmpabuf_new(&tbuf, 0, rd_false /*dont assert on fail*/);
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*mdi));
++ rd_tmpabuf_add_alloc(&tbuf, rkb_namelen);
++ rd_tmpabuf_add_alloc(&tbuf, rkbuf->rkbuf_totlen *
++ (4 + (compute_racks ? 1 : 0)));
++
++ rd_tmpabuf_finalize(&tbuf);
+
+ if (!(mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi)))) {
+ rd_kafka_broker_unlock(rkb);
+@@ -1603,35 +1606,37 @@ rd_kafka_metadata_new_topic_mock(const rd_kafka_metadata_topic_t *topics,
+ rd_kafka_metadata_internal_t *mdi;
+ rd_kafka_metadata_t *md;
+ rd_tmpabuf_t tbuf;
+- size_t topic_names_size = 0;
+- int total_partition_cnt = 0;
+ size_t i;
+ int curr_broker = 0;
+
+- /* Calculate total partition count and topic names size before
+- * allocating memory. */
+- for (i = 0; i < topic_cnt; i++) {
+- topic_names_size += 1 + strlen(topics[i].topic);
+- total_partition_cnt += topics[i].partition_cnt;
+- }
+-
+ /* If the replication factor is given, num_brokers must also be given */
+ rd_assert(replication_factor <= 0 || num_brokers > 0);
+
+ /* Allocate contiguous buffer which will back all the memory
+ * needed by the final metadata_t object */
+- rd_tmpabuf_new(
+- &tbuf,
+- sizeof(*mdi) + (sizeof(*md->topics) * topic_cnt) +
+- topic_names_size + (64 /*topic name size..*/ * topic_cnt) +
+- (sizeof(*md->topics[0].partitions) * total_partition_cnt) +
+- (sizeof(*mdi->topics) * topic_cnt) +
+- (sizeof(*mdi->topics[0].partitions) * total_partition_cnt) +
+- (sizeof(*mdi->brokers) * RD_ROUNDUP(num_brokers, 8)) +
+- (replication_factor > 0 ? RD_ROUNDUP(replication_factor, 8) *
+- total_partition_cnt * sizeof(int)
+- : 0),
+- 1 /*assert on fail*/);
++ rd_tmpabuf_new(&tbuf, sizeof(*mdi), rd_true /*assert on fail*/);
++
++ rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*md->topics));
++ rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*mdi->topics));
++ rd_tmpabuf_add_alloc(&tbuf, num_brokers * sizeof(*md->brokers));
++
++ /* Calculate total partition count and topic names size before
++ * allocating memory. */
++ for (i = 0; i < topic_cnt; i++) {
++ rd_tmpabuf_add_alloc(&tbuf, 1 + strlen(topics[i].topic));
++ rd_tmpabuf_add_alloc(&tbuf,
++ topics[i].partition_cnt *
++ sizeof(*md->topics[i].partitions));
++ rd_tmpabuf_add_alloc(&tbuf,
++ topics[i].partition_cnt *
++ sizeof(*mdi->topics[i].partitions));
++ if (replication_factor > 0)
++ rd_tmpabuf_add_alloc_times(
++ &tbuf, replication_factor * sizeof(int),
++ topics[i].partition_cnt);
++ }
++
++ rd_tmpabuf_finalize(&tbuf);
+
+ mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi));
+ memset(mdi, 0, sizeof(*mdi));
+diff --git a/src/rdkafka_metadata_cache.c b/src/rdkafka_metadata_cache.c
+index 18f19a4d0..1530e699e 100644
+--- a/src/rdkafka_metadata_cache.c
++++ b/src/rdkafka_metadata_cache.c
+@@ -249,8 +249,6 @@ static struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_insert(
+ rd_kafka_metadata_broker_internal_t *brokers_internal,
+ size_t broker_cnt) {
+ struct rd_kafka_metadata_cache_entry *rkmce, *old;
+- size_t topic_len;
+- size_t racks_size = 0;
+ rd_tmpabuf_t tbuf;
+ int i;
+
+@@ -261,34 +259,32 @@ static struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_insert(
+ * any pointer fields needs to be copied explicitly to update
+ * the pointer address.
+ * See also rd_kafka_metadata_cache_delete which frees this. */
+- topic_len = strlen(mtopic->topic) + 1;
++ rd_tmpabuf_new(&tbuf, 0, rd_true /*assert on fail*/);
++
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*rkmce));
++ rd_tmpabuf_add_alloc(&tbuf, strlen(mtopic->topic) + 1);
++ rd_tmpabuf_add_alloc(&tbuf, mtopic->partition_cnt *
++ sizeof(*mtopic->partitions));
++ rd_tmpabuf_add_alloc(&tbuf,
++ mtopic->partition_cnt *
++ sizeof(*metadata_internal_topic->partitions));
+
+ for (i = 0; include_racks && i < mtopic->partition_cnt; i++) {
+ size_t j;
+- racks_size += RD_ROUNDUP(
+- metadata_internal_topic->partitions[i].racks_cnt *
+- sizeof(char *),
+- 8);
++ rd_tmpabuf_add_alloc(
++ &tbuf, metadata_internal_topic->partitions[i].racks_cnt *
++ sizeof(char *));
+ for (j = 0;
+ j < metadata_internal_topic->partitions[i].racks_cnt;
+ j++) {
+- racks_size += RD_ROUNDUP(
+- strlen(metadata_internal_topic->partitions[i]
+- .racks[j]) +
+- 1,
+- 8);
++ rd_tmpabuf_add_alloc(
++ &tbuf, strlen(metadata_internal_topic->partitions[i]
++ .racks[j]) +
++ 1);
+ }
+ }
+
+- rd_tmpabuf_new(
+- &tbuf,
+- RD_ROUNDUP(sizeof(*rkmce), 8) + RD_ROUNDUP(topic_len, 8) +
+- (mtopic->partition_cnt *
+- RD_ROUNDUP(sizeof(*mtopic->partitions), 8)) +
+- (mtopic->partition_cnt *
+- RD_ROUNDUP(sizeof(*metadata_internal_topic->partitions), 8)) +
+- racks_size,
+- 1 /*assert on fail*/);
++ rd_tmpabuf_finalize(&tbuf);
+
+ rkmce = rd_tmpabuf_alloc(&tbuf, sizeof(*rkmce));
+
+diff --git a/src/rdkafka_topic.c b/src/rdkafka_topic.c
+index 3b3986d43..b63a0bbea 100644
+--- a/src/rdkafka_topic.c
++++ b/src/rdkafka_topic.c
+@@ -1831,38 +1831,44 @@ rd_kafka_topic_info_t *rd_kafka_topic_info_new_with_rack(
+ const rd_kafka_metadata_partition_internal_t *mdpi) {
+ rd_kafka_topic_info_t *ti;
+ rd_tmpabuf_t tbuf;
+- size_t tlen = RD_ROUNDUP(strlen(topic) + 1, 8);
+- size_t total_racks_size = 0;
+ int i;
++ rd_bool_t has_racks = rd_false;
+
++ rd_tmpabuf_new(&tbuf, 0, rd_true /* assert on fail */);
++
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*ti));
++ rd_tmpabuf_add_alloc(&tbuf, strlen(topic) + 1);
+ for (i = 0; i < partition_cnt; i++) {
+ size_t j;
+ if (!mdpi[i].racks)
+ continue;
+
++ if (unlikely(!has_racks))
++ has_racks = rd_true;
++
+ for (j = 0; j < mdpi[i].racks_cnt; j++) {
+- total_racks_size +=
+- RD_ROUNDUP(strlen(mdpi[i].racks[j]) + 1, 8);
++ rd_tmpabuf_add_alloc(&tbuf,
++ strlen(mdpi[i].racks[j]) + 1);
+ }
+- total_racks_size +=
+- RD_ROUNDUP(sizeof(char *) * mdpi[i].racks_cnt, 8);
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(char *) * mdpi[i].racks_cnt);
++ }
++
++ /* Only bother allocating this if at least one
++ * rack is there. */
++ if (has_racks) {
++ rd_tmpabuf_add_alloc(
++ &tbuf, sizeof(rd_kafka_metadata_partition_internal_t) *
++ partition_cnt);
+ }
+
+- if (total_racks_size) /* Only bother allocating this if at least one
+- rack is there. */
+- total_racks_size +=
+- RD_ROUNDUP(sizeof(rd_kafka_metadata_partition_internal_t) *
+- partition_cnt,
+- 8);
++ rd_tmpabuf_finalize(&tbuf);
+
+- rd_tmpabuf_new(&tbuf, sizeof(*ti) + tlen + total_racks_size,
+- 1 /* assert on fail */);
+ ti = rd_tmpabuf_alloc(&tbuf, sizeof(*ti));
+ ti->topic = rd_tmpabuf_write_str(&tbuf, topic);
+ ti->partition_cnt = partition_cnt;
+ ti->partitions_internal = NULL;
+
+- if (total_racks_size) {
++ if (has_racks) {
+ ti->partitions_internal = rd_tmpabuf_alloc(
+ &tbuf, sizeof(*ti->partitions_internal) * partition_cnt);
+
+
diff --git a/dev-libs/librdkafka/librdkafka-1.4.4.ebuild b/dev-libs/librdkafka/librdkafka-1.4.4.ebuild
deleted file mode 100644
index 141ec0f49725..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.4.4.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- static-libs? ( ${LIB_DEPEND} )
-"
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.5.0.ebuild b/dev-libs/librdkafka/librdkafka-1.5.0.ebuild
deleted file mode 100644
index e6d3864424d0..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.5.0.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_9 )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.5.2.ebuild b/dev-libs/librdkafka/librdkafka-1.5.2.ebuild
deleted file mode 100644
index e6d3864424d0..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.5.2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_9 )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.5.3.ebuild b/dev-libs/librdkafka/librdkafka-1.5.3.ebuild
deleted file mode 100644
index e6d3864424d0..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.5.3.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_9 )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.6.0.ebuild b/dev-libs/librdkafka/librdkafka-1.6.0.ebuild
deleted file mode 100644
index e6d3864424d0..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.6.0.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_9 )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.6.1.ebuild b/dev-libs/librdkafka/librdkafka-1.6.1.ebuild
deleted file mode 100644
index 5f47bc1f5000..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.6.1.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_9 )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.7.0.ebuild b/dev-libs/librdkafka/librdkafka-1.7.0.ebuild
deleted file mode 100644
index 50b7247010cc..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.7.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.8.0.ebuild b/dev-libs/librdkafka/librdkafka-1.8.0.ebuild
deleted file mode 100644
index 50b7247010cc..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.8.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- econf ${myeconf[@]}
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-1.8.2.ebuild b/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
deleted file mode 100644
index f135b0c40db9..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/edenhill/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~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(+)]
-"
-
-BDEPEND="
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --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/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-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 147ef55459fa..d2461fd50b37 100644
--- a/dev-libs/librdkafka/metadata.xml
+++ b/dev-libs/librdkafka/metadata.xml
@@ -3,8 +3,8 @@
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
- <bugs-to>https://github.com/edenhill/librdkafka/issues</bugs-to>
- <remote-id type="github">edenhill/librdkafka</remote-id>
+ <bugs-to>https://github.com/confluentinc/librdkafka/issues</bugs-to>
+ <remote-id type="github">confluentinc/librdkafka</remote-id>
</upstream>
<use>
<flag name="lz4">Enable support for Kafka's LZ4 compression based on KIP-57 (uses <pkg>app-arch/lz4</pkg>)</flag>
diff --git a/dev-libs/librelp/Manifest b/dev-libs/librelp/Manifest
index a28b17eef20e..7e43e656f67d 100644
--- a/dev-libs/librelp/Manifest
+++ b/dev-libs/librelp/Manifest
@@ -1 +1,2 @@
DIST librelp-1.10.0.tar.gz 543414 BLAKE2B 3c7bace3c7892755c943dc4fc9bee7962e6891f5200ac184555da5f552d19d65f5604c745653d06a87210152af9b57f7234636e59257dd29dc83b5dc566c9680 SHA512 a38840231902bec034edb497166deded7577c989e4f735e406c8488384972925de1ca6132b3080472f7919d2439559c8774c02a49c356e90ad791dfbba2a4865
+DIST librelp-1.11.0.tar.gz 546841 BLAKE2B 3645675f7300cca72847973e2414c7ead560f4dcf6d3eb92ae53ce2b279d6a19b792f6fa6b4e9f837710681f0a224c4a85f90091dd45d46aae5ef16180f4a1ee SHA512 e93cbc12fb6e596762c351cdfa3293fea89dd8cf90de4f890771216b56c3f66e3578fefea447d4ca9f754f146712481e7bab9a831f16fcf0cd15b10d475925bc
diff --git a/dev-libs/librelp/librelp-1.10.0-r1.ebuild b/dev-libs/librelp/librelp-1.10.0-r1.ebuild
new file mode 100644
index 000000000000..5aac6f9418b9
--- /dev/null
+++ b/dev-libs/librelp/librelp-1.10.0-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools python-any-r1
+
+DESCRIPTION="An easy to use library for the RELP protocol"
+HOMEPAGE="https://www.rsyslog.com/librelp/"
+SRC_URI="https://download.rsyslog.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ doc? ( FDL-1.3 )"
+# subslot = soname version
+SLOT="0/0.5.1"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv sparc x86"
+IUSE="debug doc +ssl +gnutls openssl static-libs test"
+REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.17.1:= )
+ openssl? ( dev-libs/openssl:= )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( ${PYTHON_DEPS} )
+"
+BDEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e 's/ -g"/"/g' \
+ configure.ac || die "sed failed"
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-valgrind
+ --disable-Werror
+ $(use_enable debug)
+ $(use_enable gnutls tls)
+ $(use_enable openssl tls-openssl)
+ $(use_enable static-libs static)
+ )
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ local DOCS=( ChangeLog )
+ use doc && local HTML_DOCS=( doc/relp.html )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/librelp/librelp-1.10.0.ebuild b/dev-libs/librelp/librelp-1.10.0.ebuild
deleted file mode 100644
index c277894327aa..000000000000
--- a/dev-libs/librelp/librelp-1.10.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit autotools python-any-r1
-
-DESCRIPTION="An easy to use library for the RELP protocol"
-HOMEPAGE="https://www.rsyslog.com/librelp/"
-SRC_URI="https://download.rsyslog.com/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3+ doc? ( FDL-1.3 )"
-
-# subslot = soname version
-SLOT="0/0.5.1"
-
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv sparc x86"
-IUSE="debug doc +ssl +gnutls openssl static-libs test"
-REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
-
-RDEPEND="
- ssl? (
- gnutls? ( >=net-libs/gnutls-3.3.17.1:0= )
- openssl? ( dev-libs/openssl:0= )
- )"
-DEPEND="${RDEPEND}
- test? ( ${PYTHON_DEPS} )
- virtual/pkgconfig"
-
-RESTRICT="!test? ( test )"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- sed -i \
- -e 's/ -g"/"/g' \
- configure.ac || die "sed failed"
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-valgrind
- $(use_enable debug)
- $(use_enable gnutls tls)
- $(use_enable openssl tls-openssl)
- $(use_enable static-libs static)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- emake -j1 check
-}
-
-src_install() {
- local DOCS=( ChangeLog )
- use doc && local HTML_DOCS=( doc/relp.html )
- default
-
- if ! use static-libs; then
- find "${D}" -name '*.la' -delete || die
- fi
-}
diff --git a/dev-libs/librelp/librelp-1.11.0.ebuild b/dev-libs/librelp/librelp-1.11.0.ebuild
new file mode 100644
index 000000000000..6f4cf576be1a
--- /dev/null
+++ b/dev-libs/librelp/librelp-1.11.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit autotools python-any-r1
+
+DESCRIPTION="An easy to use library for the RELP protocol"
+HOMEPAGE="https://www.rsyslog.com/librelp/"
+SRC_URI="https://download.rsyslog.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+ doc? ( FDL-1.3 )"
+# subslot = soname version
+SLOT="0/0.5.1"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc64 ~riscv sparc x86"
+IUSE="debug doc +ssl +gnutls openssl static-libs test"
+REQUIRED_USE="ssl? ( ^^ ( gnutls openssl ) )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ssl? (
+ gnutls? ( >=net-libs/gnutls-3.3.17.1:= )
+ openssl? ( dev-libs/openssl:= )
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( ${PYTHON_DEPS} )
+"
+BDEPEND="virtual/pkgconfig"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e 's/ -g"/"/g' \
+ configure.ac || die "sed failed"
+
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-valgrind
+ --disable-Werror
+ $(use_enable debug)
+ $(use_enable gnutls tls)
+ $(use_enable openssl tls-openssl)
+ $(use_enable static-libs static)
+ )
+
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ local DOCS=( ChangeLog )
+ use doc && local HTML_DOCS=( doc/relp.html )
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/libretls/Manifest b/dev-libs/libretls/Manifest
index de98aa583b41..a438d9a63e8f 100644
--- a/dev-libs/libretls/Manifest
+++ b/dev-libs/libretls/Manifest
@@ -1,2 +1 @@
-DIST libretls-3.5.2.tar.gz 425404 BLAKE2B b975326c0bd9c2f4adb511f3a6ad4fc8cd9afccd24a3def0c82bf68473b73b93cd83b8b6b3ffb29fc5ba378a9d4fd902dda933f552a02fec374cd56e1690956e SHA512 62eed971cbacb4a50e5ebdad1ea1d57dd3b4f7520634393faf1fc141ef63b6e7d50acbe49747c956fca6b9f2dec8a79ab724df6e08a77858a1624b5a6e3cbe57
-DIST libretls-3.7.0.tar.gz 427980 BLAKE2B 291e4da4038b1baf88694c9e38e31b8d656d8ecb2ab397e7ce6efe4cfd55d69ccf03cfbe84fd7858d7d64c2ebb00dd43102dfd2ff9e6a3f3df95924930d2e099 SHA512 18987d09ee804883e2c3cfae1209494b7020d976cc7137ba39540c18e0dc23d25034a46c6c64955201b425ca981e03cbe629f9ff979fd4a72d3dcfbd51efdf84
+DIST libretls-3.8.1.tar.gz 432142 BLAKE2B d8f3c178daadcdc3b78683d25a77cd2b20235c77d8ace43fa2c658c77165db6383d8673b7047b66a894e7de5b203c6bc89d226959040f6d93b2675ceee1ba7b7 SHA512 bbf4854622401bfc8662016a73202467714b603425dea2012e72846f0a22412018448fda8befa777d67c5dae44839b81e3b039130cf4970a4026c178d3a43ce2
diff --git a/dev-libs/libretls/libretls-3.5.2-r1.ebuild b/dev-libs/libretls/libretls-3.5.2-r1.ebuild
deleted file mode 100644
index 01c1e8509dda..000000000000
--- a/dev-libs/libretls/libretls-3.5.2-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020-2022 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/22"
-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/libretls-3.7.0.ebuild b/dev-libs/libretls/libretls-3.7.0.ebuild
deleted file mode 100644
index 6b78472c8b5b..000000000000
--- a/dev-libs/libretls/libretls-3.7.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020-2022 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/26"
-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/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/librevenge/librevenge-0.0.5.ebuild b/dev-libs/librevenge/librevenge-0.0.5.ebuild
index 9d58f31efb91..1e3095c97317 100644
--- a/dev-libs/librevenge/librevenge-0.0.5.ebuild
+++ b/dev-libs/librevenge/librevenge-0.0.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -25,7 +25,7 @@ RDEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}
dev-libs/boost
test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
@@ -34,7 +34,7 @@ src_prepare() {
multilib_src_configure() {
local myeconfargs=(
- $(use_with doc docs)
+ $(multilib_native_use_with doc docs)
$(use_enable test tests)
)
ECONF_SOURCE=${S} econf "${myeconfargs[@]}"
diff --git a/dev-libs/librevenge/librevenge-9999.ebuild b/dev-libs/librevenge/librevenge-9999.ebuild
index c0380900472a..be80365ea20e 100644
--- a/dev-libs/librevenge/librevenge-9999.ebuild
+++ b/dev-libs/librevenge/librevenge-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -25,7 +25,7 @@ RDEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}
dev-libs/boost
test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
@@ -34,7 +34,7 @@ src_prepare() {
multilib_src_configure() {
local myeconfargs=(
- $(use_with doc docs)
+ $(multilib_native_use_with doc docs)
$(use_enable test tests)
)
ECONF_SOURCE=${S} econf "${myeconfargs[@]}"
diff --git a/dev-libs/libsass/Manifest b/dev-libs/libsass/Manifest
index 4fdf4572817e..8fe67a3f14b9 100644
--- a/dev-libs/libsass/Manifest
+++ b/dev-libs/libsass/Manifest
@@ -1 +1,2 @@
DIST libsass-3.6.5.tar.gz 342426 BLAKE2B 8c6bb37da3f832dd462408a7ef4f80384e468295fc420b3d915899e65fb89a9d0b4c1cf0653b7288fedbf6a66daa2943c2911ad2c310f77a06deb84bec1d3abf SHA512 98cc7e12fdf74cd9e92d8d4a62b821956d3ad186fcee9a8d77b677a621342aa161b73d9adad4c1849678a3bac890443120cc8febe1b7429aab374321d635b8f7
+DIST libsass-3.6.6.tar.gz 342625 BLAKE2B c26dc47d129c8cc3a40e0b537504f9d046fff5ce9dab57f20f25484610bb614d51b78e7ffcce96b2a61b14c33807700cf8fb9d7cbe39340fd9c898f9f34171c9 SHA512 659828c854af391c10a16954425fbeeb5fa036189dea45555cd8046338f7469eb7f8d84134030ce644921514b8f397ef6070b56dfb116ea7ce94328d64576518
diff --git a/dev-libs/libsass/libsass-3.6.5-r1.ebuild b/dev-libs/libsass/libsass-3.6.5-r1.ebuild
index 00f32552f1f4..b384c568390c 100644
--- a/dev-libs/libsass/libsass-3.6.5-r1.ebuild
+++ b/dev-libs/libsass/libsass-3.6.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ if [[ ${PV} = *9999 ]]; then
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 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"
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 80400548f196..fdea10f2a19c 100644
--- a/dev-libs/libsass/libsass-9999.ebuild
+++ b/dev-libs/libsass/libsass-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ if [[ ${PV} = *9999 ]]; then
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 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"
diff --git a/dev-libs/libsavitar/Manifest b/dev-libs/libsavitar/Manifest
deleted file mode 100644
index 0d74511ddfbb..000000000000
--- a/dev-libs/libsavitar/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libsavitar-4.13.0.tar.gz 100723 BLAKE2B d631c572e20fcf92cb2053959fad7c806b18981eaad7a0ad1efb52870a7f5874459d4012a7583be8bcdd7cbfad863dea9c4f8c13579269db3ea3a3cf92383b4f SHA512 a446131c0bbcc34e55c093032af823b9750797f06297bea9fd4d64838e793811e71679a1f6ae99be9fc9382a23e8763140147c7a6eea0a310f6f2d40b53be3bf
diff --git a/dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch b/dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch
deleted file mode 100644
index cd9406da9286..000000000000
--- a/dev-libs/libsavitar/files/libsavitar-4.7.0-use-system-pugixml.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -15,7 +15,7 @@
- find_package(Threads QUIET)
- endif()
-
--add_subdirectory(pugixml)
-+find_package(pugixml REQUIRED)
diff --git a/dev-libs/libsavitar/libsavitar-4.13.0.ebuild b/dev-libs/libsavitar/libsavitar-4.13.0.ebuild
deleted file mode 100644
index 3685df13af07..000000000000
--- a/dev-libs/libsavitar/libsavitar-4.13.0.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit cmake python-single-r1
-
-MY_PN="libSavitar"
-
-DESCRIPTION="C++ implementation of 3mf loading with SIP python bindings"
-HOMEPAGE="https://github.com/Ultimaker/libSavitar"
-SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0/3"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-IUSE="+python static-libs test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/pugixml
- $(python_gen_cond_dep '
- <dev-python/sip-5[${PYTHON_USEDEP}]
- ')"
-
-DEPEND="${RDEPEND}
- test? (
- dev-cpp/gtest
- dev-cpp/tbb
- )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-BUILD_DIR="${S}/build"
-
-PATCHES=( "${FILESDIR}/${PN}-4.7.0-use-system-pugixml.patch" )
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # remove bundled pugixml
- rm -r "${S}"/pugixml || die
-
- find "${S}"/src -type f -name '*.cpp' -o -name '*.h' | xargs sed -i \
- -e 's "../pugixml/src/pugixml.hpp" <pugixml.hpp> g' || die
-
- if use test; then
- find "${S}"/tests -type f -name '*.cpp' -o -name '*.h' | xargs sed -i \
- -e 's "../pugixml/src/pugixml.hpp" <pugixml.hpp> g' || die
- fi
-
- # find SIP for current python version, not the latest installed
- sed -i -e "s/find_package(Python3 3.4 REQUIRED/find_package(Python3 ${EPYTHON##python} EXACT REQUIRED/g" \
- CMakeLists.txt cmake/FindSIP.cmake || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_PYTHON=$(usex python ON OFF)
- -DBUILD_STATIC=$(usex static-libs ON OFF)
- -DBUILD_TESTS=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
-
-src_test() {
- cmake_src_test
-}
diff --git a/dev-libs/libsavitar/metadata.xml b/dev-libs/libsavitar/metadata.xml
deleted file mode 100644
index 7e62fc47fc34..000000000000
--- a/dev-libs/libsavitar/metadata.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>3dprint@gentoo.org</email>
- <name>Gentoo 3D Printer Project</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>mathy@vanvoorden.be</email>
- <name>Mathy Vanvoorden</name>
- </maintainer>
- <slots>
- <subslots>soname major version number</subslots>
- </slots>
- <upstream>
- <bugs-to>https://github.com/Ultimaker/libSavitar/issues</bugs-to>
- <remote-id type="github">Ultimaker/libSavitar</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libscfg/Manifest b/dev-libs/libscfg/Manifest
new file mode 100644
index 000000000000..5195386508e7
--- /dev/null
+++ b/dev-libs/libscfg/Manifest
@@ -0,0 +1 @@
+DIST libscfg-0.1.1.tar.gz 4081 BLAKE2B 027fdcfb0381490609aa16f8cf07bce23492245761a5531863fc01d966c2ed1e18e67ee6a9ea4e52e8b823b6f5d13ba589bf6e541f0d9af07a8c431caa17cbe5 SHA512 8f4821d22cd26509c40d77d2a5585fb891259618aeb03611b5f2e3b620a88b7f24cc9bf05b6ad3f99c3c35f855e2ba8a1df13460ff2fe53152d78d03fd8dd6ce
diff --git a/dev-libs/libscfg/libscfg-0.1.1.ebuild b/dev-libs/libscfg/libscfg-0.1.1.ebuild
new file mode 100644
index 000000000000..eacb5cdcaac6
--- /dev/null
+++ b/dev-libs/libscfg/libscfg-0.1.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="C library for a simple configuration file format"
+HOMEPAGE="https://git.sr.ht/~emersion/scfg https://sr.ht/~emersion/libscfg/"
+SRC_URI="
+ https://git.sr.ht/~emersion/libscfg/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+S=${WORKDIR}/${PN}-v${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
diff --git a/dev-libs/libscfg/metadata.xml b/dev-libs/libscfg/metadata.xml
new file mode 100644
index 000000000000..acfe503566cd
--- /dev/null
+++ b/dev-libs/libscfg/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourcehut">~emersion/libscfg</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libsecp256k1/Manifest b/dev-libs/libsecp256k1/Manifest
index 9b2e6807476f..d2b9249101ad 100644
--- a/dev-libs/libsecp256k1/Manifest
+++ b/dev-libs/libsecp256k1/Manifest
@@ -1,3 +1,7 @@
-DIST libsecp256k1-0.2.0.tar.gz 2456096 BLAKE2B 9160ea9977ddc08daf8881cdcb98cd223024c938ab09c0dab9fc4cd67d355018f339bab7701bbb895345fa858e5673006ab81e027da109a7c9d470e2052eecdf SHA512 a345ffd69c5587777dc834a9f86f89971090158695507cf08cd12efc3b136ff5eff54a7bd789354a5e6e11229e1b2839f706458d64cdf7561519245c5be31a9f
+DIST libsecp256k1-0.3.0.tar.gz 2475682 BLAKE2B a531a87da63abc67a55e756852cde41cdc56d388963871beb23233623721f583ade4ce6b273ffa1c319a3875541e18c549512034d7b6a9eb926e8e916513d14d SHA512 77251b37990b0e73442aa1ec1ff51c5c7e293755ace9abc92ce6c3d21c7ed7f3b1666b939b4410bf1f637e3a69b16a7d33069caf071327f05177420a10f15eda
+DIST libsecp256k1-0.3.1.tar.gz 2560292 BLAKE2B 70ff57e222dd47d0e63a40653d4e7b4e727f6bcb5abf005f15c94cf70e7d11843281d7406d2640b06a0f6a2c2f79cc66ea544cca761d1587973d57006ca39daf SHA512 58ec679625ef4663c94c7198ee953283106c1e027623c3de341277fa757265b822ad3c0e98019f9e425f0e9e414b03e6b62853a1581611813cce753e81845d0f
+DIST libsecp256k1-0.3.2.tar.gz 2566680 BLAKE2B bf0a5ac1edbc115247148912822a2cefe798651f6c6a480422eee90eba96ebbfba772d561e321ac2bf7a0f8261f8ccd9f3af0e66e196f1e861aa550ee1303f27 SHA512 18104b72dd5d1f5e776d72c31c36247e450736437b453b59cf6ec86f84fedeafcf231e266c1ddad727befd9864c65a779000d01e6cef4b9a6485850afebc8a81
+DIST libsecp256k1-0.4.0.tar.gz 2607093 BLAKE2B abbd68580e5e35478d74cad13e0e55a175d2000a0a071dc0812655a47ee262572c1e6944d2d5c8f3dd2b798a72e90be7b64d76f7be25e85ba2471e03254a8fb0 SHA512 84cc115a74d39bc4173012f321ae13195ae92bb96f1dcdcb01fe8392fd5b2437addfa63a1654d07f70e67f0ea6e27978134196442b9ae25bc6f9159ee9ef6527
+DIST libsecp256k1-0.4.1.tar.gz 2614189 BLAKE2B 50de3e2699afa6b80aa64b9c593a6eff98d779706fde3cbb9b54ae0b596c584538abfc9f6d03cdcfd92e6df46db287049a83609e4f5dbb197fd067202f728810 SHA512 68d057d6820ca77006a16d6997c1e8240480b2d6e8d6a4d68188c699c476b71a46850dd3bc217e53a2ebd518b4db37d669058d2104d89cb2a356ba54892ad447
DIST libsecp256k1-v0.1_pre20190401.tgz 166663 BLAKE2B 68c9fc3fda6af56452f32edeae5dcb5a92f68bc3fb39a397c532951c6392347df14ea0347bbe05cab43158512e0d9f5ea87bd8f69bece1b04440860ebb8065ee SHA512 8c4945e93cb5ff241482ba4426b25162a7ae3b26860edc10c91d06b1c396887202ad971f4d38e035828352531b87fc29087a12b675e43da44f23c9ea3b6c0cc8
DIST libsecp256k1-v0.1_pre20201028.tgz 200051 BLAKE2B 90d636049b411e02703feb2661006900a55f952f60e76e2b7147a5afe8e391a06a80d6ae1489b1e7f2382176c7ea831526465a85bca09156dc6d37b417fcb33b SHA512 54a0fa21b64dd6836e4227de51f3539afe06e0e2f352683397d6adb5dd0508af443d2e25f91e90e1ae366b261965fe7d438292314705baee799cf37421644958
diff --git a/dev-libs/libsecp256k1/files/0.2.0-fix-cross-compile.patch b/dev-libs/libsecp256k1/files/0.2.0-fix-cross-compile.patch
deleted file mode 100644
index a1db0826ebe2..000000000000
--- a/dev-libs/libsecp256k1/files/0.2.0-fix-cross-compile.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-https://github.com/bitcoin-core/secp256k1/pull/1159
-
-From 772e747bd9104d80fe531bed61f23f75342d7d63 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`, `CFLAGS`, `CPPFLAGS`, and `LDFLAGS`
-variables to their build-system counterparts, whose names are suffixed
-with `_FOR_BUILD` and whose values 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 | 30 ++++++++++++++++++++++++------
- configure.ac | 1 +
- 2 files changed, 25 insertions(+), 6 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 30b6a794d0..e929300298 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -180,8 +180,26 @@ 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)
-+$(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD)) : override CFLAGS = $(CFLAGS_FOR_BUILD)
-+$(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD)) : override CPPFLAGS = $(CPPFLAGS_FOR_BUILD)
-+$(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD)) : override LDFLAGS = $(LDFLAGS_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_INCLUDES)
-@@ -198,11 +216,11 @@ precompute_ecmult_gen_LDADD = $(SECP_LIBS) $(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 a2a15d2b82..013964f5ff 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -35,6 +35,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.3.0-fix-cross-compile.patch b/dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch
new file mode 100644
index 000000000000..1aec78d36589
--- /dev/null
+++ b/dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch
@@ -0,0 +1,99 @@
+https://github.com/bitcoin-core/secp256k1/pull/1159
+
+From dc87b08eea757aae95b1efc25fe543e91510df0a Mon Sep 17 00:00:00 2001
+From: Matt Whitlock <bitcoin@mattwhitlock.name>
+Date: Sun, 20 Nov 2022 01:46:07 -0500
+Subject: [PATCH] Makefile: build precomp generators using build-system
+ toolchain
+
+When cross-compiling libsecp256k1, if the `precomputed_ecmult*.c` source
+files need to be regenerated, then the generators need to be built for
+the *build* system, not for the *host* system. Autoconf supports this
+fairly cleanly via the `AX_PROG_CC_FOR_BUILD` macro (from Autoconf
+Archive), but Automake requires some hackery. When building the
+generators, we override the `CC` variable to its build-system
+counterpart, `CC_FOR_BUILD`, and we specify Automake per-program
+overrides for `CFLAGS`, `CPPFLAGS`, and `LDFLAGS`, setting their values
+respectively from the `CFLAGS_FOR_BUILD`, `CPPFLAGS_FOR_BUILD`, and
+`LDFLAGS_FOR_BUILD` variables, whose values in turn are populated by the
+aforementioned Autoconf macro and may be overridden on the `make`
+command line. Since Automake lacks support for overriding `EXEEXT` on a
+per-program basis, we define a recipe that builds the generator binaries
+with names suffixed with `$(EXEEXT)` and then renames them suffixed with
+`$(BUILD_EXEEXT)`.
+---
+ Makefile.am | 35 +++++++++++++++++++++++++++--------
+ configure.ac | 1 +
+ 2 files changed, 28 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e3fdf4da..5e859c91 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -186,15 +186,34 @@ endif
+ endif
+
+ ### Precomputed tables
+-EXTRA_PROGRAMS = precompute_ecmult precompute_ecmult_gen
+-CLEANFILES = $(EXTRA_PROGRAMS)
++PROGRAMS_FOR_BUILD = precompute_ecmult precompute_ecmult_gen
++$(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD)) : override CC = $(CC_FOR_BUILD)
++# Automake has no support for PROGRAMS suffixed with BUILD_EXEEXT
++# instead of EXEEXT, so if those extensions differ, then we define a
++# recipe that builds the latter and renames it to the former. Since
++# Cygwin toolchains always append '.exe' to the output file name given
++# by '-o', we ignore rename failures since the toolchain will have
++# already created the right output file. (Note: The leading spaces
++# before ifneq and endif here are a hack so Automake won't try to
++# interpret them as an Automake conditional.)
++ ifneq ($(BUILD_EXEEXT),$(EXEEXT))
++%$(BUILD_EXEEXT) : %$(EXEEXT)
++ mv -- '$<' '$@' || :
++ endif
++
++EXTRA_PROGRAMS = $(PROGRAMS_FOR_BUILD)
++CLEANFILES = $(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD))
+
+ precompute_ecmult_SOURCES = src/precompute_ecmult.c
+-precompute_ecmult_CPPFLAGS = $(SECP_CONFIG_DEFINES)
++precompute_ecmult_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES)
++precompute_ecmult_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_LDADD = $(COMMON_LIB)
+
+ precompute_ecmult_gen_SOURCES = src/precompute_ecmult_gen.c
+-precompute_ecmult_gen_CPPFLAGS = $(SECP_CONFIG_DEFINES)
++precompute_ecmult_gen_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_gen_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES)
++precompute_ecmult_gen_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+
+ # See Automake manual, Section "Errors with distclean".
+@@ -204,11 +223,11 @@ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+ # This means that rebuilds of the prebuilt files always need to be
+ # forced by deleting them, e.g., by invoking `make clean-precomp`.
+ src/precomputed_ecmult.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(EXEEXT)
+- ./precompute_ecmult$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(BUILD_EXEEXT)
++ ./precompute_ecmult$(BUILD_EXEEXT)
+ src/precomputed_ecmult_gen.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(EXEEXT)
+- ./precompute_ecmult_gen$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(BUILD_EXEEXT)
++ ./precompute_ecmult_gen$(BUILD_EXEEXT)
+
+ PRECOMP = src/precomputed_ecmult_gen.c src/precomputed_ecmult.c
+ precomp: $(PRECOMP)
+diff --git a/configure.ac b/configure.ac
+index a46a0a7b..3b88d0d0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,6 +32,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ AC_PROG_CC
+ AM_PROG_AS
+ AM_PROG_AR
++AX_PROG_CC_FOR_BUILD
+
+ # Clear some cache variables as a workaround for a bug that appears due to a bad
+ # interaction between AM_PROG_AR and LT_INIT when combining MSVC's archiver lib.exe.
diff --git a/dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch b/dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch
new file mode 100644
index 000000000000..e77b59f15204
--- /dev/null
+++ b/dev-libs/libsecp256k1/files/0.4.0-fix-cross-compile.patch
@@ -0,0 +1,99 @@
+https://github.com/bitcoin-core/secp256k1/pull/1159
+
+From 4764fb33a47e93769ee8b9353a270989227bc2f0 Mon Sep 17 00:00:00 2001
+From: Matt Whitlock <bitcoin@mattwhitlock.name>
+Date: Sun, 20 Nov 2022 01:46:07 -0500
+Subject: [PATCH] Makefile: build precomp generators using build-system
+ toolchain
+
+When cross-compiling libsecp256k1, if the `precomputed_ecmult*.c` source
+files need to be regenerated, then the generators need to be built for
+the *build* system, not for the *host* system. Autoconf supports this
+fairly cleanly via the `AX_PROG_CC_FOR_BUILD` macro (from Autoconf
+Archive), but Automake requires some hackery. When building the
+generators, we override the `CC` variable to its build-system
+counterpart, `CC_FOR_BUILD`, and we specify Automake per-program
+overrides for `CFLAGS`, `CPPFLAGS`, and `LDFLAGS`, setting their values
+respectively from the `CFLAGS_FOR_BUILD`, `CPPFLAGS_FOR_BUILD`, and
+`LDFLAGS_FOR_BUILD` variables, whose values in turn are populated by the
+aforementioned Autoconf macro and may be overridden on the `make`
+command line. Since Automake lacks support for overriding `EXEEXT` on a
+per-program basis, we define a recipe that builds the generator binaries
+with names suffixed with `$(EXEEXT)` and then renames them suffixed with
+`$(BUILD_EXEEXT)`.
+---
+ Makefile.am | 35 +++++++++++++++++++++++++++--------
+ configure.ac | 1 +
+ 2 files changed, 28 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 32bc729a..de43723f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -185,15 +185,34 @@ endif
+ endif
+
+ ### Precomputed tables
+-EXTRA_PROGRAMS = precompute_ecmult precompute_ecmult_gen
+-CLEANFILES = $(EXTRA_PROGRAMS)
++PROGRAMS_FOR_BUILD = precompute_ecmult precompute_ecmult_gen
++$(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD)) : override CC = $(CC_FOR_BUILD)
++# Automake has no support for PROGRAMS suffixed with BUILD_EXEEXT
++# instead of EXEEXT, so if those extensions differ, then we define a
++# recipe that builds the latter and renames it to the former. Since
++# Cygwin toolchains always append '.exe' to the output file name given
++# by '-o', we ignore rename failures since the toolchain will have
++# already created the right output file. (Note: The leading spaces
++# before ifneq and endif here are a hack so Automake won't try to
++# interpret them as an Automake conditional.)
++ ifneq ($(BUILD_EXEEXT),$(EXEEXT))
++%$(BUILD_EXEEXT) : %$(EXEEXT)
++ mv -- '$<' '$@' || :
++ endif
++
++EXTRA_PROGRAMS = $(PROGRAMS_FOR_BUILD)
++CLEANFILES = $(addsuffix $(BUILD_EXEEXT),$(PROGRAMS_FOR_BUILD))
+
+ precompute_ecmult_SOURCES = src/precompute_ecmult.c
+-precompute_ecmult_CPPFLAGS = $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_LDADD = $(COMMON_LIB)
+
+ precompute_ecmult_gen_SOURCES = src/precompute_ecmult_gen.c
+-precompute_ecmult_gen_CPPFLAGS = $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_gen_CFLAGS = $(CFLAGS_FOR_BUILD)
++precompute_ecmult_gen_CPPFLAGS = $(CPPFLAGS_FOR_BUILD) $(SECP_CONFIG_DEFINES) -DVERIFY
++precompute_ecmult_gen_LDFLAGS = $(LDFLAGS_FOR_BUILD)
+ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+
+ # See Automake manual, Section "Errors with distclean".
+@@ -203,11 +222,11 @@ precompute_ecmult_gen_LDADD = $(COMMON_LIB)
+ # This means that rebuilds of the prebuilt files always need to be
+ # forced by deleting them.
+ src/precomputed_ecmult.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(EXEEXT)
+- ./precompute_ecmult$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult$(BUILD_EXEEXT)
++ ./precompute_ecmult$(BUILD_EXEEXT)
+ src/precomputed_ecmult_gen.c:
+- $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(EXEEXT)
+- ./precompute_ecmult_gen$(EXEEXT)
++ $(MAKE) $(AM_MAKEFLAGS) precompute_ecmult_gen$(BUILD_EXEEXT)
++ ./precompute_ecmult_gen$(BUILD_EXEEXT)
+
+ PRECOMP = src/precomputed_ecmult_gen.c src/precomputed_ecmult.c
+ precomp: $(PRECOMP)
+diff --git a/configure.ac b/configure.ac
+index e3877850..48072cb3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,6 +37,7 @@ fi
+ AC_PROG_CC
+ AM_PROG_AS
+ AM_PROG_AR
++AX_PROG_CC_FOR_BUILD
+
+ # Clear some cache variables as a workaround for a bug that appears due to a bad
+ # interaction between AM_PROG_AR and LT_INIT when combining MSVC's archiver lib.exe.
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild
index ae79e2f9f11b..6893461f6422 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.1_pre20201028-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -29,7 +29,7 @@ RDEPEND="
DEPEND="${RDEPEND}
virtual/pkgconfig
test-openssl? ( dev-libs/openssl:0 )
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
S="${WORKDIR}/${MyPN}-${COMMITHASH}"
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.2.0-r2.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.2.0-r2.ebuild
deleted file mode 100644
index 588001fd95a4..000000000000
--- a/dev-libs/libsecp256k1/libsecp256k1-0.2.0-r2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 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/1" # 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="
- sys-devel/autoconf-archive
- virtual/pkgconfig
- valgrind? ( dev-util/valgrind )
-"
-
-PATCHES=(
- "${FILESDIR}/0.2.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.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
new file mode 100644
index 000000000000..61e3902587f1
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
new file mode 100644
index 000000000000..61e3902587f1
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
new file mode 100644
index 000000000000..8a347f00c909
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm32 )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
new file mode 100644
index 000000000000..a5459332d0dc
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh +ellswift experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.4.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}ellswift)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ if use asm; then
+ if use arm; then
+ myeconfargs+=( --with-asm=arm32 )
+ else
+ myeconfargs+=( --with-asm=auto )
+ fi
+ else
+ myeconfargs+=( --with-asm=no )
+ fi
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
new file mode 100644
index 000000000000..fcf78c907148
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh +ellswift experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.4.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}ellswift)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(use_with asm asm "$(usex arm arm32 auto)")
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/metadata.xml b/dev-libs/libsecp256k1/metadata.xml
index 9a105e32f61a..24f2a54f77f1 100644
--- a/dev-libs/libsecp256k1/metadata.xml
+++ b/dev-libs/libsecp256k1/metadata.xml
@@ -10,8 +10,8 @@
<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>
@@ -19,7 +19,6 @@
<flag name="recovery">Enable ECDSA pubkey recovery module</flag>
<flag name="schnorr">Enable Schnorr signature module</flag>
<flag name="test-openssl">Enable OpenSSL comparison tests</flag>
- <flag name="valgrind">Compile in valgrind memory hints</flag>
</use>
<upstream>
<remote-id type="github">bitcoin/secp256k1</remote-id>
diff --git a/dev-libs/libserdes/metadata.xml b/dev-libs/libserdes/metadata.xml
index db463f3eeb66..ad2a4b15b4c8 100644
--- a/dev-libs/libserdes/metadata.xml
+++ b/dev-libs/libserdes/metadata.xml
@@ -5,4 +5,7 @@
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">confluentinc/libserdes</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild b/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild
index 729736138444..d66e76e13da1 100644
--- a/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild
+++ b/dev-libs/libserialport/libserialport-0.1.1-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI="8"
inherit autotools
diff --git a/dev-libs/libserialport/libserialport-9999.ebuild b/dev-libs/libserialport/libserialport-9999.ebuild
index 13181d0099a0..e1d11628901a 100644
--- a/dev-libs/libserialport/libserialport-9999.ebuild
+++ b/dev-libs/libserialport/libserialport-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI="8"
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
diff --git a/dev-libs/libsigc++/Manifest b/dev-libs/libsigc++/Manifest
index a1cca2525795..399171deb23e 100644
--- a/dev-libs/libsigc++/Manifest
+++ b/dev-libs/libsigc++/Manifest
@@ -1,4 +1,2 @@
-DIST libsigc++-2.10.8.tar.xz 4998876 BLAKE2B f460652950af895fab6d4028d721e2a439b0a4dfb260515c9acc053a41435be7d7f7328fc42f64ef34b36be31c5281e5998ceee2c08970f1fcec82176fab09b0 SHA512 8b22fd8ae4eca3ebc1b65b68d4dc022e7bbde6d1d02a557e64d2fda2682e2e39b357af6d8b68e8741c287701be9fffd27125c6171790455a7657e0ea55cc08b3
DIST libsigc++-2.12.0.tar.xz 5002560 BLAKE2B f4d42dfbac95be974a5e49a7bcfd4c97fb0423f5bcc9d0bda79e6cee6bab54ae77969a3e5c58094264068c38212a0ff66b3dae2a519c4101bdfa170e94767641 SHA512 88e382e274a574a4b6129e23916054642e1696c663a4bb84f05e14a401f0cb56d0a0bf8c3a6273aec36ce121ce18a338b6d491fb213bcdf5a627bd382719e021
-DIST libsigc++-3.2.0.tar.xz 785900 BLAKE2B 6c128a0c426814bde26b092c20f9eca1029712f5130a12088bf7cae10c56105334a12df0b26fe1234ed4c262cac576312d2e72abb926b6422e6fc111ccee8734 SHA512 91315cecc79a1ad6ea165b66a13a5afd4e5bc101842f9d4c58811ea78536c07fc8821c51aa5110a032ed71c09f85790b3a02f2ad7fe8cc3aed6e03b2bafcd70c
-DIST libsigc++-3.4.0.tar.xz 949316 BLAKE2B f12e8199333f5d23827a33718e884835af79ae90f3aa9d71944b5277783f171ed17b81453b46ee9c46e945f3fd6f5152707723dfdc471c992375f0efb6a253ef SHA512 1677d5151db5e74388d8ba4f5cf316f1e5c92aa380c0725ea62ee41f10f549296d528a8998dfa4767ca699782c93f756c072de9e0e07e52307f61ff72c952fe4
+DIST libsigc++-3.6.0.tar.xz 991392 BLAKE2B b060d6437ac1253d9a58971a5b5e6203691f3718b1fb220a47a9f1a73fdcce746a036c0193743bdda8cc2d0ed722a84eda4a53f2449606f6f190771d0543b61d SHA512 fa79067b4fecf68501288b93eed3d3e7017899cb8a02d3106a41f6dd1818f7b8c724a5b38d4b9ac89699fd8084976f9ad8eca8e832a45a5b6dc7cae5db99cb56
diff --git a/dev-libs/libsigc++/libsigc++-2.10.8.ebuild b/dev-libs/libsigc++/libsigc++-2.10.8.ebuild
deleted file mode 100644
index 1b019eb376d7..000000000000
--- a/dev-libs/libsigc++/libsigc++-2.10.8.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 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 ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="gtk-doc test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-libs/boost[${MULTILIB_USEDEP}] )"
-BDEPEND="sys-devel/m4
- gtk-doc? ( app-doc/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_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++-2.12.0.ebuild b/dev-libs/libsigc++/libsigc++-2.12.0.ebuild
index 45d13b525a28..e63af636c4f0 100644
--- a/dev-libs/libsigc++/libsigc++-2.12.0.ebuild
+++ b/dev-libs/libsigc++/libsigc++-2.12.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,13 +10,13 @@ HOMEPAGE="https://libsigcplusplus.github.io/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 ~sparc-solaris ~x64-solaris ~x86-solaris"
+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-doc/doxygen[dot] )"
+ gtk-doc? ( app-text/doxygen[dot] )"
multilib_src_configure() {
filter-flags -fno-exceptions #84263
diff --git a/dev-libs/libsigc++/libsigc++-3.2.0-r1.ebuild b/dev-libs/libsigc++/libsigc++-3.2.0-r1.ebuild
deleted file mode 100644
index c09738b25c9f..000000000000
--- a/dev-libs/libsigc++/libsigc++-3.2.0-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 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 ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="gtk-doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- gtk-doc? (
- app-doc/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
-"
-
-src_prepare() {
- default
-
- if ! use test; then
- sed -i -e "/^subdir('tests')/d" meson.build || die
- fi
-}
-
-multilib_src_configure() {
- filter-flags -fno-exceptions #84263
-
- local emesonargs=(
- -Dbuild-examples=false
- $(meson_native_use_bool gtk-doc build-documentation)
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- # Note: html docs are installed into /usr/share/doc/libsigc++-3.0
- # We can't use /usr/share/doc/${PF} because of links from glibmm etc. docs
- :;
-}
diff --git a/dev-libs/libsigc++/libsigc++-3.4.0.ebuild b/dev-libs/libsigc++/libsigc++-3.4.0.ebuild
deleted file mode 100644
index 962a59792908..000000000000
--- a/dev-libs/libsigc++/libsigc++-3.4.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=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 ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="gtk-doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- gtk-doc? (
- app-doc/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++/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/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.13.ebuild b/dev-libs/libsigsegv/libsigsegv-2.13.ebuild
index 8f67fdcc62f7..9fdfa95ea4b3 100644
--- a/dev-libs/libsigsegv/libsigsegv-2.13.ebuild
+++ b/dev-libs/libsigsegv/libsigsegv-2.13.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
PATCHES=(
# Bug #363503
diff --git a/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild b/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
new file mode 100644
index 000000000000..fe96f4358062
--- /dev/null
+++ b/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Library for handling page faults in user mode"
+HOMEPAGE="https://www.gnu.org/software/libsigsegv/"
+SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-shared
+
+ if tc-is-cross-compiler && [[ ${CHOST} == sparc64* ]] ; then
+ # Tries to use fault-linux-sparc-old.h otherwise which is
+ # for non-POSIX systems.
+ # bug #833469
+ sed -i -e "s:fault-linux-sparc-old.h:fault-linux-sparc.h:" config.status config.h.in config.h || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ rm -f "${ED}/usr/$(get_libdir)"/*.la || die
+ dodoc AUTHORS ChangeLog* NEWS PORTING README
+}
diff --git a/dev-libs/libsigsegv/libsigsegv-2.14.ebuild b/dev-libs/libsigsegv/libsigsegv-2.14.ebuild
index e86eb0345c67..8d7a00e8165c 100644
--- a/dev-libs/libsigsegv/libsigsegv-2.14.ebuild
+++ b/dev-libs/libsigsegv/libsigsegv-2.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ 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 ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
src_prepare() {
default
diff --git a/dev-libs/libslz/libslz-1.2.0-r1.ebuild b/dev-libs/libslz/libslz-1.2.0-r1.ebuild
index b2d4301d4414..756a9d586714 100644
--- a/dev-libs/libslz/libslz-1.2.0-r1.ebuild
+++ b/dev-libs/libslz/libslz-1.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}"
LICENSE="MIT"
SLOT="0/1"
-KEYWORDS="amd64 arm ~arm64 ppc x86"
+KEYWORDS="amd64 arm arm64 ppc x86"
IUSE="tools"
src_compile() {
diff --git a/dev-libs/libsodium/Manifest b/dev-libs/libsodium/Manifest
index efe46dd1e3f7..e2368db28f37 100644
--- a/dev-libs/libsodium/Manifest
+++ b/dev-libs/libsodium/Manifest
@@ -1,2 +1,6 @@
DIST libsodium-1.0.18_p20220618.tar.gz 1869858 BLAKE2B 60d46f722c4e5c9896226e3e03c31768a2183bae80a535234b23ac5bc9a2c3632d6c891ce72cbc1d6dc633a15b539111e322c2d210f993f99d6e5bd32f8a8b63 SHA512 14d1c6109de2ac02ba6cb5541746275f6deb25302b60cb3f65a7922b34d2c3bd5f17a4d730acf77a53d5837be00228c68fa06c6a2e9095ea97f6d8c4b782ab6b
DIST libsodium-1.0.18_p20220618.tar.gz.minisig 318 BLAKE2B a2cba3c62ca5a84e7897373cdfe4033c636c652c848bf9beff15765d359f1dd2a8834dc3a4d4443d0b9418a59a94309cf9c5c917ae9c8965778411e21f98e4e6 SHA512 ca1ac892b41c5cb6dd1ba9d4bbde8e75987e66023d29cfc81839bbb3b99efa215f7db1ef903c375dd9d2d5a76f6064b3c7eab833081d21983693b7db87175160
+DIST libsodium-1.0.19.tar.gz 1945523 BLAKE2B de43520150b55760142d186404cc3e49471c6e911a7a590c7ae08bc61e928c063c459555f49cd88155238fb0008ef3924b6d7c14ba9cff2f90f1e96201e1259c SHA512 8e9b6d796f6330e00921ce37f1b43545966094250938626ae227deef5fd1279f2fc18b5cd55e23484732a27df4d919cf0d2f07b9c2f1aa0c0ef689e668b0d439
+DIST libsodium-1.0.19.tar.gz.minisig 318 BLAKE2B e86e653107478d9e9281894632baafda57358229f2d56fcaf55591098e38d6be72ed2f599a7f2c16d5b9978d2cbfe8e07db4e772b053a832a61fd325fc1efae4 SHA512 8b5993bd7e541a5913ea1659c1009c4edefd9b5907e0a7c9090fa604c23d77006ad9d9a897d66243162742d63ce9bc1f2c81091d50a584f1495dd3bd87d4451e
+DIST libsodium-1.0.19_p20240117.tar.gz 1946650 BLAKE2B 6faa56733ed28f34d58b41a71a41d6ba6369e2f5686e01169f83d5fe955523825bd250cfd59e15515b24f67cef1610af41749b6f56bc370e7f77708a86bd7684 SHA512 2cefd883b60fba5522bf4a6f3c73f9bc54164340400377089eea8fbb01447f1137fcb7f6183845a6c5e2aad51982122a356272b4eda5452d7b550a65aa576140
+DIST libsodium-1.0.19_p20240117.tar.gz.minisig 318 BLAKE2B f951b547f53b2569ed1493dcdbff1cc93519437f56cdf97a764d61a7e1fa98b383b49d4f4a9c4b7b199e2060037971f293796e641bd689c9cd6c7ae2c90b7a20 SHA512 202f9686fabcb7b362923b7f1eeac8544c5f21e7eaa0b4cdd7329733a62a5ec9efd18713bc63187055149525a066540a6904776870d718fd3b238b71ba4b9a35
diff --git a/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch b/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch
new file mode 100644
index 000000000000..a2fa6a42df38
--- /dev/null
+++ b/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch
@@ -0,0 +1,40 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -524,6 +524,10 @@ AS_IF([test "x$EMSCRIPTEN" = "x"], [
+ [AC_MSG_RESULT(no)])
+ CFLAGS="$oldcflags"
+
++AC_ARG_ENABLE(sse4_1, [AS_HELP_STRING(--disable-sse4_1,Do not use sse4.1 code)],
++ AS_IF([test "x$enableval" = "xyes"], check_sse4_1="yes", check_sse4_1="no"),
++ check_sse4_1="yes")
++AS_IF([test "$check_sse4_1" = "yes"],[
+ oldcflags="$CFLAGS"
+ AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"])
+ AC_MSG_CHECKING(for SSE4.1 instructions set)
+@@ -536,6 +540,7 @@ AS_IF([test "x$EMSCRIPTEN" = "x"], [
+ AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS_SSE41="-msse4.1"])],
+ [AC_MSG_RESULT(no)])
+ CFLAGS="$oldcflags"
++ ])
+
+ oldcflags="$CFLAGS"
+ AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"])
+@@ -609,6 +614,10 @@ __m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7),
+ ])
+ CFLAGS="$oldcflags"
+
++AC_ARG_ENABLE(aesni, [AS_HELP_STRING(--disable-aesni,Do not use aesni code)],
++ AS_IF([test "x$enableval" = "xyes"], check_aesni="yes", check_aesni="no"),
++ check_aesni="yes")
++AS_IF([test "$check_aesni" = "yes"],[
+ oldcflags="$CFLAGS"
+ AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"])
+ AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"])
+@@ -640,6 +649,7 @@ __m512i y = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7),
+ ],
+ [AC_MSG_RESULT(no)])
+ CFLAGS="$oldcflags"
++ ])
+
+ ])
+
diff --git a/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild b/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
index 74d3824a82ca..bcd05ad21ed0 100644
--- a/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
+++ b/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
@@ -1,68 +1,48 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools multilib-minimal
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
-DESCRIPTION="A portable fork of NaCl, a higher-level cryptographic library"
+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-)
- MINISIGN_KEY="RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3"
# We use _pN to represent 'stable releases'
# These are backports from upstream to the last release branch
# See https://download.libsodium.org/libsodium/releases/README.html
- SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
-
- # TODO: Could verify-sig.eclass support minisig? bug #783066
- SRC_URI+=" verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )"
-
- S="${WORKDIR}"/${PN}-stable
+ 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
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/jedisct1.asc
- inherit verify-sig
-
- SRC_URI="https://download.libsodium.org/${PN}/releases/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.sig )"
+ 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"
+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[@]}"
-if [[ ${PV} == *_p* ]] ; then
- IUSE+=" verify-sig"
- BDEPEND+=" verify-sig? ( app-crypt/minisign )"
-fi
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
PATCHES=(
"${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
)
-src_unpack() {
- if [[ ${PV} == *_p* ]] ; then
- if use verify-sig ; then
- ebegin "Verifying signature using app-crypt/minisign"
- minisign -V \
- -P ${MINISIGN_KEY} \
- -x "${DISTDIR}"/${P}.tar.gz.minisig \
- -m "${DISTDIR}"/${P}.tar.gz
- eend $? || die "Failed to verify distfile using minisign!"
- fi
-
- default
- else
- verify-sig_src_unpack
- fi
-}
-
src_prepare() {
default
diff --git a/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild b/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild
new file mode 100644
index 000000000000..575daa8a5059
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
+ "
+else
+ SRC_URI="
+ https://download.libsodium.org/${PN}/releases/${P}.tar.gz
+ verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
+ "
+fi
+
+S="${WORKDIR}"/${PN}-stable
+
+LICENSE="ISC"
+SLOT="0/26"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="+asm minimal static-libs +urandom"
+
+CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
+IUSE+=" ${CPU_USE[@]}"
+
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable minimal)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ # TODO: Check if still needed?
+ if [[ ${ABI} == x86 ]] ; then
+ myeconfargs+=( --disable-pie )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild b/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild
new file mode 100644
index 000000000000..eebd3c520e94
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
+ "
+else
+ SRC_URI="
+ https://download.libsodium.org/${PN}/releases/${P}.tar.gz
+ verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
+ "
+fi
+
+S="${WORKDIR}"/${PN}-stable
+
+LICENSE="ISC"
+SLOT="0/26"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="+asm static-libs +urandom"
+
+CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
+IUSE+=" ${CPU_USE[@]}"
+
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ # TODO: Check if still needed?
+ if [[ ${ABI} == x86 ]] ; then
+ myeconfargs+=( --disable-pie )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
new file mode 100644
index 000000000000..bb62d58a0e8c
--- /dev/null
+++ b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
+VERIFY_SIG_METHOD=minisig
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
+HOMEPAGE="https://libsodium.org"
+
+if [[ ${PV} == *_p* ]] ; then
+ MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
+
+ # We use _pN to represent 'stable releases'
+ # These are backports from upstream to the last release branch
+ # See https://download.libsodium.org/libsodium/releases/README.html
+ SRC_URI="
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
+ "
+else
+ SRC_URI="
+ https://download.libsodium.org/${PN}/releases/${P}.tar.gz
+ verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
+ "
+fi
+
+S="${WORKDIR}"/${PN}-stable
+
+LICENSE="ISC"
+SLOT="0/26"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="+asm static-libs +urandom"
+
+CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
+IUSE+=" ${CPU_USE[@]}"
+
+BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ _rdrand64_step # depends on target, bug #924154
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable asm)
+ $(use_enable cpu_flags_x86_aes aesni)
+ $(use_enable cpu_flags_x86_sse4_1 sse4_1)
+ $(use_enable static-libs static)
+ $(use_enable !urandom blocking-random)
+ )
+
+ # --disable-pie is needed on x86, see bug #512734
+ # TODO: Check if still needed?
+ if [[ ${ABI} == x86 ]] ; then
+ myeconfargs+=( --disable-pie )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libsodium/metadata.xml b/dev-libs/libsodium/metadata.xml
index 0b0b71123240..2b16ac29aaae 100644
--- a/dev-libs/libsodium/metadata.xml
+++ b/dev-libs/libsodium/metadata.xml
@@ -14,7 +14,6 @@
packageable fork of NaCl, with a compatible API.
</longdescription>
<use>
- <flag name="asm">Enables assembly implementations</flag>
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
</use>
<upstream>
diff --git a/dev-libs/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-r2.ebuild b/dev-libs/libstrl/libstrl-0.5.1-r2.ebuild
deleted file mode 100644
index 13faa3a50256..000000000000
--- a/dev-libs/libstrl/libstrl-0.5.1-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-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 test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- doc? ( app-doc/doxygen )
- test? ( dev-libs/check )
-"
-
-src_configure() {
- tc-export AR
-
- econf \
- $(use_with doc doxygen) \
- $(use_with test check)
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libstrl/metadata.xml b/dev-libs/libstrl/metadata.xml
deleted file mode 100644
index 85e4ed814fa2..000000000000
--- a/dev-libs/libstrl/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/dev-libs/libstrophe/Manifest b/dev-libs/libstrophe/Manifest
index 2ef97da97df0..12475731329b 100644
--- a/dev-libs/libstrophe/Manifest
+++ b/dev-libs/libstrophe/Manifest
@@ -1,2 +1,5 @@
DIST libstrophe-0.12.2.tar.xz 400092 BLAKE2B 28b655e4bf3a279f837fd26e7c7ba34cd32053ad16be660c04d1c07b5335d805e9745cd24af584ed62f8ae44caebd8bda48473872163c122ecbcd57f042fc3db SHA512 1026f57b107a0ff8f088a5c7f1d88b3b5a35d0e6bfefb4f6eb56de37fe9fd2f554f547663a41353b7c6b01a2aa47f6cab4a9f7a7c87ba8c0c7708d7b2b4c2086
+DIST libstrophe-0.12.3.tar.xz 399056 BLAKE2B 9e7e344d46c78393ee2386a842895e29c417eeffbf41bd2e1c775f16bd40cb2387b59e56955a5331242af74932f61abb8afec2bda49c97063689b976b4892a52 SHA512 fa0fcb91c47197391f3b7f186b49ca4921f1937e2d1c9d25afdb73ee766bbeae5efbdeddde9cb6361eb58997c2fb136e2c1ed73a62f8c5618805a9555c473e0b
+DIST libstrophe-0.13.0.tar.xz 405368 BLAKE2B 8fb29b5f396a75620df6948b1ef109f846832f7781a527221d6781b350b522ac314cd5d44558757787659476481f66d4dcaa9ccea68dfa56fd907578eb74f78a SHA512 b7c3c728af986a6a3a7b9efcdc107f96f857ee3397cc5c2569fa033be47960cc0045a2d6c1b20524b1e1483d0d7234a3987490c0e0ebfea1371013d28de60384
+DIST libstrophe-0.13.1.tar.xz 405676 BLAKE2B b5ee084899c01d600c23e8d54e600bf72c2a92147e739d3b286c034ea3badf5e924b11a08c8c84f1453e88df40d494549286897ac3e90fb9af18b29da9754e07 SHA512 e150567db75ce615d7946471d15f968f8825ae75aa349a3c3be4e960eaea0b4960ac4c2da9aec40e984678361d89db3055062aa523ef485e9ea58a761bbcceed
DIST libstrophe-fix-configure-bashisms.patch 1274 BLAKE2B d9308e2687eab255f94ac2b0e030f4d0424e56c3d129f544eb75fb25addf57485de0e210afe12bad29d3b92db6bf4e7400c4152707f6316921a1f2d4aa1b9367 SHA512 a2fdea484ba4e5bce4982ae5d5699df6bf2169027e7f62865baa7a7049a264d16a9dcda05826bbd942a1cc256e8559c6dfb6883913edf7f4711f5ce2601b83c5
diff --git a/dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch b/dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch
new file mode 100644
index 000000000000..b351bb0137c7
--- /dev/null
+++ b/dev-libs/libstrophe/files/libstrophe-0.12.3-allow-tests-when-static.patch
@@ -0,0 +1,59 @@
+From 9eba8e873847b6ed6e4aa8e9e887d45c2351f6ed Mon Sep 17 00:00:00 2001
+From: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
+Date: Wed, 9 Aug 2023 13:34:18 +0200
+Subject: [PATCH] Allow running tests when static library is disabled
+
+We then only run a subset of the tests, but still better than failing to
+build.
+
+Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -175,23 +175,29 @@ endif
+
+
+ ## Tests
+-TESTS = \
++STATIC_TESTS = \
+ tests/check_parser \
++ tests/test_hash \
++ tests/test_jid \
++ tests/test_ctx \
++ tests/test_send_queue \
++ tests/test_string \
++ tests/test_resolver
++
++TESTS = \
+ tests/test_sha1 \
+ tests/test_sha256 \
+ tests/test_sha512 \
+ tests/test_md5 \
+ tests/test_rand \
+ tests/test_scram \
+- tests/test_ctx \
+ tests/test_base64 \
+- tests/test_hash \
+- tests/test_jid \
+- tests/test_send_queue \
+ tests/test_snprintf \
+- tests/test_string \
+- tests/test_stanza \
+- tests/test_resolver
++ tests/test_stanza
++
++if !DISABLE_STATIC
++TESTS += $(STATIC_TESTS)
++endif
+
+ if !DISABLE_TLS
+ TESTS += tests/test_xmppaddr
+--- a/configure.ac
++++ b/configure.ac
+@@ -256,6 +256,7 @@ m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR],
+
+ AM_CONDITIONAL([PARSER_EXPAT], [test x$with_parser != xlibxml2])
+ AM_CONDITIONAL([DISABLE_TLS], [test x$enable_tls = xno])
++AM_CONDITIONAL([DISABLE_STATIC], [test x$enable_static = xno])
+ AM_CONDITIONAL([NEED_SNPRINTF], [test x$have_snprintf = xno])
+ AM_CONDITIONAL([TLS_WITH_GNUTLS], [test x$with_gnutls = xyes])
+ AM_CONDITIONAL([TLS_WITH_SCHANNEL], [test x$with_schannel = xyes])
diff --git a/dev-libs/libstrophe/libstrophe-0.12.2.ebuild b/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
index 920bc564ac78..304dae8e12ed 100644
--- a/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
+++ b/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
@@ -1,7 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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
@@ -12,7 +15,7 @@ SRC_URI="
LICENSE="|| ( MIT GPL-3 )"
# Subslot: ${SONAME}.1 to differentiate from previous versions without SONAME
SLOT="0/0.1"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~arm64"
IUSE="doc expat gnutls"
RDEPEND="
@@ -24,7 +27,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
DOCS=( ChangeLog )
@@ -34,6 +37,13 @@ PATCHES=(
"${DISTDIR}/${PN}-fix-configure-bashisms.patch"
)
+src_prepare() {
+ default
+
+ # Needed for bashisms patch which touches configure
+ eautoreconf
+}
+
src_configure() {
# shellcheck disable=SC2207
local myeconf=(
@@ -43,6 +53,7 @@ src_configure() {
)
econf "${myeconf[@]}"
}
+
src_compile() {
default
if use doc; then
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/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-r6.ebuild b/dev-libs/libtar/libtar-1.2.20-r6.ebuild
new file mode 100644
index 000000000000..b7548a7c7526
--- /dev/null
+++ b/dev-libs/libtar/libtar-1.2.20-r6.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library for manipulating tar archives"
+HOMEPAGE="https://repo.or.cz/w/libtar.git/"
+SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="zlib"
+# There is no test and 'check' target errors out due to mixing of automake &
+# non-automake makefiles.
+# https://bugs.gentoo.org/526436
+RESTRICT="test"
+
+RDEPEND="
+ zlib? ( sys-libs/zlib:= )
+ !zlib? ( app-arch/gzip )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.11-free.patch
+ "${FILESDIR}"/${PN}-1.2.11-impl-dec.patch
+ "${FILESDIR}"/CVE-2013-4420.patch
+ "${FILESDIR}"/${P}-fd-leaks.patch
+ "${FILESDIR}"/${P}-tar_open-memleak.patch
+ "${FILESDIR}"/${P}-bin-memleaks.patch
+ "${FILESDIR}"/${P}-configure-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ sed -e '/INSTALL_PROGRAM/s:-s::' \
+ -i {doc,lib{,tar}}/Makefile.in || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-encap
+ --disable-epkg-install
+ $(use_with zlib)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ dodoc ChangeLog-1.0.x
+ newdoc compat/README README.compat
+ newdoc compat/TODO TODO.compat
+ newdoc listhash/TODO TODO.listhash
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libtasn1/libtasn1-4.19.0.ebuild b/dev-libs/libtasn1/libtasn1-4.19.0.ebuild
index f392d54b0e85..34ece90fc60d 100644
--- a/dev-libs/libtasn1/libtasn1-4.19.0.ebuild
+++ b/dev-libs/libtasn1/libtasn1-4.19.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/libtasn1.asc
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libtasn1.asc
inherit multilib-minimal libtool verify-sig
DESCRIPTION="ASN.1 library"
@@ -13,15 +13,14 @@ 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs test valgrind"
+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
- test? ( valgrind? ( dev-util/valgrind ) )
verify-sig? ( sec-keys/openpgp-keys-libtasn1 )
"
@@ -41,8 +40,8 @@ multilib_src_configure() {
export gl_cv_warn_c__fanalyzer=no
local myeconfargs=(
+ --disable-valgrind-tests
$(use_enable static-libs static)
- $(multilib_native_use_enable valgrind valgrind-tests)
)
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
diff --git a/dev-libs/libtasn1/metadata.xml b/dev-libs/libtasn1/metadata.xml
index 34019a209dcb..2889e087bc6d 100644
--- a/dev-libs/libtasn1/metadata.xml
+++ b/dev-libs/libtasn1/metadata.xml
@@ -5,11 +5,6 @@
<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>
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
index 999d46c58185..769b98c6abb5 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-install.patch
@@ -1,6 +1,5 @@
-diff -Naur libtecla/Makefile.in libtecla.new/Makefile.in
---- libtecla/Makefile.in 2004-10-31 15:30:57.000000000 -0500
-+++ libtecla.new/Makefile.in 2008-06-03 08:59:27.000000000 -0400
+--- a/Makefile.in
++++ b/Makefile.in
@@ -15,10 +15,10 @@
prefix=@prefix@
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
index 1935c3894f76..7c6461bb5060 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-no-strip.patch
@@ -1,8 +1,7 @@
# prevent build system from stripping files (bug #239877).
-diff -Naur libtecla/Makefile.in libtecla.new/Makefile.in
---- libtecla/Makefile.in 2004-10-31 15:30:57.000000000 -0500
-+++ libtecla.new/Makefile.in 2008-10-07 06:17:22.000000000 -0400
+--- a/Makefile.in
++++ b/Makefile.in
@@ -260,7 +260,7 @@
install_bin: $(BINDIR) $(PROGRAMS) $(PROGRAMS_R)
progs="$(PROGRAMS) $(PROGRAMS_R)"; \
diff --git a/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
index 1815f8571566..467cde20c2de 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.1-prll-install.patch
@@ -1,8 +1,6 @@
Makefile.in | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
-diff --git a/Makefile.in b/Makefile.in
-index a44371a..dfd44b0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -217,7 +217,7 @@ install_inc: $(INCDIR)
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch b/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
index 68c9e947b987..67dcb3e71daa 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-ldflags.patch
@@ -1,5 +1,5 @@
---- libtecla/Makefile.rules.orig 2014-11-10 00:36:53.000000000 +0300
-+++ libtecla/Makefile.rules 2016-04-13 10:37:36.234418914 +0300
+--- a/Makefile.rules
++++ b/Makefile.rules
@@ -54,19 +54,19 @@
demos: $(DEMO_PROGS)
@@ -24,8 +24,8 @@
$(OBJDIR)/enhance.o -L. -ltecla$(SUFFIX) $(LIBS)
#-----------------------------------------------------------------------
---- libtecla/configure.in.orig 2014-11-10 01:15:29.000000000 +0300
-+++ libtecla/configure.in 2016-04-13 10:32:25.916263565 +0300
+--- a/configure.in
++++ b/configure.in
@@ -490,7 +490,7 @@
VERSION_OPT=''
fi
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch b/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
index 89f30a6ea31a..41e7b628b359 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-prll-build.patch
@@ -1,5 +1,5 @@
---- libtecla/Makefile.rules.orig 2016-04-13 11:13:10.000000000 +0300
-+++ libtecla/Makefile.rules 2016-04-13 11:17:45.628234106 +0300
+--- a/Makefile.rules
++++ b/Makefile.rules
@@ -165,5 +165,5 @@
# Include file dependencies.
#-----------------------------------------------------------------------
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch b/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
index b62104ae1d35..01552220e24a 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-secure-runpath.patch
@@ -1,5 +1,5 @@
---- libtecla/Makefile.rules.orig 2014-11-10 00:36:53.000000000 +0300
-+++ libtecla/Makefile.rules 2016-04-13 10:37:36.234418914 +0300
+--- a/Makefile.rules
++++ b/Makefile.rules
@@ -54,19 +54,19 @@
demos: $(DEMO_PROGS)
diff --git a/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch b/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
index b88940e49b8b..0d7c14b6c172 100644
--- a/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
+++ b/dev-libs/libtecla/files/libtecla-1.6.3-static-libs.patch
@@ -1,5 +1,5 @@
---- libtecla/configure.in.orig 2016-04-13 11:12:15.000000000 +0300
-+++ libtecla/configure.in 2016-04-13 11:43:05.632287268 +0300
+--- a/configure.in
++++ b/configure.in
@@ -426,6 +426,9 @@
AC_ARG_WITH(file-system, AC_HELP_STRING([--with-file-system], [Does the target have a filesystem (default=yes)]),
AC_DEFINE(WITHOUT_FILE_SYSTEM), )
diff --git a/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild
index 4487a6f6dfe6..a61d52f0bee1 100644
--- a/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild
+++ b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,12 +8,11 @@ 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
+S="${WORKDIR}/libtecla"
LICENSE="icu"
SLOT="0"
KEYWORDS="amd64 ~arm ppc ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
DEPEND="sys-libs/ncurses:="
RDEPEND="${DEPEND}"
@@ -31,12 +30,21 @@ PATCHES=(
src_prepare() {
default
- mv configure.in configure.ac || die
eautoreconf
}
src_configure() {
- econf $(use_enable static-libs)
+ # 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() {
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.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 a94c8968b9fc..000000000000
--- a/dev-libs/libtermkey/libtermkey-0.22.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic
-
-DESCRIPTION="Library for easy processing of keyboard entry from terminal-based programs"
-HOMEPAGE="http://www.leonerd.org.uk/code/libtermkey/"
-SRC_URI="http://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos"
-IUSE="demos static-libs"
-
-RDEPEND="dev-libs/unibilium:="
-DEPEND="${RDEPEND}
- sys-devel/libtool
- virtual/pkgconfig
- demos? ( dev-libs/glib:2 )"
-
-src_prepare() {
- default
-
- if ! use demos; then
- sed -e '/^all:/s:$(DEMOS)::' -i Makefile || die
- fi
-}
-
-src_compile() {
- append-flags -fPIC
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" all
-}
-
-src_install() {
- emake PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" DESTDIR="${D}" install
- use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
- rm "${ED}"/usr/$(get_libdir)/${PN}.la || die
-}
diff --git a/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild b/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild
index 08848f65a65d..a251b1b96df0 100644
--- a/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild
+++ b/dev-libs/libtimezonemap/libtimezonemap-0.4.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="mirror://debian/pool/main/libt/${PN}/${PN}_${PV}.orig.tar.gz -> ${PN}_$
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
DEPEND="dev-libs/glib:2
dev-libs/gobject-introspection:0=
diff --git a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild
index 8fa4c04203ff..f4dd5afc09ec 100644
--- a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild
+++ b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,7 @@ LICENSE="|| ( WTFPL-2 public-domain )"
# Helpful site:
# https://abi-laboratory.pro/index.php?view=timeline&l=libtomcrypt
SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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
@@ -25,15 +25,18 @@ IUSE="+gmp +libtommath tomsfastmath"
REQUIRED_USE="|| ( gmp libtommath tomsfastmath )"
BDEPEND="
- sys-devel/libtool
+ dev-build/libtool
virtual/pkgconfig
"
-DEPEND="
+RDEPEND="
gmp? ( dev-libs/gmp:= )
libtommath? ( dev-libs/libtommath:= )
tomsfastmath? ( dev-libs/tomsfastmath:= )
"
-RDEPEND="${DEPEND}"
+DEPEND="
+ ${RDEPEND}
+ dev-build/libtool
+"
PATCHES=(
"${FILESDIR}"/${P}-slibtool.patch
@@ -73,6 +76,13 @@ mymake() {
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[*]}" \
diff --git a/dev-libs/libtommath/Manifest b/dev-libs/libtommath/Manifest
index eaf116692eb5..433619a4f62c 100644
--- a/dev-libs/libtommath/Manifest
+++ b/dev-libs/libtommath/Manifest
@@ -1 +1 @@
-DIST ltm-1.2.0.tar.xz 622120 BLAKE2B 1537dad7da5c14264f03280e9d49fa0b7e6c1c4924c805f202d31c60569b9e3bee40674301d67b0f5b049c1c2dc5ec71b6c566ff5c9b8168d16840b031acc400 SHA512 6f9ccd0691831f07f86ddc81cb6145504b3d5da66dd3e92312c64cce0ea986fa4e08ba65ca8991aaebe56702c2d7c15f309696785b813dffb4c112a4ad04b203
+DIST ltm-1.2.1.tar.xz 635728 BLAKE2B b1464843af4a33f2ba0c824fe2dd080227c6b761b3f8059bbc5229f36d601aecc8bcb20c386718c71a1bc01f69e532647689b43252bd15143f809f7072de449e SHA512 50c9459357aa7f5076af93de6701c617da0dbbf2230a2f4468062704a6cd6e9d3c2fbb27016f68a7e1d6b35d6ddb2088630b24ea6acc20ed8c19594913d36e95
diff --git a/dev-libs/libtommath/libtommath-1.2.0-r2.ebuild b/dev-libs/libtommath/libtommath-1.2.0-r2.ebuild
deleted file mode 100644
index 45bd88178da5..000000000000
--- a/dev-libs/libtommath/libtommath-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit 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 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="doc examples static-libs"
-
-BDEPEND="sys-devel/libtool"
-
-PATCHES=(
- "${FILESDIR}"/${P}-sparc.patch
-)
-
-src_prepare() {
- default
-
- # need libtool for cross compilation, bug #376643
- cat <<-EOF > configure.ac
- AC_INIT(libtommath, 0)
- AM_INIT_AUTOMAKE
- LT_INIT
- AC_CONFIG_FILES(Makefile)
- AC_OUTPUT
- EOF
-
- touch NEWS README AUTHORS ChangeLog Makefile.am || die
-
- eautoreconf
-
- export LIBTOOL="${S}"/libtool
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-_emake() {
- emake \
- CC="$(tc-getCC)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- IGNORE_SPEED=1 \
- DESTDIR="${ED}" \
- PREFIX="${EPREFIX}/usr" \
- LIBPATH="/usr/$(get_libdir)" \
- INCPATH="/usr/include" \
- "$@"
-}
-
-src_compile() {
- # Replace hard-coded libdir=${exec_prefix}/lib.
- sed -i -e "/libdir=/s:/lib:/$(get_libdir):" libtommath.pc.in || die
-
- _emake -f makefile.shared
-}
-
-src_test() {
- # Tests must be built statically
- # (i.e. without -f makefile.shared)
- _emake test
-
- ./test || die
-}
-
-src_install() {
- _emake -f makefile.shared install
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- local path="usr/$(get_libdir)/libtommath.${PV}.dylib"
- install_name_tool -id "${EPREFIX}/${path}" "${ED}/${path}" || die "Failed to adjust install_name"
- fi
-
- # We only link against -lc, so drop the .la file.
- find "${ED}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${ED}" -name "*.a" -delete || die
- fi
-
- dodoc changes.txt
-
- use doc && dodoc doc/*.pdf
-
- if use examples ; then
- docinto demo
- dodoc demo/*.c
- fi
-}
diff --git a/dev-libs/libtommath/libtommath-1.2.1.ebuild b/dev-libs/libtommath/libtommath-1.2.1.ebuild
new file mode 100644
index 000000000000..4c2227c298fa
--- /dev/null
+++ b/dev-libs/libtommath/libtommath-1.2.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Optimized and portable routines for integer theoretic applications"
+HOMEPAGE="https://www.libtom.net/"
+SRC_URI="https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples static-libs"
+
+BDEPEND="dev-build/libtool"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.0-sparc.patch
+)
+
+src_prepare() {
+ default
+
+ # need libtool for cross compilation, bug #376643
+ cat <<-EOF > configure.ac
+ AC_INIT(libtommath, 0)
+ AM_INIT_AUTOMAKE
+ LT_INIT
+ AC_CONFIG_FILES(Makefile)
+ AC_OUTPUT
+ EOF
+
+ touch NEWS README AUTHORS ChangeLog Makefile.am || die
+
+ eautoreconf
+
+ export LIBTOOL="${S}"/libtool
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+_emake() {
+ emake \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ IGNORE_SPEED=1 \
+ DESTDIR="${ED}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBPATH="/usr/$(get_libdir)" \
+ INCPATH="/usr/include" \
+ "$@"
+}
+
+src_compile() {
+ # Replace hard-coded libdir=${exec_prefix}/lib.
+ sed -i -e "/libdir=/s:/lib:/$(get_libdir):" libtommath.pc.in || die
+
+ _emake -f makefile.shared
+}
+
+src_test() {
+ # Tests must be built statically
+ # (i.e. without -f makefile.shared)
+ _emake test
+
+ ./test || die
+}
+
+src_install() {
+ _emake -f makefile.shared install
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local path="usr/$(get_libdir)/libtommath.${PV}.dylib"
+ install_name_tool -id "${EPREFIX}/${path}" "${ED}/${path}" || die "Failed to adjust install_name"
+ fi
+
+ # We only link against -lc, so drop the .la file.
+ find "${ED}" -name '*.la' -delete || die
+ if ! use static-libs ; then
+ find "${ED}" -name "*.a" -delete || die
+ fi
+
+ dodoc changes.txt
+
+ use doc && dodoc doc/*.pdf
+
+ if use examples ; then
+ docinto demo
+ dodoc demo/*.c
+ fi
+}
diff --git a/dev-libs/libtpms/Manifest b/dev-libs/libtpms/Manifest
index cdb18c0fe3a7..b2530480bc0a 100644
--- a/dev-libs/libtpms/Manifest
+++ b/dev-libs/libtpms/Manifest
@@ -1,2 +1 @@
-DIST libtpms-0.9.4.tar.gz 1264030 BLAKE2B 56731b913145afcd49fae13f0fcbe4fc147edf206a44849cef45ed34a7644f0894bb6ab5dcb72d620eb1ab121bf4e821fe7893557508af394585171133d659e2 SHA512 ae3e2613bc31d98c10def546c70d0c25bd1246af5090268afa0411502bfd0e454967046ebcd9025350976817441e595fa4e21562f800285db98331e4c2743505
-DIST libtpms-0.9.5.tar.gz 1264086 BLAKE2B 3e6da08dd31414bdf19260f47fce6ba7ace0ae72b152b681f1c1fbc9d75b7708238e5c2a161827c7a6e2b9a6ae4786dfbf921ec37b9f0b7c044835c974a111a3 SHA512 96b8d6dd66a6c4bc7b72d172d0b75444c7725a7fb5b0f792cd1cff9d8f7ec894c51e94493816f033198cc8adf2f95cf473629431dadb70b423068d834de09e21
+DIST libtpms-0.9.6.tar.gz 1264338 BLAKE2B 7b127ef370a48214814bb9ad0e8461ed0af21f32ab84f243945980c5e36ba5e374b4de7a83bf9c67c29264609063d48eae2dae83832daed70170bb1ed39eafea SHA512 35f26e4849eb98cd73461aff439c19f77bbbcde9b7661402e3d419354c4dcddd057349c4f7178573f1ceea2e95326498eb9afea3bd48064bbff534fc7f6939c3
diff --git a/dev-libs/libtpms/libtpms-0.9.4.ebuild b/dev-libs/libtpms/libtpms-0.9.4.ebuild
deleted file mode 100644
index 3b5f046772a9..000000000000
--- a/dev-libs/libtpms/libtpms-0.9.4.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Library providing software emultion of a TPM"
-HOMEPAGE="https://github.com/stefanberger/libtpms"
-SRC_URI="https://github.com/stefanberger/libtpms/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
-
-DEPEND="dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.9.0-Remove-WError.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-openssl
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- if [[ ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -lt 0.8.0; then
- elog "Versions of libtpms prior to 0.8.0 generate weaker than expected TPM 2.0 RSA"
- elog "keys due to a flawed key creation algorithm. Because fixing this would render"
- elog "existing sealed data inaccessible, to use the corrected algorithm, the old"
- elog "TPM state file must be deleted and a new TPM state file created. Data still"
- elog "sealed using the old state file will be permanently inaccessible. For the"
- elog "details see https://github.com/stefanberger/libtpms/issues/183"
- fi
-}
diff --git a/dev-libs/libtpms/libtpms-0.9.5.ebuild b/dev-libs/libtpms/libtpms-0.9.5.ebuild
deleted file mode 100644
index cebb18cc9148..000000000000
--- a/dev-libs/libtpms/libtpms-0.9.5.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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/libtpms-0.9.6.ebuild b/dev-libs/libtpms/libtpms-0.9.6.ebuild
new file mode 100644
index 000000000000..b78b99d4a24a
--- /dev/null
+++ b/dev-libs/libtpms/libtpms-0.9.6.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Library providing software emultion of a TPM"
+HOMEPAGE="https://github.com/stefanberger/libtpms"
+SRC_URI="https://github.com/stefanberger/libtpms/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+
+DEPEND="dev-libs/openssl:="
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.9.0-Remove-WError.patch"
+ "${FILESDIR}/${PN}-0.9.5-slibtool.patch" # 858671
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-openssl
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} ]] && ver_test ${REPLACING_VERSIONS} -lt 0.8.0; then
+ elog "Versions of libtpms prior to 0.8.0 generate weaker than expected TPM 2.0 RSA"
+ elog "keys due to a flawed key creation algorithm. Because fixing this would render"
+ elog "existing sealed data inaccessible, to use the corrected algorithm, the old"
+ elog "TPM state file must be deleted and a new TPM state file created. Data still"
+ elog "sealed using the old state file will be permanently inaccessible. For the"
+ elog "details see https://github.com/stefanberger/libtpms/issues/183"
+ fi
+}
diff --git a/dev-libs/libtpms/metadata.xml b/dev-libs/libtpms/metadata.xml
index b22f99269a84..655ec184708d 100644
--- a/dev-libs/libtpms/metadata.xml
+++ b/dev-libs/libtpms/metadata.xml
@@ -13,4 +13,7 @@
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">stefanberger/libtpms</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libtracecmd/Manifest b/dev-libs/libtracecmd/Manifest
new file mode 100644
index 000000000000..1f926db9b119
--- /dev/null
+++ b/dev-libs/libtracecmd/Manifest
@@ -0,0 +1 @@
+DIST libtracecmd-1.5.1.tar.gz 357041 BLAKE2B 84410dda0f50d536606727b9c99cd094aad3efbb0410fa78b1973dce4c3c2c7e8fef46614a210b22daa88f56a410b9216acf4d247c054c8c948b4716cb0d7aa5 SHA512 0fa0b6a912164284e6db3c95d99c46e0f6726021fa7f76e531871d6424c0a5d8f316244f75a5c85b06b1cd5aa7349dcb286185fa3a0b36a08c8b7eac38ad8192
diff --git a/dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild b/dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild
new file mode 100644
index 000000000000..69dba2023131
--- /dev/null
+++ b/dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Linux kernel tracecmd library"
+HOMEPAGE="https://git.kernel.org/pub/scm/libs/trace-cmd/trace-cmd.git/"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/"
+ inherit git-r3
+else
+ SRC_URI="https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/trace-cmd-${P}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+RDEPEND="
+ !<dev-util/trace-cmd-3.2
+ dev-libs/libtraceevent
+ dev-libs/libtracefs
+"
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+"
+BDEPEND="app-text/asciidoc"
+
+S="${WORKDIR}/trace-cmd-${P}/lib"
+
+src_configure() {
+ local emesonargs=(
+ -Dasciidoctor=false
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ find "${ED}" -type f -name '*.a' -delete || die
+}
diff --git a/dev-libs/libtracecmd/metadata.xml b/dev-libs/libtracecmd/metadata.xml
new file mode 100644
index 000000000000..5d7fd0571329
--- /dev/null
+++ b/dev-libs/libtracecmd/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/libtraceevent/Manifest b/dev-libs/libtraceevent/Manifest
index cb27f98d057e..195d6b5bee98 100644
--- a/dev-libs/libtraceevent/Manifest
+++ b/dev-libs/libtraceevent/Manifest
@@ -1,3 +1,3 @@
DIST libtraceevent-1.6.3.tar.gz 140072 BLAKE2B 416fa68e2604c3cc71323171b084261e38f08f630a03afda0e2ecc4860c8b08dae10b2abaa2afae54d2b4e382720b43a6616a9ab8599759de102af918eeb24fc SHA512 8064eb18dda6fdbff020759ed92e785b87d34be9ebc30cb6085785edeb8d7252cabf8d33d8738a3ec407672a3d891884d0f0b4c551fce26c76fa8eaf61b9e2f5
-DIST libtraceevent-1.7.0.tar.gz 147876 BLAKE2B 0017315845f96b6d92a9d4f6e0f2de5e130324c3142b382284838ee52db8df5892b7e9394690391cc2215a29cc685401767b0e5b64a493d8b4793b1fbb8d10a2 SHA512 ecfdadf450cfc4cc0ea878089b2f0f2bab68987609a39341c665481e0716f2ab3d3441fae72163354ab8ceebef0648d873a81ec00ce38e00066a60a2ad1673a7
-DIST libtraceevent-1.7.1.tar.gz 148170 BLAKE2B 2d935035874e49b3fa73d513c424cab7b5686acf4a9151482d8bbc40a84c0baab8df811ebe37c85cb3bd851b04d343c5ffd585631f00a671f7ee26d20d7734ca SHA512 412b93109ccd6e1bdece52f9a10989a58ff5693144fd460c7ebaef0ebc4649fac95eea20c5f88aa2f23bdc59bf359a65ab23ab41c3a5b7c92df6e52225477093
+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
index d29cdfec0584..4be481f862ec 100644
--- a/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild
+++ b/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
else
SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz"
- KEYWORDS="amd64 ~arm64 ~x86"
+ KEYWORDS="amd64 ~arm64 x86"
fi
LICENSE="LGPL-2.1"
diff --git a/dev-libs/libtraceevent/libtraceevent-1.7.0.ebuild b/dev-libs/libtraceevent/libtraceevent-1.7.0.ebuild
deleted file mode 100644
index 7d97506bb190..000000000000
--- a/dev-libs/libtraceevent/libtraceevent-1.7.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2019-2022 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"
-
-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.1.ebuild b/dev-libs/libtraceevent/libtraceevent-1.7.1.ebuild
deleted file mode 100644
index a572e944cacb..000000000000
--- a/dev-libs/libtraceevent/libtraceevent-1.7.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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"
-
-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/libtracefs/Manifest b/dev-libs/libtracefs/Manifest
index 9e5dcb627939..234705e75a8f 100644
--- a/dev-libs/libtracefs/Manifest
+++ b/dev-libs/libtracefs/Manifest
@@ -1,3 +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.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.6.4.ebuild b/dev-libs/libtracefs/libtracefs-1.6.4.ebuild
deleted file mode 100644
index 8586159db3f2..000000000000
--- a/dev-libs/libtracefs/libtracefs-1.6.4.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# 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.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/libtreadstone/Manifest b/dev-libs/libtreadstone/Manifest
deleted file mode 100644
index ff404dda21ed..000000000000
--- a/dev-libs/libtreadstone/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libtreadstone-0.2.0.tar.gz 364127 BLAKE2B 803ae1b61be62b067219198de526bb5e23a2e25f91ca928a7e92a83222f3f921835310f2a101c29309889129d15c872e679e4a5779747db5cdf87473f781406b SHA512 dfa8a592b4dbe8106716160e3108ba62a24e15d9ec827a4086f95db7dc8216c4d571c065f0e6773776693a29cca3aee29991b95f9aafae20d175403374a96014
diff --git a/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild b/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild
deleted file mode 100644
index cb7f1d335b75..000000000000
--- a/dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Hyperdex libtreadstone support library"
-HOMEPAGE="http://hyperdex.org"
-SRC_URI="http://hyperdex.org/src/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE=""
-
-DEPEND=">=dev-libs/libpo6-0.7.0
- >=dev-libs/libe-0.10.0"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libtreadstone/metadata.xml b/dev-libs/libtreadstone/metadata.xml
deleted file mode 100644
index 2ce0e74f9864..000000000000
--- a/dev-libs/libtreadstone/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-libs/libtsm/Manifest b/dev-libs/libtsm/Manifest
index a935ba342777..a29ed58ccf33 100644
--- a/dev-libs/libtsm/Manifest
+++ b/dev-libs/libtsm/Manifest
@@ -1 +1 @@
-DIST libtsm-4.0.2.tar.gz 148135 BLAKE2B 4d81d5a19003ca1487e85bcea22604990e88770484a08a072105a2f193a0c7aa40832c9a81197c0fa26acc9c8d39d1ab796d4b92fa6af790f5ef803b8c68af05 SHA512 58eb955012fd154b7c165d799d0f80c9a71a504481e78471103fd299f2e73f3b7d89487387166895a9a5996165344335baa56f0550317caaa2eec6b0bad55e59
+DIST libtsm-4.0.2_p20231223.tar.gz 157342 BLAKE2B 082637022397b210ef95e1a0f827d4d340f60bf7a6f962d4c86087c0c604dea5fe2bd3a9e879008353726a5d6b4588da93b5c68b37501fa47c9c3cccf10de431 SHA512 f428969b8e108159671c6bb10898dcf07e829b7f2118e52331ca48d5f0efc212c14e42f5ac909adda5c5473980341828d085043687636c378f598479d7cb37ef
diff --git a/dev-libs/libtsm/libtsm-4.0.2.ebuild b/dev-libs/libtsm/libtsm-4.0.2.ebuild
deleted file mode 100644
index eb01dbb7c6d8..000000000000
--- a/dev-libs/libtsm/libtsm-4.0.2.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Terminal Emulator State Machine"
-HOMEPAGE="https://github.com/Aetf/libtsm"
-SRC_URI="https://github.com/Aetf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1 MIT"
-SLOT="0/4"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-PATCHES=( "${FILESDIR}/${PN}-cmake.patch" )
diff --git a/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild b/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild
new file mode 100644
index 000000000000..c40acccb78a9
--- /dev/null
+++ b/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="69922bde02c7af83b4d48a414cc6036af7388626"
+
+DESCRIPTION="Terminal Emulator State Machine"
+HOMEPAGE="https://github.com/Aetf/libtsm"
+SRC_URI="https://github.com/Aetf/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-${COMMIT}
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=( "${FILESDIR}/${PN}-cmake.patch" )
diff --git a/dev-libs/libtubo/Manifest b/dev-libs/libtubo/Manifest
deleted file mode 100644
index 5725a55bc138..000000000000
--- a/dev-libs/libtubo/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST libtubo0-5.0.15.tar.bz2 389945 BLAKE2B c43122bbba766da40130ea06e3209be47c42003ea2955b66c10d94f2e977d573040d0d7c41485b403a471966ff077033c9e4de0d3561ad73eb9b78cf79074014 SHA512 148147ef30b4f803ed3e45d07b85ce9fe68750938fd6a1f5e87f08e1da41d633b99934f0766ba0f62c793bd664ab43335e273068bbae1d2fe06f0cc9825d1d98
diff --git a/dev-libs/libtubo/libtubo-5.0.15.ebuild b/dev-libs/libtubo/libtubo-5.0.15.ebuild
deleted file mode 100644
index c6feb05d374e..000000000000
--- a/dev-libs/libtubo/libtubo-5.0.15.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P=${PN}0-${PV}
-
-DESCRIPTION="small and simple interprocess communication library"
-HOMEPAGE="http://xffm.org/libtubo"
-SRC_URI="mirror://sourceforge/xffm/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}"/${MY_P}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libtubo/metadata.xml b/dev-libs/libtubo/metadata.xml
deleted file mode 100644
index 99052ec6f8d2..000000000000
--- a/dev-libs/libtubo/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!--maintainer-needed-->
- <upstream>
- <remote-id type="sourceforge">xffm</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/libucl/Manifest b/dev-libs/libucl/Manifest
index a4cbed7b873c..d74b4cc231c5 100644
--- a/dev-libs/libucl/Manifest
+++ b/dev-libs/libucl/Manifest
@@ -1 +1,3 @@
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.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.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
index 8b3e4c0b5cc2..3c35afc0af65 100644
--- a/dev-libs/libucl/libucl-9999.ebuild
+++ b/dev-libs/libucl/libucl-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
LUA_COMPAT=( lua5-{1..3} )
inherit lua-single autotools
@@ -18,7 +18,7 @@ else
fi
LICENSE="BSD-2"
-SLOT="0"
+SLOT="0/9"
IUSE="lua +regex sign urls +utils static-libs test"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
@@ -36,12 +36,11 @@ RDEPEND="${DEPEND}"
DOCS=( README.md doc/api.md )
pkg_setup() {
- use lua && lua_pkg_setup
+ use lua && lua-single_pkg_setup
}
src_prepare() {
default
- rm tests/schema/{definitions,ref{,Remote}}.json || die
eautoreconf
}
@@ -60,10 +59,6 @@ src_configure() {
econf "${myeconfargs[@]}"
}
-src_test() {
- emake check
-}
-
src_install() {
default
use lua && DOCS+=( "doc/lua_api.md" )
diff --git a/dev-libs/libudfread/Manifest b/dev-libs/libudfread/Manifest
index dffe0c119ee2..6bda96d9380a 100644
--- a/dev-libs/libudfread/Manifest
+++ b/dev-libs/libudfread/Manifest
@@ -1,3 +1 @@
-DIST libudfread-1.1.0.tar.gz 33506 BLAKE2B e7fab72ebecb372c54af77b4907e53f77a5503af66e129bd2083ef7f4209ebfbed163ffd552e32b7181829664fff6ab82a1cdf00c81dc6f3cc6bfc8fa7242f6e SHA512 340a03fe90d26a8a5c78e1e4f558a0b448a14332a661494f44af7de3e6c98cd219125e19f69d2a611ecb4870648a5d5b55d794e665eb8ec4192c0b499a0701ed
-DIST libudfread-1.1.1.tar.gz 33546 BLAKE2B 2a9781d2db569ca5787b0fa27b75b790d21b78454727f7377fde511abe2426912d44fd14fc6954b59e8a6b152a1f4ca95dc0b4759cc7472490f42c0158e1f418 SHA512 7c7a4553f2cea82a4496799376380ba75285b82cdf37e701d28d723d760e936b7e625223cd162bccc5c65aca3ef721c6af839bd4c75928237cb3c77eaaeb23db
DIST libudfread-1.1.2.tar.gz 33744 BLAKE2B 1801d84a0ca38410a78f23e7d44f37e6d53346753c853df2e7380d259ce1ae7f0c712825b95a5753ad0bc6360cfffe1888b9e7bc30da8b84549e0f1198248f61 SHA512 3069feb5db40288beb5b112b285186162a704f0fdd3cf67a17fd4eeea015f2cfcfbb455b7aa7c3d79d00fd095a3fd11cffc7b121dce94d99c3b06a509a8977d2
diff --git a/dev-libs/libudfread/libudfread-1.1.0.ebuild b/dev-libs/libudfread/libudfread-1.1.0.ebuild
deleted file mode 100644
index f4fb055b98c6..000000000000
--- a/dev-libs/libudfread/libudfread-1.1.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://code.videolan.org/videolan/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://code.videolan.org/videolan/libudfread/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-DESCRIPTION="Library for reading UDF from raw devices and image files"
-HOMEPAGE="https://code.videolan.org/videolan/libudfread/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${D}" -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/libudfread/libudfread-1.1.1.ebuild b/dev-libs/libudfread/libudfread-1.1.1.ebuild
deleted file mode 100644
index bff247f809fb..000000000000
--- a/dev-libs/libudfread/libudfread-1.1.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://code.videolan.org/videolan/${PN}.git"
- inherit git-r3
-else
- SRC_URI="https://code.videolan.org/videolan/libudfread/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 x86"
-fi
-
-DESCRIPTION="Library for reading UDF from raw devices and image files"
-HOMEPAGE="https://code.videolan.org/videolan/libudfread/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="static-libs"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -delete || die
- if ! use static-libs ; then
- find "${D}" -name '*.a' -delete || die
- fi
-}
diff --git a/dev-libs/libudfread/libudfread-1.1.2.ebuild b/dev-libs/libudfread/libudfread-1.1.2.ebuild
index 2d1dd7718ab2..03c046d04323 100644
--- a/dev-libs/libudfread/libudfread-1.1.2.ebuild
+++ b/dev-libs/libudfread/libudfread-1.1.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://code.videolan.org/videolan/libudfread/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
fi
DESCRIPTION="Library for reading UDF from raw devices and image files"
diff --git a/dev-libs/libuev/Manifest b/dev-libs/libuev/Manifest
index 865367d6a526..5c410ab36337 100644
--- a/dev-libs/libuev/Manifest
+++ b/dev-libs/libuev/Manifest
@@ -1,2 +1,3 @@
DIST libuev-2.3.2.tar.xz 247784 BLAKE2B 30f9ca2d71c2f05173d4c5863e0dce64e7a77987e3472b11ac5f3ecf677712ddc5fe9e9cc9587f73d6a5acfb716d02dfa744bb301d55b834d44e944bf09f3bd0 SHA512 dccf83ea61dd4841d2b7e1e75b8c46f41607b26aeefd49bc3d594d864408a282c2ff4cf6ff84cf596fe3382c02e53631593f12d5b79afd9f2e57fb9d021b60a8
DIST libuev-2.4.0.tar.xz 281344 BLAKE2B b3bc81205510729b73e52717eb647c37b446d6c947032e09480413a8a52e93b0dc6539189639aca9e045b1c48dcb34e3115c074f41b8f1d716815a8f8a5ac08a SHA512 0f33ca8f8ce43fb746befdc09585db5bfeabc3bd1aac7e336e01ed21baaf58f3ce618feb34e7ef4e692708cc182b09edfa920b43647a7a61dc3c33eaf87d3c31
+DIST libuev-2.4.1.tar.xz 285528 BLAKE2B 4867564adde9a994096413d410ce8beb911089ee6124ecab5ad5325aa7f05a363cbd9fd556305a20b21417f267f2c4683e2c2a534ce855cfcd9d961cfa631494 SHA512 a08aa6a5a92f8059851e4a9881502113fa309ce6398a20f0ae2c33f83e6e0d9e6468b49d6cb76753f470322745b9b309509ed4230bd819cdc023418c8be9a589
diff --git a/dev-libs/libuev/libuev-2.4.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/libunibreak/Manifest b/dev-libs/libunibreak/Manifest
index 1131c417eabd..ebde696ff28f 100644
--- a/dev-libs/libunibreak/Manifest
+++ b/dev-libs/libunibreak/Manifest
@@ -1,2 +1,4 @@
-DIST libunibreak-4.3.tar.gz 639886 BLAKE2B ec044b659f1a837b4e6627067b96a6f19ee8302602d635e1e32aab9533486b5cd063aa99114c6443ede9d76d3f382d7492eac8b52b84a4baa2ccd9c2129e79d8 SHA512 4b53fd169912033403b6ca09047b7b928211fab3607ef26070ab731054138b9a291f7d138d3a479f9cde8edb0fabf8da114da68aee32e60cddf45cc3baae1170
-DIST libunibreak-5.0.tar.gz 664105 BLAKE2B 4755f77da7aeece8e43f121e35124f85afa31740394cecc1a192d0b284d8d683765a6a38898f5ffd8a567e2d65a086fdc25a816a77337f242df7be5c14ae6e98 SHA512 33ce584208fea1f2f22dcc49592a467b0fdc04a8b9ed80c97d7ce2058e8d6c919b4a173c9ec3ca38411ffa497d95d2abe207dfc09866f9fcba125867015cf9fb
+DIST libunibreak-5.1.tar.gz 658914 BLAKE2B 005cd37102f4f55616ef0f2273bcb546331f67156c24a003bbb101dc0db091bcb514bffb7cc879f809f6cc71a61674fb722d711d50e55dd8074b01d2d6774d18 SHA512 c7762c0a5212a69de69fde7dcb3281e0d642a27da881337a6b0f71fac84fd097940dc92059d3daaf91dd21ae8b77d835432da058371958d0eb15af30077e2fba
+DIST libunibreak-GraphemeBreakTest.txt 83691 BLAKE2B 5ee2204bd8f4b2bf682f62553832c6f50b542a15b5e8d7d4eda6e35b33d723127a1f5fdb4b8c659ed4c71b5ffa09c5abaf65931116fabe2953193f545efb9a50 SHA512 d619baf8987e7b74c1d6b4b61b25aa7faf17c12b888ffef3f1cab021e668b9767281bdab3161ceaeebaffb758848ae153e01f98801b8a455d86d0d0bcef540ac
+DIST libunibreak-LineBreakTest.txt 1085570 BLAKE2B 306ab92a18e38e021baa887a16e70658afe0ab54458d9f6bfeaeb4b2c4cf4d352025b109f336e7ca65884d354185324fa499590c694297a3aded8aa02edfa56d SHA512 3dfafabd1394d4c31ba7ba11e0eea077fd9260714339959bc82ac8383f74692ece32849a7cd8265387780379bea16e30dd038cd168d118573dede96ce15d578e
+DIST libunibreak-WordBreakTest.txt 297534 BLAKE2B 261e4582feadfda276c404572ddf33b7b91c9803639cae316e1eaa6dfebfaf748116b345838ee08c05e946efea6ec21de3bcf32eb8b69921051dd06bd04d5ce4 SHA512 54a87ffa10a424b690ed226b411aa66ac5e52c6b34e4f361bfc5dfe14f841ff35d76a98691f62f9257b5c2ced0bfb826a55880f64294d271a06fccb52d20e7d3
diff --git a/dev-libs/libunibreak/libunibreak-4.3.ebuild b/dev-libs/libunibreak/libunibreak-4.3.ebuild
deleted file mode 100644
index ddc86f6688d2..000000000000
--- a/dev-libs/libunibreak/libunibreak-4.3.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Line and word breaking library"
-HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
-SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(ver_rs 1- '_')/${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc x86"
-IUSE="doc +man static-libs"
-
-# Tests require internet access to www.unicode.org
-RESTRICT="test"
-
-BDEPEND="man? ( app-doc/doxygen )"
-
-src_prepare() {
- if use man; then
- echo 'GENERATE_MAN=YES' >> Doxyfile || die
- echo 'GENERATE_HTML=NO' >> Doxyfile || die
- fi
- default
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- if use man; then
- doxygen || die 'doxygen failed'
- pushd "${S}"/doc/man > /dev/null
- mv man3 x || die
- mkdir man3 || die
- for h in graphemebreak linebreak linebreakdef unibreakbase unibreakdef wordbreak; do
- mv x/${h}.h.3 man3/ || die "man ${h} not found"
- done
- rm -rf x || die
- popd > /dev/null
- fi
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
- find "${D}" -name '*.la' -delete || die
- if use man; then
- doman doc/man/man3/*.3
- fi
-}
diff --git a/dev-libs/libunibreak/libunibreak-5.0-r1.ebuild b/dev-libs/libunibreak/libunibreak-5.0-r1.ebuild
deleted file mode 100644
index 71085ecc8001..000000000000
--- a/dev-libs/libunibreak/libunibreak-5.0-r1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Line and word breaking library"
-HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
-SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(ver_rs 1- '_')/${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0/5"
-KEYWORDS="~amd64 ~arm ~ppc ~x86"
-IUSE="doc +man static-libs"
-
-# Tests require internet access to www.unicode.org
-RESTRICT="test"
-
-BDEPEND="man? ( app-doc/doxygen )"
-
-src_prepare() {
- if use man; then
- echo 'GENERATE_MAN=YES' >> Doxyfile || die
- echo 'GENERATE_HTML=NO' >> Doxyfile || die
- fi
- default
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_compile() {
- default
- if use man; then
- doxygen || die 'doxygen failed'
- pushd "${S}"/doc/man > /dev/null
- mv man3 x || die
- mkdir man3 || die
- for h in graphemebreak linebreak linebreakdef unibreakbase unibreakdef wordbreak; do
- mv x/${h}.h.3 man3/ || die "man ${h} not found"
- done
- rm -rf x || die
- popd > /dev/null
- fi
-}
-
-src_install() {
- use doc && HTML_DOCS=( doc/html/. )
- default
- find "${D}" -name '*.la' -delete || die
- if use man; then
- doman doc/man/man3/*.3
- fi
-}
diff --git a/dev-libs/libunibreak/libunibreak-5.1.ebuild b/dev-libs/libunibreak/libunibreak-5.1.ebuild
new file mode 100644
index 000000000000..c596121919ed
--- /dev/null
+++ b/dev-libs/libunibreak/libunibreak-5.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Line and word breaking library"
+HOMEPAGE="http://vimgadgets.sourceforge.net/libunibreak/"
+SRC_URI="https://github.com/adah1972/${PN}/releases/download/${PN}_$(ver_rs 1- '_')/${P}.tar.gz"
+SRC_URI+="
+ test? (
+ http://www.unicode.org/Public/UNIDATA/auxiliary/LineBreakTest.txt -> ${PN}-LineBreakTest.txt
+ http://www.unicode.org/Public/UNIDATA/auxiliary/WordBreakTest.txt -> ${PN}-WordBreakTest.txt
+ http://www.unicode.org/Public/UNIDATA/auxiliary/GraphemeBreakTest.txt -> ${PN}-GraphemeBreakTest.txt
+ )
+"
+
+LICENSE="ZLIB"
+SLOT="0/5"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
+IUSE="doc +man static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="man? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+
+ if use man; then
+ echo 'GENERATE_MAN=YES' >> Doxyfile || die
+ echo 'GENERATE_HTML=NO' >> Doxyfile || die
+ fi
+
+ if use test; then
+ local file
+ for file in LineBreakTest.txt WordBreakTest.txt GraphemeBreakTest.txt ; do
+ ln -s "${DISTDIR}"/${PN}-${file} "${S}"/src/${file} || die
+ done
+ fi
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_compile() {
+ default
+ if use man; then
+ doxygen || die 'doxygen failed'
+ pushd "${S}"/doc/man > /dev/null
+ mv man3 x || die
+ mkdir man3 || die
+ for h in graphemebreak linebreak linebreakdef unibreakbase unibreakdef wordbreak; do
+ mv x/${h}.h.3 man3/ || die "man ${h} not found"
+ done
+ rm -rf x || die
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+ find "${D}" -name '*.la' -delete || die
+ if use man; then
+ doman doc/man/man3/*.3
+ fi
+}
diff --git a/dev-libs/libunibreak/metadata.xml b/dev-libs/libunibreak/metadata.xml
index 6e8a9edb3969..3618bfe8d2ce 100644
--- a/dev-libs/libunibreak/metadata.xml
+++ b/dev-libs/libunibreak/metadata.xml
@@ -12,4 +12,7 @@
<use>
<flag name="doc">Install html API documentation.</flag>
</use>
+ <upstream>
+ <remote-id type="github">adah1972/libunibreak</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libuninum/files/libuninum-2.7-64bit.patch b/dev-libs/libuninum/files/libuninum-2.7-64bit.patch
new file mode 100644
index 000000000000..65a8b67389ba
--- /dev/null
+++ b/dev-libs/libuninum/files/libuninum-2.7-64bit.patch
@@ -0,0 +1,37 @@
+--- libuninum-2.7.orig/uninum.c
++++ libuninum-2.7/uninum.c
+@@ -35,11 +35,11 @@
+ */
+
+
+-#define ucslen(x) wcslen((signed long *) x)
+-#define ucscpy(x,y) (UTF32 *)wcscpy((signed long *)x,(signed long *)y)
+-#define ucscat(x,y) (UTF32 *)wcscat((signed long *)x,(signed long *)y)
+-#define ucschr(x,y) (UTF32 *)wcschr((signed long *)x,(signed long)y)
+-#define ucsrchr(x,y) (UTF32 *)wcsrchr((signed long *)x,(signed long)y)
++#define ucslen(x) wcslen((wchar_t *) x)
++#define ucscpy(x,y) (UTF32 *)wcscpy((wchar_t *)x,(wchar_t *)y)
++#define ucscat(x,y) (UTF32 *)wcscat((wchar_t *)x,(wchar_t *)y)
++#define ucschr(x,y) (UTF32 *)wcschr((wchar_t *)x,(wchar_t)y)
++#define ucsrchr(x,y) (UTF32 *)wcsrchr((wchar_t *)x,(wchar_t)y)
+
+ #define UNINUM
+
+--- libuninum-2.7.orig/unicode.h
++++ libuninum-2.7/unicode.h
+@@ -1,8 +1,10 @@
+-typedef unsigned long UTF32; /* at least 32 bits */
+-typedef unsigned short UTF16; /* at least 16 bits */
+-typedef unsigned short UCS2; /* at least 16 bits */
+-typedef unsigned char UTF8; /* 8 bits */
+-typedef unsigned char Boolean; /* 0 or 1 */
++#include <stdint.h>
++
++typedef uint32_t UTF32; /* 32 bits */
++typedef uint16_t UTF16; /* 16 bits */
++typedef uint16_t UCS2; /* 16 bits */
++typedef uint8_t UTF8; /* 8 bits */
++typedef uint8_t Boolean; /* 0 or 1 */
+
+ #define UNI_MAX_ASCII (UTF32)0x0000007F
+ #define UNI_MAX_BMP (UTF32)0x0000FFFF
diff --git a/dev-libs/libuninum/files/libuninum-2.7-c99.patch b/dev-libs/libuninum/files/libuninum-2.7-c99.patch
new file mode 100644
index 000000000000..5e68d8bec148
--- /dev/null
+++ b/dev-libs/libuninum/files/libuninum-2.7-c99.patch
@@ -0,0 +1,30 @@
+Avoid an implicit declaration of exit in the configure script. This
+ensures that the package continues to build with future compilers
+which do not support such implicit declarations by default.
+
+diff --git a/configure b/configure
+index 8fd0eed37cb997de..f5ebc89db38d88f4 100755
+--- a/configure
++++ b/configure
+@@ -4323,8 +4323,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+@@ -18747,8 +18747,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
diff --git a/dev-libs/libuninum/libuninum-2.7-r1.ebuild b/dev-libs/libuninum/libuninum-2.7-r1.ebuild
deleted file mode 100644
index 1a786ed1da32..000000000000
--- a/dev-libs/libuninum/libuninum-2.7-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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"
-
-src_prepare() {
- default
-
- # LTO does not work.
- # See https://bugs.gentoo.org/855956
- filter-lto
-}
-
-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-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/libunique/libunique-1.1.6-r2.ebuild b/dev-libs/libunique/libunique-1.1.6-r2.ebuild
index f68458bd2c1f..220e05249093 100644
--- a/dev-libs/libunique/libunique-1.1.6-r2.ebuild
+++ b/dev-libs/libunique/libunique-1.1.6-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -12,7 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
LICENSE="LGPL-2.1"
SLOT="1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug dbus +introspection"
RDEPEND="
@@ -26,12 +26,12 @@ RDEPEND="
"
DEPEND="${RDEPEND}
dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
+ >=dev-build/gtk-doc-am-1.11
sys-devel/gettext
virtual/pkgconfig
"
# For eautoreconf
-# dev-util/gtk-doc-am
+# dev-build/gtk-doc-am
PATCHES=(
# Include NUL terminator in unique_message_data_get_filename()
diff --git a/dev-libs/libunique/libunique-1.1.6-r3.ebuild b/dev-libs/libunique/libunique-1.1.6-r3.ebuild
new file mode 100644
index 000000000000..0d8a90e831d9
--- /dev/null
+++ b/dev-libs/libunique/libunique-1.1.6-r3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME2_LA_PUNT="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit gnome2 virtualx
+
+DESCRIPTION="A library for writing single instance application"
+HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug dbus +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.12:2
+ >=x11-libs/gtk+-2.11:2[introspection?]
+ x11-libs/libX11
+ dbus? (
+ >=dev-libs/dbus-glib-0.70
+ sys-apps/dbus[X]
+ )
+ introspection? ( >=dev-libs/gobject-introspection-0.6.3:= )
+"
+DEPEND="${RDEPEND}
+ dev-util/glib-utils
+ >=dev-build/gtk-doc-am-1.11
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+# For eautoreconf
+# dev-build/gtk-doc-am
+
+PATCHES=(
+ # Include NUL terminator in unique_message_data_get_filename()
+ "${FILESDIR}/${P}-include-terminator.patch"
+
+ # test-unique: Resolve format string issues
+ "${FILESDIR}/${P}-fix-test.patch"
+
+ # Remove compiler warnings
+ "${FILESDIR}/${P}-compiler-warnings.patch"
+
+ # Remove G_CONST_RETURN usage, now that its gone in glib
+ "${FILESDIR}/${PN}-1.1.6-G_CONST_RETURN.patch"
+)
+
+src_configure() {
+ gnome2_src_configure \
+ --disable-maintainer-flags \
+ --enable-bacon \
+ $(use_enable introspection) \
+ $(usex debug --enable-debug=yes ' ') \
+ $(use_enable dbus)
+}
+
+src_test() {
+ cd "${S}/tests" || die
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ virtx emake -f run-tests
+}
diff --git a/dev-libs/libunique/libunique-3.0.2-r1.ebuild b/dev-libs/libunique/libunique-3.0.2-r1.ebuild
index 7a700c8eb031..973d210fa476 100644
--- a/dev-libs/libunique/libunique-3.0.2-r1.ebuild
+++ b/dev-libs/libunique/libunique-3.0.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
LICENSE="LGPL-2.1"
SLOT="3"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug +introspection"
RDEPEND="
@@ -23,11 +23,11 @@ RDEPEND="
"
DEPEND="${RDEPEND}
dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
+ >=dev-build/gtk-doc-am-1.11
virtual/pkgconfig
"
# For eautoreconf
-# dev-util/gtk-doc-am
+# dev-build/gtk-doc-am
src_configure() {
# --disable-dbus means gdbus is used instead of dbus-glib
diff --git a/dev-libs/libunique/libunique-3.0.2-r2.ebuild b/dev-libs/libunique/libunique-3.0.2-r2.ebuild
new file mode 100644
index 000000000000..91a4162448a3
--- /dev/null
+++ b/dev-libs/libunique/libunique-3.0.2-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2 virtualx
+
+DESCRIPTION="A library for writing single instance application"
+HOMEPAGE="https://wiki.gnome.org/Attic/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.25.7:2
+ sys-apps/dbus[X]
+ >=x11-libs/gtk+-2.90.0:3[introspection?]
+ x11-libs/libX11
+ introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
+"
+DEPEND="${RDEPEND}
+ dev-util/glib-utils
+ >=dev-build/gtk-doc-am-1.11
+ virtual/pkgconfig
+"
+# For eautoreconf
+# dev-build/gtk-doc-am
+
+src_configure() {
+ # --disable-dbus means gdbus is used instead of dbus-glib
+ gnome2_src_configure \
+ --disable-maintainer-flags \
+ --disable-dbus \
+ $(usex debug --enable-debug=yes ' ') \
+ $(use_enable introspection)
+}
+
+src_test() {
+ cd "${S}/tests" || die
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ virtx emake -f run-tests
+}
diff --git a/dev-libs/libunistring/Manifest b/dev-libs/libunistring/Manifest
index 810c567f1d70..26e7ef66e1aa 100644
--- a/dev-libs/libunistring/Manifest
+++ b/dev-libs/libunistring/Manifest
@@ -1,3 +1,4 @@
DIST libunistring-0.9.10.tar.xz 2051320 BLAKE2B 25d162d9d510cc35ad4209acceb9b06bcc0553b8ce56e94f8df12c4df64d91abfc4a9e15b50b5c8d5b9672939305a394a7e83f1892258defb7ae5ac2ccf79dfb SHA512 01dcab6e05ea4c33572bf96cc0558bcffbfc0e62fc86410cef06c1597a0073d5750525fe2dee4fdb39c9bd704557fcbab864f9645958108a2e07950bc539fe54
DIST libunistring-1.0.tar.xz 2367800 BLAKE2B 8208fe33d4ac2f015b0efb56b0c7dd87afc4bb1c6ca4eb3ded86d7e2101d7b7f68bfd8991af4b6dd408282ec73f134ee0b884e761ff6d52e8a1e398326aec420 SHA512 70d5ad82722844dbeacdfcb4d7593358e4a00a9222a98537add4b7f0bf4a2bb503dfb3cd627e52e2a5ca1d3da9e5daf38a6bd521197f92002e11e715fb1662d1
DIST libunistring-1.1.tar.xz 2397676 BLAKE2B 721adc90884006480055b95d0fa06cd862417aa02b467f1e14688292ad9c11f1e33520b14ed5dc2d2724c6df8713d3af1e8032014259d8355156cb72edfcb983 SHA512 01a4267bbd301ea5c389b17ee918ae5b7d645da8b2c6c6f0f004ff2dead9f8e50cda2c6047358890a5fceadc8820ffc5154879193b9bb8970f3fb1fea1f411d6
+DIST libunistring-1.2.tar.xz 2502196 BLAKE2B 606c6fdd93f05b01e9b08b3bd30283afcbf9a3425abf900e7672f1d6eb91b51009913d4f5e45a4c1c1b82a84b4870d3eaced9ca76fd570936ad5c39c94038fc7 SHA512 5fbb5a0a864db73a6d18cdea7b31237da907fff0ef288f3a8db6ebdba8ef61ad8855e5fc780c2bbf632218d8fa59dd119734e5937ca64dc77f53f30f13b80b17
diff --git a/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild b/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild
index 14579ae83fdd..ae2ec9293f80 100644
--- a/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild
+++ b/dev-libs/libunistring/libunistring-0.9.10-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,9 +9,9 @@ DESCRIPTION="Library for manipulating Unicode and C strings according to Unicode
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+ )"
+LICENSE="|| ( LGPL-3+ GPL-2 ) || ( FDL-1.2 GPL-3+ )"
SLOT="0/2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs"
PATCHES=(
diff --git a/dev-libs/libunistring/libunistring-1.0.ebuild b/dev-libs/libunistring/libunistring-1.0.ebuild
index c3c32aa3bdc4..564d1b08ffdc 100644
--- a/dev-libs/libunistring/libunistring-1.0.ebuild
+++ b/dev-libs/libunistring/libunistring-1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs"
PATCHES=(
diff --git a/dev-libs/libunistring/libunistring-1.1-r1.ebuild b/dev-libs/libunistring/libunistring-1.1-r1.ebuild
index ef712031ff45..25e593e719aa 100644
--- a/dev-libs/libunistring/libunistring-1.1-r1.ebuild
+++ b/dev-libs/libunistring/libunistring-1.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs"
PATCHES=(
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/libusb-compat/Manifest b/dev-libs/libusb-compat/Manifest
index c34e626a0eb4..638527fb3786 100644
--- a/dev-libs/libusb-compat/Manifest
+++ b/dev-libs/libusb-compat/Manifest
@@ -1,2 +1 @@
-DIST libusb-compat-0.1.5.tar.bz2 276769 BLAKE2B 66fa89c507d0454a587fa84d2ee2c34428963fa1770b44038fa45063466611ae263a3c790a167e5049393ef4d87073d1b16135d63cd0666256c3430bf36dae49 SHA512 fe63bd1c65e67588a83ebfdd329025ecf75f33f877fb80dd83eb528df057efb591e010416027f9054294504562299166e8e2811a7681fa1967a03baae9b88857
DIST libusb-compat-0.1.8.tar.bz2 32845 BLAKE2B f590afd539ad20613647b923d69b9fe8ea60b3f5162766a1d840f35e8f56a949f3defa8b1c40ceb8932cf0bf45b3b5097b9ac04a339242a2b906d4ba320e4245 SHA512 817a16a2c7268e0d73add97c06ec3f6e4fc4b8697bd3129bb6f907f138c2a5dccb662096c4cd0385341053b216afd398b21dfef14676777b906972c9e3af4e3e
diff --git a/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch b/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch
deleted file mode 100644
index c04f7172f3ed..000000000000
--- a/dev-libs/libusb-compat/files/libusb-0.1-ansi.patch
+++ /dev/null
@@ -1,188 +0,0 @@
---- a/libusb/usb.h
-+++ b/libusb/usb.h
-@@ -27,8 +27,10 @@
-
- #include <unistd.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <limits.h>
-
-+#include <sys/param.h>
- #include <dirent.h>
-
- /*
-@@ -78,40 +80,40 @@
-
- /* All standard descriptors have these 2 fields in common */
- struct usb_descriptor_header {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
- };
-
- /* String descriptor */
- struct usb_string_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wData[1];
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t wData[1];
- };
-
- /* HID descriptor */
- struct usb_hid_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdHID;
-- u_int8_t bCountryCode;
-- u_int8_t bNumDescriptors;
-- /* u_int8_t bReportDescriptorType; */
-- /* u_int16_t wDescriptorLength; */
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdHID;
-+ uint8_t bCountryCode;
-+ uint8_t bNumDescriptors;
-+ /* uint8_t bReportDescriptorType; */
-+ /* uint16_t wDescriptorLength; */
- /* ... */
- };
-
- /* Endpoint descriptor */
- #define USB_MAXENDPOINTS 32
- struct usb_endpoint_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bEndpointAddress;
-- u_int8_t bmAttributes;
-- u_int16_t wMaxPacketSize;
-- u_int8_t bInterval;
-- u_int8_t bRefresh;
-- u_int8_t bSynchAddress;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint8_t bEndpointAddress;
-+ uint8_t bmAttributes;
-+ uint16_t wMaxPacketSize;
-+ uint8_t bInterval;
-+ uint8_t bRefresh;
-+ uint8_t bSynchAddress;
-
- unsigned char *extra; /* Extra descriptors */
- int extralen;
-@@ -129,15 +131,15 @@ struct usb_endpoint_descriptor {
- /* Interface descriptor */
- #define USB_MAXINTERFACES 32
- struct usb_interface_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bInterfaceNumber;
-- u_int8_t bAlternateSetting;
-- u_int8_t bNumEndpoints;
-- u_int8_t bInterfaceClass;
-- u_int8_t bInterfaceSubClass;
-- u_int8_t bInterfaceProtocol;
-- u_int8_t iInterface;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint8_t bInterfaceNumber;
-+ uint8_t bAlternateSetting;
-+ uint8_t bNumEndpoints;
-+ uint8_t bInterfaceClass;
-+ uint8_t bInterfaceSubClass;
-+ uint8_t bInterfaceProtocol;
-+ uint8_t iInterface;
-
- struct usb_endpoint_descriptor *endpoint;
-
-@@ -155,14 +157,14 @@ struct usb_interface {
- /* Configuration descriptor information.. */
- #define USB_MAXCONFIG 8
- struct usb_config_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wTotalLength;
-- u_int8_t bNumInterfaces;
-- u_int8_t bConfigurationValue;
-- u_int8_t iConfiguration;
-- u_int8_t bmAttributes;
-- u_int8_t MaxPower;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t wTotalLength;
-+ uint8_t bNumInterfaces;
-+ uint8_t bConfigurationValue;
-+ uint8_t iConfiguration;
-+ uint8_t bmAttributes;
-+ uint8_t MaxPower;
-
- struct usb_interface *interface;
-
-@@ -172,28 +174,28 @@ struct usb_config_descriptor {
-
- /* Device descriptor */
- struct usb_device_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdUSB;
-- u_int8_t bDeviceClass;
-- u_int8_t bDeviceSubClass;
-- u_int8_t bDeviceProtocol;
-- u_int8_t bMaxPacketSize0;
-- u_int16_t idVendor;
-- u_int16_t idProduct;
-- u_int16_t bcdDevice;
-- u_int8_t iManufacturer;
-- u_int8_t iProduct;
-- u_int8_t iSerialNumber;
-- u_int8_t bNumConfigurations;
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdUSB;
-+ uint8_t bDeviceClass;
-+ uint8_t bDeviceSubClass;
-+ uint8_t bDeviceProtocol;
-+ uint8_t bMaxPacketSize0;
-+ uint16_t idVendor;
-+ uint16_t idProduct;
-+ uint16_t bcdDevice;
-+ uint8_t iManufacturer;
-+ uint8_t iProduct;
-+ uint8_t iSerialNumber;
-+ uint8_t bNumConfigurations;
- };
-
- struct usb_ctrl_setup {
-- u_int8_t bRequestType;
-- u_int8_t bRequest;
-- u_int16_t wValue;
-- u_int16_t wIndex;
-- u_int16_t wLength;
-+ uint8_t bRequestType;
-+ uint8_t bRequest;
-+ uint16_t wValue;
-+ uint16_t wIndex;
-+ uint16_t wLength;
- };
-
- /*
-@@ -254,7 +256,7 @@ struct usb_device {
-
- void *dev; /* Darwin support */
-
-- u_int8_t devnum;
-+ uint8_t devnum;
-
- unsigned char num_children;
- struct usb_device **children;
-@@ -266,7 +268,7 @@ struct usb_bus {
- char dirname[PATH_MAX + 1];
-
- struct usb_device *devices;
-- u_int32_t location;
-+ uint32_t location;
-
- struct usb_device *root_dev;
- };
diff --git a/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild b/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild
deleted file mode 100644
index 0939c53d83e2..000000000000
--- a/dev-libs/libusb-compat/libusb-compat-0.1.5-r3.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit usr-ldscript multilib-minimal
-
-DESCRIPTION="Userspace access to USB devices (libusb-0.1 compat wrapper)"
-HOMEPAGE="http://libusb.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN/-compat}/${P}.tar.bz2"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="debug examples"
-
-RDEPEND="
- >=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}]
- !dev-libs/libusb:0"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/${PN/-compat}-0.1-ansi.patch )
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/libusb-config
-)
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --disable-static \
- $(use_enable debug debug-log)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- gen_usr_ldscript -a usb
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use examples; then
- docinto examples
- dodoc examples/*.c
- fi
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild b/dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild
index 5df0ae72d5ac..84eadc48b96a 100644
--- a/dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild
+++ b/dev-libs/libusb-compat/libusb-compat-0.1.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/libusb/libusb-compat-0.1/releases/download/v${PV}/${
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"
+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="
diff --git a/dev-libs/libusb/Manifest b/dev-libs/libusb/Manifest
index 80547d902656..5ec672cd41dc 100644
--- a/dev-libs/libusb/Manifest
+++ b/dev-libs/libusb/Manifest
@@ -1 +1,2 @@
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.26.ebuild b/dev-libs/libusb/libusb-1.0.26.ebuild
index 7fdc7c660181..69e776459901 100644
--- a/dev-libs/libusb/libusb-1.0.26.ebuild
+++ b/dev-libs/libusb/libusb-1.0.26.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,7 +19,7 @@ REQUIRED_USE="static-libs? ( !udev )"
RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
!udev? ( virtual/os-headers )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
multilib_src_configure() {
local myeconfargs=(
diff --git a/dev-libs/libusb/libusb-1.0.27-r1.ebuild b/dev-libs/libusb/libusb-1.0.27-r1.ebuild
new file mode 100644
index 000000000000..b956c08ca087
--- /dev/null
+++ b/dev-libs/libusb/libusb-1.0.27-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit libtool multilib-minimal
+
+DESCRIPTION="Userspace access to USB devices"
+HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug doc examples static-libs test udev"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="static-libs? ( !udev )"
+
+RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )"
+DEPEND="
+ ${RDEPEND}
+ !udev? ( virtual/os-headers )
+"
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable udev)
+ $(use_enable debug debug-log)
+ $(use_enable test tests-build)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ use doc && emake -C doc
+ fi
+}
+
+multilib_src_test() {
+ emake check
+
+ # noinst_PROGRAMS from tests/Makefile.am
+ if [[ -e /dev/bus/usb ]]; then
+ tests/stress || die
+ else
+ # bug #824266
+ ewarn "/dev/bus/usb does not exist, skipping stress test"
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ use doc && dodoc -r doc/api-1.0
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ dodoc AUTHORS ChangeLog NEWS PORTING README TODO
+
+ if use examples; then
+ docinto examples
+ dodoc examples/*.{c,h}
+ fi
+}
diff --git a/dev-libs/libusb/metadata.xml b/dev-libs/libusb/metadata.xml
index 7875c7882461..00111e2f3be2 100644
--- a/dev-libs/libusb/metadata.xml
+++ b/dev-libs/libusb/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="github">libusb/libusb</remote-id>
+ <remote-id type="cpe">cpe:/a:libusb:libusb</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libutf8proc/Manifest b/dev-libs/libutf8proc/Manifest
index 5fbeaf34647b..29cd3c50b814 100644
--- a/dev-libs/libutf8proc/Manifest
+++ b/dev-libs/libutf8proc/Manifest
@@ -1,4 +1,2 @@
-DIST libutf8proc-2.7.0.tar.gz 187906 BLAKE2B b2b3dc86ffa38f1d75293455cca22d3c0a0c51c529f154bbeaf40bb8b91bcedbf3955cfa459323db8b00566ce42857391875dac6fd677e36f700e8614767ac25 SHA512 29f7883de13302d609e8755872ed43174e70076e9681b4ac3f9b03e50295c45d9972c193bc81f94ad7e11e2d33a46cad5a30a80873173e6e1ae242101ebb3bed
-DIST libutf8proc-2.8.0.tar.gz 190310 BLAKE2B 61b5af770ad65f959136eb9f5c03862f8d6edab32dc66fa663f6f76009c7481200fcba632d41efdf116f0f56f62fc237cd65e1038ab058fc127358d31ed3ee6d SHA512 4b9853fc95db38bee1d7435bef219907e25b249e0c2ec26f7096b8506ab2a139a8d4b71f7133b7550bff59d8f997fe01c2957d362cad18d890ad82bcf158aa06
-DIST libutf8proc-EastAsianWidth-14.0.0.xz 70420 BLAKE2B c2fa8ec34ae3cccb532d8ba82dc7ef40d82da2ed2f4bf187ef0df28cecd2e91320e25287e7bc6e7f22ffa6730af7b910b73d69172664235f3236c16a5ffe990f SHA512 5bd11dc8c30d12692d3cbca932c1bda5e19d9b5e99fc9f1a3ff8864e4f0e577769c4e1f91338cad10a468c38b904cf16b99ba44f44b80695cac23fe436f1e24a
-DIST libutf8proc-EastAsianWidth-15.0.0.xz 71296 BLAKE2B 701451cd6576d62ad4bc9c2d140ba78743b3fa5b062b40c2aaf47c02f5c3dc520a89fd51de4b46718c319c0ff2520e09cb39719cf73c044a14aa882b704cba12 SHA512 8b7a3b6cf56a98147ff5f64066a17c71247ae829bbdc10f758991aadf13b38a242a7f72ce13fdd4816117a0db98c084f0f9f32228817c9c2f31599955bb1e8fc
+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/libutf8proc-2.7.0.ebuild b/dev-libs/libutf8proc/libutf8proc-2.7.0.ebuild
deleted file mode 100644
index 480d46539ce0..000000000000
--- a/dev-libs/libutf8proc/libutf8proc-2.7.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-USE_RUBY="ruby27 ruby30 ruby31"
-
-inherit ruby-single toolchain-funcs
-
-DESCRIPTION="A clean C Library for processing UTF-8 Unicode data"
-HOMEPAGE="https://github.com/JuliaStrings/utf8proc"
-SRC_URI="https://github.com/JuliaStrings/${PN#lib}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- cjk? ( https://dev.gentoo.org/~hattya/distfiles/${PN}-EastAsianWidth-14.0.0.xz )"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="cjk static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? (
- =app-i18n/unicode-data-14.0*
- ${RUBY_DEPS}
- )"
-S="${WORKDIR}/${P#lib}"
-
-QA_PKGCONFIG_VERSION="$(ver_cut 1).5.0"
-
-src_prepare() {
- if use cjk; then
- einfo "Modifying East Asian Ambiguous (A) as wide ..."
- cp "${WORKDIR}"/${PN}-EastAsianWidth-14.0.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/libutf8proc-2.8.0.ebuild b/dev-libs/libutf8proc/libutf8proc-2.8.0.ebuild
deleted file mode 100644
index 325450e4dc5f..000000000000
--- a/dev-libs/libutf8proc/libutf8proc-2.8.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-USE_RUBY="ruby27 ruby30 ruby31"
-
-inherit ruby-single toolchain-funcs
-
-DESCRIPTION="A clean C Library for processing UTF-8 Unicode data"
-HOMEPAGE="https://github.com/JuliaStrings/utf8proc"
-SRC_URI="https://github.com/JuliaStrings/${PN#lib}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- cjk? ( https://dev.gentoo.org/~hattya/distfiles/${PN}-EastAsianWidth-15.0.0.xz )"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="cjk static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? (
- =app-i18n/unicode-data-15.0*
- ${RUBY_DEPS}
- )"
-S="${WORKDIR}/${P#lib}"
-
-QA_PKGCONFIG_VERSION="$(ver_cut 1).6.0"
-
-src_prepare() {
- if use cjk; then
- einfo "Modifying East Asian Ambiguous (A) as wide ..."
- cp "${WORKDIR}"/${PN}-EastAsianWidth-15.0.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/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/libuv/Manifest b/dev-libs/libuv/Manifest
index 6103274ae2f3..1c5d46d282d2 100644
--- a/dev-libs/libuv/Manifest
+++ b/dev-libs/libuv/Manifest
@@ -1 +1,2 @@
-DIST libuv-1.44.2.tar.gz 1309062 BLAKE2B 883a1fbffcd8f55bf28ea5a79ed18aa3e2f2fac126285e8aca2ef9370eafc62f69f95ddb8bf27d4159e038bfb0a01abafdf0dadbc4309e5d31f0e77057ee84ac SHA512 d21c890787b0b364fafa5fc0cbbff296bc2ca269e1991d2f7f35fcb37b8634da377466f5af5a4245425fcf876ae6870d100ab32b12bce64f8e0b01fd25a1bc83
+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.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.44.2-r1.ebuild b/dev-libs/libuv/libuv-1.44.2-r1.ebuild
deleted file mode 100644
index a994456d8364..000000000000
--- a/dev-libs/libuv/libuv-1.44.2-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Cross-platform asychronous I/O"
-HOMEPAGE="https://github.com/libuv/libuv"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/libuv/libuv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-
-BDEPEND="
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
- eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
- fi
-
- # Upstream fails to ship a configure script
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- cc_cv_cflags__g=no
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libuv/libuv-1.48.0.ebuild b/dev-libs/libuv/libuv-1.48.0.ebuild
new file mode 100644
index 000000000000..d4e41aef83bb
--- /dev/null
+++ b/dev-libs/libuv/libuv-1.48.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc
+inherit autotools verify-sig
+
+DESCRIPTION="Cross-platform asychronous I/O"
+HOMEPAGE="https://github.com/libuv/libuv"
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/libuv/libuv.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig )
+ "
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="BSD BSD-2 ISC MIT"
+SLOT="0/1"
+
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-libuv )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch
+)
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
+ eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
+ fi
+
+ # Upstream fails to ship a configure script and has missing m4 file.
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ cc_cv_cflags__g=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libuv/libuv-9999.ebuild b/dev-libs/libuv/libuv-9999.ebuild
index 0898d659c88a..056ed6900a01 100644
--- a/dev-libs/libuv/libuv-9999.ebuild
+++ b/dev-libs/libuv/libuv-9999.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libuv.asc
+inherit autotools verify-sig
DESCRIPTION="Cross-platform asychronous I/O"
HOMEPAGE="https://github.com/libuv/libuv"
@@ -12,29 +13,37 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://github.com/libuv/libuv.git"
inherit git-r3
else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ SRC_URI="
+ https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz -> ${P}.tar.gz
+ verify-sig? ( https://dist.libuv.org/dist/v${PV}/libuv-v${PV}.tar.gz.sign -> ${P}.tar.gz.sig )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ S="${WORKDIR}/${PN}-v${PV}"
fi
LICENSE="BSD BSD-2 ISC MIT"
SLOT="0/1"
BDEPEND="
- sys-devel/libtool
+ dev-build/libtool
virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-libuv )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.48.0-test-thread-priority-portage.patch
+)
+
src_prepare() {
default
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
fi
- # Upstream fails to ship a configure script
+ # Upstream fails to ship a configure script and has missing m4 file.
+ echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
+ > m4/libuv-extra-automake-flags.m4 || die
eautoreconf
}
diff --git a/dev-libs/libverto/Manifest b/dev-libs/libverto/Manifest
index 80b26d0e95f3..e762a2961874 100644
--- a/dev-libs/libverto/Manifest
+++ b/dev-libs/libverto/Manifest
@@ -1,2 +1 @@
-DIST libverto-0.3.1.tar.gz 383390 BLAKE2B 2d8366d85c2a02becf8fa9224d195a8d85f64aab735a0101997a52dd99750537b181a6dd2fc494b435b949b4a9cb785acb7222ba3f2424b7a7ddcf5d3c832387 SHA512 baef4fd280e0cb30167743608fd5a950fb4340eeb89e3630a0f63f8eab4d56f0f894a2e3283583b7ed8774d5e896c44e2c68c25882d95a07350f980af36b8740
DIST libverto-0.3.2.tar.gz 383181 BLAKE2B 76d43397ecd6b7839be2a588c5b668eb6657138e48b786cde6fd82bb33aa071ce5f9efa19f06765d868033fa2ef4a03cf6d43bcd087c431909d2ca17562a5a48 SHA512 342f20f83b8f674230fefba013505e1339dab0022e5e232c39d6763e4307088fa290b5a8e83f588e97142f5c4d190b1430288750e45f37a5fe4174d84ef85fc1
diff --git a/dev-libs/libverto/files/libverto-0.3.1-non-bash.patch b/dev-libs/libverto/files/libverto-0.3.1-non-bash.patch
deleted file mode 100644
index df7162e21a7e..000000000000
--- a/dev-libs/libverto/files/libverto-0.3.1-non-bash.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-Strips bashisms from configure.ac causing breakage in net-nds/gssproxy
-https://bugs.gentoo.org/762823
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,22 +91,22 @@ AC_ARG_WITH([tevent],
-
- # Ensure that if a builtin is chosen only one is built
- BUILTIN_MODULE=
--if test x$WITH_GLIB == xbuiltin; then
-+if test x$WITH_GLIB = xbuiltin; then
- BUILTIN_MODULE=glib
- WITH_LIBEV=no
- WITH_LIBEVENT=no
- WITH_TEVENT=no
--elif test x$WITH_LIBEV == xbuiltin; then
-+elif test x$WITH_LIBEV = xbuiltin; then
- BUILTIN_MODULE=libev
- WITH_LIBGLIB=no
- WITH_LIBEVENT=no
- WITH_TEVENT=no
--elif test x$WITH_LIBEVENT == xbuiltin; then
-+elif test x$WITH_LIBEVENT = xbuiltin; then
- BUILTIN_MODULE=libevent
- WITH_LIBGLIB=no
- WITH_LIBEV=no
- WITH_TEVENT=no
--elif test x$WITH_TEVENT == xbuiltin; then
-+elif test x$WITH_TEVENT = xbuiltin; then
- BUILTIN_MODULE=tevent
- WITH_GLIB=no
- WITH_LIBEV=no
-@@ -118,29 +118,29 @@ if test x$BUILTIN_MODULE != x; then
- fi
-
- # Ensure that there is only one default (convert duplicate default to yes)
--if test x$WITH_GLIB == xdefault; then
-+if test x$WITH_GLIB = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [glib])
-- test x$WITH_LIBEV == xdefault && WITH_LIBEV=yes
-- test x$WITH_LIBEVENT == xdefault && WITH_LIBEVENT=yes
-- test x$WITH_TEVENT == xdefault && WITH_TEVENT=yes
-+ test x$WITH_LIBEV = xdefault && WITH_LIBEV=yes
-+ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=yes
-+ test x$WITH_TEVENT = xdefault && WITH_TEVENT=yes
- fi
--if test x$WITH_LIBEV == xdefault; then
-+if test x$WITH_LIBEV = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [libev])
-- test x$WITH_LIBGLIB == xdefault && WITH_GLIB=yes
-- test x$WITH_LIBEVENT == xdefault && WITH_LIBEVENT=yes
-- test x$WITH_TEVENT == xdefault && WITH_TEVENT=yes
-+ test x$WITH_LIBGLIB = xdefault && WITH_GLIB=yes
-+ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=yes
-+ test x$WITH_TEVENT = xdefault && WITH_TEVENT=yes
- fi
--if test x$WITH_LIBEVENT == xdefault; then
-+if test x$WITH_LIBEVENT = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [libevent])
-- test x$WITH_GLIB == xdefault && WITH_GLIB=yes
-- test x$WITH_LIBEV == xdefault && WITH_LIBEV=yes
-- test x$WITH_TEVENT == xdefault && WITH_TEVENT=yes
-+ test x$WITH_GLIB = xdefault && WITH_GLIB=yes
-+ test x$WITH_LIBEV = xdefault && WITH_LIBEV=yes
-+ test x$WITH_TEVENT = xdefault && WITH_TEVENT=yes
- fi
--if test x$WITH_TEVENT == xdefault; then
-+if test x$WITH_TEVENT = xdefault; then
- AC_DEFINE([DEFUALT_MODULE], [tevent])
-- test x$WITH_GLIB == xdefault && WITH_GLIB=yes
-- test x$WITH_LIBEV == xdefault && WITH_LIBEV=yes
-- test x$WITH_LIBEVENT == xdefault && WITH_LIBEVENT=yes
-+ test x$WITH_GLIB = xdefault && WITH_GLIB=yes
-+ test x$WITH_LIBEV = xdefault && WITH_LIBEV=yes
-+ test x$WITH_LIBEVENT = xdefault && WITH_LIBEVENT=yes
- fi
-
- BUILD_GLIB=no
-@@ -151,7 +151,7 @@ BUILD_TEVENT=no
- if test x$WITH_GLIB != xno; then
- PKG_CHECK_MODULES([glib], [glib-2.0], [BUILD_GLIB=$WITH_GLIB],
- [test x$WITH_GLIB != xauto && AC_MSG_ERROR("glib not found")])
-- if test x$BUILD_GLIB == xauto; then
-+ if test x$BUILD_GLIB = xauto; then
- BUILD_GLIB=yes
- fi
- fi
-@@ -165,7 +165,7 @@ if test x$WITH_LIBEV != xno; then
- ),
- [test x$WITH_LIBEV != xauto && AC_MSG_ERROR("ev.h not found")]
- )
-- if test x$BUILD_LIBEV == xauto; then
-+ if test x$BUILD_LIBEV = xauto; then
- BUILD_LIBEV=yes
- fi
- fi
-@@ -173,7 +173,7 @@ fi
- if test x$WITH_LIBEVENT != xno; then
- PKG_CHECK_MODULES([libevent], [libevent >= 2.0], [BUILD_LIBEVENT=$WITH_LIBEVENT],
- [test x$WITH_LIBEVENT != xauto && AC_MSG_ERROR("libevent not found")])
-- if test x$BUILD_LIBEVENT == xauto; then
-+ if test x$BUILD_LIBEVENT = xauto; then
- BUILD_LIBEVENT=yes
- fi
- fi
-@@ -181,19 +181,19 @@ fi
- if test x$WITH_TEVENT != xno; then
- PKG_CHECK_MODULES([tevent], [tevent], [BUILD_TEVENT=$WITH_TEVENT],
- [test x$WITH_TEVENT != xauto && AC_MSG_ERROR("tevent not found")])
-- if test x$BUILD_TEVENT == xauto; then
-+ if test x$BUILD_TEVENT = xauto; then
- BUILD_TEVENT=yes
- fi
- fi
-
--AM_CONDITIONAL([MODULE_GLIB], [test x$BUILTIN_MODULE == x && test x$BUILD_GLIB != xno])
--AM_CONDITIONAL([MODULE_LIBEV], [test x$BUILTIN_MODULE == x && test x$BUILD_LIBEV != xno])
--AM_CONDITIONAL([MODULE_LIBEVENT], [test x$BUILTIN_MODULE == x && test x$BUILD_LIBEVENT != xno])
--AM_CONDITIONAL([MODULE_TEVENT], [test x$BUILTIN_MODULE == x && test x$BUILD_TEVENT != xno])
--AM_CONDITIONAL([BUILTIN_GLIB], [test x$BUILTIN_MODULE == xglib])
--AM_CONDITIONAL([BUILTIN_LIBEV], [test x$BUILTIN_MODULE == xlibev])
--AM_CONDITIONAL([BUILTIN_LIBEVENT], [test x$BUILTIN_MODULE == xlibevent])
--AM_CONDITIONAL([BUILTIN_TEVENT], [test x$BUILTIN_MODULE == xtevent])
-+AM_CONDITIONAL([MODULE_GLIB], [test x$BUILTIN_MODULE = x && test x$BUILD_GLIB != xno])
-+AM_CONDITIONAL([MODULE_LIBEV], [test x$BUILTIN_MODULE = x && test x$BUILD_LIBEV != xno])
-+AM_CONDITIONAL([MODULE_LIBEVENT], [test x$BUILTIN_MODULE = x && test x$BUILD_LIBEVENT != xno])
-+AM_CONDITIONAL([MODULE_TEVENT], [test x$BUILTIN_MODULE = x && test x$BUILD_TEVENT != xno])
-+AM_CONDITIONAL([BUILTIN_GLIB], [test x$BUILTIN_MODULE = xglib])
-+AM_CONDITIONAL([BUILTIN_LIBEV], [test x$BUILTIN_MODULE = xlibev])
-+AM_CONDITIONAL([BUILTIN_LIBEVENT], [test x$BUILTIN_MODULE = xlibevent])
-+AM_CONDITIONAL([BUILTIN_TEVENT], [test x$BUILTIN_MODULE = xtevent])
-
- AC_MSG_NOTICE()
- AC_MSG_NOTICE([BUILD CONFIGURATION])
diff --git a/dev-libs/libverto/libverto-0.3.1-r1.ebuild b/dev-libs/libverto/libverto-0.3.1-r1.ebuild
deleted file mode 100644
index 298ede94f7a8..000000000000
--- a/dev-libs/libverto/libverto-0.3.1-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-DESCRIPTION="Main event loop abstraction library"
-HOMEPAGE="https://github.com/latchset/libverto/"
-SRC_URI="https://github.com/latchset/libverto/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="glib +libev libevent tevent +threads static-libs"
-REQUIRED_USE="|| ( glib libev libevent tevent ) "
-
-DEPEND="glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] )
- libev? ( >=dev-libs/libev-4.15[${MULTILIB_USEDEP}] )
- libevent? ( >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] )
- tevent? ( >=sys-libs/tevent-0.9.19[${MULTILIB_USEDEP}] )"
-
-RDEPEND="${DEPEND}"
-
-DOCS=( AUTHORS ChangeLog NEWS INSTALL README )
-
-PATCHES=(
- # Runtime breakage caused by bashisms, bug #762823
- "${FILESDIR}/${PN}-0.3.1-non-bash.patch"
-)
-
-src_prepare() {
- default
- # known problem uptream with tevent write test. tevent does not fire a
- # callback on error, but we explicitly test for this behaviour. Do not run
- # tevent tests for now.
- sed -i -e 's/def HAVE_TEVENT/ 0/' tests/test.h || die
- eautoreconf
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" \
- econf \
- $(use_with glib) \
- $(use_with libev) \
- $(use_with libevent) \
- $(use_with tevent) \
- $(use_with threads pthread) \
- $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- default
- use static-libs || find "${ED}" -name '*.la' -delete
-}
diff --git a/dev-libs/libverto/libverto-0.3.2.ebuild b/dev-libs/libverto/libverto-0.3.2.ebuild
index 4326fa0e3278..6fb7b0c2d40d 100644
--- a/dev-libs/libverto/libverto-0.3.2.ebuild
+++ b/dev-libs/libverto/libverto-0.3.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools multilib-minimal
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/latchset/libverto/releases/download/${PV}/${P}.tar.g
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="glib +libev libevent +threads"
REQUIRED_USE="|| ( glib libev libevent )"
diff --git a/dev-libs/libverto/metadata.xml b/dev-libs/libverto/metadata.xml
index 8e90132b3959..a8ac1e8d61f8 100644
--- a/dev-libs/libverto/metadata.xml
+++ b/dev-libs/libverto/metadata.xml
@@ -6,10 +6,12 @@
<email>eras@gentoo.org</email>
<name>Eray Aslan</name>
</maintainer>
+<upstream>
+ <remote-id type="github">latchset/libverto</remote-id>
+</upstream>
<use>
<flag name="glib">Support event loops using <pkg>dev-libs/glib</pkg></flag>
<flag name="libev">Support event loops using <pkg>dev-libs/libev</pkg></flag>
<flag name="libevent">Support event loops using <pkg>dev-libs/libevent</pkg></flag>
- <flag name="tevent">Support event loops using <pkg>sys-libs/tevent</pkg></flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/libvoikko/Manifest b/dev-libs/libvoikko/Manifest
index 1c6ccfc16553..27032288f6ea 100644
--- a/dev-libs/libvoikko/Manifest
+++ b/dev-libs/libvoikko/Manifest
@@ -1,2 +1,2 @@
-DIST libvoikko-4.3.1.tar.gz 658079 BLAKE2B 4f52789b5d62991333ba9b979259a631ef2989bc70358b398a4281d56765046209657fd3e41afd47ee7ba1dbafeeb4a34ffd007e55037bca9958fb813e4b7202 SHA512 6677fac7c0cba1289dda23b0c0a4bbe44480ce747189d40634ac57811728c1942a795efd50270e933373fabab9c54e82a8f9fde06d936442820e3f8019574f08
-DIST libvoikko-4.3.1.tar.gz.asc 833 BLAKE2B 4a69ae75da1973e383ab21cb557352be1344dc6e34fef13e28616fbd9e0003b93ef5e3488f1e776eb476a750980281463ee144edc5849ec7e3159badc160ceb7 SHA512 04a5e8899679e1503ec0d378903b8ff17e8065aa105ba61559b584eb4cde2a5a9b622fd39bd0126bb87915c7dcbac8495e874c3cdabf25232b1ae41491275ba0
+DIST libvoikko-4.3.2.tar.gz 672196 BLAKE2B fb5cf5d415cb2bfd9849a62ffc7822ee2d79b153035e326cdf9103f17fbeab36edb878604980a09346ed5a9fce0b8006012a92483dc886b20d932802bc9bedd9 SHA512 d510a9344501f86b2f644c1237faf8709f02b5d17bca76f7934c8422495aeee307f12c60dde47df15a39c24c3311253d3dea2d0648050fc3a056a22497de695c
+DIST libvoikko-4.3.2.tar.gz.asc 833 BLAKE2B e1abeb8fb376c83a09ac26a5ffda98c86bb17fc6b7e2b1d4e0976e2b563aeabbeae7200c9a0298051d6e11bc28b83d540e7e2cfff7253030253e81fd39115256 SHA512 5416123b9610225e2baf26ebb8be27d98ac04d34af9c2ed9252fa6e2c2909276a47967a297fc9bf0b51a6bf8650a55919ea4071dd976752b26a3dfec271ddf0a
diff --git a/dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch b/dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch
deleted file mode 100644
index 59369a613b7b..000000000000
--- a/dev-libs/libvoikko/files/libvoikko-4.3-disable-wall-werror.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Naur a/configure b/configure
---- a/configure 2019-10-17 17:28:10.000000000 +0300
-+++ b/configure 2021-02-19 11:32:45.084523937 +0200
-@@ -17652,7 +17652,7 @@
-
-
- tmp_CXXFLAGS="$CXXFLAGS"
--CXXFLAGS="$CXXFLAGS -Wall -Werror -fvisibility=hidden"
-+CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports the visibility attribute" >&5
- $as_echo_n "checking whether $CC supports the visibility attribute... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-@@ -18413,7 +18413,7 @@
- if test "x$ax_pthread_try" = "xunknown"; then :
- break
- fi
-- CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
-+ CFLAGS="-Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
- ac_link="$ax_pthread_save_ac_link"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-@@ -19102,7 +19102,7 @@
- done
-
-
--CXXFLAGS="$CXXFLAGS -Wall -Werror -pedantic"
-+CXXFLAGS="$CXXFLAGS -pedantic"
-
- ac_config_files="$ac_config_files Makefile src/Makefile src/tools/Makefile java/Makefile test/Makefile cs/Makefile cl/Makefile src/libvoikko.pc"
-
diff --git a/dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch b/dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch
new file mode 100644
index 000000000000..eee8dd56419e
--- /dev/null
+++ b/dev-libs/libvoikko/files/libvoikko-4.3.2-disable-wall-werror.patch
@@ -0,0 +1,30 @@
+diff -Naur a/configure b/configure
+--- a/configure 2023-03-04 19:40:49.000000000 +0200
++++ b/configure 2023-04-02 14:42:31.748484834 +0300
+@@ -18676,7 +18676,7 @@
+
+
+ tmp_CXXFLAGS="$CXXFLAGS"
+-CXXFLAGS="$CXXFLAGS -Wall -Werror -fvisibility=hidden"
++CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports the visibility attribute" >&5
+ printf %s "checking whether $CC supports the visibility attribute... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+@@ -19748,7 +19748,7 @@
+ then :
+ break
+ fi
+- CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
++ CFLAGS="-Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+ ac_link="$ax_pthread_save_ac_link"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+@@ -20239,7 +20239,7 @@
+ fi
+
+
+-CXXFLAGS="$CXXFLAGS -Wall -Werror -pedantic"
++CXXFLAGS="$CXXFLAGS -pedantic"
+
+ ac_config_files="$ac_config_files Makefile src/Makefile src/tools/Makefile java/Makefile test/Makefile cs/Makefile cl/Makefile src/libvoikko.pc"
+
diff --git a/dev-libs/libvoikko/libvoikko-4.3.1.ebuild b/dev-libs/libvoikko/libvoikko-4.3.1.ebuild
deleted file mode 100644
index ea57bc070cea..000000000000
--- a/dev-libs/libvoikko/libvoikko-4.3.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit python-r1 verify-sig
-
-DESCRIPTION="Spell checking, hyphenation and morphological analysis tool for Finnish language"
-HOMEPAGE="https://voikko.puimula.org/"
-SRC_URI="https://www.puimula.org/voikko-sources/${PN}/${P}.tar.gz
- verify-sig? ( https://www.puimula.org/voikko-sources/libvoikko/${P}.tar.gz.asc )"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-IUSE="+expvfst +hfst verify-sig"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RESTRICT="test"
-
-DEPEND="${PYTHON_DEPS}
- hfst? ( >=dev-util/hfstospell-0.5.0 )"
-RDEPEND="${DEPEND}"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-voikko )"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/voikko.asc
-
-PATCHES=( "${FILESDIR}"/libvoikko-4.3-disable-wall-werror.patch )
-
-src_configure() {
- local myconf=(
- --prefix=/usr
- --with-dictionary-path=/usr/share/voikko
- $(use_enable expvfst)
- )
-
- if ! use hfst ; then
- myconf+=( --disable-hfst )
- fi
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- python_setup
- default
-
- python_foreach_impl python_domodule python/libvoikko.py
-
- find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die
-}
diff --git a/dev-libs/libvoikko/libvoikko-4.3.2.ebuild b/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
new file mode 100644
index 000000000000..967e5319d288
--- /dev/null
+++ b/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit python-r1 verify-sig
+
+DESCRIPTION="Spell checking, hyphenation and morphological analysis tool for Finnish language"
+HOMEPAGE="https://voikko.puimula.org/"
+SRC_URI="https://www.puimula.org/voikko-sources/${PN}/${P}.tar.gz
+ verify-sig? ( https://www.puimula.org/voikko-sources/libvoikko/${P}.tar.gz.asc )"
+
+LICENSE="GPL-2+"
+SLOT="0/1.16.2"
+KEYWORDS="amd64 ~loong ~riscv x86"
+
+IUSE="+expvfst +hfst verify-sig"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="test"
+
+DEPEND="${PYTHON_DEPS}
+ hfst? ( >=dev-util/hfstospell-0.5.0 )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig
+ >=dev-build/autoconf-2.71
+ verify-sig? ( sec-keys/openpgp-keys-voikko )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/voikko.asc
+
+PATCHES=( "${FILESDIR}"/libvoikko-4.3.2-disable-wall-werror.patch )
+
+src_configure() {
+ local myconf=(
+ --prefix=/usr
+ --with-dictionary-path=/usr/share/voikko
+ $(use_enable expvfst)
+ )
+
+ if ! use hfst ; then
+ myconf+=( --disable-hfst )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ python_setup
+ default
+
+ python_foreach_impl python_domodule python/libvoikko.py
+
+ find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die
+}
diff --git a/dev-libs/libvterm/Manifest b/dev-libs/libvterm/Manifest
index 251907a5c150..ae74e3979919 100644
--- a/dev-libs/libvterm/Manifest
+++ b/dev-libs/libvterm/Manifest
@@ -1,2 +1,5 @@
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.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.1.4.ebuild b/dev-libs/libvterm/libvterm-0.1.4.ebuild
index 343e999b6fee..0354fdbb6843 100644
--- a/dev-libs/libvterm/libvterm-0.1.4.ebuild
+++ b/dev-libs/libvterm/libvterm-0.1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~x64-macos"
BDEPEND="
dev-lang/perl
- sys-devel/libtool
+ dev-build/libtool
virtual/pkgconfig
"
RDEPEND="!dev-libs/libvterm-neovim"
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
index bb38dd59be3c..3d18f7eb2f0c 100644
--- a/dev-libs/libvterm/libvterm-0.3.ebuild
+++ b/dev-libs/libvterm/libvterm-0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,11 +9,11 @@ SRC_URI="https://www.leonerd.org.uk/code/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~x64-macos"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~x64-macos"
BDEPEND="
dev-lang/perl
- sys-devel/libtool
+ dev-build/libtool
"
src_compile() {
diff --git a/dev-libs/libwacom/Manifest b/dev-libs/libwacom/Manifest
index 0dfbbbd0203a..15b5c4b67c06 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -1,3 +1,5 @@
-DIST libwacom-2.4.0.tar.xz 108812 BLAKE2B 18f41cd052b18c652c61062948355b4738afe57db344749055492cc6853bcbe3048c582a72318891727ec0fb01a7799f4c80c544b37b51c9246f98e5ae3fef1b SHA512 c67b8a81e9f4285a4e6f422b29e9b8b3677e3fc45e5190fd2b95ad361e5ef35e124b7d78bcf2bb9d7b7183525a6be9916b3038714c42c9ef405a1075750465f3
-DIST libwacom-2.5.0.tar.xz 109284 BLAKE2B cb9443aba276694eb64c6073488746ff4aff75ed77f334425d2f391a591f0a6cf222ef2124b6533ca7f2ca8e5eef36cd335026a87afabc12d912918ac1f930ed SHA512 62d181a5f4ce1335cd72623b7e82d5d44b9a11c08ec2ef4a98fd815fe2e1f814f42c909c2977e1b1ce803f04bac43414577830ff3724643fcecaf37113d098cf
+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-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.4.0.ebuild b/dev-libs/libwacom/libwacom-2.4.0.ebuild
deleted file mode 100644
index 62173377ae27..000000000000
--- a/dev-libs/libwacom/libwacom-2.4.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit meson 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-doc/doxygen )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/python-libevdev[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- python_has_version "dev-python/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.5.0.ebuild b/dev-libs/libwacom/libwacom-2.5.0.ebuild
deleted file mode 100644
index 62173377ae27..000000000000
--- a/dev-libs/libwacom/libwacom-2.5.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit meson 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-doc/doxygen )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/python-libevdev[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- python_has_version "dev-python/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.6.0.ebuild b/dev-libs/libwacom/libwacom-2.6.0.ebuild
index 87bd2af102ef..d1ebf1a3d796 100644
--- a/dev-libs/libwacom/libwacom-2.6.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ 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"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
@@ -23,11 +23,11 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? (
${PYTHON_DEPS}
$(python_gen_any_dep '
- dev-python/python-libevdev[${PYTHON_USEDEP}]
+ dev-python/libevdev[${PYTHON_USEDEP}]
dev-python/pyudev[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
')
@@ -35,12 +35,17 @@ BDEPEND="
"
python_check_deps() {
- use test || return 0
- python_has_version "dev-python/python-libevdev[${PYTHON_USEDEP}]" &&
+ 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
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/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch b/dev-libs/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch
deleted file mode 100644
index 6d84e24de433..000000000000
--- a/dev-libs/libwapcaplet/files/libwapcaplet-0.4.1-makefile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Makefile b/Makefile
-index a220258..0e0799e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -24,7 +24,6 @@ WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
- -Wmissing-declarations -Wnested-externs
- # BeOS/Haiku standard library headers issue warnings
- ifneq ($(BUILD),i586-pc-haiku)
-- WARNFLAGS := $(WARNFLAGS) -Werror
- endif
-
- CFLAGS := -D_BSD_SOURCE -D_DEFAULT_SOURCE \
diff --git a/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild b/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
index f60d9229693d..d4494f601744 100644
--- a/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
+++ b/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,12 +6,12 @@ EAPI=7
inherit netsurf
DESCRIPTION="string internment library, written in C"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libwapcaplet/"
+HOMEPAGE="https://www.netsurf-browser.org/projects/libwapcaplet/"
SRC_URI="https://download.netsurf-browser.org/libs/releases/${P}-src.tar.gz"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -19,12 +19,7 @@ RESTRICT="!test? ( test )"
DEPEND="
test? ( >=dev-libs/check-0.9.11 )"
BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1"
-
-PATCHES=(
- # bug 664288
- "${FILESDIR}/${PN}-0.4.1-makefile.patch"
-)
+ >=dev-build/netsurf-buildsystem-1.7-r1"
_emake() {
netsurf_define_makeconf
diff --git a/dev-libs/libwapcaplet/metadata.xml b/dev-libs/libwapcaplet/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/libwapcaplet/metadata.xml
+++ b/dev-libs/libwapcaplet/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/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/libx86-1.1-r6.ebuild b/dev-libs/libx86/libx86-1.1-r6.ebuild
new file mode 100644
index 000000000000..924c7e02a2ab
--- /dev/null
+++ b/dev-libs/libx86/libx86-1.1-r6.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A hardware-independent library for executing real-mode x86 code"
+HOMEPAGE="https://www.codon.org.uk/~mjg59/libx86/"
+SRC_URI="https://www.codon.org.uk/~mjg59/${PN}/downloads/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm -ppc -riscv -sparc ~x86"
+
+PATCHES=(
+ # fix compile failure with linux-headers-2.6.26, bug 235599
+ "${FILESDIR}"/${PN}-0.99-ifmask.patch
+ # Patch for bugs #236888 and #456648
+ "${FILESDIR}"/${P}-makefile.patch
+ # Wider arch compatibility, bug #579682
+ "${FILESDIR}"/${P}-x86emu.patch
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_configure() {
+ tc-export AR CC
+ append-cflags -fno-delete-null-pointer-checks #523276
+}
+
+src_compile() {
+ emake $(usev !x86 BACKEND=x86emu) LIBRARY=shared shared
+}
+
+src_install() {
+ emake \
+ LIBDIR=/usr/$(get_libdir) \
+ DESTDIR="${ED}" \
+ install-header install-shared
+}
diff --git a/dev-libs/libx86/metadata.xml b/dev-libs/libx86/metadata.xml
index a3862b8ec2fc..115e9d64a669 100644
--- a/dev-libs/libx86/metadata.xml
+++ b/dev-libs/libx86/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libx86emu/Manifest b/dev-libs/libx86emu/Manifest
index df95413d8a44..5d5926c5b067 100644
--- a/dev-libs/libx86emu/Manifest
+++ b/dev-libs/libx86emu/Manifest
@@ -1 +1,2 @@
DIST libx86emu-1.1-9.8.src.rpm 59517 BLAKE2B 6ae5b7792b9b67b93d12e9908e9941417e4149ed6289e0d02b23710ae4295d74aae806d85b0a0aa719eee6d63725b161dd8870d92b5352383a0beee5ce7827c9 SHA512 cb44306bb76feb47d46f1f3dd92cc6bf694dcc2c42d191fd9ff9f0b68744aeb25e99b29336e5ffe67e9a3d02c51d56690429b892d7fd26438dcc1d6603e18bcb
+DIST libx86emu-3.5.tar.gz 144969 BLAKE2B 3bba65ca6b42e92ad578a1bdacc94b5aad1f38f51d1e1fde1db65590db9611823a9e750675feb9c20fc7706e19181fe334e127a9c861159cea03aa5ea33d90a7 SHA512 079a8b5a7166802cd9bf781436dccc36a064c7e05c199bb41cc4d225e43afad4cc99654b3cb58389f7f806ffa625b5d793468064fdd9fa758ae0415496b18a9e
diff --git a/dev-libs/libx86emu/libx86emu-1.1-r1.ebuild b/dev-libs/libx86emu/libx86emu-1.1-r1.ebuild
new file mode 100644
index 000000000000..d9350ff29d80
--- /dev/null
+++ b/dev-libs/libx86emu/libx86emu-1.1-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit rpm toolchain-funcs
+
+DESCRIPTION="A library for emulating x86"
+HOMEPAGE="https://www.opensuse.org/"
+SRC_URI="https://download.opensuse.org/source/factory/repo/oss/suse/src/${P}-9.8.src.rpm"
+
+LICENSE="HPND"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1-fix-makefile.patch
+ "${FILESDIR}"/${PN}-1.1-gcc10-fno-common.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+ dodoc Changelog README
+}
diff --git a/dev-libs/libx86emu/libx86emu-1.1.ebuild b/dev-libs/libx86emu/libx86emu-1.1.ebuild
deleted file mode 100644
index 21c131149a92..000000000000
--- a/dev-libs/libx86emu/libx86emu-1.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit rpm toolchain-funcs
-
-DESCRIPTION="A library for emulating x86"
-HOMEPAGE="https://www.opensuse.org/"
-SRC_URI="https://download.opensuse.org/source/factory/repo/oss/suse/src/${P}-9.8.src.rpm"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1-fix-makefile.patch
- "${FILESDIR}"/${PN}-1.1-gcc10-fno-common.patch
-)
-
-src_configure() {
- tc-export CC
-}
-
-src_install() {
- emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
- dodoc Changelog README
-}
diff --git a/dev-libs/libx86emu/libx86emu-3.5-r1.ebuild b/dev-libs/libx86emu/libx86emu-3.5-r1.ebuild
new file mode 100644
index 000000000000..67dff191f657
--- /dev/null
+++ b/dev-libs/libx86emu/libx86emu-3.5-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="A library for emulating x86"
+HOMEPAGE="https://github.com/wfeldt/libx86emu"
+SRC_URI="https://github.com/wfeldt/libx86emu/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+
+src_prepare() {
+ default
+ echo "${PV}" > VERSION || die
+ rm -fr git2log || die
+}
+
+src_compile() {
+ emake shared CC=$(tc-getCC) CFLAGS="${CFLAGS} -fPIC -Wall" LDFLAGS="${LDFLAGS}"
+}
+
+src_test() {
+ emake test CC=$(tc-getCC) CFLAGS="${CFLAGS} -fPIC -Wall" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+ dodoc README.md
+}
diff --git a/dev-libs/libx86emu/metadata.xml b/dev-libs/libx86emu/metadata.xml
index 85e4ed814fa2..8c19e870e06d 100644
--- a/dev-libs/libx86emu/metadata.xml
+++ b/dev-libs/libx86emu/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">wfeldt/libx86emu</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/libxdg-basedir/Manifest b/dev-libs/libxdg-basedir/Manifest
index 1328b3f30b13..c2fba695e2f4 100644
--- a/dev-libs/libxdg-basedir/Manifest
+++ b/dev-libs/libxdg-basedir/Manifest
@@ -1,2 +1 @@
-DIST libxdg-basedir-1.2.0.tar.gz 30159 BLAKE2B cd9eacf6d32e0f27aa4a9092fb919f027fe77905cf8cad2f3d860d93f9784bbcf85336704fd9241d58769e48b2a8a7e4b4ed306ff32328f1ddc7cce7b014dc09 SHA512 8584405d45e0b57e570666b6eab6d99d70411d00f88965826c9ed0292372385668f190157a10ff536f3a5a59fd0031b332ecbb8a38ac64eda1b04a0603997406
DIST libxdg-basedir-1.2.3.tar.gz 30971 BLAKE2B 63e8197f33db1200573b03cb58e4760ebc9a58f132902f8290822d9235be27e22bc4b763150a526cce23be60d2d535cd8627259180edce4d889a077d4b0de20c SHA512 e672da0d9cd3c27c9113f6053b79127e615e5d84bde81305242f506e930869d8492304aac26a0296528d5a32530e4a743acecb6a25f58372ac597af284429f7c
diff --git a/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch b/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch
deleted file mode 100644
index 4cd601cbde54..000000000000
--- a/dev-libs/libxdg-basedir/files/libxdg-basedir-1.2.0-buffer-overflow.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 14e000f696ef8b83264b0ca4407669bdb365fb23 Mon Sep 17 00:00:00 2001
-From: Timmy Weerwag <timmy@timmyweerwag.nl>
-Date: Sun, 16 Mar 2014 17:54:14 +0100
-Subject: [PATCH] Overflow bug
-
-Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
----
- src/basedir.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/basedir.c b/src/basedir.c
-index 68ab879..1a2a8c4 100644
---- a/src/basedir.c
-+++ b/src/basedir.c
-@@ -574,7 +574,7 @@ static char * xdgGetRelativeHome(const char *envname, const char *relativefallba
- unsigned int homelen;
- if (!(home = xdgGetEnv("HOME")))
- return NULL;
-- if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength))) return NULL;
-+ if (!(relhome = (char*)malloc((homelen = strlen(home))+fallbacklength+1))) return NULL;
- memcpy(relhome, home, homelen);
- memcpy(relhome+homelen, relativefallback, fallbacklength+1);
- }
---
-1.8.3.2
-
diff --git a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild
deleted file mode 100644
index 8c306a31e412..000000000000
--- a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Small library to access XDG Base Directories Specification paths"
-HOMEPAGE="https://github.com/devnev/libxdg-basedir"
-SRC_URI="https://github.com/devnev/libxdg-basedir/archive/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x64-macos ~x86-solaris"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-buffer-overflow.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-static \
- $(use_enable doc doxygen-html)
-}
-
-src_compile() {
- emake
-
- if use doc; then
- emake doxygen-doc
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- if use doc; then
- docinto html
- dodoc -r doc/html/*
- fi
-
- find "${ED}" -type f -name '*.la' -delete
-}
diff --git a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild
index 621aa53496b5..e4e7f70a1632 100644
--- a/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild
+++ b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,10 +12,10 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos ~x86-solaris"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
IUSE="doc"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/libxls/files/libxls-1.6.2-gcc13.patch b/dev-libs/libxls/files/libxls-1.6.2-gcc13.patch
new file mode 100644
index 000000000000..6958bb63bc65
--- /dev/null
+++ b/dev-libs/libxls/files/libxls-1.6.2-gcc13.patch
@@ -0,0 +1,25 @@
+https://github.com/libxls/libxls/pull/118
+
+From f46aea10c50fb08657c15f8f3e813d5434b8b4d5 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Wed, 18 Jan 2023 05:21:23 -0500
+Subject: [PATCH] Fix header include in C++ mode
+
+This file is included in the toplevel `xls.h` within an `extern "C"`,
+which means including C++ headers in it is completely broken. With GCC
+13, this causes strange errors due to "missing" symbols.
+--- a/include/libxls/xlstypes.h
++++ b/include/libxls/xlstypes.h
+@@ -36,11 +36,7 @@
+ #ifndef XLS_TYPES_INC
+ #define XLS_TYPES_INC
+
+-#ifdef __cplusplus
+-#include <cstdint>
+-#else
+ #include <stdint.h>
+-#endif
+ #include <sys/types.h>
+
+ typedef unsigned char BYTE;
+
diff --git a/dev-libs/libxls/libxls-1.6.2-r1.ebuild b/dev-libs/libxls/libxls-1.6.2-r1.ebuild
new file mode 100644
index 000000000000..228ecb9ef798
--- /dev/null
+++ b/dev-libs/libxls/libxls-1.6.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A library which can read Excel (xls) files"
+HOMEPAGE="https://github.com/libxls/libxls"
+SRC_URI="https://github.com/libxls/libxls/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0/8" # libxlsreader.so.8
+KEYWORDS="amd64 ~arm arm64 x86"
+
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0-asprintf.patch
+ "${FILESDIR}"/${PN}-1.6.2-gcc13.patch
+)
+
+src_configure() {
+ econf \
+ --disable-static
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/dev-libs/libxls/libxls-1.6.2.ebuild b/dev-libs/libxls/libxls-1.6.2.ebuild
deleted file mode 100644
index 95af65648371..000000000000
--- a/dev-libs/libxls/libxls-1.6.2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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
-)
-
-src_configure() {
- econf \
- --disable-static
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libxlsxwriter/Manifest b/dev-libs/libxlsxwriter/Manifest
index 34b0177a746b..329abcd961b9 100644
--- a/dev-libs/libxlsxwriter/Manifest
+++ b/dev-libs/libxlsxwriter/Manifest
@@ -1 +1 @@
-DIST libxlsxwriter-1.1.4.tar.gz 20442200 BLAKE2B 38308dd8e954820b6debf15bc884effd583c0e0fa1667ed4451085ff8cf1bf4101807110873a501617785763886c107c19ab30c16390b5fb608f52b2736465be SHA512 fad36f7882fcb21b87e13cf603022cfad3f14e6f955a06e2771712facd0fe12f83f4d1655dc1a744724bda1ac83af7e7bf1393457c5507d8983f63002ab294b5
+DIST libxlsxwriter-1.1.5.tar.gz 21541446 BLAKE2B f9e2fde83bde852b4568b8ce82a28ad75e6e8d1ca6f3683ac2308d28707e7e4874facf8eac2ce9b4b9fdcc96d8b775dd69eefb2f976f564323a278a3dad032d0 SHA512 bd7db0fcf25ebf492b4d8f7da8fdb6cc79400d7d0fa5856ddae259cb24817034fc97d4828cbde42434f41198dcfb6732ac63c756abd962689f4249ca64bf19c6
diff --git a/dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.4-fix-pkgconfig-version.patch b/dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.4-fix-pkgconfig-version.patch
deleted file mode 100644
index a66ea82e944e..000000000000
--- a/dev-libs/libxlsxwriter/files/libxlsxwriter-1.1.4-fix-pkgconfig-version.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Patch greedy dot star to fix mismatched pkg-config file version.
-Fixed upstream with: https://github.com/jmcnamara/libxlsxwriter/commit/12afb351db634ed9452eb2f38d68883a9538b8ef
-https://bugs.gentoo.org/859745
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -202,9 +202,9 @@
- # Configure pkg-config
- file(READ "include/xlsxwriter.h" ver)
-
--string(REGEX MATCH "LXW_VERSION .*\"\(.*\)\".*" _ ${ver})
-+string(REGEX MATCH "LXW_VERSION \"([^\"]+)\"" _ ${ver})
- set(VERSION ${CMAKE_MATCH_1})
--string(REGEX MATCH "LXW_SOVERSION .*\"\(.*\)\".*" _ ${ver})
-+string(REGEX MATCH "LXW_SOVERSION \"([^\"]+)\"" _ ${ver})
- set(SOVERSION ${CMAKE_MATCH_1})
- set(PREFIX ${CMAKE_INSTALL_PREFIX})
-
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.4-r1.ebuild b/dev-libs/libxlsxwriter/libxlsxwriter-1.1.4-r1.ebuild
deleted file mode 100644
index 0dfdad250a73..000000000000
--- a/dev-libs/libxlsxwriter/libxlsxwriter-1.1.4-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake plocale
-
-DESCRIPTION="Libxlsxwriter is a C library for creating Excel XLSX files"
-HOMEPAGE="https://libxlsxwriter.github.io/"
-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}-fix-pkgconfig-version.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/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/libxml2/Manifest b/dev-libs/libxml2/Manifest
index f1f353c677b0..417300261f0f 100644
--- a/dev-libs/libxml2/Manifest
+++ b/dev-libs/libxml2/Manifest
@@ -1,4 +1,6 @@
-DIST libxml2-2.10.3.tar.xz 2639908 BLAKE2B aef2cc87e4632ddc478ff719155fdcb17601a8af37ecc1145ca05e01340935b57f07722e016ca2b27e4b269d47bd2fe97db09119a47849e8745e077e42b8bb66 SHA512 33bb87ae9a45c475c3de09477e5d94840d8f687f893ef7839408bc7267e57611c4f2b863ed8ec819a4b5f1ebd6a122db9f6054c73bceed427d37f3e67f62620c
+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.10.3-python3-unicode-errors.patch b/dev-libs/libxml2/files/libxml2-2.10.3-python3-unicode-errors.patch
deleted file mode 100644
index 525e1fe36c0b..000000000000
--- a/dev-libs/libxml2/files/libxml2-2.10.3-python3-unicode-errors.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://bugs.gentoo.org/745162
-https://gitlab.gnome.org/GNOME/libxml2/-/issues/64
-
---- a/python/libxml.c
-+++ b/python/libxml.c
-@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
- PyObject *message;
- PyObject *result;
- char str[1000];
-+ unsigned char *ptr = (unsigned char *)str;
-
- #ifdef DEBUG_ERROR
- printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg);
-@@ -1636,12 +1637,20 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU
- str[999] = 0;
- va_end(ap);
-
-+#if PY_MAJOR_VERSION >= 3
-+ /* Ensure the error string doesn't start at UTF8 continuation. */
-+ while (*ptr && (*ptr & 0xc0) == 0x80)
-+ ptr++;
-+#endif
-+
- list = PyTuple_New(2);
- PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt);
- Py_XINCREF(libxml_xmlPythonErrorFuncCtxt);
-- message = libxml_charPtrConstWrap(str);
-+ message = libxml_charPtrConstWrap(ptr);
- PyTuple_SetItem(list, 1, message);
- result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list);
-+ /* Forget any errors caused in the error handler. */
-+ PyErr_Clear();
- Py_XDECREF(list);
- Py_XDECREF(result);
- }
diff --git a/dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch b/dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch
new file mode 100644
index 000000000000..190218be3a5e
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.11.5-CVE-2023-45322.patch
@@ -0,0 +1,71 @@
+https://gitlab.gnome.org/GNOME/libxml2/-/issues/583
+https://gitlab.gnome.org/GNOME/libxml2/-/commit/d39f78069dff496ec865c73aa44d7110e429bce9
+https://bugs.gentoo.org/915351
+
+From d39f78069dff496ec865c73aa44d7110e429bce9 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Wed, 23 Aug 2023 20:24:24 +0200
+Subject: [PATCH] tree: Fix copying of DTDs
+
+- Don't create multiple DTD nodes.
+- Fix UAF if malloc fails.
+- Skip DTD nodes if tree module is disabled.
+
+Fixes #583.
+--- a/tree.c
++++ b/tree.c
+@@ -4471,29 +4471,28 @@ xmlNodePtr
+ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
+ xmlNodePtr ret = NULL;
+ xmlNodePtr p = NULL,q;
++ xmlDtdPtr newSubset = NULL;
+
+ while (node != NULL) {
+-#ifdef LIBXML_TREE_ENABLED
+ if (node->type == XML_DTD_NODE ) {
+- if (doc == NULL) {
++#ifdef LIBXML_TREE_ENABLED
++ if ((doc == NULL) || (doc->intSubset != NULL)) {
+ node = node->next;
+ continue;
+ }
+- if (doc->intSubset == NULL) {
+- q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node );
+- if (q == NULL) goto error;
+- q->doc = doc;
+- q->parent = parent;
+- doc->intSubset = (xmlDtdPtr) q;
+- xmlAddChild(parent, q);
+- } else {
+- q = (xmlNodePtr) doc->intSubset;
+- xmlAddChild(parent, q);
+- }
+- } else
++ q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node );
++ if (q == NULL) goto error;
++ q->doc = doc;
++ q->parent = parent;
++ newSubset = (xmlDtdPtr) q;
++#else
++ node = node->next;
++ continue;
+ #endif /* LIBXML_TREE_ENABLED */
++ } else {
+ q = xmlStaticCopyNode(node, doc, parent, 1);
+- if (q == NULL) goto error;
++ if (q == NULL) goto error;
++ }
+ if (ret == NULL) {
+ q->prev = NULL;
+ ret = p = q;
+@@ -4505,6 +4504,8 @@ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) {
+ }
+ node = node->next;
+ }
++ if (newSubset != NULL)
++ doc->intSubset = newSubset;
+ return(ret);
+ error:
+ xmlFreeNodeList(ret);
+--
+GitLab
diff --git a/dev-libs/libxml2/libxml2-2.10.3-r1.ebuild b/dev-libs/libxml2/libxml2-2.10.3-r1.ebuild
deleted file mode 100644
index 4b5648cf6460..000000000000
--- a/dev-libs/libxml2/libxml2-2.10.3-r1.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2023 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_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-inherit flag-o-matic python-r1 multilib-minimal toolchain-funcs
-
-XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
-XSTS_NAME_1="xmlschema2002-01-16"
-XSTS_NAME_2="xmlschema2004-01-14"
-XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
-XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
-XMLCONF_TARBALL="xmlts20130923.tar.gz"
-
-DESCRIPTION="XML C parser and toolkit"
-HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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=">=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-util/gtk-doc-am"
-fi
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/xml2-config
-)
-
-PATCHES=( "${FILESDIR}"/${PN}-2.10.3-python3-unicode-errors.patch )
-
-DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
-
-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.bz2
- 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
-
- # 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
-
- # 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.11.7.ebuild b/dev-libs/libxml2/libxml2-2.11.7.ebuild
new file mode 100644
index 000000000000..f11bd3c8ebe7
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.11.7.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.11.5-CVE-2023-45322.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-2.12.5.ebuild b/dev-libs/libxml2/libxml2-2.12.5.ebuild
new file mode 100644
index 000000000000..3d915e2ccc5b
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.12.5.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-2.12.6.ebuild b/dev-libs/libxml2/libxml2-2.12.6.ebuild
new file mode 100644
index 000000000000..c4d87530a6d4
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.12.6.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-9999.ebuild b/dev-libs/libxml2/libxml2-9999.ebuild
index 556f5e715652..c4d87530a6d4 100644
--- a/dev-libs/libxml2/libxml2-9999.ebuild
+++ b/dev-libs/libxml2/libxml2-9999.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Note: Please bump in sync with dev-libs/libxslt
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="xml(+)"
-inherit flag-o-matic python-r1 multilib-minimal toolchain-funcs
+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"
@@ -17,13 +17,13 @@ XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
XMLCONF_TARBALL="xmlts20130923.tar.gz"
DESCRIPTION="XML C parser and toolkit"
-HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
+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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
SRC_URI+="
@@ -31,7 +31,8 @@ SRC_URI+="
${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"
@@ -40,24 +41,25 @@ IUSE="debug examples +ftp icu lzma +python readline static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+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:= )"
+ readline? ( sys-libs/readline:= )
+"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
if [[ ${PV} == 9999 ]] ; then
- BDEPEND+=" dev-util/gtk-doc-am"
+ BDEPEND+=" dev-build/gtk-doc-am"
fi
MULTILIB_CHOST_TOOLS=(
/usr/bin/xml2-config
)
-DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
-
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
@@ -69,7 +71,7 @@ src_unpack() {
unpack ${tarname}
if [[ -n ${PATCHSET_VERSION} ]] ; then
- unpack ${PN}-${PATCHSET_VERSION}.tar.bz2
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
fi
fi
@@ -100,13 +102,6 @@ multilib_src_configure() {
# Filter seemingly problematic CFLAGS (bug #26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
- # 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
-
# Notes:
# The meaning of the 'debug' USE flag does not apply to the --with-debug
# switch (enabling the libxml2 debug module). See bug #100898.
diff --git a/dev-libs/libxmlb/Manifest b/dev-libs/libxmlb/Manifest
index 7e74505dace7..fcb0d2199be7 100644
--- a/dev-libs/libxmlb/Manifest
+++ b/dev-libs/libxmlb/Manifest
@@ -1 +1,3 @@
-DIST libxmlb-0.3.10.tar.gz 122004 BLAKE2B e51caacff96aa41029314c5d8a13503713fb813b2512c322214e309a5aebed2b6cd5f8d24412240dbc57d500b7186b6760a82451063eeb1f1011c0b450f6ad99 SHA512 05907c3dd2fa2ab67580e40fb573f27d9d47053fef5e23eb11ed887163ae0194b0f9b590e758fa76501098a5f261a48d9cd94003af828f5a18c61d89a9ec05bb
+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/files/libxmlb-0.3.9-no_installed_tests.patch b/dev-libs/libxmlb/files/libxmlb-0.3.9-no_installed_tests.patch
deleted file mode 100644
index 2b41e6cfb5d9..000000000000
--- a/dev-libs/libxmlb/files/libxmlb-0.3.9-no_installed_tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -3,11 +3,6 @@
- input : 'libxmlb.test.in',
- output : 'libxmlb.test',
- configuration : conf,
-- install: true,
-- install_dir: installed_test_datadir,
-- )
--
-- install_data(['test.xml.gz.gz.gz'],
-- install_dir: installed_test_bindir,
-+ install: false,
- )
- endif
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -242,7 +242,7 @@
- gio,
- libxmlb_dep,
- ],
-- install : true,
-+ install : false,
- install_dir : installed_test_bindir
- )
- test('xb-self-test', e, env : testdatadirs)
diff --git a/dev-libs/libxmlb/libxmlb-0.3.10.ebuild b/dev-libs/libxmlb/libxmlb-0.3.10.ebuild
deleted file mode 100644
index 04c4e09ea70d..000000000000
--- a/dev-libs/libxmlb/libxmlb-0.3.10.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit meson 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"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- app-arch/xz-utils
- dev-libs/glib:2
- sys-apps/util-linux
- stemmer? ( dev-libs/snowball-stemmer:= )
-"
-
-DEPEND="
- ${RDEPEND}
- doc? ( dev-util/gtk-doc )
- introspection? ( dev-libs/gobject-introspection )
-"
-
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/meson-0.47.0
- virtual/pkgconfig
- introspection? (
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.3.9-no_installed_tests.patch
-)
-
-python_check_deps() {
- has_version -b "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use doc gtkdoc)
- $(meson_use introspection)
- $(meson_use stemmer)
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libxmlb/libxmlb-0.3.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 12d9cd159336..cb44de14664d 100644
--- a/dev-libs/libxmlb/metadata.xml
+++ b/dev-libs/libxmlb/metadata.xml
@@ -5,10 +5,6 @@
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
<use>
<flag name="stemmer">Enable language stemming support</flag>
</use>
diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index a7b594461f4e..0c049556676a 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1 +1 @@
-DIST libxslt-1.1.37.tar.xz 1588572 BLAKE2B 096d93dd7178bf4483207514b1435f5bf426eea4952ffab7cc00c3e85aa736534c4acb5377af9647aa77a0cd793205194509d997a7bb5cae692f65e326566cd8 SHA512 a4e477d2bb918b7d01945e2c7491c3a4aae799dc1602bbd13de55c8a5052e210a20bc45115347eae44473c8b1d03dbc5e4a2aa18c2218f1fdfd376d87cd501ca
+DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89
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.37-r1.ebuild b/dev-libs/libxslt/libxslt-1.1.37-r1.ebuild
deleted file mode 100644
index 917c3e8de7ba..000000000000
--- a/dev-libs/libxslt/libxslt-1.1.37-r1.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2023 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_{9..11} )
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-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
-)
-
-DOCS=( AUTHORS FEATURES NEWS README TODO )
-
-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_with debug mem-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 test
- 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-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
index e03f14b67d7f..1f4d62a88f6a 100644
--- a/dev-libs/libxslt/libxslt-9999.ebuild
+++ b/dev-libs/libxslt/libxslt-9999.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Note: Please bump this in sync with dev-libs/libxml2.
-PYTHON_COMPAT=( python3_{9..11} )
-inherit python-r1 multilib-minimal
+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"
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then
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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="MIT"
@@ -39,8 +39,6 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/libxslt/xsltconfig.h
)
-DOCS=( AUTHORS FEATURES NEWS README TODO )
-
src_prepare() {
default
@@ -53,12 +51,15 @@ src_prepare() {
}
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_with debug mem-debug) \
$(use_enable static-libs static) \
"$@"
}
@@ -92,7 +93,7 @@ multilib_src_test() {
default
if multilib_is_native_abi && use python ; then
- python_foreach_impl run_in_build_dir libxslt_py_emake test
+ python_foreach_impl run_in_build_dir libxslt_py_emake check
fi
}
diff --git a/dev-libs/libyaml/libyaml-0.2.2.ebuild b/dev-libs/libyaml/libyaml-0.2.2.ebuild
index 98fc658a8de1..a60bfc546f86 100644
--- a/dev-libs/libyaml/libyaml-0.2.2.ebuild
+++ b/dev-libs/libyaml/libyaml-0.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,11 +11,11 @@ SRC_URI="https://github.com/yaml/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/libyaml/libyaml-0.2.5.ebuild b/dev-libs/libyaml/libyaml-0.2.5.ebuild
index 36c8904bd95f..9f1a136feadd 100644
--- a/dev-libs/libyaml/libyaml-0.2.5.ebuild
+++ b/dev-libs/libyaml/libyaml-0.2.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,11 +11,11 @@ SRC_URI="https://github.com/yaml/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/libzia/Manifest b/dev-libs/libzia/Manifest
index bbe4cd579063..763a280b836d 100644
--- a/dev-libs/libzia/Manifest
+++ b/dev-libs/libzia/Manifest
@@ -1,5 +1,3 @@
-DIST libzia-4.34.tar.gz 636031 BLAKE2B f33c13f4159fd6e6e83e3aada2560ed6f2160811eb1d94078c8792c5dfb07cc6c69f2a41f9b82ddf73b28b2cd57480590393b3c6b5ac24eece1ef40e55a52014 SHA512 a93ecea84d506767d20f03fa8b56408c6e8a0aaa4b8dad26b21e133c83a4726ebf3ca88425bc63249cb98fbd95dd3bb4d9afb8529bdd5e70fc5dbffbc6bf5533
-DIST libzia-4.36.tar.gz 637486 BLAKE2B d9872b4d3b3dea05a2b18b36fc4aeb75696d83fa98154ed716f70f9906c7cd66fe60a36dae802e2f05145c27945b9c97838b09a4414009b58caae86805e011be SHA512 4eaf2aa19bf85abf17299d70b2d9c6c15b9d99a4b62198675860fe8fedadec8deccfd5c664368a110e4c10cf2f6c936a85e7cc689d59cf03a1150f39a9164cbf
-DIST libzia-4.37.tar.gz 637291 BLAKE2B 1f221a0bf1229a2c6b863363e3634b51177a9d45a1f7b828e5fb85da3e2a9a319e5deebc3a7640ca5c4ed3004fa087b81d5a5bc59197b0ad90e161e1989c02ed SHA512 5b3a708f243ac845505645da0e2a76658775a49edfd8cbfd6fd99edd8bee13e4c54d6038ccccccd258c7a9d80943265486b01bd127a86c7c880fefc0a714cc39
-DIST libzia-4.39.tar.gz 638203 BLAKE2B 0ff2bf9b404b1e554c3cab3145980b8db97345b2e4fd3f3aa94960c150f0da3efcc361306cd7476e839bc3f57868164181f2e3cb79e0dc3f3a7246841d723251 SHA512 61ae1e2aba9f096f7d6593cf7a72d12822bc30f77287bc36f1ea72c01e9669cbef72492adf017efc73bb507fe08b9939f6ca3e4d695388c642619450fc31c024
-DIST libzia-4.40.tar.gz 638193 BLAKE2B bbeee5f6ee699e09aa791c8b6acb39fed90bdf9a875499177c330d009407157e1ebc36aa432e94dcd78553f803c84fe0d00ce9d613abb657324a061588b77d06 SHA512 dd17a80dbcdf88f7617d439f6dde2af6d319c318e9ee55bc9b375ef1bef5ee708c1af7e133ed304d365b0d6d0c3d52f48ae01f44cb2a6e1285625d785f5f5126
+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.37-configure.patch b/dev-libs/libzia/files/libzia-4.37-configure.patch
deleted file mode 100644
index 531f25ad7ca6..000000000000
--- a/dev-libs/libzia/files/libzia-4.37-configure.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 9266d41..35c2455 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -97,6 +97,9 @@ if test "$cross_compiling" = yes; then
- else
- AC_TRY_RUN([
- #include <features.h>
-+#ifdef __GLIBC__
-+#include <gnu/libc-version.h>
-+#endif
- #include <stdio.h>
- #ifdef __CYGWIN__
- #include <cygwin/version.h>
diff --git a/dev-libs/libzia/libzia-4.34.ebuild b/dev-libs/libzia/libzia-4.34.ebuild
deleted file mode 100644
index e877cfb8b8ca..000000000000
--- a/dev-libs/libzia/libzia-4.34.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 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/libsdl
- 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 QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || 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.36.ebuild b/dev-libs/libzia/libzia-4.36.ebuild
deleted file mode 100644
index e877cfb8b8ca..000000000000
--- a/dev-libs/libzia/libzia-4.36.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2022 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/libsdl
- 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 QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || 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.37.ebuild b/dev-libs/libzia/libzia-4.37.ebuild
deleted file mode 100644
index 00da4e47e42b..000000000000
--- a/dev-libs/libzia/libzia-4.37.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 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/libsdl
- media-libs/libpng:0
- ftdi? ( dev-embedded/libftdi:1 )
- elibc_musl? ( sys-libs/libunwind )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-MAKEOPTS+=" -j1"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.37-configure.patch"
- )
-
-src_prepare() {
- eapply ${PATCHES[@]}
- eapply_user
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
-
- # Fix QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || die
-
- # 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.39.ebuild b/dev-libs/libzia/libzia-4.39.ebuild
deleted file mode 100644
index d2bf5df52022..000000000000
--- a/dev-libs/libzia/libzia-4.39.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 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/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 QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || 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.40.ebuild b/dev-libs/libzia/libzia-4.40.ebuild
deleted file mode 100644
index 9c39a847c882..000000000000
--- a/dev-libs/libzia/libzia-4.40.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 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/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 QA-Warning "QA Notice: pkg-config files with wrong LDFLAGS detected"
- sed -i -e 's/@LDFLAGS@//' libzia.pc.in || 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.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/link-grammar/Manifest b/dev-libs/link-grammar/Manifest
index 69521d5568c5..19aff333d5ec 100644
--- a/dev-libs/link-grammar/Manifest
+++ b/dev-libs/link-grammar/Manifest
@@ -1,2 +1 @@
-DIST link-grammar-5.11.0.tar.gz 4672430 BLAKE2B 35892e05805a83ebbd700611d19aaa9ad1ede4ba3baf60c85ef8e5abbc40134fcb71d9cb9f41518f663c60ad11aac7bd0b316c8c95a12631032f5ad79564d686 SHA512 6a24bc8d5c9f0dd63460c092fc46880503018e949aa277148f8f551d6cc9d929d3a981eeaba00afc6e618c1e4505438d0c7e9a57dfe7a8deb7d3a8f183c56636
-DIST link-grammar-5.12.0.tar.gz 4688144 BLAKE2B 3ab74bcd23118c1d933895ac5ac8f042448f173234db1528de496e2f4aa88cd9b96d4783e54584f05d8af5bb835fee1f62f039ed883e2b24511198526d334dbd SHA512 1938e53a2d8bdb5d0c352e9bb7108b280d3c4da890f540f41bdc257eea1ea6de5712f99602fc0f4187654540e1142b5216efb2a8c9957f32ce0dec86d85ec3cb
+DIST link-grammar-5.12.3.tar.gz 4704751 BLAKE2B a7f0fe39c51ed26ea764d583b38b21cfce6e596c6cd94db6ba47b3606a2b6cd9e56bd6fedeb104dbb345baedae3e144af96999739dda9daa9a9e5886bd98d2f4 SHA512 e0fdb78ec03042119011afea005a62829317fd0bc20afcd94e3f234c9c5252ed9c57d717b75368ac4a63dd8493bd86f551870299925f3b9b95b11915f48d8abe
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/link-grammar-5.11.0.ebuild b/dev-libs/link-grammar/link-grammar-5.11.0.ebuild
deleted file mode 100644
index 5ad1ea313547..000000000000
--- a/dev-libs/link-grammar/link-grammar-5.11.0.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit 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} )
- !sci-mathematics/minisat"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/swig:0
- sys-devel/autoconf-archive
- virtual/pkgconfig"
-
-pkg_setup() {
- if use aspell && use hunspell; then
- ewarn "You have enabled 'aspell' and 'hunspell' support, but both cannot coexist,"
- ewarn "only hunspell will be built. Press Ctrl+C and set only 'aspell' USE flag if"
- ewarn "you want aspell support."
- fi
-}
-
-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
- --enable-sat-solver=bundled
- --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.0.ebuild b/dev-libs/link-grammar/link-grammar-5.12.0.ebuild
deleted file mode 100644
index a7daf5dc869f..000000000000
--- a/dev-libs/link-grammar/link-grammar-5.12.0.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit 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} )
- !sci-mathematics/minisat"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/swig:0
- sys-devel/autoconf-archive
- virtual/pkgconfig"
-
-pkg_setup() {
- if use aspell && use hunspell; then
- ewarn "You have enabled 'aspell' and 'hunspell' support, but both cannot coexist,"
- ewarn "only hunspell will be built. Press Ctrl+C and set only 'aspell' USE flag if"
- ewarn "you want aspell support."
- fi
-}
-
-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
- --enable-sat-solver=bundled
- --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.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/linux-syscall-support/Manifest b/dev-libs/linux-syscall-support/Manifest
index 9a199fddd79d..639c8200f7ee 100644
--- a/dev-libs/linux-syscall-support/Manifest
+++ b/dev-libs/linux-syscall-support/Manifest
@@ -1 +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/linux-syscall-support-2021.05.03.ebuild b/dev-libs/linux-syscall-support/linux-syscall-support-2021.05.03.ebuild
index 3b17f483ad04..20846862a136 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,12 +14,6 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
-DEPEND=""
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND=""
-
S="${WORKDIR}"/${PN}-${CommitId}
PATCHES=(
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/log4cplus/Manifest b/dev-libs/log4cplus/Manifest
index e18c3d1eaed9..aeac6e36da7b 100644
--- a/dev-libs/log4cplus/Manifest
+++ b/dev-libs/log4cplus/Manifest
@@ -1 +1 @@
-DIST log4cplus-2.0.7.tar.bz2 1210637 BLAKE2B 59e9c3c351c7893c7e9c39e9d12616579cff3b4dfdd3e069f0adb4b75fb2b46d6fe8efceea2b6103c5531a723f015518bf10ce6a581724b6ae5f49e994b74c72 SHA512 9d1b36d0c2347dd9d9ab8852114b8138f56063c51625eaab7f4c680ee852e1e6872c6712465b10057ec9e42305b83d956f6753100dfd3ec58518d6620cc4106c
+DIST log4cplus-2.0.7.tar.xz 930924 BLAKE2B b36022403c070df5dfd57e2d61ca87d9bf56ff951e525be83f6bca77c0f39f4065fe18a2de4fd79fe5b4cb0d5953bee76dffd65e8d8ffb847a48166a0e6a7207 SHA512 5f5a84f215a00b52313cf75bce19a450e810300f232cd29582a23a24b426bfb62047099792243f8ec5347a8c04eb7744237b1ed4615f4a8913575406486c59c5
diff --git a/dev-libs/log4cplus/log4cplus-2.0.7.ebuild b/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
index efb2755fc7fd..9ef91f2f5f3b 100644
--- a/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
+++ b/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
DESCRIPTION="C++ port of the Log for Java (log4j) logging library"
HOMEPAGE="https://log4cplus.sourceforge.io/ https://github.com/log4cplus/log4cplus"
-SRC_URI="mirror://sourceforge/project/${PN}/${PN}-stable/${PV}/${P}.tar.bz2"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}-stable/${PV}/${P}.tar.xz"
LICENSE="|| ( Apache-2.0 BSD-2 )"
SLOT="0/3"
@@ -15,8 +15,10 @@ KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="explicit-initialization iconv qt5 server test threads"
RESTRICT="!test? ( test )"
-RDEPEND="iconv? ( virtual/libiconv )
- qt5? ( dev-qt/qtcore:5 )"
+RDEPEND="
+ iconv? ( virtual/libiconv )
+ qt5? ( dev-qt/qtcore:5 )
+"
DEPEND="${RDEPEND}"
src_configure() {
diff --git a/dev-libs/log4cpp/Manifest b/dev-libs/log4cpp/Manifest
index b9af8f327ffe..58f428e911e6 100644
--- a/dev-libs/log4cpp/Manifest
+++ b/dev-libs/log4cpp/Manifest
@@ -1 +1,2 @@
DIST log4cpp-1.1.3.tar.gz 595639 BLAKE2B fc7d643aa70d739e38ec5aba127b4e760a47a064f4032690586c4698ec83a2b7f219d8476650d3bfc5e25563de0852869429ec45171233c6bd5c08b69476b169 SHA512 88e5e10bce8d7d6421c3dcf14aa25385159c4ae52becdc1f3666ab86e1ad3f633786d82afe398c517d4faaa57b3e7b7c0b524361d81c6b9040dbded5cecc19de
+DIST log4cpp-1.1.4.tar.gz 637440 BLAKE2B fe7d3cf5ea8ff8f9bdd86691195c02473bd21a90ebfe2d9cd7a32c2fa30e17b5a104c6181601cf2dce19b703496bb6038e7b0a782a24dfd55415ecd462e49841 SHA512 0cdbd46ccd048d70bea3c35d22080dc5dd21fc3b9c415fe464847e60775954f57e9c8344506f0f94f16e90e8bdaa9cc6d84d3aa65191501e52ee8dfc639f0398
diff --git a/dev-libs/log4cpp/files/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.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
index b20890c24690..9677088e324a 100644
--- a/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild
+++ b/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ KEYWORDS="amd64 ~arm ppc ~riscv ~s390 x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/1.0-doc_install_path.patch
diff --git a/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
new file mode 100644
index 000000000000..5c9baefc2b99
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="https://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="amd64 ~arm ppc ~riscv ~s390 x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/1.0-doc_install_path.patch
+ "${FILESDIR}"/1.0-gcc43.patch
+ "${FILESDIR}"/1.0-asneeded.patch
+ "${FILESDIR}"/${PN}-1.1-cmath-fix.patch
+ "${FILESDIR}"/${PN}-1.1-automake-1.13.patch
+ "${FILESDIR}"/${PN}-1.1-glibc-2.31.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-version.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-implicit-func-in-configure.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -Wno-register # https://bugs.gentoo.org/895054
+ # Bashisms call configure tests to malfunction / config.h to be misgenerated
+ # which then causes a build failure later on in the package (w/ GCC 12,
+ # anyway).
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install() {
+ default
+
+ # Package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/log4cpp/log4cpp-1.1.4.ebuild b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
new file mode 100644
index 000000000000..3b679658a0e5
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="https://log4cpp.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~ppc ~riscv ~s390 ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/1.0-doc_install_path.patch
+ "${FILESDIR}"/1.0-asneeded.patch
+ "${FILESDIR}"/${PN}-1.1-cmath-fix.patch
+ "${FILESDIR}"/${PN}-1.1-automake-1.13.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-version.patch
+ "${FILESDIR}"/${PN}-1.1.4-fix-implicit-func-in-configure.patch
+ "${FILESDIR}"/${PN}-1.1.4-gcc43.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -Wno-register # https://bugs.gentoo.org/895054
+ # Bashisms call configure tests to malfunction / config.h to be misgenerated
+ # which then causes a build failure later on in the package (w/ GCC 12,
+ # anyway).
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install() {
+ default
+
+ # Package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/log4cxx/Manifest b/dev-libs/log4cxx/Manifest
index 672c69d34f73..3edaca4bd2f9 100644
--- a/dev-libs/log4cxx/Manifest
+++ b/dev-libs/log4cxx/Manifest
@@ -1 +1,3 @@
DIST apache-log4cxx-0.11.0.tar.gz 1145075 BLAKE2B 786f3374923a5d47172bdaba7edb1725bedc766cb310b7b1237cfcc2fdd84cf2e390b47d55284ad0ce65631798e545523723090f4c0f7ab262f6cbe41a03e327 SHA512 f8aa37c9c094e7a4d6ca92dff13c032f69f1e078c51ea55e284fcb931c13256b08950af3ea6eaf7a12282240f6073e9acab19bfe217f88dbd62a5d2360f3fbdd
+DIST apache-log4cxx-1.0.0.tar.gz 554344 BLAKE2B 2664cdcb84c298cd9be49e98ee767f16665614435ad44e79fa4d10219f42373ba8bb3f6cfe698bd65c0565ba120b6f6e1ab7a8de8ce9a1f43e977dde80596c3a SHA512 a6b928d7b5b4fb60a67504be082f436a6d1a750b752a89df51d0660670b6c008e7376cf56c1749fd5fc17777ae8a2d957f72879c9a89487ecb0f179999dc1283
+DIST apache-log4cxx-1.2.0.tar.gz 652992 BLAKE2B b20211dfc0fc722e5b34adea9b4f6009f827f5fae467d8e0ec097c9b8915b8413494232704eb49e062b7c18f53fc9240b244c093a3d54c1964a7f7b4ba41fe00 SHA512 377234407c5f1128fbff6e5d2fcda3f53aae275962cd9207257674fa016095f4bc4ac0c318c1ba2a75f3252402cce0776c1211ffa917a60f8a89a12f01d45efb
diff --git a/dev-libs/log4cxx/log4cxx-1.0.0.ebuild b/dev-libs/log4cxx/log4cxx-1.0.0.ebuild
new file mode 100644
index 000000000000..19925b089d15
--- /dev/null
+++ b/dev-libs/log4cxx/log4cxx-1.0.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P=apache-${P}
+DESCRIPTION="Library of C++ classes for logging to files, syslog and other destinations"
+HOMEPAGE="https://logging.apache.org/log4cxx/"
+SRC_URI="mirror://apache/logging/${PN}/${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0/15"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="odbc smtp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ dev-libs/libfmt:=
+ odbc? ( dev-db/unixODBC )
+ smtp? ( net-libs/libesmtp )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/zip
+ test? (
+ app-alternatives/gzip
+ app-arch/zip
+ )
+"
+
+src_prepare() {
+ # https://github.com/apache/logging-log4cxx/issues/189
+ if ! use odbc ; then
+ sed -i -e 's:pkg_check_modules( odbc QUIET odbc ):pkg_check_modules( odbc QUIET odbcDoNotFindMe ):' src/main/include/CMakeLists.txt || die
+ fi
+
+ if ! use smtp ; then
+ sed -i -e 's:CHECK_LIBRARY_EXISTS(esmtp smtp_create_session "" HAS_LIBESMTP):CHECK_LIBRARY_EXISTS(esmtpDoNotFindMe smtp_create_session "" HAS_LIBESMTP):' src/main/include/CMakeLists.txt || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_FMT_LAYOUT=ON
+ -DLOG4CXX_QT_SUPPORT=OFF
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/log4cxx/log4cxx-1.2.0.ebuild b/dev-libs/log4cxx/log4cxx-1.2.0.ebuild
new file mode 100644
index 000000000000..dc2e7294b417
--- /dev/null
+++ b/dev-libs/log4cxx/log4cxx-1.2.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P=apache-${P}
+DESCRIPTION="Library of C++ classes for logging to files, syslog and other destinations"
+HOMEPAGE="https://logging.apache.org/log4cxx/"
+SRC_URI="mirror://apache/logging/${PN}/${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0/15"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="odbc smtp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/apr:1=
+ dev-libs/apr-util:1=
+ dev-libs/libfmt:=
+ odbc? ( dev-db/unixODBC )
+ smtp? ( net-libs/libesmtp )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/zip
+ test? (
+ app-alternatives/gzip
+ app-arch/zip
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_FMT_LAYOUT=ON
+ -DLOG4CXX_QT_SUPPORT=OFF
+ -DLOG4CXX_ENABLE_ODBC=$(usex odbc ON OFF)
+ -DLOG4CXX_ENABLE_ESMTP=$(usex smtp ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/log4cxx/metadata.xml b/dev-libs/log4cxx/metadata.xml
index bfff4138d143..3d3ee44f441d 100644
--- a/dev-libs/log4cxx/metadata.xml
+++ b/dev-libs/log4cxx/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<use>
- <flag name="smtp">Offer SMTP support via <pkg>net-libs/libesmtp</pkg></flag>
-</use>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="smtp">Offer SMTP support via <pkg>net-libs/libesmtp</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">apache/logging-log4cxx</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/log4sh/metadata.xml b/dev-libs/log4sh/metadata.xml
index f07173f9d880..3377faf16733 100644
--- a/dev-libs/log4sh/metadata.xml
+++ b/dev-libs/log4sh/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">log4sh</remote-id>
</upstream>
diff --git a/dev-libs/lzo/lzo-2.10.ebuild b/dev-libs/lzo/lzo-2.10.ebuild
index 8893d336a105..8ad80605d20a 100644
--- a/dev-libs/lzo/lzo-2.10.ebuild
+++ b/dev-libs/lzo/lzo-2.10.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.oberhumer.com/opensource/lzo/download/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples static-libs"
multilib_src_configure() {
diff --git a/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild b/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild
index 615e6f7a9300..0474a77acf59 100644
--- a/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild
+++ b/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -11,7 +11,7 @@ SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="X anthy athena bidi fontconfig gd libotf libxml2 spell xft"
RDEPEND="~dev-db/m17n-db-${PV}
diff --git a/dev-libs/maloc/maloc-1.5-r1.ebuild b/dev-libs/maloc/maloc-1.5-r1.ebuild
index 62b158098d87..d18f95929c5e 100644
--- a/dev-libs/maloc/maloc-1.5-r1.ebuild
+++ b/dev-libs/maloc/maloc-1.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,7 @@ KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
BDEPEND="
doc? (
- app-doc/doxygen
+ app-text/doxygen
media-gfx/graphviz
)
"
diff --git a/dev-libs/marisa/marisa-0.2.6.ebuild b/dev-libs/marisa/marisa-0.2.6.ebuild
index 88ba4d121db3..6e587ffcb945 100644
--- a/dev-libs/marisa/marisa-0.2.6.ebuild
+++ b/dev-libs/marisa/marisa-0.2.6.ebuild
@@ -2,8 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_OPTIONAL="1"
+DISTUTILS_EXT=1
inherit autotools distutils-r1 toolchain-funcs
diff --git a/dev-libs/marisa/marisa-9999.ebuild b/dev-libs/marisa/marisa-9999.ebuild
index fada309d55ad..7731d92f28e3 100644
--- a/dev-libs/marisa/marisa-9999.ebuild
+++ b/dev-libs/marisa/marisa-9999.ebuild
@@ -2,8 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_OPTIONAL="1"
+DISTUTILS_EXT=1
inherit autotools distutils-r1 toolchain-funcs
diff --git a/dev-libs/mathjax/Manifest b/dev-libs/mathjax/Manifest
index ebad0abcc862..8779b8b2d315 100644
--- a/dev-libs/mathjax/Manifest
+++ b/dev-libs/mathjax/Manifest
@@ -1 +1,4 @@
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.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-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 c7567b9b10b6..de8e9f370f4b 100644
--- a/dev-libs/mathjax/metadata.xml
+++ b/dev-libs/mathjax/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gienah@gentoo.org</email>
- <name>Mark Wright</name>
+ <maintainer type="person" proxied="yes">
+ <email>eschwartz93@gmail.com</email>
+ <name>Eli Schwartz</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<stabilize-allarches/>
<longdescription lang="en">
@@ -21,4 +25,5 @@
<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
index aab4f527f855..cf3d20f2812e 100644
--- a/dev-libs/mdns/Manifest
+++ b/dev-libs/mdns/Manifest
@@ -1 +1 @@
-DIST mdns-1.4.2.tar.gz 24743 BLAKE2B 6d360d5485ac9b3f284f2754b2bcdc6bba3fa2cf554deb0cebc9e83e2691355a32b81311cd313f2a5ad4bb650d1759967d299fc88a69f1793c50203c820ddc7c SHA512 fa3fcf130721ee6f7012225c1e7952bd41703c2488b1d0ffe2b8c73ed06744d1cd9f03b6ab19aa0b8074fbfaafe46f8e102d6a648756725a60dc076e896cfbf6
+DIST mdns-1.4.3.tar.gz 24908 BLAKE2B afa44a409633c5cc43e9a15878f21039fe4a401f498f297fabb16aeea131c30d4832c3ee29768dd51a90c9cdc4f55dabc04fdbd7ca94cf35e0e020d2fd589bf1 SHA512 0bbfeefdd3f324a8e5aa85227bfa45c2b5cd88c12a9f77df2a1c48cb2661ba8b283dd53541e39d20ed2705646dc8d8724a0287c58f9efa91d2b1b796a0ca9a7a
diff --git a/dev-libs/mdns/files/mdns-1.4.2-timeval.patch b/dev-libs/mdns/files/mdns-1.4.2-timeval.patch
deleted file mode 100644
index 01e46004d0c4..000000000000
--- a/dev-libs/mdns/files/mdns-1.4.2-timeval.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-https://github.com/mjansson/mdns/pull/69
-
---- a/mdns.c
-+++ b/mdns.c
-@@ -16,6 +16,7 @@
- #include <netdb.h>
- #include <ifaddrs.h>
- #include <net/if.h>
-+#include <sys/time.h>
- #endif
-
- // Alias some things to simulate recieving data to fuzz library
diff --git a/dev-libs/mdns/mdns-1.4.2.ebuild b/dev-libs/mdns/mdns-1.4.2.ebuild
deleted file mode 100644
index d1d62383e556..000000000000
--- a/dev-libs/mdns/mdns-1.4.2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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"
-SRC_URI="https://github.com/mjansson/mdns/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Unlicense"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PATCHES=(
- "${FILESDIR}/${P}-timeval.patch"
-)
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/metee/Manifest b/dev-libs/metee/Manifest
index 5c647e1a9320..efd450ae6bb3 100644
--- a/dev-libs/metee/Manifest
+++ b/dev-libs/metee/Manifest
@@ -1,2 +1 @@
-DIST metee-3.1.4.tar.gz 72983 BLAKE2B d3617a891c1b5162aaf17561f8ee59c07f2808d9c67c67740ce0519fed5b20331249b2a537a6ab839d844a2e576fe80252bf9016b61ea0bf3f91d2704384bd01 SHA512 b913056535bb323bbe6c2c5460af633ed4a1bb326a56dfe90f1e8a1fe58b77109be791b3a2ebd1324a9618a0778f4e7a2c12bb16f19004218ef69612ebd9de49
-DIST metee-3.1.5.tar.gz 73077 BLAKE2B f8cdf6d07b8458f0b8e66c5c9e93e9fcb4ff3881512c6f0d429522fb38f48dee6f751f87cbe07f16edd98f24b1477adbb076f2fad3894a52838523828ff7c72c SHA512 3c42bba3e47a38c08747acb4f760c046bd5ff9aa74c96f70cdfa9905f027f04eb691ad1d7dd5f2bccfa2c7a749e5e7c153a3c6f1ecaaa813be4ddc152180fe0f
+DIST metee-3.2.4.tar.gz 77148 BLAKE2B 9539178deb97465bfcb1c226fadd50a81d5923a5b4b433c60fd35e7f4dd5c6042d281d4bf44c68598bd62f963a893e5b1278fd464055fa7cf7f52d97f3891c6d SHA512 ed611fedbde9719c385b015504798af89ec2f59213573cfdb4b6af01febd0956f2fd7ce3c136481dee5b5e195fbb9c2fc71a2362c87b8b94f31a7d35bc732b96
diff --git a/dev-libs/metee/metee-3.1.4.ebuild b/dev-libs/metee/metee-3.1.4.ebuild
deleted file mode 100644
index 08c70f405d1f..000000000000
--- a/dev-libs/metee/metee-3.1.4.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 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-doc/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/metee/metee-3.1.5.ebuild b/dev-libs/metee/metee-3.1.5.ebuild
deleted file mode 100644
index e6ad43ce8784..000000000000
--- a/dev-libs/metee/metee-3.1.5.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 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-doc/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/metee/metee-3.2.4.ebuild b/dev-libs/metee/metee-3.2.4.ebuild
new file mode 100644
index 000000000000..99ec0b02543e
--- /dev/null
+++ b/dev-libs/metee/metee-3.2.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Cross-platform access library for Intel CSME HECI interface"
+HOMEPAGE="https://github.com/intel/metee"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+IUSE="doc"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+ cmake_src_prepare
+
+ # Respect users CFLAGS
+ sed -e 's/-D_FORTIFY_SOURCE=2 -O2//' -e 's/-Werror//' -i linux.cmake || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCS="$(usex doc)"
+ -DBUILD_SAMPLES="NO"
+ -DBUILD_SHARED_LIBS="YES"
+ -DBUILD_TEST="NO"
+ -DCONSOLE_OUTPUT="NO"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/mimalloc/Manifest b/dev-libs/mimalloc/Manifest
index 3521833c23aa..bd29ba52dd71 100644
--- a/dev-libs/mimalloc/Manifest
+++ b/dev-libs/mimalloc/Manifest
@@ -1,3 +1,2 @@
-DIST mimalloc-2.0.6.tar.gz 1127052 BLAKE2B bd8a38cc0eab6ad950a63f494f24e6a91c50d2104335e9ce70963a7baadd26c7a2b7440b2fcabe502d9961549222873d017cb525bf5b32da967cf51aa167603c SHA512 f2fc0fbfb6384e85959897f129e5d5d9acc51bda536d5cabcd7d4177dbda9fb735b8a8c239b961f8bea31d37c9ae10f66da23aa91d497f95393253d4ac792bb3
-DIST mimalloc-2.0.7.tar.gz 1137057 BLAKE2B dc7ca7443507b14967168e4899464d137da425bdbc3863d44faef7adfe62e983cec0a7950937f010d003ff4df3c4368ff2f9753c3fda19641ab12f91fc73055c SHA512 120f89eef50ba83130e8ceb974a6148c84a7f3d975d1efaa094142518afb4ff6d9e24f8e75e9aa0bb02dc80bf497eced4b8ae1f2f5914fdabd773317e1341ea1
-DIST mimalloc-2.0.9.tar.gz 1143452 BLAKE2B 55e91d8fc89ef5344078caa5e72efce8c0745e3aab7bfb682587abf806bda1903c1afeaa57660a4dbcf7c19c04c759caf69af9fb62d15ecbdf2ce5bcf6574625 SHA512 bf6945bfb600ade35dab34c7f570ee4f69a77612547ad874bbbd989a4e594a6a219c222a22c90c5e36f205aae4d5cd1a5e4651caed5433db275d414c6769bf49
+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/mimalloc-2.0.6.ebuild b/dev-libs/mimalloc/mimalloc-2.0.6.ebuild
deleted file mode 100644
index f72c408d29ed..000000000000
--- a/dev-libs/mimalloc/mimalloc-2.0.6.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022 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 ~loong ~riscv ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_configure() {
- local mycmakeargs=(
- # TODO: build hardened variant?
- #-DMI_SECURE=$(usex hardened)
-
- -DMI_INSTALL_TOPLEVEL=ON
- -DMI_BUILD_TESTS=$(usex test)
-
- -DMI_BUILD_OBJECT=OFF
- -DMI_BUILD_STATIC=OFF
- )
-
- cmake-multilib_src_configure
-}
diff --git a/dev-libs/mimalloc/mimalloc-2.0.7.ebuild b/dev-libs/mimalloc/mimalloc-2.0.7.ebuild
deleted file mode 100644
index 8f67eb2dad98..000000000000
--- a/dev-libs/mimalloc/mimalloc-2.0.7.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 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 ~loong ~riscv ~x86"
-IUSE="hardened test"
-RESTRICT="!test? ( test )"
-
-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
- )
-
- cmake-multilib_src_configure
-}
diff --git a/dev-libs/mimalloc/mimalloc-2.0.9.ebuild b/dev-libs/mimalloc/mimalloc-2.0.9.ebuild
deleted file mode 100644
index 7747f2101976..000000000000
--- a/dev-libs/mimalloc/mimalloc-2.0.9.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 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 ~loong ~ppc64 ~riscv ~x86"
-IUSE="hardened test"
-RESTRICT="!test? ( test )"
-
-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
- )
-
- cmake-multilib_src_configure
-}
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/metadata.xml b/dev-libs/mimetic/metadata.xml
index 6c135ca027bd..4918c8c54396 100644
--- a/dev-libs/mimetic/metadata.xml
+++ b/dev-libs/mimetic/metadata.xml
@@ -1,13 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>jkt@kde.org</email>
- </maintainer>
- <maintainer type="person">
- <email>kensington@gentoo.org</email>
- <name>Michael Palimaka</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">tat/mimetic</remote-id>
</upstream>
diff --git a/dev-libs/mimetic/mimetic-0.9.8.ebuild b/dev-libs/mimetic/mimetic-0.9.8.ebuild
index 41acacbeb54c..0b546da4add4 100644
--- a/dev-libs/mimetic/mimetic-0.9.8.ebuild
+++ b/dev-libs/mimetic/mimetic-0.9.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,15 +6,15 @@ EAPI=7
inherit autotools
DESCRIPTION="C++ MIME library designed to be easy to use and integrate, fast and efficient"
-HOMEPAGE="http://www.codesink.org/mimetic_mime_library.html"
-SRC_URI="http://www.codesink.org/download/${P}.tar.gz"
+HOMEPAGE="https://www.codesink.org/mimetic_mime_library.html"
+SRC_URI="https://www.codesink.org/download/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~loong ~ppc64 x86"
IUSE="doc examples"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}/signed-char.patch"
diff --git a/dev-libs/miniaudio/Manifest b/dev-libs/miniaudio/Manifest
index 21b03258751b..4c800af084e5 100644
--- a/dev-libs/miniaudio/Manifest
+++ b/dev-libs/miniaudio/Manifest
@@ -1 +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
index 78438f9aa5b5..d1cb40fe7921 100644
--- a/dev-libs/miniaudio/metadata.xml
+++ b/dev-libs/miniaudio/metadata.xml
@@ -10,6 +10,6 @@
<name>Gentoo Games Project</name>
</maintainer>
<upstream>
- <remote-id type="github">jmackron/miniaudio</remote-id>
+ <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
index 3cb98015c5b2..d777fa47f385 100644
--- a/dev-libs/miniaudio/miniaudio-0.11.11.ebuild
+++ b/dev-libs/miniaudio/miniaudio-0.11.11.ebuild
@@ -4,8 +4,8 @@
EAPI=8
COMMIT="a0dc1037f99a643ff5fad7272cd3d6461f2d63fa"
-DESCRIPTION="A single file library for audio playback and capture"
-HOMEPAGE="https://miniaudio.io"
+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}"
diff --git a/dev-libs/miniaudio/miniaudio-0.11.15.ebuild b/dev-libs/miniaudio/miniaudio-0.11.15.ebuild
new file mode 100644
index 000000000000..ca2ad5c1f1b9
--- /dev/null
+++ b/dev-libs/miniaudio/miniaudio-0.11.15.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Single file library for audio playback and capture"
+HOMEPAGE="https://miniaud.io"
+SRC_URI="https://github.com/mackron/miniaudio/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( public-domain MIT-0 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+src_install() {
+ insinto /usr/include/${PN}/
+ doins -r *
+}
diff --git a/dev-libs/miniz/Manifest b/dev-libs/miniz/Manifest
index 02a0e3369c0c..636a018f5d56 100644
--- a/dev-libs/miniz/Manifest
+++ b/dev-libs/miniz/Manifest
@@ -1,2 +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/miniz-2.2.0-r1.ebuild b/dev-libs/miniz/miniz-2.2.0-r1.ebuild
index 50052d3a9e0b..6bbf018addfc 100644
--- a/dev-libs/miniz/miniz-2.2.0-r1.ebuild
+++ b/dev-libs/miniz/miniz-2.2.0-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/richgel999/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="amd64 ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 sparc x86"
PATCHES=(
# https://bugs.gentoo.org/849578
diff --git a/dev-libs/miniz/miniz-3.0.1.ebuild b/dev-libs/miniz/miniz-3.0.1.ebuild
index 741860999d35..32d829ee6e85 100644
--- a/dev-libs/miniz/miniz-3.0.1.ebuild
+++ b/dev-libs/miniz/miniz-3.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,6 +11,6 @@ SRC_URI="https://github.com/richgel999/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+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/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/mmtf-cpp/mmtf-cpp-1.1.0.ebuild b/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild
deleted file mode 100644
index c31d0595eb2f..000000000000
--- a/dev-libs/mmtf-cpp/mmtf-cpp-1.1.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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/modsecurity/Manifest b/dev-libs/modsecurity/Manifest
index 96a42dc0476a..e0a65901d957 100644
--- a/dev-libs/modsecurity/Manifest
+++ b/dev-libs/modsecurity/Manifest
@@ -1 +1,3 @@
-DIST modsecurity-v3.0.8.tar.gz 3336288 BLAKE2B de15124362f23c86a6dcee15dd847fcf703a378a57ebd4826a6304fed33b34f4791c7aa80abd42cbe5932063c1ca59f755345e3810dcbc296e2b6a758e0c580b SHA512 8113358548aea19a18de183922e979fd7ce9daad289c6894bda458176f17da63fb45160a2a86d97730c90191c881b232b1c9c6ab9209c3988b4390e49e086117
+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/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/modsecurity/modsecurity-3.0.8.ebuild b/dev-libs/modsecurity/modsecurity-3.0.8.ebuild
deleted file mode 100644
index fcfe19f0dd73..000000000000
--- a/dev-libs/modsecurity/modsecurity-3.0.8.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2022 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-doc/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/mongo-c-driver/Manifest b/dev-libs/mongo-c-driver/Manifest
index 57f1300f64fd..2e83e1e3a78a 100644
--- a/dev-libs/mongo-c-driver/Manifest
+++ b/dev-libs/mongo-c-driver/Manifest
@@ -1 +1,2 @@
DIST mongo-c-driver-1.18.0.tar.gz 7246954 BLAKE2B 9418ab2e132f8a8c582bcbea8c7b090e9e45e34219845d8f6b7a99d4ebfb17ef2eec2223504e9a4ab7f51ca01e904a7f3bb04bf9f8bf20c010ab9f82894a728e SHA512 c970f347689916172a957fc431b307bab3cb63367d4b39c49745c75b9fa84f0035db934c551570a4141733fc1bc6b33b118911c3b69ecdea797f19312b213606
+DIST mongo-c-driver-1.24.4.tar.gz 7916661 BLAKE2B e361b52bf16eed7437428b0481d792ecf2f9cc283fdd6f23916d4a3ffb1b7d7c9ea7a7c4cf5f369e21fb6d4f564b91e07ac2ee44656855993218593dc4f1c166 SHA512 3563c061565d17a76581e188f6e184d7e41f2729812c8815afd34e03ebe6c1d25d7498a2cb1b599a09d24f6268c36473ef5113a14c7585a1532c9abf2e56e936
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.18.0-r1.ebuild
index 752bb1e91e55..e2bf1455e790 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -23,7 +23,6 @@ RESTRICT="x86? ( test )
RDEPEND="app-arch/snappy:=
app-arch/zstd:=
>=dev-libs/libbson-${PV}[static-libs?]
- <dev-python/sphinx-5
sys-libs/zlib:=
icu? ( dev-libs/icu:= )
sasl? ( dev-libs/cyrus-sasl:= )
@@ -35,6 +34,9 @@ DEPEND="${RDEPEND}
dev-db/mongodb
dev-libs/libbson[static-libs]
)"
+BDEPEND="
+ dev-python/sphinx
+"
PATCHES=(
"${FILESDIR}/${PN}-1.14.0-no-docs.patch"
@@ -44,6 +46,9 @@ PATCHES=(
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
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild
new file mode 100644
index 000000000000..05faec798845
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Client library written in C for MongoDB"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~riscv ~x86"
+IUSE="debug examples icu sasl ssl static-libs test"
+REQUIRED_USE="test? ( static-libs )"
+
+# No tests on x86 because tests require dev-db/mongodb which don't support
+# x86 anymore (bug #645994)
+RESTRICT="x86? ( test )
+ !test? ( test )"
+
+RDEPEND="app-arch/snappy:=
+ app-arch/zstd:=
+ >=dev-libs/libbson-${PV}[static-libs?]
+ dev-python/sphinx
+ sys-libs/zlib:=
+ icu? ( dev-libs/icu:= )
+ sasl? ( dev-libs/cyrus-sasl:= )
+ ssl? (
+ dev-libs/openssl:=
+ )"
+DEPEND="${RDEPEND}
+ test? (
+ dev-db/mongodb
+ dev-libs/libbson[static-libs]
+ )"
+
+src_prepare() {
+ cmake_src_prepare
+
+ # copy private headers for tests since we don't build libbson
+ if use test; then
+ mkdir -p src/libbson/tests/bson || die
+ cp src/libbson/src/bson/bson-*.h src/libbson/tests/bson/ || die
+ fi
+
+ # remove doc files
+ sed -i '/^\s*install\s*(FILES COPYING NEWS/,/^\s*)/{d}' CMakeLists.txt || die
+
+ # enable tests
+ sed -i '/message ("-- disabling test-libmongoc since using system libbson")/{d}' CMakeLists.txt || die
+ sed -i '/SET (ENABLE_TESTS OFF)/{d}' CMakeLists.txt || die
+ sed -i 's/message (FATAL_ERROR "System libbson built without static library target")/message (STATUS "System libbson built without static library target")/' CMakeLists.txt || die
+ sed -i 's#<bson/bson-private.h>#"bson/bson-private.h"#' src/libbson/tests/test-bson.c || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
+ -DUSE_SYSTEM_LIBBSON=ON
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_ICU="$(usex icu ON OFF)"
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_MONGOC=ON
+ -DENABLE_SNAPPY=AUTO
+ -DENABLE_ZLIB=SYSTEM
+ -DENABLE_SASL="$(usex sasl CYRUS OFF)"
+ -DENABLE_SSL="$(usex ssl $(usex ssl OPENSSL) OFF)"
+ -DENABLE_STATIC="$(usex static-libs ON OFF)"
+ -DENABLE_TESTS="$(usex test ON OFF)"
+ -DENABLE_TRACING="$(usex debug ON OFF)"
+ -DENABLE_UNINSTALL=OFF
+ -DENABLE_ZSTD=ON
+ )
+
+ cmake_src_configure
+}
+
+# FEATURES="test -network-sandbox" USE="static-libs" emerge dev-libs/mongo-c-driver
+src_test() {
+ local PORT=27099
+ mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
+ --dbpath="${T}" --logpath="${T}/mongod.log" || die
+ MONGOC_TEST_URI="mongodb://[127.0.0.1]:${PORT}" ../mongo-c-driver-${PV}_build/src/libmongoc/test-libmongoc || die
+ kill $(<"${T}/mongod.lock")
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc src/libmongoc/examples/*.c
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/mpc/Manifest b/dev-libs/mpc/Manifest
index b46d47781800..0b2e2d8ce907 100644
--- a/dev-libs/mpc/Manifest
+++ b/dev-libs/mpc/Manifest
@@ -1,2 +1 @@
-DIST mpc-1.2.1.tar.gz 838731 BLAKE2B 9cd03c6a71839e4cdb3c1f18d718cc4d3097c3f8ec307a5c756bd5df27c68aa013755156b3b156efee1acabfee2269602c6a3a358092ef0d522271c9c56c133d SHA512 3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee
DIST mpc-1.3.1.tar.gz 773573 BLAKE2B 76434e6f8830af3571836d51576bfebbc9701e9bbb5c4686f134081cd96cd90ae02f7ff42bf9e3957c7a7ba92b6b2d9cdabe18f0269271147521cd7f6a2d551c SHA512 4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97
diff --git a/dev-libs/mpc/mpc-1.2.1.ebuild b/dev-libs/mpc/mpc-1.2.1.ebuild
deleted file mode 100644
index 01a56d4d819a..000000000000
--- a/dev-libs/mpc/mpc-1.2.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
-HOMEPAGE="https://www.multiprecision.org/mpc/ https://gitlab.inria.fr/mpc/mpc"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/3" # libmpc.so.3
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-DEPEND=">=dev-libs/gmp-5.0.0:0=[${MULTILIB_USEDEP},static-libs?]
- >=dev-libs/mpfr-4.1.0:0=[${MULTILIB_USEDEP},static-libs?]"
-RDEPEND="${DEPEND}"
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/mpc/mpc-1.3.1.ebuild b/dev-libs/mpc/mpc-1.3.1.ebuild
index 700a8b0f1467..0b1308164ff9 100644
--- a/dev-libs/mpc/mpc-1.3.1.ebuild
+++ b/dev-libs/mpc/mpc-1.3.1.ebuild
@@ -10,20 +10,16 @@ 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}"/${P/_}
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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
-LICENSE="LGPL-2.1"
+LICENSE="LGPL-3+ FDL-1.3+"
SLOT="0/3" # libmpc.so.3
IUSE="static-libs"
-# 1.3.1_rc1 is identical to 1.3.0-r1 so just keyword it and later RCs
-# contain further build fixes for consumers.
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
DEPEND="
>=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]
diff --git a/dev-libs/mpfr/Manifest b/dev-libs/mpfr/Manifest
index f278ebd18e1a..8c08820634e9 100644
--- a/dev-libs/mpfr/Manifest
+++ b/dev-libs/mpfr/Manifest
@@ -1,18 +1,2 @@
-DIST mpfr-4.1.0-patch01.patch 2061 BLAKE2B 55b34d7e8d94d22a1c188d5f5c7b73523c080ac9b44ba4055894ab40a43e3b17b2fcc74bb3b8af93952929c073946bb143486e5963a160a1c456a62d0d73cf8f SHA512 f401d2a3b1e2e7e95177e5bf98d023be323c7e2152e9aab7133bad44c5924bed644ecb94477dc7ca975a29e1cc156001897966293130ac56d2ee5d96ade18ad3
-DIST mpfr-4.1.0-patch02.patch 2543 BLAKE2B ab36c68523132702a7be6b072e9a96054d8471b61d0b79d1f82a622a278f445fd43d2ebf3ae42fa915bf10d9d643f735146f3b2dd6026134f72e3ca9de1e29da SHA512 cb896e0b648225aa4eaa5959f79d7d5bd830ed464c6e00ee780ad6ac366054ac573985092c576ffb40ca4f7a9eb976f1c5a039895ca6fdb4fa72677fbd1cb831
-DIST mpfr-4.1.0-patch03.patch 9973 BLAKE2B 3db98472e3c94d8e7734db59f9854276884d3456d5d113be364802f6da08f07e31d30388d393524e0df8cb470ff6b94d763ca3c43be6507bb23628feee0b5d8d SHA512 c6893d67721d6bfd76efc639c84f7e6d60ae1bea09f32247d30cfc8011b5450fa8d1cd23956df1e4fe58fd4ec2d905502976f3bd2a5601af31bdb898275e429d
-DIST mpfr-4.1.0-patch04.patch 27336 BLAKE2B 4311d3129abc220f833faa1c231cdfbe8daf4644412a7a22d187aeee44f8b0bfde9d2f3c6ef530718f677b74c89df4e3e5b2d8439bfe708e1e0e416b4e2ad74a SHA512 f21ac3daedab771373f16b5cd209f2cf305f6ea06634352ede84731839a60eea21bf5f023d26238777a5218186186ae170e9d6a89a380844c6b67b5e5514f14f
-DIST mpfr-4.1.0-patch05.patch 5345 BLAKE2B b75d5ed4a0dfc78bc35fc5427782d052e9bff8633ab22786dd0ab554bfacbcfb13273e66603b12faab08ea9b9721639f33ac7ec4e73a7478b997dbe8e41e91fc SHA512 d2d7a9bd1d0bff08bedcb5ead91aeda493bc87b723a1caab8fcfe854f39a2d13fafbd8efb69b4c997ca6c0c90b224add3d7d54a2826645b4ecc01fdac512f9fa
-DIST mpfr-4.1.0-patch06.patch 4026 BLAKE2B f00cb90954caf23e2ab42125e7c55a7d1f1136503ffc12654aef2e67de32447f9caad52d372715f72afa3c58ed4e12f6741dfcc45a821d2c69b2115b39a5d057 SHA512 67f5f2c4d0b48ca22ef34ed3e9be110b0781b77db539a6fd9cfa8199a19b5667276e8b93a21b616697ebf0baf1bb894bf13e502bea95c7cad1a1137220e13228
-DIST mpfr-4.1.0-patch07.patch 3580 BLAKE2B 0ceeebdb4849a0b6ed73646b7e8b0709dcd80f925584a497925d4e47023c129a28687ab6264f876e87c0e1e302b8ff4cdc028514d2286bf332219a5e314d386e SHA512 4d95697fa1b6474982325384d905a2ffee76bfe5554f3bbe5a24897ca0c9a44187558762a3d8e54ea749f0d27d3b2ea5af7580b63e871da8634b39078cd50b65
-DIST mpfr-4.1.0-patch08.patch 4002 BLAKE2B cb1ca978b1ae0415c4ba38a2ced9be9af9b38be9ef3ae5caee5bc2501553f3ff050043754643423040a433246c695280111bf110514e35581a2a0eba6f0b4379 SHA512 6e291e9d16b4b3d4bbd4c10cd454bb1acc2f903f2356ba6551fe279a53a4204dc9ba3bd689cb268f1070dc7b8a1f2da55c09a6b7cec93f0082295cf21fec72a4
-DIST mpfr-4.1.0-patch09.patch 4591 BLAKE2B 09980bd9f1fb7e39a35e972e9c8a8fd3918bd9202dca446d1874c9fc8390fe8dcc261332f6e662ae05999f0129c56c81624ed95fa7e9298ebc8beaecc3975ca0 SHA512 847f9e62762bb2eeeeca29ff84876c0ab7c0075d5d34744cfd6c22d480acf56e2c17187f7137724d6ac6eeac0dbd4888e7f128e4aaf34eb00d088a65a046de6d
-DIST mpfr-4.1.0-patch10.patch 26493 BLAKE2B 8cc0c498264d05c03a72dad58e553c9ea63e29fe43f45cec0cdf29df2e3eac1db33e17c58de5dacfe08c4192300bff5ee3dd816ecab661890a277bdee2cfc19a SHA512 7ee6d2074f640ed17626284fc3f1e77b18e756365ee836ba4b046ba49adb7a701c845401f202ae2d396319285e9f65ec7ef0d51bc3a51460b91b7b2078efcb04
-DIST mpfr-4.1.0-patch11.patch 4584 BLAKE2B 4ba240e7e8acc360eb2f05186493fd9044c8fe285f1be209270e1bd5bcb6485d4ee2feca6af1cf56e2ffd5b592b483ae76ae9acac246286ea0ab4130fe0d9bf6 SHA512 90d6f3e781eab0f8e5f07ed00c1c824af49c6cd60d4c3324c71e6c29150a8f22e2b0b78e7ee32ce505c87ee33ec1ad46e36e3825c6beb524093fc532acdcd913
-DIST mpfr-4.1.0-patch12.patch 6768 BLAKE2B 15ce68eb9941ac5d6544ee18a062cb12026e07273a5424b3941596a1024f54cf5481363e145cac9375e518ec2033db82d4fe9152884c74a9037a81fd2c405b5e SHA512 4e91cffa0df911d68931ace13e86e420ec9f7d8e8a0279e12d995bbf8061b6bec90cb03ef8642a854f652907b13e533b7afb95f2279cf2dfa4010ec5d745ac3c
-DIST mpfr-4.1.0-patch13.patch 3344 BLAKE2B 1239cf16dfe32a71bb6fc7b156978cd451bcbe4e1b04842fdb3549352a43607d44d58120e38bf448ffd33e36bab7f7cfd4ab65b2eb3aac2fe9bbd86d8f425f5a SHA512 ddd5f54d12584b6e10fd4eba12b8568c5286dba10bd3b5cdd429415b78bc827bd0ed3957bd06ca4c2c63a2f5e877fd9d86eebade8929d61aafe84ace8454d016
-DIST mpfr-4.1.0.tar.xz 1525476 BLAKE2B 41d1be0c4b557760f12a4525ad3a84b6e2cd6f0927c935fcfba577ac0490e582d1ae4b581dce58e21e705cf9d7c88373054d7fb7a94bb32c69b339f99a25dc68 SHA512 1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273
-DIST mpfr-4.1.1-patch01.patch 2985 BLAKE2B d6bed1d6fca2319db457096a81aca060c1bd934fcdf9c5f98ba44920a7e97c2a5e9c539ec554feb723fb98c84096e1cb615c0d973133c67f3c2097edc1c5b803 SHA512 aa98173d59a24d0f59acff0c2143db5623746db3f6445e300a018a124b35a6b57d631c357a9a890f23c748591f621a95d3a801bed7341b6c8b6ddcc86ecfb107
-DIST mpfr-4.1.1.tar.xz 1429836 BLAKE2B ce20baee2f060acb28b877ffe6fc40c5619cf6af231bd54ca6cfb3e42ef2d74a4ffbab96cf0b5dd6a162e558099a54701d42f34f5bf2256f256fe6f5ae2505d0 SHA512 be468749bd88870dec37be35e544983a8fb7bda638eb9414c37334b9d553099ea2aa067045f51ae2c8ab86d852ef833e18161d173e414af0928e9a438c9b91f1
-DIST mpfr-4.2.0.tar.xz 1477532 BLAKE2B dd88ae3a6a910ad8faeb791b49c3b1085de5d0d4c49c637c124bf4d9bc79fb621d0d1d69e07d0642b9b678f6d355a5830d083dfd189e1e91d0e04c970c10bd64 SHA512 58e843125884ca58837ae5159cd4092af09e8f21931a2efd19c15de057c9d1dc0753ae95c592e2ce59a727fbc491af776db8b00a055320413cdcf2033b90505c
-DIST mpfr-4.2.0.tar.xz.asc 228 BLAKE2B b281a11528a69418739b0122b4130d9cf212569f9ded8def685b31afe700ea776dd40ac0de7aa6de1bbd5d03a1dc9726ed4278cc6cccfacd1147681a6de27f70 SHA512 ce64346cce89bc38fee161a5e01c349c97c69b626547e54a522b741949cb27bba1668d123143fd03b015f9bdd692bcba08c7b85cf4d4cea9f7834383e04d4bbc
+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/mpfr-4.1.0_p13-r1.ebuild b/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
deleted file mode 100644
index bb3723e9910e..000000000000
--- a/dev-libs/mpfr/mpfr-4.1.0_p13-r1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-# Upstream distribute patches before a new release is made
-# See https://www.mpfr.org/mpfr-current/#bugs for the latest version (and patches)
-
-# Check whether any patches touch e.g. manuals!
-# https://archives.gentoo.org/gentoo-releng-autobuilds/message/c2dd39fc4ebc849db6bb0f551739e2ed
-MY_PV=$(ver_cut 1-3)
-MY_PATCH=$(ver_cut 5-)
-MY_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/${MY_P}/${MY_P}.tar.xz"
-if [[ ${PV} == *_p* ]] ; then
- # If this is a patch release, we have to download each of the patches:
- # -_pN = N patches
- # - patch file names are like: patch01, patch02, ..., patch10, patch12, ..
- #
- # => name the ebuild _pN where N is the number of patches on the 'bugs' page.
- for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++)); do
- SRC_URI+=" $(printf "https://www.mpfr.org/${MY_P}/patch%02d -> ${MY_P}-patch%02d.patch " ${my_patch_index}{,})"
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${MY_P}-patch%02d.patch ${my_patch_index}) )
- done
- unset my_patch_index
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-# This is a critical package; if SONAME changes, bump subslot but also add
-# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
-SLOT="0/6" # libmpfr.so version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- # Apply the upstream patches released out-of-band; generated above
- "${MY_PATCHES[@]}"
-
- # Additional patches
-)
-
-HTML_DOCS=( doc/FAQ.html )
-
-src_unpack() {
- # 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/mpfr/mpfr-4.1.1_p1.ebuild b/dev-libs/mpfr/mpfr-4.1.1_p1.ebuild
deleted file mode 100644
index 17a0ef520d56..000000000000
--- a/dev-libs/mpfr/mpfr-4.1.1_p1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal
-
-# Upstream distribute patches before a new release is made
-# See https://www.mpfr.org/mpfr-current/#bugs for the latest version (and patches)
-
-# Check whether any patches touch e.g. manuals!
-# https://archives.gentoo.org/gentoo-releng-autobuilds/message/c2dd39fc4ebc849db6bb0f551739e2ed
-MY_PV=$(ver_cut 1-3)
-MY_PATCH=$(ver_cut 5-)
-MY_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/${MY_P}/${MY_P}.tar.xz"
-if [[ ${PV} == *_p* ]] ; then
- # If this is a patch release, we have to download each of the patches:
- # -_pN = N patches
- # - patch file names are like: patch01, patch02, ..., patch10, patch12, ..
- #
- # => name the ebuild _pN where N is the number of patches on the 'bugs' page.
- for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++)); do
- SRC_URI+=" $(printf "https://www.mpfr.org/${MY_P}/patch%02d -> ${MY_P}-patch%02d.patch " ${my_patch_index}{,})"
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${MY_P}-patch%02d.patch ${my_patch_index}) )
- done
- unset my_patch_index
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-# This is a critical package; if SONAME changes, bump subslot but also add
-# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
-SLOT="0/6" # libmpfr.so version
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- # Apply the upstream patches released out-of-band; generated above
- "${MY_PATCHES[@]}"
-
- # Additional patches
-)
-
-HTML_DOCS=( doc/FAQ.html )
-
-src_unpack() {
- # 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/mpfr/mpfr-4.2.0.ebuild b/dev-libs/mpfr/mpfr-4.2.0.ebuild
deleted file mode 100644
index c59c7f67eece..000000000000
--- a/dev-libs/mpfr/mpfr-4.2.0.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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.
- for ((my_patch_index=1; my_patch_index <= MY_PATCH; my_patch_index++)); do
- SRC_URI+=" $(printf "https://www.mpfr.org/${PN}-$(ver_cut 1-3)/patch%02d -> ${PN}-$(ver_cut 1-3)-patch%02d.patch " ${my_patch_index}{,})"
- MY_PATCHES+=( "${DISTDIR}"/$(printf ${PN}-$(ver_cut 1-3)-patch%02d.patch ${my_patch_index}) )
- done
- unset my_patch_index
-fi
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-2.1"
-# This is a critical package; if SONAME changes, bump subslot but also add
-# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
-SLOT="0/6" # libmpfr.so version
-if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-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/mpfr/mpfr-4.2.1.ebuild b/dev-libs/mpfr/mpfr-4.2.1.ebuild
new file mode 100644
index 000000000000..33153eb470a0
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-4.2.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/vincentlefevre.asc
+inherit multilib-minimal verify-sig
+
+# Upstream distribute patches before a new release is made
+# See https://www.mpfr.org/mpfr-current/#bugs for the latest version (and patches)
+
+# Check whether any patches touch e.g. manuals!
+# https://archives.gentoo.org/gentoo-releng-autobuilds/message/c2dd39fc4ebc849db6bb0f551739e2ed
+MY_PV=${PV%%_p*}
+MY_PATCH=$(ver_cut 5-)
+MY_PATCHES=()
+MY_P=${PN}-${MY_PV/_/-}
+
+DESCRIPTION="Library for multiple-precision floating-point computations with exact rounding"
+HOMEPAGE="https://www.mpfr.org/ https://gitlab.inria.fr/mpfr"
+SRC_URI="https://www.mpfr.org/${PN}-$(ver_cut 1-3)/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://www.mpfr.org/${PN}-$(ver_cut 1-3)/${MY_P}.tar.xz.asc )"
+
+if [[ ${PV} == *_p* ]] ; then
+ # If this is a patch release, we have to download each of the patches:
+ # -_pN = N patches
+ # - patch file names are like: patch01, patch02, ..., patch10, patch12, ..
+ #
+ # => name the ebuild _pN where N is the number of patches on the 'bugs' page.
+ patch_url_base="https://www.mpfr.org/${MY_P}"
+ my_patch_index=
+
+ for ((my_patch_index=1; my_patch_index <= MY_PATCH ; my_patch_index++)) ; do
+ printf -v mangled_patch_ver "patch%02d" "${my_patch_index}"
+
+ SRC_URI+=" ${patch_url_base}/${mangled_patch_ver} -> ${MY_P}-${mangled_patch_ver}.patch"
+
+ MY_PATCHES+=( "${DISTDIR}"/${MY_P}-${mangled_patch_ver}.patch )
+ done
+
+ unset patch_url_base my_patch_index mangled_patch_ver
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3+"
+# This is a critical package; if SONAME changes, bump subslot but also add
+# preserve-libs.eclass usage to pkg_*inst! See e.g. the readline ebuild.
+SLOT="0/6" # libmpfr.so version
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/gmp-5.0.0:=[${MULTILIB_USEDEP},static-libs?]"
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-vincentlefevre )"
+
+PATCHES=(
+ # Apply the upstream patches released out-of-band; generated above
+ "${MY_PATCHES[@]}"
+
+ # Additional patches
+)
+
+HTML_DOCS=( doc/FAQ.html )
+
+src_unpack() {
+ use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+
+ # Avoid src_unpack noise from patches
+ unpack ${MY_P}.tar.xz
+}
+
+src_prepare() {
+ default
+
+ # 4.1.0_p13's patch10 patches a .texi file *and* the corresponding
+ # info file. We need to make sure the info file is newer, so the
+ # build doesn't try to run makeinfo. Won't be needed on next release.
+ #touch "${S}/doc/mpfr.info" || die
+}
+
+multilib_src_configure() {
+ # bug #476336#19
+ # Make sure mpfr doesn't go probing toolchains it shouldn't
+ ECONF_SOURCE="${S}" \
+ user_redefine_cc=yes \
+ econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
+
+ if ! use static-libs ; then
+ find "${ED}"/usr -name '*.la' -delete || die
+ fi
+}
diff --git a/dev-libs/msgpack/Manifest b/dev-libs/msgpack/Manifest
index 5590de8de0f3..7d06ba598e97 100644
--- a/dev-libs/msgpack/Manifest
+++ b/dev-libs/msgpack/Manifest
@@ -1 +1,2 @@
-DIST msgpack-3.3.0.tar.gz 508001 BLAKE2B 3017c44689f8afbf078b9c498449e21b4e3b87591c50a37bf9ae73869dab550819f24d6e5179a3600df297aa2c024e5a7fe1defcbab7c0f1aff826870de2ab32 SHA512 ad3e32edc8c6afd70282b3d4b493c2ffe74a697c41bd1f39030c5b4752cccefaa965bc049d4c2e63103a210bf714dc3bddd474691bc067d1475ae017593f55e6
+DIST msgpack-c-5.0.0.tar.gz 69275 BLAKE2B 9c4ebc60387028cba04d5a8f4d97ca3cf6caa3db93fa7da1a90089d63cd58b36a7fb387b4fd5410d0c422719c1aed6d479418d3cbc011b609afb49cf89c4d0e3 SHA512 f61f19c7dcb5ef2a94cd3fb84e9b090e236caa922f590496e6455bd49a3d001021b55d0f28cea3ce3c35558bedb64f2f932c0e107fb15e6efc6855b99cbe4de6
+DIST msgpack-c-6.0.0.tar.gz 69341 BLAKE2B e5f4f99266e568e7df46064803f869874559b766d32a3eb61f722b610753dd20eb755657eab305079ce0c3c6798848d6511b56d9e60cfedab6fa809cb2f1cb2f SHA512 77a2a3c984e04fcda298ae34571b6826f1d4f6e53b5f7166992269421ae3153b986ed69ba0360347920047e38f6941680bc9e38563ec79f15591bf8d66cd7978
diff --git a/dev-libs/msgpack/metadata.xml b/dev-libs/msgpack/metadata.xml
index 7d2a4745c20f..738a3c879cff 100644
--- a/dev-libs/msgpack/metadata.xml
+++ b/dev-libs/msgpack/metadata.xml
@@ -5,9 +5,6 @@
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
- <use>
- <flag name="boost">Enable boost support</flag>
- </use>
<upstream>
<remote-id type="github">msgpack/msgpack-c</remote-id>
</upstream>
diff --git a/dev-libs/msgpack/msgpack-3.3.0.ebuild b/dev-libs/msgpack/msgpack-3.3.0.ebuild
deleted file mode 100644
index d6e70be0a836..000000000000
--- a/dev-libs/msgpack/msgpack-3.3.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git"
-else
- SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
-HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
-
-LICENSE="Boost-1.0"
-SLOT="0/2"
-IUSE="boost +cxx doc examples static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="doc? ( app-doc/doxygen[dot] )"
-RDEPEND="boost? ( dev-libs/boost[context,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
- test? (
- >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )
-"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DMSGPACK_BOOST="$(usex boost)"
- -DMSGPACK_ENABLE_CXX="$(usex cxx)"
- -DMSGPACK_ENABLE_STATIC="$(usex static-libs)"
- -DMSGPACK_BUILD_TESTS="$(usex test)"
- # don't build the examples
- -DMSGPACK_BUILD_EXAMPLES=OFF
- # enable C++11 by default
- -DMSGPACK_CXX11=ON
- )
-
- cmake_src_configure
-}
-
-multilib_src_compile() {
- cmake_src_compile
-
- if multilib_is_native_abi && use doc; then
- cmake_build doxygen
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- if use doc; then
- local HTML_DOCS=( "${BUILD_DIR}"/docs/. )
-
- mkdir docs || die
- mv doc_c/html docs/c || die
-
- if use cxx; then
- mv doc_cpp/html docs/cpp || die
- fi
- fi
-
- if use examples; then
- docinto examples
- dodoc -r "${WORKDIR}/${P}/example/."
- docompress -x /usr/share/doc/${PF}/examples
- fi
- fi
-
- cmake_src_install
-}
diff --git a/dev-libs/msgpack/msgpack-5.0.0.ebuild b/dev-libs/msgpack/msgpack-5.0.0.ebuild
new file mode 100644
index 000000000000..73d152b825c0
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-5.0.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+MY_PN="${PN}-c"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/c-${PV}/${MY_P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0/2"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc examples test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? (
+ dev-cpp/gtest[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )"
+
+S="${WORKDIR}"/${MY_P}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if multilib_is_native_abi && use doc; then
+ cmake_build doxygen
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/doc_c/html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r "${S}"/example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild
new file mode 100644
index 000000000000..25481bdc6a76
--- /dev/null
+++ b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+MY_PN="${PN}-c"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="MessagePack is a binary-based efficient data interchange format"
+HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/"
+SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/c-${PV}/${MY_P}.tar.gz"
+
+LICENSE="Boost-1.0"
+# Need the -c as a one-off (can drop on next soname bump) as the library rename
+# from libmsgpackc.so.2 -> libmsgpack-c.so.2 is effectively an ABI break and
+# has all the same problems a new SONAME would have.
+# See https://github.com/msgpack/msgpack-c/pull/1053.
+SLOT="0/2-c"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc examples test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen[dot] )
+ test? (
+ dev-cpp/gtest[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )"
+
+S="${WORKDIR}"/${MY_P}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DMSGPACK_BUILD_EXAMPLES=OFF
+ -DMSGPACK_BUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if multilib_is_native_abi && use doc; then
+ cmake_build doxygen
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+ if use doc; then
+ local HTML_DOCS=( "${BUILD_DIR}"/doc_c/html/. )
+ fi
+
+ if use examples; then
+ docinto examples
+ dodoc -r "${S}"/example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ fi
+
+ cmake_src_install
+}
diff --git a/dev-libs/mxml/Manifest b/dev-libs/mxml/Manifest
index 905f517aa128..f48bdf977e33 100644
--- a/dev-libs/mxml/Manifest
+++ b/dev-libs/mxml/Manifest
@@ -1 +1,2 @@
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/mxml-3.3.1-r1.ebuild b/dev-libs/mxml/mxml-3.3.1-r1.ebuild
new file mode 100644
index 000000000000..615baea02a93
--- /dev/null
+++ b/dev-libs/mxml/mxml-3.3.1-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A small XML parsing library that you can use to read XML data files or strings"
+HOMEPAGE="
+ https://github.com/michaelrsweet/mxml
+ https://www.msweet.org/mxml/
+"
+SRC_URI="https://github.com/michaelrsweet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Mini-XML"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="static-libs threads"
+
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # Don't hardcode FORTIFY_SOURCe
+ sed -e 's/-D_FORTIFY_SOURCE=2//g' -i configure || die
+ sed -e 's/-D_FORTIFY_SOURCE=2//g' -i configure.ac || die
+
+ # Don't run always tests
+ # Enable verbose compiling
+ sed -e '/ALLTARGETS/s/testmxml//g' -e '/.SILENT:/d' -i Makefile.in || die
+
+ # Build only static-libs, when requested by user, also build docs without static-libs in that case
+ if ! use static-libs; then
+ local mysedopts=(
+ -e '/^install:/s/install-libmxml.a//g'
+ -e '/^mxml.xml:/s/-static//g'
+ -e '/^mxml.epub:/s/-static//g'
+ -e '/^valgrind/s/-static//g'
+ -e 's/.\/mxmldoc-static/LD_LIBRARY_PATH="." .\/mxmldoc/g'
+ )
+ sed "${mysedopts[@]}" -i Makefile.in || die
+ fi
+
+ eautoconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable threads)
+ --with-docdir=/usr/share/doc/"${PF}"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake testmxml
+}
+
+src_install() {
+ emake DSTROOT="${ED}" install
+}
diff --git a/dev-libs/mxml/mxml-3.3.1.ebuild b/dev-libs/mxml/mxml-3.3.1.ebuild
deleted file mode 100644
index b1d9680dc6ab..000000000000
--- a/dev-libs/mxml/mxml-3.3.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="A small XML parsing library that you can use to read XML data files or strings"
-HOMEPAGE="
- https://github.com/michaelrsweet/mxml
- https://www.msweet.org/mxml/
-"
-SRC_URI="https://github.com/michaelrsweet/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Mini-XML"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="static-libs threads"
-
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
-
- # Don't run always tests
- # Enable verbose compiling
- sed -e '/ALLTARGETS/s/testmxml//g' -e '/.SILENT:/d' -i Makefile.in || die
-
- # Build only static-libs, when requested by user, also build docs without static-libs in that case
- if ! use static-libs; then
- local mysedopts=(
- -e '/^install:/s/install-libmxml.a//g'
- -e '/^mxml.xml:/s/-static//g'
- -e '/^mxml.epub:/s/-static//g'
- -e '/^valgrind/s/-static//g'
- -e 's/.\/mxmldoc-static/LD_LIBRARY_PATH="." .\/mxmldoc/g'
- )
- sed "${mysedopts[@]}" -i Makefile.in || die
- fi
-
- eautoconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable threads)
- --with-docdir=/usr/share/doc/"${PF}"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- emake testmxml
-}
-
-src_install() {
- emake DSTROOT="${ED}" install
-}
diff --git a/dev-libs/mxml/mxml-4.0.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 d73398817638..57a64ee14c0e 100644
--- a/dev-libs/nanomsg/Manifest
+++ b/dev-libs/nanomsg/Manifest
@@ -1 +1,2 @@
DIST nanomsg-1.1.5.tar.gz 310739 BLAKE2B be3a6c3b8d41373798909f24f49c24018d99454e431dc64105a554021b1b49c8ed4fc6d14adfef315f5defd38d19482ab3a7625ea54fefea0794f149038ddfd4 SHA512 773b8e169a7accac21414c63972423a249164f5b843c6c65c1b03a2eb90d21da788a98debdeb396dab795e52d30605696bc2cf65e5e05687bf115438d5b22717
+DIST nanomsg-1.2.1.tar.gz 310191 BLAKE2B 8b02bf60196ce3d316643547e0a88cc63227306a24551f97a141e99996390cf3a8f1c838c6416991d09ff1309da5c69d995021585a5b8bcd02113fdcc232225a SHA512 cc119acafe6e000b75299e866b4bace56ec6d8c90e7843ad773efad7b534296d6baf2b75b107c70a0e4fd4cee9763315d87b6f354676b7915732961b89c3adcb
diff --git a/dev-libs/nanomsg/nanomsg-1.2.1.ebuild b/dev-libs/nanomsg/nanomsg-1.2.1.ebuild
new file mode 100644
index 000000000000..b59b5e224ccd
--- /dev/null
+++ b/dev-libs/nanomsg/nanomsg-1.2.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="High-performance messaging interface for distributed applications"
+HOMEPAGE="https://nanomsg.org/"
+SRC_URI="https://github.com/nanomsg/nanomsg/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/6.0.1"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~riscv x86"
+IUSE="doc"
+
+BDEPEND="doc? ( dev-ruby/asciidoctor )"
+
+src_prepare() {
+ # Old CPUs like HPPA fails test because of timeout
+ sed -i \
+ -e '/inproc_shutdown/s/10/80/' \
+ -e '/ws_async_shutdown/s/10/80/' \
+ -e '/ipc_shutdown/s/40/80/' CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DNN_STATIC_LIB=OFF
+ -DNN_ENABLE_DOC=$(usex doc)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/ncnn/Manifest b/dev-libs/ncnn/Manifest
index 33ddf32318e2..2792cf0ec9c4 100644
--- a/dev-libs/ncnn/Manifest
+++ b/dev-libs/ncnn/Manifest
@@ -1 +1,2 @@
-DIST ncnn-20221128.tar.gz 12398017 BLAKE2B 5afd52f1b91ecc875e937e00f00b2a1488e4fee2df03763f378036a7886e8a5e1573e4425cba05e47257bab1815dc7c30e629c4bafa975877dc8cfee01d59986 SHA512 589e52b63eabfac1f8e47acc34bef6a87ce365851a5c4d551665c321938a2d8e622ab211babac38771695b9f4443516577ba1634409a55c2436498a7d28d8218
+DIST ncnn-20240102.tar.gz 12791570 BLAKE2B 8a84353343d32bea1ef163a83cdef783a8a6077282e94a012d21a17b2e0d8c78c576ebd1dc5c9ec89364942b4ce69ab44d544648fe2dbd5fda4797b3b65adfd8 SHA512 31bc3c2f461a00241fb8f69ca6ea8cc590af6618856b1b84a048bde924e4b474fd883ad5d54dbfbdd1e5b59015889e15ffc4fbafccb3e42e052a02071f2017b1
+DIST ncnn-20240410.tar.gz 12835689 BLAKE2B b4c2ffdf525719dca81d020695f03cd963c3a1f1a0ecc61b6e08c75da212d280210bf1be9b54343a771661fef747675e7f08d0dd9e3ea942adfda1e07d1f6868 SHA512 61865af26aecc6b0eccdfd46c5b3f6e4dd06d7409298051c91d141e64b8c15690f2f982c0aeb3a11d3a575061ab7606710cb0e710f4cb6539c7a14ff440aaaf7
diff --git a/dev-libs/ncnn/metadata.xml b/dev-libs/ncnn/metadata.xml
index dca10975bb5f..99103221bbbb 100644
--- a/dev-libs/ncnn/metadata.xml
+++ b/dev-libs/ncnn/metadata.xml
@@ -2,16 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
- <maintainer type="person">
<email>ionen@gentoo.org</email>
<name>Ionen Wolkens</name>
</maintainer>
<use>
<flag name="tools">Enable installation of various tools in addition to the library</flag>
- <flag name="vulkan">Enable vulkan compute support</flag>
</use>
<upstream>
<remote-id type="github">Tencent/ncnn</remote-id>
diff --git a/dev-libs/ncnn/ncnn-20221128-r1.ebuild b/dev-libs/ncnn/ncnn-20221128-r1.ebuild
deleted file mode 100644
index 7827bc56ee58..000000000000
--- a/dev-libs/ncnn/ncnn-20221128-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="High-performance neural network inference framework"
-HOMEPAGE="https://github.com/Tencent/ncnn/"
-SRC_URI="https://github.com/Tencent/ncnn/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD ZLIB"
-SLOT="0/${PV}" # currently has unstable ABI that often requires rebuilds
-KEYWORDS="~amd64 ~x86"
-IUSE="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-libs/protobuf:= )
- vulkan? (
- dev-util/glslang:=
- media-libs/vulkan-loader
- )"
-DEPEND="
- ${RDEPEND}
- vulkan? ( dev-util/vulkan-headers )"
-
-DOCS=( README.md docs/. )
-
-src_configure() {
- local mycmakeargs=(
- -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
- -DNCNN_BUILD_EXAMPLES=OFF
- -DNCNN_BUILD_TOOLS=$(usex tools)
- -DNCNN_PYTHON=OFF # todo if something needs it
- -DNCNN_SHARED_LIB=ON
- -DNCNN_SYSTEM_GLSLANG=ON
- -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d using build date
- -DNCNN_VULKAN=$(usex vulkan)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/ncnn/ncnn-20240102-r1.ebuild b/dev-libs/ncnn/ncnn-20240102-r1.ebuild
new file mode 100644
index 000000000000..3ca6898ed9c5
--- /dev/null
+++ b/dev-libs/ncnn/ncnn-20240102-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="High-performance neural network inference framework"
+HOMEPAGE="https://github.com/Tencent/ncnn/"
+SRC_URI="
+ https://github.com/Tencent/ncnn/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD ZLIB"
+SLOT="0/${PV}" # currently has unstable ABI that often requires rebuilds
+KEYWORDS="amd64 ~x86"
+IUSE="openmp tools +vulkan"
+
+# Need the static library to run tests + skip vulkan / GPU:
+# -DNCNN_BUILD_TESTS=ON -DNCNN_SHARED_LIB=OFF -DNCNN_VULKAN=OFF
+RESTRICT="test"
+
+RDEPEND="
+ tools? (
+ dev-cpp/abseil-cpp:=
+ dev-libs/protobuf:=
+ )
+ vulkan? (
+ dev-util/glslang:=
+ media-libs/vulkan-loader
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+
+DOCS=( README.md docs/. )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
+ -DNCNN_BUILD_EXAMPLES=no
+ -DNCNN_BUILD_TOOLS=$(usex tools)
+ -DNCNN_OPENMP=$(usex openmp)
+ -DNCNN_PYTHON=no # todo if something needs it
+ -DNCNN_SHARED_LIB=yes
+ -DNCNN_SIMPLEVK=no
+ -DNCNN_SYSTEM_GLSLANG=yes
+ -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d using build date
+ -DNCNN_VULKAN=$(usex vulkan)
+ )
+
+ # temporary workaround due to a >=clang-18 regression (bug #929228)
+ tc-is-clang && [[ $(clang-major-version) -ge 18 ]] &&
+ mycmakeargs+=( -DNCNN_AVX512BF16=no )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/ncnn/ncnn-20240410.ebuild b/dev-libs/ncnn/ncnn-20240410.ebuild
new file mode 100644
index 000000000000..2bb0594c7321
--- /dev/null
+++ b/dev-libs/ncnn/ncnn-20240410.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="High-performance neural network inference framework"
+HOMEPAGE="https://github.com/Tencent/ncnn/"
+SRC_URI="
+ https://github.com/Tencent/ncnn/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD ZLIB"
+SLOT="0/${PV}" # currently has unstable ABI that often requires rebuilds
+KEYWORDS="~amd64 ~x86"
+IUSE="openmp tools +vulkan"
+
+# Need the static library to run tests + skip vulkan / GPU:
+# -DNCNN_BUILD_TESTS=ON -DNCNN_SHARED_LIB=OFF -DNCNN_VULKAN=OFF
+RESTRICT="test"
+
+RDEPEND="
+ tools? (
+ dev-cpp/abseil-cpp:=
+ dev-libs/protobuf:=
+ )
+ vulkan? (
+ dev-util/glslang:=
+ media-libs/vulkan-loader
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+
+DOCS=( README.md docs/. )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
+ -DNCNN_BUILD_EXAMPLES=no
+ -DNCNN_BUILD_TOOLS=$(usex tools)
+ -DNCNN_OPENMP=$(usex openmp)
+ -DNCNN_PYTHON=no # todo if something needs it
+ -DNCNN_SHARED_LIB=yes
+ -DNCNN_SIMPLEVK=no
+ -DNCNN_SYSTEM_GLSLANG=yes
+ -DNCNN_VERSION=${PV} # avoids libncnn.so.*.%Y%m%d using build date
+ -DNCNN_VULKAN=$(usex vulkan)
+ )
+
+ # temporary workaround due to a >=clang-18 regression (bug #929228)
+ tc-is-clang && [[ $(clang-major-version) -ge 18 ]] &&
+ mycmakeargs+=( -DNCNN_AVX512BF16=no )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/nettle/Manifest b/dev-libs/nettle/Manifest
index e7503051d545..80fa221ca4ae 100644
--- a/dev-libs/nettle/Manifest
+++ b/dev-libs/nettle/Manifest
@@ -1,2 +1,6 @@
DIST nettle-3.8.1.tar.gz 2406251 BLAKE2B 22b4ec81645b579504356597ba87b637e46285682020c90e03ecaea386ac9b48eaf91ee76ae3b86b6060be355de20c320ab3b74958074ad23fc08ad9ab6a4cbb SHA512 a405da3438d185d96917b03b00abb9ab43e04f58f770f657f716c25d64bb258ee170a71328e74736caa7121f50c0c89d3cc840c1201d2a92cfaf1357d24bdc6a
DIST nettle-3.8.1.tar.gz.sig 374 BLAKE2B e2bfce4aaa1be114fb9bf8724f25db75c69c3b98538df46e9b1428ce615f7db3b9e9f9240d232fddac195db4568439b3f58989c20beca82aa6db79f4956db547 SHA512 978304b1faa5adc3b0d6ea7e9597af6154ad5d6e328913ac19184ece94771fdb2a7d5ce0af535ae8d28cb6ccd94fb3d4ef2613c0356df9e08b5d4c26ea646e09
+DIST nettle-3.9.1.tar.gz 2396741 BLAKE2B e3ceaefa19491e58f26b900beaf8b4e746feb2357c7677f5c050f257f4a23c304773446b6283a42a82cf9640e16522b8a71c47f137759f1df23cdeee4625d142 SHA512 5939c4b43cf9ff6c6272245b85f123c81f8f4e37089fa4f39a00a570016d837f6e706a33226e4bbfc531b02a55b2756ff312461225ed88de338a73069e031ced
+DIST nettle-3.9.1.tar.gz.sig 374 BLAKE2B 41c37cc0ea649445c7e4bbe2d0e9ab1c6f7bb50000adef2c2ee4828e7efdd2d7c6d823d64209f251cb7d82ce85e73768430a435ee7f1d5a3732e744987918d0c SHA512 fe6f4c9746e7dbc10f61843673de95d2faea209b1caea5c7bf69b81d3f6b2248a4907012b2baf0d65e54682f835cff465482db37615b789017ce0a9e7e267d7d
+DIST nettle-3.9.tar.gz 2393838 BLAKE2B 80885fa380de58765155a5d4b209e524f4bd0336156ba6f5189702007438998094df0e4e801370fd0a74251b8cf91f46638b0c0139388c2c2098b1207ed3415c SHA512 5e44f59b37ec1e92345fce0b963151d1f2aabf01b3a197b8d931067c51af4ba025059c6a07f2bcd19b17eb49d6ede98f5c200e58d340959826cda473459d2fba
+DIST nettle-3.9.tar.gz.sig 374 BLAKE2B 4fb9fbdafd01712db2506e070a64b6821dcc0c3ff3cea83011662ee4cdd5120ed10c6fa7b41d556069fe2d8827a312e94bb3586be845284fa7a7ac75f000a750 SHA512 8cf060e9f8e0dc0a70a7d324cf2366e0fc990fca2d8a1c677e66382f6853f96146fe30ea9b8629030991f4799430c7660ae7867c94167760bb945abb526b5bda
diff --git a/dev-libs/nettle/metadata.xml b/dev-libs/nettle/metadata.xml
index 62b7968b920a..bb86443f7022 100644
--- a/dev-libs/nettle/metadata.xml
+++ b/dev-libs/nettle/metadata.xml
@@ -9,7 +9,4 @@
<remote-id type="cpe">cpe:/a:nettle_project:nettle</remote-id>
<remote-id type="github">gnutls/nettle</remote-id>
</upstream>
- <use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
- </use>
</pkgmetadata>
diff --git a/dev-libs/nettle/nettle-3.8.1.ebuild b/dev-libs/nettle/nettle-3.8.1.ebuild
index b342934797bc..dc3ba0b941a4 100644
--- a/dev-libs/nettle/nettle-3.8.1.ebuild
+++ b/dev-libs/nettle/nettle-3.8.1.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/nettle.asc
+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="http://www.lysator.liu.se/~nisse/nettle/"
+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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+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 )
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 4c3cf765f5ca..78e8d9dbbf42 100644
--- a/dev-libs/newt/Manifest
+++ b/dev-libs/newt/Manifest
@@ -1 +1,2 @@
DIST newt-0.52.23.tar.gz 128884 BLAKE2B 283809ac259475588b2f277e6c14ddc2981204f8d6c4963aa9ca7bf87376d2025e9edcc3194804bd6928f75deef706758e1868ba730fd06856ed0a95e534be00 SHA512 8040b01178311532c31642daae5bffc9c0f1917d28957164a02b3f5bd402e6561ff6faee75a936f72485eb71004238ede78c1973a970451fb5aaccff231887c7
+DIST newt-0.52.24.tar.gz 128895 BLAKE2B fff7b3831f53a33b2d4f009fae0eb5603aef79c50f89e7f7179b80be837db35e44ecc860e4dc85e46195a59a87c12b2feae2ab043bef2fee0ea35a6efeded474 SHA512 999d8109dd3d74d04e813e84dc2e348278016dce7a678a1566197cf8fbc87810257b8a29fa766d29d48dc18bf4e1508b022460f15503fb6d029b3a05528b50be
diff --git a/dev-libs/newt/files/newt-0.52.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/newt-0.52.23-r1.ebuild b/dev-libs/newt/newt-0.52.23-r1.ebuild
new file mode 100644
index 000000000000..14380493db38
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.23-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit autotools python-r1 toolchain-funcs
+
+MY_PV="r$(ver_rs 1- -)"
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://pagure.io/newt"
+SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="gpm nls tcl"
+RESTRICT="test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.52.23-gold.patch
+ "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_prepare() {
+ sed -i Makefile.in \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+ -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+ -e 's|instroot|DESTDIR|g' \
+ -e 's| make | $(MAKE) |g' \
+ -e "s| ar | $(tc-getAR) |g" \
+ || die "sed Makefile.in"
+
+ if [[ -n ${LINGUAS} ]]; then
+ local lang langs
+ for lang in ${LINGUAS}; do
+ test -r po/${lang}.po && langs="${langs} ${lang}.po"
+ done
+ sed -i po/Makefile \
+ -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+ || die "sed po/Makefile"
+ fi
+
+ default
+ eautoreconf
+
+ # can't build out-of-source
+ python_copy_sources
+}
+
+src_configure() {
+ configuring() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl run_in_build_dir building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_SITEDIR="$(python_get_sitedir)" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+ einstalldocs
+
+ # don't want static archives
+ rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
+}
diff --git a/dev-libs/newt/newt-0.52.24.ebuild b/dev-libs/newt/newt-0.52.24.ebuild
new file mode 100644
index 000000000000..2fdfcec485bd
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.24.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+inherit autotools python-r1 toolchain-funcs
+
+MY_PV="r$(ver_rs 1- -)"
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://pagure.io/newt"
+SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gpm nls tcl"
+RESTRICT="test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.52.23-gold.patch
+ "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_prepare() {
+ sed -i Makefile.in \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+ -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+ -e 's|instroot|DESTDIR|g' \
+ -e 's| make | $(MAKE) |g' \
+ -e "s| ar | $(tc-getAR) |g" \
+ || die "sed Makefile.in"
+
+ if [[ -n ${LINGUAS} ]]; then
+ local lang langs
+ for lang in ${LINGUAS}; do
+ test -r po/${lang}.po && langs="${langs} ${lang}.po"
+ done
+ sed -i po/Makefile \
+ -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+ || die "sed po/Makefile"
+ fi
+
+ default
+ eautoreconf
+
+ # can't build out-of-source
+ python_copy_sources
+}
+
+src_configure() {
+ configuring() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl run_in_build_dir building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_SITEDIR="$(python_get_sitedir)" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+ einstalldocs
+
+ # don't want static archives
+ rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
+}
diff --git a/dev-libs/nmeap/nmeap-0.3-r2.ebuild b/dev-libs/nmeap/nmeap-0.3-r2.ebuild
index 7a9a57bd5f27..ada71a745ed8 100644
--- a/dev-libs/nmeap/nmeap-0.3-r2.ebuild
+++ b/dev-libs/nmeap/nmeap-0.3-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE="doc"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=( "${FILESDIR}/${P}-fix-unitialized-variable.patch" )
diff --git a/dev-libs/npth/Manifest b/dev-libs/npth/Manifest
index 3092cac1227f..528f8a186b80 100644
--- a/dev-libs/npth/Manifest
+++ b/dev-libs/npth/Manifest
@@ -1 +1,2 @@
DIST npth-1.6.tar.bz2 300486 BLAKE2B 665fdb2f4cbe59750b6b4b7c2701ee80a23a122df10c9f8be47c4af5f3bf5968f709637ab3f4878bb68609752fbb6ce1364e109fdfeba64e4db258733a33f3fc SHA512 2ed1012e14a9d10665420b9a23628be7e206fd9348111ec751349b93557ee69f1176bcf7e6b195b35b1c44a5e0e81ee33b713f03d79a33d1ecd9037035afeda2
+DIST npth-1.7.tar.bz2 313213 BLAKE2B 39bc5857fb61a4264bef6ff23c28755d2a3b3ceef93034aefd5cf1c2ad905adf696c6753ebd5cea5e0a875df4ecb97db03e023a50a27f51ec0641bbc36b54089 SHA512 8893023bcf953a3f7c490cf8116bed323a9d4af2bea35277e919f437916fda8b8e68ded28ec1777717cf9187c504892556159cbdb8bc02ed4a8b30b3d897d244
diff --git a/dev-libs/npth/files/npth-1.7-musl.patch b/dev-libs/npth/files/npth-1.7-musl.patch
new file mode 100644
index 000000000000..5b51a3fd4a28
--- /dev/null
+++ b/dev-libs/npth/files/npth-1.7-musl.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/925443
+https://dev.gnupg.org/T5664
+--- a/configure.ac
++++ b/configure.ac
+@@ -381,7 +381,10 @@ fi
+ AC_SUBST(INSERT_NO_RWLOCK)
+
+ case "${host}" in
+- *-*-linux*|*-*-gnu*)
++ *-*-linux-musl*)
++ INSERT_EXPOSE_RWLOCK_API="1"
++ ;;
++ *-*-linux-gnu*|*-*-gnu*)
+ INSERT_EXPOSE_RWLOCK_API="defined(__USE_UNIX98) || defined(__USE_XOPEN2K)"
+ ;;
+ *)
diff --git a/dev-libs/npth/npth-1.6-r1.ebuild b/dev-libs/npth/npth-1.6-r1.ebuild
index 00a8ae2ae917..6e83a9465555 100644
--- a/dev-libs/npth/npth-1.6-r1.ebuild
+++ b/dev-libs/npth/npth-1.6-r1.ebuild
@@ -11,7 +11,7 @@ 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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/npth/npth-1.6-r2.ebuild b/dev-libs/npth/npth-1.6-r2.ebuild
new file mode 100644
index 000000000000..71d952cdae8c
--- /dev/null
+++ b/dev-libs/npth/npth-1.6-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="New GNU Portable Threads Library"
+HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ econf $(use_enable test tests)
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/npth/npth-1.7-r1.ebuild b/dev-libs/npth/npth-1.7-r1.ebuild
new file mode 100644
index 000000000000..04b867400ad5
--- /dev/null
+++ b/dev-libs/npth/npth-1.7-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="New GNU Portable Threads Library"
+HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ econf $(use_enable test tests) \
+ --enable-install-npth-config
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/nsgenbind/Manifest b/dev-libs/nsgenbind/Manifest
index 0af9b939f4d0..3656e534ec02 100644
--- a/dev-libs/nsgenbind/Manifest
+++ b/dev-libs/nsgenbind/Manifest
@@ -1 +1 @@
-DIST nsgenbind-0.8-src.tar.gz 117463 BLAKE2B 63ada11eb9e818bc864b8100d80fda5686d4b1cc2a1b021f6cf76d098f5c6551b2792da6dc8aba02774304d3e87bf9728a85d3c80ccb0c24e4bff5a4fee3f977 SHA512 850769fedc82c103b6d063ba25ec97638178e56f5b331a1e237566b3f3bd858aba270bcd37618c638575f5361ff88a09cdae92f6d2b5dc100491e5cc75c072e5
+DIST nsgenbind-0.9-src.tar.gz 117484 BLAKE2B ad725a4ba2a2b91935d974f6c4c449b3f5bc5a1f4204b473ab4ae59b14b9f5c995b4085e1c537624878e913b154c69a19e63f043b58cea7b67bf44e91839e6f5 SHA512 858e3a28d529df8ac3f214cf0e31650eadf370d9e2ac5c695a352d07dd6b473f4baee43fa61a42040e1d8875da985dd96ce95f6213715965326cb5323553b02a
diff --git a/dev-libs/nsgenbind/metadata.xml b/dev-libs/nsgenbind/metadata.xml
index 115e9d64a669..f2908ee10b59 100644
--- a/dev-libs/nsgenbind/metadata.xml
+++ b/dev-libs/nsgenbind/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild b/dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild
deleted file mode 100644
index 3bd8f993ec54..000000000000
--- a/dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
-IUSE=""
-
-BDEPEND="
- dev-util/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/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/files/nspr-4.21-ipv6-musl-support.patch b/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
index 2c8ebd4ccbb2..72393ca5f470 100644
--- a/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
+++ b/dev-libs/nspr/files/nspr-4.21-ipv6-musl-support.patch
@@ -1,19 +1,11 @@
-From 8c57451f44d7ceb37bfb4ae6e457fc70b1f58d0a Mon Sep 17 00:00:00 2001
-From: Moritz Kick <gentoo@blackphoenix.de>
-Date: Wed, 20 Mar 2019 13:36:06 -0500
+From 2e6a43c751707b6983760669988ba4d2826ffd5b Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Sat, 10 Jun 2023 04:37:55 +0000
Subject: [PATCH] Added IPv6 compatibility for musl libc
-Signed-off-by: Moritz Kick <gentoo@blackphoenix.de>
-Signed-off-by: Jory Pratt <anarchy@gentoo.org>
----
- pr/include/md/_linux.h | 13 +------------
- 1 file changed, 1 insertion(+), 12 deletions(-)
-
-diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h
-index 2370ab8..612184c 100644
--- a/pr/include/md/_linux.h
+++ b/pr/include/md/_linux.h
-@@ -289,33 +289,22 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv)
+@@ -315,33 +315,19 @@ static inline PRInt32 _MD_ATOMIC_SET(PRInt32 *ptr, PRInt32 nv)
#endif /* __arm__ */
#define USE_SETJMP
@@ -22,17 +14,17 @@ index 2370ab8..612184c 100644
-#endif
#undef _PR_USE_POLL
#define _PR_STAT_HAS_ONLY_ST_ATIME
- #if defined(__alpha) || defined(__ia64__)
+-#if defined(__alpha) || defined(__ia64__)
#define _PR_HAVE_LARGE_OFF_T
-#elif (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
- || defined(ANDROID)
-#define _PR_HAVE_OFF64_T
- #else
+-#else
-#define _PR_NO_LARGE_FILES
-+#define _PR_HAVE_OFF64_T
- #endif
+-#endif
-#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) \
- || defined(ANDROID)
++#define _FILE_OFFSET_BITS 64
#define _PR_INET6
#define _PR_HAVE_INET_NTOP
#define _PR_HAVE_GETHOSTBYNAME2
@@ -49,5 +41,5 @@ index 2370ab8..612184c 100644
#define _PR_HAVE_GETHOST_R_INT
#endif
--
-2.21.0
+2.41.0
diff --git a/dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch b/dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch
new file mode 100644
index 000000000000..1ec17cd301f5
--- /dev/null
+++ b/dev-libs/nspr/files/nspr-4.35-bgo-905998-lfs64-musl.patch
@@ -0,0 +1,15 @@
+needed since https://github.com/bminor/musl/commit/25e6fee27f4a293728dd15b659170e7b9c7db9bc
+--
+diff --git a/pr/include/md/_unixos.h b/pr/include/md/_unixos.h
+index 7d444cd..0099d2c 100644
+--- a/pr/include/md/_unixos.h
++++ b/pr/include/md/_unixos.h
+@@ -589,7 +589,7 @@ typedef off64_t _MDOff64_t;
+
+ #elif defined(_PR_HAVE_OFF64_T)
+ typedef struct stat64 _MDStat64;
+-typedef off64_t _MDOff64_t;
++typedef off_t _MDOff64_t;
+ #elif defined(_PR_HAVE_LARGE_OFF_T)
+ typedef struct stat _MDStat64;
+ typedef off_t _MDOff64_t;
diff --git a/dev-libs/nspr/nspr-4.35-r1.ebuild b/dev-libs/nspr/nspr-4.35-r1.ebuild
deleted file mode 100644
index 10c3079649f8..000000000000
--- a/dev-libs/nspr/nspr-4.35-r1.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# 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 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 ~x86-solaris"
-IUSE="debug"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nspr-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.23-prtime.patch
- "${FILESDIR}"/${PN}-4.7.1-solaris.patch
- "${FILESDIR}"/${PN}-4.10.6-solaris.patch
- "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
- "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
- # We do not need to pass -L$libdir via nspr-config --libs
- "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
-)
-
-QA_CONFIGURE_OPTIONS="--disable-static"
-
-src_prepare() {
- cd "${S}"/nspr || die
-
- default
-
- use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
-
- # rename configure.in to configure.ac for new autotools compatibility
- if [[ -e "${S}"/nspr/configure.in ]] ; then
- einfo "Renaming configure.in to configure.ac"
- mv "${S}"/nspr/configure.{in,ac} || die
- else
- elog "configure.in rename logic can be removed from ebuild."
- fi
-
- # We must run eautoconf to regenerate configure
- eautoconf
-
- # make sure it won't find Perl out of Prefix
- sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
- "${S}"/nspr/config/rules.mk || die
-}
-
-multilib_src_configure() {
- # The build system overrides user optimization level based on a configure flag. #886987
- local my_optlvl=$(get-flag '-O*')
-
- # 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"
- echo > "${T}"/test.c || die
- ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
- case $(file "${T}"/test.o) in
- *32-bit*x86-64*) myconf+=( --enable-x32 );;
- *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
- esac ;;
- *) ;;
- esac
-
- # Ancient autoconf needs help finding the right tools.
- LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
- ac_cv_path_AR="${AR}" \
- ac_cv_path_AS="${AS}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_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/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/nspr/nspr-4.35.ebuild b/dev-libs/nspr/nspr-4.35.ebuild
deleted file mode 100644
index ad396daa8c3f..000000000000
--- a/dev-libs/nspr/nspr-4.35.ebuild
+++ /dev/null
@@ -1,156 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools toolchain-funcs multilib-minimal
-
-MIN_PV="$(ver_cut 2)"
-
-DESCRIPTION="Netscape Portable Runtime"
-HOMEPAGE="https://www.mozilla.org/projects/nspr/"
-SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris"
-IUSE="debug"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nspr-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.23-prtime.patch
- "${FILESDIR}"/${PN}-4.7.1-solaris.patch
- "${FILESDIR}"/${PN}-4.10.6-solaris.patch
- "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
- "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
- # We do not need to pass -L$libdir via nspr-config --libs
- "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
-)
-
-QA_CONFIGURE_OPTIONS="--disable-static"
-
-src_prepare() {
- cd "${S}"/nspr || die
-
- default
-
- use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
-
- # rename configure.in to configure.ac for new autotools compatibility
- if [[ -e "${S}"/nspr/configure.in ]] ; then
- einfo "Renaming configure.in to configure.ac"
- mv "${S}"/nspr/configure.{in,ac} || die
- else
- elog "configure.in rename logic can be removed from ebuild."
- fi
-
- # We must run eautoconf to regenerate configure
- eautoconf
-
- # make sure it won't find Perl out of Prefix
- sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
- "${S}"/nspr/config/rules.mk || die
-}
-
-multilib_src_configure() {
- # We use the standard BUILD_xxx but nspr uses HOST_xxx
- tc-export_build_env BUILD_CC
- export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
- tc-export AR AS CC CXX RANLIB
- [[ ${CBUILD} != ${CHOST} ]] \
- && export CROSS_COMPILE=1 \
- || unset CROSS_COMPILE
-
- local myconf=(
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- $(use_enable debug)
- $(use_enable !debug optimize)
- )
-
- # The configure has some fancy --enable-{{n,x}32,64bit} switches
- # that trigger some code conditional to platform & arch. This really
- # matters for the few common arches (x86, ppc) but we pass a little
- # more of them to be future-proof.
-
- # use ABI first, this will work for most cases
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
- n32) myconf+=( --enable-n32 );;
- x32) myconf+=( --enable-x32 );;
- s390x|*64) myconf+=( --enable-64bit );;
- default) # no abi actually set, fall back to old check
- einfo "Running a short build test to determine 64bit'ness"
- echo > "${T}"/test.c || die
- ${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
- case $(file "${T}"/test.o) in
- *32-bit*x86-64*) myconf+=( --enable-x32 );;
- *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
- esac ;;
- *) ;;
- esac
-
- # Ancient autoconf needs help finding the right tools.
- LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
- ac_cv_path_AR="${AR}" \
- ac_cv_path_AS="${AS}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_test() {
- # https://firefox-source-docs.mozilla.org/nspr/running_nspr_tests.html
- cd "${BUILD_DIR}/pr/tests" || die
- einfo "Building tests"
- emake
-
- einfo "Running test suite"
- ../../../${P}/${PN}/pr/tests/runtests.pl | tee "${T}"/${ABI}-tests.log
-
- # Needed to check if runtests.pl itself or the tee (somehow) failed
- # (can't use die with pipes to check each component)
- [[ ${PIPESTATUS[@]} == "0 0" ]] || die "Tests failed to run!"
-
- local known_failures=(
- # network-sandbox related?
- cltsrv
- # network-sandbox related?
- gethost
- )
-
- local known_failure
- for known_failure in "${known_failures[@]}" ; do
- sed -i -e "/${known_failure}.*FAILED/d" "${T}"/${ABI}-tests.log || die
- done
-
- # But to actually check the test results, we examine the log.
- if grep -q "FAILED" "${T}"/${ABI}-tests.log ; then
- die "Test failure for ${ABI}!"
- fi
-}
-
-multilib_src_install() {
- # Their build system is royally confusing, as usual
- MINOR_VERSION=${MIN_PV} # Used for .so version
- emake DESTDIR="${D}" install
-
- einfo "removing static libraries as upstream has requested!"
- rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
-
- # install nspr-config
- dobin config/nspr-config
-
- # Remove stupid files in /usr/bin
- rm "${ED}"/usr/bin/prerr.properties || die
-
- # This is used only to generate prerr.c and prerr.h at build time.
- # No other projects use it, and we don't want to depend on perl.
- # Talked to upstream and they agreed w/punting.
- rm "${ED}"/usr/bin/compile-et.pl || die
-}
diff --git a/dev-libs/nss-pem/Manifest b/dev-libs/nss-pem/Manifest
index 8e2a86d72a21..99e45521a375 100644
--- a/dev-libs/nss-pem/Manifest
+++ b/dev-libs/nss-pem/Manifest
@@ -1 +1 @@
-DIST nss-pem-1.0.8.tar.xz 41840 BLAKE2B 6a210517b6f70a6a1a0351970811500c1364c6cbb0159dc4b7b3edeff7c01d3b643a5a4a4946a350a1a49898570141acda1e913fdc79d750339f5021445e61c7 SHA512 9fd1fa9203fd707668506752be6f99d26e53281b8b95d7c3020da33ab8cb287890b66c8a59f1ee952fe8d2a8a350d7c5b4214a523a2e1762e48989f02c408b33
+DIST nss-pem-1.1.0.tar.xz 41928 BLAKE2B 99dae611fd8caa58947fb518a68462c1fc779fd19bc3ba8d81aa81bc167b9ecb77830d9dd0b883996b2b62a49809f9830a989ae39facc3d421266c17af1c28c7 SHA512 0fe2b4a3f1fe1746845ba51fa246b7c21b3197e7533fa77851eba2c4163e07b53114ee84f8ad493542ffc00bc1dfe2bf93524f4fead4e3d7b1eed600f73c048c
diff --git a/dev-libs/nss-pem/nss-pem-1.0.8.ebuild b/dev-libs/nss-pem/nss-pem-1.0.8.ebuild
deleted file mode 100644
index ac158923cbb3..000000000000
--- a/dev-libs/nss-pem/nss-pem-1.0.8.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
-IUSE=""
-
-BDEPEND=" >=dev-libs/nss-3.50-r1 "
-RDEPEND="${BDEPEND}"
-
-DEPEND="!<=dev-libs/nss-3.50
- ${RDEPEND}"
-
-S="${WORKDIR}/${P}/src"
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DLIB_INSTALL_DIR="$(get_libdir)"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/nss-pem/nss-pem-1.1.0.ebuild b/dev-libs/nss-pem/nss-pem-1.1.0.ebuild
new file mode 100644
index 000000000000..06f5e614872a
--- /dev/null
+++ b/dev-libs/nss-pem/nss-pem-1.1.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="PEM file reader for Network Security Services (NSS)"
+HOMEPAGE="https://github.com/kdudka/nss-pem"
+SRC_URI="https://github.com/kdudka/${PN}/releases/download/${P}/${P}.tar.xz"
+
+LICENSE="MPL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-solaris"
+
+DEPEND="dev-libs/nss
+ dev-libs/nspr"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-libs/nss
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${P}/src"
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DLIB_INSTALL_DIR="$(get_libdir)"
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index 7dea4ccdf2ed..8fe609382f6b 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -1,3 +1,3 @@
-DIST nss-3.79.2.tar.gz 84825187 BLAKE2B 9589095a0f3af5201662fe96ba4dac73c661db3abde534941ea61d597dce1016dc06f8559e26fafc940f2b123987381e1faa22ff6a995ef3cc0a9dc4ebe7a4ad SHA512 52ca7574d2bb6e2fd874ac40f3e75d58135b103d8bd4b964a9262b5c302b4668ff7c8f5dabbef46e413fd72faeddc44057bc7b489946813331cc9a481d078181
-DIST nss-3.87.tar.gz 71435408 BLAKE2B 0d69e18b1e2c4ccfc86db8f3afba94d5000e8ab2a4e766eb6f99f13f57d78b62dd711a0f5f70a24378a3cf1e435cc8ecb7e6fbeae18d5db0176660a0ea35dac2 SHA512 4ec7b94e537df109638b821f3a7e3b7bf31d89c3739a6e4c85cad4fab876390ae482971d6f66198818400f467661e86f39dc1d2a4a88077fd81e3a0b7ed64110
+DIST nss-3.90.2.tar.gz 72215444 BLAKE2B 74b8eebf5f053dcebd9c6e6ef17c6113ac42a01f910f4ba621dadb09739d5a6090d022800d2c3a4bc0c58413f03512ca611ead1098488d303f1ee1e4bca5c222 SHA512 048a0c0a06fef8cd9c363ac511b9d6125ec131a306c5e093525a937f9e8740f1a2163f274c9a3907ed38331b2fb99b22b528b5e89da1e186c9ba9473d959ef4a
+DIST nss-3.99.tar.gz 76753982 BLAKE2B b6ce605232934644b6d80682615eac2fa171078fcdd75316ab2accc55caeaed5b548f16c2cef5cefcfb37b96a4d6eb918785be3aa195a561e46d2d3fd8fa217b SHA512 8ae032f3cb8eadfe524505d20e430b90ed25af2b4732b2cf286c435b0fcd5701d2f5c48bd2cfb3f9aa0bfdf503c1f3d5394cf34f860f51a1141cc4a7586bba32
DIST nss-cacert-class1-class3-r2.patch 21925 BLAKE2B 7627ff9a09f084c19d72d0490676865e3cab3ca7c920ae1ce4bea2db664f37fd0aa84fcda919809a516891ab2a62e2e7a43a9d6ada4c231adfe4c216525fac7d SHA512 1ce6ff9ab310aaca9005eafb461338b291df8523cc7044e096cd75774ce746c26eed19ec6bb2643c6c67f94650f2f309463492d80a90568f38ce2557f8ada2f4
diff --git a/dev-libs/nss/files/nss-3.23-hppa-byte_order.patch b/dev-libs/nss/files/nss-3.23-hppa-byte_order.patch
deleted file mode 100644
index 63cfaddb808c..000000000000
--- a/dev-libs/nss/files/nss-3.23-hppa-byte_order.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- nss/lib/dbm/include/mcom_db.h
-+++ nss/lib/dbm/include/mcom_db.h
-@@ -110,11 +110,13 @@
- #endif /* !BYTE_ORDER */
- #endif /* __sun */
-
-+#ifndef BYTE_ORDER
- #if defined(__hpux) || defined(__hppa)
- #define BYTE_ORDER BIG_ENDIAN
- #define BIG_ENDIAN 4321
- #define LITTLE_ENDIAN 1234 /* LSB first: i386, vax, all NT risc */
- #endif
-+#endif /* !BYTE_ORDER */
-
- #if defined(AIXV3) || defined(AIX)
- /* BYTE_ORDER, LITTLE_ENDIAN, BIG_ENDIAN are all defined here */
diff --git a/dev-libs/nss/files/nss-3.79-fix-client-cert-crash.patch b/dev-libs/nss/files/nss-3.79-fix-client-cert-crash.patch
deleted file mode 100644
index 5f80fdc09b7e..000000000000
--- a/dev-libs/nss/files/nss-3.79-fix-client-cert-crash.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/lib/ssl/authcert.c b/lib/ssl/authcert.c
---- a/lib/ssl/authcert.c
-+++ b/lib/ssl/authcert.c
-@@ -212,17 +212,17 @@ NSS_GetClientAuthData(void *arg,
- pw_arg);
- } else {
- int nnames = 0;
- char **names = ssl_DistNamesToStrings(caNames, &nnames);
- rv = CERT_FilterCertListByCANames(certList, nnames, names,
- certUsageSSLClient);
- ssl_FreeDistNamesStrings(names, nnames);
- }
-- if ((rv != SECSuccess) || CERT_LIST_EMPTY(certList)) {
-+ if ((rv != SECSuccess) || (certList && CERT_LIST_EMPTY(certList))) {
- CERT_DestroyCertList(certList);
- certList = NULL;
- }
- }
- if (certList == NULL) {
- /* no user certs meeting the nickname/usage requirements found */
- return SECFailure;
- }
-
diff --git a/dev-libs/nss/files/nss-3.79-gcc-13.patch b/dev-libs/nss/files/nss-3.79-gcc-13.patch
deleted file mode 100644
index 04bd977f3020..000000000000
--- a/dev-libs/nss/files/nss-3.79-gcc-13.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-https://github.com/nss-dev/nss/commit/edf5cb12af8a4668997b7edb65c7add4a1390b09
-https://bugs.gentoo.org/849005
-
-From: Sergei Trofimovich <slyich@gmail.com>
-Date: Thu, 26 May 2022 08:08:39 +0000
-Subject: [PATCH] Bug 1771273 - cpputil/databuffer.h: add missing <cstdint>
- include r=nss-reviewers,mt
-
-Without the change build fails on this week's gcc-13 snapshot as:
-
- ../../cpputil/databuffer.h:20:20: error: 'uint8_t' does not name a type
- 20 | DataBuffer(const uint8_t* d, size_t l) : data_(nullptr), len_(0) {
- | ^~~~~~~
- ../../cpputil/databuffer.h:14:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
- 13 | #include <iostream>
- +++ |+#include <cstdint>
- 14 |
-
-Differential Revision: https://phabricator.services.mozilla.com/D147404
-
---HG--
-extra : moz-landing-system : lando
---- a/cpputil/databuffer.h
-+++ b/cpputil/databuffer.h
-@@ -11,6 +11,7 @@
- #include <cstring>
- #include <iomanip>
- #include <iostream>
-+#include <cstdint>
-
- namespace nss_test {
-
-
diff --git a/dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch b/dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch
new file mode 100644
index 000000000000..633d251868a8
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.87-use-clang-as-bgo892686.patch
@@ -0,0 +1,85 @@
+diff -Naur a/lib/freebl/freebl_base.gypi b/lib/freebl/freebl_base.gypi
+--- a/lib/freebl/freebl_base.gypi 2023-02-10 09:25:24.750840063 +0200
++++ b/lib/freebl/freebl_base.gypi 2023-02-10 09:28:01.621413675 +0200
+@@ -72,19 +72,6 @@
+ 'mpi/mpi_amd64_common.S',
+ 'mpi/mp_comba.c',
+ ],
+- 'conditions': [
+- [ 'cc_is_clang==1 and fuzz!=1 and coverage!=1 and force_integrated_as!=1', {
+- 'cflags': [
+- '-no-integrated-as',
+- ],
+- 'cflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- 'asflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- }],
+- ],
+ }],
+ [ 'target_arch=="ia32"', {
+ 'sources': [
+diff -Naur a/lib/freebl/freebl.gyp b/lib/freebl/freebl.gyp
+--- a/lib/freebl/freebl.gyp 2023-02-10 09:25:24.750840063 +0200
++++ b/lib/freebl/freebl.gyp 2023-02-10 09:27:43.549117181 +0200
+@@ -16,19 +16,6 @@
+ 'dependencies': [
+ '<(DEPTH)/exports.gyp:nss_exports'
+ ],
+- 'conditions': [
+- [ 'cc_is_clang==1 and force_integrated_as!=1', {
+- 'cflags': [
+- '-no-integrated-as',
+- ],
+- 'cflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- 'asflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- }],
+- ],
+ },
+ {
+ 'target_name': 'intel-gcm-wrap_c_lib',
+@@ -325,19 +312,6 @@
+ 'dependencies': [
+ '<(DEPTH)/exports.gyp:nss_exports'
+ ],
+- 'conditions': [
+- [ 'cc_is_clang==1 and force_integrated_as!=1', {
+- 'cflags': [
+- '-no-integrated-as',
+- ],
+- 'cflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- 'asflags_mozilla': [
+- '-no-integrated-as',
+- ],
+- }],
+- ],
+ },
+ {
+ 'target_name': 'ppc-gcm-wrap-nodepend_c_lib',
+diff -Naur a/lib/freebl/Makefile b/lib/freebl/Makefile
+--- a/lib/freebl/Makefile 2023-02-10 09:25:24.749840047 +0200
++++ b/lib/freebl/Makefile 2023-02-10 09:26:23.932810998 +0200
+@@ -731,15 +731,6 @@
+ # GCM binary needs -mssse3
+ #
+ $(OBJDIR)/$(PROG_PREFIX)intel-gcm-wrap$(OBJ_SUFFIX): CFLAGS += -mssse3
+-
+-# The integrated assembler in Clang 3.2 does not support % in the
+-# expression of a .set directive. intel-gcm.s uses .set to give
+-# symbolic names to registers, for example,
+-# .set Htbl, %rdi
+-# So we can't use Clang's integrated assembler with intel-gcm.s.
+-ifdef CC_IS_CLANG
+-$(OBJDIR)/$(PROG_PREFIX)intel-gcm$(OBJ_SUFFIX): CFLAGS += -no-integrated-as
+-endif
+ endif
+
+ ifdef INTEL_GCM_CLANG_CL
diff --git a/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch b/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch
new file mode 100644
index 000000000000..d883db8181d1
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch
@@ -0,0 +1,78 @@
+# HG changeset patch
+# User Natalia Kulatova <nkulatova@mozilla.com>
+# Date 1687519432 0
+# Fri Jun 23 11:23:52 2023 +0000
+# Node ID 653f4c1b58425219c0e9c005d555994a3fe1fa72
+# Parent f095bf91ffaa273ea38ca6df34c905e5442de012
+Bug 1836925 - Removing the support of Curve25519 r=bbeurdouche,nss-reviewers
+
+Differential Revision: https://phabricator.services.mozilla.com/D180068
+
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/Makefile
+--- a/lib/freebl/Makefile Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/Makefile Fri Jun 23 11:23:52 2023 +0000
+@@ -568,9 +568,6 @@
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ else ifeq (1,$(CC_IS_GCC))
+- ifeq ($(CPU_ARCH),x86_64)
+- SUPPORTS_VALE_CURVE25519 = 1
+- endif
+ ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+@@ -595,11 +592,6 @@
+ DEFINES += -DKRML_VERIFIED_UINT128
+ endif
+
+-ifdef SUPPORTS_VALE_CURVE25519
+- VERIFIED_SRCS += Hacl_Curve25519_64.c
+- DEFINES += -DHACL_CAN_COMPILE_INLINE_ASM
+-endif
+-
+ ifndef NSS_DISABLE_CHACHAPOLY
+ ifeq ($(CPU_ARCH),x86_64)
+ ifndef NSS_DISABLE_AVX2
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/freebl.gyp
+--- a/lib/freebl/freebl.gyp Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/freebl.gyp Fri Jun 23 11:23:52 2023 +0000
+@@ -866,12 +866,6 @@
+ }],
+ ],
+ }],
+- [ 'supports_vale_curve25519==1', {
+- 'defines': [
+- # The Makefile does version-tests on GCC, but we're not doing that here.
+- 'HACL_CAN_COMPILE_INLINE_ASM',
+- ],
+- }],
+ [ 'OS=="linux" or OS=="android"', {
+ 'conditions': [
+ [ 'target_arch=="x64"', {
+@@ -934,11 +928,6 @@
+ 'variables': {
+ 'module': 'nss',
+ 'conditions': [
+- [ 'target_arch=="x64" and cc_is_gcc==1', {
+- 'supports_vale_curve25519%': 1,
+- }, {
+- 'supports_vale_curve25519%': 0,
+- }],
+ [ 'target_arch=="x64" or target_arch=="arm64" or target_arch=="aarch64"', {
+ 'have_int128_support%': 1,
+ }, {
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/freebl_base.gypi
+--- a/lib/freebl/freebl_base.gypi Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/freebl_base.gypi Fri Jun 23 11:23:52 2023 +0000
+@@ -154,11 +154,6 @@
+ 'ecl/curve25519_32.c',
+ ],
+ }],
+- ['supports_vale_curve25519==1', {
+- 'sources': [
+- 'verified/Hacl_Curve25519_64.c',
+- ],
+- }],
+ ['(target_arch!="ppc64" and target_arch!="ppc64le") or disable_altivec==1', {
+ 'sources': [
+ # Gyp does not support per-file cflags, so working around like this.
diff --git a/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch b/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
new file mode 100644
index 000000000000..e5769308144c
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
@@ -0,0 +1,35 @@
+
+# HG changeset patch
+# User Natalia Kulatova <nkulatova@mozilla.com>
+# Date 1685981398 0
+# Node ID 52a5d8fe37410d940e7d3ca244146ebc46a7d52a
+# Parent 52969cff7db635e0ee10fad66eed2c0cfdcf999b
+Bug 1836781 - Disabling ASM C25519 for A but X86_64 r=bbeurdouche,nss-reviewers
+
+Differential Revision: https://phabricator.services.mozilla.com/D179969
+
+diff --git a/lib/freebl/Makefile b/lib/freebl/Makefile
+--- a/lib/freebl/Makefile
++++ b/lib/freebl/Makefile
+@@ -563,17 +563,19 @@ endif # target == SunO
+ ifdef USE_64
+ # no __int128 at least up to lcc 1.23 (pretending to be gcc5)
+ # NB: CC_NAME is not defined here
+ ifneq ($(shell $(CC) -? 2>&1 >/dev/null </dev/null | sed -e 's/:.*//;1q'),lcc)
+ ifdef CC_IS_CLANG
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ else ifeq (1,$(CC_IS_GCC))
+- SUPPORTS_VALE_CURVE25519 = 1
++ ifeq ($(CPU_ARCH),x86_64)
++ SUPPORTS_VALE_CURVE25519 = 1
++ endif
+ ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ endif
+ ifneq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
+ NSS_DISABLE_AVX2 = 1
+ endif
+ ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
+
diff --git a/dev-libs/nss/metadata.xml b/dev-libs/nss/metadata.xml
index 3c9d1ca00671..ed59ce5ad9ec 100644
--- a/dev-libs/nss/metadata.xml
+++ b/dev-libs/nss/metadata.xml
@@ -9,9 +9,10 @@
<flag name="cacert">
Include root/class3 certs from CAcert (https://www.cacert.org/)
</flag>
- <flag name="utils">Install utilities included with the library</flag>
+ <flag name="utils">Compile and install all extra binaries, such as certutil, modutil and few more</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:mozilla:nss</remote-id>
+ <remote-id type="github">nss-dev/nss</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/nss/nss-3.79.2.ebuild b/dev-libs/nss/nss-3.79.2.ebuild
deleted file mode 100644
index c760ecde76c9..000000000000
--- a/dev-libs/nss/nss-3.79.2.ebuild
+++ /dev/null
@@ -1,391 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic multilib toolchain-funcs multilib-minimal
-
-NSPR_VER="4.34.1"
-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 ~x86-solaris"
-IUSE="cacert test +utils cpu_flags_ppc_altivec 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=(
- # Custom changes for gentoo
- "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
- "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
- "${FILESDIR}/${PN}-3.79-fix-client-cert-crash.patch"
- "${FILESDIR}/${PN}-3.79-gcc-13.patch"
-)
-
-src_prepare() {
- default
-
- if use cacert ; then
- eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
- fi
-
- pushd coreconf >/dev/null || die
-
- # hack nspr paths
- echo 'INCLUDES += -I$(DIST)/include/dbm' \
- >> headers.mk || die "failed to append include"
-
- # modify install path
- sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
- -i source.mk || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
-
- popd >/dev/null || die
-
- # Fix pkgconfig file for Prefix
- sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
- config/Makefile || die
-
- # use host shlibsign if need be #436216
- if tc-is-cross-compiler ; then
- sed -i \
- -e 's:"${2}"/shlibsign:shlibsign:' \
- cmd/shlibsign/sign.sh || die
- fi
-
- # dirty hack
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
- lib/ssl/config.mk || die
- sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
- cmd/platlibs.mk || die
-
- multilib_copy_sources
-
- strip-flags
-}
-
-multilib_src_configure() {
- # Ensure we stay multilib aware
- sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
-}
-
-nssarch() {
- # Most of the arches are the same as $ARCH
- local t=${1:-${CHOST}}
- case ${t} in
- *86*-pc-solaris2*) echo "i86pc" ;;
- aarch64*) echo "aarch64" ;;
- hppa*) echo "parisc" ;;
- i?86*) echo "i686" ;;
- x86_64*) echo "x86_64" ;;
- *) tc-arch ${t} ;;
- esac
-}
-
-nssbits() {
- local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
- if [[ ${1} == BUILD_ ]]; then
- cc=$(tc-getBUILD_CC)
- else
- cc=$(tc-getCC)
- fi
- echo > "${T}"/test.c || die
- ${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
- case $(file "${T}/${1}test.o") in
- *32-bit*x86-64*) echo USE_X32=1;;
- *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
- esac
-}
-
-multilib_src_compile() {
- # use ABI to determine bit'ness, or fallback if unset
- local buildbits mybits
- case "${ABI}" in
- n32) mybits="USE_N32=1";;
- x32) mybits="USE_X32=1";;
- s390x|*64) mybits="USE_64=1";;
- ${DEFAULT_ABI})
- einfo "Running compilation test to determine bit'ness"
- mybits=$(nssbits)
- ;;
- esac
- # bitness of host may differ from target
- if tc-is-cross-compiler; then
- buildbits=$(nssbits BUILD_)
- fi
-
- local makeargs=(
- CC="$(tc-getCC)"
- CCC="$(tc-getCXX)"
- AR="$(tc-getAR) rc \$@"
- RANLIB="$(tc-getRANLIB)"
- OPTIMIZER=
- ${mybits}
- )
-
- # Take care of nspr settings #436216
- local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
- unset NSPR_INCLUDE_DIR
-
- export NSS_ALLOW_SSLKEYLOGFILE=1
- export NSS_ENABLE_WERROR=0 #567158
- export BUILD_OPT=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSDISTMODE=copy
- export FREEBL_NO_DEPEND=1
- export FREEBL_LOWHASH=1
- export NSS_SEED_ONLY_DEV_URANDOM=1
- export USE_SYSTEM_ZLIB=1
- export ZLIB_LIBS=-lz
- export ASFLAGS=""
- # Fix build failure on arm64
- export NS_USE_GCC=1
- # Detect compiler type and set proper environment value
- if tc-is-gcc; then
- export CC_IS_GCC=1
- elif tc-is-clang; then
- export CC_IS_CLANG=1
- fi
-
- export NSS_DISABLE_GTESTS=$(usex !test 1 0)
-
- # explicitly disable altivec/vsx if not requested
- # https://bugs.gentoo.org/789114
- case ${ARCH} in
- ppc*)
- use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
- use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
- ;;
- esac
-
- local d
-
- # Build the host tools first.
- LDFLAGS="${BUILD_LDFLAGS}" \
- XCFLAGS="${BUILD_CFLAGS}" \
- NSPR_LIB_DIR="${T}/fakedir" \
- emake -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"
-
- 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.87.ebuild b/dev-libs/nss/nss-3.87.ebuild
deleted file mode 100644
index 9f7409bf5cbe..000000000000
--- a/dev-libs/nss/nss-3.87.ebuild
+++ /dev/null
@@ -1,394 +0,0 @@
-# Copyright 1999-2023 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 ~x86-solaris"
-IUSE="cacert test +utils cpu_flags_ppc_altivec 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=(
- # Custom changes for gentoo
- "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
- "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
-)
-
-QA_PKGCONFIG_VERSION="${PV}.0"
-
-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
- 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}
- 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)
-
- # explicitly disable altivec/vsx if not requested
- # https://bugs.gentoo.org/789114
- case ${ARCH} in
- ppc*)
- use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
- use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
- ;;
- esac
-
- local d
-
- # Build the host tools first.
- LDFLAGS="${BUILD_LDFLAGS}" \
- XCFLAGS="${BUILD_CFLAGS}" \
- NSPR_LIB_DIR="${T}/fakedir" \
- emake -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"
-
- 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-r1.ebuild b/dev-libs/nss/nss-3.90.2-r1.ebuild
new file mode 100644
index 000000000000..96f5c85ed19b
--- /dev/null
+++ b/dev-libs/nss/nss-3.90.2-r1.ebuild
@@ -0,0 +1,420 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.35"
+RTM_NAME="NSS_${PV//./_}_RTM"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
+SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
+RDEPEND="
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+ "${FILESDIR}"/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
+ "${FILESDIR}"/nss-3.90-remove-support-of-curve25519.patch
+)
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ export NSS_CYCLES=standard
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/nss/nss-3.90.2.ebuild b/dev-libs/nss/nss-3.90.2.ebuild
new file mode 100644
index 000000000000..930fe521611a
--- /dev/null
+++ b/dev-libs/nss/nss-3.90.2.ebuild
@@ -0,0 +1,419 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.35"
+RTM_NAME="NSS_${PV//./_}_RTM"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
+SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
+RDEPEND="
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+ "${FILESDIR}"/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
+)
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ export NSS_CYCLES=standard
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/nss/nss-3.99.ebuild b/dev-libs/nss/nss-3.99.ebuild
new file mode 100644
index 000000000000..1b28b3db38d6
--- /dev/null
+++ b/dev-libs/nss/nss-3.99.ebuild
@@ -0,0 +1,418 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib toolchain-funcs multilib-minimal
+
+NSPR_VER="4.35"
+RTM_NAME="NSS_${PV//./_}_RTM"
+
+DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
+SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
+ cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
+RDEPEND="
+ >=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
+ >=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ virtual/pkgconfig
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${P}/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+)
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ export NSS_CYCLES=standard
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/nsync/Manifest b/dev-libs/nsync/Manifest
index 4779ea248761..64fd3e8bb3c6 100644
--- a/dev-libs/nsync/Manifest
+++ b/dev-libs/nsync/Manifest
@@ -1,2 +1,2 @@
-DIST nsync-1.24.0.tar.gz 155132 BLAKE2B 9a914b408faf8fff96a57fd3868c34aa96b4243ef2acd30dbdbe1fc90a1818d58ffc96bc6d016f5539c0e266fc1fb633952edba0a51b115904c9d6b06a35f7f8 SHA512 14dd582488072123a353c967664ed9a3f636865bb35e64d7256dcc809539129fa47c7979a4009fd45c9341cac537a4ca6b4b617ba2cae1d3995a7c251376339f
DIST nsync-1.25.0.tar.gz 155250 BLAKE2B e30e9a72d999e589a1422014f81fbab29f61802b0ebeb9f08793d3a4d50fb5f66e404558cb7f46f2a2c499c1804cd013c12604038222121680988c85b7e186ff SHA512 8e7a3b99237fb68bf3fd85490394e3fe2b73ff805b1bc885549856908599b98c86600c71888d19d9d36a56caa91cad176a1e9fc413686e5018cefe3908364c6b
+DIST nsync-1.26.0.tar.gz 155509 BLAKE2B 5a445bcf44e29253f3fa8594f4921f59d3826fea01f11b4b7c4ba4b285b0344dd17be62c60dfd876e3a0d854307dfe40ed9c80de4f1da4c5b74a92f6a9a074b3 SHA512 8aa49997f100f161f0f32e99c9004ee845d7b16c1391e7eb62eea0897e2f91b7f9e5181055fdca637518751b6b26e16a1cd53e45adceda145285752c4b74f3bf
diff --git a/dev-libs/nsync/metadata.xml b/dev-libs/nsync/metadata.xml
index e85252a96df1..c987c5582dd3 100644
--- a/dev-libs/nsync/metadata.xml
+++ b/dev-libs/nsync/metadata.xml
@@ -5,4 +5,7 @@
<email>perfinion@gentoo.org</email>
<name>Jason Zaman</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">google/nsync</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/nsync/nsync-1.24.0-r1.ebuild b/dev-libs/nsync/nsync-1.24.0-r1.ebuild
deleted file mode 100644
index b707bd898d59..000000000000
--- a/dev-libs/nsync/nsync-1.24.0-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 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 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.25.0.ebuild b/dev-libs/nsync/nsync-1.25.0.ebuild
index 9f9a537adafb..6ad5dcf3244d 100644
--- a/dev-libs/nsync/nsync-1.25.0.ebuild
+++ b/dev-libs/nsync/nsync-1.25.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/google/nsync/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
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/metadata.xml b/dev-libs/ntl/metadata.xml
index 41060691e818..495cab106d33 100644
--- a/dev-libs/ntl/metadata.xml
+++ b/dev-libs/ntl/metadata.xml
@@ -11,4 +11,7 @@
integers, and for vectors, matrices, and polynomials over the
integers and over finite fields.
</longdescription>
+ <upstream>
+ <remote-id type="github">libntl/ntl</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/ntl/ntl-11.5.1-r1.ebuild b/dev-libs/ntl/ntl-11.5.1-r1.ebuild
deleted file mode 100644
index c625986daa0f..000000000000
--- a/dev-libs/ntl/ntl-11.5.1-r1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs gnuconfig
-
-DESCRIPTION="High-performance and portable C++ number theory library"
-HOMEPAGE="https://www.shoup.net/ntl/ https://github.com/libntl/ntl"
-SRC_URI="https://www.shoup.net/ntl/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/44"
-KEYWORDS="amd64 ~arm64 ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="bindist doc static-libs threads cpu_flags_x86_avx2"
-
-BDEPEND="dev-lang/perl"
-DEPEND="dev-libs/gmp:0=
- dev-libs/gf2x
- threads? ( >=dev-libs/gf2x-1.2 )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${P}/src"
-
-REQUIRED_USE="bindist? ( !cpu_flags_x86_avx2 )"
-
-DOCS=( "${WORKDIR}/${P}"/README )
-
-src_unpack() {
- default
- gnuconfig_update "${S}/libtool-origin/"
-}
-
-src_configure() {
- # The DoConfig script builds its own libtool, but doesn't
- # really try to set up the build environment (bug 718892).
- export CC="$(tc-getCC)"
- export CXX="$(tc-getCXX)"
-
- # Currently the build system can build a static library or both
- # static and shared libraries, but not only shared libraries. The
- # name NTL_GMP_LIP is *not* a typo.
- perl DoConfig \
- PREFIX="${EPREFIX}"/usr \
- LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
- CXXFLAGS="${CXXFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- SHARED=on \
- NTL_GMP_LIP=on \
- NTL_GF2X_LIB=on \
- NTL_THREADS=$(usex threads on off) \
- NTL_ENABLE_AVX_FFT=$(usex cpu_flags_x86_avx2 on off) \
- NATIVE=$(usex bindist off on) \
- || die "DoConfig failed"
-
- if use doc; then
- DOCS+=( "${WORKDIR}/${P}"/doc/*.txt )
- HTML_DOCS=( "${WORKDIR}/${P}"/doc/*.html "${WORKDIR}/${P}"/doc/*.gif )
- fi
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- # bug #775884
- find "${ED}" -name '*.la' -delete || die
-
- # Use rm -f because the static archive may not be created when
- # using (for example) slibtool-shared.
- rm -f "${ED}/usr/$(get_libdir)"/libntl.a || die
- fi
-
- rm -r "${ED}"/usr/share/doc/NTL || die
-}
diff --git a/dev-libs/ntl/ntl-11.5.1-r2.ebuild b/dev-libs/ntl/ntl-11.5.1-r2.ebuild
deleted file mode 100644
index 261e6f0b0dab..000000000000
--- a/dev-libs/ntl/ntl-11.5.1-r2.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs gnuconfig
-
-DESCRIPTION="High-performance and portable C++ number theory library"
-HOMEPAGE="https://www.shoup.net/ntl/ https://github.com/libntl/ntl"
-SRC_URI="https://www.shoup.net/ntl/${P}.tar.gz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/44"
-KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc static-libs threads cpu_flags_x86_avx2"
-
-BDEPEND="dev-lang/perl"
-DEPEND="dev-libs/gmp:0=
- dev-libs/gf2x
- threads? ( >=dev-libs/gf2x-1.2 )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${P}/src"
-
-DOCS=( "${WORKDIR}/${P}"/README )
-
-src_unpack() {
- default
- gnuconfig_update "${S}/libtool-origin/"
-}
-
-src_configure() {
- # The DoConfig script builds its own libtool, but doesn't
- # really try to set up the build environment (bug 718892).
- export CC="$(tc-getCC)"
- export CXX="$(tc-getCXX)"
-
- # Currently the build system can build a static library or both
- # static and shared libraries, but not only shared libraries. The
- # name NTL_GMP_LIP is *not* a typo.
- perl DoConfig \
- PREFIX="${EPREFIX}"/usr \
- LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
- CXXFLAGS="${CXXFLAGS}" \
- CPPFLAGS="${CPPFLAGS}" \
- LDFLAGS="${LDFLAGS}" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- RANLIB="$(tc-getRANLIB)" \
- SHARED=on \
- NTL_GMP_LIP=on \
- NTL_GF2X_LIB=on \
- NTL_THREADS=$(usex threads on off) \
- NTL_ENABLE_AVX_FFT=$(usex cpu_flags_x86_avx2 on off) \
- NATIVE=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
-
- if ! use static-libs; then
- # bug #775884
- find "${ED}" -name '*.la' -delete || die
-
- # Use rm -f because the static archive may not be created when
- # using (for example) slibtool-shared.
- rm -f "${ED}/usr/$(get_libdir)"/libntl.a || die
- fi
-
- rm -r "${ED}"/usr/share/doc/NTL || die
-}
diff --git a/dev-libs/ntl/ntl-11.5.1-r4.ebuild b/dev-libs/ntl/ntl-11.5.1-r4.ebuild
new file mode 100644
index 000000000000..2a091685334f
--- /dev/null
+++ b/dev-libs/ntl/ntl-11.5.1-r4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs gnuconfig
+
+DESCRIPTION="High-performance and portable C++ number theory library"
+HOMEPAGE="https://www.shoup.net/ntl/ https://github.com/libntl/ntl"
+SRC_URI="https://www.shoup.net/ntl/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/44"
+KEYWORDS="amd64 arm64 ~loong ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc threads"
+
+BDEPEND="dev-lang/perl"
+DEPEND="dev-libs/gmp:0=
+ dev-libs/gf2x
+ threads? ( >=dev-libs/gf2x-1.2 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}/src"
+
+DOCS=( "${WORKDIR}/${P}"/README )
+
+src_unpack() {
+ default
+ gnuconfig_update "${S}/libtool-origin/"
+}
+
+src_configure() {
+ # The DoConfig script builds its own libtool, but doesn't
+ # really try to set up the build environment (bug 718892).
+ export CC="$(tc-getCC)"
+ export CXX="$(tc-getCXX)"
+
+ # Currently the build system can build a static library or both
+ # static and shared libraries, but not only shared libraries. The
+ # name NTL_GMP_LIP is *not* a typo.
+ #
+ # We have left NTL_ENABLE_AVX_FFT unconditionally disabled: NTL's
+ # AVX2 detection can fail even when the CPU supports it (bug
+ # 815775), and moreover, can fail due to CXXFLAGS. When that
+ # happens, and if we try to use the AVX FFT, the build fails.
+ # Finally, doc/config.txt says, "this is experimental at moment, and
+ # may lead to worse performance." So we are probably not missing out
+ # on much.
+ #
+ perl DoConfig \
+ PREFIX="${EPREFIX}"/usr \
+ LIBDIR="${EPREFIX}"/usr/$(get_libdir) \
+ CXXFLAGS="${CXXFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ SHARED=on \
+ NTL_GMP_LIP=on \
+ NTL_GF2X_LIB=on \
+ NTL_THREADS=$(usex threads on off) \
+ NTL_ENABLE_AVX_FFT=off \
+ NATIVE=off \
+ || die "DoConfig failed"
+
+ if use doc; then
+ DOCS+=( "${WORKDIR}/${P}"/doc/*.txt )
+ HTML_DOCS=( "${WORKDIR}/${P}"/doc/*.html "${WORKDIR}/${P}"/doc/*.gif )
+ fi
+
+ # 780534 - Required for rlibtool so it can find the generated libtool
+ ln -sf libtool-build/libtool . || die
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ # Use rm -f because the static archive may not be created when
+ # using (for example) slibtool-shared.
+ rm -f "${ED}/usr/$(get_libdir)"/libntl.a || die
+
+ rm -r "${ED}"/usr/share/doc/NTL || die
+}
diff --git a/dev-libs/nwjs/Manifest b/dev-libs/nwjs/Manifest
index 7a01ff3e5eea..72047b79ee34 100644
--- a/dev-libs/nwjs/Manifest
+++ b/dev-libs/nwjs/Manifest
@@ -1 +1 @@
-DIST nwjs-v0.67.1-linux-x64.tar.gz 134715209 BLAKE2B 2a174b5f1fd20c5b1cbcbede4225bbc94046c2aff315c9bbc35663dc8b0bac08f6779a00d26c3f9992da2d505c5876b3aa4ffc7603f74f5aaf559acaa9198ec9 SHA512 4cff06af9dea81bae4ba2dcbcfdbd4fedfe6a176d35dfbdff880ba5914d80f5de3b52053db87982eb763a0a0b147890bdf3c6ff0c6a5291b70cb8cade79158e7
+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
index 7c730d47817a..891b28c547bd 100644
--- a/dev-libs/nwjs/metadata.xml
+++ b/dev-libs/nwjs/metadata.xml
@@ -5,4 +5,7 @@
<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.67.1.ebuild b/dev-libs/nwjs/nwjs-0.67.1.ebuild
deleted file mode 100644
index 7ef9ba67e3c8..000000000000
--- a/dev-libs/nwjs/nwjs-0.67.1.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CHROMIUM_VERSION="102"
-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"
-
-RDEPEND="
- app-accessibility/at-spi2-core:2
- dev-libs/atk
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/nspr
- dev-libs/nss
- media-libs/alsa-lib
- media-libs/libglvnd
- media-libs/vulkan-loader
- media-video/ffmpeg-chromium:${CHROMIUM_VERSION}
- net-print/cups
- sys-apps/dbus
- sys-apps/util-linux
- x11-libs/cairo
- x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:3
- 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]
-"
-
-S="${WORKDIR}/${A%.tar.gz}"
-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.${CHROMIUM_VERSION} \
- "${DIR}"/lib/libffmpeg.so
-
- dosym ../.."${DIR}"/nw /usr/bin/${PN}
-}
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/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/oniguruma/Manifest b/dev-libs/oniguruma/Manifest
index 2d03a4b62795..4526f5b9ea8f 100644
--- a/dev-libs/oniguruma/Manifest
+++ b/dev-libs/oniguruma/Manifest
@@ -1 +1,2 @@
DIST onig-6.9.8.tar.gz 944148 BLAKE2B ee7d91f2d3a7a41d675bcbb9d18490aa3e5a9edb8f3c6e880d27f2218c476499bba21088def41fbb5d500bfb2916af85c2489fca5bd846594fab53ac492531af SHA512 5a3d220961c22cda981bbae06dc383401771362cdf67e4f0b5d2fa8951a03907362edae498f63226287e70715c0abe4acdd22ec3ceb74bbb226234a52c36a4d7
+DIST onig-6.9.9.tar.gz 957444 BLAKE2B d31f4caf5e14477ec1fd40ab764137b49046ac759f487432a129ebdf6da89b128218bb14b08f9359ac0b87286bcd309faa3878b26528926aab6f7d2e25e722b0 SHA512 14d2afd0d2cf86012c9959f221e9a77e7787e709c9dd7295d159e0a9ba89df52fa3edc59f95a6d859c34181e2e2e53e21b932b3eceb4d6ddeb2a3445ef951e95
diff --git a/dev-libs/oniguruma/oniguruma-6.9.8.ebuild b/dev-libs/oniguruma/oniguruma-6.9.8.ebuild
index 69b696574379..291f54635157 100644
--- a/dev-libs/oniguruma/oniguruma-6.9.8.ebuild
+++ b/dev-libs/oniguruma/oniguruma-6.9.8.ebuild
@@ -21,7 +21,7 @@ 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 ~ppc-macos ~x64-macos ~x86-solaris"
+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=""
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/opencl-clang/Manifest b/dev-libs/opencl-clang/Manifest
index 4f4bdc9262d1..50ef0f399661 100644
--- a/dev-libs/opencl-clang/Manifest
+++ b/dev-libs/opencl-clang/Manifest
@@ -1,2 +1,3 @@
-DIST opencl-clang-14.0.0.tar.gz 26109 BLAKE2B 2ae5e6d69e2f13b867712d03b52fce893aeb70566f7f97d54858639786276f49b0b6b5768aebfedeb7fe50d95511178d7dd9df7e80d3fd27df1fb3fe1d2ab955 SHA512 ab9a3fd40542283bdd2646d9ef8d3217420c82a41b183d705e48f48949505ecadc1fa435e23a7ceadf5a335200f5f3752b42715e2ac7f63173fc09637c5c609a
DIST opencl-clang-15.0.0.tar.gz 26212 BLAKE2B 02d3a8eb3964b6882bd94b676b4459412c753ac38e1e3012662021e98a8219225eaf6af4f62f4e0e97de428f55b0b698374dc39babff09a0fcc73213d5daacfe SHA512 a2ffce43493793524e9512be2e7bd46c0183b86b35a6f79018d355d07a83303a944e6dacebfb768e88ce75a7020a44939be872a2d4e754544198a9829f4febd4
+DIST opencl-clang-16.0.0.tar.gz 28413 BLAKE2B c99f043171186f5d9e44618d5d637d6a5c7997f22577491f544e78d93edd5afe74ba88eaaea92a931dd87af71fb630fdf03d27f1a9f55d7c3b8bdf53dee54b07 SHA512 bf723edab7dc7a028eb79d01fd2306690a2169472760bf2783d593ffec4eb788f28f184c66b204cc074cb95a4149fcc63a1dcbee5563c620a9dc2c76bb5a2d5a
+DIST opencl-clang-17.0.0.tar.gz 28436 BLAKE2B dd86255e757d290fb0417d966098ad00ceb0440c83fa79d8bdaadc7ee9964b13810d27f93740f4b00b9c0e16e5c9b29213800d98042b6c211b45a9cd1402f038 SHA512 920e19c9c36fef1752bce46a1a240bfc0cdd22c09e5840520508c67ecd965524f5c1ce04d8879af146670377f758d3f457a8263338b84b6833e8916f10566698
diff --git a/dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch b/dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch
deleted file mode 100644
index bf013c33a596..000000000000
--- a/dev-libs/opencl-clang/files/opencl-clang-10.0.0.1_find-llvm-tblgen.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -137,7 +137,7 @@
- set (COMPILE_OPTIONS_TD opencl_clang_options.td)
- set (COMPILE_OPTIONS_INC opencl_clang_options.inc)
-
--set(LLVM_TABLEGEN_EXE "llvm-tblgen")
-+find_program(LLVM_TABLEGEN_EXE "llvm-tblgen")
- set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD})
- if(USE_PREBUILT_LLVM)
- set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS})
diff --git a/dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch b/dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch
deleted file mode 100644
index 1664960b6608..000000000000
--- a/dev-libs/opencl-clang/files/opencl-clang-13.0.0_version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,7 +20,7 @@
- add_definitions(-DUSE_PREBUILT_LLVM)
-
- if(NOT PREFERRED_LLVM_VERSION)
-- set(PREFERRED_LLVM_VERSION "12.0.0")
-+ set(PREFERRED_LLVM_VERSION "13.0.0")
- endif(NOT PREFERRED_LLVM_VERSION)
- message(STATUS "Looking for LLVM version ${PREFERRED_LLVM_VERSION}")
- find_package(LLVM ${PREFERRED_LLVM_VERSION} REQUIRED)
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch
new file mode 100644
index 000000000000..227a7be30b50
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-clang_library_dir.patch
@@ -0,0 +1,36 @@
+From 9f50367661bb6345bf7b18102f1e415378afda06 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Fri, 21 Apr 2023 04:08:11 +0200
+Subject: [PATCH] Support llvm headers in
+ ${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/ (#419)
+
+Fedora places llvm include files into that directory instead of assumed
+${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/
+
+Try both, fail horribly when none of them exist
+---
+ cl_headers/CMakeLists.txt | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
+index 86df76f..0223d52 100644
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -19,8 +19,15 @@ add_custom_command(
+ endfunction(copy_file)
+
+ if(USE_PREBUILT_LLVM)
+- set(OPENCL_HEADERS_DIR
+- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ if(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/")
++ set(OPENCL_HEADERS_DIR
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ elseif(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/")
++ set(OPENCL_HEADERS_DIR
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/include/")
++ else()
++ message(FATAL_ERROR "[OPENCL-CLANG] Couldn't find prebuilt LLVM include directory.")
++ endif()
+ else(USE_PREBUILT_LLVM)
+ set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers")
+ endif(USE_PREBUILT_LLVM)
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch
new file mode 100644
index 000000000000..aa6c308630e8
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-cxx17.patch
@@ -0,0 +1,23 @@
+From 5491ffa3fde5729074fe804023bd279c56684f77 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Mon, 24 Apr 2023 10:29:36 +0200
+Subject: [PATCH] Bump CMAKE_CXX_STANDARD to 17 (#416)
+
+Fixes build issues
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dc471d8..a7d1927 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,7 +58,7 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ ${CMAKE_MODULE_PATH}
+ ${LLVM_CMAKE_DIR})
+
+- set(CMAKE_CXX_STANDARD 14)
++ set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+ option(LLVMSPIRV_INCLUDED_IN_LLVM
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
new file mode 100644
index 000000000000..659a2b90bf6c
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
@@ -0,0 +1,105 @@
+commit e047ae6bb9cef488781e0b06c5ae9018bacb24c4
+Author: Wenju He <wenju.he@intel.com>
+Date: Thu May 18 16:01:52 2023 +0800
+
+ Revert to use add_llvm_library and revert linking LLVM libraries (#438)
+
+ Add cmake option EXCLUDE_LIBS_FROM_ALL to remove a specific llvm library
+ from llvm 'all'.
+
+ This PR partially reverts 743bd15.
+ This PR addresses #401, #417, #418, #422, and brings back SONAME.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a7d1927..be4fefd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -298,21 +298,23 @@ else()
+ )
+ endif()
+
+-add_library(${TARGET_NAME} SHARED
+- ${TARGET_INCLUDE_FILES}
+- ${TARGET_SOURCE_FILES}
+- $<TARGET_OBJECTS:cl_headers>
+-)
+-
+-# Same CRT compile option are reqiured to avoid link errors on Windows.
+-# MD and MDd are choosed by default for release and debug build in LLVM.
+-# If users set MT or MTd flags, they also need to add the flags for
+-# opencl-clang sources using a custom macro set_msvc_crt_flags.
+-if(COMMAND set_msvc_crt_flags)
+- set_msvc_crt_flags(${TARGET_NAME})
++set(EXCLUDE_LIBS_FROM_ALL "" CACHE STRING "Space-separated list of LLVM libraries to exclude from all")
++llvm_map_components_to_libnames(ALL_LLVM_LIBS all)
++if (NOT "${EXCLUDE_LIBS_FROM_ALL}" STREQUAL "")
++ list(REMOVE_ITEM ALL_LLVM_LIBS ${EXCLUDE_LIBS_FROM_ALL})
+ endif()
++list(APPEND OPENCL_CLANG_LINK_LIBS ${ALL_LLVM_LIBS})
++
++add_llvm_library(${TARGET_NAME} SHARED
++ ${TARGET_INCLUDE_FILES}
++ ${TARGET_SOURCE_FILES}
++ $<TARGET_OBJECTS:cl_headers>
+
+-add_dependencies(${TARGET_NAME} CClangCompileOptions)
++ DEPENDS CClangCompileOptions
++
++ LINK_LIBS
++ ${OPENCL_CLANG_LINK_LIBS}
++ )
+
+ if (WIN32)
+ # Enable compiler generation of Control Flow Guard security checks.
+@@ -328,51 +330,6 @@ elseif(UNIX)
+ LINK_FLAGS " -Wl,--no-undefined")
+ endif(WIN32)
+
+-# Enable new IN_LIST operator.
+-cmake_policy(SET CMP0057 NEW)
+-set(OTHER_LIBRARIES)
+-if ("NVPTX" IN_LIST LLVM_TARGETS_TO_BUILD)
+- list(APPEND OTHER_LIBRARIES LLVMNVPTXCodeGen LLVMNVPTXDesc LLVMNVPTXInfo)
+-endif()
+-if ("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD)
+- list(APPEND OTHER_LIBRARIES LLVMAMDGPUCodeGen LLVMAMDGPUAsmParser LLVMAMDGPUDesc LLVMAMDGPUInfo)
+-endif()
+-
+-target_link_libraries( ${TARGET_NAME}
+- LINK_PRIVATE
+- ${OPENCL_CLANG_LINK_LIBS}
+- LLVMX86CodeGen
+- LLVMX86AsmParser
+- LLVMX86Desc
+- LLVMX86Info
+- LLVMX86Disassembler
+- LLVMAnalysis
+- LLVMCodeGen
+- LLVMCore
+- LLVMipo
+- LLVMInstCombine
+- LLVMInstrumentation
+- LLVMMC
+- LLVMMCParser
+- LLVMObjCARCOpts
+- LLVMOption
+- LLVMScalarOpts
+- LLVMSupport
+- LLVMTransformUtils
+- LLVMVectorize
+- LLVMAsmPrinter
+- LLVMSelectionDAG
+- LLVMMCDisassembler
+- LLVMProfileData
+- LLVMObject
+- LLVMBitWriter
+- LLVMIRReader
+- LLVMAsmParser
+- LLVMTarget
+- LLVMBitReader
+- ${OTHER_LIBRARIES}
+- )
+-
+ install(FILES opencl_clang.h
+ DESTINATION include/cclang
+ COMPONENT ${TARGET_NAME})
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch
new file mode 100644
index 000000000000..a85ec58df401
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-standalone-build.patch
@@ -0,0 +1,26 @@
+From 529a9188114bcbd8ed753d2276942384fa50d7a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
+Date: Fri, 21 Apr 2023 04:07:21 +0200
+Subject: [PATCH] Fix standalone build (#415)
+
+Fixes https://github.com/intel/opencl-clang/issues/406
+Fixes https://github.com/intel/opencl-clang/issues/374
+---
+ cl_headers/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
+index 788adff..86df76f 100644
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -1,5 +1,9 @@
+ set(CL_HEADERS_LIB cl_headers)
+-set(CLANG_COMMAND $<TARGET_FILE:clang> )
++if(USE_PREBUILT_LLVM)
++ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
++else()
++ set(CLANG_COMMAND $<TARGET_FILE:clang>)
++endif()
+ if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
+ build_native_tool(clang CLANG_COMMAND)
+ endif()
diff --git a/dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch b/dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch
new file mode 100644
index 000000000000..dd72e7210410
--- /dev/null
+++ b/dev-libs/opencl-clang/files/opencl-clang-17.0.0-clang_library_dir.patch
@@ -0,0 +1,19 @@
+--- a/cl_headers/CMakeLists.txt
++++ b/cl_headers/CMakeLists.txt
+@@ -19,12 +19,12 @@
+ endfunction(copy_file)
+
+ if(USE_PREBUILT_LLVM)
+- if(EXISTS "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/")
++ if(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/")
+ set(OPENCL_HEADERS_DIR
+- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
+- elseif(EXISTS "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/")
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
++ elseif(EXISTS "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/")
+ set(OPENCL_HEADERS_DIR
+- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/include/")
++ "${CLANG_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}/include/")
+ else()
+ message(FATAL_ERROR "[OPENCL-CLANG] Couldn't find prebuilt LLVM include directory.")
+ endif()
diff --git a/dev-libs/opencl-clang/opencl-clang-14.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-14.0.0.ebuild
deleted file mode 100644
index 321c419f1a1f..000000000000
--- a/dev-libs/opencl-clang/opencl-clang-14.0.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT="14"
-
-inherit cmake llvm
-
-DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
-HOMEPAGE="https://github.com/intel/opencl-clang"
-SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${PV}"
-
-LICENSE="UoI-NCSA"
-SLOT="14"
-KEYWORDS="amd64"
-
-RDEPEND="
- dev-util/spirv-llvm-translator:${SLOT}=
- sys-devel/clang:${SLOT}=[static-analyzer]
- sys-devel/llvm:${SLOT}=
-"
-
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch
- "${FILESDIR}"/${PN}-10.0.0.1_find-llvm-tblgen.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
- -Wno-dev
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild b/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild
new file mode 100644
index 000000000000..3f15a5cc35a3
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-clang/opencl-clang-15.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-15.0.0.ebuild
deleted file mode 100644
index 658057bcc863..000000000000
--- a/dev-libs/opencl-clang/opencl-clang-15.0.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT="15"
-
-inherit cmake llvm
-
-DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
-HOMEPAGE="https://github.com/intel/opencl-clang"
-SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${PV}"
-
-LICENSE="UoI-NCSA"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64"
-
-RDEPEND="
- dev-util/spirv-llvm-translator:${SLOT}=
- sys-devel/clang:${SLOT}=[static-analyzer]
- sys-devel/llvm:${SLOT}=
-"
-
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch )
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
- -Wno-dev
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild b/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild
new file mode 100644
index 000000000000..55691f305c43
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 16 )
+
+inherit cmake llvm-r1
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-16.0.0-clang_library_dir.patch
+ "${FILESDIR}"/${PN}-16.0.0-cxx17.patch
+ "${FILESDIR}"/${PN}-16.0.0-llvm.patch
+ "${FILESDIR}"/${PN}-16.0.0-standalone-build.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild
new file mode 100644
index 000000000000..d28584d7b154
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 17 )
+
+inherit cmake llvm-r1
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-17.0.0-clang_library_dir.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
+ -DLLVM_VERSION_MAJOR="${LLVM_SLOT}"
+ -DPREFERRED_LLVM_VERSION="${LLVM_SLOT}"
+ -DUSE_PREBUILT_LLVM="ON"
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-icd-loader/Manifest b/dev-libs/opencl-icd-loader/Manifest
index b274b47fa96d..049e67cc4f88 100644
--- a/dev-libs/opencl-icd-loader/Manifest
+++ b/dev-libs/opencl-icd-loader/Manifest
@@ -1 +1,2 @@
-DIST opencl-icd-loader-2022.09.30.tar.gz 87782 BLAKE2B 78d4c19d71c212dbe43a22d9e9504f9d22c3c5b5d078b9aa5625462c5591b87fdd472532d80e594b2a4e7dca1f10a5093bd4dbe661a23c3dbe254868b07e7b40 SHA512 0e7161f61c58f4d05f2a5f611560da1e57dfcc95184d25676cdc19f6e2136eca11cad4a87c769f2bff416928efa168220300749dc7607151a0e34a6c1b751295
+DIST opencl-icd-loader-2023.04.17.tar.gz 93179 BLAKE2B 056213043095029cdc721d87fc9fb5023f6c593e975b4b069037c8db278317e68517227d2ccea444469baf15412e435de3dd8418f1d010c72a6c1dc252742b87 SHA512 55d1f5ac62da1294bfe4814f2370db0a11636f18afa7da06f04b84b9c1e6ef546846420d27094aaa838eb6cc87197cf6e120a38af0b7ce71297be646a58ecb7b
+DIST opencl-icd-loader-2023.12.14.tar.gz 93193 BLAKE2B 13b0e085dddfd1d3d493dac40984b18b839a58c2a72a8a0684a353391d9fa80888567d97e7de06caa4f0f8255bb9747b88c218ead112dca3c1df971339aded5b SHA512 b30aa0b856e6c73450fc23f768201ac01d3c5519a14305c79127debc6407be656b68ae2bd527bb7225d4268865f7bdf0b384279eb78b2806725d37ab940bf56e
diff --git a/dev-libs/opencl-icd-loader/opencl-icd-loader-2022.09.30.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2022.09.30.ebuild
deleted file mode 100644
index 9475bd7ad873..000000000000
--- a/dev-libs/opencl-icd-loader/opencl-icd-loader-2022.09.30.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-MY_PN="OpenCL-ICD-Loader"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Official Khronos OpenCL ICD Loader"
-HOMEPAGE="https://github.com/KhronosGroup/OpenCL-ICD-Loader"
-SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="!dev-libs/ocl-icd"
-DEPEND="${RDEPEND}
- >=dev-util/opencl-headers-${PV}"
-
-S="${WORKDIR}/${MY_P}"
-
-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.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/openct/openct-0.6.20-r5.ebuild b/dev-libs/openct/openct-0.6.20-r5.ebuild
index b240704e94ee..bcc0ae168c43 100644
--- a/dev-libs/openct/openct-0.6.20-r5.ebuild
+++ b/dev-libs/openct/openct-0.6.20-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,13 +7,12 @@ inherit autotools flag-o-matic udev
DESCRIPTION="library for accessing smart card terminals"
HOMEPAGE="https://github.com/OpenSC/openct/wiki"
-
SRC_URI="mirror://sourceforge/opensc/${PN}/${P}.tar.gz"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="doc debug pcsc-lite usb"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="doc debug pcsc-lite selinux usb"
DEPEND="
pcsc-lite? ( >=sys-apps/pcsc-lite-1.7.2-r1:= )
@@ -24,8 +23,9 @@ RDEPEND="
${DEPEND}
acct-group/openct
acct-user/openctd
+ selinux? ( sec-policy/selinux-openct )
"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${P}-automake.patch
diff --git a/dev-libs/openobex/metadata.xml b/dev-libs/openobex/metadata.xml
index 845fa66f774c..4a0f60cd5772 100644
--- a/dev-libs/openobex/metadata.xml
+++ b/dev-libs/openobex/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="irda">Enable IrDA support</flag>
</use>
diff --git a/dev-libs/openobex/openobex-1.7.2-r3.ebuild b/dev-libs/openobex/openobex-1.7.2-r3.ebuild
index fc2325c01365..a1011af44aa0 100644
--- a/dev-libs/openobex/openobex-1.7.2-r3.ebuild
+++ b/dev-libs/openobex/openobex-1.7.2-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ KEYWORDS="amd64 arm ~hppa ppc ppc64 ~sparc x86"
IUSE="bluetooth doc irda usb"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
virtual/pkgconfig
"
DEPEND="
diff --git a/dev-libs/openpace/Manifest b/dev-libs/openpace/Manifest
index 6354998f89d6..42119cdbeff5 100644
--- a/dev-libs/openpace/Manifest
+++ b/dev-libs/openpace/Manifest
@@ -1 +1 @@
-DIST openpace-1.1.2.tar.gz 3040254 BLAKE2B 4320b0ec01e80379f8c6b1812af6e7b09a8305a448caf432735554d05380b2f29133e92bffab62ad31077c410eceb5d0c68d65343394ebc24aa92dbefe321549 SHA512 812852300cee2ba021809b6c1caa686ecb7fe3eb23bcc7f4c0ce34258460f685bd70027f62f046643710bc549c0037af80d26d7089dd71341818ec7ec1db8d94
+DIST openpace-1.1.3.tar.gz 3472674 BLAKE2B 1b3785935d51c987f2cdc27126de632296690601d7cd5bce6cbc157e7161d0eff0885081d5da81df5a0cfb0616050bda01b7895d9069f4c2a61871f261b1fd4f SHA512 ae6cde02e49f13070cff83393972a3433303f1372acfde295f86e7049d9e8da9e8e9b74a85374ff99d0c15d9c68d3670fd8badc963232712c5cc27c863eb385f
diff --git a/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-1.patch b/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-1.patch
deleted file mode 100644
index 8802c2528f18..000000000000
--- a/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-1.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8b2c8a76873da4862dbf4240c901f3e6d4bc040a Mon Sep 17 00:00:00 2001
-From: Frank Morgner <frankmorgner@gmail.com>
-Date: Sat, 18 Dec 2021 00:15:39 +0100
-Subject: [PATCH] fixed outdated API usage of BN_zero
-
-returns void since 0.9.8
----
- src/eac.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/eac.c b/src/eac.c
-index ea84253..9dccd79 100644
---- a/src/eac.c
-+++ b/src/eac.c
-@@ -105,7 +105,9 @@ int EAC_reset_ssc(const EAC_CTX *ctx)
- if (!ctx)
- return 0;
-
-- return BN_zero(ctx->ssc);
-+ BN_zero(ctx->ssc);
-+
-+ return 1;
- }
-
- int EAC_set_ssc(const EAC_CTX *ctx, unsigned long ssc)
diff --git a/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-2.patch b/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-2.patch
deleted file mode 100644
index d2ac244a1a7d..000000000000
--- a/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-2.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 2d94a152dd36543d2a713f1abe20717fdaafae0a Mon Sep 17 00:00:00 2001
-From: Frank Morgner <frankmorgner@gmail.com>
-Date: Sat, 18 Dec 2021 00:15:04 +0100
-Subject: [PATCH] added basic compatibility with OpenSSL 3.0
-
-deprecated warnings are not handled for now
-
-fixes https://github.com/frankmorgner/openpace/issues/53
----
- src/eac/cv_cert.h | 6 +++++-
- src/eac_util.c | 14 ++++++++++++++
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/src/eac/cv_cert.h b/src/eac/cv_cert.h
-index f8c6565..595eb9c 100644
---- a/src/eac/cv_cert.h
-+++ b/src/eac/cv_cert.h
-@@ -341,7 +341,11 @@ CVC_CERT *CVC_d2i_CVC_CERT(CVC_CERT **cert, const unsigned char **in, long len);
- * @return Number of bytes successfully encoded or a negative value if an
- * error occured.
- */
--int i2d_CVC_CERT(CVC_CERT *a, unsigned char **out);
-+int i2d_CVC_CERT(
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ const
-+#endif
-+ CVC_CERT *a, unsigned char **out);
-
- /**
- * @brief Duplicate a CV certificate
-diff --git a/src/eac_util.c b/src/eac_util.c
-index e87293c..6e518e0 100644
---- a/src/eac_util.c
-+++ b/src/eac_util.c
-@@ -321,6 +321,8 @@ randb(int numbytes)
- return NULL;
- }
-
-+#include <openssl/provider.h>
-+
- BUF_MEM *
- retail_mac_des(const BUF_MEM * key, const BUF_MEM * in)
- {
-@@ -331,6 +333,11 @@ retail_mac_des(const BUF_MEM * key, const BUF_MEM * in)
-
- check(key, "Invalid arguments");
-
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ OSSL_PROVIDER *legacy;
-+ legacy = OSSL_PROVIDER_load(NULL, "legacy");
-+#endif
-+
- len = EVP_CIPHER_block_size(EVP_des_cbc());
- check(key->length >= 2*len, "Key too short");
-
-@@ -369,6 +376,9 @@ retail_mac_des(const BUF_MEM * key, const BUF_MEM * in)
- BUF_MEM_free(c_tmp);
- BUF_MEM_free(d_tmp);
- EVP_CIPHER_CTX_free(ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ OSSL_PROVIDER_unload(legacy);
-+#endif
-
- return mac;
-
-@@ -381,6 +391,10 @@ retail_mac_des(const BUF_MEM * key, const BUF_MEM * in)
- BUF_MEM_free(d_tmp);
- if (ctx)
- EVP_CIPHER_CTX_free(ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ if (legacy)
-+ OSSL_PROVIDER_unload(legacy);
-+#endif
-
- return NULL;
- }
diff --git a/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-3.patch b/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-3.patch
deleted file mode 100644
index 9ae0221adb7b..000000000000
--- a/dev-libs/openpace/files/openpace-1.1.2-openssl-3.0-3.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 4c22789d264bd249cfff1c3e69466991e58a76cf Mon Sep 17 00:00:00 2001
-From: Frank Morgner <frankmorgner@gmail.com>
-Date: Mon, 20 Dec 2021 02:32:58 +0100
-Subject: [PATCH] fixed openssl 3 include
-
----
- src/eac_util.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/eac_util.c b/src/eac_util.c
-index 6e518e0..c9196fd 100644
---- a/src/eac_util.c
-+++ b/src/eac_util.c
-@@ -321,7 +321,9 @@ randb(int numbytes)
- return NULL;
- }
-
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
- #include <openssl/provider.h>
-+#endif
-
- BUF_MEM *
- retail_mac_des(const BUF_MEM * key, const BUF_MEM * in)
diff --git a/dev-libs/openpace/openpace-1.1.2.ebuild b/dev-libs/openpace/openpace-1.1.2.ebuild
deleted file mode 100644
index 9943443da1b1..000000000000
--- a/dev-libs/openpace/openpace-1.1.2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Cryptographic library for EAC version 2"
-HOMEPAGE="https://frankmorgner.github.io/openpace"
-SRC_URI="https://github.com/frankmorgner/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0/3"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-BDEPEND="
- dev-util/gengetopt
- sys-apps/help2man
- virtual/pkgconfig"
-DEPEND="dev-libs/openssl:="
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-openssl-3.0-1.patch
- "${FILESDIR}"/${P}-openssl-3.0-2.patch
- "${FILESDIR}"/${P}-openssl-3.0-3.patch
-)
-
-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/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 118ff09e2ef0..e358c7bd3399 100644
--- a/dev-libs/opensc/Manifest
+++ b/dev-libs/opensc/Manifest
@@ -1,2 +1,3 @@
-DIST opensc-0.22.0.tar.gz 2287020 BLAKE2B 74e4bb6843b640c5a397b820a52180a34159c330f5ecb81af166096f23e2499ef1a4d555b5d71613da57ba121d0f984dcfdc2ba9491f26f826a423725a2321e2 SHA512 70ad5f1219f2ec2a5529a30d8e9955510c77c87d0bc857d5951c7227c75cf9de1c6071f43dd3816a2034123ebd902709793ff776e84d5379fdd54c811ccfaaee
-DIST opensc-0.23.0.tar.gz 2366469 BLAKE2B c0f74379a70347a58be27684ae2cf833e6f35328b566af2c6daa8276174864406fa176acf7ba84931970fe07e3dd8d6eccf7884f079cb0110c4d6ff9a76792dc SHA512 cd102cd64e719c59153960a4921b7525055045f16e6f6ffa8c9def6ce999a9c5098267b41f8753b41107f626bea20c34561002f5d38eddb4ce6b371913a17a1b
+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/opensc-0.22.0.ebuild b/dev-libs/opensc/opensc-0.22.0.ebuild
deleted file mode 100644
index f4aee906f6aa..000000000000
--- a/dev-libs/opensc/opensc-0.22.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 libtool
-
-DESCRIPTION="Libraries and applications to access smartcards"
-HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
-SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-IUSE="ctapi doc openct notify +pcsc-lite readline secure-messaging ssl test zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="zlib? ( sys-libs/zlib )
- readline? ( sys-libs/readline:0= )
- ssl? ( dev-libs/openssl:0= )
- openct? ( >=dev-libs/openct-0.5.0 )
- pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
- notify? ( dev-libs/glib:2 )"
-DEPEND="${RDEPEND}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- test? ( dev-util/cmocka )"
-BDEPEND="virtual/pkgconfig"
-
-REQUIRED_USE="
- pcsc-lite? ( !openct !ctapi )
- openct? ( !pcsc-lite !ctapi )
- ctapi? ( !pcsc-lite !openct )
- || ( pcsc-lite openct ctapi )"
-
-src_prepare() {
- default
- elibtoolize
-}
-
-src_configure() {
- econf \
- --with-completiondir="$(get_bashcompdir)" \
- --disable-openpace \
- --disable-static \
- --disable-strict \
- --enable-man \
- $(use_enable ctapi) \
- $(use_enable doc) \
- $(use_enable notify ) \
- $(use_enable openct) \
- $(use_enable pcsc-lite pcsc) \
- $(use_enable readline) \
- $(use_enable secure-messaging sm) \
- $(use_enable ssl openssl) \
- $(use_enable test cmocka) \
- $(use_enable zlib)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- insinto /etc/pkcs11/modules/
- doins "${FILESDIR}/${PN}.module"
-}
diff --git a/dev-libs/opensc/opensc-0.23.0.ebuild b/dev-libs/opensc/opensc-0.23.0.ebuild
deleted file mode 100644
index 663f56e2d091..000000000000
--- a/dev-libs/opensc/opensc-0.23.0.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 libtool
-
-DESCRIPTION="Libraries and applications to access smartcards"
-HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
-SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-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
- elibtoolize
-}
-
-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.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/openssl-compat/Manifest b/dev-libs/openssl-compat/Manifest
index a57a9cc57064..6cc3d6b74332 100644
--- a/dev-libs/openssl-compat/Manifest
+++ b/dev-libs/openssl-compat/Manifest
@@ -1,6 +1,6 @@
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
-DIST openssl-1.1.1s.tar.gz 9868981 BLAKE2B ecd19eaf84dbc80448b51651abe52a89cc0052f024537959c4ebe61528988f235d661244fce6967159a876dd038c817bad19df742e828ca1cbae97ce6a4124bb SHA512 2ef983f166b5e1bf456ca37938e7e39d58d4cd85e9fc4b5174a05f5c37cc5ad89c3a9af97a6919bcaab128a8a92e4bdc8a045e5d9156d90768da8f73ac67c5b9
-DIST openssl-1.1.1s.tar.gz.asc 858 BLAKE2B d95f0f80d460feac737f84ed629c45aaf5e453103ef202ec7d33cf33b89ad83a9007429433b10754b725d7963b1960e350b64e8bdfe569ad149e26bef462eeca SHA512 aa6e5e940448297a90c46ba162f8e6ee324c2e202a9283328c31f996dc2259dd9f5f981d94d1cf1dd3cc73c44647b473602dacb857b9719bf066931b43b899e6
+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-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/metadata.xml b/dev-libs/openssl-compat/metadata.xml
index 218be0371088..bfc9fa7650db 100644
--- a/dev-libs/openssl-compat/metadata.xml
+++ b/dev-libs/openssl-compat/metadata.xml
@@ -6,7 +6,6 @@
<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>
diff --git a/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild b/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild
index ee152f0d89e7..e3f11f7685f4 100644
--- a/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild
+++ b/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -38,7 +38,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
LICENSE="openssl"
SLOT="1.0.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test +tls-heartbeat vanilla tls-compression"
RESTRICT="!bindist? ( bindist )
@@ -55,7 +55,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
)"
# Do not install any docs
diff --git a/dev-libs/openssl-compat/openssl-compat-1.1.1s.ebuild b/dev-libs/openssl-compat/openssl-compat-1.1.1s.ebuild
deleted file mode 100644
index e95f60fc6006..000000000000
--- a/dev-libs/openssl-compat/openssl-compat-1.1.1s.ebuild
+++ /dev/null
@@ -1,264 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
-inherit edo flag-o-matic toolchain-funcs multilib-minimal verify-sig linux-info
-
-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)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
-IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla 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
- sys-devel/bc
- kernel_linux? ( sys-process/procps )
- )
- verify-sig? ( sec-keys/openpgp-keys-openssl )"
-
-# 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
-
- use test && CONFIG_CHECK="~CRYPTO_USER_API_SKCIPHER"
- linux-info_pkg_setup
-}
-
-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}"/${P/-compat}.tar.gz{,.asc}
- fi
-
- default
-}
-
-src_prepare() {
- # Allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- # Keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- 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
-
- # - Make sure the man pages are suffixed (bug #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 (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
- # 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)
-
- # Prefixify Configure shebang (bug #141906)
- sed \
- -e "1s,/usr/bin/env,${EPREFIX}&," \
- -i Configure || die
-
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
-
- if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
- # use GNU ld full option, not to confuse it on Solaris
- sed -i \
- -e 's/-Wl,-M,/-Wl,--version-script=/' \
- -e 's/-Wl,-h,/-Wl,--soname=/' \
- Configurations/10-main.conf || die
-
- # fix building on Solaris 10
- # https://github.com/openssl/openssl/issues/6333
- sed -i \
- -e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \
- Configurations/10-main.conf || die
- fi
-
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # 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)
- # echo "__uint128_t i;" > "${T}"/128.c
- # if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
- # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
- # fi
-
- local sslout=$(./gentoo.config)
- einfo "Use configuration ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
- # Make sure user flags don't get added *yet* to avoid duplicated
- # flags.
- 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
- )
-
- CFLAGS= LDFLAGS= edo ./${config} "${myeconfargs[@]}"
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
-
- emake build_libs
-}
-
-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-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 755c0209561e..eeae374ea4b7 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -1,9 +1,17 @@
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
-DIST openssl-1.1.1q.tar.gz 9864061 BLAKE2B fc8fd6a62dc291d0bda328a051e253175fb04442cc4b8f45d67c3a5027748a0fc5fb372d0483bc9024ae0bff119c4fac8f1e982a182612427696d6d09f5935f5 SHA512 cb9f184ec4974a3423ef59c8ec86b6bf523d5b887da2087ae58c217249da3246896fdd6966ee9c13aea9e6306783365239197e9f742c508a0e35e5744e3e085f
-DIST openssl-1.1.1q.tar.gz.asc 833 BLAKE2B 9311abf47469c3802a84dc9b7427a168ba7717496960e6f84b04e4d9263dea1168493082937a06bcb6ef4169b2ed9b2f36084bbac15b5f7ca5b4c41041c4bab6 SHA512 03a41f29d1713c47bb300e01e36dbd048074076a6a3b9913e2fc9a1b56b726c038978f99e86f9a3e4ea39f72bd82a15965842f6d94210fa9d3474f6f0f68559e
-DIST openssl-1.1.1s.tar.gz 9868981 BLAKE2B ecd19eaf84dbc80448b51651abe52a89cc0052f024537959c4ebe61528988f235d661244fce6967159a876dd038c817bad19df742e828ca1cbae97ce6a4124bb SHA512 2ef983f166b5e1bf456ca37938e7e39d58d4cd85e9fc4b5174a05f5c37cc5ad89c3a9af97a6919bcaab128a8a92e4bdc8a045e5d9156d90768da8f73ac67c5b9
-DIST openssl-1.1.1s.tar.gz.asc 858 BLAKE2B d95f0f80d460feac737f84ed629c45aaf5e453103ef202ec7d33cf33b89ad83a9007429433b10754b725d7963b1960e350b64e8bdfe569ad149e26bef462eeca SHA512 aa6e5e940448297a90c46ba162f8e6ee324c2e202a9283328c31f996dc2259dd9f5f981d94d1cf1dd3cc73c44647b473602dacb857b9719bf066931b43b899e6
-DIST openssl-3.0.7.tar.gz 15107575 BLAKE2B 141881071fa62f056c514e7c653a61c59cc45fe951ec094041e23fb5e619133b7ebbfe31cd8203969c9d8842b8cbc10ec58da67cc181761a11c1cfdd0869df9a SHA512 6c2bcd1cd4b499e074e006150dda906980df505679d8e9d988ae93aa61ee6f8c23c0fa369e2edc1e1a743d7bec133044af11d5ed57633b631ae479feb59e3424
-DIST openssl-3.0.7.tar.gz.asc 858 BLAKE2B bd07a6f656cce817038743caf1131ef8d7a21bf587e706e32771ad9e09cb4821d21b71171a7fe7bb6bece95e9b06cea6d723aae9de8b62049b5a8316578500be SHA512 9093a8a5a990f5f37bd95e7ca55f2371e59242be408ea7d9403bcfc9c8873c022237e13c0ec81881a20607ea46927887a895a82b6f50c6f423b4c54f9ef0cde1
+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.3 b/dev-libs/openssl/files/gentoo.config-1.0.3
deleted file mode 100644
index 0662f72b6d80..000000000000
--- a/dev-libs/openssl/files/gentoo.config-1.0.3
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/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=elf;;
- ia64*) machine=ia64;;
- loongarch64*) machine="generic64 -DL_ENDIAN";;
- m68*) machine="latomic -DB_ENDIAN";;
- mips*el*) machine="generic32 -DL_ENDIAN";;
- mips*) machine="generic32 -DB_ENDIAN";;
- powerpc64*le*)machine=ppc64le;;
- 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";;
- # 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/files/gentoo.config-1.0.4 b/dev-libs/openssl/files/gentoo.config-1.0.4
index 573a97de3543..d32ce877a34a 100644
--- a/dev-libs/openssl/files/gentoo.config-1.0.4
+++ b/dev-libs/openssl/files/gentoo.config-1.0.4
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
-# Copyright 1999-2020 Gentoo Authors
+# 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
@@ -32,6 +32,7 @@ if [[ $1 == "test" ]] ; then
"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" \
@@ -77,7 +78,9 @@ fi
# Detect target arch
machine=""
+submachine=""
chost_machine=${CHOST%%-*}
+[[ ${CC} == *clang* ]] && submachine="-clang"
case ${system} in
linux)
case ${chost_machine}:${ABI} in
@@ -86,6 +89,10 @@ linux)
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";;
@@ -95,7 +102,7 @@ linux)
# hppa64*) machine=parisc64;;
hppa*) machine="generic32 -DB_ENDIAN";;
i[0-9]86*|\
- x86_64*:x86) machine=x86;;
+ x86_64*:x86) machine=x86${submachine};;
ia64*) machine=ia64;;
loongarch64*) machine="loongarch64 -DL_ENDIAN" system=linux64;;
m68*) machine="latomic -DB_ENDIAN";;
@@ -109,7 +116,9 @@ linux)
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";;
@@ -125,7 +134,7 @@ linux)
s390x*) machine=s390x system=linux64;;
s390*) machine="generic32 -DB_ENDIAN";;
x86_64*:x32) machine=x32;;
- x86_64*) machine=x86_64;;
+ x86_64*) machine=x86_64${submachine};;
esac
;;
BSD)
@@ -147,6 +156,7 @@ darwin)
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)
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.0.5-test-memcmp.patch b/dev-libs/openssl/files/openssl-3.0.5-test-memcmp.patch
deleted file mode 100644
index fc84d82e87da..000000000000
--- a/dev-libs/openssl/files/openssl-3.0.5-test-memcmp.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://github.com/openssl/openssl/pull/18719
-
-From 7f58de577c05ae0bbd20eee9b2971cfa1cd062c8 Mon Sep 17 00:00:00 2001
-From: Gregor Jasny <gjasny@googlemail.com>
-Date: Tue, 5 Jul 2022 12:57:06 +0200
-Subject: [PATCH] Add missing header for memcmp
-
-CLA: trivial
----
- test/v3ext.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/test/v3ext.c b/test/v3ext.c
-index 926f3884b138..a8ab64b2714b 100644
---- a/test/v3ext.c
-+++ b/test/v3ext.c
-@@ -8,6 +8,7 @@
- */
-
- #include <stdio.h>
-+#include <string.h>
- #include <openssl/x509.h>
- #include <openssl/x509v3.h>
- #include <openssl/pem.h>
diff --git a/dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch b/dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch
deleted file mode 100644
index 079a4f508ccb..000000000000
--- a/dev-libs/openssl/files/openssl-3.0.7-x509-CVE-2022-3996.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://bugs.gentoo.org/885797
-
-https://github.com/openssl/openssl/commit/7725e7bfe6f2ce8146b6552b44e0d226be7638e7
-https://github.com/openssl/openssl/issues/19643
-
-From 7725e7bfe6f2ce8146b6552b44e0d226be7638e7 Mon Sep 17 00:00:00 2001
-From: Pauli <pauli@openssl.org>
-Date: Fri, 11 Nov 2022 09:40:19 +1100
-Subject: [PATCH] x509: fix double locking problem
-
-This reverts commit 9aa4be691f5c73eb3c68606d824c104550c053f7 and removed the
-redundant flag setting.
-
-Fixes #19643
-
-Fixes LOW CVE-2022-3996
-
-Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
-Reviewed-by: Tomas Mraz <tomas@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/19652)
-
-(cherry picked from commit 4d0340a6d2f327700a059f0b8f954d6160f8eef5)
---- a/crypto/x509/pcy_map.c
-+++ b/crypto/x509/pcy_map.c
-@@ -73,10 +73,6 @@ int ossl_policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps)
-
- ret = 1;
- bad_mapping:
-- if (ret == -1 && CRYPTO_THREAD_write_lock(x->lock)) {
-- x->ex_flags |= EXFLAG_INVALID_POLICY;
-- CRYPTO_THREAD_unlock(x->lock);
-- }
- sk_POLICY_MAPPING_pop_free(maps, POLICY_MAPPING_free);
- return ret;
-
diff --git a/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch b/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch
new file mode 100644
index 000000000000..c5b7dfe449f7
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch
@@ -0,0 +1,137 @@
+https://www.openssl.org/news/secadv/20240408.txt
+https://bugs.gentoo.org/930047
+https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce
+https://github.com/openssl/openssl/commit/c342f4b8bd2d0b375b0e22337057c2eab47d9b96
+
+From 7e4d731b1c07201ad9374c1cd9ac5263bdf35bce Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2024 15:43:53 +0000
+Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
+
+In TLSv1.3 we create a new session object for each ticket that we send.
+We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
+use then the new session will be added to the session cache. However, if
+early data is not in use (and therefore anti-replay protection is being
+used), then multiple threads could be resuming from the same session
+simultaneously. If this happens and a problem occurs on one of the threads,
+then the original session object could be marked as not_resumable. When we
+duplicate the session object this not_resumable status gets copied into the
+new session object. The new session object is then added to the session
+cache even though it is not_resumable.
+
+Subsequently, another bug means that the session_id_length is set to 0 for
+sessions that are marked as not_resumable - even though that session is
+still in the cache. Once this happens the session can never be removed from
+the cache. When that object gets to be the session cache tail object the
+cache never shrinks again and grows indefinitely.
+
+CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+--- a/ssl/ssl_lib.c
++++ b/ssl/ssl_lib.c
+@@ -3737,9 +3737,10 @@ void ssl_update_cache(SSL *s, int mode)
+
+ /*
+ * If the session_id_length is 0, we are not supposed to cache it, and it
+- * would be rather hard to do anyway :-)
++ * would be rather hard to do anyway :-). Also if the session has already
++ * been marked as not_resumable we should not cache it for later reuse.
+ */
+- if (s->session->session_id_length == 0)
++ if (s->session->session_id_length == 0 || s->session->not_resumable)
+ return;
+
+ /*
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -154,16 +154,11 @@ SSL_SESSION *SSL_SESSION_new(void)
+ return ss;
+ }
+
+-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
+-{
+- return ssl_session_dup(src, 1);
+-}
+-
+ /*
+ * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
+ * ticket == 0 then no ticket information is duplicated, otherwise it is.
+ */
+-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
+ {
+ SSL_SESSION *dest;
+
+@@ -287,6 +282,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
+ return NULL;
+ }
+
++SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
++{
++ return ssl_session_dup_intern(src, 1);
++}
++
++/*
++ * Used internally when duplicating a session which might be already shared.
++ * We will have resumed the original session. Subsequently we might have marked
++ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
++ * resume from.
++ */
++SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++{
++ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
++
++ if (sess != NULL)
++ sess->not_resumable = 0;
++
++ return sess;
++}
++
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
+ {
+ if (len)
+--- a/ssl/statem/statem_srvr.c
++++ b/ssl/statem/statem_srvr.c
+@@ -2338,9 +2338,8 @@ int tls_construct_server_hello(SSL *s, WPACKET *pkt)
+ * so the following won't overwrite an ID that we're supposed
+ * to send back.
+ */
+- if (s->session->not_resumable ||
+- (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
+- && !s->hit))
++ if (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
++ && !s->hit)
+ s->session->session_id_length = 0;
+
+ if (usetls13) {
+
+From c342f4b8bd2d0b375b0e22337057c2eab47d9b96 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 15 Mar 2024 17:58:42 +0000
+Subject: [PATCH] Hardening around not_resumable sessions
+
+Make sure we can't inadvertently use a not_resumable session
+
+Related to CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -533,6 +533,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL *s, const unsigned char *sess_id,
+ ret = s->session_ctx->get_session_cb(s, sess_id, sess_id_len, &copy);
+
+ if (ret != NULL) {
++ if (ret->not_resumable) {
++ /* If its not resumable then ignore this session */
++ if (!copy)
++ SSL_SESSION_free(ret);
++ return NULL;
++ }
+ ssl_tsan_counter(s->session_ctx,
+ &s->session_ctx->stats.sess_cb_hit);
+
diff --git a/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch b/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch
new file mode 100644
index 000000000000..50bc63ef2d14
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch
@@ -0,0 +1,78 @@
+https://bugs.gentoo.org/916328
+https://github.com/opendnssec/SoftHSMv2/issues/729
+https://github.com/openssl/openssl/issues/22508
+https://github.com/openssl/openssl/commit/0058a55407d824d5b55ecc0a1cbf8931803dc238
+
+From 0058a55407d824d5b55ecc0a1cbf8931803dc238 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Fri, 15 Dec 2023 13:45:50 +0100
+Subject: [PATCH] Revert "Improved detection of engine-provided private
+ "classic" keys"
+
+This reverts commit 2b74e75331a27fc89cad9c8ea6a26c70019300b5.
+
+The commit was wrong. With 3.x versions the engines must be themselves
+responsible for creating their EVP_PKEYs in a way that they are treated
+as legacy - either by using the respective set1 calls or by setting
+non-default EVP_PKEY_METHOD.
+
+The workaround has caused more problems than it solved.
+
+Fixes #22945
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23063)
+
+(cherry picked from commit 39ea78379826fa98e8dc8c0d2b07e2c17cd68380)
+--- a/crypto/engine/eng_pkey.c
++++ b/crypto/engine/eng_pkey.c
+@@ -79,48 +79,6 @@ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+ ERR_raise(ERR_LIB_ENGINE, ENGINE_R_FAILED_LOADING_PRIVATE_KEY);
+ return NULL;
+ }
+- /* We enforce check for legacy key */
+- switch (EVP_PKEY_get_id(pkey)) {
+- case EVP_PKEY_RSA:
+- {
+- RSA *rsa = EVP_PKEY_get1_RSA(pkey);
+- EVP_PKEY_set1_RSA(pkey, rsa);
+- RSA_free(rsa);
+- }
+- break;
+-# ifndef OPENSSL_NO_EC
+- case EVP_PKEY_SM2:
+- case EVP_PKEY_EC:
+- {
+- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(pkey);
+- EVP_PKEY_set1_EC_KEY(pkey, ec);
+- EC_KEY_free(ec);
+- }
+- break;
+-# endif
+-# ifndef OPENSSL_NO_DSA
+- case EVP_PKEY_DSA:
+- {
+- DSA *dsa = EVP_PKEY_get1_DSA(pkey);
+- EVP_PKEY_set1_DSA(pkey, dsa);
+- DSA_free(dsa);
+- }
+- break;
+-#endif
+-# ifndef OPENSSL_NO_DH
+- case EVP_PKEY_DH:
+- {
+- DH *dh = EVP_PKEY_get1_DH(pkey);
+- EVP_PKEY_set1_DH(pkey, dh);
+- DH_free(dh);
+- }
+- break;
+-#endif
+- default:
+- /*Do nothing */
+- break;
+- }
+-
+ return pkey;
+ }
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch b/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch
new file mode 100644
index 000000000000..d5b40447d745
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch
@@ -0,0 +1,137 @@
+https://www.openssl.org/news/secadv/20240408.txt
+https://bugs.gentoo.org/930047
+https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08
+https://github.com/openssl/openssl/commit/4d67109432646c113887b0aa8091fb0d1b3057e6
+
+From e9d7083e241670332e0443da0f0d4ffb52829f08 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2024 15:43:53 +0000
+Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
+
+In TLSv1.3 we create a new session object for each ticket that we send.
+We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
+use then the new session will be added to the session cache. However, if
+early data is not in use (and therefore anti-replay protection is being
+used), then multiple threads could be resuming from the same session
+simultaneously. If this happens and a problem occurs on one of the threads,
+then the original session object could be marked as not_resumable. When we
+duplicate the session object this not_resumable status gets copied into the
+new session object. The new session object is then added to the session
+cache even though it is not_resumable.
+
+Subsequently, another bug means that the session_id_length is set to 0 for
+sessions that are marked as not_resumable - even though that session is
+still in the cache. Once this happens the session can never be removed from
+the cache. When that object gets to be the session cache tail object the
+cache never shrinks again and grows indefinitely.
+
+CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24043)
+--- a/ssl/ssl_lib.c
++++ b/ssl/ssl_lib.c
+@@ -4457,9 +4457,10 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode)
+
+ /*
+ * If the session_id_length is 0, we are not supposed to cache it, and it
+- * would be rather hard to do anyway :-)
++ * would be rather hard to do anyway :-). Also if the session has already
++ * been marked as not_resumable we should not cache it for later reuse.
+ */
+- if (s->session->session_id_length == 0)
++ if (s->session->session_id_length == 0 || s->session->not_resumable)
+ return;
+
+ /*
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -127,16 +127,11 @@ SSL_SESSION *SSL_SESSION_new(void)
+ return ss;
+ }
+
+-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
+-{
+- return ssl_session_dup(src, 1);
+-}
+-
+ /*
+ * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
+ * ticket == 0 then no ticket information is duplicated, otherwise it is.
+ */
+-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
+ {
+ SSL_SESSION *dest;
+
+@@ -265,6 +260,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
+ return NULL;
+ }
+
++SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
++{
++ return ssl_session_dup_intern(src, 1);
++}
++
++/*
++ * Used internally when duplicating a session which might be already shared.
++ * We will have resumed the original session. Subsequently we might have marked
++ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
++ * resume from.
++ */
++SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++{
++ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
++
++ if (sess != NULL)
++ sess->not_resumable = 0;
++
++ return sess;
++}
++
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
+ {
+ if (len)
+--- a/ssl/statem/statem_srvr.c
++++ b/ssl/statem/statem_srvr.c
+@@ -2445,9 +2445,8 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
+ * so the following won't overwrite an ID that we're supposed
+ * to send back.
+ */
+- if (s->session->not_resumable ||
+- (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
+- && !s->hit))
++ if (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
++ && !s->hit)
+ s->session->session_id_length = 0;
+
+ if (usetls13) {
+
+From 4d67109432646c113887b0aa8091fb0d1b3057e6 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 15 Mar 2024 17:58:42 +0000
+Subject: [PATCH] Hardening around not_resumable sessions
+
+Make sure we can't inadvertently use a not_resumable session
+
+Related to CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24043)
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -519,6 +519,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
+ sess_id, sess_id_len, &copy);
+
+ if (ret != NULL) {
++ if (ret->not_resumable) {
++ /* If its not resumable then ignore this session */
++ if (!copy)
++ SSL_SESSION_free(ret);
++ return NULL;
++ }
+ ssl_tsan_counter(s->session_ctx,
+ &s->session_ctx->stats.sess_cb_hit);
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch b/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch
new file mode 100644
index 000000000000..59e785caac7c
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch
@@ -0,0 +1,79 @@
+https://bugs.gentoo.org/916328
+https://github.com/opendnssec/SoftHSMv2/issues/729
+https://github.com/openssl/openssl/issues/22508
+https://github.com/openssl/openssl/commit/934943281267259fa928f4a5814b176525461a65
+
+From 934943281267259fa928f4a5814b176525461a65 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Fri, 15 Dec 2023 13:45:50 +0100
+Subject: [PATCH] Revert "Improved detection of engine-provided private
+ "classic" keys"
+
+This reverts commit 2b74e75331a27fc89cad9c8ea6a26c70019300b5.
+
+The commit was wrong. With 3.x versions the engines must be themselves
+responsible for creating their EVP_PKEYs in a way that they are treated
+as legacy - either by using the respective set1 calls or by setting
+non-default EVP_PKEY_METHOD.
+
+The workaround has caused more problems than it solved.
+
+Fixes #22945
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23063)
+
+(cherry picked from commit 39ea78379826fa98e8dc8c0d2b07e2c17cd68380)
+--- a/crypto/engine/eng_pkey.c
++++ b/crypto/engine/eng_pkey.c
+@@ -79,48 +79,6 @@ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+ ERR_raise(ERR_LIB_ENGINE, ENGINE_R_FAILED_LOADING_PRIVATE_KEY);
+ return NULL;
+ }
+- /* We enforce check for legacy key */
+- switch (EVP_PKEY_get_id(pkey)) {
+- case EVP_PKEY_RSA:
+- {
+- RSA *rsa = EVP_PKEY_get1_RSA(pkey);
+- EVP_PKEY_set1_RSA(pkey, rsa);
+- RSA_free(rsa);
+- }
+- break;
+-# ifndef OPENSSL_NO_EC
+- case EVP_PKEY_SM2:
+- case EVP_PKEY_EC:
+- {
+- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(pkey);
+- EVP_PKEY_set1_EC_KEY(pkey, ec);
+- EC_KEY_free(ec);
+- }
+- break;
+-# endif
+-# ifndef OPENSSL_NO_DSA
+- case EVP_PKEY_DSA:
+- {
+- DSA *dsa = EVP_PKEY_get1_DSA(pkey);
+- EVP_PKEY_set1_DSA(pkey, dsa);
+- DSA_free(dsa);
+- }
+- break;
+-#endif
+-# ifndef OPENSSL_NO_DH
+- case EVP_PKEY_DH:
+- {
+- DH *dh = EVP_PKEY_get1_DH(pkey);
+- EVP_PKEY_set1_DH(pkey, dh);
+- DH_free(dh);
+- }
+- break;
+-#endif
+- default:
+- /*Do nothing */
+- break;
+- }
+-
+ return pkey;
+ }
+
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-riscv.patch b/dev-libs/openssl/files/openssl-3.2.1-riscv.patch
new file mode 100644
index 000000000000..51256cf434e2
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-riscv.patch
@@ -0,0 +1,70 @@
+# Bug: https://bugs.gentoo.org/923956
+# Upstream PR: https://github.com/openssl/openssl/pull/23752
+--- a/providers/implementations/ciphers/cipher_aes_gcm_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_gcm_hw.c
+@@ -142,9 +142,9 @@ static const PROV_GCM_HW aes_gcm = {
+ # include "cipher_aes_gcm_hw_armv8.inc"
+ #elif defined(PPC_AES_GCM_CAPABLE) && defined(_ARCH_PPC64)
+ # include "cipher_aes_gcm_hw_ppc.inc"
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_aes_gcm_hw_rv64i.inc"
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+ # include "cipher_aes_gcm_hw_rv32i.inc"
+ #else
+ const PROV_GCM_HW *ossl_prov_aes_hw_gcm(size_t keybits)
+--- a/providers/implementations/ciphers/cipher_aes_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_hw.c
+@@ -142,9 +142,9 @@ const PROV_CIPHER_HW *ossl_prov_cipher_hw_aes_##mode(size_t keybits) \
+ # include "cipher_aes_hw_t4.inc"
+ #elif defined(S390X_aes_128_CAPABLE)
+ # include "cipher_aes_hw_s390x.inc"
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_aes_hw_rv64i.inc"
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+ # include "cipher_aes_hw_rv32i.inc"
+ #else
+ /* The generic case */
+--- a/providers/implementations/ciphers/cipher_aes_ocb_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_ocb_hw.c
+@@ -104,7 +104,7 @@ static const PROV_CIPHER_HW aes_t4_ocb = { \
+ if (SPARC_AES_CAPABLE) \
+ return &aes_t4_ocb;
+
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+
+ static int cipher_hw_aes_ocb_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,
+ const unsigned char *key,
+@@ -126,7 +126,7 @@ static const PROV_CIPHER_HW aes_rv64i_zknd_zkne_ocb = { \
+ if (RISCV_HAS_ZKND_AND_ZKNE()) \
+ return &aes_rv64i_zknd_zkne_ocb;
+
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+
+ static int cipher_hw_aes_ocb_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,
+ const unsigned char *key,
+--- a/providers/implementations/ciphers/cipher_aes_xts_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_xts_hw.c
+@@ -159,7 +159,7 @@ static const PROV_CIPHER_HW aes_xts_t4 = { \
+ if (SPARC_AES_CAPABLE) \
+ return &aes_xts_t4;
+
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+
+ static int cipher_hw_aes_xts_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,
+ const unsigned char *key,
+@@ -185,7 +185,7 @@ static const PROV_CIPHER_HW aes_xts_rv64i_zknd_zkne = { \
+ if (RISCV_HAS_ZKND_AND_ZKNE()) \
+ return &aes_xts_rv64i_zknd_zkne;
+
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+
+ static int cipher_hw_aes_xts_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,
+ const unsigned char *key,
diff --git a/dev-libs/openssl/metadata.xml b/dev-libs/openssl/metadata.xml
index bb40ddbf82df..bbf8686ec6e9 100644
--- a/dev-libs/openssl/metadata.xml
+++ b/dev-libs/openssl/metadata.xml
@@ -6,7 +6,6 @@
<name>Gentoo Base System</name>
</maintainer>
<use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
<flag name="bindist">Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
<flag name="fips">Enable FIPS provider</flag>
<flag name="ktls">Enable support for Kernel implementation of TLS (kTLS)</flag>
diff --git a/dev-libs/openssl/openssl-1.0.2u-r1.ebuild b/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
index 0da2a107522e..a6de03448e18 100644
--- a/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
+++ b/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -37,7 +37,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
LICENSE="openssl"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux ~arm64-macos"
IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 sslv2 +sslv3 static-libs test tls-compression +tls-heartbeat vanilla"
RESTRICT="!bindist? ( bindist )
!test? ( test )"
@@ -52,7 +52,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
)"
PDEPEND="app-misc/ca-certificates"
@@ -248,7 +248,9 @@ multilib_src_install() {
mkdir "${ED}"/usr || die
fi
- emake INSTALL_PREFIX="${D}" install
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake INSTALL_PREFIX="${D}" -j1 install
# This is crappy in that the static archives are still built even
# when USE=static-libs. But this is due to a failing in the openssl
diff --git a/dev-libs/openssl/openssl-1.1.1q.ebuild b/dev-libs/openssl/openssl-1.1.1q.ebuild
deleted file mode 100644
index 9182cb8af7f9..000000000000
--- a/dev-libs/openssl/openssl-1.1.1q.ebuild
+++ /dev/null
@@ -1,340 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-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=">=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- kernel_linux? ( sys-process/procps )
- )
- verify-sig? ( sec-keys/openpgp-keys-openssl )"
-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
- "${FILESDIR}"/${PN}-3.0.5-test-memcmp.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}"/${P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-src_prepare() {
- # Allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- # Keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- 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
-
- # - Make sure the man pages are suffixed (bug #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 (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)
-
- # Prefixify Configure shebang (bug #141906)
- sed \
- -e "1s,/usr/bin/env,${BROOT}&," \
- -i Configure || die
-
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
-
- if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
- # use GNU ld full option, not to confuse it on Solaris
- sed -i \
- -e 's/-Wl,-M,/-Wl,--version-script=/' \
- -e 's/-Wl,-h,/-Wl,--soname=/' \
- Configurations/10-main.conf || die
-
- # fix building on Solaris 10
- # https://github.com/openssl/openssl/issues/6333
- sed -i \
- -e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \
- Configurations/10-main.conf || die
- fi
-
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # 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="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
- # Make sure user flags don't get added *yet* to avoid duplicated
- # flags.
- 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
- )
-
- CFLAGS= LDFLAGS= edo ./${config} "${myeconfargs[@]}"
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
-
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create ${ED}/usr on our own to avoid a race condition (bug #665130)
- dodir /usr
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
-
- # Create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*}
- d=${d#./}
- m=${m##*/}
-
- [[ ${m} == openssl.1* ]] && continue
-
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
-
- mv ${d}/{,ssl-}${m} || die
-
- # Fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} || die
- ln -s ssl-${m} ${d}/openssl-${m}
-
- # 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 :("
-
- # 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 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes (bug #333069)"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-1.1.1s-r1.ebuild b/dev-libs/openssl/openssl-1.1.1s-r1.ebuild
deleted file mode 100644
index 910d8fcfbda4..000000000000
--- a/dev-libs/openssl/openssl-1.1.1s-r1.ebuild
+++ /dev/null
@@ -1,340 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
- KEYWORDS=""
-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=">=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- kernel_linux? ( sys-process/procps )
- )
- verify-sig? ( >=sec-keys/openpgp-keys-openssl-20221101 )"
-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}"/${P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-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
-
- # - Make sure the man pages are suffixed (bug #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 (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
- )
-
- CFLAGS= LDFLAGS= edo ${config} "${myeconfargs[@]}"
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
-
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create ${ED}/usr on our own to avoid a race condition (bug #665130)
- dodir /usr
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
-
- # Create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*}
- d=${d#./}
- m=${m##*/}
-
- [[ ${m} == openssl.1* ]] && continue
-
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
-
- mv ${d}/{,ssl-}${m} || die
-
- # Fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} || die
- ln -s ssl-${m} ${d}/openssl-${m}
-
- # 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 :("
-
- # 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 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes (bug #333069)"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-1.1.1s.ebuild b/dev-libs/openssl/openssl-1.1.1s.ebuild
deleted file mode 100644
index a47367ffab4c..000000000000
--- a/dev-libs/openssl/openssl-1.1.1s.ebuild
+++ /dev/null
@@ -1,342 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
-inherit edo flag-o-matic toolchain-funcs multilib-minimal verify-sig linux-info
-
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-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=">=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- kernel_linux? ( sys-process/procps )
- )
- verify-sig? ( >=sec-keys/openpgp-keys-openssl-20221101 )"
-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
-
- use test && CONFIG_CHECK="~CRYPTO_USER_API_SKCIPHER"
- linux-info_pkg_setup
-}
-
-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}"/${P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-src_prepare() {
- # Allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.2 gentoo.config || die
- chmod a+rx gentoo.config || die
-
- # Keep this in sync with app-misc/c_rehash
- SSL_CNF_DIR="/etc/ssl"
-
- # Make sure we only ever touch Makefile.org and avoid patching a file
- # that gets blown away anyways by the Configure script in src_configure
- rm -f Makefile
-
- if ! use vanilla ; then
- 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
-
- # - Make sure the man pages are suffixed (bug #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 (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)
-
- # Prefixify Configure shebang (bug #141906)
- sed \
- -e "1s,/usr/bin/env,${BROOT}&," \
- -i Configure || die
-
- # Remove test target when FEATURES=test isn't set
- if ! use test ; then
- sed \
- -e '/^$config{dirs}/s@ "test",@@' \
- -i Configure || die
- fi
-
- if use prefix && [[ ${CHOST} == *-solaris* ]] ; then
- # use GNU ld full option, not to confuse it on Solaris
- sed -i \
- -e 's/-Wl,-M,/-Wl,--version-script=/' \
- -e 's/-Wl,-h,/-Wl,--soname=/' \
- Configurations/10-main.conf || die
-
- # fix building on Solaris 10
- # https://github.com/openssl/openssl/issues/6333
- sed -i \
- -e 's/-lsocket -lnsl -ldl/-lsocket -lnsl -ldl -lrt/' \
- Configurations/10-main.conf || die
- fi
-
- # The config script does stupid stuff to prompt the user. Kill it.
- sed -i '/stty -icanon min 0 time 50; read waste/d' config || die
- ./config --test-sanity || die "I AM NOT SANE"
-
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # 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="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # "disable-deprecated" option breaks too many consumers.
- # Don't set it without thorough revdeps testing.
- # Make sure user flags don't get added *yet* to avoid duplicated
- # flags.
- 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
- )
-
- CFLAGS= LDFLAGS= edo ./${config} "${myeconfargs[@]}"
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
-
- emake all
-}
-
-multilib_src_test() {
- emake -j1 test
-}
-
-multilib_src_install() {
- # We need to create ${ED}/usr on our own to avoid a race condition (bug #665130)
- dodir /usr
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc CHANGES* FAQ NEWS README doc/*.txt doc/${PN}-c-indent.el
-
- # Create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*}
- d=${d#./}
- m=${m##*/}
-
- [[ ${m} == openssl.1* ]] && continue
-
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
-
- mv ${d}/{,ssl-}${m} || die
-
- # Fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} || die
- ln -s ssl-${m} ${d}/openssl-${m}
-
- # 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 :("
-
- # 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 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes (bug #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.0.7-r1.ebuild b/dev-libs/openssl/openssl-3.0.7-r1.ebuild
deleted file mode 100644
index 732cdb499d4b..000000000000
--- a/dev-libs/openssl/openssl-3.0.7-r1.ebuild
+++ /dev/null
@@ -1,338 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
-inherit edo flag-o-matic linux-info toolchain-funcs multilib-minimal multiprocessing 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
-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="
- >=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
-"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- sys-process/procps
- )
- verify-sig? ( >=sec-keys/openpgp-keys-openssl-20221101 )"
-
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-PDEPEND="app-misc/ca-certificates"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/openssl/configuration.h
-)
-
-PATCHES=(
- "${FILESDIR}"/${P}-x509-CVE-2022-3996.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!"
-
- 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}"/${P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-src_prepare() {
- # Allow openssl to be cross-compiled
- cp "${FILESDIR}"/gentoo.config-1.0.3 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
-
- # - Make sure the man pages are suffixed (bug #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 (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-flags $(test-flags-CC -Wa,--noexecstack)
-
- # Prefixify Configure shebang (bug #141906)
- sed \
- -e "1s,/usr/bin/env,${BROOT}&," \
- -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() {
- # 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 "Using configuration: ${sslout:-(openssl knows best)}"
- local config="Configure"
- [[ -z ${sslout} ]] && config="config"
-
- # 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
- )
-
- CFLAGS= LDFLAGS= edo ./${config} "${myeconfargs[@]}"
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile \
- || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
-
- emake all
-}
-
-multilib_src_test() {
- # 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)" VFP=1 test
-}
-
-multilib_src_install() {
- # We need to create ${ED}/usr on our own to avoid a race condition (bug #665130)
- dodir /usr
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
-
- # Create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*}
- d=${d#./}
- m=${m##*/}
-
- [[ ${m} == openssl.1* ]] && continue
-
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
-
- mv ${d}/{,ssl-}${m} || die
-
- # Fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} || die
- ln -s ssl-${m} ${d}/openssl-${m} || die
-
- # Locate any symlinks that point to this man page
- # We assume that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
-
- rm -f ${d}/${s}
-
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- # 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 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes (bug #333069)"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-3.0.7-r2.ebuild b/dev-libs/openssl/openssl-3.0.7-r2.ebuild
deleted file mode 100644
index e83dd0df830b..000000000000
--- a/dev-libs/openssl/openssl-3.0.7-r2.ebuild
+++ /dev/null
@@ -1,326 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
-inherit edo flag-o-matic linux-info toolchain-funcs multilib-minimal multiprocessing 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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
- KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~riscv ~s390 ~sparc ~x86"
-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="
- >=app-misc/c_rehash-1.7-r1
- tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
-"
-BDEPEND="
- >=dev-lang/perl-5
- sctp? ( >=net-misc/lksctp-tools-1.0.12 )
- test? (
- sys-apps/diffutils
- sys-devel/bc
- sys-process/procps
- )
- verify-sig? ( >=sec-keys/openpgp-keys-openssl-20221101 )"
-
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-PDEPEND="app-misc/ca-certificates"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/openssl/configuration.h
-)
-
-PATCHES=(
- "${FILESDIR}"/${P}-x509-CVE-2022-3996.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}"/${P}.tar.gz{,.asc}
- fi
-
- default
-}
-
-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
-
- # - Make sure the man pages are suffixed (bug #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 (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-flags $(test-flags-CC -Wa,--noexecstack)
-
- local sslout=$(./gentoo.config)
- einfo "Using configuration: ${sslout:-(openssl knows best)}"
- edo perl Configure ${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 "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
- )
-
- CFLAGS= LDFLAGS= edo perl Configure "${myeconfargs[@]}"
-
- # Clean out hardcoded flags that openssl uses
- local DEFAULT_CFLAGS=$(grep ^CFLAGS= Makefile | LC_ALL=C sed \
- -e 's:^CFLAGS=::' \
- -e 's:\(^\| \)-fomit-frame-pointer::g' \
- -e 's:\(^\| \)-O[^ ]*::g' \
- -e 's:\(^\| \)-march=[^ ]*::g' \
- -e 's:\(^\| \)-mcpu=[^ ]*::g' \
- -e 's:\(^\| \)-m[^ ]*::g' \
- -e 's:^ *::' \
- -e 's: *$::' \
- -e 's: \+: :g' \
- -e 's:\\:\\\\:g'
- )
-
- # Now insert clean default flags with user flags
- sed -i \
- -e "/^CFLAGS=/s|=.*|=${DEFAULT_CFLAGS} ${CFLAGS}|" \
- -e "/^LDFLAGS=/s|=[[:space:]]*$|=${LDFLAGS}|" \
- Makefile \
- || die
-}
-
-multilib_src_compile() {
- # depend is needed to use $confopts; it also doesn't matter
- # that it's -j1 as the code itself serializes subdirs
- emake -j1 depend
-
- emake all
-}
-
-multilib_src_test() {
- # 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)" VFP=1 test
-}
-
-multilib_src_install() {
- # We need to create ${ED}/usr on our own to avoid a race condition (bug #665130)
- dodir /usr
-
- emake DESTDIR="${D}" install
-
- # This is crappy in that the static archives are still built even
- # when USE=static-libs. But this is due to a failing in the openssl
- # build system: the static archives are built as PIC all the time.
- # Only way around this would be to manually configure+compile openssl
- # twice; once with shared lib support enabled and once without.
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
- fi
-}
-
-multilib_src_install_all() {
- # openssl installs perl version of c_rehash by default, but
- # we provide a shell version via app-misc/c_rehash
- rm "${ED}"/usr/bin/c_rehash || die
-
- dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
-
- # Create the certs directory
- keepdir ${SSL_CNF_DIR}/certs
-
- # Namespace openssl programs to prevent conflicts with other man pages
- cd "${ED}"/usr/share/man || die
- local m d s
- for m in $(find . -type f | xargs grep -L '#include') ; do
- d=${m%/*}
- d=${d#./}
- m=${m##*/}
-
- [[ ${m} == openssl.1* ]] && continue
-
- [[ -n $(find -L ${d} -type l) ]] && die "erp, broken links already!"
-
- mv ${d}/{,ssl-}${m} || die
-
- # Fix up references to renamed man pages
- sed -i '/^[.]SH "SEE ALSO"/,/^[.]/s:\([^(, ]*(1)\):ssl-\1:g' ${d}/ssl-${m} || die
- ln -s ssl-${m} ${d}/openssl-${m} || die
-
- # Locate any symlinks that point to this man page
- # We assume that any broken links are due to the above renaming
- for s in $(find -L ${d} -type l) ; do
- s=${s##*/}
-
- rm -f ${d}/${s}
-
- # We don't want to "|| die" here
- ln -s ssl-${m} ${d}/ssl-${s}
- ln -s ssl-${s} ${d}/openssl-${s}
- done
- done
- [[ -n $(find -L ${d} -type l) ]] && die "broken manpage links found :("
-
- # 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 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes (bug #333069)"
- c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
- eend $?
-}
diff --git a/dev-libs/openssl/openssl-3.1.5-r1.ebuild b/dev-libs/openssl/openssl-3.1.5-r1.ebuild
new file mode 100644
index 000000000000..23a3463ec688
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.1.5-r1.ebuild
@@ -0,0 +1,285 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.1.5-r2.ebuild b/dev-libs/openssl/openssl-3.1.5-r2.ebuild
new file mode 100644
index 000000000000..1c3b048b75a0
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.1.5-r2.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308
+ append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.2.1-r1.ebuild b/dev-libs/openssl/openssl-3.2.1-r1.ebuild
new file mode 100644
index 000000000000..ee2e112cd6f0
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.2.1-r1.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ # bug 923956 (drop on next version bump)
+ "${FILESDIR}"/${P}-riscv.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308 -- check inserts GNU ld-compatible arguments
+ [[ ${CHOST} == *-darwin* ]] || append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # See https://github.com/openssl/openssl/blob/master/test/README.md for options.
+ #
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ #
+ # -j1 here for https://github.com/openssl/openssl/issues/21999, but it
+ # shouldn't matter as tests were already built earlier, and HARNESS_JOBS
+ # controls running the tests.
+ emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.2.1-r2.ebuild b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
new file mode 100644
index 000000000000..31486ad9fabe
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
@@ -0,0 +1,307 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ # bug 923956 (drop on next version bump)
+ "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308 -- check inserts GNU ld-compatible arguments
+ [[ ${CHOST} == *-darwin* ]] || append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # See https://github.com/openssl/openssl/blob/master/test/README.md for options.
+ #
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ #
+ # -j1 here for https://github.com/openssl/openssl/issues/21999, but it
+ # shouldn't matter as tests were already built earlier, and HARNESS_JOBS
+ # controls running the tests.
+ emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/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/metadata.xml b/dev-libs/optix/metadata.xml
index 8bd511c9ee2a..dbf8509f40b1 100644
--- a/dev-libs/optix/metadata.xml
+++ b/dev-libs/optix/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>waebbl-gentoo@posteo.net</email>
- <name>Bernd Waibel</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>mathy@vanvoorden.be</email>
diff --git a/dev-libs/optix/optix-7.4.0.ebuild b/dev-libs/optix/optix-7.4.0.ebuild
index 3de080857121..ab5eb71a3052 100644
--- a/dev-libs/optix/optix-7.4.0.ebuild
+++ b/dev-libs/optix/optix-7.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -41,7 +41,7 @@ unset i
LICENSE="NVIDIA-SDK"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
RESTRICT="bindist mirror !headers-only? ( fetch )"
IUSE="+headers-only"
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/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/pcl/files/pcl-1.12-musl.patch b/dev-libs/pcl/files/pcl-1.12-musl.patch
new file mode 100644
index 000000000000..e80cf03ce780
--- /dev/null
+++ b/dev-libs/pcl/files/pcl-1.12-musl.patch
@@ -0,0 +1,20 @@
+Include missing header files
+
+Bug: https://bugs.gentoo.org/895060
+
+diff --git a/pcl/pcl.c b/pcl/pcl.c
+index 58d8605..313370e 100644
+--- a/pcl/pcl.c
++++ b/pcl/pcl.c
+@@ -22,6 +22,8 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
+ #include "pcl_config.h"
+ #include "pcl.h"
+ #include "pcl_private.h"
+--
+2.41.0
+
diff --git a/dev-libs/pcl/pcl-1.12-r1.ebuild b/dev-libs/pcl/pcl-1.12-r1.ebuild
deleted file mode 100644
index 626a81d5bfc2..000000000000
--- a/dev-libs/pcl/pcl-1.12-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Portable Coroutine Library"
-HOMEPAGE="http://xmailserver.org/libpcl.html"
-SRC_URI="http://xmailserver.org/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/1"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/pcl/pcl-1.12-r2.ebuild b/dev-libs/pcl/pcl-1.12-r2.ebuild
new file mode 100644
index 000000000000..7701362b1af4
--- /dev/null
+++ b/dev-libs/pcl/pcl-1.12-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Portable Coroutine Library"
+HOMEPAGE="http://www.xmailserver.org/libpcl.html"
+SRC_URI="http://www.xmailserver.org/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/1"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+PATCHES=(
+ "${FILESDIR}/${P}-musl.patch"
+)
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/pegtl/Manifest b/dev-libs/pegtl/Manifest
index 22e33c13ee7c..7312966b6f99 100644
--- a/dev-libs/pegtl/Manifest
+++ b/dev-libs/pegtl/Manifest
@@ -1,3 +1,4 @@
DIST pegtl-2.8.3.tar.gz 201531 BLAKE2B 093d1b5f7d1f95fa00abdae9c24d24ba9ffd8510d6512c3460374f19b12d50403c19301645c5f6fc4d697cc687079c5b0d23c32b5775b30fbf05a154aeec2c19 SHA512 9f7644b86741dfe61716bbc43b2ea0a02cfc21eaf229c47cc71a49e2f08bf2c1ff37d2b2242a1bcf518b1893be6b82c27b0e9010a1b47ef8df87ffd90d280f71
DIST pegtl-3.2.1.tar.gz 244746 BLAKE2B f1d4ab0bfbc0be09affc83ffdf07796705be949e1addd06e241b8c06dd34bea3844a34b6dfe143269e110279615238afa606944c52af32f8cf6ea34398c40c7b SHA512 6297adea085bb3043a60c28eb3a868a7c2d203b351f907ea3fdc4ef34c63f87a5786ac7d297531f8b8c8c3414f5ddef658a025a7bae2515bdc750e974975f6ff
DIST pegtl-3.2.5.tar.gz 248904 BLAKE2B 008f7b058c5a62910911815bee671baead509e673ce8f67bebc4244edd1abed4c2467a03cb47e55e75c3be17b937834915f568a0a47066ba80949b868aa69494 SHA512 e531eaeef614d822e4bddbc6662fbe116cc1536fa308109f28ce5433607e6102f4e754a31094f9c349e4319914da6c83450dd2e8fa10dcfc3eee5a5dca547c14
+DIST pegtl-3.2.7.tar.gz 249394 BLAKE2B d095ef337e1ff9e01692f07d0b110a685cbe447c36d7d294d0f18a15e076d15112b300232c5b4872b4a0b51d375799fc73261bff31c5b970a3d05b90b0ae6062 SHA512 e996be569e1c25377b13870c4f3e59f1935bbf24bb7c6edca0edc85b304fbe3d05db52a303839b0bd50c78769b773fc2237814787a703c58de8a79398210ee34
diff --git a/dev-libs/pegtl/pegtl-3.2.5.ebuild b/dev-libs/pegtl/pegtl-3.2.5.ebuild
index dc1661ab7be0..bde3df726470 100644
--- a/dev-libs/pegtl/pegtl-3.2.5.ebuild
+++ b/dev-libs/pegtl/pegtl-3.2.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ S="${WORKDIR}/${P^^}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
PATCHES=(
"${FILESDIR}"/${PN}-3.2.1-werror.patch
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/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild
index fa7ca082dda3..3916848ee4fa 100644
--- a/dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild
+++ b/dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,14 +10,16 @@ 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"
+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-doc/doxygen-1.4.7 )"
+ doc? ( >=app-text/doxygen-1.4.7 )"
PATCHES=(
"${FILESDIR}/${P}-incompatible-func-ptr-clang16.patch"
@@ -29,7 +31,8 @@ src_configure() {
--disable-crypto-engine-mbedtls \
$(use_enable doc) \
$(use_enable gnutls crypto-engine-gnutls) \
- $(use_enable nss crypto-engine-nss)
+ $(use_enable nss crypto-engine-nss) \
+ $(use_enable test tests)
}
src_install() {
diff --git a/dev-libs/plasma-wayland-protocols/Manifest b/dev-libs/plasma-wayland-protocols/Manifest
index 9fbc01e18907..d97aa1805490 100644
--- a/dev-libs/plasma-wayland-protocols/Manifest
+++ b/dev-libs/plasma-wayland-protocols/Manifest
@@ -1,2 +1 @@
-DIST plasma-wayland-protocols-1.10.0.tar.xz 43268 BLAKE2B 1f0bc6fcd822ed8f010a1e9144b4e423e44de04c429e39a465e2ef5e59553d22db08fc379b84cc93624fa5dd64ca00ddc7d0e788251809036bfd09c8fe6ae0b7 SHA512 ddb09de9b3320f8e10d21c5d201ffe43d7e1f2f6c0d0c1b33aced28d8c324c9439800b4bd1516e7a34e45b1ac94e252c825216378d52b5cd6d671d73baa24c03
-DIST plasma-wayland-protocols-1.9.0.tar.xz 42920 BLAKE2B cdf277f0fad842b018bdc05cfcb7834b81750784d395fc24ef1c906d828d178268f524af5e3383d0f2f799a73aad44d78a82c4fa333f420cdf89674ed98d373b SHA512 96157622e22b19da9b2b842a9996595d75b792c179127e617347429d01bc8236d44cc12a5c34dd2ed903d4b43791ffaedc44cf773b82da9b60a06f711353a68c
+DIST plasma-wayland-protocols-1.12.0.tar.xz 44272 BLAKE2B 05f6c7e496d8be7d215ceeed6059230bb609c43c81eba363fc85e49279f2322a5c7c6cedebd9987d1f6d4edefad01eb84039cd949de730607e9ee4bb9a9c2c01 SHA512 4894493e117669d7ab54b385e2a40d69ddce7cb860b68d9a28f9032d63cad6004858f984ad8ece34567e0e806ccb3f973852596b905d2618b60115ccf9c82886
diff --git a/dev-libs/plasma-wayland-protocols/metadata.xml b/dev-libs/plasma-wayland-protocols/metadata.xml
index d925f2439758..d060b5f3ec64 100644
--- a/dev-libs/plasma-wayland-protocols/metadata.xml
+++ b/dev-libs/plasma-wayland-protocols/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">libraries/plasma-wayland-protocols</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.10.0.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.10.0.ebuild
deleted file mode 100644
index 6835a08de545..000000000000
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.10.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_NONGUI=true
-KFMIN=5.82.0
-inherit ecm kde.org
-
-DESCRIPTION="Plasma Specific Protocols for Wayland"
-HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
diff --git a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild
new file mode 100644
index 000000000000..ad0d538fed5b
--- /dev/null
+++ b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake kde.org
+
+DESCRIPTION="Plasma Specific Protocols for Wayland"
+HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
+ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+BDEPEND="
+ dev-libs/libpcre2:*
+ >=kde-frameworks/extra-cmake-modules-5.115.0:*
+ || (
+ dev-qt/qtbase:6
+ dev-qt/qtcore:5
+ )
+"
+
+ecm_src_configure() {
+ local mycmakeargs=(
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON # ecm.eclass
+ -DKDE_INSTALL_DOCBUNDLEDIR="${EPREFIX}/usr/share/help" # ecm.eclass
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.9.0.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.9.0.ebuild
deleted file mode 100644
index 0cbb9ba6f14c..000000000000
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.9.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_NONGUI=true
-KFMIN=5.82.0
-inherit ecm kde.org
-
-DESCRIPTION="Plasma Specific Protocols for Wayland"
-HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
diff --git a/dev-libs/pmdk/pmdk-1.12.1.ebuild b/dev-libs/pmdk/pmdk-1.12.1.ebuild
index 697268f890a8..8c1173143a6e 100644
--- a/dev-libs/pmdk/pmdk-1.12.1.ebuild
+++ b/dev-libs/pmdk/pmdk-1.12.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,7 +19,7 @@ DEPEND="
"
RDEPEND="${DEPEND}"
BDEPEND="
- app-text/pandoc
+ virtual/pandoc
virtual/pkgconfig
"
diff --git a/dev-libs/pmdk/pmdk-1.9.2.ebuild b/dev-libs/pmdk/pmdk-1.9.2.ebuild
index a91c34bd922c..624d696ce239 100644
--- a/dev-libs/pmdk/pmdk-1.9.2.ebuild
+++ b/dev-libs/pmdk/pmdk-1.9.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -19,7 +19,7 @@ DEPEND="
"
RDEPEND="${DEPEND}"
BDEPEND="
- app-text/pandoc
+ virtual/pandoc
virtual/pkgconfig
"
diff --git a/dev-libs/pocketfft/pocketfft-2021.11.23.ebuild b/dev-libs/pocketfft/pocketfft-2021.11.23.ebuild
index d86eed5e7369..3c4b2408412a 100644
--- a/dev-libs/pocketfft/pocketfft-2021.11.23.ebuild
+++ b/dev-libs/pocketfft/pocketfft-2021.11.23.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,10 +14,6 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
S="${WORKDIR}"/${PN}-${CommitId}
src_install() {
diff --git a/dev-libs/pocl/Manifest b/dev-libs/pocl/Manifest
index c053b08330a1..b2eb19f5fd11 100644
--- a/dev-libs/pocl/Manifest
+++ b/dev-libs/pocl/Manifest
@@ -1,2 +1 @@
-DIST pocl-3.0.tar.gz 1722809 BLAKE2B 095d3d1dca3fa7ebdf61e6e34bf444755dd6842c4f16e0f80895337e96508056465d332309d38ee4db6d6b0031e1dfce350485750e59bfe0dea5951eba5fd3e4 SHA512 dc02bdf259792edb5cb3c80cde5c5261e1e21219b4b31420a3b537abbca1bc478ce0ca0dfc622727088b67d580217d47566309de7c6114a24553de4496a209ea
-DIST pocl-3.1.tar.gz 1928607 BLAKE2B 7044a96e361426408fabd973987a0d6956693e3c9095769ee94d7dac47a8841d7489933e94acd22451a1c8a2ca83cb8e6948aebe899b23a8a6080ef1b7b37e9c SHA512 40d17e81d715f6897aa1d97fd02834d45227d9d0bd4c70e76d727f9ad4df675c25b7158a862e20e63810182fdad82a3cb1e454668c3a6422a977e59c8325fa0c
+DIST pocl-4.0.tar.gz 2140919 BLAKE2B 1e9dd4de4824dd4a9e2b0d053d1786062c135d3bf7ca99dc884657b89c651fca6c0f3dedb568439802a58b0bfabc10939ca344b0110ae5fdb31be06f596d2a48 SHA512 3835a9e8fc8562d50a91a11b807cf87a096891f5c27675127b66412eacff2e541b6143b49b4155f43a09f4e53faa062ec20f3b20badeca206ece9f45ad50f26a
diff --git a/dev-libs/pocl/files/pocl-3.0-cuda.patch b/dev-libs/pocl/files/pocl-3.0-cuda.patch
deleted file mode 100644
index d6729b0fedce..000000000000
--- a/dev-libs/pocl/files/pocl-3.0-cuda.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-https://github.com/pocl/pocl/pull/1146
-
-From 978afab0ba9f90fbdb39ed4ffc52f8ca46d2bfa9 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Mon, 5 Dec 2022 04:17:05 +0000
-Subject: [PATCH] pocl-cuda: fix build with -DPOCL_DEBUG_MESSAGES=OFF
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes build failure:
-```
-/var/tmp/portage2/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/cuda/pocl-cuda.c: In function ‘load_or_generate_kernel’:
-/var/tmp/portage2/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/cuda/pocl-cuda.c:981:9: error: ‘pocl_debug_messages_filter’ undeclared (first use in this function)
- 981 | if (!(pocl_debug_messages_filter & POCL_DEBUG_FLAG_CUDA))
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~
-```
-
-Bug: https://bugs.gentoo.org/862633
---- a/lib/CL/devices/cuda/pocl-cuda.c
-+++ b/lib/CL/devices/cuda/pocl-cuda.c
-@@ -1093,6 +1093,7 @@ load_or_generate_kernel (cl_kernel kernel, cl_device_id device,
- /* TODO: When can we unload the module? */
- CUmodule module;
-
-+#ifdef POCL_DEBUG_MESSAGES
- if (!(pocl_debug_messages_filter & POCL_DEBUG_FLAG_CUDA))
- {
- result = cuModuleLoad (&module, ptx_filename);
-@@ -1100,6 +1101,7 @@ load_or_generate_kernel (cl_kernel kernel, cl_device_id device,
- }
- else
- {
-+#endif
- struct stat st;
- stat (ptx_filename, &st);
-
-@@ -1132,7 +1134,9 @@ load_or_generate_kernel (cl_kernel kernel, cl_device_id device,
-
- free (log);
- free (buffer);
-+#ifdef POCL_DEBUG_MESSAGES
- }
-+#endif
-
- /* Get kernel function */
- CUfunction function;
-
diff --git a/dev-libs/pocl/files/pocl-3.0-fix-version.patch b/dev-libs/pocl/files/pocl-3.0-fix-version.patch
deleted file mode 100644
index 8ae428036340..000000000000
--- a/dev-libs/pocl/files/pocl-3.0-fix-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -73,7 +73,7 @@ endif()
-
- set(MAJOR_VERSION 3)
- set(MINOR_VERSION 0)
--set(VERSION_SUFFIX_FIXED_TEXT "-rc2")
-+set(VERSION_SUFFIX_FIXED_TEXT "")
- set(VERSION_SUFFIX "${VERSION_SUFFIX_FIXED_TEXT}")
- set(VERSION_STRING ${MAJOR_VERSION}.${MINOR_VERSION}${VERSION_SUFFIX})
- set(POCL_VERSION_BASE ${VERSION_STRING})
diff --git a/dev-libs/pocl/files/pocl-3.0-icd.patch b/dev-libs/pocl/files/pocl-3.0-icd.patch
deleted file mode 100644
index f64e633e2f53..000000000000
--- a/dev-libs/pocl/files/pocl-3.0-icd.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 408fe60850977ab9c68d174a42ae4a5f3455cab1 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 20 Jul 2022 04:59:11 +0000
-Subject: [PATCH] CMake: fix build without ocl-icd
-
-If not using ocl-icd (in this case, I was using dev-libs/opencl-icd-loader),
-OCL_ICD_INCLUDE_DIRS and friends won't be defined and CMake bails out
-with an error:
-```
--- Configuring done
-CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
-Please set them or make sure they are set and tested correctly in the CMake files:
-/var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/OCL_ICD_INCLUDE_DIRS
- used as include directory in directory /var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL
- used as include directory in directory /var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL
-/var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/OCL_ICD_INCLUDE_DIRS
- used as include directory in directory /var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices
-/var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/basic/OCL_ICD_INCLUDE_DIRS
- used as include directory in directory /var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/basic
-/var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/pthread/OCL_ICD_INCLUDE_DIRS
- used as include directory in directory /var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/pthread
-/var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/topology/OCL_ICD_INCLUDE_DIRS
- used as include directory in directory /var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/CL/devices/topology
-/var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/llvmopencl/OCL_ICD_INCLUDE_DIRS
- used as include directory in directory /var/tmp/portage/dev-libs/pocl-3.0/work/pocl-3.0/lib/llvmopencl
-```
-
-This broke in 3ecda3b294d70e4f915ad141d669f4bc1298f606.
-
-To fix, just check if the value is truthy before using (this is enough
-for checking if it's NOTFOUND).
---- a/lib/CL/CMakeLists.txt
-+++ b/lib/CL/CMakeLists.txt
-@@ -179,7 +179,9 @@ endif()
- add_library("pocl_cache" OBJECT "pocl_cache.c")
- harden("pocl_cache")
-
--target_include_directories("pocl_cache" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+if(${OCL_ICD_INCLUDE_DIRS})
-+ target_include_directories("pocl_cache" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+endif()
-
-
- if (ENABLE_LLVM)
-@@ -190,7 +192,9 @@ if (ENABLE_LLVM)
- add_library("lib_cl_llvm" OBJECT ${LLVM_API_SOURCES})
- harden("lib_cl_llvm")
-
-- target_include_directories("lib_cl_llvm" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+ if(${OCL_ICD_INCLUDE_DIRS})
-+ target_include_directories("lib_cl_llvm" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+ endif()
-
- list(APPEND LIBPOCL_OBJS "$<TARGET_OBJECTS:llvmpasses>")
- list(APPEND LIBPOCL_OBJS "$<TARGET_OBJECTS:lib_cl_llvm>")
-@@ -200,7 +204,9 @@ if (ENABLE_LLVM)
- endif()
-
- if(ENABLE_ICD)
-- add_compile_options(${OCL_ICD_CFLAGS})
-+ if(${OCL_ICD_CFLAGS})
-+ add_compile_options(${OCL_ICD_CFLAGS})
-+ endif()
- endif()
-
- if(HAVE_LTTNG_UST)
---- a/lib/CL/devices/CMakeLists.txt
-+++ b/lib/CL/devices/CMakeLists.txt
-@@ -28,7 +28,9 @@ if(ENABLE_LOADABLE_DRIVERS)
- function(add_pocl_device_library name)
- add_library(${name} SHARED ${ARGN})
- harden("${name}")
-- target_include_directories(${name} SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+ if(${OCL_ICD_INCLUDE_DIRS})
-+ target_include_directories(${name} SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+ endif()
- target_link_libraries(${name} PUBLIC ${POCL_PUBLIC_LINK_LIST} PRIVATE ${POCL_LIBRARY_NAME} ${POCL_PRIVATE_LINK_LIST})
- set_target_properties(${name} PROPERTIES PREFIX "lib" SUFFIX ".so")
- install(TARGETS ${name} LIBRARY DESTINATION "${POCL_INSTALL_PRIVATE_LIBDIR}" COMPONENT "lib")
-@@ -38,7 +40,9 @@ else()
-
- function(add_pocl_device_library name)
- add_library(${name} OBJECT ${ARGN})
-- target_include_directories(${name} SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+ if(${OCL_ICD_INCLUDE_DIRS})
-+ target_include_directories(${name} SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+ endif()
- endfunction()
-
- endif()
-@@ -143,7 +147,9 @@ if(MSVC)
- set_source_files_properties( ${POCL_DEVICES_SOURCES} PROPERTIES LANGUAGE CXX )
- endif(MSVC)
- add_library("pocl-devices" OBJECT ${POCL_DEVICES_SOURCES})
--target_include_directories("pocl-devices" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+if(${OCL_ICD_INCLUDE_DIRS})
-+ target_include_directories("pocl-devices" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+endif()
- set(POCL_DEVICES_OBJS "${POCL_DEVICES_OBJS}"
- "$<TARGET_OBJECTS:pocl-devices>")
- harden("pocl-devices")
---- a/lib/CL/devices/topology/CMakeLists.txt
-+++ b/lib/CL/devices/topology/CMakeLists.txt
-@@ -30,7 +30,9 @@ endif(MSVC)
- add_library("pocl-devices-topology" OBJECT pocl_topology.c pocl_topology.h)
- harden("pocl-devices-topology")
-
--target_include_directories("pocl-devices-topology" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+if(${OCL_ICD_INCLUDE_DIRS})
-+ target_include_directories("pocl-devices-topology" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+endif()
-
- if(Hwloc_FOUND)
- target_include_directories("pocl-devices-topology" SYSTEM PUBLIC ${Hwloc_INCLUDE_DIRS})
---- a/lib/llvmopencl/CMakeLists.txt
-+++ b/lib/llvmopencl/CMakeLists.txt
-@@ -101,7 +101,9 @@ endif(MSVC)
- add_library("llvmpasses" OBJECT ${LLVMPASSES_SOURCES})
- harden("llvmpasses")
-
--target_include_directories("llvmpasses" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+if(${OCL_ICD_INCLUDE_DIRS})
-+ target_include_directories("llvmpasses" SYSTEM PUBLIC ${OCL_ICD_INCLUDE_DIRS})
-+endif()
-
- option(ENABLE_LIBLLVMOPENCL "Build separate libllvmopencl.so for use with 'opt'" OFF)
- if(ENABLE_LIBLLVMOPENCL)
diff --git a/dev-libs/pocl/files/pocl-3.1-nodebug.patch b/dev-libs/pocl/files/pocl-3.1-nodebug.patch
deleted file mode 100644
index ea1085dc4a49..000000000000
--- a/dev-libs/pocl/files/pocl-3.1-nodebug.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://github.com/pocl/pocl/commit/a13cb332d6678d4556d7319b284b77c371c4b91e
-
-commit a13cb332d6678d4556d7319b284b77c371c4b91e
-Author: Martin Kletzander <nert.pinx@gmail.com>
-Date: Tue Jan 17 09:04:41 2023 +0100
-
- Add stub macro POCL_MSG_PRINT_ALMAIF_MMAP without POCL_DEBUG_MESSAGES
-
- Without this the build fails with the following error when built without
- POCL_DEBUG_MESSAGES:
-
- ../lib/CL/devices/almaif/MMAPRegion.cc: In constructor ‘MMAPRegion::MMAPRegion(size_t, size_t, int)’:
- ../lib/CL/devices/almaif/MMAPRegion.cc:43:3: error: ‘POCL_MSG_PRINT_ALMAIF_MMAP’ was not declared in this scope; did you mean ‘POCL_MSG_PRINT_ALMAIF2’?
- 43 | POCL_MSG_PRINT_ALMAIF_MMAP(
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~
- | POCL_MSG_PRINT_ALMAIF2
-
- and about 10 more.
-
---- a/lib/CL/pocl_debug.h
-+++ b/lib/CL/pocl_debug.h
-@@ -284,6 +284,7 @@ POCL_EXPORT
-
- #define POCL_MSG_PRINT_ALMAIF2(...) do {} while (0)
- #define POCL_MSG_PRINT_ALMAIF(...) do {} while (0)
-+ #define POCL_MSG_PRINT_ALMAIF_MMAP(...) do {} while (0)
- #define POCL_MSG_PRINT_PROXY2(...) do {} while (0)
- #define POCL_MSG_PRINT_PROXY(...) do {} while (0)
- #define POCL_MSG_PRINT_VULKAN2(...) do {} while (0)
diff --git a/dev-libs/pocl/metadata.xml b/dev-libs/pocl/metadata.xml
index a08bc6bb7825..385844d354c1 100644
--- a/dev-libs/pocl/metadata.xml
+++ b/dev-libs/pocl/metadata.xml
@@ -7,13 +7,11 @@
<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="cuda">Enable the CUDA backend for NVIDIA GPUs</flag>
<flag name="float-conversion">When enabled, OpenCL printf() call's f/e/g formatters are handled by pocl. When disabled, these are handled by system C library.</flag>
<flag name="hardening">Enable hardening against various attacks. May worsen performance</flag>
<!--<flag name="hsa">Enable the HSA base profile runtime device driver</flag>-->
<flag name="hwloc">Enable hwloc support</flag>
<flag name="memmanager">Enables custom memory manager. Except for special circumstances, this should be disabled</flag>
- <flag name="lto">Adds support for link time optimization</flag>
</use>
<upstream>
<remote-id type="github">pocl/pocl</remote-id>
diff --git a/dev-libs/pocl/pocl-3.0.ebuild b/dev-libs/pocl/pocl-3.0.ebuild
deleted file mode 100644
index c928fcdac263..000000000000
--- a/dev-libs/pocl/pocl-3.0.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DOCS_AUTODOC=0
-DOCS_BUILDER="sphinx"
-DOCS_DIR="doc/sphinx/source"
-PYTHON_COMPAT=( python3_{9..10} pypy3 )
-LLVM_MAX_SLOT=14
-
-inherit cmake llvm python-any-r1 docs
-
-DESCRIPTION="Portable Computing Language (an implementation of OpenCL)"
-HOMEPAGE="http://portablecl.org https://github.com/pocl/pocl"
-SRC_URI="https://github.com/pocl/pocl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc64"
-# TODO: hsa tce
-IUSE="accel +conformance cuda debug examples float-conversion hardening +hwloc memmanager lto test"
-# Tests not yet passing, fragile in Portage environment(?)
-RESTRICT="!test? ( test ) test"
-
-# TODO: add dependencies for cuda
-# Note: No := on LLVM because it pulls in Clang
-# see llvm.eclass for why
-CLANG_DEPS="!cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= )
- cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )"
-RDEPEND="
- dev-libs/libltdl
- <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):*
- virtual/opencl
-
- ${CLANG_DEPS}
- debug? ( dev-util/lttng-ust:= )
- hwloc? ( sys-apps/hwloc:=[cuda?] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="${CLANG_DEPS}
- virtual/pkgconfig
- doc? (
- $(python_gen_any_dep '<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]')
- )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-icd.patch
- "${FILESDIR}"/${P}-fix-version.patch
- "${FILESDIR}"/${P}-cuda.patch
-)
-
-python_check_deps() {
- python_has_version "<dev-python/markupsafe-2.0[${PYTHON_USEDEP}]"
-}
-
-llvm_check_deps() {
- local usedep=$(usex cuda "[llvm_targets_NVPTX]" '')
-
- # Clang is used at both build time (executed) and runtime
- has_version -r "sys-devel/llvm:${LLVM_SLOT}${usedep}" && \
- has_version -r "sys-devel/clang:${LLVM_SLOT}${usedep}" && \
- has_version -b "sys-devel/clang:${LLVM_SLOT}${usedep}"
-}
-
-pkg_setup() {
- use doc && python-any-r1_pkg_setup
-
- llvm_pkg_setup
-}
-
-src_configure() {
- local 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"
-
- -DENABLE_IPO=$(usex lto)
-
- -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_ACCEL_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_compile() {
- cmake_src_compile
- docs_compile
-}
-
-src_test() {
- export POCL_BUILDING=1
- export POCL_DEVICES=basic
- export CTEST_OUTPUT_ON_FAILURE=1
- export TEST_VERBOSE=1
-
- # Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
- # But couldn't seem to get tests working yet
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- dodoc CREDITS README CHANGES
-
- if use doc; then
- dodoc -r _build/html
- docompress -x /usr/share/doc/${P}/html
- fi
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${P}/examples
- fi
-}
diff --git a/dev-libs/pocl/pocl-3.1.ebuild b/dev-libs/pocl/pocl-3.1.ebuild
deleted file mode 100644
index 29653f03a564..000000000000
--- a/dev-libs/pocl/pocl-3.1.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# 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="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 lto 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=$(usex cuda "[llvm_targets_NVPTX]" '')
-
- # Clang is used at both build time (executed) and runtime
- has_version -r "sys-devel/llvm:${LLVM_SLOT}${usedep}" && \
- has_version -r "sys-devel/clang:${LLVM_SLOT}${usedep}" && \
- has_version -b "sys-devel/clang:${LLVM_SLOT}${usedep}"
-}
-
-PATCHES=(
- "${FILESDIR}"/${P}-nodebug.patch
-)
-
-pkg_setup() {
- llvm_pkg_setup
-}
-
-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"
-
- -DENABLE_IPO=$(usex lto)
-
- -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_compile() {
- cmake_src_compile
-}
-
-src_test() {
- export POCL_BUILDING=1
- export POCL_DEVICES=basic
- export CTEST_OUTPUT_ON_FAILURE=1
- export TEST_VERBOSE=1
-
- # Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
- # But couldn't seem to get tests working yet
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${P}/examples
- fi
-}
diff --git a/dev-libs/pocl/pocl-4.0.ebuild b/dev-libs/pocl/pocl-4.0.ebuild
new file mode 100644
index 000000000000..e8e313759963
--- /dev/null
+++ b/dev-libs/pocl/pocl-4.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=16
+inherit cmake llvm
+
+DESCRIPTION="Portable Computing Language (an implementation of OpenCL)"
+HOMEPAGE="http://portablecl.org https://github.com/pocl/pocl"
+SRC_URI="https://github.com/pocl/pocl/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc64"
+# TODO: hsa tce
+IUSE="accel +conformance cuda debug examples float-conversion hardening +hwloc memmanager test"
+# Tests not yet passing, fragile in Portage environment(?)
+RESTRICT="!test? ( test ) test"
+
+# TODO: add dependencies for cuda
+# Note: No := on LLVM because it pulls in Clang
+# see llvm.eclass for why
+CLANG_DEPS="
+ !cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):= )
+ cuda? ( <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=[llvm_targets_NVPTX] )
+"
+RDEPEND="
+ dev-libs/libltdl
+ <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):*
+ virtual/opencl
+
+ ${CLANG_DEPS}
+ debug? ( dev-util/lttng-ust:= )
+ hwloc? ( sys-apps/hwloc:=[cuda?] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${CLANG_DEPS}
+ virtual/pkgconfig
+"
+
+llvm_check_deps() {
+ local usedep=$(usev cuda "[llvm_targets_NVPTX]")
+
+ # Clang is used at both build time (executed) and runtime
+ has_version -r "sys-devel/llvm:${LLVM_SLOT}${usedep}" && \
+ has_version -r "sys-devel/clang:${LLVM_SLOT}${usedep}" && \
+ has_version -b "sys-devel/clang:${LLVM_SLOT}${usedep}"
+}
+
+src_configure() {
+ local host_cpu_variants="generic"
+
+ if use amd64 ; then
+ # Use pocl's curated list of CPU variants which should contain a good match for any given amd64 CPU
+ host_cpu_variants="distro"
+ elif use ppc64 ; then
+ # A selection of architectures in which new Altivec / VSX features were added
+ # This attempts to recreate the amd64 "distro" option for ppc64
+ # See discussion in bug #831859
+ host_cpu_variants="pwr10;pwr9;pwr8;pwr7;pwr6;g5;a2;generic"
+ fi
+
+ local mycmakeargs=(
+ -DENABLE_HSA=OFF
+
+ -DENABLE_ICD=ON
+ -DPOCL_ICD_ABSOLUTE_PATH=ON
+ -DPOCL_INSTALL_PUBLIC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/pocl"
+
+ # only appends -flto
+ -DENABLE_IPO=OFF
+
+ -DENABLE_POCL_BUILDING=ON
+ -DKERNELLIB_HOST_CPU_VARIANTS="${host_cpu_variants}"
+
+ -DSTATIC_LLVM=OFF
+ -DWITH_LLVM_CONFIG=$(get_llvm_prefix -d "${LLVM_MAX_SLOT}")/bin/llvm-config
+
+ -DENABLE_ALMAIF_DEVICE=$(usex accel)
+ -DENABLE_CONFORMANCE=$(usex conformance)
+ -DENABLE_CUDA=$(usex cuda)
+ -DENABLE_HWLOC=$(usex hwloc)
+ -DENABLE_POCL_FLOAT_CONVERSION=$(usex float-conversion)
+ -DHARDENING_ENABLE=$(usex hardening)
+ -DPOCL_DEBUG_MESSAGES=$(usex debug)
+ -DUSE_POCL_MEMMANAGER=$(usex memmanager)
+ -DENABLE_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ export POCL_BUILDING=1
+ export POCL_DEVICES=basic
+ export CTEST_OUTPUT_ON_FAILURE=1
+ export TEST_VERBOSE=1
+
+ # Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
+ # But couldn't seem to get tests working yet
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${P}/examples
+ fi
+}
diff --git a/dev-libs/poco/poco-1.12.4.ebuild b/dev-libs/poco/poco-1.12.4.ebuild
index 596b7ffa8933..53b41bdf2c35 100644
--- a/dev-libs/poco/poco-1.12.4.ebuild
+++ b/dev-libs/poco/poco-1.12.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,10 +13,11 @@ S="${WORKDIR}/${PN}-${P}-release"
LICENSE="Boost-1.0"
# SHARED_LIBRARY_VERSION -> "${S}"/libversion
SLOT="0/94"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+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 )
diff --git a/dev-libs/popt/Manifest b/dev-libs/popt/Manifest
index d698ce53ffe1..e4cb7e35fb1f 100644
--- a/dev-libs/popt/Manifest
+++ b/dev-libs/popt/Manifest
@@ -1,2 +1 @@
-DIST popt-1.18.tar.gz 580569 BLAKE2B c9c42eb12aa21764cde5e9b4a8b30125b547ae690b4d9d0d40b45bd3c1f7ae0b09d5086a588cf37e7bed71fe770ff840c0fd40ecf4ce5b7c1e874b938b6e0324 SHA512 86422e8762adda3d02d46c20ac74ffe389d4f991d552b6fea729f007345b6426cbeb71160284e2deaa2ce44ce754a9e6cf6ccbd64bff9bc2253df40cdc2f79a5
DIST popt-1.19.tar.gz 596676 BLAKE2B 8f8965e2d339f0413e8d1da421ea7556526f39f089a822063d6fdc35b781a7c7ea84a91d6af3e25902c1f045f564ef956fc69cd4625e6cc008c9e3ca34923a9d SHA512 5d1b6a15337e4cd5991817c1957f97fc4ed98659870017c08f26f754e34add31d639d55ee77ca31f29bb631c0b53368c1893bd96cf76422d257f7997a11f6466
diff --git a/dev-libs/popt/popt-1.18.ebuild b/dev-libs/popt/popt-1.18.ebuild
deleted file mode 100644
index cbbaee017f57..000000000000
--- a/dev-libs/popt/popt-1.18.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib-minimal libtool toolchain-funcs
-
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="nls? ( sys-devel/gettext )"
-
-src_prepare() {
- default
- sed -i -e 's:lt-test1:test1:' tests/testit.sh || die
- elibtoolize
-}
-
-multilib_src_configure() {
- # 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=(
- $(use_enable static-libs static)
- $(use_enable nls)
- )
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- dodoc CHANGES README
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/popt/popt-1.19-r1.ebuild b/dev-libs/popt/popt-1.19-r1.ebuild
new file mode 100644
index 000000000000..78234070ac50
--- /dev/null
+++ b/dev-libs/popt/popt-1.19-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib-minimal libtool
+
+DESCRIPTION="Parse Options - Command line parser"
+HOMEPAGE="https://github.com/rpm-software-management/popt"
+SRC_URI="http://ftp.rpm.org/${PN}/releases/${PN}-1.x/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="nls static-libs"
+
+RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( >=sys-devel/gettext-0.19.8 )"
+
+src_prepare() {
+ default
+
+ # Unclear what the background to this is, perhaps
+ # https://gitlab.exherbo.org/exherbo/arbor/-/commit/5545d22d3493279acf7a55246179f818ef22f5fa
+ sed -i -e 's:lt-test1:test1:' tests/testit.sh || die
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local myeconfargs=(
+ --disable-werror
+ $(use_enable static-libs static)
+ $(use_enable nls)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/popt/popt-1.19.ebuild b/dev-libs/popt/popt-1.19.ebuild
deleted file mode 100644
index bfabb9eff090..000000000000
--- a/dev-libs/popt/popt-1.19.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic multilib-minimal libtool toolchain-funcs
-
-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 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="nls static-libs"
-
-RDEPEND="nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}"
-BDEPEND="nls? ( >=sys-devel/gettext-0.19.8 )"
-
-src_prepare() {
- default
-
- # Unclear what the background to this is, perhaps
- # https://git.exherbo.org/arbor.git/commit/?id=5545d22d3493279acf7a55246179f818ef22f5fa
- sed -i -e 's:lt-test1:test1:' tests/testit.sh || die
-
- elibtoolize
-}
-
-multilib_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
-
- local myeconfargs=(
- --disable-werror
- $(use_enable static-libs static)
- $(use_enable nls)
- )
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/ppl/ppl-1.2-r5.ebuild b/dev-libs/ppl/ppl-1.2-r5.ebuild
index 14ac46456209..70d986e738f2 100644
--- a/dev-libs/ppl/ppl-1.2-r5.ebuild
+++ b/dev-libs/ppl/ppl-1.2-r5.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools
+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/ppl-1.2-r3-disable-boeing-tests.patch"
+ 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 ~sparc-solaris"
+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(+)]
@@ -41,6 +41,10 @@ src_prepare() {
}
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 \
diff --git a/dev-libs/protobuf-c/Manifest b/dev-libs/protobuf-c/Manifest
index 0044b4089538..9e824fc64956 100644
--- a/dev-libs/protobuf-c/Manifest
+++ b/dev-libs/protobuf-c/Manifest
@@ -1,2 +1 @@
-DIST protobuf-c-1.4.0.tar.gz 505251 BLAKE2B 5f53238c064f82de87012eb739bf6a44c202d0dbf2fc5af394accdc52a9934d1fb9cea2bb4a4d529fdf98959546aaa672c1c991a9a7016803d16f65accc907cd SHA512 6a2e5031b85b5986e863661437dea002eba217257a50a27db88d29fa1a3db1014ed6ec7c21d89df700d181b18e169d1037146cb6475c10cd5a068a91e522e3c3
DIST protobuf-c-1.4.1.tar.gz 513596 BLAKE2B b5e87a3154863581b81790a26b6b522c2b3ad138e966053f20c6264b4a7677d6c5bff8e27faa7c6cfa9e982b72b06e2f518a3def9f6db13241c3cb3ee9afc8f6 SHA512 190a4aa5c607853e6bf860b0974deb21e4f7f6209e810251eaca9612b59ea676779b0ca217fb1572914ffb8de3315a7d24f162b14d447ee671a9adc5b1271e41
diff --git a/dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch b/dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch
new file mode 100644
index 000000000000..5e53899aee3d
--- /dev/null
+++ b/dev-libs/protobuf-c/files/protobuf-c-1.4.1-protobuf-22.patch
@@ -0,0 +1,501 @@
+https://bugs.gentoo.org/912775
+https://github.com/protobuf-c/protobuf-c/issues/679
+https://github.com/protobuf-c/protobuf-c/issues/544
+https://github.com/protobuf-c/protobuf-c/pull/673
+
+From ad48868dfe77592c4bacf936ade208f384a26b09 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 17:48:18 -0400
+Subject: [PATCH 1/7] protoc-c: Remove GOOGLE_DISALLOW_EVIL_CONSTRUCTORS macro
+ invocations
+
+protobuf has removed the definition of this macro as of commit
+1595417dd3859bbff7d3d61ad0b6e39044d47489, so the invocation of this
+macro in protobuf-c breaks the build when building agaist the protobuf
+22.x or 23.x series.
+
+Simply removing the macro invocations seems to be safe and doesn't break
+the build on Debian's protobuf 3.21.12 nor Debian's protobuf 3.6.1.3.
+---
+ protoc-c/c_bytes_field.h | 2 --
+ protoc-c/c_enum.h | 2 --
+ protoc-c/c_enum_field.h | 2 --
+ protoc-c/c_extension.h | 2 --
+ protoc-c/c_field.h | 5 -----
+ protoc-c/c_file.h | 2 --
+ protoc-c/c_generator.h | 3 ---
+ protoc-c/c_message.h | 2 --
+ protoc-c/c_message_field.h | 4 ----
+ protoc-c/c_primitive_field.h | 4 ----
+ protoc-c/c_service.h | 2 --
+ protoc-c/c_string_field.h | 2 --
+ 12 files changed, 32 deletions(-)
+
+diff --git a/protoc-c/c_bytes_field.h b/protoc-c/c_bytes_field.h
+index bf873f0f..df91ef73 100644
+--- a/protoc-c/c_bytes_field.h
++++ b/protoc-c/c_bytes_field.h
+@@ -87,8 +87,6 @@ class BytesFieldGenerator : public FieldGenerator {
+
+ private:
+ std::map<std::string, std::string> variables_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(BytesFieldGenerator);
+ };
+
+
+diff --git a/protoc-c/c_enum.h b/protoc-c/c_enum.h
+index 9c34b697..089c3366 100644
+--- a/protoc-c/c_enum.h
++++ b/protoc-c/c_enum.h
+@@ -106,8 +106,6 @@ class EnumGenerator {
+ private:
+ const EnumDescriptor* descriptor_;
+ std::string dllexport_decl_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_enum_field.h b/protoc-c/c_enum_field.h
+index 3f8c005d..e0c96adf 100644
+--- a/protoc-c/c_enum_field.h
++++ b/protoc-c/c_enum_field.h
+@@ -85,8 +85,6 @@ class EnumFieldGenerator : public FieldGenerator {
+
+ private:
+ std::map<std::string, std::string> variables_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator);
+ };
+
+
+diff --git a/protoc-c/c_extension.h b/protoc-c/c_extension.h
+index 95413885..bda0bc55 100644
+--- a/protoc-c/c_extension.h
++++ b/protoc-c/c_extension.h
+@@ -98,8 +98,6 @@ class ExtensionGenerator {
+ const FieldDescriptor* descriptor_;
+ std::string type_traits_;
+ std::string dllexport_decl_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h
+index 3cad35d3..623a872e 100644
+--- a/protoc-c/c_field.h
++++ b/protoc-c/c_field.h
+@@ -103,9 +103,6 @@ class FieldGenerator {
+ const std::string &type_macro,
+ const std::string &descriptor_addr) const;
+ const FieldDescriptor *descriptor_;
+-
+- private:
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGenerator);
+ };
+
+ // Convenience class which constructs FieldGenerators for a Descriptor.
+@@ -121,8 +118,6 @@ class FieldGeneratorMap {
+ std::unique_ptr<std::unique_ptr<FieldGenerator>[]> field_generators_;
+
+ static FieldGenerator* MakeGenerator(const FieldDescriptor* field);
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldGeneratorMap);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h
+index 8dfd8ba0..db1866cd 100644
+--- a/protoc-c/c_file.h
++++ b/protoc-c/c_file.h
+@@ -103,8 +103,6 @@ class FileGenerator {
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+ std::unique_ptr<std::unique_ptr<ServiceGenerator>[]> service_generators_;
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index ac1ffafe..b8b44aaa 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -93,9 +93,6 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+ const std::string& parameter,
+ OutputDirectory* output_directory,
+ std::string* error) const;
+-
+- private:
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h
+index ea1c3ab3..0d8c6440 100644
+--- a/protoc-c/c_message.h
++++ b/protoc-c/c_message.h
+@@ -136,8 +136,6 @@ class MessageGenerator {
+ std::unique_ptr<std::unique_ptr<MessageGenerator>[]> nested_generators_;
+ std::unique_ptr<std::unique_ptr<EnumGenerator>[]> enum_generators_;
+ std::unique_ptr<std::unique_ptr<ExtensionGenerator>[]> extension_generators_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_message_field.h b/protoc-c/c_message_field.h
+index 39b8d999..e485921a 100644
+--- a/protoc-c/c_message_field.h
++++ b/protoc-c/c_message_field.h
+@@ -82,10 +82,6 @@ class MessageFieldGenerator : public FieldGenerator {
+ void GenerateDescriptorInitializer(io::Printer* printer) const;
+ std::string GetDefaultValue(void) const;
+ void GenerateStaticInit(io::Printer* printer) const;
+-
+- private:
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator);
+ };
+
+
+diff --git a/protoc-c/c_primitive_field.h b/protoc-c/c_primitive_field.h
+index a9eb893b..aa7079f9 100644
+--- a/protoc-c/c_primitive_field.h
++++ b/protoc-c/c_primitive_field.h
+@@ -82,10 +82,6 @@ class PrimitiveFieldGenerator : public FieldGenerator {
+ void GenerateDescriptorInitializer(io::Printer* printer) const;
+ std::string GetDefaultValue(void) const;
+ void GenerateStaticInit(io::Printer* printer) const;
+-
+- private:
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_service.h b/protoc-c/c_service.h
+index 27125a60..b51472f9 100644
+--- a/protoc-c/c_service.h
++++ b/protoc-c/c_service.h
+@@ -100,8 +100,6 @@ class ServiceGenerator {
+
+ const ServiceDescriptor* descriptor_;
+ std::map<std::string, std::string> vars_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceGenerator);
+ };
+
+ } // namespace c
+diff --git a/protoc-c/c_string_field.h b/protoc-c/c_string_field.h
+index 513cea75..b3a1a7ff 100644
+--- a/protoc-c/c_string_field.h
++++ b/protoc-c/c_string_field.h
+@@ -87,8 +87,6 @@ class StringFieldGenerator : public FieldGenerator {
+
+ private:
+ std::map<std::string, std::string> variables_;
+-
+- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
+ };
+
+
+
+From 7b90330bff40ab555bb3f0c5ee43ae208a275104 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 19:35:43 -0400
+Subject: [PATCH 2/7] Use GOOGLE_LOG(FATAL) instead of GOOGLE_LOG(DFATAL)
+
+Looking at where these identifiers are ultimately defined [0], it looks
+like "DFATAL" means either "ERROR" or "FATAL" depending on whether
+NDEBUG is defined. However, looking at the actual code sites in protoc-c
+where DFATAL is used, it's not clear why we couldn't just use FATAL
+unconditionally.
+
+This is aimed at supporting newer versions of protobuf where the DFATAL
+identifier apparently no longer exists.
+
+[0] https://github.com/protocolbuffers/protobuf/blob/v21.12/src/google/protobuf/stubs/logging.h#L61-L65
+---
+ protoc-c/c_message.cc | 4 ++--
+ protoc-c/c_primitive_field.cc | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc
+index 37e8bf8b..af2974ca 100755
+--- a/protoc-c/c_message.cc
++++ b/protoc-c/c_message.cc
+@@ -499,7 +499,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ // NOTE: not supported by protobuf
+ vars["maybe_static"] = "";
+ vars["field_dv_ctype"] = "{ ... }";
+- GOOGLE_LOG(DFATAL) << "Messages can't have default values!";
++ GOOGLE_LOG(FATAL) << "Messages can't have default values!";
+ break;
+ case FieldDescriptor::CPPTYPE_STRING:
+ if (fd->type() == FieldDescriptor::TYPE_BYTES || opt.string_as_bytes())
+@@ -521,7 +521,7 @@ GenerateMessageDescriptor(io::Printer* printer, bool gen_init) {
+ break;
+ }
+ default:
+- GOOGLE_LOG(DFATAL) << "Unknown CPPTYPE";
++ GOOGLE_LOG(FATAL) << "Unknown CPPTYPE";
+ break;
+ }
+ if (!already_defined)
+diff --git a/protoc-c/c_primitive_field.cc b/protoc-c/c_primitive_field.cc
+index 6990893f..1727af38 100644
+--- a/protoc-c/c_primitive_field.cc
++++ b/protoc-c/c_primitive_field.cc
+@@ -143,7 +143,7 @@ std::string PrimitiveFieldGenerator::GetDefaultValue() const
+ case FieldDescriptor::CPPTYPE_BOOL:
+ return descriptor_->default_value_bool() ? "1" : "0";
+ default:
+- GOOGLE_LOG(DFATAL) << "unexpected CPPTYPE in c_primitive_field";
++ GOOGLE_LOG(FATAL) << "unexpected CPPTYPE in c_primitive_field";
+ return "UNEXPECTED_CPPTYPE";
+ }
+ }
+
+From 8d334a7204d98874cbf970cb96ab0c7b52e06695 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 19:42:19 -0400
+Subject: [PATCH 3/7] Work around GOOGLE_* changes in protobuf >= 22.0
+
+According to the protobuf migration guide as of June 2023 [0], protobuf
+22.0 (aka 4.22.0) took a dependency on something called "abseil" and as
+a result the "stubs" have been removed. This apparently caused all the
+uses of GOOGLE_* identifiers in protoc-c to fail when building against
+newer versions of protobuf.
+
+This commit introduces compatibility definitions when building against
+protobuf >= 4.22.0 so that protobuf-c can build against older and newer
+versions of protobuf.
+
+[0] https://web.archive.org/web/20230611151200/https://protobuf.dev/support/migration/#abseil
+---
+ protoc-c/c_helpers.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 7598a4e1..adc7ee21 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -178,6 +178,16 @@ inline int FieldSyntax(const FieldDescriptor* field) {
+ #endif
+ }
+
++// Work around changes in protobuf >= 22.x without breaking compilation against
++// older protobuf versions.
++#if GOOGLE_PROTOBUF_VERSION >= 4022000
++# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE
++# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
++# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ
++# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE
++# define GOOGLE_LOG ABSL_LOG
++#endif
++
+ } // namespace c
+ } // namespace compiler
+ } // namespace protobuf
+
+From 23d2246e0f6ebfc69232ab29b6c6325d8009d1f7 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 19:48:17 -0400
+Subject: [PATCH 4/7] configure.ac: Require C++17 when building against
+ protobuf >= 4.22.0
+
+It's unclear from looking at the online protobuf documentation whether
+C++14 or C++17 is now required when building against newer versions of
+protobuf (or perhaps I'm looking in the wrong place), but experimentally
+it did not work for me with C++14.
+
+This commit rewrites the versioned PKG_CHECK_MODULES checks in
+configure.ac to enforce the following policies:
+
+ * Require protobuf >= 2.6.0.
+ * On protobuf >= 3.0.0, require C++11.
+ * On protobuf >= 4.22.0, require C++17.
+---
+ configure.ac | 26 ++++++++++++++++++++------
+ 1 file changed, 20 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 94d01dca..fa024b6a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,12 +76,26 @@ AC_ARG_ENABLE([protoc],
+ if test "x$enable_protoc" != "xno"; then
+ AC_LANG_PUSH([C++])
+
+- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+-
+- PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0],
+- [proto3_supported=yes],
+- [PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])]
+- )
++ # PKG_CHECK_MODULES(prefix, list-of-modules, action-if-found, action-if-not-found)
++ PKG_CHECK_MODULES(
++ [protobuf],
++ [protobuf >= 4.22.0],
++ [
++ proto3_supported=yes
++ AX_CXX_COMPILE_STDCXX(17, noext, mandatory)
++ ],
++ [
++ PKG_CHECK_MODULES(
++ [protobuf],
++ [protobuf >= 3.0.0],
++ [
++ proto3_supported=yes
++ AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
++ ],
++ [
++ PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])
++ ])
++ ])
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $protobuf_CFLAGS"
+
+From 1937ba946b0a7a62c0f534e60f4d4799d7e0daed Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 22:57:57 -0400
+Subject: [PATCH 5/7] protoc-c: Use FileDescriptorLegacy to obtain proto syntax
+ version on protobuf >= 23.0
+
+Use the newer "legacy" way of determining whether a file descriptor is
+using proto2 or proto3 syntax on protobuf >= 23.0.
+
+Based on
+https://github.com/protobuf-c/protobuf-c/pull/556/commits/66574f3fd85a205eb7c90b790477d5415364209e
+but continues to support older versions of protobuf.
+
+Unfortunately, since this is a "deprecated", "legacy" API it'll probably
+disappear in about five seconds.
+---
+ protoc-c/c_file.cc | 4 ++++
+ protoc-c/c_helpers.h | 8 ++++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index 59c1824e..d211a3da 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -119,7 +119,11 @@ void FileGenerator::GenerateHeader(io::Printer* printer) {
+
+ int min_header_version = 1000000;
+ #if defined(HAVE_PROTO3)
++# if GOOGLE_PROTOBUF_VERSION >= 4023000
++ if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
++# else
+ if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
++#endif
+ min_header_version = 1003000;
+ }
+ #endif
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index adc7ee21..055528bf 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -70,6 +70,10 @@
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+
++#if GOOGLE_PROTOBUF_VERSION >= 4023000
++# include <google/protobuf/descriptor_legacy.h>
++#endif
++
+ namespace google {
+ namespace protobuf {
+ namespace compiler {
+@@ -172,7 +176,11 @@ int compare_name_indices_by_name(const void*, const void*);
+ // This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+ #ifdef HAVE_PROTO3
++# if GOOGLE_PROTOBUF_VERSION >= 4023000
++ return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
++# else
+ return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
++# endif
+ #else
+ return 2;
+ #endif
+
+From 7582b6e7d640636bf24c0f9dd2b386ed6fd41919 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Sun, 2 Jul 2023 22:58:48 -0400
+Subject: [PATCH 6/7] cmake: Require C++17
+
+Newer versions of protobuf apparently don't build with older versions of
+the C++ standard.
+---
+ build-cmake/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt
+index 95f561c0..c71dd899 100644
+--- a/build-cmake/CMakeLists.txt
++++ b/build-cmake/CMakeLists.txt
+@@ -96,7 +96,7 @@ if (MSVC AND NOT BUILD_SHARED_LIBS)
+ endif (MSVC AND NOT BUILD_SHARED_LIBS)
+
+ IF(BUILD_PROTOC)
+-SET(CMAKE_CXX_STANDARD 11)
++SET(CMAKE_CXX_STANDARD 17)
+ SET(CMAKE_CXX_STANDARD_REQUIRED ON)
+ SET(CMAKE_CXX_EXTENSIONS OFF)
+ ADD_CUSTOM_COMMAND(OUTPUT protobuf-c/protobuf-c.pb.cc protobuf-c/protobuf-c.pb.h
+
+From 5b0661f1e8a0e03f75cc6f53b8d42507e95403c9 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Mon, 3 Jul 2023 01:10:28 -0400
+Subject: [PATCH 7/7] configure.ac: Require C++17
+
+There are some recent reports of strange build failures that might have
+been fixed by compiling in C++17 mode, so it might be a good idea to use
+C++17 in general, and not just when building against very recent
+protobuf versions.
+
+Since it looks like we've lost protobuf < 3.0.0 support, configure.ac
+can be simplified a bit if we just use C++17 by default.
+---
+ configure.ac | 23 ++---------------------
+ 1 file changed, 2 insertions(+), 21 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fa024b6a..586ac3c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -75,27 +75,8 @@ AC_ARG_ENABLE([protoc],
+ AS_HELP_STRING([--disable-protoc], [Disable building protoc_c (also disables tests)]))
+ if test "x$enable_protoc" != "xno"; then
+ AC_LANG_PUSH([C++])
+-
+- # PKG_CHECK_MODULES(prefix, list-of-modules, action-if-found, action-if-not-found)
+- PKG_CHECK_MODULES(
+- [protobuf],
+- [protobuf >= 4.22.0],
+- [
+- proto3_supported=yes
+- AX_CXX_COMPILE_STDCXX(17, noext, mandatory)
+- ],
+- [
+- PKG_CHECK_MODULES(
+- [protobuf],
+- [protobuf >= 3.0.0],
+- [
+- proto3_supported=yes
+- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+- ],
+- [
+- PKG_CHECK_MODULES([protobuf], [protobuf >= 2.6.0])
+- ])
+- ])
++ AX_CXX_COMPILE_STDCXX(17, noext, mandatory)
++ PKG_CHECK_MODULES([protobuf], [protobuf >= 3.0.0], [proto3_supported=yes])
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $protobuf_CFLAGS"
diff --git a/dev-libs/protobuf-c/metadata.xml b/dev-libs/protobuf-c/metadata.xml
index 490b948ae4ca..f504bd5fa68e 100644
--- a/dev-libs/protobuf-c/metadata.xml
+++ b/dev-libs/protobuf-c/metadata.xml
@@ -4,5 +4,6 @@
<!-- maintainer-needed -->
<upstream>
<remote-id type="github">protobuf-c/protobuf-c</remote-id>
+ <remote-id type="cpe">cpe:/a:protobuf-c_project:protobuf-c</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild b/dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild
deleted file mode 100644
index 8e8ab4e49d70..000000000000
--- a/dev-libs/protobuf-c/protobuf-c-1.4.0-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools multilib-minimal
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="Protocol Buffers implementation in C"
-HOMEPAGE="https://github.com/protobuf-c/protobuf-c"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${MY_PV}/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="BSD-2"
-# Subslot == SONAME version
-SLOT="0/1.0.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-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-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/Manifest b/dev-libs/protobuf/Manifest
index 5dd5ef74895c..8695f23be04a 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -1,6 +1,4 @@
-DIST protobuf-21.8.tar.gz 5110670 BLAKE2B 3c1b0c857a86e9586481d63896341d0cb11290dbd710d87a6f7889d34f5f262abe2986a29ed19a730f8fa5df0b5c62d77a4db6aa415a72b239f7483ae8d6380c SHA512 cb17be759311e91172801add1f88fe7a0291b547170c40d2e3303f5c248570dddeade96bd48740edd628215f55269c97475e2f4c4a41c50f1018d525f52036cb
+DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f82c42c70054d47d1899e6bb79f3fdde2666cad5b8eff6e1bc539c3b0cdf9f2b125ce7e5d3a459a69e84d67ab535e SHA512 2dc8f552388438268d8b9f7a9e84c6abf1736be3d5031438c789c317410c9f4b5cedd25bf7da6d67b3ba32ca890869f9ddaab2284d6ac0e734a5b135ffbb1346
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
-DIST protobuf-3.19.3.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6
-DIST protobuf-3.19.6.tar.gz 5299501 BLAKE2B 3121f76b95f83c5309ce49ce296b738eff7be9d3a5093c564fbe2339fb5f3729e406f1b44bfcc05feb0d31ab63838bb4f54685017977c73a33b91215a6776072 SHA512 8f92242f2be8e1bbfba41341c87709ad91ad83b8b3e3df88bb430411541d3399295f49291fd52b50e3487b0fce33181cb4d175685fd25aac72adfaee26a612d4
-DIST protobuf-3.20.1.tar.gz 5368262 BLAKE2B 1ce1aef2e4c4f3ea4863629cc75d89fe17d0c7ac0c342ac641c787456fd4a12756c2892a27ddadedc94a7201494ec84566638ce33a03cb0c867b04e9eee0edb3 SHA512 fde3eb9f13946887ddfd87df428c5615ad09aaf191e4478b24e98e5e13231feeff4e70b4ca6a2ff7d9b9b2e2c60bc1d5479526edeafa78f9a8ed3bef2e0bacb0
-DIST protobuf-3.20.3.tar.gz 5374320 BLAKE2B fb51f2a0ecf5b83235f5252051f8192ae377bb7a5e030c3f3e9435ccde25919c059830cf476e840fa6c970928a32c0075e213c9d5d4d9e3d3b24732c39a9fbfa SHA512 01d6703bdbe769a1200ee6e4ebcdcb99688ec21f576988c60d82ec36e0822820fb245fcb4ca53293143d53e666d748b5a0c6937bc659fb3cdc4cd9b05ed12a1c
+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-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.16.0-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch
deleted file mode 100644
index 60c450eb2822..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.16.0-protoc_input_output_files.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-https://github.com/protocolbuffers/protobuf/pull/235
-
---- a/src/google/protobuf/compiler/command_line_interface.cc
-+++ b/src/google/protobuf/compiler/command_line_interface.cc
-@@ -1110,6 +1110,28 @@
- }
-
- if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) {
-+ bool success = false;
-+ int in_fd = STDIN_FILENO;
-+ int out_fd = STDOUT_FILENO;
-+
-+ if (!protobuf_in_path_.empty()) {
-+ in_fd = open(protobuf_in_path_.c_str(), O_RDONLY);
-+ if (in_fd == -1) {
-+ std::cerr << protobuf_in_path_ << ": error: failed to open file." << std::endl;
-+ return 1;
-+ }
-+ }
-+ if (!protobuf_out_path_.empty()) {
-+ out_fd = open(protobuf_out_path_.c_str(),
-+ O_WRONLY | O_CREAT | O_TRUNC,
-+ 0644);
-+ if (out_fd == -1) {
-+ std::cerr << protobuf_out_path_ << ": error: failed to open file." << std::endl;
-+ close(in_fd);
-+ return 1;
-+ }
-+ }
-+
- if (codec_type_.empty()) {
- // HACK: Define an EmptyMessage type to use for decoding.
- DescriptorPool pool;
-@@ -1118,13 +1140,20 @@
- file.add_message_type()->set_name("EmptyMessage");
- GOOGLE_CHECK(pool.BuildFile(file) != NULL);
- codec_type_ = "EmptyMessage";
-- if (!EncodeOrDecode(&pool)) {
-- return 1;
-- }
-+ success = EncodeOrDecode(&pool, in_fd, out_fd);
- } else {
-- if (!EncodeOrDecode(descriptor_pool.get())) {
-- return 1;
-- }
-+ success = EncodeOrDecode(descriptor_pool.get(), in_fd, out_fd);
-+ }
-+
-+ if (in_fd != STDIN_FILENO) {
-+ close(in_fd);
-+ }
-+ if (out_fd != STDOUT_FILENO) {
-+ close(out_fd);
-+ }
-+
-+ if (!success) {
-+ return 1;
- }
- }
-
-@@ -1163,6 +1192,11 @@
- for (int i = 0; i < proto_path_.size(); i++) {
- source_tree->MapPath(proto_path_[i].first, proto_path_[i].second);
- }
-+ if (mode_ == MODE_COMPILE &&
-+ (!protobuf_in_path_.empty() || !protobuf_out_path_.empty())) {
-+ std::cerr << "--protobuf_in and --protobuf_out are only valid with "
-+ << "decode operations. Ignoring.";
-+ }
-
- // Map input files to virtual paths if possible.
- if (!MakeInputsBeProtoPathRelative(source_tree, fallback_database)) {
-@@ -1885,6 +1919,12 @@
- } else if (name == "--deterministic_output") {
- deterministic_output_ = true;
-
-+ } else if (name == "--protobuf_in") {
-+ protobuf_in_path_ = value;
-+
-+ } else if (name == "--protobuf_out") {
-+ protobuf_out_path_ = value;
-+
- } else if (name == "--error_format") {
- if (value == "gcc") {
- error_format_ = ERROR_FORMAT_GCC;
-@@ -2018,22 +2058,38 @@
- --version Show version info and exit.
- -h, --help Show this text and exit.
- --encode=MESSAGE_TYPE Read a text-format message of the given type
-- from standard input and write it in binary
-- to standard output. The message type must
-+ from input protobuf file and write it in binary
-+ to output protobuf file. The message type must
- be defined in PROTO_FILES or their imports.
-+ The input/output protobuf files are specified
-+ using the --protobuf_in and --protobuf_out
-+ command line flags.
- --deterministic_output When using --encode, ensure map fields are
- deterministically ordered. Note that this order
- is not canonical, and changes across builds or
- releases of protoc.
- --decode=MESSAGE_TYPE Read a binary message of the given type from
-- standard input and write it in text format
-- to standard output. The message type must
-+ input protobuf file and write it in text format
-+ to output protobuf file. The message type must
- be defined in PROTO_FILES or their imports.
-+ The input/output protobuf files are specified
-+ using the --protobuf_in and --protobuf_out
-+ command line flags.
- --decode_raw Read an arbitrary protocol message from
-- standard input and write the raw tag/value
-- pairs in text format to standard output. No
-+ input protobuf file and write the raw tag/value
-+ pairs in text format to output protobuf file. No
- PROTO_FILES should be given when using this
-- flag.
-+ flag. The input/output protobuf files are
-+ specified using the --protobuf_in and
-+ --protobuf_out command line flags.
-+ --protobuf_in=FILE Absolute path to the protobuf file from which
-+ input of encoding/decoding operation will be
-+ read. If omitted, input will be read from
-+ standard input.
-+ --protobuf_out=FILE Absolute path to the protobuf file to which
-+ output of encoding/decoding operation will be
-+ written. If omitted, output will be written to
-+ standard output.
- --descriptor_set_in=FILES Specifies a delimited list of FILES
- each containing a FileDescriptorSet (a
- protocol buffer defined in descriptor.proto).
-@@ -2344,7 +2400,9 @@
- return true;
- }
-
--bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) {
-+bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool,
-+ int in_fd,
-+ int out_fd) {
- // Look up the type.
- const Descriptor* type = pool->FindMessageTypeByName(codec_type_);
- if (type == NULL) {
-@@ -2356,15 +2414,15 @@
- std::unique_ptr<Message> message(dynamic_factory.GetPrototype(type)->New());
-
- if (mode_ == MODE_ENCODE) {
-- SetFdToTextMode(STDIN_FILENO);
-- SetFdToBinaryMode(STDOUT_FILENO);
-+ SetFdToTextMode(in_fd);
-+ SetFdToBinaryMode(out_fd);
- } else {
-- SetFdToBinaryMode(STDIN_FILENO);
-- SetFdToTextMode(STDOUT_FILENO);
-+ SetFdToBinaryMode(in_fd);
-+ SetFdToTextMode(out_fd);
- }
-
-- io::FileInputStream in(STDIN_FILENO);
-- io::FileOutputStream out(STDOUT_FILENO);
-+ io::FileInputStream in(in_fd);
-+ io::FileOutputStream out(out_fd);
-
- if (mode_ == MODE_ENCODE) {
- // Input is text.
---- a/src/google/protobuf/compiler/command_line_interface.h
-+++ b/src/google/protobuf/compiler/command_line_interface.h
-@@ -292,7 +292,9 @@
- GeneratorContext* generator_context, std::string* error);
-
- // Implements --encode and --decode.
-- bool EncodeOrDecode(const DescriptorPool* pool);
-+ bool EncodeOrDecode(const DescriptorPool* pool,
-+ int in_fd,
-+ int out_fd);
-
- // Implements the --descriptor_set_out option.
- bool WriteDescriptorSet(
-@@ -427,6 +429,13 @@
- // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty.
- std::vector<std::string> descriptor_set_in_names_;
-
-+ // When using --encode / --decode / --decode_raw absolute path to the output
-+ // file. (Empty string indicates write to STDOUT).
-+ std::string protobuf_out_path_;
-+ // When using --encode / --decode / --decode_raw, absolute path to the input
-+ // file. (Empty string indicates read from STDIN).
-+ std::string protobuf_in_path_;
-+
- // If --descriptor_set_out was given, this is the filename to which the
- // FileDescriptorSet should be written. Otherwise, empty.
- std::string descriptor_set_out_name_;
---- a/src/google/protobuf/compiler/command_line_interface_unittest.cc
-+++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc
-@@ -99,7 +99,7 @@
- virtual void SetUp();
- virtual void TearDown();
-
-- // Runs the CommandLineInterface with the given command line. The
-+ // Run the CommandLineInterface with the given command line. The
- // command is automatically split on spaces, and the string "$tmpdir"
- // is replaced with TestTempDir().
- void Run(const std::string& command);
-@@ -2626,6 +2626,17 @@
- std::string::npos);
- }
-
-+ void ExpectBinaryFilesMatch(const string &expected_file,
-+ const string &actual_file) {
-+ string expected_output, actual_output;
-+ ASSERT_TRUE(File::ReadFileToString(expected_file, &expected_output));
-+ ASSERT_TRUE(File::ReadFileToString(actual_file, &actual_output));
-+
-+ // Don't use EXPECT_EQ because we don't want to print raw binary data to
-+ // stdout on failure.
-+ EXPECT_TRUE(expected_output == actual_output);
-+ }
-+
- private:
- void WriteUnittestProtoDescriptorSet() {
- unittest_proto_descriptor_set_filename_ =
-@@ -2749,6 +2760,19 @@
- "Can only use --deterministic_output with --encode.\n");
- }
-
-+TEST_P(EncodeDecodeTest, RedirectInputOutput) {
-+ string out_file = TestTempDir() + "/golden_message_out.pbf";
-+ EXPECT_TRUE(
-+ Run(TestUtil::MaybeTranslatePath("net/proto2/internal/unittest.proto") +
-+ " --encode=protobuf_unittest.TestAllTypes" +
-+ " --protobuf_in=" + TestUtil::GetTestDataPath(
-+ "net/proto2/internal/"
-+ "testdata/text_format_unittest_data_oneof_implemented.txt") +
-+ " --protobuf_out=" + out_file));
-+ ExpectBinaryFilesMatch(out_file, TestUtil::GetTestDataPath(
-+ "net/proto2/internal/testdata/golden_message_oneof_implemented"));
-+}
-+
- INSTANTIATE_TEST_SUITE_P(FileDescriptorSetSource, EncodeDecodeTest,
- testing::Values(PROTO_PATH, DESCRIPTOR_SET_IN));
- } // anonymous namespace
diff --git a/dev-libs/protobuf/files/protobuf-3.20.1-protoc_input_output_files.patch b/dev-libs/protobuf/files/protobuf-3.20.1-protoc_input_output_files.patch
deleted file mode 100644
index 39a68650a74a..000000000000
--- a/dev-libs/protobuf/files/protobuf-3.20.1-protoc_input_output_files.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-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
-@@ -1110,6 +1110,28 @@
- }
-
- if (mode_ == MODE_ENCODE || mode_ == MODE_DECODE) {
-+ bool success = false;
-+ int in_fd = STDIN_FILENO;
-+ int out_fd = STDOUT_FILENO;
-+
-+ if (!protobuf_in_path_.empty()) {
-+ in_fd = open(protobuf_in_path_.c_str(), O_RDONLY);
-+ if (in_fd == -1) {
-+ std::cerr << protobuf_in_path_ << ": error: failed to open file." << std::endl;
-+ return 1;
-+ }
-+ }
-+ if (!protobuf_out_path_.empty()) {
-+ out_fd = open(protobuf_out_path_.c_str(),
-+ O_WRONLY | O_CREAT | O_TRUNC,
-+ 0644);
-+ if (out_fd == -1) {
-+ std::cerr << protobuf_out_path_ << ": error: failed to open file." << std::endl;
-+ close(in_fd);
-+ return 1;
-+ }
-+ }
-+
- if (codec_type_.empty()) {
- // HACK: Define an EmptyMessage type to use for decoding.
- DescriptorPool pool;
-@@ -1118,13 +1140,20 @@
- file.add_message_type()->set_name("EmptyMessage");
- GOOGLE_CHECK(pool.BuildFile(file) != NULL);
- codec_type_ = "EmptyMessage";
-- if (!EncodeOrDecode(&pool)) {
-- return 1;
-- }
-+ success = EncodeOrDecode(&pool, in_fd, out_fd);
- } else {
-- if (!EncodeOrDecode(descriptor_pool.get())) {
-- return 1;
-- }
-+ success = EncodeOrDecode(descriptor_pool.get(), in_fd, out_fd);
-+ }
-+
-+ if (in_fd != STDIN_FILENO) {
-+ close(in_fd);
-+ }
-+ if (out_fd != STDOUT_FILENO) {
-+ close(out_fd);
-+ }
-+
-+ if (!success) {
-+ return 1;
- }
- }
-
-@@ -1163,6 +1192,11 @@
- for (int i = 0; i < proto_path_.size(); i++) {
- source_tree->MapPath(proto_path_[i].first, proto_path_[i].second);
- }
-+ if (mode_ == MODE_COMPILE &&
-+ (!protobuf_in_path_.empty() || !protobuf_out_path_.empty())) {
-+ std::cerr << "--protobuf_in and --protobuf_out are only valid with "
-+ << "decode operations. Ignoring.";
-+ }
-
- // Map input files to virtual paths if possible.
- if (!MakeInputsBeProtoPathRelative(source_tree, fallback_database)) {
-@@ -1885,6 +1919,12 @@
- } else if (name == "--deterministic_output") {
- deterministic_output_ = true;
-
-+ } else if (name == "--protobuf_in") {
-+ protobuf_in_path_ = value;
-+
-+ } else if (name == "--protobuf_out") {
-+ protobuf_out_path_ = value;
-+
- } else if (name == "--error_format") {
- if (value == "gcc") {
- error_format_ = ERROR_FORMAT_GCC;
-@@ -2018,22 +2058,38 @@
- --version Show version info and exit.
- -h, --help Show this text and exit.
- --encode=MESSAGE_TYPE Read a text-format message of the given type
-- from standard input and write it in binary
-- to standard output. The message type must
-+ from input protobuf file and write it in binary
-+ to output protobuf file. The message type must
- be defined in PROTO_FILES or their imports.
-+ The input/output protobuf files are specified
-+ using the --protobuf_in and --protobuf_out
-+ command line flags.
- --deterministic_output When using --encode, ensure map fields are
- deterministically ordered. Note that this order
- is not canonical, and changes across builds or
- releases of protoc.
- --decode=MESSAGE_TYPE Read a binary message of the given type from
-- standard input and write it in text format
-- to standard output. The message type must
-+ input protobuf file and write it in text format
-+ to output protobuf file. The message type must
- be defined in PROTO_FILES or their imports.
-+ The input/output protobuf files are specified
-+ using the --protobuf_in and --protobuf_out
-+ command line flags.
- --decode_raw Read an arbitrary protocol message from
-- standard input and write the raw tag/value
-- pairs in text format to standard output. No
-+ input protobuf file and write the raw tag/value
-+ pairs in text format to output protobuf file. No
- PROTO_FILES should be given when using this
-- flag.
-+ flag. The input/output protobuf files are
-+ specified using the --protobuf_in and
-+ --protobuf_out command line flags.
-+ --protobuf_in=FILE Absolute path to the protobuf file from which
-+ input of encoding/decoding operation will be
-+ read. If omitted, input will be read from
-+ standard input.
-+ --protobuf_out=FILE Absolute path to the protobuf file to which
-+ output of encoding/decoding operation will be
-+ written. If omitted, output will be written to
-+ standard output.
- --descriptor_set_in=FILES Specifies a delimited list of FILES
- each containing a FileDescriptorSet (a
- protocol buffer defined in descriptor.proto).
-@@ -2344,7 +2400,9 @@
- return true;
- }
-
--bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool) {
-+bool CommandLineInterface::EncodeOrDecode(const DescriptorPool* pool,
-+ int in_fd,
-+ int out_fd) {
- // Look up the type.
- const Descriptor* type = pool->FindMessageTypeByName(codec_type_);
- if (type == NULL) {
-@@ -2356,15 +2414,15 @@
- std::unique_ptr<Message> message(dynamic_factory.GetPrototype(type)->New());
-
- if (mode_ == MODE_ENCODE) {
-- SetFdToTextMode(STDIN_FILENO);
-- SetFdToBinaryMode(STDOUT_FILENO);
-+ SetFdToTextMode(in_fd);
-+ SetFdToBinaryMode(out_fd);
- } else {
-- SetFdToBinaryMode(STDIN_FILENO);
-- SetFdToTextMode(STDOUT_FILENO);
-+ SetFdToBinaryMode(in_fd);
-+ SetFdToTextMode(out_fd);
- }
-
-- io::FileInputStream in(STDIN_FILENO);
-- io::FileOutputStream out(STDOUT_FILENO);
-+ io::FileInputStream in(in_fd);
-+ io::FileOutputStream out(out_fd);
-
- if (mode_ == MODE_ENCODE) {
- // Input is text.
---- a/src/google/protobuf/compiler/command_line_interface.h
-+++ b/src/google/protobuf/compiler/command_line_interface.h
-@@ -292,7 +292,9 @@
- GeneratorContext* generator_context, std::string* error);
-
- // Implements --encode and --decode.
-- bool EncodeOrDecode(const DescriptorPool* pool);
-+ bool EncodeOrDecode(const DescriptorPool* pool,
-+ int in_fd,
-+ int out_fd);
-
- // Implements the --descriptor_set_out option.
- bool WriteDescriptorSet(
-@@ -427,6 +429,13 @@
- // parsed FileDescriptorSets to be used for loading protos. Otherwise, empty.
- std::vector<std::string> descriptor_set_in_names_;
-
-+ // When using --encode / --decode / --decode_raw absolute path to the output
-+ // file. (Empty string indicates write to STDOUT).
-+ std::string protobuf_out_path_;
-+ // When using --encode / --decode / --decode_raw, absolute path to the input
-+ // file. (Empty string indicates read from STDIN).
-+ std::string protobuf_in_path_;
-+
- // If --descriptor_set_out was given, this is the filename to which the
- // FileDescriptorSet should be written. Otherwise, empty.
- std::string descriptor_set_out_name_;
---- a/src/google/protobuf/compiler/command_line_interface_unittest.cc
-+++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc
-@@ -99,7 +99,7 @@
- virtual void SetUp();
- virtual void TearDown();
-
-- // Runs the CommandLineInterface with the given command line. The
-+ // Run the CommandLineInterface with the given command line. The
- // command is automatically split on spaces, and the string "$tmpdir"
- // is replaced with TestTempDir().
- void Run(const std::string& command);
-@@ -2626,6 +2626,17 @@
- std::string::npos);
- }
-
-+ void ExpectBinaryFilesMatch(const 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/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.8.ebuild b/dev-libs/protobuf/protobuf-21.8.ebuild
deleted file mode 100644
index 523c763c265c..000000000000
--- a/dev-libs/protobuf/protobuf-21.8.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2008-2022 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"
-)
-
-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.19.3.ebuild b/dev-libs/protobuf/protobuf-3.19.3.ebuild
deleted file mode 100644
index 5a3b627ea4de..000000000000
--- a/dev-libs/protobuf/protobuf-3.19.3.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs
-
-if [[ "${PV}" == "9999" ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
- EGIT_SUBMODULES=()
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
-HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf"
-if [[ "${PV}" == "9999" ]]; then
- SRC_URI=""
-else
- SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="BSD"
-SLOT="0/30"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.19.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.19.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/9392
- sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/9433
- sed -e "/^[[:space:]]*static_assert(alignof(T) <= 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
-
- insinto /usr/share/vim/vimfiles/syntax
- doins editors/proto.vim
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${FILESDIR}/proto.vim"
-
- if use emacs; then
- elisp-install ${PN} editors/protobuf-mode.el*
- elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
- fi
-
- if use examples; then
- DOCS+=(examples)
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-libs/protobuf/protobuf-3.19.6.ebuild b/dev-libs/protobuf/protobuf-3.19.6.ebuild
deleted file mode 100644
index 8784499c1fd7..000000000000
--- a/dev-libs/protobuf/protobuf-3.19.6.ebuild
+++ /dev/null
@@ -1,151 +0,0 @@
-# Copyright 2008-2022 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/30"
-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.16.0-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/9392
- sed -e "s/^AC_PROG_OBJC$/AS_CASE([\$target_os], [darwin*], [AC_PROG_OBJC], [AM_CONDITIONAL([am__fastdepOBJC], [false])])/" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/9433
- sed -e "/^[[:space:]]*static_assert(alignof(T) <= 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-3.20.1-r1.ebuild b/dev-libs/protobuf/protobuf-3.20.1-r1.ebuild
deleted file mode 100644
index 9d47f00fd02f..000000000000
--- a/dev-libs/protobuf/protobuf-3.20.1-r1.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 2008-2022 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"
- 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/31"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="emacs examples static-libs test zlib"
-RESTRICT="!test? ( test )"
-
-BDEPEND="emacs? ( app-editors/emacs:* )"
-DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-RDEPEND="emacs? ( app-editors/emacs:* )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.19.0-disable_no-warning-test.patch"
- "${FILESDIR}/${PN}-3.19.0-system_libraries.patch"
- "${FILESDIR}/${PN}-3.20.1-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- # 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
-
- 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.20.3.ebuild b/dev-libs/protobuf/protobuf-3.20.3.ebuild
deleted file mode 100644
index cade7f688a49..000000000000
--- a/dev-libs/protobuf/protobuf-3.20.3.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2008-2022 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/31"
-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"
-)
-
-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-9999.ebuild b/dev-libs/protobuf/protobuf-9999.ebuild
deleted file mode 100644
index 9f84c789877f..000000000000
--- a/dev-libs/protobuf/protobuf-9999.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2008-2022 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.1-protoc_input_output_files.patch"
-)
-
-DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
-
-src_prepare() {
- default
-
- # https://github.com/protocolbuffers/protobuf/issues/7413
- sed -e "/^AC_PROG_CXX_FOR_BUILD$/d" -i configure.ac || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8082
- sed -e "/^TEST_F(IoTest, LargeOutput) {$/,/^}$/d" -i src/google/protobuf/io/zero_copy_stream_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8459
- sed \
- -e "/^TEST(ArenaTest, BlockSizeSmallerThanAllocation) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -e "/^TEST(ArenaTest, SpaceAllocated_and_Used) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" \
- -i src/google/protobuf/arena_unittest.cc || die
-
- # https://github.com/protocolbuffers/protobuf/issues/8460
- sed -e "/^TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {$/a\\ if (sizeof(void*) == 4) {\n GTEST_SKIP();\n }" -i src/google/protobuf/any_test.cc || die
-
- # 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/psimd/psimd-2020.05.17.ebuild b/dev-libs/psimd/psimd-2020.05.17.ebuild
index 95bc6cfe3168..ac9abecb7884 100644
--- a/dev-libs/psimd/psimd-2020.05.17.ebuild
+++ b/dev-libs/psimd/psimd-2020.05.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,8 +14,4 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
S="${WORKDIR}"/${PN}-${CommitId}
diff --git a/dev-libs/pslib/pslib-0.4.6.ebuild b/dev-libs/pslib/pslib-0.4.6.ebuild
index c4ca79ad2892..d99a7f9ba545 100644
--- a/dev-libs/pslib/pslib-0.4.6.ebuild
+++ b/dev-libs/pslib/pslib-0.4.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,10 +6,10 @@ EAPI=8
inherit autotools
DESCRIPTION="pslib is a C-library to create PostScript files on the fly"
-HOMEPAGE="http://pslib.sourceforge.net/"
+HOMEPAGE="https://pslib.sourceforge.net/"
SRC_URI="mirror://sourceforge/pslib/${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="debug jpeg png tiff"
diff --git a/dev-libs/ptexenc/Manifest b/dev-libs/ptexenc/Manifest
index 046d9a807360..6bba4f271f42 100644
--- a/dev-libs/ptexenc/Manifest
+++ b/dev-libs/ptexenc/Manifest
@@ -1 +1,2 @@
DIST texlive-20210325-source.tar.xz 54837368 BLAKE2B 66bd4bdd43ff53513004b9b9b90ababa0ab5efcf183a27864a3d39cde9cf90721456bda90c49ad6014f4b12d2e6293feaf9a8b152b85a89ffaa96bf5056347df SHA512 afd6eb24efaeac7c58d43ff24162aece919079a9ae02934509f068c7a3828223c33c14d9db11ff7fea3560b08a06f352446ba7f845eefb4a56a87b96f088f213
+DIST texlive-20230311-source.tar.xz 68359984 BLAKE2B 6263e8d3e066db96f071138f2442b1ed7e1f3db7e6d261cdeb9a7e6e636c6e6ed45305c6bda3ab6f9a439c92eabf32a79bf6e371d16b747eebbc05ee47b85035 SHA512 93ac43f3055fee0103a6cfceea18d39ece63984914f3af9ad76da218f2d568852d9b987d1c9647c1497b985e4ffa297ef97dc2d50d3e90f62b03ad685af31d96
diff --git a/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild b/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild
index f3313148fcb3..ccaf4a3f4df8 100644
--- a/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild
+++ b/dev-libs/ptexenc/ptexenc-1.3.9_p20210325-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,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/~zlogene/distfiles/texlive/texlive-${PV#*_p}-source.tar.xz"
+SRC_URI="https://dev.gentoo.org/~sam/distfiles/texlive/texlive-${PV#*_p}-source.tar.xz"
S="${WORKDIR}/texlive-${PV#*_p}-source/texk/${PN}"
LICENSE="BSD"
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
index 4a13b9cccbfe..953f6dd7963a 100644
--- a/dev-libs/pthreadpool/Manifest
+++ b/dev-libs/pthreadpool/Manifest
@@ -1 +1 @@
-DIST pthreadpool-2022.05.09.tar.gz 55078 BLAKE2B c7ec88e9dd81c01444e511bd5ac845779f6839004130b9f306237ccb7a83fbe07851f4e780403bc97e448ba7e3f9eadb75904e4a6897503d953da8c9f1d5b0ab SHA512 e9ff2b502ee9faa78f9fe03e3e281e305ea6328bf5ebbcb0bf784786874ea3f3dd17b561a6ae98a677d56e813184d468fffab583fb45e06ec9be6ed7d7ea9f86
+DIST pthreadpool-2023.08.29.tar.gz 59634 BLAKE2B 9bcf641e65da7036959e21958511751005f4cec270e82a0bfe1fe49d1d98f79e9a981bf3e7e4fa7399bdf5127e116833855214a0ac2816ddfd7b919f0c7ad8d0 SHA512 764d81219f2bf1f056983b5c2576f377aeef37f0f2282e74f81bfe1eac5353e175603f80a6647c96165b24ebdcb7bc2189a376e8577ce4319d82679c33750451
diff --git a/dev-libs/pthreadpool/pthreadpool-2022.05.09.ebuild b/dev-libs/pthreadpool/pthreadpool-2022.05.09.ebuild
deleted file mode 100644
index b2331e976f63..000000000000
--- a/dev-libs/pthreadpool/pthreadpool-2022.05.09.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit cmake
-
-CommitId=1787867f6183f056420e532eec640cba25efafea
-DESCRIPTION="Portable and efficient thread pool implementation"
-HOMEPAGE="https://github.com/Maratyszcza/pthreadpool"
-SRC_URI="https://github.com/Maratyszcza/${PN}/archive/1787867.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}"/${P}-gentoo.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DPTHREADPOOL_BUILD_BENCHMARKS=OFF
- -DPTHREADPOOL_BUILD_TESTS=$(usex test ON OFF)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild b/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild
new file mode 100644
index 000000000000..ba614beea387
--- /dev/null
+++ b/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=4fe0e1e183925bf8cfa6aae24237e724a96479b8
+DESCRIPTION="Portable and efficient thread pool implementation"
+HOMEPAGE="https://github.com/Maratyszcza/pthreadpool"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND="dev-libs/FXdiv"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2022.05.09-gentoo.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # >=dev-cpp/gtest-1.13.0 requires C++14 standard or later
+ sed -i -e 's/CXX_STANDARD 11/CXX_STANDARD 14/g' \
+ CMakeLists.txt || die "sed failed"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPTHREADPOOL_BUILD_BENCHMARKS=OFF
+ -DPTHREADPOOL_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/pthreads4w/Manifest b/dev-libs/pthreads4w/Manifest
deleted file mode 100644
index b6ffdf2e8853..000000000000
--- a/dev-libs/pthreads4w/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pthreads4w-code-v3.0.0.zip 862409 BLAKE2B cd23103c92f8eaa2088fdd68cfc94655771d44c365ca32180395cdb8645b570c2f65620d3c2969671a48c6ac45889bc439f3490dc7ec2497dfeca9f758cda6cd SHA512 49e541b66c26ddaf812edb07b61d0553e2a5816ab002edc53a38a897db8ada6d0a096c98a9af73a8f40c94283df53094f76b429b09ac49862465d8697ed20013
diff --git a/dev-libs/pthreads4w/metadata.xml b/dev-libs/pthreads4w/metadata.xml
deleted file mode 100644
index 373934d6a80f..000000000000
--- a/dev-libs/pthreads4w/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- Also known as "pthreads-win32", POSIX Threads for Windows implements a large
- subset of the threads related API from the Single Unix Specification Version 3.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild b/dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild
deleted file mode 100644
index 9ab3c315154a..000000000000
--- a/dev-libs/pthreads4w/pthreads4w-3.0.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2019-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="POSIX Threads for Windows"
-HOMEPAGE="http://pthreads4w.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}-code-v${PV}.zip"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~x86-winnt"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND="
- app-arch/unzip
- sys-devel/parity
-"
-
-S=${WORKDIR}/${PN}-code-07053a521b0a9deb6db2a649cde1f828f2eb1f4f
-
-src_compile() {
- # from pthreads.h:
- # Note: Unless the build explicitly defines one of the following, then
- # we default to standard C style cleanup. This style uses setjmp/longjmp
- # in the cancellation and thread exit implementations and therefore won't
- # do stack unwinding if linked to applications that have it (e.g.
- # C++ apps). This is currently consistent with most/all commercial Unix
- # POSIX threads implementations.
- local variant="VC" # C style cleanup
-
- case ${CHOST} in
- *-libcmtd*) variant+="-static-debug" ;;
- *-libcmt*) variant+="-static" ;;
- *-msvcd*) variant+="-debug" ;;
- *-msvc*) ;;
- esac
-
- case ${CHOST} in
- x86_64-*) variant+=" TARGET_CPU=x64" ;;
- i?86-*) variant+=" TARGET_CPU=x86" ;;
- esac
-
- ${CHOST}-nmake -f Makefile ${variant} || die
-}
-
-src_install() {
- local V=$(ver_cut 1)
- case ${CHOST} in
- *-libcmtd*|*-msvcd*) V+="d" ;; # debug CRT
- esac
- case ${CHOST} in
- *-libcmt*) # static CRT
- dolib.so libpthreadVC${V}.lib
- newlib.so libpthreadVC${V}.lib libpthread.lib # for -lpthread
- ;;
- *-msvc*) # dynamic CRT
- dobin pthreadVC${V}.dll
- dolib.so pthreadVC${V}.lib
- newlib.so pthreadVC${V}.lib pthread.lib # for -lpthread
- ;;
- esac
- insinto /usr/include
- doins {pthread,sched,semaphore,_ptw32}.h
- einstalldocs
-}
-
-src_test() {
- ${CHOST}-nmake -DEXHAUSTIVE all-tests || die
-}
diff --git a/dev-libs/pugixml/Manifest b/dev-libs/pugixml/Manifest
index 04cdfbf435e1..4c599e303ab7 100644
--- a/dev-libs/pugixml/Manifest
+++ b/dev-libs/pugixml/Manifest
@@ -1 +1,2 @@
DIST pugixml-1.13.tar.gz 573528 BLAKE2B 62b7233d46587a95936c809f06b5d5277ac0f79f125e1d02382f13ed5122d4f7d21d120b0e48049bffd1e2cc413160fd67f9258b1fc2cfccb7f9db8b9bce10c4 SHA512 5ff95a1ce06df01a72e736be4684c097dc656b2fc330b7fe6bf62601aca5c72edd0f40e51a643ce92f4fe5ba632b0b9fb57fbb1524aebcdd70441adeedec4a86
+DIST pugixml-1.14.tar.gz 576683 BLAKE2B 0379916979f796f5d0f4063d2b156159ec90915694c4b2fa93b14dad717709a2dd3dc2851f794e56fb8e35f47d39d1b9d84905a3f4b5b89a8e677af9d5a24f99 SHA512 730d203829eb24d6e1c873f9b921ae97cf7a157fd45504151bc2e61adea5c536eaf33ff38c5ad61629b54a6686135ff1834a61102b4660fbb9ead4ecf20dfd34
diff --git a/dev-libs/pugixml/pugixml-1.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/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
index 7ca511afdc12..c157c9559060 100644
--- a/dev-libs/qcoro5/Manifest
+++ b/dev-libs/qcoro5/Manifest
@@ -1,2 +1 @@
-DIST qcoro5-0.6.0.tar.gz 122618 BLAKE2B 1fbd97d8b9897e9dc7408b2bf667064a3ec6326778c44472689e180af9eedc524236c5104b11a117fa8650f042a4ee3bd2b165e44385a829e8638c5e98d293a8 SHA512 e2e0219156a5ba693c935323c45c7414ce0f8d1773986ca63682812678e2b35146c76fa033ef791facfb57fa67fb96727df75ce6ecdae1e232be42f376973a8d
-DIST qcoro5-0.7.0.tar.gz 135419 BLAKE2B 8f593e76e960349090cea649848c6b3d422125f1bd292ec79026d0cdab7f7e7de77ec409d442c624efe2683a24dd7715ba108f400e154813b6b3da3eb0b8fc09 SHA512 cd49f957d30b63ee70080425c1ed8ffe05c09f7d5e3c6f043c2a9e66eee9a537c9bd6f12ea54fa9fa53871c5d6e5c4502e2c4a10c30eb3bf017505ba875838ba
+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
index 71b2a23080e9..57d397297f29 100644
--- a/dev-libs/qcoro5/metadata.xml
+++ b/dev-libs/qcoro5/metadata.xml
@@ -12,6 +12,7 @@
<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/qcoro5/qcoro5-0.6.0-r1.ebuild b/dev-libs/qcoro5/qcoro5-0.6.0-r1.ebuild
deleted file mode 100644
index 959cf76f3d08..000000000000
--- a/dev-libs/qcoro5/qcoro5-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-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/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 ~arm64 ~ppc64"
-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 test websockets"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-qt/qtcore:5
- dbus? ( dev-qt/qtdbus:5 )
- network? ( dev-qt/qtnetwork:5 )
- websockets? ( dev-qt/qtwebsockets:5 )
-"
-DEPEND="${RDEPEND}
- examples? (
- dev-qt/qtconcurrent: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)
- -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/qcoro5-0.7.0.ebuild b/dev-libs/qcoro5/qcoro5-0.7.0.ebuild
deleted file mode 100644
index 907417b1c89f..000000000000
--- a/dev-libs/qcoro5/qcoro5-0.7.0.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-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/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 ~arm64 ~ppc64"
-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 websockets"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-qt/qtcore:5
- dbus? ( dev-qt/qtdbus:5 )
- network? ( dev-qt/qtnetwork:5 )
- qml? ( dev-qt/qtdeclarative:5= )
- websockets? ( dev-qt/qtwebsockets:5 )
-"
-DEPEND="${RDEPEND}
- examples? (
- dev-qt/qtconcurrent: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)
- -DBUILD_TESTING=$(usex test)
- -DQCORO_WITH_QTWEBSOCKETS=$(usex websockets)
- )
- cmake_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc -r examples/*
- fi
- cmake_src_install
-}
diff --git a/dev-libs/qcustomplot/Manifest b/dev-libs/qcustomplot/Manifest
index b597eb03cf3a..3dcd20c8c631 100644
--- a/dev-libs/qcustomplot/Manifest
+++ b/dev-libs/qcustomplot/Manifest
@@ -1,2 +1,2 @@
-DIST qcustomplot-sharedlib-2.0.1.tar.gz 1963 BLAKE2B 294877d929564767009a8a4409111408eda1eb4e0cc64b48e644d25f30ef18151c2df1f0c5caa4e95c5b75dd492e795f97077e47bb927ff9637a2da9a2ec757e SHA512 ce90540fca7226eac37746327e1939a9c7af38fc2595f385ed04d6d1f49560da08fb5fae15d1b9d22b6ba578583f70de8f89ef26796770d41bf599c1b15c535d
-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/qcustomplot-2.0.1.ebuild b/dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild
deleted file mode 100644
index dcd0e02408fe..000000000000
--- a/dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 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/qoauth-2.0.1_pre20160315-r3.ebuild b/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild
index 06dc6eaaa41c..c1a097f977e2 100644
--- a/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild
+++ b/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,7 @@ IUSE="debug doc test"
RESTRICT="!test? ( test )"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
COMMON_DEPEND="
app-crypt/qca:2[debug?,qt5(+)]
diff --git a/dev-libs/qqwing/qqwing-1.3.4-r1.ebuild b/dev-libs/qqwing/qqwing-1.3.4-r1.ebuild
index 927b08ed0527..42a9646269aa 100644
--- a/dev-libs/qqwing/qqwing-1.3.4-r1.ebuild
+++ b/dev-libs/qqwing/qqwing-1.3.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ SRC_URI="https://qqwing.com/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0/2"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
+KEYWORDS="amd64 arm arm64 ~loong ~riscv x86"
src_install() {
default
diff --git a/dev-libs/qr-code-generator/Manifest b/dev-libs/qr-code-generator/Manifest
new file mode 100644
index 000000000000..488e61001477
--- /dev/null
+++ b/dev-libs/qr-code-generator/Manifest
@@ -0,0 +1,2 @@
+DIST qr-code-generator-1.8.0.tar.gz 193288 BLAKE2B 2e511baf35fbfdb71ad5e2dc91c1400a113eb9bce51afa022c34b7ad7d3c9be4a862e2caaef89f517fbbf29879223fb078c88fdec27d6a876126c798ac6772c6 SHA512 0cdf0873e71aed124fc7357da86fb26f23fd26432f94c9752fa5a044085b26e5aece2115134d0e50213ff24be7c55818e7dec31205a68751065bc82ab0c2c6ac
+DIST qr-code-generator-cmake-1.8.0.tar.gz 5573 BLAKE2B 206e88a0a2b9c069f5b9ebe78cb570c141ee12ea16c2bea0635b054ebb05c78654175e8391d744cc66bd00326d255acd96e25079d398cbb44569597fcf9797a5 SHA512 cd7da1c5cbb92ad25ee4c4cc820216628f2943268f884acc6c67ee6f74e943c639b74ec05470b6497f606594b5c6544b1ac9ab98d5b2d5196c0f7c627a4ce06e
diff --git a/dev-libs/qr-code-generator/metadata.xml b/dev-libs/qr-code-generator/metadata.xml
new file mode 100644
index 000000000000..5d36bf5a3c0d
--- /dev/null
+++ b/dev-libs/qr-code-generator/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chiitoo@gentoo.org</email>
+ <description>Primary maintainer</description>
+ </maintainer>
+ <longdescription>
+ Package combining the nayuki/QR-Code-generator upstream with the
+ CMake files from EasyCoding/qrcodegen-cmake upstream.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">EasyCoding/qrcodegen-cmake</remote-id>
+ <remote-id type="github">nayuki/QR-Code-generator</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild b/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild
new file mode 100644
index 000000000000..4a82614b6f10
--- /dev/null
+++ b/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="QR Code Generator Library in Multiple Languages"
+HOMEPAGE="
+ https://github.com/EasyCoding/qrcodegen-cmake
+ https://github.com/nayuki/QR-Code-generator
+"
+SRC_URI="
+ https://github.com/EasyCoding/qrcodegen-cmake/archive/v${PV}-cmake2.tar.gz -> qr-code-generator-cmake-${PV}.tar.gz
+ https://github.com/nayuki/QR-Code-generator/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+S="${WORKDIR}/QR-Code-generator-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+src_prepare() {
+ # Move the CMake files into the project root.
+ mv ../qrcodegen-cmake-${PV}-cmake2/* . || die
+
+ cmake_src_prepare
+}
diff --git a/dev-libs/qtcompress/Manifest b/dev-libs/qtcompress/Manifest
deleted file mode 100644
index dba886d100da..000000000000
--- a/dev-libs/qtcompress/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qtcompress-0_p20180513.tar.gz 251845 BLAKE2B eab320403b2b853fd12b9c10146bbdbbaad6053e57e7b72e7d80448c3913a6e4dbe898496dcec49631b8d0b371a9c7af20e30324dc960d91180cdf2fb4865121 SHA512 6a1d980f94d689063cbb8322e154d618de0002b956460303fe76cd0b6d14d6f9ea6925fe347aa91831eaa0364ea1c5ba50bdcbf5006b1651a23d93bb8867e336
diff --git a/dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch b/dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch
deleted file mode 100644
index 1dd5f4f1ed8c..000000000000
--- a/dev-libs/qtcompress/files/qtcompress-0_p20180513-nogui.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/tests/auto/unit/qzip/qzip.pro 2018-05-13 08:44:01.000000000 -0000
-+++ b/tests/auto/unit/qzip/qzip.pro 2020-10-10 14:23:34.377528668 -0000
-@@ -1,6 +1,7 @@
- CONFIG += testcase
- TARGET = tst_qzip
- QT += compress testlib
-+QT -= gui
- SOURCES += tst_qzip.cpp
-
- wince* {
diff --git a/dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch b/dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch
deleted file mode 100644
index de89e7ac2ae4..000000000000
--- a/dev-libs/qtcompress/files/qtcompress-0_p20180513-remove-zlib.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/src/compress/compress.pro b/src/compress/compress.pro
-index 14ec502..3105a7f 100644
---- a/src/compress/compress.pro
-+++ b/src/compress/compress.pro
-@@ -11,5 +11,3 @@ HEADERS += \
- qtcompressglobal.h
-
- SOURCES += qzip.cpp
--
--include(../3rdparty/zlib.pri)
diff --git a/dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch b/dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch
deleted file mode 100644
index cc7bec4ed1e1..000000000000
--- a/dev-libs/qtcompress/files/qtcompress-0_p20180513-test-include.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/tests/auto/unit/qzip/tst_qzip.cpp 2018-05-13 09:44:01.000000000 +0100
-+++ b/tests/auto/unit/qzip/tst_qzip.cpp 2020-09-28 09:40:14.493025102 +0100
-@@ -41,8 +41,8 @@
-
- #include <QtTest/QtTest>
- #include <QDebug>
--#include <QtCompress/qzipwriter.h>
--#include <QtCompress/qzipreader.h>
-+#include <qzipwriter.h>
-+#include <qzipreader.h>
-
- class tst_QZip : public QObject
- {
diff --git a/dev-libs/qtcompress/metadata.xml b/dev-libs/qtcompress/metadata.xml
deleted file mode 100644
index d7f3ad8a7aaf..000000000000
--- a/dev-libs/qtcompress/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>alexey+gentoo@asokolov.org</email>
- <name>Alexey Sokolov</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">nezticle/qtcompress</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/qtcompress/qtcompress-0_p20180513.ebuild b/dev-libs/qtcompress/qtcompress-0_p20180513.ebuild
deleted file mode 100644
index 6c44b02396a1..000000000000
--- a/dev-libs/qtcompress/qtcompress-0_p20180513.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit qmake-utils toolchain-funcs virtualx
-
-DESCRIPTION="A public API for QZip in an easy to use module"
-
-HOMEPAGE="https://github.com/nezticle/qtcompress"
-MY_COMMIT="23f8831826cd72aedf99fc3699148b6c994fd677"
-SRC_URI="https://github.com/nezticle/qtcompress/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/qtcompress-${MY_COMMIT}"
-
-LICENSE="|| ( LGPL-2.1 GPL-3 ) FDL-1.3"
-SLOT="0/5.11.0"
-KEYWORDS="amd64 ppc ppc64 ~riscv x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-qt/qtcore:5
- sys-libs/zlib
-"
-DEPEND="
- ${RDEPEND}
- test? ( dev-qt/qttest:5 )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-remove-zlib.patch"
- "${FILESDIR}/${P}-test-include.patch"
- "${FILESDIR}/${P}-nogui.patch"
-)
-
-src_prepare() {
- default
- # qtcompress is bundling its own zlib, remove it
- rm -r src/3rdparty/ || die
-}
-
-src_configure() {
- local pkg_config="$(tc-getPKG_CONFIG)"
- eqmake5 \
- "INCLUDEPATH+=$("${pkg_config}" --cflags zlib)" \
- "LIBS+=$("${pkg_config}" --libs zlib)"
-}
-
-src_test() {
- cd tests/auto/unit || die
- eqmake5 \
- "INCLUDEPATH+=${S}/src/compress"
- emake
- virtx qzip/target_wrapper.sh qzip/tst_qzip
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
- rm "${ED}/usr/$(get_libdir)/libQt5Compress.la" || die
- insinto /usr/include/qt5/QtCompress
- doins src/compress/{qzipreader.h,qzipwriter.h,qtcompressglobal.h}
-}
diff --git a/dev-libs/qtkeychain/Manifest b/dev-libs/qtkeychain/Manifest
index e7ad7c651d04..be66d503e662 100644
--- a/dev-libs/qtkeychain/Manifest
+++ b/dev-libs/qtkeychain/Manifest
@@ -1 +1 @@
-DIST qtkeychain-0.13.2.tar.gz 43494 BLAKE2B d90799df83e8bed7f4ee9cdf6c7f56c86b1aee7123735963c4e2f858a69bbf28bcd062c6a302f8687626b1884acde61d7f7882b985517b24a1358b57ea13cdcc SHA512 10f8b1c959a126ba14614b797ea5640404a0b95c71e452225c74856eae90e966aac581ca393508a2106033c3d5ad70427ea6f7ef3f2997eddf6d09a7b4fa26eb
+DIST qtkeychain-0.14.2.tar.gz 50915 BLAKE2B eed35eec296b62fec90e83e98c3ab817aa05f7cefd74c3790ce2f7c38c051d5b95b3664e688bef0cfe7b06583e844782f60454bb67b48f6507fc33c780c62bf0 SHA512 d681f60a6954a8fcb37039cfb1a6d69f5aee19f30313d65072c40cee1880c302b9f2ad3d994ae7a775b17479f443231774804ca438ef6b5e7ec25533d5d9f3c2
diff --git a/dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild b/dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild
deleted file mode 100644
index c8d2c178448a..000000000000
--- a/dev-libs/qtkeychain/qtkeychain-0.13.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
-DESCRIPTION="Qt API for storing passwords securely"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/frankosterfeld/qtkeychain/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-else
- inherit git-r3
- EGIT_REPO_URI="${HOMEPAGE}.git"
-fi
-
-LICENSE="BSD-2"
-SLOT="0/1"
-IUSE="gnome-keyring"
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- gnome-keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-
-DOCS=( ChangeLog ReadMe.md )
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_QT6=OFF
- -DBUILD_TEST_APPLICATION=OFF
- -DBUILD_TRANSLATIONS=ON
- -DLIBSECRET_SUPPORT=$(usex gnome-keyring)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild b/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild
new file mode 100644
index 000000000000..3ee664e93b23
--- /dev/null
+++ b/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake multibuild
+
+HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
+DESCRIPTION="Qt API for storing passwords securely"
+
+if [[ ${PV} != *9999* ]]; then
+ SRC_URI="https://github.com/frankosterfeld/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+else
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/frankosterfeld/${PN}.git"
+fi
+
+LICENSE="BSD-2"
+SLOT="0/1"
+IUSE="keyring +qt5 qt6"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+DEPEND="
+ keyring? (
+ app-crypt/libsecret
+ dev-libs/glib:2
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ )
+ qt6? ( dev-qt/qtbase:6[dbus] )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ qt5? ( dev-qt/linguist-tools:5 )
+ qt6? ( dev-qt/qttools:6[linguist] )
+"
+
+DOCS=( ChangeLog ReadMe.md )
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DECM_MKSPECS_INSTALL_DIR="${EPREFIX}"/usr/$(get_libdir)/${MULTIBUILD_VARIANT}/mkspecs
+ -DBUILD_TEST_APPLICATION=OFF
+ -DBUILD_TRANSLATIONS=ON
+ -DLIBSECRET_SUPPORT=$(usex keyring)
+ )
+
+ if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
+ mycmakeargs+=( -DBUILD_WITH_QT6=ON )
+ else
+ mycmakeargs+=( -DBUILD_WITH_QT6=OFF )
+ fi
+
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/quazip/Manifest b/dev-libs/quazip/Manifest
index f382b0c66d22..d8ac2a86ded3 100644
--- a/dev-libs/quazip/Manifest
+++ b/dev-libs/quazip/Manifest
@@ -1,2 +1,3 @@
DIST quazip-1.2.tar.gz 155878 BLAKE2B cfd5505509863dfdfcc88cf9f50aeff0ee0c1391412dc8aeb34ab020debd8a29279563323a0ca13a8d3b8b026518f5d079b8fa989aca20a9bec083c6dd4e3695 SHA512 3f4b1a4194ca286163b1c17880ea471a341dcc05d758ee8f3d1e540d0f6aed7ac18200450187034c46b4fab1da39111dca534d75859701259406a6dd50205386
DIST quazip-1.3.tar.gz 156138 BLAKE2B a9002bdfab39fc1516160b0073fd3d59a65a66eda98240b9a2936d4423b21b40dd9360122950a54dc18236bc2aaf4e1e2d761ba145f6dbd5014cf72a287fbb3b SHA512 3861a9084059576ff2690e8b911394b0286a60542ab021a4cc588537a60ea3a186ed7903c76544698001fa383dfd0de96bdfed433abaefc44158d3b30ab16fe2
+DIST quazip-1.4.tar.gz 157819 BLAKE2B bb0ec2ebd31d6ce5e2a19fc1b13570d57aa1438ff192621543ab6aec4e85f76677863d37efbe0bc59e3530ce023586440081cd47f069b4dcbac55118d12f8668 SHA512 38ce3aa77df1fd92229454e56b7290c066d1e319afa36a9f8ec8477004ae94df682e8f454f13cdaf586a1d0b0e033fe698081033a19536ecd53dd1e4b0204af9
diff --git a/dev-libs/quazip/files/quazip-1.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/quazip-1.3-r1.ebuild b/dev-libs/quazip/quazip-1.3-r1.ebuild
deleted file mode 100644
index 896e591fba00..000000000000
--- a/dev-libs/quazip/quazip-1.3-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-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="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-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
index 6721b93b6c47..5e17cb5068c1 100644
--- a/dev-libs/qxlsx/Manifest
+++ b/dev-libs/qxlsx/Manifest
@@ -1,2 +1,2 @@
-DIST qxlsx-1.4.4.tar.gz 4703732 BLAKE2B 0acf5e708f4dc981723a34b524c820a53a66cb13bf1ce5a1086106230e45dcac2ea6587b3c4ca039de491565ac886a2e5bd1225ee39437ee89a2ff7560da6fd7 SHA512 e6c3dd8822f2a8ab8bcd1a7434db7b202291e3d8de407e4629bdfc1afef507b57da4bc4a715d57b8d75915ce4b623189269083824c35d8e02d49d3e8909cceee
-DIST qxlsx-1.4.5.tar.gz 4705008 BLAKE2B dd853a20109c9d9dcd5757bbb436e620191eb1fb95c441b1ce3a119bd99397f6206da37b6d770c84e8717c75ce9ad1da4b82397030da02c49a092d958ebef261 SHA512 5ec63c210b12c037acd9f3cc4d351b9bd488add65872a27cca536117349ac2c2501649cb7c2f35e1ee95289e98bf9e9fea6554aef1379deafb50c5016ed21fe5
+DIST qxlsx-1.4.6.tar.gz 4705107 BLAKE2B 9329412c949d2eaaab9a1d536ca2680da0649ef8b7a07bda6f20dd3c3214db8abac458fde25f41afc8b8b22442b6b83820cefa6031ef27de857d49ebfbed774b SHA512 14651096d35889354ffc97ca80146fb6704901db210b90d5de4157ee67adddb2021a27969777369162b0f5424b31bc50596ecd86e2f6f138c329a7cf4f2161a8
+DIST qxlsx-1.4.7.tar.gz 4705261 BLAKE2B 8be35b86ef7f025d5cc0875275406a65e1624592d7c8fa97d743223ab143011de9e71dc40eb62d83edc28c16c5d9e9c8092ea082cd8898db277e8a94e1ea10e6 SHA512 5ca8841413d5bddf1cec2c6eb4434ae18c533231adf32a8157790ba81c0b305c7f02a70475492a45ce11d1d6cf6e483bd30cafe8629aa564a46cb749e1b43f43
diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch
deleted file mode 100644
index ffdf8483f41a..000000000000
--- a/dev-libs/qxlsx/files/qxlsx-1.4.4-libdir.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5d1059941f85365019ed08254e79abdb4ba80ee5 Mon Sep 17 00:00:00 2001
-From: Alexey Sokolov <sokolov@google.com>
-Date: Sun, 4 Sep 2022 01:22:30 +0100
-Subject: [PATCH] Install library to the correct lib dir
-
----
- QXlsx/CMakeLists.txt | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt
-index a6b1944..fc32918 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -181,9 +181,9 @@ set_target_properties(QXlsx PROPERTIES
-
- install(TARGETS QXlsx
- EXPORT QXlsxTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}
-- RUNTIME DESTINATION bin COMPONENT runtime
-- ARCHIVE DESTINATION lib COMPONENT devel
-- PUBLIC_HEADER DESTINATION include/QXlsx COMPONENT devel
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel
-+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsx COMPONENT devel
- )
-
- install(EXPORT QXlsxTargets
diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch
deleted file mode 100644
index 15795c645d47..000000000000
--- a/dev-libs/qxlsx/files/qxlsx-1.4.4-qtdefs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8e83402db866ae7a67582da28aa68c83545f13c8 Mon Sep 17 00:00:00 2001
-From: Alexey Sokolov <sokolov@google.com>
-Date: Fri, 26 Aug 2022 01:36:53 +0100
-Subject: [PATCH] Don't force Qt definitions onto users
-
-It breaks users who use "signals" keyword and convert const char* to
-QString.
----
- QXlsx/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt
-index aa774b1..a6b1944 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -140,7 +140,7 @@ add_library(QXlsx
-
- add_library(QXlsx::QXlsx ALIAS QXlsx)
-
--target_compile_definitions(QXlsx PUBLIC
-+target_compile_definitions(QXlsx PRIVATE
- -DQT_NO_KEYWORDS
- -DQT_NO_CAST_TO_ASCII
- -DQT_NO_CAST_FROM_ASCII
diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch
deleted file mode 100644
index f94aa6e46414..000000000000
--- a/dev-libs/qxlsx/files/qxlsx-1.4.4-qtversion.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-commit e3565f2b3999ead739066b33fa0fd346eb072d87
-Author: Alexey Sokolov <sokolov@google.com>
-Date: Sun Oct 2 22:46:03 2022 +0100
-
- Support installing qt5 and qt6 versions in parallel
-
-diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt
-index 5640d8a..8d34020 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -15,8 +15,8 @@ include(GNUInstallDirs)
-
--find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui REQUIRED)
- find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui REQUIRED)
-+set(EXPORT_NAME QXlsxQt${QT_VERSION_MAJOR})
-
--if (QT_MAJOR_VERSION EQUAL 6)
-+if (QT_VERSION_MAJOR EQUAL 6)
- set(CMAKE_CXX_STANDARD 17 CACHE STRING "")
- else()
- set(CMAKE_CXX_STANDARD 11 CACHE STRING "")
-@@ -166,7 +167,7 @@ if (BUILD_SHARED_LIBS)
- target_compile_definitions(QXlsx PUBLIC QXlsx_SHAREDLIB)
- endif()
-
--target_link_libraries(${PROJECT_NAME}
-+target_link_libraries(QXlsx
- Qt${QT_VERSION_MAJOR}::Core
- Qt${QT_VERSION_MAJOR}::GuiPrivate
- )
-@@ -180,39 +181,38 @@ PUBLIC
- )
-
- set_target_properties(QXlsx PROPERTIES
-- EXPORT_NAME QXlsx
-+ OUTPUT_NAME ${EXPORT_NAME}
- VERSION ${PROJECT_VERSION}
- SOVERSION 0.${PROJECT_VERSION}
- PUBLIC_HEADER "${QXLSX_PUBLIC_HEADERS}"
- )
-
- install(TARGETS QXlsx
-- EXPORT QXlsxTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ EXPORT ${EXPORT_NAME}Targets DESTINATION ${CMAKE_INSTALL_LIBDIR}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel
- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/QXlsx COMPONENT devel
- )
-
--install(EXPORT QXlsxTargets
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/QXlsx/
-- FILE QXlsxTargets.cmake
-+install(EXPORT ${EXPORT_NAME}Targets
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/
-+ FILE ${EXPORT_NAME}Targets.cmake
- NAMESPACE QXlsx::
- COMPONENT devel
- )
-
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config.cmake.in
-- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfig.cmake
-+ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake
- @ONLY
- )
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config-version.cmake.in
-- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfigVersion.cmake
-+ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake
- @ONLY
- )
- install(
- FILES
-- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfig.cmake
-- ${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfigVersion.cmake
-- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/QXlsx/
-+ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}Config.cmake
-+ ${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_NAME}ConfigVersion.cmake
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_NAME}/
- )
--
- include(CPackConfig)
-diff --git a/QXlsx/cmake/modules/qxlsx-config.cmake.in b/QXlsx/cmake/modules/qxlsx-config.cmake.in
-index 1aab813..d72276b 100644
---- a/cmake/modules/qxlsx-config.cmake.in
-+++ b/cmake/modules/qxlsx-config.cmake.in
-@@ -10,5 +10,5 @@
- SET(prefix "@CMAKE_INSTALL_PREFIX@")
- SET(exec_prefix "@CMAKE_INSTALL_PREFIX@")
- SET(QXlsx_FOUND "TRUE")
--
--include("${CMAKE_CURRENT_LIST_DIR}/QXlsxTargets.cmake")
-+
-+include("${CMAKE_CURRENT_LIST_DIR}/@EXPORT_NAME@Targets.cmake")
diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch b/dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch
deleted file mode 100644
index eff465497930..000000000000
--- a/dev-libs/qxlsx/files/qxlsx-1.4.4-soversion.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 647acc3c4d431278f3d2867a41a06d57f1978e63 Mon Sep 17 00:00:00 2001
-From: Alexey Sokolov <sokolov@google.com>
-Date: Sat, 8 Oct 2022 23:47:23 +0100
-Subject: [PATCH] Set soversion to version
-
-Since there's no ABI guarantees, as mentioned in #243
----
- QXlsx/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt
-index 8ddfd20..5640d8a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -182,7 +182,7 @@ PUBLIC
- set_target_properties(QXlsx PROPERTIES
- EXPORT_NAME QXlsx
- VERSION ${PROJECT_VERSION}
-- SOVERSION 0
-+ SOVERSION 0.${PROJECT_VERSION}
- PUBLIC_HEADER "${QXLSX_PUBLIC_HEADERS}"
- )
-
diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch b/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch
new file mode 100644
index 000000000000..90dd81fb8c88
--- /dev/null
+++ b/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch
@@ -0,0 +1,26 @@
+https://github.com/QtExcel/QXlsx/pull/279
+
+From 8c3e6633e3c901bc5a5cd477383421b0980dcd26 Mon Sep 17 00:00:00 2001
+From: Alexey Sokolov <sokolov@google.com>
+Date: Mon, 17 Apr 2023 23:43:59 +0100
+Subject: [PATCH] Fix #278
+
+There's no real reason to install the same headers twice, but at least
+now clients of the library can build again
+---
+ QXlsx/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/QXlsx/CMakeLists.txt b/QXlsx/CMakeLists.txt
+index 4fa7f7f..074922a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -179,7 +179,7 @@ PRIVATE
+ ${QXLSX_HEADERPATH}
+ PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/header>
+- $<INSTALL_INTERFACE:include/QXlsx>
++ $<INSTALL_INTERFACE:include/QXlsxQt${QT_VERSION_MAJOR}>
+ )
+
+ set_target_properties(QXlsx PROPERTIES
diff --git a/dev-libs/qxlsx/qxlsx-1.4.4.ebuild b/dev-libs/qxlsx/qxlsx-1.4.4.ebuild
deleted file mode 100644
index b68ab4c3e582..000000000000
--- a/dev-libs/qxlsx/qxlsx-1.4.4.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multibuild cmake
-
-DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt"
-
-HOMEPAGE="https://github.com/QtExcel/QXlsx"
-SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-# soversion
-SLOT="0/0.${PV}"
-KEYWORDS="amd64 ppc ppc64 ~riscv x86"
-
-IUSE="qt5 qt6"
-REQUIRED_USE="|| ( qt5 qt6 )"
-
-RDEPEND="
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5=
- )
- qt6? (
- dev-qt/qtbase:6=[gui]
- )
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/QXlsx-${PV}/QXlsx"
-PATCHES=(
- "${FILESDIR}/${P}-libdir.patch"
- "${FILESDIR}/${P}-qtdefs.patch"
- "${FILESDIR}/${P}-soversion.patch"
- "${FILESDIR}/${P}-qtversion.patch"
-)
-
-pkg_setup() {
- MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
-}
-
-src_configure() {
- my_src_configure() {
- local mycmakeargs=(
- -DQT_VERSION_MAJOR="${MULTIBUILD_VARIANT/qt/}"
- )
-
- cmake_src_configure
- }
-
- multibuild_foreach_variant my_src_configure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake_src_compile
-}
-
-src_install() {
- multibuild_foreach_variant cmake_src_install
-}
diff --git a/dev-libs/qxlsx/qxlsx-1.4.5.ebuild b/dev-libs/qxlsx/qxlsx-1.4.5.ebuild
deleted file mode 100644
index dd1bcb508c2a..000000000000
--- a/dev-libs/qxlsx/qxlsx-1.4.5.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multibuild cmake
-
-DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt"
-
-HOMEPAGE="https://github.com/QtExcel/QXlsx"
-SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-# soversion
-SLOT="0/0.1.4.4"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv ~x86"
-
-IUSE="qt5 qt6"
-REQUIRED_USE="|| ( qt5 qt6 )"
-
-RDEPEND="
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5=
- )
- qt6? (
- dev-qt/qtbase:6=[gui]
- )
-"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/QXlsx-${PV}/QXlsx"
-
-pkg_setup() {
- MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
-}
-
-src_configure() {
- my_src_configure() {
- local mycmakeargs=(
- -DQT_VERSION_MAJOR="${MULTIBUILD_VARIANT/qt/}"
- )
-
- cmake_src_configure
- }
-
- multibuild_foreach_variant my_src_configure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake_src_compile
-}
-
-src_install() {
- multibuild_foreach_variant cmake_src_install
-}
diff --git a/dev-libs/qxlsx/qxlsx-1.4.6.ebuild b/dev-libs/qxlsx/qxlsx-1.4.6.ebuild
new file mode 100644
index 000000000000..b00b67caf83e
--- /dev/null
+++ b/dev-libs/qxlsx/qxlsx-1.4.6.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multibuild cmake
+
+DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt"
+
+HOMEPAGE="https://github.com/QtExcel/QXlsx"
+SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+# soversion
+SLOT="0/0.1.4.4"
+KEYWORDS="amd64 ppc ppc64 ~riscv x86"
+
+IUSE="qt5 qt6"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RDEPEND="
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5=
+ )
+ qt6? (
+ dev-qt/qtbase:6=[gui]
+ )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/QXlsx-${PV}/QXlsx"
+
+PATCHES=(
+ "${FILESDIR}/qxlsx-1.4.6-headers.patch"
+)
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR="${MULTIBUILD_VARIANT/qt/}"
+ )
+
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/qxlsx/qxlsx-1.4.7.ebuild b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
new file mode 100644
index 000000000000..e11dac21a2ef
--- /dev/null
+++ b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multibuild cmake
+
+DESCRIPTION="Excel file(*.xlsx) reader/writer library using Qt"
+
+HOMEPAGE="https://github.com/QtExcel/QXlsx"
+SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+# soversion
+SLOT="0/0.1.4.4"
+KEYWORDS="amd64 ppc ppc64 ~riscv x86"
+
+IUSE="qt5 qt6"
+REQUIRED_USE="|| ( qt5 qt6 )"
+
+RDEPEND="
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5=
+ )
+ qt6? (
+ dev-qt/qtbase:6=[gui]
+ )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/QXlsx-${PV}/QXlsx"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ local mycmakeargs=(
+ -DQT_VERSION_MAJOR="${MULTIBUILD_VARIANT/qt/}"
+ )
+
+ cmake_src_configure
+ }
+
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant cmake_src_compile
+}
+
+src_install() {
+ multibuild_foreach_variant cmake_src_install
+}
diff --git a/dev-libs/raft/Manifest b/dev-libs/raft/Manifest
index 6c541200fb2c..3f7e7e8f6977 100644
--- a/dev-libs/raft/Manifest
+++ b/dev-libs/raft/Manifest
@@ -1,2 +1,2 @@
-DIST raft-0.16.0.tar.gz 347565 BLAKE2B 8452feed5bffefcc8087e62cdd48bda05be6a4068fbffcb0621779ab349902015be9095f252a253d6584faf4bfc6c8daefd97a130e7a9f8ef682ca03efd70dc0 SHA512 cee4a2f6fd9a0a16b591d46aa9df2104a50f2b62068eb27017e3347fc28a6b3cd3aef6bfabe3acc7e72844406b4b71aff1d1e088d08e83d6d2f5744876a681c8
-DIST raft-0.17.1.tar.gz 354331 BLAKE2B d1be3eb4139422dab8126879d2ba0782e8635a60ce9752f4389f79dd2238021d9679d3b5f799c9627921c954a4395cdff139ff41f8145ebc43190f2c4aa3e5a7 SHA512 20e2b4a144a597b77bcb31e8b22355725142b14fb50e20b33509e7b0dd10aa20d08501b66e836c659e9aa492184db71ea9e53a45fe4b908b1464eb94431154db
+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.11.3-disable-automagic-check-for-lz4.patch b/dev-libs/raft/files/raft-0.11.3-disable-automagic-check-for-lz4.patch
deleted file mode 100644
index 7cd81e53cea9..000000000000
--- a/dev-libs/raft/files/raft-0.11.3-disable-automagic-check-for-lz4.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index e0dbfc8..e595cb7 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -80,7 +80,9 @@ libraft_la_LDFLAGS += $(LZ4_LIBS)
- endif # LZ4_AVAILABLE
- if LZ4_ENABLED
- test_unit_core_CFLAGS += -DLZ4_ENABLED
-+test_unit_core_LDFLAGS = $(LZ4_LIBS)
- libraft_la_CFLAGS += -DLZ4_ENABLED
-+libraft_la_LDFLAGS += $(LZ4_LIBS)
- endif # LZ4_ENABLED
-
- if FIXTURE_ENABLED
-@@ -210,6 +212,7 @@ test_integration_uv_LDFLAGS += $(LZ4_LIBS)
- endif # LZ4_AVAILABLE
- if LZ4_ENABLED
- test_integration_uv_CFLAGS += -DLZ4_ENABLED
-+test_integration_uv_LDFLAGS += $(LZ4_LIBS)
- endif # LZ4_ENABLED
-
- endif # UV_ENABLED
-diff --git a/configure.ac b/configure.ac
-index df7bea9..0e2949f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -23,47 +23,13 @@ AM_CONDITIONAL(UV_ENABLED, test "x$have_uv" = "xyes")
- # explicitly disabled.
- AC_ARG_ENABLE(lz4, AS_HELP_STRING([--disable-lz4], [do not use lz4 compression]))
-
--# Thanks to the OpenVPN configure.ac file for this part.
--# If this fails, we will do another test next.
--# We also add set LZ4_LIBS otherwise linker will not know about the lz4 library
--PKG_CHECK_MODULES(LZ4, [liblz4 >= 1.7.1], [have_lz4="yes"], [LZ4_LIBS="-llz4"])
--if test "${have_lz4}" != "yes" ; then
-- AC_CHECK_HEADERS([lz4.h],
-- [have_lz4h="yes"],
-- [])
-- if test "${have_lz4h}" = "yes" ; then
-- AC_MSG_CHECKING([additionally if system LZ4 version >= 1.7.1])
-- AC_COMPILE_IFELSE(
-- [AC_LANG_PROGRAM([[
--#include <lz4.h>
-- ]],
-- [[
--/* Version encoding: MMNNPP (Major miNor Patch) - see lz4.h for details */
--#if LZ4_VERSION_NUMBER < 10701L
--#error LZ4 is too old
--#endif
-- ]]
-- )],
-- [
-- AC_MSG_RESULT([ok])
-- have_lz4="yes"
-- ],
-- [
-- AC_MSG_RESULT([system LZ4 library is too old])
-- have_lz4="no"
-- ]
-- )
-- fi
--fi
--
--AS_IF([test "x$enable_lz4" != "xno" -a "x$have_lz4" != "xyes"],
-- [AC_MSG_ERROR([liblz4 required but not found])], [])
--# LZ4 Can be available without being enabled, this allows a user to activate
--# it at a later stage through an API call.
--AM_CONDITIONAL(LZ4_AVAILABLE, test "x$have_lz4" = "xyes")
-+AS_IF([test "x$enable_lz4" != "xno"], [
-+ PKG_CHECK_MODULES(LZ4, [liblz4 >= 1.7.1], [LZ4_LIBS="-llz4"])
-+])
- # `LZ4_ENABLED` will cause the libuv snapshot implementation to use lz4
- # compression by default.
--AM_CONDITIONAL(LZ4_ENABLED, test "x$enable_lz4" != "xno" -a "x$have_lz4" = "xyes")
-+AM_CONDITIONAL(LZ4_ENABLED, test "x$enable_lz4" != "xno")
-+AM_CONDITIONAL(LZ4_AVAILABLE, test "x$enable_lz4" != "xno")
-
- # The fake I/O implementation and associated fixture is built by default, unless
- # explicitly disabled.
diff --git a/dev-libs/raft/metadata.xml b/dev-libs/raft/metadata.xml
index fc7c392c0349..94076382bb1e 100644
--- a/dev-libs/raft/metadata.xml
+++ b/dev-libs/raft/metadata.xml
@@ -20,6 +20,6 @@
snapshots).
</longdescription>
<upstream>
- <remote-id type="github">canonical/raft</remote-id>
+ <remote-id type="github">cowsql/raft</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/raft/raft-0.16.0.ebuild b/dev-libs/raft/raft-0.16.0.ebuild
deleted file mode 100644
index 2e08c12f2d18..000000000000
--- a/dev-libs/raft/raft-0.16.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="C implementation of the Raft consensus protocol"
-HOMEPAGE="https://github.com/canonical/raft"
-SRC_URI="https://github.com/canonical/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3-with-linking-exception"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="lz4 test zfs"
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/libuv:=
- lz4? ( app-arch/lz4:= )"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
- "${FILESDIR}"/raft-0.11.3-disable-automagic-check-for-lz4.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-uv
-
- --disable-benchmark
- --disable-debug
- --disable-example
- --disable-sanitize
- --disable-static
-
- $(use_enable lz4)
- $(use_enable test fixture)
-
- $(use_with zfs)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/raft/raft-0.17.1.ebuild b/dev-libs/raft/raft-0.17.1.ebuild
deleted file mode 100644
index a106fc2d4c91..000000000000
--- a/dev-libs/raft/raft-0.17.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="C implementation of the Raft consensus protocol"
-HOMEPAGE="https://github.com/canonical/raft"
-SRC_URI="https://github.com/canonical/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3-with-linking-exception"
-SLOT="0/3"
-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
- "${FILESDIR}"/raft-0.11.3-disable-automagic-check-for-lz4.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-uv
-
- --disable-backtrace
- --disable-benchmark
- --disable-debug
- --disable-example
- --disable-sanitize
- --disable-static
-
- $(use_enable lz4)
- $(use_enable test fixture)
-
- $(use_with zfs)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/raft/raft-0.22.0.ebuild b/dev-libs/raft/raft-0.22.0.ebuild
new file mode 100644
index 000000000000..39daa1268bef
--- /dev/null
+++ b/dev-libs/raft/raft-0.22.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C implementation of the Raft consensus protocol"
+HOMEPAGE="https://github.com/cowsql/raft"
+SRC_URI="https://github.com/cowsql/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+
+# Upstream change from canonical to cowsql resetted SONAME, 3 -> 0. bgo#915960
+SLOT="0/0"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="lz4 test zfs"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/libuv:=
+ lz4? ( app-arch/lz4:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # --disable-hardening: most of these are covered on non-hardened Gentoo already.
+ local myeconfargs=(
+ --enable-uv
+ --enable-v0
+
+ --disable-backtrace
+ --disable-benchmark
+ --disable-debug
+ --disable-example
+ --disable-hardening
+ --disable-sanitize
+ --disable-static
+
+ $(use_enable test fixture)
+
+ $(use_with lz4)
+ $(use_with zfs)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/raft/raft-0.22.1.ebuild b/dev-libs/raft/raft-0.22.1.ebuild
new file mode 100644
index 000000000000..4b51fe639271
--- /dev/null
+++ b/dev-libs/raft/raft-0.22.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C implementation of the Raft consensus protocol"
+HOMEPAGE="https://github.com/cowsql/raft"
+SRC_URI="https://github.com/cowsql/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+
+# Upstream change from canonical to cowsql resetted SONAME, 3 -> 0. bgo#915960
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="lz4 test zfs"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/libuv:=
+ lz4? ( app-arch/lz4:= )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # --disable-hardening: most of these are covered on non-hardened Gentoo already.
+ local myeconfargs=(
+ --enable-uv
+ --enable-v0
+
+ --disable-backtrace
+ --disable-benchmark
+ --disable-debug
+ --disable-example
+ --disable-hardening
+ --disable-sanitize
+ --disable-static
+
+ $(use_enable test fixture)
+
+ $(use_with lz4)
+ $(use_with zfs)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/rapidjson/files/rapidjson-1.1.0-gcc14-const.patch b/dev-libs/rapidjson/files/rapidjson-1.1.0-gcc14-const.patch
new file mode 100644
index 000000000000..0bc9e73b5683
--- /dev/null
+++ b/dev-libs/rapidjson/files/rapidjson-1.1.0-gcc14-const.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/914583
+https://github.com/Tencent/rapidjson/commit/3b2441b87f99ab65f37b141a7b548ebadb607b96
+https://github.com/Tencent/rapidjson/issues/718
+
+From 3b2441b87f99ab65f37b141a7b548ebadb607b96 Mon Sep 17 00:00:00 2001
+From: Janusz Chorko <janusz.chorko@apdu.pl>
+Date: Fri, 26 Aug 2016 21:17:38 +0200
+Subject: [PATCH] Removed non-compiling assignment operator. Fixed #718
+
+--- a/include/rapidjson/document.h
++++ b/include/rapidjson/document.h
+@@ -316,8 +316,6 @@ struct GenericStringRef {
+
+ GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {}
+
+- GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
+-
+ //! implicit conversion to plain CharType pointer
+ operator const Ch *() const { return s; }
+
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild
deleted file mode 100644
index a58044c99310..000000000000
--- a/dev-libs/rapidjson/rapidjson-1.1.0-r3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
-HOMEPAGE="https://rapidjson.org/"
-
-LICENSE="MIT"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-SLOT="0"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86"
- S="${WORKDIR}/rapidjson-${PV}"
-fi
-
-DEPEND="
- doc? ( app-doc/doxygen )
- test? ( dev-cpp/gtest )"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}/${P}-gcc-7.patch"
- "${FILESDIR}/${P}-system_gtest.patch"
- "${FILESDIR}/${P}-valgrind_optional.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e 's| -march=native||g' CMakeLists.txt || die
- sed -i -e 's| -Werror||g' CMakeLists.txt example/CMakeLists.txt test/unittest/CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
- -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
- -DRAPIDJSON_BUILD_DOC=$(usex doc)
- -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
- -DRAPIDJSON_BUILD_TESTS=$(usex test)
- -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
- )
- use test && mycmakeargs+=(
- -DVALGRIND_EXECUTABLE=
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
new file mode 100644
index 000000000000..1c16b109ab96
--- /dev/null
+++ b/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
+HOMEPAGE="https://rapidjson.org/"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
+ EGIT_SUBMODULES=()
+ inherit git-r3
+else
+ SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+ S="${WORKDIR}/rapidjson-${PV}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gcc-7.patch"
+ "${FILESDIR}/${P}-system_gtest.patch"
+ "${FILESDIR}/${P}-valgrind_optional.patch"
+ "${FILESDIR}/${P}-gcc14-const.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e 's| -march=native||g' CMakeLists.txt || die
+ sed -i -e 's| -Werror||g' CMakeLists.txt example/CMakeLists.txt test/unittest/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ -DRAPIDJSON_BUILD_CXX11=OFF # latest gtest requires C++14 or later
+ -DRAPIDJSON_BUILD_DOC=$(usex doc)
+ -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
+ -DRAPIDJSON_BUILD_TESTS=$(usex test)
+ -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
+ )
+ use test && mycmakeargs+=(
+ -DVALGRIND_EXECUTABLE=
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rapidjson/rapidjson-9999.ebuild b/dev-libs/rapidjson/rapidjson-9999.ebuild
index c13c44dc56c8..b98b72a191b7 100644
--- a/dev-libs/rapidjson/rapidjson-9999.ebuild
+++ b/dev-libs/rapidjson/rapidjson-9999.ebuild
@@ -1,32 +1,32 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API"
HOMEPAGE="https://rapidjson.org/"
-LICENSE="MIT"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-SLOT="0"
-
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/miloyip/rapidjson.git"
EGIT_SUBMODULES=()
inherit git-r3
else
SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
S="${WORKDIR}/rapidjson-${PV}"
fi
-DEPEND="
- doc? ( app-doc/doxygen )
- test? ( dev-cpp/gtest )"
-RDEPEND=""
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-cpp/gtest )
+"
PATCHES=(
"${FILESDIR}/${PN}-1.1.0-system_gtest.patch"
@@ -45,6 +45,8 @@ src_configure() {
local mycmakeargs=(
-DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}"
-DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
+ -DRAPIDJSON_BUILD_CXX11=OFF # latest gtest requires C++14 or later
+ -DRAPIDJSON_BUILD_CXX17=ON
-DRAPIDJSON_BUILD_DOC=$(usex doc)
-DRAPIDJSON_BUILD_EXAMPLES=$(usex examples)
-DRAPIDJSON_BUILD_TESTS=$(usex test)
diff --git a/dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch b/dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch
new file mode 100644
index 000000000000..50a48de12cda
--- /dev/null
+++ b/dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch
@@ -0,0 +1,29 @@
+https://github.com/dajobe/rasqal/pull/13
+
+From b5fdf2539b5eec823ca449de8d04defe37f97ba7 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 19 Dec 2023 21:31:36 +0100
+Subject: [PATCH] configure: Fix incorrect argument type in gcry_md_open
+
+The gcry_md_open function expects a gcry_md_hd_t * argument,
+and not a gcry_md_hd_t argument (which is also a pointer behind
+the typedef). Future compilers will likely treat this as an
+error, causing the check to fail unconditionally.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 113d4f89..6aed2f46 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -771,7 +771,7 @@ elif test "$ac_cv_header_gcrypt_h" = "yes"; then
+ LIBS="$LIBS `$LIBGCRYPT_CONFIG --libs`"
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+- #include <gcrypt.h>]], [[ gcry_md_hd_t hash; gcry_md_open(hash, GCRY_MD_MD5, 0); ]])],[have_digest_gcrypt=yes],[have_digest_gcrypt=no])
++ #include <gcrypt.h>]], [[ gcry_md_hd_t hash; gcry_md_open(&hash, GCRY_MD_MD5, 0); ]])],[have_digest_gcrypt=yes],[have_digest_gcrypt=no])
+
+ CPPFLAGS="$oCPPFLAGS"
+ LIBS="$oLIBS"
+
diff --git a/dev-libs/rasqal/rasqal-0.9.33-r1.ebuild b/dev-libs/rasqal/rasqal-0.9.33-r1.ebuild
deleted file mode 100644
index 3b56db4ba01c..000000000000
--- a/dev-libs/rasqal/rasqal-0.9.33-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 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="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 ~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
- >=sys-devel/flex-2.5.36
- 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
-)
-
-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-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/rccl/Manifest b/dev-libs/rccl/Manifest
index 50be3ed5b7b8..baeaa02c7d4e 100644
--- a/dev-libs/rccl/Manifest
+++ b/dev-libs/rccl/Manifest
@@ -1 +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.7.1-remove-chrpath.patch b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
new file mode 100644
index 000000000000..a9184f1c7b98
--- /dev/null
+++ b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
@@ -0,0 +1,17 @@
+chrpath is not used in rccl 5.7.1
+
+Upstream fix: https://github.com/ROCmSoftwarePlatform/rccl/pull/811
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -7,11 +7,6 @@ if(BUILD_TESTS)
+
+ message("Building rccl unit tests (Installed in /test/rccl-UnitTests)")
+
+- find_program(CHRPATH chrpath)
+- if(NOT CHRPATH)
+- message(FATAL_ERROR "chrpath is required for rccl-UnitTests. Please install (e.g. sudo apt-get install chrpath)")
+- endif()
+-
+ find_package(hsa-runtime64 PATHS /opt/rocm )
+ if(${hsa-runtime64_FOUND})
+ message("hsa-runtime64 found @ ${hsa-runtime64_DIR} ")
diff --git a/dev-libs/rccl/rccl-5.1.3.ebuild b/dev-libs/rccl/rccl-5.1.3.ebuild
index b7256c9d8ed4..92092f7946cf 100644
--- a/dev-libs/rccl/rccl-5.1.3.ebuild
+++ b/dev-libs/rccl/rccl-5.1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,8 +19,8 @@ IUSE="test"
RDEPEND="dev-util/hip
dev-util/rocm-smi:${SLOT}"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/cmake-3.22
- >=dev-util/rocm-cmake-5.0.2-r1
+BDEPEND=">=dev-build/cmake-3.22
+ >=dev-build/rocm-cmake-5.0.2-r1
test? ( dev-cpp/gtest )"
RESTRICT="!test? ( test )"
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/metadata.xml b/dev-libs/re2/metadata.xml
index d37b24f2b3a6..3924d20eebc1 100644
--- a/dev-libs/re2/metadata.xml
+++ b/dev-libs/re2/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>chromium@gentoo.org</email>
- <name>Chromium in Gentoo Project</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">google/re2</remote-id>
</upstream>
diff --git a/dev-libs/re2/re2-0.2022.12.01.ebuild b/dev-libs/re2/re2-0.2022.12.01.ebuild
index 403353b017ac..2041d1534b5e 100644
--- a/dev-libs/re2/re2-0.2022.12.01.ebuild
+++ b/dev-libs/re2/re2-0.2022.12.01.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2012-2023 Gentoo Authors
+# Copyright 2012-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ LICENSE="BSD"
# 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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="icu"
BDEPEND="icu? ( virtual/pkgconfig )"
diff --git a/dev-libs/redis-ipc/metadata.xml b/dev-libs/redis-ipc/metadata.xml
index 1ca33292c1d8..87455ad20795 100644
--- a/dev-libs/redis-ipc/metadata.xml
+++ b/dev-libs/redis-ipc/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>nerdboy@gentoo.org</email>
- <name>Stephen L Arnold</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
Convenience library for using redis server and JSON as IPC
mechanism (command queues, settings, status, event channels).
diff --git a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch b/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch
deleted file mode 100644
index af8e3d560d7b..000000000000
--- a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-add-PHP7-support.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Origin: Based on patch from Petr Písař <ppisar@redhat.com>
-Date: Tue, 13 Jun 2017 15:29:15 +0200
-
---- a/php/redland-post.i
-+++ b/php/redland-post.i
-@@ -132,8 +132,11 @@ librdf_php_world_init(void)
- exception_ce = zend_exception_get_default();
- INIT_CLASS_ENTRY(ee_ce, "RedlandException", NULL);
- redland_exception_ptr = zend_register_internal_class_ex(&ee_ce,
-- exception_ce,
-- NULL TSRMLS_CC);
-+ exception_ce
-+#if PHP_MAJOR_VERSION < 7
-+ ,NULL TSRMLS_CC
-+#endif
-+ );
- #endif
-
- memset(&librdf_php_locator, '\0', sizeof(raptor_locator));
---- a/php/redland-typemap.i
-+++ b/php/redland-typemap.i
-@@ -1,17 +1,17 @@
--%typemap(in) librdf_uri* %{
-- if(SWIG_ConvertPtr(*$input, (void **) &$1, SWIGTYPE_p_librdf_uri_s, 0) < 0) {
-+%typemap(in) librdf_uri %{
-+ if(SWIG_ConvertPtr($input, (void **) &$1, SWIGTYPE_p_librdf_uri_s, 0) < 0) {
- /* Allow NULL from php for librdf_uri* */
-- if ((*$input)->type==IS_NULL)
-+ if ($input->type==IS_NULL)
- $1=NULL;
- else
- SWIG_PHP_Error(E_ERROR, "Type error in argument $argnum of $symname. Expected $1_descriptor");
- }
- %}
-
--%typemap(in) librdf_node* %{
-- if(SWIG_ConvertPtr(*$input, (void **) &$1, SWIGTYPE_p_librdf_node_s, 0) < 0) {
-+%typemap(in) librdf_node %{
-+ if(SWIG_ConvertPtr($input, (void **) &$1, SWIGTYPE_p_librdf_node_s, 0) < 0) {
- /* Allow NULL from php for librdf_node* */
-- if ((*$input)->type==IS_NULL)
-+ if ($input->type==IS_NULL)
- $1=NULL;
- else
- SWIG_PHP_Error(E_ERROR, "Type error in argument $argnum of $symname. Expected $1_descriptor");
-
---- a/php/test.php
-+++ b/php/test.php
-@@ -26,11 +26,9 @@
- /* ------------------------------------------------------------------------ */
-
- print "Testing Redland...\n";
--$dlls = array("redland.so", "php_redland.dll", "redland.dylib", "redland.bundle");
--foreach ($dlls as $dll) {
-- if(file_exists($dll)) {
-- dl($dll);
-- }
-+if (extension_loaded('redland') !== true) {
-+ print "Redland extension not loaded. Cannot run tests!" . PHP_EOL;
-+ exit(1);
- }
-
- $world=librdf_php_get_world();
-
diff --git a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch b/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch
deleted file mode 100644
index 8f8dd409c0d3..000000000000
--- a/dev-libs/redland-bindings/files/redland-bindings-1.0.17.1-php-config-r1.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -58,7 +58,6 @@ AC_CHECK_PROGS(TAR, gnutar gtar tar)
- AC_CHECK_PROGS(LUA, lua)
- AC_CHECK_PROGS(PYTHON, python)
- AC_CHECK_PROGS(PERL, perl)
--AC_CHECK_PROGS(PHP, php)
- AC_CHECK_PROGS(RUBY, ruby)
- AC_CHECK_PROGS(SWIG, swig)
- # Gnome
-@@ -153,15 +152,28 @@ if test "X$LUA_VERSION" != X; then
- fi
- fi
-
-+dnl Find php-config script.
-+AC_ARG_WITH([php-config],
-+ [AS_HELP_STRING([--with-php-config=PATH], [Path to php-config [php-config]])],
-+ [with_php_config=${withval}],
-+ [with_php_config=php-config])
-+
-+if test "${with_php_config}" = "php-config"; then
-+ AC_CHECK_PROG(PHP_CONFIG, php-config, php-config)
-+elif test -x "${with_php_config}"; then
-+ PHP_CONFIG=${with_php_config}
-+ AC_SUBST(PHP_CONFIG)
-+ AC_MSG_NOTICE([found ${PHP_CONFIG}])
-+fi
-
--AC_CHECK_PROG(PHP_CONFIG, php-config, php-config)
- if test "X$PHP_CONFIG" != X ; then
-+ PHP_VERSION=`${PHP_CONFIG} --version`
-+ PHP_INCLUDES=`${PHP_CONFIG} --includes`
-+ PHP_EXTENSION_DIR=`${PHP_CONFIG} --extension-dir`
-
-- PHP_VERSION=`$PHP_CONFIG --version`
-- PHP_INCLUDES=`$PHP_CONFIG --includes`
-- PHP_EXTENSION_DIR=`$PHP_CONFIG --extension-dir`
--
-- if test $PHP_VERSION '>' 5.0.0; then
-+ if test $PHP_VERSION '>' 7; then
-+ PHP_SWIG="-php7"
-+ elif test $PHP_VERSION '>' 5.0.0; then
- PHP_SWIG="-php5"
- else
- PHP_SWIG="-php4"
-@@ -200,6 +212,8 @@ if test "X$PHP_CONFIG" != X ; then
- AC_MSG_RESULT(compile '$PHP_CFLAGS' link '$PHP_LDFLAGS' suffix $PHP_SO_SUFFIX)
-
- else
-+ AC_MSG_WARN([php-config not found])
-+
- # This allows 'make clean' in the php directory to work when
- # php isn't available
- PHP=:
-@@ -445,13 +459,17 @@ if test "X$with_php" != Xno ; then
- with_php=yes
- fi
-
--PHP_VERSION=`php-config --version 2>/dev/null`
--if test "X$PHP_VERSION" != X; then
-- languages_available="$languages_available php($PHP_VERSION)"
-- if test $with_php = yes; then
-- languages="$languages php"
-+if test "X${PHP_VERSION}" != "X"; then
-+ languages_available="$languages_available php(${PHP_VERSION})"
-+fi
-+
-+if test ${with_php} = yes; then
-+ if test "X${PHP_VERSION}" = "X"; then
-+ AC_MSG_ERROR([Failed to detect PHP version])
- fi
-+ languages="$languages php"
- fi
-+
- AC_MSG_RESULT($with_php)
- AC_SUBST(PHP_VERSION)
-
diff --git a/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r101.ebuild b/dev-libs/redland-bindings/redland-bindings-1.0.17.1-r101.ebuild
index 16ec91b7623d..d9633b1acd8a 100644
--- 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
@@ -6,23 +6,16 @@ EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
PYTHON_COMPAT=( python3_{9..11} )
-USE_PHP="php7-4"
-PHP_EXT_ECONF_ARGS="--with-php=yes --without-lua --without-perl --without-python --without-ruby"
-PHP_EXT_NAME="redland"
-PHP_EXT_OPTIONAL_USE="php"
-PHP_EXT_SKIP_PATCHES="yes"
-PHP_EXT_SKIP_PHPIZE="yes"
-
-inherit lua php-ext-source-r3 python-single-r1 autotools
+inherit lua python-single-r1 autotools
DESCRIPTION="Language bindings for Redland"
-HOMEPAGE="http://librdf.org/bindings/"
-SRC_URI="http://download.librdf.org/source/${P}.tar.gz"
+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 php ruby test"
+IUSE="lua perl python ruby test"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
@@ -33,10 +26,7 @@ RDEPEND="dev-libs/redland
lua? ( ${LUA_DEPS} )
perl? ( dev-lang/perl:= )
python? ( ${PYTHON_DEPS} )
- ruby? ( dev-lang/ruby:* dev-ruby/log4r )
- php? (
- php_targets_php7-4? ( dev-lang/php:7.4[-threads] )
- )"
+ ruby? ( dev-lang/ruby:* dev-ruby/log4r )"
DEPEND="${RDEPEND}
dev-lang/swig
@@ -46,8 +36,6 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}"/${P}-bool.patch
- "${FILESDIR}"/${PN}-1.0.17.1-php-config-r1.patch
- "${FILESDIR}"/${PN}-1.0.17.1-add-PHP7-support.patch
)
pkg_setup() {
@@ -63,8 +51,6 @@ src_prepare() {
# "error: redland_wrap.c: No such file or directory",
# have to copy the sources.
use lua && lua_copy_sources
-
- use php && php-ext-source-r3_src_prepare
}
lua_src_configure() {
@@ -93,8 +79,6 @@ src_configure() {
if use lua; then
lua_foreach_impl lua_src_configure
fi
-
- use php && php-ext-source-r3_src_configure
}
lua_src_compile() {
@@ -113,8 +97,6 @@ src_compile() {
if use lua; then
lua_foreach_impl lua_src_compile
fi
-
- use php && php-ext-source-r3_src_compile
}
lua_src_test() {
@@ -133,17 +115,6 @@ src_test() {
if use lua; then
lua_foreach_impl lua_src_test
fi
-
- if use php ; then
- local slot
- for slot in $(php_get_slots) ; do
- php_init_slot_env "${slot}"
- cd php || die
- ${PHPCLI} -v
- ${PHPCLI} -d "extension=./${PHP_EXT_NAME}.so" -f test.php || die "PHP tests for ${slot} failed!"
- cd "${S}" || die
- done
- fi
}
lua_src_install() {
@@ -170,17 +141,6 @@ src_install() {
use python && python_optimize
- if use php; then
- local slot
- for slot in $(php_get_slots); do
- php_init_slot_env "${slot}"
- exeinto "${EXT_DIR#$EPREFIX}"
- doexe "php/${PHP_EXT_NAME}.so"
- done
-
- php-ext-source-r3_createinifiles
- fi
-
local DOCS=( AUTHORS ChangeLog NEWS README TODO )
local HTML_DOCS=( {NEWS,README,RELEASE,TODO}.html )
einstalldocs
diff --git a/dev-libs/redland/redland-1.0.17-r3.ebuild b/dev-libs/redland/redland-1.0.17-r3.ebuild
index ce2896dd832d..cb23383246a5 100644
--- a/dev-libs/redland/redland-1.0.17-r3.ebuild
+++ b/dev-libs/redland/redland-1.0.17-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,12 +6,12 @@ EAPI=8
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"
+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"
+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="
@@ -56,6 +56,7 @@ src_configure() {
# 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) \
diff --git a/dev-libs/rinutils/Manifest b/dev-libs/rinutils/Manifest
index 172d0bc8efc7..2dd7c8337c8c 100644
--- a/dev-libs/rinutils/Manifest
+++ b/dev-libs/rinutils/Manifest
@@ -1 +1,2 @@
DIST rinutils-0.10.0.tar.xz 17268 BLAKE2B 2c651b70295d10690ca76bf1349ce83728cd5398fe4babf821ee6a0d61d4c7d107c6c68595e19a841fb5baaa0057237357b3917acd61c02599781bf0252fd512 SHA512 d3780b34b4eda4658f65cf7555553430441fcd45fb2d4fdba22a8f48c0df09c6c0a4e9543262c797c0602e2f9bace2d3f41514ae202ee13183286c9fb1f38677
+DIST rinutils-0.10.2.tar.xz 19452 BLAKE2B 45345ab9cdefaa789856d312a1fb3e595e2be9701d0dc33ddc8f49b5b45caf4b1e1de6463a20245a841902b82bdeb6f0c7dcd8c89071159f1e85938537f41d0b SHA512 e2bc6304e84235947aa9aeb09fae0a27c10892ce547d59ab82569e2f03219a783a20c3bf7bd8a471464c2c07fe465eb8f2985e31d1f0e060da7d7bd832a67b67
diff --git a/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild b/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild
new file mode 100644
index 000000000000..e6ce2cce62ed
--- /dev/null
+++ b/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Set of C headers containing macros and static functions"
+HOMEPAGE="https://www.shlomifish.org/open-source/projects/ https://github.com/shlomif/rinutils"
+SRC_URI="https://github.com/shlomif/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc64 ~riscv ~sparc ~x86"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-perl/Env-Path
+ dev-perl/Path-Tiny
+ dev-perl/Inline
+ dev-perl/Inline-C
+ dev-perl/Test-TrailingSpace
+ dev-perl/Test-Differences
+ dev-perl/IO-All
+ dev-perl/Perl-Critic
+ dev-perl/Perl-Tidy
+ dev-perl/Test-Pod
+ dev-perl/Test-Pod-Coverage
+ dev-perl/Test-Trap
+ dev-util/cmocka
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_APPLYING_RPATH=OFF
+ -DWITH_TEST_SUITE=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/rinutils/rinutils-0.10.2.ebuild b/dev-libs/rinutils/rinutils-0.10.2.ebuild
new file mode 100644
index 000000000000..bc181a075736
--- /dev/null
+++ b/dev-libs/rinutils/rinutils-0.10.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Set of C headers containing macros and static functions"
+HOMEPAGE="https://www.shlomifish.org/open-source/projects/ https://github.com/shlomif/rinutils"
+SRC_URI="https://github.com/shlomif/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~loong ~mips ppc64 ~riscv ~sparc x86"
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_APPLYING_RPATH=OFF
+ -DWITH_TEST_SUITE=OFF # tests require perl
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/rlog/rlog-1.4.ebuild b/dev-libs/rlog/rlog-1.4.ebuild
index 1f58e0626556..e32a66b385df 100644
--- a/dev-libs/rlog/rlog-1.4.ebuild
+++ b/dev-libs/rlog/rlog-1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,9 @@ SRC_URI="https://rlog.googlecode.com/files/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc sparc x86"
-IUSE=""
+IUSE="valgrind"
+
+DEPEND="valgrind? ( dev-debug/valgrind )"
PATCHES=(
"${FILESDIR}"/${PN}-1.3.7-gcc-4.3.patch
@@ -25,6 +27,10 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ econf $(use_enable valgrind)
+}
+
src_install() {
default
diff --git a/dev-libs/rocksdb/Manifest b/dev-libs/rocksdb/Manifest
index 90462c51e272..0ef85aec8497 100644
--- a/dev-libs/rocksdb/Manifest
+++ b/dev-libs/rocksdb/Manifest
@@ -1,4 +1,4 @@
DIST rocksdb-6.14.6.tar.gz 6397194 BLAKE2B 43ad8e7e9fdf0c6c75ff03370f2107899bbcef9fd34630c85408abcf208a8213f5e24ea50407bd6a719220b6c29b9ba29c121e94a5a2701f637b17ccf50b90a4 SHA512 609f407b0b2810954541ad8ebad5c754ebfde5021f24ee4b3f1544a5335252c06cbe2b282562e3d084bb9cbe8de239668fdedb2d2d726056c31cf9463db08fe7
-DIST rocksdb-6.15.5.tar.gz 6501252 BLAKE2B f85c6b54043019692a7174e41b69625650d072ee4de1f2850628854af4b5672ff7072ab5c41de84bca9ad0713a1eea7ad7c5cca5ba9b3b96c4bd492a01b5e859 SHA512 c0918fd48bc1e57be9e30452c5cd0c2ba627a15012ab6922404d6cddffdf80799e4442b14d03cbe13a9a9acbdf1736c505cc6f5406efefbf68aba71ec05cf5f0
-DIST rocksdb-6.17.3.tar.gz 6651009 BLAKE2B c032bdf61d93a35e84c65146ad6d1f8639e9f36a323c142fe4131b501051bfb9c4c4edb13b69c86e35740117029996bb4c94887ea690d1957926bdfd347c744a SHA512 085adab94b7eb22859b4119b0356f148231800413571e932a7248967b1866d40a0be4b8265f2a9c6c21c600d3b2254c36e64ce7851171ff7c439a17306a84981
DIST rocksdb-7.9.2.tar.gz 12058713 BLAKE2B 76a840565fccdc800eaad055da7698f7a5fc6e217187e078d60420c61cde1236c427cc4ae7d557c69ee5c358cd1ebc7fc4ed52063c04965fcc2c3c35774e9f59 SHA512 9cf2a359cedb21ca70fc921e54f19c406fd9aa2a739ad1627842fad2dec0e7dedbfe52aa8e85fbfbe7005c00ca1e7e7013f728d4d9938f3cebdf794504b431cb
+DIST rocksdb-8.10.0.tar.gz 13316582 BLAKE2B 63f5a13c285dcc830d9d31623435af5d8385a1ecad2b4bbf433cdc9f1e8032218a24f06220199fab4deb385d3964890fc5de6bfdbadd5cd304826aeca600b246 SHA512 524e3e70ed2b1d2e6c61a7b401946e50473cc95684ce4efc6250062f5bc945e443e96f7907fcc3ee1ab98c71179a8b56a654383cf2c0bbe1bb20907ab1ac7523
+DIST rocksdb-8.11.3.tar.gz 13345436 BLAKE2B 8d8069c030ee345090ebec15528342d776d7a74d6b72808a054511aad169acaa89c5fee530e73b3faba9152aadc4d26f1edc4586e31ddf5501d2899b5d6500ec SHA512 df701e8f3a94efe351c5dfec691635b6cff9b5902e8d5bd714caa7389bbbfd8ce7f7e91f1549978b47b934449fb3b77581dfcc2811a7727be049709a330ca71e
diff --git a/dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch b/dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch
new file mode 100644
index 000000000000..384c241bc2b8
--- /dev/null
+++ b/dev-libs/rocksdb/files/rocksdb-6.14.6-gcc13.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/895358
+--- a/db/compaction/compaction_iteration_stats.h
++++ b/db/compaction/compaction_iteration_stats.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include "rocksdb/rocksdb_namespace.h"
+
+ struct CompactionIterationStats {
+--- a/include/rocksdb/utilities/checkpoint.h
++++ b/include/rocksdb/utilities/checkpoint.h
+@@ -8,6 +8,7 @@
+ #pragma once
+ #ifndef ROCKSDB_LITE
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include "rocksdb/status.h"
+--- a/table/block_based/data_block_hash_index.h
++++ b/table/block_based/data_block_hash_index.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h
++++ b/third-party/folly/folly/synchronization/detail/ProxyLockable-inl.h
+@@ -13,6 +13,7 @@
+ #include <memory>
+ #include <mutex>
+ #include <stdexcept>
++#include <system_error>
+ #include <utility>
+
+ namespace folly {
+--- a/util/string_util.h
++++ b/util/string_util.h
+@@ -6,6 +6,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <sstream>
+ #include <string>
+ #include <unordered_map>
diff --git a/dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch b/dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch
deleted file mode 100644
index b98cc9dc5fd6..000000000000
--- a/dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Add timer for riscv.
-Upstream PR status: https://github.com/facebook/rocksdb/pull/9215
-This PR hasn't been merged into the main branch.
-https://bugs.gentoo.org/834855
-
---- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
-+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
-@@ -101,7 +101,7 @@ int toku_clock_gettime(clockid_t clk_id, struct timespec *ts) __attribute__((__v
- typedef uint64_t tokutime_t; // Time type used in by tokutek timers.
-
- #if 0
--// The value of tokutime_t is not specified here.
-+// The value of tokutime_t is not specified here.
- // It might be microseconds since 1/1/1970 (if gettimeofday() is
- // used), or clock cycles since boot (if rdtsc is used). Or something
- // else.
-@@ -133,6 +133,23 @@ static inline tokutime_t toku_time_now(void) {
- return result;
- #elif defined(__powerpc__)
- return __ppc_get_timebase();
-+#elif defined(__riscv) && __riscv_xlen == 32
-+ uint32_t cycles_lo, cycles_hi0, cycles_hi1;
-+ // Implemented in assembly because Clang insisted on branching.
-+ asm volatile(
-+ "rdcycleh %0\n"
-+ "rdcycle %1\n"
-+ "rdcycleh %2\n"
-+ "sub %0, %0, %2\n"
-+ "seqz %0, %0\n"
-+ "sub %0, zero, %0\n"
-+ "and %1, %1, %0\n"
-+ : "=r"(cycles_hi0), "=r"(cycles_lo), "=r"(cycles_hi1));
-+ return (static_cast<uint64_t>(cycles_hi1) << 32) | cycles_lo;
-+#elif defined(__riscv) && __riscv_xlen == 64
-+ uint64_t cycles;
-+ asm volatile("rdcycle %0" : "=r"(cycles));
-+ return cycles;
- #else
- #error No timer implementation for this platform
- #endif
diff --git a/dev-libs/rocksdb/metadata.xml b/dev-libs/rocksdb/metadata.xml
index fba961702518..e8708dfa4d7c 100644
--- a/dev-libs/rocksdb/metadata.xml
+++ b/dev-libs/rocksdb/metadata.xml
@@ -5,7 +5,15 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <maintainer type="person">
+ <email>amadio@gentoo.org</email>
+ <name>Guilherme Amadio</name>
+ </maintainer>
<upstream>
<remote-id type="github">facebook/rocksdb</remote-id>
</upstream>
+ <use>
+ <flag name="numa">Enable NUMA support</flag>
+ <flag name="tbb">Enable support for <pkg>dev-cpp/tbb</pkg></flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild b/dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild
deleted file mode 100644
index aff46d621617..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.14.6-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- dev-cpp/gflags:=
- dev-python/python-zstandard:=
- sys-libs/zlib:=
- jemalloc? ( dev-libs/jemalloc:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.17.3-libatomic.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-r2.ebuild b/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild
new file mode 100644
index 000000000000..d7ebe58e23d4
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/zlib:=
+ jemalloc? ( dev-libs/jemalloc:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.17.3-libatomic.patch
+ "${FILESDIR}"/${PN}-6.14.6-gcc13.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DPORTABLE=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_TESTS=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild b/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild
new file mode 100644
index 000000000000..c146861ca057
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-6.14.6-r3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc numa static-libs tbb test"
+
+# tests fail in this version
+RESTRICT="test"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/zlib:=
+ sys-process/numactl
+ jemalloc? ( dev-libs/jemalloc:= )
+ tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.17.3-libatomic.patch
+ "${FILESDIR}"/${PN}-6.14.6-gcc13.patch
+)
+
+src_prepare() {
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
+ -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
+ -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
+ -DPORTABLE=ON
+ -DWITH_BZ2=ON
+ -DWITH_CORE_TOOLS=ON
+ -DWITH_DYNAMIC_EXTENSION=ON
+ -DWITH_GFLAGS=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_JNI=OFF
+ -DWITH_LIBRADOS=OFF
+ -DWITH_LZ4=ON
+ -DWITH_MD_LIBRARY=ON
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_SNAPPY=ON
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_ALL_TESTS=$(usex test)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_TOOLS=ON
+ -DWITH_ZLIB=ON
+ -DWITH_ZSTD=ON
+ )
+ # -DWITH_TESTS option works only with debug build, needs to be set here
+ # to not be overriden by cmake.eclass
+ CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-6.15.5.ebuild b/dev-libs/rocksdb/rocksdb-6.15.5.ebuild
deleted file mode 100644
index adeb2e8a46e8..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.15.5.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- dev-cpp/gflags
- dev-python/python-zstandard:=
- sys-libs/zlib:=
- jemalloc? ( dev-libs/jemalloc:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.17.3-libatomic.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.17.3.ebuild b/dev-libs/rocksdb/rocksdb-6.17.3.ebuild
deleted file mode 100644
index 8da4d0066c99..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.17.3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- dev-cpp/gflags
- dev-python/python-zstandard:=
- sys-libs/zlib:=
- jemalloc? ( dev-libs/jemalloc:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.17.3-add_timer_for_riscv.patch
- "${FILESDIR}"/${PN}-6.17.3-libatomic.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-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
index f28536667a0f..1a2347e5d00e 100644
--- a/dev-libs/rocksdb/rocksdb-7.9.2.ebuild
+++ b/dev-libs/rocksdb/rocksdb-7.9.2.ebuild
@@ -11,7 +11,7 @@ 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"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc static-libs"
DEPEND="
diff --git a/dev-libs/rocksdb/rocksdb-8.10.0.ebuild b/dev-libs/rocksdb/rocksdb-8.10.0.ebuild
new file mode 100644
index 000000000000..c5a5cce5e1d8
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-8.10.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="jemalloc numa static-libs tbb test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/liburing:=
+ sys-libs/zlib:=
+ sys-process/numactl
+ jemalloc? ( dev-libs/jemalloc:= )
+ tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i -e 's/liburing.a/uring/' cmake/modules/Finduring.cmake || die
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DPORTABLE=1
+ -DROCKSDB_BUILD_SHARED=$(usex static-libs OFF ON)
+ -DWITH_ALL_TESTS=$(usex test)
+ -DWITH_ASAN=OFF
+ -DWITH_BENCHMARK=OFF
+ -DWITH_BENCHMARK_TOOLS=OFF
+ -DWITH_BZ2=ON
+ -DWITH_CORE_TOOLS=ON
+ -DWITH_DYNAMIC_EXTENSION=ON
+ -DWITH_EXAMPLES=OFF
+ -DWITH_FALLOCATE=ON
+ -DWITH_GFLAGS=ON
+ -DWITH_IOSTATS_CONTEXT=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_JNI=OFF
+ -DWITH_LIBURING=ON
+ -DWITH_LZ4=ON
+ -DWITH_MD_LIBRARY=ON
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_SNAPPY=ON
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_TOOLS=ON
+ -DWITH_TRACE_TOOLS=ON
+ -DWITH_TSAN=OFF
+ -DWITH_ZLIB=ON
+ -DWITH_ZSTD=ON
+ )
+ # -DWITH_TESTS option works only with debug build, needs to be set here
+ # to not be overriden by cmake.eclass
+ CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocksdb/rocksdb-8.11.3.ebuild b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
new file mode 100644
index 000000000000..c5a5cce5e1d8
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Embeddable, persistent key-value store for fast storage"
+HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
+SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="jemalloc numa static-libs tbb test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/lz4:=
+ app-arch/snappy:=
+ app-arch/zstd:=
+ dev-cpp/gflags:=
+ sys-libs/liburing:=
+ sys-libs/zlib:=
+ sys-process/numactl
+ jemalloc? ( dev-libs/jemalloc:= )
+ tbb? ( dev-cpp/tbb:= )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i -e 's/liburing.a/uring/' cmake/modules/Finduring.cmake || die
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFAIL_ON_WARNINGS=OFF
+ -DPORTABLE=1
+ -DROCKSDB_BUILD_SHARED=$(usex static-libs OFF ON)
+ -DWITH_ALL_TESTS=$(usex test)
+ -DWITH_ASAN=OFF
+ -DWITH_BENCHMARK=OFF
+ -DWITH_BENCHMARK_TOOLS=OFF
+ -DWITH_BZ2=ON
+ -DWITH_CORE_TOOLS=ON
+ -DWITH_DYNAMIC_EXTENSION=ON
+ -DWITH_EXAMPLES=OFF
+ -DWITH_FALLOCATE=ON
+ -DWITH_GFLAGS=ON
+ -DWITH_IOSTATS_CONTEXT=ON
+ -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
+ -DWITH_JNI=OFF
+ -DWITH_LIBURING=ON
+ -DWITH_LZ4=ON
+ -DWITH_MD_LIBRARY=ON
+ -DWITH_NUMA=$(usex numa)
+ -DWITH_SNAPPY=ON
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_TOOLS=ON
+ -DWITH_TRACE_TOOLS=ON
+ -DWITH_TSAN=OFF
+ -DWITH_ZLIB=ON
+ -DWITH_ZSTD=ON
+ )
+ # -DWITH_TESTS option works only with debug build, needs to be set here
+ # to not be overriden by cmake.eclass
+ CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
diff --git a/dev-libs/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest
index 6675acc0cfeb..25427ae596a2 100644
--- a/dev-libs/rocm-comgr/Manifest
+++ b/dev-libs/rocm-comgr/Manifest
@@ -1,2 +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/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/rocm-comgr-5.3.3-r1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.3.3-r1.ebuild
deleted file mode 100644
index f97e82109722..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-5.3.3-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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"
-)
-
-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.3.3-r2.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.3.3-r2.ebuild
new file mode 100644
index 000000000000..1ed450afa574
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.3.3-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-clang-fix-include.patch"
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/${PN}-5.1.3-llvm-15-remove-zlib-gnu"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.3.3-HIPIncludePath-not-needed.patch"
+ "${FILESDIR}/${PN}-5.3.3-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.3.3-fno-stack-protector.patch"
+ "${FILESDIR}/${PN}-5.3.3-remove-h-option.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.4.3-r1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.4.3-r1.ebuild
new file mode 100644
index 000000000000..f04009a2596a
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.4.3-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=15
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-clang-fix-include.patch"
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.3.3-HIPIncludePath-not-needed.patch"
+ "${FILESDIR}/${PN}-5.3.3-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.3.3-fno-stack-protector.patch"
+ "${FILESDIR}/${PN}-5.3.3-remove-h-option.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.5.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.5.1.ebuild
new file mode 100644
index 000000000000..e005c30f1efb
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.5.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=16
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.3.3-HIPIncludePath-not-needed.patch"
+ "${FILESDIR}/${PN}-5.5.1-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.3.3-fno-stack-protector.patch"
+ "${FILESDIR}/${PN}-5.3.3-remove-h-option.patch"
+ "${FILESDIR}/${PN}-5.5.1-nullopt.patch"
+ "${FILESDIR}/${PN}-5.5.1-opt_mrelax.patch"
+ "${FILESDIR}/${PN}-5.5.1-lld-include.patch"
+ "${FILESDIR}/${PN}-5.5.1-subtargetfeatures.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild
new file mode 100644
index 000000000000..1d3b9d14ef38
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.7.0-optional.patch"
+ "${FILESDIR}/${PN}-5.7.0-lld.patch"
+ "${FILESDIR}/${PN}-5.7.0-disassembly.patch"
+ "${FILESDIR}/${PN}-5.7.0-metadata.patch"
+ "${FILESDIR}/${PN}-5.7.0-symbolizer.patch"
+ "${FILESDIR}/${PN}-5.7.1-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.7.1-fix-tests-rocm-path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild
new file mode 100644
index 000000000000..ff181f1b4615
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake llvm prefix
+
+LLVM_MAX_SLOT=17
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/lib/comgr"
+else
+ SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
+ KEYWORDS="~amd64"
+fi
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.7.0-optional.patch"
+ "${FILESDIR}/${PN}-5.7.0-lld.patch"
+ "${FILESDIR}/${PN}-5.7.0-disassembly.patch"
+ "${FILESDIR}/${PN}-5.7.0-metadata.patch"
+ "${FILESDIR}/${PN}-5.7.0-symbolizer.patch"
+ "${FILESDIR}/${PN}-5.7.1-fix-tests.patch"
+ "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch"
+)
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang:${LLVM_MAX_SLOT}=
+ sys-devel/clang-runtime:=
+ sys-devel/lld:${LLVM_MAX_SLOT}="
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_prepare() {
+ sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
+ sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/rocm-device-libs/Manifest b/dev-libs/rocm-device-libs/Manifest
index cf3568d4925e..8002ba47f4ad 100644
--- a/dev-libs/rocm-device-libs/Manifest
+++ b/dev-libs/rocm-device-libs/Manifest
@@ -1,2 +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.4.3-Revert-Update-counters-for-gfx11.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.4.3-Revert-Update-counters-for-gfx11.patch
new file mode 100644
index 000000000000..bf9b2c372600
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.4.3-Revert-Update-counters-for-gfx11.patch
@@ -0,0 +1,216 @@
+From 8ce920dddac9846254aaf6261bafd8b22976b04e Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <alexjnewt@hotmail.com>
+Date: Sun, 18 Dec 2022 20:48:21 -0500
+Subject: [PATCH] Revert "Update counters for gfx11"
+
+This reverts commit 85f95b94960c6f7ff4ff0242a399deb4a204fb6a.
+---
+ doc/OCKL.md | 4 ++--
+ ockl/inc/ockl.h | 3 ---
+ ockl/src/dm.cl | 15 +++++++++++----
+ ockl/src/mtime.cl | 35 ++---------------------------------
+ ockl/src/wait.cl | 18 +++++++++---------
+ 5 files changed, 24 insertions(+), 51 deletions(-)
+
+diff --git a/doc/OCKL.md b/doc/OCKL.md
+index 07574f6..05c5c49 100644
+--- a/doc/OCKL.md
++++ b/doc/OCKL.md
+@@ -99,8 +99,8 @@ The following table lists the available functions along with a brief description
+ | `int __ockl_mul24_i32(int,int);` | Multiply assuming operands fit in 24 bits |
+ | `uint __ockl_mul24_u32(uint,uint);` | |
+ | - | |
+-| `ulong __ockl_cyclectr_u64(void);` | Current value of free running 64-bit clock counter |
+-| `ulong __ockl_steadyctr_u64(void);` | Current value of constant speed 64-bit clock counter |
++| `ulong __ockl_memtime_u64(void);` | Current value of free running 64-bit clock counter |
++| `ulong __ockl_memrealtime_u64(void);` | Current value of constant speed 64-bit clock counter |
+ | - | |
+ | `uint __ockl_activelane_u32(void);` | Index of currently lane counting only active lanes in wavefront |
+ | - | |
+diff --git a/ockl/inc/ockl.h b/ockl/inc/ockl.h
+index d0b98d4..6300279 100644
+--- a/ockl/inc/ockl.h
++++ b/ockl/inc/ockl.h
+@@ -143,9 +143,6 @@ DECL_OCKL_NULLARY_U32(activelane)
+
+ DECL_OCKL_NULLARY_U64(memtime)
+ DECL_OCKL_NULLARY_U64(memrealtime)
+-DECL_OCKL_NULLARY_U64(cyclectr)
+-DECL_OCKL_NULLARY_U64(steadyctr)
+-
+
+ extern half OCKL_MANGLE_T(wfred_add,f16)(half x);
+ extern float OCKL_MANGLE_T(wfred_add,f32)(float x);
+diff --git a/ockl/src/dm.cl b/ockl/src/dm.cl
+index 245b4a1..26373dd 100644
+--- a/ockl/src/dm.cl
++++ b/ockl/src/dm.cl
+@@ -201,6 +201,13 @@ get_heap_ptr(void) {
+ }
+ }
+
++// realtime
++__attribute__((target("s-memrealtime"))) static ulong
++realtime(void)
++{
++ return __builtin_amdgcn_s_memrealtime();
++}
++
+ // The actual number of blocks in a slab with blocks of kind k
+ static uint
+ num_blocks(kind_t k)
+@@ -466,7 +473,7 @@ new_slab_wait(__global heap_t *hp, kind_t k)
+ uint aid = __ockl_activelane_u32();
+ if (aid == 0) {
+ ulong expected = AL(&hp->salloc_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ ulong dt = now - expected;
+ if (dt < SLAB_TICKS)
+ __ockl_rtcwait_u32(SLAB_TICKS - (uint)dt);
+@@ -480,7 +487,7 @@ grow_recordable_wait(__global heap_t *hp, kind_t k)
+ uint aid = __ockl_activelane_u32();
+ if (aid == 0) {
+ ulong expected = AL(&hp->grow_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ ulong dt = now - expected;
+ if (dt < GROW_TICKS)
+ __ockl_rtcwait_u32(GROW_TICKS - (uint)dt);
+@@ -540,7 +547,7 @@ try_grow_num_recordable_slabs(__global heap_t *hp, kind_t k)
+ uint ret = GROW_BUSY;
+ if (aid == 0) {
+ ulong expected = AL(&hp->grow_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ if (now - expected >= GROW_TICKS &&
+ ACE(&hp->grow_time[k].value, &expected, now, memory_order_relaxed))
+ ret = GROW_FAILURE;
+@@ -687,7 +694,7 @@ try_allocate_new_slab(__global heap_t *hp, kind_t k)
+
+ if (aid == 0) {
+ ulong expected = AL(&hp->salloc_time[k].value, memory_order_relaxed);
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = realtime();
+ if (now - expected >= SLAB_TICKS &&
+ ACE(&hp->salloc_time[k].value, &expected, now, memory_order_relaxed))
+ ret = (__global sdata_t *)0;
+diff --git a/ockl/src/mtime.cl b/ockl/src/mtime.cl
+index 43f4161..543aaa3 100644
+--- a/ockl/src/mtime.cl
++++ b/ockl/src/mtime.cl
+@@ -5,48 +5,17 @@
+ * License. See LICENSE.TXT for details.
+ *===------------------------------------------------------------------------*/
+
+-#include "oclc.h"
+ #include "ockl.h"
+
+-__attribute__((target("s-memrealtime"))) static ulong
+-mem_realtime(void)
+-{
+- return __builtin_amdgcn_s_memrealtime();
+-}
+-
+-__attribute__((target("gfx11-insts"))) static ulong
+-msg_realtime(void)
+-{
+- return __builtin_amdgcn_s_sendmsg_rtnl(0x83);
+-}
+-
+-// Deprecated
+ __attribute__((target("s-memtime-inst"))) ulong
+ OCKL_MANGLE_U64(memtime)(void)
+ {
+ return __builtin_amdgcn_s_memtime();
+ }
+
+-// Deprecated
+-ulong
++__attribute__((target("s-memrealtime"))) ulong
+ OCKL_MANGLE_U64(memrealtime)(void)
+ {
+- return mem_realtime();
+-}
+-
+-ulong
+-OCKL_MANGLE_U64(cyclectr)(void)
+-{
+- return __builtin_readcyclecounter();
+-}
+-
+-ulong
+-OCKL_MANGLE_U64(steadyctr)(void)
+-{
+- if (__oclc_ISA_version >= 11000) {
+- return msg_realtime();
+- } else {
+- return mem_realtime();
+- }
++ return __builtin_amdgcn_s_memrealtime();
+ }
+
+diff --git a/ockl/src/wait.cl b/ockl/src/wait.cl
+index 49b038e..b249599 100644
+--- a/ockl/src/wait.cl
++++ b/ockl/src/wait.cl
+@@ -10,47 +10,47 @@
+ #include "ockl.h"
+ #include "oclc.h"
+
+-void
++__attribute__((target("s-memrealtime"))) void
+ OCKL_MANGLE_T(rtcwait,u32)(uint ticks)
+ {
+- ulong now = __ockl_steadyctr_u64();
++ ulong now = __builtin_amdgcn_s_memrealtime();
+ ulong end = now + __builtin_amdgcn_readfirstlane(ticks);
+
+ if (__oclc_ISA_version >= 9000) {
+ while (end > now + 1625) {
+ __builtin_amdgcn_s_sleep(127);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 806) {
+ __builtin_amdgcn_s_sleep(63);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 396) {
+ __builtin_amdgcn_s_sleep(31);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+ }
+
+ while (end > now + 192) {
+ __builtin_amdgcn_s_sleep(15);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 89) {
+ __builtin_amdgcn_s_sleep(7);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now + 38) {
+ __builtin_amdgcn_s_sleep(3);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+
+ while (end > now) {
+ __builtin_amdgcn_s_sleep(1);
+- now = __ockl_steadyctr_u64();
++ now = __builtin_amdgcn_s_memrealtime();
+ }
+ }
+
+--
+2.34.1
+
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch
new file mode 100644
index 000000000000..f965045b7e7b
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.1-fix-llvm-link.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/851702#c4
+Adapt to libLLVM.so instead of the seperated libs
+===================================================================
+--- ROCm-Device-Libs-rocm-5.0.2.orig/utils/prepare-builtins/CMakeLists.txt
++++ ROCm-Device-Libs-rocm-5.0.2/utils/prepare-builtins/CMakeLists.txt
+@@ -26,5 +26,5 @@ set_target_properties(prepare-builtins P
+ CXX_STANDARD_REQUIRED Yes
+ CXX_EXTENSIONS No)
+ llvm_update_compile_flags(prepare-builtins)
+-llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter)
+-target_link_libraries(prepare-builtins ${llvm_libs})
++llvm_map_components_to_libnames(llvm_libs support)
++target_link_libraries(prepare-builtins LLVM)
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-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
index 3a3410c42246..a0f9ed9e02f5 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -1,4 +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-5.3.3-gcc13.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch
new file mode 100644
index 000000000000..b1cd513ce6b7
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-5.3.3-gcc13.patch
@@ -0,0 +1,27 @@
+For https://bugs.gentoo.org/895382
+==================================
+From 767241dca886bcd2469d91382afab9d032e1cfa6 Mon Sep 17 00:00:00 2001
+From: Jeremy Newton <Jeremy.Newton@amd.com>
+Date: Wed, 8 Feb 2023 14:16:43 -0500
+Subject: [PATCH] SWDEV-1 - cltrace: Add missing include
+
+Newer GCC's seem to require this.
+
+Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
+Change-Id: I56ef934600729e892f1cd7ab11662760df48aed8
+---
+ tools/cltrace/cltrace.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/cltrace/cltrace.cpp b/tools/cltrace/cltrace.cpp
+index be96298..5ac5b62 100644
+--- a/tools/cltrace/cltrace.cpp
++++ b/tools/cltrace/cltrace.cpp
+@@ -17,6 +17,7 @@
+ #include <iostream>
+ #include <cstring>
+ #include <cstdlib>
++#include <cstdint>
+
+ #ifdef _MSC_VER
+ #include <windows.h>
diff --git a/dev-libs/rocm-opencl-runtime/metadata.xml b/dev-libs/rocm-opencl-runtime/metadata.xml
index 7fe466feffeb..c815e421fb36 100644
--- a/dev-libs/rocm-opencl-runtime/metadata.xml
+++ b/dev-libs/rocm-opencl-runtime/metadata.xml
@@ -5,6 +5,10 @@
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>xgreenlandforwyy@gmail.com</email>
+ <name>Yiyang Wu</name>
+ </maintainer>
<upstream>
<remote-id type="github">RadeonOpenCompute/ROCm-OpenCL-Runtime</remote-id>
</upstream>
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild
index d3bff871de9b..b9015cd84b13 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,9 +20,10 @@ RDEPEND=">=dev-libs/rocr-runtime-${PV}
>=dev-libs/rocm-comgr-${PV}
>=dev-libs/rocm-device-libs-${PV}
>=virtual/opencl-3
- media-libs/mesa"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}
+ 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] )
"
@@ -30,6 +31,7 @@ BDEPEND=">=dev-util/rocm-cmake-${PV}
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}"
@@ -51,10 +53,15 @@ src_prepare() {
# 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
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.3.3.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3.ebuild
deleted file mode 100644
index 692863db8e51..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2022 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"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-${PV}
- media-libs/glew
- test? ( >=x11-apps/mesa-progs-8.5.0[X] )
- "
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.5.0-do-not-install-libopencl.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"
- popd || die
-}
-
-src_configure() {
- # 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.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 dd5f336b158c..adacf6e4bca1 100644
--- a/dev-libs/rocr-runtime/Manifest
+++ b/dev-libs/rocr-runtime/Manifest
@@ -1,2 +1,6 @@
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-5.7.1-extend-isa-compatibility-check.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch
new file mode 100644
index 000000000000..b12352e40c92
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-extend-isa-compatibility-check.patch
@@ -0,0 +1,73 @@
+Combined with matching changes within hip ebuild, this patch allows
+to load compatible kernels whenever possible.
+For example if AMDGPU_TARGETS is set to gfx1030 and some application
+was started on gfx1036, it loads gfx1030 kernel.
+
+Author: Cordell Bloor <cgmb@slerp.xyz>
+https://salsa.debian.org/rocm-team/rocr-runtime/-/blob/master/debian/patches/0004-extend-isa-compatibility-check.patch
+--- src/core/runtime/isa.cpp
++++ src/core/runtime/isa.cpp
+@@ -43,6 +43,7 @@
+ #include "core/inc/isa.h"
+
+ #include <algorithm>
++#include <array>
+ #include <cstring>
+ #include <iostream>
+ #include <sstream>
+@@ -69,13 +70,53 @@ bool Wavefront::GetInfo(
+ }
+ }
+
++template <class T, std::size_t N>
++static bool Contains(const std::array<T, N>& arr, const T& value) {
++ return std::find(std::begin(arr), std::end(arr), value) != std::end(arr);
++}
++
++static bool IsVersionCompatible(const Isa &code_object_isa,
++ const Isa &agent_isa) {
++ if (code_object_isa.GetMajorVersion() == agent_isa.GetMajorVersion() &&
++ code_object_isa.GetMinorVersion() == agent_isa.GetMinorVersion()) {
++
++ if (code_object_isa.GetStepping() == agent_isa.GetStepping()) {
++ return true; // exact match
++ }
++
++ // the processor and code object may sometimes be compatible if
++ // they differ only by stepping version
++ if (code_object_isa.GetMajorVersion() == 9 &&
++ code_object_isa.GetMinorVersion() == 0) {
++ const std::array<int32_t, 4> gfx900_equivalent = { 0, 2, 9, 12 };
++ const std::array<int32_t, 5> gfx900_superset = { 0, 2, 6, 9, 12 };
++ if (Contains(gfx900_equivalent, code_object_isa.GetStepping()) &&
++ Contains(gfx900_superset, agent_isa.GetStepping())) {
++ return true; // gfx900 compatible
++ }
++ } else if (code_object_isa.GetMajorVersion() == 10) {
++ if (code_object_isa.GetMinorVersion() == 1) {
++ const std::array<int32_t, 2> gfx1010_equivalent = { 0, 2 };
++ const std::array<int32_t, 4> gfx1010_superset = { 0, 1, 2, 3 };
++ if (Contains(gfx1010_equivalent, code_object_isa.GetStepping()) &&
++ Contains(gfx1010_superset, agent_isa.GetStepping())) {
++ return true; // gfx1010 compatible
++ }
++ } else if (code_object_isa.GetMinorVersion() == 3) {
++ return true; // gfx1030 compatible
++ }
++ }
++ }
++
++ return false;
++}
++
+ /* static */
+ bool Isa::IsCompatible(const Isa &code_object_isa,
+ const Isa &agent_isa) {
+- if (code_object_isa.GetVersion() != agent_isa.GetVersion())
++ if (!IsVersionCompatible(code_object_isa, agent_isa))
+ return false;
+
+- assert(code_object_isa.IsSrameccSupported() == agent_isa.IsSrameccSupported() && agent_isa.GetSramecc() != IsaFeature::Any);
+ if ((code_object_isa.GetSramecc() == IsaFeature::Enabled ||
+ code_object_isa.GetSramecc() == IsaFeature::Disabled) &&
+ code_object_isa.GetSramecc() != agent_isa.GetSramecc())
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch
new file mode 100644
index 000000000000..0e8e53209738
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch
@@ -0,0 +1,106 @@
+Fix compilation with musl.
+
+Bug: https://github.com/ROCm/ROCR-Runtime/issues/181
+--- a/core/inc/checked.h
++++ b/core/inc/checked.h
+@@ -58,7 +58,7 @@ template <uint64_t code, bool multiProcess = false> class Check final {
+ Check(const Check&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
+ Check(Check&&) { object_ = uintptr_t(this) ^ uintptr_t(code); }
+
+- ~Check() { object_ = NULL; }
++ ~Check() { object_ = uintptr_t(NULL); }
+
+ const Check& operator=(Check&& rhs) { return *this; }
+ const Check& operator=(const Check& rhs) { return *this; }
+--- a/core/runtime/default_signal.cpp
++++ b/core/runtime/default_signal.cpp
+@@ -57,7 +57,7 @@ int BusyWaitSignal::rtti_id_ = 0;
+ BusyWaitSignal::BusyWaitSignal(SharedSignal* abi_block, bool enableIPC)
+ : Signal(abi_block, enableIPC) {
+ signal_.kind = AMD_SIGNAL_KIND_USER;
+- signal_.event_mailbox_ptr = NULL;
++ signal_.event_mailbox_ptr = uint64_t(NULL);
+ }
+
+ hsa_signal_value_t BusyWaitSignal::LoadRelaxed() {
+--- a/core/util/lnx/os_linux.cpp
++++ b/core/util/lnx/os_linux.cpp
+@@ -111,9 +111,12 @@ class os_thread {
+ }
+ }
+
++ int cores = 0;
++ cpu_set_t* cpuset = nullptr;
++
+ if (core::Runtime::runtime_singleton_->flag().override_cpu_affinity()) {
+- int cores = get_nprocs_conf();
+- cpu_set_t* cpuset = CPU_ALLOC(cores);
++ cores = get_nprocs_conf();
++ cpuset = CPU_ALLOC(cores);
+ if (cpuset == nullptr) {
+ fprintf(stderr, "CPU_ALLOC failed: %s\n", strerror(errno));
+ return;
+@@ -122,12 +125,6 @@ class os_thread {
+ for (int i = 0; i < cores; i++) {
+ CPU_SET(i, cpuset);
+ }
+- err = pthread_attr_setaffinity_np(&attrib, CPU_ALLOC_SIZE(cores), cpuset);
+- CPU_FREE(cpuset);
+- if (err != 0) {
+- fprintf(stderr, "pthread_attr_setaffinity_np failed: %s\n", strerror(err));
+- return;
+- }
+ }
+
+ err = pthread_create(&thread, &attrib, ThreadTrampoline, args.get());
+@@ -157,6 +154,14 @@ class os_thread {
+ if (err != 0) {
+ fprintf(stderr, "pthread_attr_destroy failed: %s\n", strerror(err));
+ }
++
++ if (thread && cores && cpuset) {
++ err = pthread_setaffinity_np(thread, CPU_ALLOC_SIZE(cores), cpuset);
++ CPU_FREE(cpuset);
++ if (err != 0) {
++ fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err));
++ }
++ }
+ }
+
+ os_thread(os_thread&& rhs) {
+@@ -617,11 +622,13 @@ SharedMutex CreateSharedMutex() {
+ fprintf(stderr, "rw lock attribute init failed: %s\n", strerror(err));
+ return nullptr;
+ }
++#if defined(__GLIBC__)
+ err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
+ if (err != 0) {
+ fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err));
+ return nullptr;
+ }
++#endif
+
+ pthread_rwlock_t* lock = new pthread_rwlock_t;
+ err = pthread_rwlock_init(lock, &attrib);
+--- a/core/util/utils.h
++++ b/core/util/utils.h
+@@ -74,7 +74,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) {
+ return aligned_alloc(alignment, size);
+ #else
+ void *mem = NULL;
+- if (NULL != posix_memalign(&mem, alignment, size))
++ if (0 != posix_memalign(&mem, alignment, size))
+ return NULL;
+ return mem;
+ #endif
+--- a/image/util.h
++++ b/image/util.h
+@@ -95,7 +95,7 @@ static __forceinline void* _aligned_malloc(size_t size, size_t alignment) {
+ return aligned_alloc(alignment, size);
+ #else
+ void* mem = NULL;
+- if (NULL != posix_memalign(&mem, alignment, size)) return NULL;
++ if (0 != posix_memalign(&mem, alignment, size)) return NULL;
+ return mem;
+ #endif
+ }
diff --git a/dev-libs/rocr-runtime/rocr-runtime-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.3.3.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.3.3.ebuild
deleted file mode 100644
index 5004f492f993..000000000000
--- a/dev-libs/rocr-runtime/rocr-runtime-5.3.3.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake 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)"
-
-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:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die
-
- cmake_src_prepare
-}
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 22b1b90140cd..5d6ef732ff39 100644
--- a/dev-libs/roct-thunk-interface/Manifest
+++ b/dev-libs/roct-thunk-interface/Manifest
@@ -1,2 +1,6 @@
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-5.7.0-functions.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch
new file mode 100644
index 000000000000..051beeeb1b2e
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.0-functions.patch
@@ -0,0 +1,14 @@
+diff --git a/src/libhsakmt.ver b/src/libhsakmt.ver
+index dc17215..964f3d0 100644
+--- a/src/libhsakmt.ver
++++ b/src/libhsakmt.ver
+@@ -75,6 +75,9 @@ hsaKmtSetXNACKMode;
+ hsaKmtGetXNACKMode;
+ hsaKmtOpenSMI;
+ hsaKmtExportDMABufHandle;
++hsaKmtWaitOnMultipleEvents_Ext;
++hsaKmtReplaceAsanHeaderPage;
++hsaKmtWaitOnEvent_Ext;
+
+ local: *;
+ };
diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch
new file mode 100644
index 000000000000..8cd8a5ff2ee1
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-5.7.1-musl.patch
@@ -0,0 +1,61 @@
+Upstream PR: https://github.com/ROCm/ROCT-Thunk-Interface/pull/96
+Bug: https://github.com/ROCm/ROCT-Thunk-Interface/issues/65
+--- a/src/globals.c
++++ b/src/globals.c
+@@ -32,5 +32,9 @@ unsigned long kfd_open_count;
+ unsigned long system_properties_count;
+ pthread_mutex_t hsakmt_mutex = PTHREAD_MUTEX_INITIALIZER;
+ bool is_dgpu;
++
++#ifndef PAGE_SIZE
+ int PAGE_SIZE;
++#endif
++
+ int PAGE_SHIFT;
+--- a/src/libhsakmt.h
++++ b/src/libhsakmt.h
+@@ -62,7 +62,11 @@ extern HsaVersionInfo kfd_version_info;
+ do { if ((minor) > kfd_version_info.KernelInterfaceMinorVersion)\
+ return HSAKMT_STATUS_NOT_SUPPORTED; } while (0)
+
++/* Might be defined in limits.h on platforms where it is constant (used by musl) */
++/* See also: https://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html */
++#ifndef PAGE_SIZE
+ extern int PAGE_SIZE;
++#endif
+ extern int PAGE_SHIFT;
+
+ /* VI HW bug requires this virtual address alignment */
+--- a/src/openclose.c
++++ b/src/openclose.c
+@@ -116,7 +116,9 @@ static void clear_after_fork(void)
+
+ static inline void init_page_size(void)
+ {
++#ifndef PAGE_SIZE
+ PAGE_SIZE = sysconf(_SC_PAGESIZE);
++#endif
+ PAGE_SHIFT = ffs(PAGE_SIZE) - 1;
+ }
+
+--- a/src/topology.c
++++ b/src/topology.c
+@@ -32,6 +32,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <ctype.h>
++#include <limits.h>
+
+ #include <errno.h>
+ #include <sys/sysinfo.h>
+@@ -1369,6 +1370,10 @@ static int topology_create_temp_cpu_cache_list(int node,
+ * which can be present twice in the string above. 29 is for the prefix
+ * and the +6 is for the cache suffix
+ */
++#ifndef MAXNAMLEN
++/* MAXNAMLEN is the BSD name for NAME_MAX. glibc aliases this as NAME_MAX, but not musl */
++#define MAXNAMLEN NAME_MAX
++#endif
+ const uint32_t MAXPATHSIZE = 29 + MAXNAMLEN + (MAXNAMLEN + 6);
+ cpu_cacheinfo_t *p_temp_cpu_ci_list; /* a list of cpu_ci */
+ char path[MAXPATHSIZE], node_dir[MAXPATHSIZE];
diff --git a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch
new file mode 100644
index 000000000000..cbea737c4b4c
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch
@@ -0,0 +1,12 @@
+diff --git a/src/libhsakmt.ver b/src/libhsakmt.ver
+index 15c2916..c04cefe 100644
+--- a/src/libhsakmt.ver
++++ b/src/libhsakmt.ver
+@@ -81,6 +81,7 @@ hsaKmtWaitOnEvent_Ext;
+ hsaKmtWaitOnMultipleEvents_Ext;
+ hsaKmtReplaceAsanHeaderPage;
+ hsaKmtReturnAsanHeaderPage;
++hsaKmtGetAMDGPUDeviceHandle;
+
+ local: *;
+ };
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-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/s2n/metadata.xml b/dev-libs/s2n/metadata.xml
index ff907dea8127..2d66499958c7 100644
--- a/dev-libs/s2n/metadata.xml
+++ b/dev-libs/s2n/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">aws/s2n-tls</remote-id>
+ </upstream>
<longdescription>
s2n is a C99 implementation of the TLS/SSL protocols that is designed to be simple, small, fast, and with security as a
priority. It is released and licensed under the Apache License 2.0.
diff --git a/dev-libs/sdformat/Manifest b/dev-libs/sdformat/Manifest
index d0e98402ff98..71aaabc4de25 100644
--- a/dev-libs/sdformat/Manifest
+++ b/dev-libs/sdformat/Manifest
@@ -1,2 +1 @@
-DIST sdformat-9.7.0.tar.bz2 699483 BLAKE2B a7f831fa42cc6371afaee47876bee5d2b8e9ef3b05a9fa8281e1746d0b038fb75b0f96d5e84b615b114a25424de65be08dbea052a53813d01b07ca8a1c0d08b9 SHA512 8b05dfaa47dea7cf55dafbed828b3c361f1c13f368fd4ac50cd35c1be859e401bdbd500a79286f7b8b0e6bac04f92a4c406e910a22aa1a9583aa8ffb660c1f89
-DIST sdformat-9.8.0.tar.bz2 706107 BLAKE2B d4880b8b26bc792f7932f92238fea9e583284fb95fd139da2755590f795bf8f00d2087b949ff44df7c04f7e3e81218f7a7f5643c65164e7805b76626ac13de4b SHA512 090e654f442c26d0a930960fa603ab5e58a28d8cef276ea75f4f63cad29c249c90045e76a2e081b2f90bc569b80abee086efe7598c138fd81b387535debf7e6c
+DIST sdformat-9.10.0.tar.bz2 709883 BLAKE2B 3f79ad7d13cc3e2b4e4ee7b2dfc5819e805ccbae7678e4ea4d4e2577845ddc3bc69c15043132de989ac286642757bcf0c1d66990fddbc3b61aa1a297c78b7682 SHA512 233305adc98a57eef360200d651bf0951229b12383e49496e05989ce165d88d4fd86c40819a6b6528125fe0185157d26b5712880332971d8bd2fd1f7daa4c6e8
diff --git a/dev-libs/sdformat/files/ruby.patch b/dev-libs/sdformat/files/ruby.patch
new file mode 100644
index 000000000000..ceada099cfe3
--- /dev/null
+++ b/dev-libs/sdformat/files/ruby.patch
@@ -0,0 +1,31 @@
+Index: sdformat-9.10.0/tools/xmlschema.rb
+===================================================================
+--- sdformat-9.10.0.orig/tools/xmlschema.rb
++++ sdformat-9.10.0/tools/xmlschema.rb
+@@ -265,7 +265,7 @@ opt_parser.parse!
+ if infile.nil?
+ puts "Missing option -i."
+ exit
+-elsif !File.exists?(infile)
++elsif !File.exist?(infile)
+ puts "Input file[#{infile}] does not exist\n"
+ exit
+ end
+@@ -273,7 +273,7 @@ end
+ if $path.nil?
+ puts "Missing option -s."
+ exit
+-elsif !Dir.exists?($path)
++elsif !Dir.exist?($path)
+ puts "SDF source dir[#{$path}] does not exist\n"
+ exit
+ end
+@@ -281,7 +281,7 @@ end
+ if outdir.nil?
+ puts "Missing output directory, option -o."
+ exit
+-elsif !Dir.exists?(outdir)
++elsif !Dir.exist?(outdir)
+ Dir.mkdir(outdir)
+ end
+
diff --git a/dev-libs/sdformat/sdformat-9.10.0.ebuild b/dev-libs/sdformat/sdformat-9.10.0.ebuild
new file mode 100644
index 000000000000..210757ba03de
--- /dev/null
+++ b/dev-libs/sdformat/sdformat-9.10.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Simulation Description Format (SDF) parser"
+HOMEPAGE="http://sdformat.org/"
+SRC_URI="http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+# subslot = libsdformat major
+SLOT="0/9"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-libs/urdfdom-1:=
+ dev-libs/tinyxml
+ dev-libs/boost:=
+ sci-libs/ignition-math:6=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/ruby:*
+ virtual/pkgconfig
+"
+PATCHES=( "${FILESDIR}/ruby.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+
+ # get rid of default flags
+ sed -i -e '/_FLAGS_RELWITHDEBINFO/d' cmake/DefaultCFlags.cmake || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_INTERNAL_URDF=OFF
+ -DUSE_EXTERNAL_TINYXML=ON
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/sdformat/sdformat-9.7.0.ebuild b/dev-libs/sdformat/sdformat-9.7.0.ebuild
deleted file mode 100644
index 4a78444096c6..000000000000
--- a/dev-libs/sdformat/sdformat-9.7.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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
-"
-
-src_prepare() {
- cmake_src_prepare
-
- # get rid of default flags
- sed -i -e '/_FLAGS_RELWITHDEBINFO/d' cmake/DefaultCFlags.cmake || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_INTERNAL_URDF=OFF
- -DUSE_EXTERNAL_TINYXML=ON
- )
- cmake_src_configure
-}
diff --git a/dev-libs/sdformat/sdformat-9.8.0.ebuild b/dev-libs/sdformat/sdformat-9.8.0.ebuild
deleted file mode 100644
index 4a78444096c6..000000000000
--- a/dev-libs/sdformat/sdformat-9.8.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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
-"
-
-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 3cd710c0523b..1b427f83ba8d 100644
--- a/dev-libs/serd/Manifest
+++ b/dev-libs/serd/Manifest
@@ -1 +1 @@
-DIST serd-0.30.16.tar.xz 173932 BLAKE2B 0021125505bf23565a1cca24dc83eff3496fc11fe6b38dc07b68d800c7bd6a854923bc7c529161b659bd80cb7aa8c3b45e767f0841b57d4803d820e0016e2ed2 SHA512 1bc2e310027d52ea675aa261b52e89c4c1ccb622fa9fef11c874876de7821fe94672918ff58b9edcc7995daa70fc88b7ceb88fae61dd40f601285de1995b39ff
+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 7b0adafdec04..c08c847e10ee 100644
--- a/dev-libs/serd/metadata.xml
+++ b/dev-libs/serd/metadata.xml
@@ -13,4 +13,7 @@
<use>
<flag name="tools">Build command line utilities</flag>
</use>
+ <upstream>
+ <remote-id type="gitlab">drobilla/serd</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/serd/serd-0.30.16.ebuild b/dev-libs/serd/serd-0.30.16.ebuild
deleted file mode 100644
index ed9fa2986c49..000000000000
--- a/dev-libs/serd/serd-0.30.16.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 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 ppc ppc64 ~riscv sparc x86"
-IUSE="doc test +tools"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- doc? (
- app-doc/doxygen
- dev-python/sphinx
- dev-python/sphinx_lv2_theme
-)
-"
-
-src_prepare() {
- default
-
- # fix doc installation path
- sed -i "s/versioned_name/'${PF}'/g" doc/c/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/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/serdisplib-2.02-r2.ebuild b/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild
index 22cb104e7e06..ba4565132b83 100644
--- a/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild
+++ b/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,12 +21,14 @@ IUSE_LCD_DEVICES=(
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+=" $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) "
+IUSE+=" ${mangled_lcd_devices}"
IUSE="${IUSE/lcd_devices_directgfx/+lcd_devices_directgfx}"
REQUIRED_USE+="
- || ( $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) )
+ || ( ${mangled_lcd_devices} )
lcd_devices_framebuffer? ( threads )
"
@@ -90,7 +92,7 @@ src_configure() {
--with-drivers="${myeconfargs_lcd_devices#,}"
)
- econf "${myeconfargs[@]}"
+ CONFIG_SHELL="${BROOT}/bin/bash" econf "${myeconfargs[@]}"
}
src_install() {
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/simde/Manifest b/dev-libs/simde/Manifest
new file mode 100644
index 000000000000..01cd007712a6
--- /dev/null
+++ b/dev-libs/simde/Manifest
@@ -0,0 +1 @@
+DIST simde-0.8.0.tar.gz 7455442 BLAKE2B 511f609e2588cc39b45a5a3e7f93648d9651e9e3f90220947b7f559ca6281a0db9f876d0692abf24d63528bb84e0ee49da1a165a16eeb91de84639a100a6527b SHA512 b0667583565ea9e59d18a07c7a3cb46710868c9572663e314278ca2004747e337e34f6b927c9c5d29e161caba8ec0428e5299b6e878e226b9f33597a1584b91d
diff --git a/dev-libs/simde/files/simde-0.7.6-musl.patch b/dev-libs/simde/files/simde-0.7.6-musl.patch
new file mode 100644
index 000000000000..c070f858ea81
--- /dev/null
+++ b/dev-libs/simde/files/simde-0.7.6-musl.patch
@@ -0,0 +1,18 @@
+This workaround patch should be removable when musl implements C23
+functions (technically this isn't a __GLIBC__-only quirk, but used
+due to lack of anything better beside running a build test for it).
+
+https://bugs.gentoo.org/926488
+https://github.com/simd-everywhere/simde/issues/1001
+--- a/simde/simde-math.h
++++ b/simde/simde-math.h
+@@ -1182,3 +1182,3 @@
+ #if \
+- (!defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
++ (defined (__GLIBC__) && !defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
+@@ -1202,3 +1202,3 @@
+ #if \
+- (!defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
++ (defined(__GLIBC__) && !defined(HEDLEY_EMSCRIPTEN_VERSION) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
diff --git a/dev-libs/simde/files/simde-0.8.0-xop.patch b/dev-libs/simde/files/simde-0.8.0-xop.patch
new file mode 100644
index 000000000000..1fbfc4fd1ef3
--- /dev/null
+++ b/dev-libs/simde/files/simde-0.8.0-xop.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/926959
+https://github.com/kovidgoyal/kitty/issues/7222
+https://github.com/simd-everywhere/simde/pull/1154
+From: "Michael R. Crusoe" <michael.crusoe@gmail.com>
+Date: Mon, 25 Mar 2024 10:33:22 +0100
+Subject: [PATCH 1/2] x86 xop: fix some native functions
+--- a/simde/arm/neon/paddl.h
++++ b/simde/arm/neon/paddl.h
+@@ -286,7 +286,7 @@ simde_vpaddlq_u16(simde_uint16x8_t a) {
+ simde_uint32x4_private r_;
+
+ #if defined(SIMDE_X86_XOP_NATIVE)
+- r_.sse_m128i = _mm_haddd_epu16(a_.sse_m128i);
++ r_.m128i = _mm_haddd_epu16(a_.m128i);
+ #elif defined(SIMDE_X86_SSE2_NATIVE)
+ r_.m128i =
+ _mm_add_epi32(
+--- a/simde/x86/xop.h
++++ b/simde/x86/xop.h
+@@ -3727,7 +3727,7 @@ simde_mm256_permute2_pd (simde__m256d a, simde__m256d b, simde__m256i c, const i
+ SIMDE_LCC_REVERT_DEPRECATED_WARNINGS \
+ }))
+ #else
+- #define simde_mm256_permute2_pd(a, b, c, imm8) simde_undeprecated_mm256_permute2_pd((a), (b), (c), (imm8))
++ #define simde_mm256_permute2_pd(a, b, c, imm8) _mm256_permute2_pd((a), (b), (c), (imm8))
+ #endif
+ #endif
+ #if defined(SIMDE_X86_XOP_ENABLE_NATIVE_ALIASES)
diff --git a/dev-libs/simde/metadata.xml b/dev-libs/simde/metadata.xml
new file mode 100644
index 000000000000..f92dc4d96537
--- /dev/null
+++ b/dev-libs/simde/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">simd-everywhere/simde</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/simde/simde-0.8.0-r1.ebuild b/dev-libs/simde/simde-0.8.0-r1.ebuild
new file mode 100644
index 000000000000..155e4c169087
--- /dev/null
+++ b/dev-libs/simde/simde-0.8.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Header-only library providing implementations of SIMD instruction sets"
+HOMEPAGE="https://simd-everywhere.github.io/blog/"
+SRC_URI="
+ https://github.com/simd-everywhere/simde/archive/refs/tags/v${PV/_/-}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.6-musl.patch
+ "${FILESDIR}"/${P}-xop.patch
+)
+
+src_configure() {
+ # *FLAGS are only used for tests (nothing that is installed), and
+ # upstream tests with specific *FLAGS and is otherwise flaky with
+ # -march=native, -mno-*, and such -- unset to be spared headaches.
+ unset {C,CPP,CXX,LD}FLAGS
+
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ if use x86; then
+ # https://github.com/simd-everywhere/simde/issues/867 (bug #926706)
+ meson_src_test $(meson_src_test --list | grep -Ev '(dbsad|fpclass)')
+ else
+ meson_src_test
+ fi
+}
diff --git a/dev-libs/simdjson/Manifest b/dev-libs/simdjson/Manifest
index 317fdf967046..b26a7d8c5b5c 100644
--- a/dev-libs/simdjson/Manifest
+++ b/dev-libs/simdjson/Manifest
@@ -1,3 +1,5 @@
-DIST simdjson-3.0.0.gh.tar.gz 1628275 BLAKE2B eef18be927c50527885f6e042ef22317b7e6da6a77d652a4415b98ec7fda227a1b3b798774c12b587a1a011b16c4011a0656f1bf1a20886432796e64076f4775 SHA512 4ea58cd4d059f5e83734f8f084056a58a587529e13df5c47fbb42b141052688f8517ab4e7d6cd4581c6b560f8804968fa0c9c7184b1d8d54e45c280302a069ec
-DIST simdjson-3.1.0.gh.tar.gz 1632837 BLAKE2B c7df7d500753c0fc23637b81e5fa2b01617d1ed24b388054b94cd877d4b9a21cc7495f3a98910600aa9e659a3d734ed6abcc9ba2f6f1f497cbadae313af02d9b SHA512 839b96c17c40274080b2543a78845bae6e7784a53374c0935674e52283ba1cda9dc55ac910641644eb55b8413b02156205153d95619a06ed8bb054429b992051
+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-1.0.0-tests.patch b/dev-libs/simdjson/files/simdjson-1.0.0-tests.patch
deleted file mode 100644
index cccbd4494667..000000000000
--- a/dev-libs/simdjson/files/simdjson-1.0.0-tests.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 235222a8..8532183a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -221,9 +221,10 @@ add_subdirectory(singleheader)
- #
- # Compile tools / tests / benchmarks
- #
--add_subdirectory(tests)
-+if (SIMDJSON_TESTS)
-+ add_subdirectory(tests)
-+endif()
- add_subdirectory(examples)
--add_subdirectory(benchmark)
- add_subdirectory(fuzz)
-
- #
diff --git a/dev-libs/simdjson/files/simdjson-3.1.7-tests.patch b/dev-libs/simdjson/files/simdjson-3.1.7-tests.patch
new file mode 100644
index 000000000000..dd254be00a73
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-3.1.7-tests.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ba15fe93..6993bdd5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -249,12 +249,11 @@ add_subdirectory(singleheader)
+ #
+ # Compile tools / tests / benchmarks
+ #
+-add_subdirectory(tests)
+-add_subdirectory(examples)
+-if(CMAKE_SIZEOF_VOID_P EQUAL 8) # we only include the benchmarks on 64-bit systems.
+- add_subdirectory(benchmark)
++if (SIMDJSON_TESTS)
++ add_subdirectory(tests)
++ add_subdirectory(fuzz)
+ endif()
+-add_subdirectory(fuzz)
++add_subdirectory(examples)
+
+ #
+ # Source files should be just ASCII
diff --git a/dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch b/dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch
new file mode 100644
index 000000000000..f7192d74042c
--- /dev/null
+++ b/dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch
@@ -0,0 +1,17 @@
+diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt
+index 1d98e6f7..ad903481 100644
+--- a/dependencies/CMakeLists.txt
++++ b/dependencies/CMakeLists.txt
+@@ -20,8 +20,10 @@ if(SIMDJSON_GOOGLE_BENCHMARKS)
+ endif()
+
+ # The bulk of our benchmarking and testing data has been moved simdjson/simdjson-data
+-import_dependency(simdjson-data simdjson/simdjson-data a5b13babe65c1bba7186b41b43d4cbdc20a5c470)
+-add_dependency(simdjson-data)
++if(SIMDJSON_TESTS)
++ import_dependency(simdjson-data simdjson/simdjson-data a5b13babe65c1bba7186b41b43d4cbdc20a5c470)
++ add_dependency(simdjson-data)
++endif()
+ option(SIMDJSON_USE_BOOST_JSON "Try to include BOOST_JSON, this may break your binaries under some systems." OFF)
+ # This prevents variables declared with set() from unnecessarily escaping and
+ # should not be called more than once
diff --git a/dev-libs/simdjson/metadata.xml b/dev-libs/simdjson/metadata.xml
index 0bd99c992917..d541fa2ee4a1 100644
--- a/dev-libs/simdjson/metadata.xml
+++ b/dev-libs/simdjson/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<use>
<flag name="tools">Build and install extra command line tools</flag>
+ <flag name="all-impls">Enable all implementations rather than only onem</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/simdjson/simdjson-3.0.0.ebuild b/dev-libs/simdjson/simdjson-3.0.0.ebuild
deleted file mode 100644
index b56e63ef874b..000000000000
--- a/dev-libs/simdjson/simdjson-3.0.0.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2020-2023 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/14"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="test tools"
-
-BDEPEND="
- sys-apps/file
- sys-apps/grep
- virtual/pkgconfig
-"
-DEPEND="
- tools? ( dev-libs/cxxopts:= )
-"
-
-REQUIRED_USE="test? ( tools )"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
- "${FILESDIR}/simdjson-0.9.0-tests.patch"
- "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
- "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
- "${FILESDIR}/simdjson-1.0.0-tests.patch"
-)
-
-DOCS=(
- AUTHORS
- CONTRIBUTING.md
- CONTRIBUTORS
- HACKING.md
- README.md
-)
-
-src_prepare() {
- if use test; then
- mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
- fi
-
- sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
- sed -e '/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=ON
- )
- use test && mycmakeargs+=(
- -DSIMDJSON_TESTS=ON
- )
-
- if use tools; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=ON
- -DSIMDJSON_ALLOW_DOWNLOADS=OFF
- -DSIMDJSON_GOOGLE_BENCHMARKS=OFF
- -DSIMDJSON_COMPETITION=OFF
- -DSIMDJSON_TOOLS=ON
- )
- elif ! use test; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=OFF
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/simdjson/simdjson-3.1.0.ebuild b/dev-libs/simdjson/simdjson-3.1.0.ebuild
deleted file mode 100644
index 8ccb08ef4676..000000000000
--- a/dev-libs/simdjson/simdjson-3.1.0.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2020-2023 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/15"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="test tools"
-
-BDEPEND="
- sys-apps/file
- sys-apps/grep
- virtual/pkgconfig
-"
-DEPEND="
- tools? ( dev-libs/cxxopts:= )
-"
-
-REQUIRED_USE="test? ( tools )"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
- "${FILESDIR}/simdjson-0.9.0-tests.patch"
- "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
- "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
- "${FILESDIR}/simdjson-1.0.0-tests.patch"
-)
-
-DOCS=(
- AUTHORS
- CONTRIBUTING.md
- CONTRIBUTORS
- HACKING.md
- README.md
-)
-
-src_prepare() {
- if use test; then
- mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
- fi
-
- sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
- sed -e '/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=ON
- )
- use test && mycmakeargs+=(
- -DSIMDJSON_TESTS=ON
- )
-
- if use tools; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=ON
- -DSIMDJSON_ALLOW_DOWNLOADS=OFF
- -DSIMDJSON_GOOGLE_BENCHMARKS=OFF
- -DSIMDJSON_COMPETITION=OFF
- -DSIMDJSON_TOOLS=ON
- )
- elif ! use test; then
- mycmakeargs+=(
- -DSIMDJSON_DEVELOPER_MODE=OFF
- )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/simdjson/simdjson-3.6.3.ebuild b/dev-libs/simdjson/simdjson-3.6.3.ebuild
new file mode 100644
index 000000000000..5b14f6ee1759
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.6.3.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/19"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/simdjson/simdjson-3.6.4.ebuild b/dev-libs/simdjson/simdjson-3.6.4.ebuild
new file mode 100644
index 000000000000..efb2ca0d1cde
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.6.4.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/19"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-dont-fetch-data-tarball.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/simdjson/simdjson-3.7.1.ebuild b/dev-libs/simdjson/simdjson-3.7.1.ebuild
new file mode 100644
index 000000000000..86f2f2dbe6cf
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.7.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/20"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mkdir "${S}/dependencies/.cache" || die
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/.cache/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/simdjson/simdjson-3.9.1.ebuild b/dev-libs/simdjson/simdjson-3.9.1.ebuild
new file mode 100644
index 000000000000..ec117c5c1ca4
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.9.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/22"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mkdir "${S}/dependencies/.cache" || die
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/.cache/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64 || use x86; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/sink/Manifest b/dev-libs/sink/Manifest
deleted file mode 100644
index fdc34e347126..000000000000
--- a/dev-libs/sink/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sink-0.8.0.tar.xz 295064 BLAKE2B 8187520979b43966a4e2d782e0ceb651c49eb25a349e2f9f2251b47978b0eebe64a98ce8c04f1854cdd05779f01c2cb68f1fa008568c1e95d292dbcd65fc61fe SHA512 008ca8355ffbed2bf89a906510aac4c505c8e44de49f445db283aa565e233e7652f2e46c5bcf37e680dec940a8c0f1525e6a8f708e1b4742db62522255c8bad6
diff --git a/dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch b/dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch
deleted file mode 100644
index b5085702a33e..000000000000
--- a/dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-# Since musl doesn't have execinfo. We're going to avoid including it and make
-# the printStacktrace function void
-# Closes: https://bugs.gentoo.org/830945
---- a/synchronizer/CMakeLists.txt
-+++ b/synchronizer/CMakeLists.txt
-@@ -2,6 +2,12 @@ project(sink_synchronizer)
-
- include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
-
-+INCLUDE(CheckIncludeFiles)
-+CHECK_INCLUDE_FILES("execinfo.h" HAVE_EXECINFO)
-+IF (HAVE_EXECINFO)
-+ add_compile_definitions(HAVE_EXECINFO_H)
-+ENDIF(HAVE_EXECINFO)
-+
- set(sinksynchronizer_SRCS
- main.cpp
- backtrace.cpp
---- a/synchronizer/backtrace.cpp
-+++ b/synchronizer/backtrace.cpp
-@@ -31,7 +31,9 @@
- #include <chrono>
-
- #ifndef Q_OS_WIN
-+#ifdef HAVE_EXECINFO_H
- #include <execinfo.h>
-+#endif // HAVE_EXECINFO_H
- #include <unistd.h>
- #include <cxxabi.h>
- #include <dlfcn.h>
-@@ -143,7 +145,7 @@ private:
- //Print a demangled stacktrace
- static void printStacktrace()
- {
--#ifndef Q_OS_WIN
-+#if !defined(Q_OS_WIN) && defined(HAVE_EXECINFO_H)
- int skip = 1;
- void *callstack[128];
- const int nMaxFrames = sizeof(callstack) / sizeof(callstack[0]);
-@@ -178,7 +180,7 @@ static void printStacktrace()
- trace_buf << "[truncated]\n";
- }
- std::cerr << trace_buf.str();
--#else
-+#elif defined(Q_OS_WIN)
- enum { maxStackFrames = 100 };
- DebugSymbolResolver resolver(GetCurrentProcess());
- if (resolver.isValid()) {
diff --git a/dev-libs/sink/metadata.xml b/dev-libs/sink/metadata.xml
deleted file mode 100644
index 3e9f700a5e18..000000000000
--- a/dev-libs/sink/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/sink/sink-0.8.0-r3.ebuild b/dev-libs/sink/sink-0.8.0-r3.ebuild
deleted file mode 100644
index c8108f329bf4..000000000000
--- a/dev-libs/sink/sink-0.8.0-r3.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Data access layer handling synchronization, caching and indexing"
-HOMEPAGE="https://kube-project.com"
-SRC_URI="mirror://kde/unstable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-
-# qtgui is bogus but is required because something else in the deptree
-# uses it as a public dependency but doesn't search for it properly
-BDEPEND="
- kde-frameworks/extra-cmake-modules:5
-"
-RDEPEND="
- dev-db/lmdb:=
- dev-libs/flatbuffers:=
- >=dev-libs/kasync-0.3:5
- >=dev-libs/xapian-1.4.4:0=
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- kde-apps/kmime:5
- kde-frameworks/kcalendarcore:5
- kde-frameworks/kcontacts:5
- kde-frameworks/kcoreaddons:5
- >=net-libs/kdav2-0.3:5
- >=net-libs/kimap2-0.3:5
- net-misc/curl
- sys-libs/readline:0=
-"
-DEPEND="${RDEPEND}
- dev-qt/qtconcurrent:5
-"
-
-# fails to build
-RESTRICT+=" test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.0-musl-execinfo.patch
-)
-
-src_prepare() {
- cmake_src_prepare
- # tests are sprinkled all over the place, and examples are needed...
- # disabling tests disables installing 'hawd'... what a mess
- sed -e "/add_subdirectory(tests)/ s/^/#DONT/" \
- -i CMakeLists.txt examples/imapresource/CMakeLists.txt \
- examples/mail{transport,dir}resource/CMakeLists.txt \
- examples/ca{l,rd}davresource/CMakeLists.txt \
- || die "Failed to disable tests everywhere"
-}
diff --git a/dev-libs/skalibs/Manifest b/dev-libs/skalibs/Manifest
index 10c7dedca892..564963cece92 100644
--- a/dev-libs/skalibs/Manifest
+++ b/dev-libs/skalibs/Manifest
@@ -1,2 +1 @@
-DIST skalibs-2.12.0.1.tar.gz 222717 BLAKE2B f094677bbe2efe4c4dcd4359bdfaafa07dc2d436691517a868870e88a360fed8fe81008ebb5ad6f2737d12764a8313b20c31fb52e0c424174744451eca991d9a SHA512 383961588eeb4934ef68e25764d3e258d7d9f19fdd14156490e8d9e2e111050c92b34b1786d007c269d09f82cd234bdcbecb13ef603c101e9439ce4b77a6e635
-DIST skalibs-2.13.0.0.tar.gz 227804 BLAKE2B ece7fd2152002300209e209277dd5950de07fa7754145920e9a4a0c799a29a117a55bfb4bf6fcdb8416f9f73f763e5e78873ef7c7944fea1619e1b2ea8b0f9a6 SHA512 33309cb32a15186052a451e9c1eb9f5888f03005141285d121ff41f669ed37191462415dc425d6bf35a1bb448a2e1772d07a91b43513f527acddb0d60cff8b3a
+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 1423832649b0..c544eea8e1f4 100644
--- a/dev-libs/skalibs/metadata.xml
+++ b/dev-libs/skalibs/metadata.xml
@@ -1,16 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arkamar@atlas.cz</email>
+ <maintainer type="person">
+ <email>arkamar@gentoo.org</email>
<name>Petr Vaněk</name>
</maintainer>
<maintainer type="person">
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
</pkgmetadata>
diff --git a/dev-libs/skalibs/skalibs-2.12.0.1.ebuild b/dev-libs/skalibs/skalibs-2.12.0.1.ebuild
deleted file mode 100644
index 81ccb050e4f6..000000000000
--- a/dev-libs/skalibs/skalibs-2.12.0.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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="amd64 arm ~arm64 x86"
-IUSE="doc ipv6"
-
-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=(
- --datadir=/etc
- --dynlibdir=/usr/$(get_libdir)
- --libdir=/usr/$(get_libdir)/${PN}
- --sysdepdir=/usr/$(get_libdir)/${PN}
- --enable-clock
- --enable-shared
- $(use_enable ipv6)
- )
-
- econf "${myconf[@]}"
-}
diff --git a/dev-libs/skalibs/skalibs-2.13.0.0.ebuild b/dev-libs/skalibs/skalibs-2.13.0.0.ebuild
deleted file mode 100644
index 0116c32ec981..000000000000
--- a/dev-libs/skalibs/skalibs-2.13.0.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 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="~amd64 ~arm ~arm64 ~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=(
- --datadir=/etc
- --dynlibdir=/usr/$(get_libdir)
- --libdir=/usr/$(get_libdir)/${PN}
- --sysdepdir=/usr/$(get_libdir)/${PN}
-
- --disable-static
- --enable-clock
- --enable-ipv6
- --enable-shared
- )
-
- econf "${myconf[@]}"
-}
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/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/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/sleef/sleef-3.5.1.ebuild b/dev-libs/sleef/sleef-3.5.1.ebuild
deleted file mode 100644
index 7d994a46c2f5..000000000000
--- a/dev-libs/sleef/sleef-3.5.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022 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"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-BDEPEND=""
-
-PATCHES=(
- "${FILESDIR}"/${P}-gentoo.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DDISABLE_FFTW=ON
- -DBUILD_TESTS=$(usex test ON OFF)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild
index e2953adabd51..3e13b164d5b4 100644
--- a/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-2.1.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,11 +14,9 @@ SRC_URI="https://github.com/snowballstem/snowball/archive/v${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
IUSE="static-libs test"
-DEPEND=""
-RDEPEND="${DEPEND}"
BDEPEND="dev-lang/perl
test? ( virtual/libiconv )"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild b/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild
index f319dbed581b..a4a7aeec8ed6 100644
--- a/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild
+++ b/dev-libs/snowball-stemmer/snowball-stemmer-2.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,11 +14,9 @@ SRC_URI="https://github.com/snowballstem/snowball/archive/v${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~sparc-solaris ~sparc64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
IUSE="static-libs test"
-DEPEND=""
-RDEPEND="${DEPEND}"
BDEPEND="dev-lang/perl
test? ( virtual/libiconv )"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/softhsm/Manifest b/dev-libs/softhsm/Manifest
index ecf0dc98c3eb..cd1921ec4c2c 100644
--- a/dev-libs/softhsm/Manifest
+++ b/dev-libs/softhsm/Manifest
@@ -1 +1,2 @@
+DIST softhsm-2.6.1-patches.tar.xz 7460 BLAKE2B e9c5496ff1a79121ab62e77ab6541a1678d4254395622aaf76c4b8fdcabbd6144caba5c171e28744ae181169826d2523c9ddf73859ca9ca6bb7a5fdf36a8ea8e SHA512 35330e969d7de532f3b6a0821dc5faa40726dcdd9c62f5e78d05cfec1c35057e183dba0ed638388f3d0ad1bd536b4fbb3cc1ff060e133109cee9681c8ac48052
DIST softhsm-2.6.1.tar.gz 1066766 BLAKE2B 0295c5f40235c8abd8879a8c6f7fbe8e8d686ee03355006e9c90c0f2f7135eaf6794a3d39febda1b1ed6e5d48dcacb1e14dae85fb0efb884d0d719bfc6624b92 SHA512 e77137096ff2ac2f5396971efbaa2007188855a8f723cb511182c6c5e5a353b3f98297442758e77a18c3a378c0ca3fce8abe090977f0f4f8d526de204fd523fb
diff --git a/dev-libs/softhsm/metadata.xml b/dev-libs/softhsm/metadata.xml
index 73e6a5df718a..61d4cdeef207 100644
--- a/dev-libs/softhsm/metadata.xml
+++ b/dev-libs/softhsm/metadata.xml
@@ -6,4 +6,7 @@
<flag name="gost">Enable gost algorithm</flag>
<flag name="migration-tool">Build db migration tool</flag>
</use>
+ <upstream>
+ <remote-id type="github">opendnssec/SoftHSMv2</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild b/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild
index 0b9c9a9a8875..dc8c0e0ad289 100644
--- a/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild
+++ b/dev-libs/softhsm/softhsm-2.6.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ SRC_URI="https://www.opendnssec.org/files/source/${P}.tar.gz"
LICENSE="BSD"
SLOT="2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="gost migration-tool test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/softhsm/softhsm-2.6.1-r3.ebuild b/dev-libs/softhsm/softhsm-2.6.1-r3.ebuild
new file mode 100644
index 000000000000..4e6bb2768abb
--- /dev/null
+++ b/dev-libs/softhsm/softhsm-2.6.1-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="A software PKCS#11 implementation"
+HOMEPAGE="https://www.opendnssec.org/"
+SRC_URI="https://www.opendnssec.org/files/source/${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-2.6.1-patches.tar.xz"
+
+LICENSE="BSD"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="gost migration-tool test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ migration-tool? ( dev-db/sqlite:3= )
+ dev-libs/openssl:=
+ !~dev-libs/softhsm-2.0.0:0
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gcc:=[cxx]
+ virtual/pkgconfig
+ test? ( dev-util/cppunit )
+"
+
+DOCS=( NEWS README.md )
+
+PATCHES=(
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-onexit.patch
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-openssl3-tests.patch
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-uninitialised.patch
+ "${WORKDIR}"/${PN}-2.6.1-patches/${PN}-2.6.1-prevent-global-deleted-objects-access.patch
+)
+
+src_configure() {
+ # Test failures with LTO (bug #867637)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ econf \
+ --with-crypto-backend=openssl \
+ --disable-p11-kit \
+ --localstatedir="${EPREFIX}/var" \
+ --enable-ecc \
+ $(use_enable gost) \
+ $(use_with migration-tool migrate)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ keepdir /var/lib/softhsm/tokens
+}
diff --git a/dev-libs/sord/Manifest b/dev-libs/sord/Manifest
index 0749cfd917a4..06caaaff6513 100644
--- a/dev-libs/sord/Manifest
+++ b/dev-libs/sord/Manifest
@@ -1 +1 @@
-DIST sord-0.16.14.tar.xz 112748 BLAKE2B 399f4bf5d1b8ae557fa7e2d2e92e74ed646d0554235f4527a4b9ad53aa6beb0e90e2d80c9e65ab3c872b5c8d45a7948b7746284bb1fd2352320a0aa33e97e305 SHA512 f6f254518d5dccece7975529b1fcfd552fd9c37e49dc7e9f8a46756b85e476dac064a39af42bfb3078e999e75d1aa75dcc30ec91e08753defa9363adafdfd3bd
+DIST sord-0.16.16.tar.xz 107148 BLAKE2B e657f6e4d38df1c254ce6282ae54a6795e29fd60546373a2b4e1560b269658fa69dd93af4d6f75eaa73f9f777a2d82f99f80d34fd65e1001b8231b63af71029f SHA512 8728fa01466e8f64c1a70a6d4ce727cdac3aaba78db0163ad511d7e959a260c95ab47405cce24ca0e076fb1f0da761687d788cddef87a96aa813757d10f0bfe0
diff --git a/dev-libs/sord/sord-0.16.14-r1.ebuild b/dev-libs/sord/sord-0.16.14-r1.ebuild
deleted file mode 100644
index 1042da9067c4..000000000000
--- a/dev-libs/sord/sord-0.16.14-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 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 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-doc/doxygen )
-"
-# Take care on bumps to check minimum versions!
-RDEPEND="
- dev-libs/libpcre
- >=dev-libs/serd-0.30.10
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- # fix doc installation path
- sed -i "s/versioned_name/'${PF}'/g" doc/meson.build || die
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_feature doc docs)
- $(meson_feature test tests)
- $(meson_feature tools)
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- local DOCS=( AUTHORS NEWS README.md )
- einstalldocs
-}
diff --git a/dev-libs/sord/sord-0.16.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
index 5d7f56bff1cc..e07c89d97856 100644
--- a/dev-libs/sord/sord-9999.ebuild
+++ b/dev-libs/sord/sord-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ if [[ ${PV} == 9999 ]]; then
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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
DESCRIPTION="Library for storing RDF data in memory"
@@ -23,12 +23,18 @@ RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? (
+ app-text/doxygen
+ dev-python/sphinx
+ dev-python/sphinx-lv2-theme
+ dev-python/sphinxygen
+ )
"
# Take care on bumps to check minimum versions!
RDEPEND="
- dev-libs/libpcre
- >=dev-libs/serd-0.30.10
+ >=dev-libs/serd-0.30.10[${MULTILIB_USEDEP}]
+ >=dev-libs/zix-0.4.0[${MULTILIB_USEDEP}]
+ tools? ( dev-libs/libpcre2[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}"
diff --git a/dev-libs/spdlog/Manifest b/dev-libs/spdlog/Manifest
index 17dd522095c4..ea3f87cdbd7e 100644
--- a/dev-libs/spdlog/Manifest
+++ b/dev-libs/spdlog/Manifest
@@ -1,2 +1,3 @@
-DIST spdlog-1.10.0.tar.gz 368651 BLAKE2B e40afa9fd1dd791e1f703392f0f54fc798ed70537a9f1ee9c8598dd449f4cd4dd03bc4ce95e416cbbe224711a17e70708a106f0432384542d6316cf232cf8757 SHA512 e82ec0a0c813ed2f1c8a31a0f21dbb733d0a7bd8d05284feae3bd66040bc53ad47a93b26c3e389c7e5623cfdeba1854d690992c842748e072aab3e6e6ecc5666
DIST spdlog-1.11.0.tar.gz 373033 BLAKE2B a05a535ba55641ecb3bf484eeff902f266bf3967cfbd619234ab0ca2d0c15bddb27b73ce43c33623d02fb046f621933cd52cf39f377f354182d9cdab33340f28 SHA512 210f3135c7af3ec774ef9a5c77254ce172a44e2fa720bf590e1c9214782bf5c8140ff683403a85b585868bc308286fbdeb1c988e4ed1eb3c75975254ffe75412
+DIST spdlog-1.12.0.tar.gz 251037 BLAKE2B 3170f1e680fc4652ed8ddc0f74627aec22149f028def599fc5ed4db3a942d840006963789577f2e3df0e2b8ca1d98a881f3b96be5e1174fdf0acea15b3676d6e SHA512 db9a4f13b6c39ffde759db99bcdfe5e2dbe4231e73b29eb906a3fa78d6b8ec66920b8bd4371df17ae21b7b562472a236bc4435678f3af92b6496be090074181d
+DIST spdlog-1.13.0.tar.gz 264003 BLAKE2B 8ffeec847f082a0932f406ab44b4653661fdbe95a15f7b736367ee6d8f45ab36ca2182a9e9c6fba5c0688ab5436c16932b130541a8532cc2e5f4980e6340b929 SHA512 44fcb414ad9fbbe2a6d72c29143eeeae477b687ed30ae870d661b032a029ad4214ef43e7ef6350d02791d05504492978ade2d6733fab12ce4884d8f0bc4c6340
diff --git a/dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch b/dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch
new file mode 100644
index 000000000000..8ad33f4fc8d0
--- /dev/null
+++ b/dev-libs/spdlog/files/spdlog-1.12.0-fix-tests.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_misc.cpp b/tests/test_misc.cpp
+index 9f3cb1744..6199641ff 100644
+--- a/tests/test_misc.cpp
++++ b/tests/test_misc.cpp
+@@ -43,7 +43,7 @@ TEST_CASE("log_levels", "[log_levels]")
+ REQUIRE(log_info("Hello", spdlog::level::trace) == "Hello");
+ }
+
+-TEST_CASE("level_to_string_view", "[convert_to_string_view")
++TEST_CASE("level_to_string_view", "[convert_to_string_view]")
+ {
+ REQUIRE(spdlog::level::to_string_view(spdlog::level::trace) == "trace");
+ REQUIRE(spdlog::level::to_string_view(spdlog::level::debug) == "debug");
diff --git a/dev-libs/spdlog/files/spdlog-1.9.2-fix-clone-test.patch b/dev-libs/spdlog/files/spdlog-1.9.2-fix-clone-test.patch
deleted file mode 100644
index a224969d9025..000000000000
--- a/dev-libs/spdlog/files/spdlog-1.9.2-fix-clone-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-See https://bugs.gentoo.org/840764
-
---- a/tests/test_misc.cpp
-+++ b/tests/test_misc.cpp
-@@ -131,7 +131,7 @@ TEST_CASE("clone async", "[clone]")
- logger->info("Some message 1");
- cloned->info("Some message 2");
-
-- spdlog::details::os::sleep_for_millis(10);
-+ spdlog::details::os::sleep_for_millis(100);
-
- REQUIRE(test_sink->lines().size() == 2);
- REQUIRE(test_sink->lines()[0] == "Some message 1");
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-musl-1.2.4.patch b/dev-libs/spdlog/files/spdlog-musl-1.2.4.patch
new file mode 100644
index 000000000000..cd1240d36f46
--- /dev/null
+++ b/dev-libs/spdlog/files/spdlog-musl-1.2.4.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/906954
+https://github.com/gabime/spdlog/commit/287a00d364990edbb621fe5e392aeb550135fb96
+
+From 287a00d364990edbb621fe5e392aeb550135fb96 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Jan 2023 09:54:50 -0800
+Subject: [PATCH] Do not use LFS64 functions on linux/musl (#2589)
+
+On musl, off_t is 64bit always ( even on 32bit platforms ), therefore
+using LFS64 funcitons is not needed on such platforms. Moreover, musl
+has stopped providing aliases for these functions [1] which means it
+wont compile on newer musl systems. Therefore only use it on 32bit
+glibc/linux platforms and exclude musl like cygwin or OSX
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/include/spdlog/details/os-inl.h
++++ b/include/spdlog/details/os-inl.h
+@@ -236,8 +236,8 @@ SPDLOG_INLINE size_t filesize(FILE *f)
+ # else
+ int fd = ::fileno(f);
+ # endif
+-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
+-# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
++// 64 bits(but not in osx, linux/musl or cygwin, where fstat64 is deprecated)
++# if ((defined(__linux__) && defined(__GLIBC__)) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
+ struct stat64 st;
+ if (::fstat64(fd, &st) == 0)
+ {
+
diff --git a/dev-libs/spdlog/spdlog-1.10.0.ebuild b/dev-libs/spdlog/spdlog-1.10.0.ebuild
deleted file mode 100644
index 896f8a475926..000000000000
--- a/dev-libs/spdlog/spdlog-1.10.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit 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 ppc ppc64 ~riscv x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-libs/libfmt-8.0.0:=
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-force_external_fmt.patch"
- "${FILESDIR}/${PN}-1.9.2-fix-clone-test.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-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.11.0.ebuild b/dev-libs/spdlog/spdlog-1.11.0.ebuild
deleted file mode 100644
index d61d98191cd7..000000000000
--- a/dev-libs/spdlog/spdlog-1.11.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=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 ~ppc ~ppc64 ~riscv ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0/1"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- >=dev-libs/libfmt-8.0.0:=
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-force_external_fmt.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
- rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DSPDLOG_BUILD_BENCH=no
- -DSPDLOG_BUILD_EXAMPLE=no
- -DSPDLOG_FMT_EXTERNAL=yes
- -DSPDLOG_BUILD_SHARED=yes
- -DSPDLOG_BUILD_TESTS=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/spdlog/spdlog-1.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-9999.ebuild b/dev-libs/spdlog/spdlog-9999.ebuild
index d61d98191cd7..01917c4d913f 100644
--- a/dev-libs/spdlog/spdlog-9999.ebuild
+++ b/dev-libs/spdlog/spdlog-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake-multilib
DESCRIPTION="Fast C++ logging library"
HOMEPAGE="https://github.com/gabime/spdlog"
@@ -13,16 +13,19 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/gabime/${PN}"
else
SRC_URI="https://github.com/gabime/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+ 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-8.0.0:=
@@ -33,17 +36,17 @@ PATCHES=(
"${FILESDIR}/${PN}-force_external_fmt.patch"
)
-src_prepare() {
+multilib_src_prepare() {
cmake_src_prepare
rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
}
-src_configure() {
+multilib_src_configure() {
local mycmakeargs=(
-DSPDLOG_BUILD_BENCH=no
-DSPDLOG_BUILD_EXAMPLE=no
-DSPDLOG_FMT_EXTERNAL=yes
- -DSPDLOG_BUILD_SHARED=yes
+ -DSPDLOG_BUILD_SHARED=$(usex static-libs)
-DSPDLOG_BUILD_TESTS=$(usex test)
)
diff --git a/dev-libs/squareball/squareball-0.2.0.ebuild b/dev-libs/squareball/squareball-0.2.0.ebuild
index f66cb329826c..d38119fc6536 100644
--- a/dev-libs/squareball/squareball-0.2.0.ebuild
+++ b/dev-libs/squareball/squareball-0.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,7 +22,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
DEPEND="test? ( dev-util/cmocka )"
diff --git a/dev-libs/squareball/squareball-9999.ebuild b/dev-libs/squareball/squareball-9999.ebuild
index 28dcbab67e2f..c08f98a1d5b7 100644
--- a/dev-libs/squareball/squareball-9999.ebuild
+++ b/dev-libs/squareball/squareball-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,7 +22,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
DEPEND="test? ( dev-util/cmocka )"
diff --git a/dev-libs/starpu/metadata.xml b/dev-libs/starpu/metadata.xml
index 2ddfc463c9ea..c4545cea9598 100644
--- a/dev-libs/starpu/metadata.xml
+++ b/dev-libs/starpu/metadata.xml
@@ -12,10 +12,7 @@
efficiently as possible.
</longdescription>
<use>
- <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag>
<flag name="gcc-plugin">Enable GCC extension plugin (experimental)</flag>
- <flag name="opencl">Enable OpenCL support</flag>
<flag name="spinlock-check">Enable spinlock check</flag>
- <flag name="valgrind">Enable <pkg>dev-util/valgrind</pkg> support</flag>
</use>
</pkgmetadata>
diff --git a/dev-libs/starpu/starpu-1.2.6-r1.ebuild b/dev-libs/starpu/starpu-1.2.6-r1.ebuild
index 68d66beb7888..3f0131f2985f 100644
--- a/dev-libs/starpu/starpu-1.2.6-r1.ebuild
+++ b/dev-libs/starpu/starpu-1.2.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://gforge.inria.fr/frs/download.php/file/37744/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/5"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="
blas cuda doc examples fftw fortran gcc-plugin mpi opencl opengl
@@ -30,25 +30,16 @@ RDEPEND="
mpi? ( virtual/mpi )
opencl? ( virtual/opencl )
opengl? ( media-libs/freeglut:0= )
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen virtual/latex-base )
+ doc? ( app-text/doxygen virtual/latex-base )
test? ( gcc-plugin? ( dev-scheme/guile ) )
"
-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
diff --git a/dev-libs/starpu/starpu-1.3.9.ebuild b/dev-libs/starpu/starpu-1.3.9.ebuild
index 2ac7acd77b0b..5e6e66130d4a 100644
--- a/dev-libs/starpu/starpu-1.3.9.ebuild
+++ b/dev-libs/starpu/starpu-1.3.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ SRC_URI="https://files.inria.fr/${PN}/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/7"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="
blas cuda doc examples fftw fortran hdf5 mpi opencl opengl
@@ -33,13 +33,13 @@ RDEPEND="
mpi? ( virtual/mpi )
opencl? ( virtual/opencl )
opengl? ( media-libs/freeglut:0= )
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen virtual/latex-base )
+ doc? ( app-text/doxygen virtual/latex-base )
"
pkg_pretend() {
diff --git a/dev-libs/stb/Manifest b/dev-libs/stb/Manifest
index 4371b529fd59..3878b03f7285 100644
--- a/dev-libs/stb/Manifest
+++ b/dev-libs/stb/Manifest
@@ -1 +1 @@
-DIST stb-20200713.tar.gz 1378579 BLAKE2B 13f2deecdc20c95fe3dfd1820346e9c8d1046004082a4b6044934efa7e20270b253953fb8e2d9eecf2a263ea342b740d87807e50da48178c0eb4c7028bd27488 SHA512 a9ba80d19dae4e527171bb02e1caa4d3eb0704cdf7f8fef1a7a09e6b05c65b829b0aa580f469f158a39bf13018289f40c1680ab5c22bfa5e932bff94eced475d
+DIST stb-20240201.tar.gz 1510288 BLAKE2B f11e802c6e9efe60bf08bb6071b6e8a12fc7a0713f450379534c2a4fc96c2023a190f4fed598fa7fa9b577e19f14bffbfa2f54dff1ebf72d933dc0113aa820c5 SHA512 2403ddb14b7c1a49f12bb0b43e52c612d58e4382ed03f59b4255560900eb7f08651b6688ec8b468b89e999611a67de5bd1102aa03d3847e3dd2d464175a11905
diff --git a/dev-libs/stb/stb-20200713.ebuild b/dev-libs/stb/stb-20200713.ebuild
deleted file mode 100644
index 17561e11cde8..000000000000
--- a/dev-libs/stb/stb-20200713.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# There are no official releases
-CHECKSUM="b42009b3b9d4ca35bc703f5310eedc74f584be58"
-
-DESCRIPTION="single-file public domain (or MIT licensed) libraries for C/C++"
-HOMEPAGE="https://github.com/nothings/stb"
-SRC_URI="https://github.com/nothings/stb/archive/${CHECKSUM}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( MIT Unlicense )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-IUSE=""
-
-S="${WORKDIR}/${PN}-${CHECKSUM}"
-
-BDEPEND=""
-RDEPEND=""
-
-src_prepare() {
- default
-
- # Move the header files in a folder so they don't pollute the include dir
- mkdir stb || die
- mv *.h stb/ || die
-}
-
-src_install() {
- doheader -r stb
-}
diff --git a/dev-libs/stb/stb-20240201-r1.ebuild b/dev-libs/stb/stb-20240201-r1.ebuild
new file mode 100644
index 000000000000..b69f24538402
--- /dev/null
+++ b/dev-libs/stb/stb-20240201-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# There are no official releases
+CHECKSUM="f4a71b13373436a2866c5d68f8f80ac6f0bc1ffe"
+
+DESCRIPTION="single-file public domain (or MIT licensed) libraries for C/C++"
+HOMEPAGE="https://github.com/nothings/stb"
+SRC_URI="https://github.com/nothings/stb/archive/${CHECKSUM}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${CHECKSUM}"
+
+LICENSE="|| ( MIT Unlicense )"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+src_prepare() {
+ default
+
+ # Move the header files in a folder so they don't pollute the include dir
+ mkdir stb || die
+ mv *.h stb/ || die
+ mv deprecated stb/ || die
+}
+
+src_install() {
+ doheader -r stb
+
+ insinto /usr/share/pkgconfig
+ cat > "${D}"/usr/share/pkgconfig/stb.pc <<-EOF
+ prefix=/usr
+ includedir=\${prefix}/include/stb
+
+ Name: stb
+ Description: stb single-file public domain libraries
+ Version: ${PV}
+ Cflags: -I\${includedir}
+ EOF
+}
diff --git a/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch b/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch
new file mode 100644
index 000000000000..c1690ce67fe4
--- /dev/null
+++ b/dev-libs/stfl/files/stfl-0.24-ncurses-widechar.patch
@@ -0,0 +1,26 @@
+ncurses widechar functions are only available if the correct macros are
+defined. Use CFLAGS and LDFLAGS from pkgconfig to ensure that widechar
+functions are available.
+
+From 9b71952bfb29e036b13c16d621febff76e84e3e4 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Tue, 11 Jul 2023 15:45:05 -0400
+Subject: [PATCH] Use pkg-config for correct ncursesw CFLAGS and LDFLAGS
+
+--- a/Makefile
++++ b/Makefile
+@@ -21,8 +21,9 @@
+ include Makefile.cfg
+
+ export CC = gcc -pthread
+-export CFLAGS += -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC
+-export LDLIBS += -lncursesw
++export PKG_CONFIG ?= pkg-config
++export CFLAGS += -I. -Wall -Os -ggdb -D_GNU_SOURCE -fPIC $(shell ${PKG_CONFIG} --cflags ncursesw)
++export LDLIBS += $(shell ${PKG_CONFIG} --libs ncursesw)
+
+ SONAME := libstfl.so.0
+ VERSION := 0.24
+--
+2.41.0
+
diff --git a/dev-libs/stfl/stfl-0.24-r4.ebuild b/dev-libs/stfl/stfl-0.24-r4.ebuild
index 66394e8df604..6fc8cd5251c2 100644
--- a/dev-libs/stfl/stfl-0.24-r4.ebuild
+++ b/dev-libs/stfl/stfl-0.24-r4.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
GENTOO_DEPEND_ON_PERL=no
inherit perl-module python-r1 toolchain-funcs
diff --git a/dev-libs/stfl/stfl-0.24-r5.ebuild b/dev-libs/stfl/stfl-0.24-r5.ebuild
new file mode 100644
index 000000000000..546f1446cd20
--- /dev/null
+++ b/dev-libs/stfl/stfl-0.24-r5.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..11} )
+GENTOO_DEPEND_ON_PERL=no
+inherit perl-module python-r1 toolchain-funcs
+
+DESCRIPTION="A library which implements a curses-based widget set for text terminals"
+HOMEPAGE="http://www.clifford.at/stfl/"
+SRC_URI="http://www.clifford.at/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="examples perl python ruby static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ sys-libs/ncurses:=[unicode(+)]
+ perl? ( dev-lang/perl:= )
+ ruby? ( dev-lang/ruby:* )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}
+ perl? ( dev-lang/swig )
+ python? ( >=dev-lang/swig-1.3.40 )
+ ruby? ( dev-lang/swig )
+"
+BDEPEND="virtual/pkgconfig"
+RESTRICT="test" # Upstream does not provide tests #730112
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.21-python.patch"
+ "${FILESDIR}/${PN}-0.22-soname-symlink.patch"
+ "${FILESDIR}/${PN}-0.22-ruby-sharedlib.patch"
+ "${FILESDIR}/${PN}-0.22-pc-libdir.patch"
+ "${FILESDIR}/${PN}-0.24-ncurses-widechar.patch"
+)
+
+src_prepare() {
+ default_src_prepare
+
+ sed -i \
+ -e 's/-Os -ggdb//' \
+ -e 's/^\(all:.*\) example/\1/' \
+ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
+ -e 's/ -o $@ $(LDLIBS) $^/ $^ $(LDLIBS) -o $@/' \
+ -e 's/-lncursesw/-lncursesw -pthread/' \
+ -e 's/\<ar\>/$(AR)/' \
+ -e 's/\<ranlib\>/$(RANLIB)/' \
+ Makefile || die "sed failed"
+
+ if ! use static-libs ; then
+ sed -i -e "/install .* libstfl.a/d" Makefile || die
+ fi
+
+ if use perl ; then
+ echo "FOUND_PERL5=1" >> Makefile.cfg
+ else
+ echo "FOUND_PERL5=0" >> Makefile.cfg
+ fi
+
+ if use ruby ; then
+ echo "FOUND_RUBY=1" >> Makefile.cfg
+ else
+ echo "FOUND_RUBY=0" >> Makefile.cfg
+ fi
+
+ echo "FOUND_PYTHON=0" >> Makefile.cfg
+}
+
+src_configure() { :; }
+
+src_compile() {
+ emake CC="$(tc-getCC)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" PKG_CONFIG="$(tc-getPKG_CONFIG)"
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+ python_copy_sources
+
+ # Based on code from python/Makefile.snippet.
+ building() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ echo swig -python -threads stfl.i
+ swig -python -threads stfl.i || die
+ echo "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so
+ "$(tc-getCC)" ${CFLAGS} ${LDFLAGS} -shared -pthread -fPIC stfl_wrap.c -I$(python_get_includedir) -I.. ../libstfl.so.${PV} -lncursesw -o _stfl.so || die
+ popd &>/dev/null || die
+ }
+ python_foreach_impl building
+ fi
+}
+
+src_install() {
+ emake prefix="/usr" DESTDIR="${D}" libdir="$(get_libdir)" install
+
+ if use python ; then
+ local BUILD_DIR="${S}/python"
+
+ installation() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ python_domodule stfl.py _stfl.so
+ popd &>/dev/null || die
+ }
+ python_foreach_impl installation
+ fi
+
+ dodoc README
+
+ local exdir="/usr/share/doc/${PF}/examples"
+ if use examples ; then
+ insinto ${exdir}
+ doins example.{c,stfl}
+ insinto ${exdir}/python
+ doins python/example.py
+ if use perl ; then
+ insinto ${exdir}/perl
+ doins perl5/example.pl
+ fi
+ if use ruby ; then
+ insinto ${exdir}/ruby
+ doins ruby/example.rb
+ fi
+ fi
+
+ perl_delete_localpod
+}
diff --git a/dev-libs/teakra/teakra-20220224.ebuild b/dev-libs/teakra/teakra-20220224.ebuild
index 9553e9149c97..faf0cf67592a 100644
--- a/dev-libs/teakra/teakra-20220224.ebuild
+++ b/dev-libs/teakra/teakra-20220224.ebuild
@@ -1,16 +1,17 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-H=01db7cdd00aabcce559a8dddce8798dabb71949b
+[[ ${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/${H}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${H}
+SRC_URI="https://github.com/wwylele/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
LICENSE="MIT"
SLOT="0"
@@ -23,8 +24,8 @@ src_prepare() {
}
src_configure() {
- local mycmakeargs=(
- -DCMAKE_SKIP_RPATH=ON
+ local -a mycmakeargs=(
+ -DCMAKE_SKIP_RPATCOMMIT=ON
)
cmake_src_configure
}
diff --git a/dev-libs/template-glib/Manifest b/dev-libs/template-glib/Manifest
index e38917bed0db..f9e0eafff4e0 100644
--- a/dev-libs/template-glib/Manifest
+++ b/dev-libs/template-glib/Manifest
@@ -1 +1 @@
-DIST template-glib-3.36.0.tar.xz 64132 BLAKE2B 10a9fbf8f98efaaf92b8679ea3b08dc510b9b5744239c19f180efc3a1a54f8edec2b1c6775e336d5a143fc8cac566d507337e656154a1984404a84f0b9b88c2b SHA512 51e1adf581fef05ec46ed3dd9ba61c27b02138009e2f994a0dded62216372445e59676d6f8bbca979e44825722c913a1435a8ae7b6d1e7e41dc510654420647b
+DIST template-glib-3.36.2.tar.xz 64832 BLAKE2B 63d413b8474ea641cb8ad3eecc69f4fefbb1b3d5b9a3ec1bc4dd7ddd3526ca3c8599bf811041df6685daa868ff5c302d650b1fc956a441a5d2b80adc069453ae SHA512 226247151c932931a3c5c0f2278929ab6e6e82edbcab10dead5723ee4b8ef5c6d12775491b1aed7e7ccfee8b794be69a8c457e6639a63fdfc2b6e41d7efc2bee
diff --git a/dev-libs/template-glib/template-glib-3.36.0.ebuild b/dev-libs/template-glib/template-glib-3.36.0.ebuild
deleted file mode 100644
index a5a782bc69f3..000000000000
--- a/dev-libs/template-glib/template-glib-3.36.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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 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
- sys-devel/bison
- sys-devel/flex
- >=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/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
index 4e5bde988056..88cdbc2d6cce 100644
--- a/dev-libs/thrift/Manifest
+++ b/dev-libs/thrift/Manifest
@@ -1 +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.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/thrift-0.16.0-r1.ebuild b/dev-libs/thrift/thrift-0.16.0-r1.ebuild
deleted file mode 100644
index 22f3fc9e88b4..000000000000
--- a/dev-libs/thrift/thrift-0.16.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022-2023 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"
-IUSE="libevent lua +ssl test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-libs/boost:=
- 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.16.0-r2.ebuild b/dev-libs/thrift/thrift-0.16.0-r2.ebuild
new file mode 100644
index 000000000000..cc8bf3357944
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.16.0-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/0"
+KEYWORDS="amd64 ~arm64 ppc64"
+IUSE="libevent lua +ssl test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls]
+ dev-libs/openssl:=
+ libevent? ( dev-libs/libevent )
+"
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+REQUIRED_USE="
+ test? ( ssl )
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.16.0-network-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPP=ON
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_TESTING=$(usex test 'ON' 'OFF')
+ -DWITH_LIBEVENT=$(usex libevent 'ON' 'OFF')
+ -DWITH_OPENSSL=$(usex ssl 'ON' 'OFF')
+ -DWITH_ZLIB=ON
+ -Wno-dev
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/thrift/thrift-0.18.1-r1.ebuild b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
new file mode 100644
index 000000000000..e7fbc703524a
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
+IUSE="libevent lua +ssl test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls]
+ dev-libs/openssl:=
+ sys-libs/zlib:=
+ libevent? ( dev-libs/libevent:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+REQUIRED_USE="
+ test? ( ssl libevent )
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.16.0-network-tests.patch"
+ "${FILESDIR}/thrift-0.18.1-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPP=ON
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_TESTING=$(usex test 'ON' 'OFF')
+ -DWITH_LIBEVENT=$(usex libevent 'ON' 'OFF')
+ -DWITH_OPENSSL=$(usex ssl 'ON' 'OFF')
+ -DWITH_ZLIB=ON
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/dev-libs/thrift/thrift-0.20.0.ebuild b/dev-libs/thrift/thrift-0.20.0.ebuild
new file mode 100644
index 000000000000..f57f4a9b262a
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.20.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
+IUSE="libevent lua +ssl test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls(+)]
+ dev-libs/openssl:=
+ sys-libs/zlib:=
+ libevent? ( dev-libs/libevent:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+REQUIRED_USE="
+ test? ( ssl libevent )
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.16.0-network-tests.patch"
+ "${FILESDIR}/thrift-0.18.1-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPP=ON
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_TESTING=$(usex test 'ON' 'OFF')
+ -DWITH_LIBEVENT=$(usex libevent 'ON' 'OFF')
+ -DWITH_OPENSSL=$(usex ssl 'ON' 'OFF')
+ -DWITH_ZLIB=ON
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch b/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch
new file mode 100644
index 000000000000..d9eeb45c73b5
--- /dev/null
+++ b/dev-libs/tinyxml/files/tinyxml-2.6.2-CVE-2021-42260.patch
@@ -0,0 +1,23 @@
+Description: In stamp always advance the pointer if *p= 0xef
+ .
+ The current implementation only advanced if 0xef is followed
+ by two non-zero bytes. In case of malformed input (0xef should be
+ the start byte of a three byte character) this leads to an infinite
+ loop. (CVE-2021-42260)
+Origin: https://sourceforge.net/p/tinyxml/git/merge-requests/1/
+
+--- a/tinyxmlparser.cpp
++++ b/tinyxmlparser.cpp
+@@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding )
+ else
+ { p +=3; ++col; } // A normal character.
+ }
++ else
++ {
++ // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so
++ // there is something wrong here. Just advance the pointer to evade infinite loops
++ ++p;
++ }
+ }
+ else
+ {
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
index 40b484dd5eac..583bc4f9b670 100644
--- a/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ 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-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
S="${WORKDIR}/${PN}"
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
new file mode 100644
index 000000000000..7d8e263e06fb
--- /dev/null
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs multilib
+
+DESCRIPTION="Simple and small C++ XML parser"
+HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
+SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="debug doc static-libs +stl"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+S="${WORKDIR}/${PN}"
+
+DOCS=( "changes.txt" "readme.txt" )
+
+src_prepare() {
+ local major_v=$(ver_cut 1)
+ local minor_v=$(ver_cut 2-3)
+
+ sed -e "s:@MAJOR_V@:$major_v:" \
+ -e "s:@MINOR_V@:$minor_v:" \
+ "${FILESDIR}"/Makefile-3 > Makefile || die
+
+ eapply -p0 "${FILESDIR}"/${PN}-2.6.1-entity.patch
+ eapply -p0 "${FILESDIR}"/${PN}.pc.patch
+ eapply "${FILESDIR}"/${P}-CVE-2021-42260.patch
+
+ use debug && append-cppflags -DDEBUG
+ use stl && eapply "${FILESDIR}"/${P}-defineSTL.patch
+
+ sed -e "s:/lib:/$(get_libdir):g" -i tinyxml.pc || die # bug 738948
+ if use stl; then
+ sed -e "s/Cflags: -I\${includedir}/Cflags: -I\${includedir} -DTIXML_USE_STL=YES/g" -i tinyxml.pc || die
+ fi
+
+ if ! use static-libs; then
+ sed -e "/^all:/s/\$(name).a //" -i Makefile || die
+ fi
+
+ tc-export AR CXX RANLIB
+
+ [[ ${CHOST} == *-darwin* ]] && export LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+ eapply_user
+}
+
+src_install() {
+ dolib.so *$(get_libname)*
+
+ insinto /usr/include
+ doins *.h
+
+ insinto /usr/share/pkgconfig
+ doins tinyxml.pc
+
+ einstalldocs
+
+ if use doc ; then
+ docinto html
+ dodoc -r docs/*
+ fi
+}
diff --git a/dev-libs/tinyxml2/Manifest b/dev-libs/tinyxml2/Manifest
index ad78643036ad..22114c122de1 100644
--- a/dev-libs/tinyxml2/Manifest
+++ b/dev-libs/tinyxml2/Manifest
@@ -1 +1,2 @@
+DIST tinyxml2-10.0.0.tar.gz 642421 BLAKE2B 89f5a9d92e4e3f12f4abcdbabb2d4cb25950a044bc6f6f788a1a6291913e77d82a805438aacf1e6c14dd8977aa3930527c89ef066e2075161f176a301cbf1b3f SHA512 a359d33bc12fad455b53d81011dbe12727cae0aabfaa5704f1a25807ca216dd854a571291029886c0beedeca5c3b6393dd49c4718773e18a0e008abbdb3de36a
DIST tinyxml2-9.0.0.tar.gz 619734 BLAKE2B 9a7bb8b8158417aa505e3d9fcc246b0bede52d6d4d5ff1b5cee891c2b72d1ee43d00ccea001ac24500f52c36320994b3446f3898ab2be1997940dbff526bc78e SHA512 9c5ce8131984690df302ca3e32314573b137180ed522c92fd631692979c942372a28f697fdb3d5e56bcf2d3dc596262b724d088153f3e1d721c9536f2a883367
diff --git a/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch b/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch
new file mode 100644
index 000000000000..2670d4ffa913
--- /dev/null
+++ b/dev-libs/tinyxml2/files/tinyxml2-9.0.0-musl-1.2.4.patch
@@ -0,0 +1,51 @@
+Bug: https://bugs.gentoo.org/905999
+Upstream: https://leethomason/tinyxml2/pull/945
+
+From dfcb914e8bbbb2dca146a3cee62f66fff7ea163b Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Thu, 8 Jun 2023 15:19:41 +0000
+Subject: [PATCH] Remove LFS64 calls and set _FILE_OFFSET_BITS=64
+
+Musl 1.2.4 made the LFS64 interfaces only available when
+_LARGEFILE64_SOURCE is defined, and they will be removed altogether in
+Musl 1.2.5. This commit replaces the LFS64 calls with their non-LFS64
+versions and defines _FILE_OFFSET_BITS=64, which makes all interfaces
+64-bit.
+
+Bug: https://bugs.gentoo.org/905999
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,6 +31,7 @@ target_compile_definitions(
+ PUBLIC $<$<CONFIG:Debug>:TINYXML2_DEBUG>
+ INTERFACE $<$<BOOL:${BUILD_SHARED_LIBS}>:TINYXML2_IMPORT>
+ PRIVATE $<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
++ PUBLIC _FILE_OFFSET_BITS=64
+ )
+
+ set_target_properties(
+--- a/Makefile
++++ b/Makefile
+@@ -10,7 +10,7 @@ ARFLAGS = cr
+ RM = rm -f
+ RANLIB = ranlib
+ MKDIR = mkdir -p
+-CXXFLAGS = -fPIC
++CXXFLAGS = -D_FILE_OFFSET_BITS=64 -fPIC
+
+ INSTALL = install
+ INSTALL_PROGRAM = $(INSTALL)
+--- a/tinyxml2.cpp
++++ b/tinyxml2.cpp
+@@ -106,9 +106,6 @@ distribution.
+ #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__ANDROID__)
+ #define TIXML_FSEEK fseeko
+ #define TIXML_FTELL ftello
+-#elif defined(__unix__) && defined(__x86_64__)
+- #define TIXML_FSEEK fseeko64
+- #define TIXML_FTELL ftello64
+ #else
+ #define TIXML_FSEEK fseek
+ #define TIXML_FTELL ftell
+--
+2.41.0
+
diff --git a/dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild b/dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild
new file mode 100644
index 000000000000..d75506b37166
--- /dev/null
+++ b/dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# No meson because of bug #791163
+inherit cmake
+
+DESCRIPTION="A simple, small, efficient, C++ XML parser"
+HOMEPAGE="https://github.com/leethomason/tinyxml2/"
+SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0/10"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild b/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild
index 77637717145c..4623fa9dfdd3 100644
--- a/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild
+++ b/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+# No meson because of bug #791163
inherit cmake
DESCRIPTION="A simple, small, efficient, C++ XML parser"
@@ -11,10 +12,14 @@ SRC_URI="https://github.com/leethomason/${PN}/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="ZLIB"
SLOT="0/9"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv sparc x86"
+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)
diff --git a/dev-libs/tllist/tllist-1.1.0.ebuild b/dev-libs/tllist/tllist-1.1.0.ebuild
index 5a71e470c6bc..16e17ecdb39f 100644
--- a/dev-libs/tllist/tllist-1.1.0.ebuild
+++ b/dev-libs/tllist/tllist-1.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
src_install() {
meson_src_install
diff --git a/dev-libs/tlsh/tlsh-4.8.2.ebuild b/dev-libs/tlsh/tlsh-4.8.2.ebuild
index dc63ec1c565a..8b6e02c5e549 100644
--- a/dev-libs/tlsh/tlsh-4.8.2.ebuild
+++ b/dev-libs/tlsh/tlsh-4.8.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022 Gentoo Authors
+# 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
+inherit cmake toolchain-funcs flag-o-matic
DESCRIPTION="Fuzzy matching library"
HOMEPAGE="https://github.com/trendmicro/tlsh"
@@ -19,6 +19,12 @@ PATCHES=(
"${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
diff --git a/dev-libs/tntnet/tntnet-3.0.ebuild b/dev-libs/tntnet/tntnet-3.0.ebuild
index 24ed5d0c4ea1..af01d14155c8 100644
--- a/dev-libs/tntnet/tntnet-3.0.ebuild
+++ b/dev-libs/tntnet/tntnet-3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,9 +12,11 @@ SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~sparc x86"
-IUSE="doc gnutls server ssl"
+IUSE="doc gnutls server ssl test"
+RESTRICT="!test? ( test )"
-RDEPEND=">=dev-libs/cxxtools-3.0
+RDEPEND="
+ >=dev-libs/cxxtools-3.0
sys-libs/zlib[minizip]
ssl? (
gnutls? (
@@ -24,10 +26,13 @@ RDEPEND=">=dev-libs/cxxtools-3.0
!gnutls? (
dev-libs/openssl:0=
)
- )"
+ )
+"
DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig
- app-arch/zip"
+BDEPEND="
+ app-arch/zip
+ virtual/pkgconfig
+"
PATCHES=(
"${FILESDIR}/${PN}-3.0-autoconf-2.70.patch"
@@ -48,7 +53,7 @@ src_prepare() {
}
src_configure() {
- local myconf=""
+ local myconf="$(use_enable test unittest)"
if ! use server; then
myconf="${myconf} --disable-server"
@@ -57,6 +62,12 @@ src_configure() {
econf ${myconf}
}
+src_test() {
+ cd test || die
+ emake || die
+ ./tntnet-test || die
+}
+
src_install() {
emake DESTDIR="${D}" install
diff --git a/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild
index 1d3d1fa36d68..6f64ba4a02ea 100644
--- a/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild
+++ b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,9 +15,9 @@ LICENSE="Unlicense"
# Helpful site:
# https://abi-laboratory.pro/index.php?view=timeline&l=tomsfastmath
SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-BDEPEND="sys-devel/libtool"
+BDEPEND="dev-build/libtool"
PATCHES=(
"${FILESDIR}"/${P}-makefile-fix.patch
diff --git a/dev-libs/totem-pl-parser/files/3.26.6-c99.patch b/dev-libs/totem-pl-parser/files/3.26.6-c99.patch
new file mode 100644
index 000000000000..a991b8ae41c0
--- /dev/null
+++ b/dev-libs/totem-pl-parser/files/3.26.6-c99.patch
@@ -0,0 +1,22 @@
+https://gitlab.gnome.org/GNOME/totem-pl-parser/-/merge_requests/53
+
+From e718dd1fe2476e2a68da4b632f268f404ea951f2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Wed, 3 Jan 2024 13:24:31 +0100
+Subject: [PATCH] Return FALSE instead of NULL, to match the gboolean return
+ type
+
+Fixes a C type error and compilation error with GCC 14 and Clang.
+--- a/plparse/totem-pl-parser.c
++++ b/plparse/totem-pl-parser.c
+@@ -1338,7 +1338,7 @@ totem_pl_parser_save_finish (TotemPlParser *parser,
+ GAsyncResult *async_result,
+ GError **error)
+ {
+- g_return_val_if_fail (g_task_is_valid (async_result, parser), NULL);
++ g_return_val_if_fail (g_task_is_valid (async_result, parser), FALSE);
+
+ return g_task_propagate_boolean (G_TASK (async_result), error);
+ }
+--
+GitLab
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
new file mode 100644
index 000000000000..e0c1d14df6fc
--- /dev/null
+++ b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit gnome.org meson xdg
+
+DESCRIPTION="Playlist parsing library"
+HOMEPAGE="https://developer.gnome.org/totem-pl-parser/stable/"
+
+LICENSE="LGPL-2+"
+SLOT="0/18"
+IUSE="archive crypt gtk-doc +introspection test +uchardet"
+RESTRICT="!test? ( test )"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-libs/glib-2.56:2
+ archive? ( >=app-arch/libarchive-3:0= )
+ dev-libs/libxml2:2
+ crypt? ( dev-libs/libgcrypt:0= )
+ uchardet? ( app-i18n/uchardet )
+ introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.14
+ app-text/docbook-xml-dtd:4.3
+ )
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ test? (
+ gnome-base/gvfs[http]
+ sys-apps/dbus
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-plparser-Fix-uninitialized-variable-error.patch
+ "${FILESDIR}"/${PV}-c99.patch
+)
+
+src_prepare() {
+ # Disable tests requiring network access, bug #346127
+ # 3rd test fails on upgrade, not once installed
+ # Leio: I consider network tests important for ensuring full functionality, thus trying with them again */
+ #sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
+ # -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' \
+ # -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1*/:'\
+ # -i plparse/tests/parser.c || die "sed failed"
+
+ xdg_src_prepare
+}
+
+src_configure() {
+ # uninstalled-tests is abused to switch from loading live FS helper
+ # to in-build-tree helper, check on upgrades this is not having other
+ # consequences, bug #630242
+ local emesonargs=(
+ -Denable-libarchive=$(usex archive)
+ -Denable-libgcrypt=$(usex crypt)
+ -Denable-uchardet=$(usex uchardet)
+ $(meson_use gtk-doc enable-gtk-doc)
+ $(meson_use introspection)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # This is required as told by upstream in bgo#629542
+ GVFS_DISABLE_FUSE=1 dbus-run-session meson test -C "${BUILD_DIR}"
+}
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild
deleted file mode 100644
index 99a530f0613a..000000000000
--- a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-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
-)
-
-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/tre-0.8.0_p20210321-r1.ebuild b/dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild
index a9b187a85dba..185e2de33ab0 100644
--- a/dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r1.ebuild
@@ -18,7 +18,7 @@ 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 ~x86-solaris"
+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="
diff --git a/dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild b/dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild
index 7913295ee3a2..d139f6524687 100644
--- a/dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r2.ebuild
@@ -20,7 +20,7 @@ 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 ~x86-solaris"
+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="
diff --git a/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild b/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
index 98e45554992d..06fb94e53c49 100644
--- a/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
@@ -20,7 +20,7 @@ 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 ~x86-solaris"
+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="
diff --git a/dev-libs/tree-sitter-bash/Manifest b/dev-libs/tree-sitter-bash/Manifest
index 3e270eade3ee..a9d7f4e84baa 100644
--- a/dev-libs/tree-sitter-bash/Manifest
+++ b/dev-libs/tree-sitter-bash/Manifest
@@ -1 +1,4 @@
DIST tree-sitter-bash-0.19.0.tar.gz 187286 BLAKE2B 8812a593366a65a9cae3eaac5bb81c71e95f4abe8558a01b908333e471f05714b1c768b71e66d3890d1e63202819290813e499a5e8ba49e72bb466b9b0f245f8 SHA512 62bc8bc25c999f9c79632bd6b236edd21ef15b14365dd1a956237b11a32f5e60a2f420ec67b60d46203699b7841d4bc10978fc0307d0c4013b376c6c024d89ae
+DIST tree-sitter-bash-0.20.4-2.tar.gz 444183 BLAKE2B 31016de876ed84ab991ebc1e531dd750c416a86db5f91097db54e7362de673ea89bbf8863a9df487f75386f19a7e8ddde48a2e727af918d1beea8acad3ce67c6 SHA512 074f659ea475c7a442957a3df234f967ae9a6ace885ecfad6548a1d0f2af7535e5460d81bcd160a04bda1b902af0a9f741fc0c7b22309cd1d11ab2bc33ff0a22
+DIST tree-sitter-bash-0.20.5.tar.gz 525750 BLAKE2B 2508ede3ac6b0a7bac3f46af35ea018916b5cf6b0acf593e546146277c1a619dba52eac6064e3e0431e0f5e41bc80b441e0ac8886287ccce5bdabe3924a036e8 SHA512 bc1c4ec816183b4a4990decd45f3c46a424e29d4c417b762f3f761b6396faa984c6eb05237cb4921070e0b478485146889176a862b0935b4b345a704675bef22
+DIST tree-sitter-bash-0.21.0.tar.gz 557096 BLAKE2B bfbdb4db0f75c292567043a47d32e26c6ec119ed70fa9b77675eb57e686c072315fc114befecc430730c8eec20238544d13836402f2264a1b6657e0387d4987c SHA512 9585ea80f85bc7010444a91142bc943486ade68982c7ca367a6cbe65619af2bdaa1acd8b6ee698cdf74b84d62a7f44acc4676ddb4b6007035eb9eea4768f122d
diff --git a/dev-libs/tree-sitter-bash/metadata.xml b/dev-libs/tree-sitter-bash/metadata.xml
index cfc3dcc2ea73..1fffc5c7ee44 100644
--- a/dev-libs/tree-sitter-bash/metadata.xml
+++ b/dev-libs/tree-sitter-bash/metadata.xml
@@ -9,6 +9,10 @@
<email>sarnex@gentoo.org</email>
<name>Nick Sarnie</name>
</maintainer>
+ <maintainer type="project">
+ <email>pkgcore@gentoo.org</email>
+ <name>Pkgcore</name>
+ </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-bash</remote-id>
</upstream>
diff --git a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.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/tree-sitter-c-sharp-0.20.0.ebuild b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.20.0.ebuild
index 8f86dccb38ef..c54d7faffe49 100644
--- 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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c-sharp"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-c/Manifest b/dev-libs/tree-sitter-c/Manifest
index 0118637a9538..4428775d5f8a 100644
--- a/dev-libs/tree-sitter-c/Manifest
+++ b/dev-libs/tree-sitter-c/Manifest
@@ -1 +1,3 @@
-DIST tree-sitter-c-0.20.2.tar.gz 249711 BLAKE2B f5f0ef1b15ba0fc216c082c973d6a52e79affb6075bc7fcf04e7ff93209b4624f4e9b414440fe6d20c0ea0bed5f3d96f538237c2fa365b919d6c280f98cc54b4 SHA512 ac559ee1d29bb77ce3cade02cfa4ed95c24cea7b84844df6521ebbf6213894c6f91499eb782e04e5e778091300f0043d59b9324a78d72d9bea4f40cc67d56cc1
+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/tree-sitter-c-0.20.2.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.2.ebuild
deleted file mode 100644
index 3f5211827dfa..000000000000
--- a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.2.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild
new file mode 100644
index 000000000000..2a9f71629a50
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild
new file mode 100644
index 000000000000..f3801303a1d1
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.20.7.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild
new file mode 100644
index 000000000000..f589df316253
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-cmake/Manifest b/dev-libs/tree-sitter-cmake/Manifest
index e5722a79843e..510af67381d0 100644
--- a/dev-libs/tree-sitter-cmake/Manifest
+++ b/dev-libs/tree-sitter-cmake/Manifest
@@ -1 +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/tree-sitter-cmake-0.4.1.ebuild b/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild
new file mode 100644
index 000000000000..36381cc394d0
--- /dev/null
+++ b/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="CMake grammar for tree-sitter"
+HOMEPAGE="https://github.com/uyha/tree-sitter-cmake"
+SRC_URI="https://github.com/uyha/tree-sitter-cmake/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-cpp/Manifest b/dev-libs/tree-sitter-cpp/Manifest
index 2d80f8a4765b..8ae1ed3ef255 100644
--- a/dev-libs/tree-sitter-cpp/Manifest
+++ b/dev-libs/tree-sitter-cpp/Manifest
@@ -1 +1,4 @@
-DIST tree-sitter-cpp-0.20.0.tar.gz 504679 BLAKE2B 654f72f7a56a66dccf437ba5a2b2b5f627358ae58aeaafe9a507e0876443937d42b244ddb34b8a72a6723c28e6c10c95851b1fdb2775b3080c344426c0386e4d SHA512 c97d02c8250c93721ed5b951c97cdb1cf6558e20cbef353a33c9937f6b3116e328bbdd4e9e7a70a23dba3e144cbd6318e37ebbb9b6345ac085c62100d09ff34d
+DIST tree-sitter-cpp-0.20.3.tar.gz 1056333 BLAKE2B 3b1fc2509da265b2f49ec1a9bef7b005b06eba0311432af9e2e97977ec3a568a8ee531375f5330e624675f5b12711c4cf3306959ec82d21f1017380fb6e28b7a SHA512 62630953cb873dccbf6203b90ac6bd62fb596a615c71603c93b4fdc1e21d456c8f6ba74576e9e86732dbce2b7deaa082ea35eddf7fd7387d1ba13236757dfaab
+DIST tree-sitter-cpp-0.20.5.tar.gz 1442677 BLAKE2B ee9e058cca7727d567869d58568b3808efad7b1f4059089682b31ac39fd623213111078250eb034fb66be51f502f693f65686fb89ba8865866ded7ed1f195b5a SHA512 0afe19dc868bce8fef7114c0553ed3af2c479fc84257959a617dd6acf695fb13a91468a3daddafd39cac11f7d5a72ba988bd29d7d7f1987d7486ae4d1dc7f746
+DIST tree-sitter-cpp-0.21.0.tar.gz 1482410 BLAKE2B b15467c3525416fcc925fd8c3480200362ee8ae41528757cebc113090d5678dcfa47bac4b54e32e791dba954de15fd3bba68e6ecdedbc55bb61095487de386c4 SHA512 70be7b446e5acf0f439fbf1d4c9d649e8e8bc8ea044d0d3f3644e3047eaa5468eabefd5552f98fa39d34030cce654db25371008ddbc27a64d3df14611ac3061c
+DIST tree-sitter-cpp-0.22.0.tar.gz 1253356 BLAKE2B 6834cba10f8f5f0981620d69c3ebe2b4efe6815bfd35e00ef333ef96900d418b0204375b93f84989e826c225849cd6f7e8520bd8c2f4195f6e2ed8db41dc1b6d SHA512 68ec7378a6abc3154090bf7f14b95f646c44ac09e309ec5161906f42641e568171412fd4c30360680982af5e621cac4d51a1cfe03695117560a3a5eeed73d22d
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild
deleted file mode 100644
index 654df3497df3..000000000000
--- a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# 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-cpp"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-# requires test data from tree-sitter-c
-RESTRICT="test"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild
new file mode 100644
index 000000000000..18804881eaed
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.5.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.5.ebuild
new file mode 100644
index 000000000000..6fa20973c00b
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.5.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild
new file mode 100644
index 000000000000..6fa20973c00b
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild
new file mode 100644
index 000000000000..011d04ce711e
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C++ grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+
+# requires test data from tree-sitter-c
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-css/Manifest b/dev-libs/tree-sitter-css/Manifest
index 019ffe0e9349..1d560099ad3c 100644
--- a/dev-libs/tree-sitter-css/Manifest
+++ b/dev-libs/tree-sitter-css/Manifest
@@ -1 +1 @@
-DIST tree-sitter-css-0.19.0.tar.gz 80823 BLAKE2B 5a011981bea8dca3ea51d3615c88eeefb2e0dafae52a947b58a930f9521cfd5759ff22812d4f49283453cc86f52372a798dd507b1982fb55dba086156a5842fb SHA512 8811118f8506ae6cc25bf30285361b751902cd4af9d25cd64eccacd1721cacd8b66277c7c950c825fe6e72ac3155dbd39c24ee94090faaae9ee8b67ce61fc1c4
+DIST tree-sitter-css-0.20.0.tar.gz 93887 BLAKE2B 5f5962de37fa6a65dd531a54515b24ccb78932f17d15884adfe00cb1098a86ece3894c2e7f54a8936ad7fa1c76e5dcb89453999e3ffd3f3d894c9e112407e4a2 SHA512 0b4c45de304a5a18834a85665b5da5eaf7adc968c509de6cb95b98a08b2987be7b13f2cbb7181da04cf23e199942d9daf788a12cd2f4b8d85767ef1250196825
diff --git a/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch b/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch
new file mode 100644
index 000000000000..bbcec7e47e23
--- /dev/null
+++ b/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/928010
+https://github.com/tree-sitter/tree-sitter-css/issues/47
+https://github.com/tree-sitter/tree-sitter/issues/3238
+--- a/test/corpus/selectors.txt
++++ b/test/corpus/selectors.txt
+@@ -102,7 +102,7 @@ a::first-line {}
+ (block)))
+
+ =========================
+-::slotted pseudo element
++slotted pseudo element
+ =========================
+
+ ::slotted(button) {}
diff --git a/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild b/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild
deleted file mode 100644
index db311c39a97c..000000000000
--- a/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="CSS grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-css"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild b/dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild
new file mode 100644
index 000000000000..632f1a55a2fa
--- /dev/null
+++ b/dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="CSS grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-css"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+PATCHES=(
+ # https://bugs.gentoo.org/928010
+ # Test name beginning with :: is incompatible with tree-sitter >0.22
+ "${FILESDIR}"/${PN}-0.20.0-test-selector.patch
+)
diff --git a/dev-libs/tree-sitter-gleam/Manifest b/dev-libs/tree-sitter-gleam/Manifest
new file mode 100644
index 000000000000..24605c283153
--- /dev/null
+++ b/dev-libs/tree-sitter-gleam/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-gleam-0.33.0.tar.gz 145953 BLAKE2B 542014b5273d3426ca948ee08f778830046b58be9de410861ddf51071984b2c9619099d8f36670e9b47e3d16d53657923f6d2a902102ade7a668b4b1ee3c93aa SHA512 0d34c8d653805fc9284e496d047cd1480c0608a42c7491faa7f3840117fc003713f6233a80556169fdd7345b571b1ed7c6ecfb8aa44ffe3e625e564c332cd0b4
diff --git a/dev-libs/tree-sitter-gleam/metadata.xml b/dev-libs/tree-sitter-gleam/metadata.xml
new file mode 100644
index 000000000000..1554df4e165a
--- /dev/null
+++ b/dev-libs/tree-sitter-gleam/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">gleam-lang/tree-sitter-gleam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild b/dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild
new file mode 100644
index 000000000000..3db768bc2df6
--- /dev/null
+++ b/dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Gleam grammar for Tree-sitter"
+HOMEPAGE="https://github.com/gleam-lang/tree-sitter-gleam"
+SRC_URI="https://github.com/gleam-lang/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+src_install() {
+ tree-sitter-grammar_src_install
+
+ docinto queries
+ dodoc queries/{highlights,locals,tags}.scm
+}
diff --git a/dev-libs/tree-sitter-go/Manifest b/dev-libs/tree-sitter-go/Manifest
index 8ec4540182e7..939f1d87e1d4 100644
--- a/dev-libs/tree-sitter-go/Manifest
+++ b/dev-libs/tree-sitter-go/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-go-0.19.1.tar.gz 160180 BLAKE2B f92bbb342eae3a7705dbd6f6564a16fdbad1a25c405970bca1e8df01ff6d0c20b45f9849a0d13d53e2f56d95b71db0f7813765f64e0dcdfd9ca617d1f71e688d SHA512 8390dd3e39daa42ec5254b4c6c0b15fec0caa7ae64a9ec3b9116a10f9e9f1b6940cd88c8cf14dc50b28b97ea588ff302ebd16f3c88e0bd6983e76b5526a31b45
+DIST tree-sitter-go-0.20.0-2.tar.gz 195753 BLAKE2B eca2965c0d7bba3c639e092845ac98d05936e9d87290dca2a283dcd6afb1151f8d63aba907337fee79e9fd9b0d901edfda62ec936ef948f57dc663c9d906715b SHA512 ff438a6c84454f38cdefe506f5da787007cb50b3d41bcb9c7f26ed7d951a3268e6bf0b32f2e750d0e4233516c1e4a827c24af831020f81f268fe825adcd5f836
+DIST tree-sitter-go-0.21.0.tar.gz 210048 BLAKE2B 3589922c610d6a8f32fb753cb91f2c925a2bd4d63dc5b32cc37bb7723b7b6eb7339135cc2dd1629c6aa42684c4fe376dd1364bd928fc8c48100471203b68b627 SHA512 c12725c85ab6836fc6554edc64bc2f005d62e45c3d69d07811138cd09d29635399f70ba5837ead05f5827a327a1666bb4134475c99e2f8da81bd3412e4946a59
diff --git a/dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild b/dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild
deleted file mode 100644
index 4193e530e8c5..000000000000
--- a/dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TS_PV=rust-0.19.1
-inherit tree-sitter-grammar
-
-DESCRIPTION="Go grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild b/dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild
new file mode 100644
index 000000000000..1d5e61986362
--- /dev/null
+++ b/dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Go grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+# Override eclass SRC_URI as 0.20.0 was bumped incorrectly.
+SRC_URI="https://github.com/tree-sitter/${PN}/archive/v${PV}.tar.gz
+ -> ${P}-2.tar.gz"
diff --git a/dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild b/dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild
new file mode 100644
index 000000000000..322cb405b4be
--- /dev/null
+++ b/dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Go grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-haskell/Manifest b/dev-libs/tree-sitter-haskell/Manifest
index 2efa7e45c361..c31f35b4a5f5 100644
--- a/dev-libs/tree-sitter-haskell/Manifest
+++ b/dev-libs/tree-sitter-haskell/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-haskell-0.13.0_p20211114.tar.gz 834925 BLAKE2B d7cadc960ddb49efa6c439dfc13b674d398a4576fb85fd5ef12b4015049fd629722fe0d2788ab4c0052f1a3a6baa9fe5de925d86f7098495429190871340823b SHA512 db3f2ddd20195521a5a03d6ecf1305dc222343ba54ebdabf0cc68db680553908ce6d0ccba4fdcf9073e4f5187b2a6fae6364bda935167ca8d4e421500a86fdfa
+DIST tree-sitter-haskell-0.15.0.tar.gz 1574593 BLAKE2B 47559f768d3c03da63d74b02aba9cb788a1f20223187d2ba67730b3cf2921036ccf9f3df22d82a958adb1b46022f76f148dd251f7fe0483e482bd877d789a9bf SHA512 22368c46cd6e0652ed717c954b55f582125489a410bfe17027b7d0d0d7854789c342140e4908080ad5bd177e14ded928215daf514b7954bc6a31ab7fa19016f0
diff --git a/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild
new file mode 100644
index 000000000000..f94388adb390
--- /dev/null
+++ b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Haskell grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-haskell"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-html/Manifest b/dev-libs/tree-sitter-html/Manifest
index db1836e41c70..acadac0348eb 100644
--- a/dev-libs/tree-sitter-html/Manifest
+++ b/dev-libs/tree-sitter-html/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-html-0.19.0.tar.gz 18785 BLAKE2B 40a2f8a1b4d9943ed15003073e8499fb58aea00979359f793c30c4e7d431905620c20f8e77286a56dbc040642081effa61a7ed9fdd3d61d44bfadfb327793ed1 SHA512 7816e5f4e74c7a64a4fb715000123f5350dc3c6ebfbf5d71ea6dd660cd58a7b4327413ef3e8efa8c177c7308f43bb8b4d60fddbcf518a99841148a37aba95b71
+DIST tree-sitter-html-0.20.2.tar.gz 28880 BLAKE2B 0c17bb4a29174535cc0789221b631889122bc89e9a3883d53501acadade7723bafd15aae8373fb9c6135c0fea485202ea68ec45a855e21c2d7b7eda3fe0e0c58 SHA512 4ebdc4cdff525e54d774bde6b53ced5d8d0e2fea5cd54f006c39354544752856c520ce7b53eb268b6ef60185236102b8003b5de389fdb85454126b6ee689bb61
diff --git a/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild
new file mode 100644
index 000000000000..886c95f55c9b
--- /dev/null
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="HTML grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-html"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-java/Manifest b/dev-libs/tree-sitter-java/Manifest
index 47c03249690e..9a93dd4f91c9 100644
--- a/dev-libs/tree-sitter-java/Manifest
+++ b/dev-libs/tree-sitter-java/Manifest
@@ -1,3 +1,2 @@
-DIST tree-sitter-java-0.19.1.tar.gz 134115 BLAKE2B 92b2388d644659fa84646deeff06cda9c1c3bf3dbf6d06bda8e8dea14c2e748813cbaec440a458f98e0f1182e7543ca6a1d4c30ecbd2ba7733e09acf3aeff623 SHA512 71bd34132785f1b95538ce321eba4d6258fff309abf6150852b749336d7ffa5e4bd06f52fb5b6db2e2845592e6faf2ad4cac226289a0078f06cf2fc2f74152bb
-DIST tree-sitter-java-0.20.0.tar.gz 166695 BLAKE2B 6a618894746f113692997ba683fd3185e0f321f82bef3a7a11226a81f28e40b9973f74cc7010035983da1f5a6f2cbc493688c8bac47381fcd1d1010d03d4db5c SHA512 e6a341879e0eb889be7ff26a7f675e8bcb6f85de040f7d09029421b43bf4069a62889fdc7bd6b8e4afabd2b93df1bdfd86853b1cc6c2daf69f84ea68ede217d5
-DIST tree-sitter-java-0.20.1.tar.gz 176841 BLAKE2B eda966d8c648fc0192ab34b6ed8f2b87a6eff4dd05f47d54ec87659f62e497f7793d6949452504102fefe41c38bea4f51051484cd338b8a407030a3f7c888907 SHA512 07179852060198989c980462e2006083440895f37feb29b639d3c8ce8cb6a84a1b826e11d136821d398c34b0f989a23fce2ddf4ef0391b6f1ebb611b3004d1fc
+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/tree-sitter-java-0.19.1.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild
deleted file mode 100644
index d90c0532fc87..000000000000
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Java grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild
deleted file mode 100644
index 5b79a06f012a..000000000000
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Java grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.1.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.20.1.ebuild
deleted file mode 100644
index a6f428b51f5e..000000000000
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Java grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild
new file mode 100644
index 000000000000..21de8dbc5b4e
--- /dev/null
+++ b/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Java grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild
new file mode 100644
index 000000000000..e09c03cd7396
--- /dev/null
+++ b/dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Java grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-javascript/Manifest b/dev-libs/tree-sitter-javascript/Manifest
index 60774559a397..c46994c8c152 100644
--- a/dev-libs/tree-sitter-javascript/Manifest
+++ b/dev-libs/tree-sitter-javascript/Manifest
@@ -1 +1,3 @@
-DIST tree-sitter-javascript-0.20.0.tar.gz 278831 BLAKE2B cd66005e7ebdae154a192ff556d4cb35e91d93a2ab645a24b9492217858278adc1f7917a7dc5033bbcfd84ca7ef41a3e7ebb1ff934bb09b79c8923469110e1de SHA512 778e0f2f5bf276d7ffb6eab0fe3f7473b56605de707c8e2f491fbb5826da94067b9f1bc476306013267001b5ecaab11a956e896b78520cdedd27006fac97fe41
+DIST tree-sitter-javascript-0.20.1-2.tar.gz 371027 BLAKE2B 5bd9b11f1e10ff37950b2142031bebd3b5f6111818a21bf5a7d97a8a27a5340bd09cd139d76846141ed64a824f82f1e1394b90d8622192524d7db9a02ed95223 SHA512 5341311b419cf763c0a6d23348eba0e38b417ba07c2def341027223347d850c28b86db6add136dbf73cd5296133823a4548493ee649e09247dfbe5bcbaaab76d
+DIST tree-sitter-javascript-0.20.4.tar.gz 396452 BLAKE2B b33c4c44fb59985af7809ef9bd015d12dac185999993570164de4ac87a60cde28cf4c1232a06dd3e312ce256f2b021ef5fa500fd9e0772a3fb657f74256500a4 SHA512 65171e5af35c9c5cc9a6c54792d2194b197e130ec277b35e67e04b654082bcb1b98cb9bbe497bbe1dde69f582e5cdca01cba4f40682b7b587fd19e89b88f3dd6
+DIST tree-sitter-javascript-0.21.0.tar.gz 367344 BLAKE2B 7698b918db7fb49bd73ee03757fa17d5f6c0adc14a279410e2bc924123b1a187e6018b534bc1d2b6cbc41e5f42f7b4b6541c65d4f70d6345dda31c719bf479c6 SHA512 c83d7525e3639e237b9f81cac38d0290a3257aa98dba62f079abfb234f3cbd3de23e0b275da85878d3ab4b8de03384dc4e8a8512641b17ff0aca2e3a722947a6
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild
deleted file mode 100644
index a082528027b0..000000000000
--- a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TS_PV=rust-0.20.0
-inherit tree-sitter-grammar
-
-DESCRIPTION="JavaScript grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild
new file mode 100644
index 000000000000..e1d5ee9003fe
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JavaScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+# Override eclass SRC_URI as 0.20.1 was bumped incorrectly.
+SRC_URI="https://github.com/tree-sitter/${PN}/archive/v${PV}.tar.gz
+ -> ${P}-2.tar.gz"
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild
new file mode 100644
index 000000000000..a95e21c0d4a6
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JavaScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild
new file mode 100644
index 000000000000..a95e21c0d4a6
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JavaScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-json/Manifest b/dev-libs/tree-sitter-json/Manifest
index 40c6c7f187a3..fccaf007e65b 100644
--- a/dev-libs/tree-sitter-json/Manifest
+++ b/dev-libs/tree-sitter-json/Manifest
@@ -1 +1,4 @@
DIST tree-sitter-json-0.19.0.tar.gz 11102 BLAKE2B 8530b53dffa59fcc844501dcbfc9fc8a39a4d4fda6653e02b17261c23da43c8f3dd2bcb1e312a58861ea9af7835d4f2b9208e7960bfaec8ffeecd754e04416d0 SHA512 f4ef90d1ff7cb96093e7b54fb0b4904f7c19256c2e0938c03f81d89f3699f0c0922da54d1d770aa786b9cf10b08f9afa762771a207546a29cf7ff7f1710dadb6
+DIST tree-sitter-json-0.20.1.tar.gz 15576 BLAKE2B d6b9d3c931453440c2557814184b629640e4a0dd9b763ba8aec51aeb8322b021d0bfd8e4385445ef527100f67db507d3c934480457a7a5ed60a2d035fda44f13 SHA512 30ae91cec4c9e63acfd2bd0c62b313d48a50ec722ff5c793b8b51910a02a9c6f8697a866ec7bbde3c7f14b2bdcfc12be3650d7a8e6f23fde80527cc235a3768e
+DIST tree-sitter-json-0.20.2.tar.gz 15647 BLAKE2B 524933bf7af4df87d78497912c7865c20b2cc3e9b099401aac612c8c6d382fbc8f8704515abcb1e579fbac7734d23545f91ac7600e978a2924567998e5166834 SHA512 511376b7be02c624bc48b0a46dd937f1a5d6def3d2a15a7b61cf71b846ecf98ef8af93f05f861152270ea0dcacc18940f8c25bfbad69e9d5c520485d25dab7f5
+DIST tree-sitter-json-0.21.0.tar.gz 34737 BLAKE2B 104229cd039b41fb79ccdab3b30e0e59a96a3aa46c060bf50cc093acfe4510150ad5caaf39f49045d478d9f67f863ff6289ba7ab59aaa27871ebb77ffc66a453 SHA512 37ee6a511e15eeb832c7a49d74d977724fecfe24943472047e2100aa18bf4e64f297b1a8e8e37f1d2223614dd9ceec038abd84b5f1fcc00bb67289b70de2ebd2
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild
new file mode 100644
index 000000000000..bc7df5806d4d
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild
new file mode 100644
index 000000000000..5e272e100507
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild
new file mode 100644
index 000000000000..6b747e802705
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-julia/Manifest b/dev-libs/tree-sitter-julia/Manifest
index 342f81f45706..9919ac5ca25d 100644
--- a/dev-libs/tree-sitter-julia/Manifest
+++ b/dev-libs/tree-sitter-julia/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-julia-0.19.0.tar.gz 591870 BLAKE2B 0a15485ce7eb87f080add5b2dae19004349f3c79a048b77552915ae776860d722d6d6e07422ab82fb932f795285b545fe1b6579824a8f4905fbbdd4b96f16ea4 SHA512 ee3943683413e3d16d60ec1bf1f3cc816011c4d458b5c44d7ce42e5f14c8aa22e35ce07747f0737c9b514fa7ea8b866d4fa6af5c53069b755e0d6d3f7bcc8e2a
+DIST tree-sitter-julia-0.20.0.tar.gz 4032821 BLAKE2B eac1ec80509c8dfb75a68f507a615eaf69366e42fdf2ff9a74fb7acc8281f55fa5ba45cd4a1b050e5277614a14b5bd39145115c74de83ffb7669701ed709c04d SHA512 173e990ba6353e8b3f124fb3b1e1e5c281882d7fd6f7d53b3f40304db0f5361c0220017af51dbc569ddc2debf494ae8325877fc3c5de60239da942299a054b3d
diff --git a/dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild
new file mode 100644
index 000000000000..bdfad03a9860
--- /dev/null
+++ b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Julia grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-julia"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild
new file mode 100644
index 000000000000..7f7a837988eb
--- /dev/null
+++ b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Metapackage for Tree Sitter packages"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ dev-libs/tree-sitter
+ dev-libs/tree-sitter-bash
+ dev-libs/tree-sitter-c
+ dev-libs/tree-sitter-cmake
+ dev-libs/tree-sitter-cpp
+ dev-libs/tree-sitter-c-sharp
+ dev-libs/tree-sitter-css
+ dev-libs/tree-sitter-embedded-template
+ dev-libs/tree-sitter-gleam
+ dev-libs/tree-sitter-go
+ dev-libs/tree-sitter-haskell
+ dev-libs/tree-sitter-html
+ dev-libs/tree-sitter-java
+ dev-libs/tree-sitter-javascript
+ dev-libs/tree-sitter-jsdoc
+ dev-libs/tree-sitter-json
+ dev-libs/tree-sitter-julia
+ dev-libs/tree-sitter-ocaml
+ dev-libs/tree-sitter-php
+ dev-libs/tree-sitter-python
+ dev-libs/tree-sitter-ql
+ dev-libs/tree-sitter-regex
+ dev-libs/tree-sitter-ruby
+ dev-libs/tree-sitter-rust
+ dev-libs/tree-sitter-scala
+ dev-libs/tree-sitter-tsq
+ dev-libs/tree-sitter-typescript
+"
diff --git a/dev-libs/tree-sitter-ocaml/Manifest b/dev-libs/tree-sitter-ocaml/Manifest
index a291d9385837..29c9ee5bb16d 100644
--- a/dev-libs/tree-sitter-ocaml/Manifest
+++ b/dev-libs/tree-sitter-ocaml/Manifest
@@ -1 +1,3 @@
DIST tree-sitter-ocaml-0.19.0.tar.gz 1314747 BLAKE2B 8bceac43a40b11b27395a52a450ab734312fbb43cd4b711ca27e629f16599a04cbb55b13a05540ad20f7aa00f068ef57752b7ba42c45bbc75fc87c344133a743 SHA512 897ce5fcb58241c8ec123536ce52eba64698cb5da08403801f4d1760fab1addaced0b3cda5c24460cf2b4531215becf3a6b29c34ba871370b02b467a13b171ba
+DIST tree-sitter-ocaml-0.20.1.tar.gz 1509589 BLAKE2B 965980ce37b27bde9771308eeabe5117bc7997f3a5429e9774eeb885b81199e5d8ebc471bc5cd10d3e15e2cbcffdf6f887f0623b61c3595deca06492d22c78a8 SHA512 c3a070367ddce3186ea09c705f4c08279f0fbf890669ce6486eef5b9564ea2c3a88041b3227ac9210fdb9257d4971697e6ceebea672fe37e7fce038cd9a09838
+DIST tree-sitter-ocaml-0.20.4.tar.gz 2849217 BLAKE2B e96ffaa2bd72b849f215a9d843fc8b27003917878a32eb5471a3ee4547a931a5dd4b991872d913f514d6519b9bf78b7b57bc501c89f360265a36abb695ed229d SHA512 517f1bf1ff989be4c0853eae20f3c7bc51ef3f68bce1a850d80c6ba150cccac820b6ead00c45e53acb2dd06e9b2e7646dda219353ffdad16be3329f2bd33593c
diff --git a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild
index 41143977b462..afc9708cb318 100644
--- a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.19.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,4 +12,4 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64"
-S="${WORKDIR}/${P}/ocaml/src"
+S="${WORKDIR}/${P}/ocaml"
diff --git a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.1.ebuild b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.1.ebuild
new file mode 100644
index 000000000000..afc9708cb318
--- /dev/null
+++ b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="OCaml grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ocaml"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+S="${WORKDIR}/${P}/ocaml"
diff --git a/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild
new file mode 100644
index 000000000000..afc9708cb318
--- /dev/null
+++ b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="OCaml grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ocaml"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+S="${WORKDIR}/${P}/ocaml"
diff --git a/dev-libs/tree-sitter-php/Manifest b/dev-libs/tree-sitter-php/Manifest
index 4f1ec59b17e4..02d9e0cff7d8 100644
--- a/dev-libs/tree-sitter-php/Manifest
+++ b/dev-libs/tree-sitter-php/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-php-0.19.0.tar.gz 155930 BLAKE2B e78b0a719f2e8cde6398a5645023c09135f61bbe138abeff8160bb1688bab84fa7ca51438e380d79fc0e05efa2e4897a7ff05fd677ac0b8cb4098e27d576a10a SHA512 bf82af3a4c0da96f58e93aaee2724f327c11e297bcd455998e0863aa64ab6ae85d1d212afa51b75c8e8ab998568cc71b0309ee3d1d41b632ef0283478ecc5711
+DIST tree-sitter-php-0.20.0.tar.gz 290518 BLAKE2B 5ba7dabf79665ceb2be737906493bf774e51a0233a62bdb89d84a6a9204745a99679322e047a9115d95e92c3dbb34c5da591497223bb580522b587bedc933d10 SHA512 0ce3e8b2a7cb26b8fa2210e2ac8b133c0ea8450b7504f93422a7baa0ee6f5217c72b9ce0cbdc5ac1e85deb2ab08fc6b968e74f124dce13ebfb8ad9b0af2afb8f
+DIST tree-sitter-php-0.22.2.tar.gz 541599 BLAKE2B 5e98d7d9226900c16b8681ec408bafb6a4c4c281fa0d97b3b9c06b58657f69166df6700ecd127406efff430c0f79a56ff08cc45ca48b483ecd6579cfe7263a05 SHA512 0592d145f92f9f93524b5d6b341b8141234784c03d9e0384311cd735f4b8216e0dd3d5ff27daef6127d3a079b16043b3957e7fd0f8759e90924539bb42f4f306
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild
deleted file mode 100644
index dd916334a06c..000000000000
--- a/dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="PHP grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild
new file mode 100644
index 000000000000..e331a8f2ea6c
--- /dev/null
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="PHP grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild
new file mode 100644
index 000000000000..13dc08afbb50
--- /dev/null
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="PHP grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
+S="${WORKDIR}"/${P}/php
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-python/Manifest b/dev-libs/tree-sitter-python/Manifest
index 545baebc1cfb..c0dfa6788d6a 100644
--- a/dev-libs/tree-sitter-python/Manifest
+++ b/dev-libs/tree-sitter-python/Manifest
@@ -1 +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/tree-sitter-python-0.20.0.ebuild b/dev-libs/tree-sitter-python/tree-sitter-python-0.20.0.ebuild
index a852b6c0e872..57ccd11b1fcc 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild b/dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild
new file mode 100644
index 000000000000..5cec91fee1f7
--- /dev/null
+++ b/dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Python grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild b/dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild
new file mode 100644
index 000000000000..e7ea609d79c0
--- /dev/null
+++ b/dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Python grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
diff --git a/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild b/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild
index 5a2eea7b528f..a299653551b5 100644
--- a/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ql"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-regex/Manifest b/dev-libs/tree-sitter-regex/Manifest
index 1656a65590e4..64fa25dce9bb 100644
--- a/dev-libs/tree-sitter-regex/Manifest
+++ b/dev-libs/tree-sitter-regex/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-regex-0.19.0.tar.gz 17452 BLAKE2B a1a4db494b685c9e4df3dba790b8d4938d604c02c419c040d783aa11093fb1d988f807d002b798ff53e6b64f294df6b24b6774642bb331ad0dc2a9a61f2ad88c SHA512 d2ecc9637f7e130b16103b375592e449f3b58afcce7d284e269ba7a20e96ca5d6c118a8c99819e7c9d0f8d4ceeb139ba493fcf6e001da25610a70030db599991
+DIST tree-sitter-regex-0.20.0.tar.gz 20283 BLAKE2B b5c71d9956736c913d995631e3051ff20594b059d5fd736d57ce3ae29499b9dc41127f25fd88f7d9c81702e74383157554eb418f8aad88d6e8f46ae4b9f2a6d3 SHA512 35c8e51539ae8135f7a3ef7c3b5c736e0ef7dfcaf7a97417c0228e47fb2500833e1e585805dfe7a4552b5ddd2cc6bba394aee34845cf419f467747ab10f94988
diff --git a/dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild b/dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild
new file mode 100644
index 000000000000..5bf66e08ddbb
--- /dev/null
+++ b/dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Regular Expressions grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-regex"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-ruby/Manifest b/dev-libs/tree-sitter-ruby/Manifest
index 2737869aee4c..be7ced1bd3dc 100644
--- a/dev-libs/tree-sitter-ruby/Manifest
+++ b/dev-libs/tree-sitter-ruby/Manifest
@@ -1 +1,2 @@
-DIST tree-sitter-ruby-0.19.0.tar.gz 325077 BLAKE2B eb39ba999ccf582b698138ebb7a7f9cbd949510046460d84e37471634700b0751219a7a266652256225bc6fbdd80340cca38662b180c2314f82c5ed7de3324cf SHA512 dc092b55a73a7ffaf698c784e0a6e8fd115478ce8eb2de00301bb8c2455044a4b7f4cd04ab36eb19401386b55088ad3fba6cb9cce9856b6f607bd76caaf0900b
+DIST tree-sitter-ruby-0.20.0_pre20221101.tar.gz 575761 BLAKE2B 17daf39dfd812ab0993cd2a3ad728603d629c2e177261fa60d237a1dfd504b2a087611824cdffb03e95c0b304d9f6991ccf36aad1f18db4aa3177c082c6e275e SHA512 ff6eb4a28e5313cbdebca0f939d209d7c15016fef4ed864e64ce2e6f30023e15a88483c5bc90673fcee42df75c6e003b69fc2e5f81b72ecf1a506c836eebeba4
+DIST tree-sitter-ruby-0.20.1.tar.gz 601038 BLAKE2B 29174a74a96f0b93d803eb9455ae1ceb7e4ca78be215c062ca341485c19f595a29cafe7c9ee75b95239045497e8d4695648c3ab1503d96039ec7c5a3c64c9883 SHA512 96d68cb7c557d341def9cbb9a51ecf12b7572bb46b9588bd3dab6f2598b6ce73df2fbbae8f0aa08737b34bda55e98eff8499921ea68f7389a7237fa32f62793b
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild
deleted file mode 100644
index 116225a7b7ce..000000000000
--- a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Ruby grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ruby"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild
new file mode 100644
index 000000000000..c0e7e24609c7
--- /dev/null
+++ b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# https://github.com/tree-sitter/tree-sitter-ruby/issues/232
+MY_COMMIT=c91960320d0f337bdd48308a8ad5500bd2616979
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Ruby grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ruby"
+SRC_URI="https://github.com/tree-sitter/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild
new file mode 100644
index 000000000000..fb9baefcdb1a
--- /dev/null
+++ b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Ruby grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ruby"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Highlight tests failing in upstream ci too. The parser works, and
+# we do not currently install the highlight queries.
+#
+# https://bugs.gentoo.org/923987
+# https://github.com/tree-sitter/tree-sitter-ruby/issues/253
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-rust/Manifest b/dev-libs/tree-sitter-rust/Manifest
index 521ac11279a4..1d093443cfba 100644
--- a/dev-libs/tree-sitter-rust/Manifest
+++ b/dev-libs/tree-sitter-rust/Manifest
@@ -1,2 +1,4 @@
DIST tree-sitter-rust-0.20.1.tar.gz 308918 BLAKE2B b226bf6eb2c282f62d3eef0598db38dc54d03ed2ea07313fffbb6c9d955cccc71bef5513b8b2c56460989789e9f4293fb27a2db152b5afa56085348427fe9ad5 SHA512 de799d76dbcbc7f68ab8560f747c3df3950dd3e640ac60cd44d65a60b23e118e271370e2b1b84d2d830c2d70341b5714f5f52592709ba15f6b164c05f3798f07
DIST tree-sitter-rust-0.20.3.tar.gz 325621 BLAKE2B b5d2f15df3550e22e380c26a3fa6270a897f4555efb2778e54ef9262145ca919bf933ee739674e02a2086f58d707174c3a2cfb545d879a2c67decf508793af47 SHA512 9732a6e9782538c1a7f7a265e185aece659e164284eac61f65f3d174845aafc697ec2758d6dddb52c8a6ee3856be67493339d680f963ee383894f1d3789d96d5
+DIST tree-sitter-rust-0.20.4.tar.gz 358924 BLAKE2B 16c7918d352163ebb866f34865c68f5d9e19bbc3ffcec0f0c61ba38a8c828cee3eb50c97ddaea01d7575e23496bca18dc5161daee8bbdaa075ba75de608be999 SHA512 f1b2e9537286921056eda4e96faa9f61131b9ca5684e7ab8aa7bd07e46d91e5eab18e6e292cfad7cdcb7ba195e80f7f1e35f04992cb8011bbd29dd2d95116f9d
+DIST tree-sitter-rust-0.21.0.tar.gz 448170 BLAKE2B ecf13ff1358a64383feaa973332be7ff7d7551c414fef9bb3773f1ca975db97f6e0e6076ea572094771c25c59641a58aeec70c41fea65533b59fc436fd143938 SHA512 f9cd32e43b544a18eddfc0b6f8210f1fbc3e7a5d6e9b72c482a536df1e215ceadb41545a65f0c6fc791f6063adbe51957d4e20f7c8fa07a5079a4338a0351bf3
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild
new file mode 100644
index 000000000000..91e3f0de8370
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild
new file mode 100644
index 000000000000..9eda069afc34
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-scala/Manifest b/dev-libs/tree-sitter-scala/Manifest
index 799d4a713e80..5a8367249478 100644
--- a/dev-libs/tree-sitter-scala/Manifest
+++ b/dev-libs/tree-sitter-scala/Manifest
@@ -1,2 +1,2 @@
-DIST tree-sitter-scala-0.19.0.tar.gz 127779 BLAKE2B c0cde9adf3bc4dc25b84bc57d02e248613f42caf1531ad4eeb58e226a39c2323e28553154eb1a5a6d0ba1359cea847ab8e0dac67060d35df1d017bf475524acb SHA512 5845720ce7181f0272fbd9b5980258680d5cb9bf5f8276e4be28f4dad15694f79a2184e46ef94909ac54f510e44ffc67a9632f9767866034f5fa2a9945311661
-DIST tree-sitter-scala-0.19.1.tar.gz 1137112 BLAKE2B 8e12ebc4a9e0a4390318e2e63efa0bccae92c30db08cae1652384df71eb0ae3af0c0c295bbd8d0ef1811173faa635ae9bf65380cd84c431970e9ad46bfac441e SHA512 1a23cbcf471ecac901afe5a4a21a8f4744925d001a7dd04325e18a459fdf9ac95274953aff114023bf0ee7a8cef121e362b4c515a80d956df891ba69b6e58532
+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/tree-sitter-scala-0.19.0.ebuild b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild
deleted file mode 100644
index d9083f607d6b..000000000000
--- a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2022 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.19.1.ebuild b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.1.ebuild
deleted file mode 100644
index 2d0b96a03729..000000000000
--- a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Scala grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-scala"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild
new file mode 100644
index 000000000000..d19d0d446e2d
--- /dev/null
+++ b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Scala grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-scala"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild
new file mode 100644
index 000000000000..f994c3b92365
--- /dev/null
+++ b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Scala grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-scala"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-typescript/Manifest b/dev-libs/tree-sitter-typescript/Manifest
index 3abb1f5b21fd..c077958053be 100644
--- a/dev-libs/tree-sitter-typescript/Manifest
+++ b/dev-libs/tree-sitter-typescript/Manifest
@@ -1 +1,3 @@
-DIST tree-sitter-typescript-0.20.1.tar.gz 767713 BLAKE2B 25921ef20ec82bacf9858fd2bdca5d79f19ee132a48ad523ce4ea9d5141c2d314ec76d81a7d1751a6fab3651c3b3a2e0e2a469fc5168a5961310ee412e22ad4f SHA512 4d57308e84964bbf136868285141c4cd28ae0bbddef7973849679f8b8b85f00cd1bb5a4db7fd7b5cbd6a090b56193c8120bfd134358d33597a60a9145c694de0
+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/tree-sitter-typescript-0.20.1.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild
deleted file mode 100644
index 91c68ef697e0..000000000000
--- a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="TypeScript grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
-S="${WORKDIR}"/${PN}-${PV}/typescript/src
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild
new file mode 100644
index 000000000000..3826613aff5d
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="TypeScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+S="${WORKDIR}"/${P}/typescript
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild
new file mode 100644
index 000000000000..3ab5b3028d0d
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="TypeScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+S="${WORKDIR}"/${P}/typescript
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild
new file mode 100644
index 000000000000..ac1c2721a6f8
--- /dev/null
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="TypeScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+S="${WORKDIR}"/${P}/typescript
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_prepare() {
+ # fix test corpus path
+ ln -s ../common test || die
+
+ tree-sitter-grammar_src_prepare
+}
diff --git a/dev-libs/tree-sitter/Manifest b/dev-libs/tree-sitter/Manifest
index a99b5b354d87..164b8e1ccc2e 100644
--- a/dev-libs/tree-sitter/Manifest
+++ b/dev-libs/tree-sitter/Manifest
@@ -1,2 +1,5 @@
-DIST tree-sitter-0.20.6.tar.gz 2924556 BLAKE2B 17348717441497ea7fc91419a0e8796d077b9acda2b584e9c3e1ac4a7a3f1fa3f84d5b749f21144d0593aaa7bf2e7ff9665539e91c6e81cda4359850e0fcdb14 SHA512 f0fb1e0073867c2a6e69b230e07e5eec32a2b30d3c711ec188526e287d6a1ef06de266d476482f900ec7c9ff6c11909899fd35a802e96f0befc6e99815502377
-DIST tree-sitter-0.20.7.tar.gz 2928761 BLAKE2B 280083381ce4f5949ab1ca1412026cac79bcf28b488147150d934b70cdc7804466c8032d50254f1ff4457b55a33fe0dceef66fd053cd32bbf844dc8280e896ab SHA512 dd306f7304cb5f87c05eab3bf5c9c4c13bfed7766a164eafe3159adbc6cca4e66fbdb6880f48dfc668408fbefc14b0147aa2231db085a72f526ac51b681b7c26
+DIST tree-sitter-0.20.9.tar.gz 3041304 BLAKE2B a6cf6606f75918eeab7dab0d2758cdba0922b5677cd4c8755982c077ee0a734090c8a87f7dd1fd56525b5864f94f5f19c3fd04e43773877e13968855f976d0c0 SHA512 6882c0edf87232d42aa40936c6a2da46e6dbb89d28b3def67e9c5231af19a517fbe22cf0ce9aa25a8ad4252cef6cf4aa94a00f8d0503a8bdd99ce0edd99a392a
+DIST tree-sitter-0.22.1.tar.gz 3038644 BLAKE2B f4a2cae41e6ec327c8a77380fcf531b00a4fcd75997872c73371886379f35e31431da1e175e41b3c6bee9fdad46015d29bec93a103ea1ff36a1d365dc9a04d40 SHA512 fa2656ad3a6d52301b497512aecc87b8c50ab6646aaac4730a26249ed0878e4542e2d256e42e0179ebc06147f772a2cf38f9362bb94ea1a8f0ec8c21e06e75e7
+DIST tree-sitter-0.22.2.tar.gz 3040339 BLAKE2B c18a79b4fdf553c50b4dd4c67c92d02fd341c5266c4658eb226d9ea455f23d2d22fe4ed4ca48811da2c8a59c403d8eff53dd9257468df7a9cfa640652c485c95 SHA512 a42d744f6e1db7c7c842804f3435b87ccb5d0df2363a18eee38353f12f18c8cf0c6211bf0225fd5f2c0431ca8531aa4ddd73d87d42b80fa35c3c701cae2d7856
+DIST tree-sitter-0.22.4.tar.gz 3034955 BLAKE2B 797feb6e2171b0e00b10c67c8b6dcda6cc2ec420ef797991a642524982629496e4b7bcae92a2658ba3adffea75332bcda09ecbced01e73e13ba6f4c39d15e9ea SHA512 7f160e88cdffb47f4ee3f884385ec759fcf88883307221ddadd8bf561d1dfb3659b0c7f4b216286066cf912183cc8234788492d62d1f1ad14fcb39bd3287cf36
+DIST tree-sitter-0.22.5.tar.gz 3035094 BLAKE2B f54b16e2421ad68fd34b5bada767010be4224652f5a138f7afcdbc15ebaae98dfe3cc8ac77e5e8e5ab12cef516464d29e38a23fc895fa966d5a03a9569fa5ffc SHA512 cff3902e8f6e0211b6d4fafecf9f0d73a2bf73efed68df0d6e8798aac3e685cbcc882fb698ebc10115e72bcf46b59aabd0b14dd402a08d3b42cfceffea5aab2c
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch b/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch
new file mode 100644
index 000000000000..ab0b7ef76fb6
--- /dev/null
+++ b/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch
@@ -0,0 +1,21 @@
+diff --git a/Makefile b/Makefile
+index 6030852e..ea1c4617 100644
+--- a/Makefile
++++ b/Makefile
+@@ -41,7 +41,7 @@ ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
+ endif
+
+-all: libtree-sitter.a libtree-sitter.$(SOEXTVER)
++all: libtree-sitter.$(SOEXTVER)
+
+ libtree-sitter.a: $(OBJ)
+ $(AR) rcs $@ $^
+@@ -61,7 +61,6 @@ install: all
+ tree-sitter.pc.in > tree-sitter.pc
+
+ install -d '$(DESTDIR)$(LIBDIR)'
+- install -m644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/
+ install -m755 libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch b/dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch
new file mode 100644
index 000000000000..c2bcb3cd6fd1
--- /dev/null
+++ b/dev-libs/tree-sitter/files/tree-sitter-0.22.1-no-static.patch
@@ -0,0 +1,19 @@
+--- a/Makefile
++++ b/Makefile
+@@ -45,7 +45,7 @@ ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
+ endif
+
+-all: libtree-sitter.a libtree-sitter.$(SOEXT) tree-sitter.pc
++all: libtree-sitter.$(SOEXT) tree-sitter.pc
+
+ libtree-sitter.a: $(OBJ)
+ $(AR) $(ARFLAGS) $@ $^
+@@ -69,7 +69,6 @@ clean:
+ install: all
+ install -Dm644 lib/include/tree_sitter/api.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/api.h
+ install -Dm644 tree-sitter.pc '$(DESTDIR)$(PCLIBDIR)'/tree-sitter.pc
+- install -Dm644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/libtree-sitter.a
+ install -m755 libtree-sitter.$(SOEXT) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER)
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
+ ln -sf libtree-sitter.$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch b/dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch
new file mode 100644
index 000000000000..47934bbcd359
--- /dev/null
+++ b/dev-libs/tree-sitter/files/tree-sitter-0.22.2-no-static.patch
@@ -0,0 +1,20 @@
+--- a/Makefile
++++ b/Makefile
+@@ -45,7 +45,7 @@ ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
+ endif
+
+-all: libtree-sitter.a libtree-sitter.$(SOEXT) tree-sitter.pc
++all: libtree-sitter.$(SOEXT) tree-sitter.pc
+
+ libtree-sitter.a: $(OBJ)
+ $(AR) $(ARFLAGS) $@ $^
+@@ -69,7 +69,6 @@ clean:
+ install: all
+ install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
+ install -m644 lib/include/tree_sitter/api.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/api.h
+ install -m644 tree-sitter.pc '$(DESTDIR)$(PCLIBDIR)'/tree-sitter.pc
+- install -m644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/libtree-sitter.a
+ install -m755 libtree-sitter.$(SOEXT) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER)
+ ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
+ ln -sf libtree-sitter.$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch b/dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch
deleted file mode 100644
index dd898b059612..000000000000
--- a/dev-libs/tree-sitter/files/tree-sitter-No-static-libs-gentoo.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 764f411a..86aaefd8 100644
---- a/Makefile
-+++ b/Makefile
-@@ -41,7 +41,7 @@ ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
- PCLIBDIR := $(PREFIX)/libdata/pkgconfig
- endif
-
--all: libtree-sitter.a libtree-sitter.$(SOEXTVER)
-+all: libtree-sitter.$(SOEXTVER)
-
- libtree-sitter.a: $(OBJ)
- $(AR) rcs $@ $^
-@@ -53,7 +53,6 @@ libtree-sitter.$(SOEXTVER): $(OBJ)
-
- install: all
- install -d '$(DESTDIR)$(LIBDIR)'
-- install -m755 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/libtree-sitter.a
- install -m755 libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER)
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/metadata.xml b/dev-libs/tree-sitter/metadata.xml
index 3ea27f3896b1..00a04e33ca4a 100644
--- a/dev-libs/tree-sitter/metadata.xml
+++ b/dev-libs/tree-sitter/metadata.xml
@@ -17,6 +17,10 @@
<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>
diff --git a/dev-libs/tree-sitter/tree-sitter-0.20.6.ebuild b/dev-libs/tree-sitter/tree-sitter-0.20.6.ebuild
deleted file mode 100644
index a0ea2efaedea..000000000000
--- a/dev-libs/tree-sitter/tree-sitter-0.20.6.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit optfeature toolchain-funcs
-
-DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}/${PN}"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-PATCHES=( "${FILESDIR}/${PN}-No-static-libs-gentoo.patch" )
-
-src_prepare() {
- default
- tc-export CC
-}
-
-src_compile() {
- emake \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-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.20.7.ebuild b/dev-libs/tree-sitter/tree-sitter-0.20.7.ebuild
deleted file mode 100644
index f767d8cc3335..000000000000
--- a/dev-libs/tree-sitter/tree-sitter-0.20.7.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit optfeature toolchain-funcs
-
-DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${PN}/${PN}"
-else
- SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-PATCHES=( "${FILESDIR}/${PN}-No-static-libs-gentoo.patch" )
-
-# see Makefile:1
-QA_PKGCONFIG_VERSION="0.6.3"
-
-src_prepare() {
- default
- tc-export CC
-}
-
-src_compile() {
- emake \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-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.20.9-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild
new file mode 100644
index 000000000000..3c51e4f49aed
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Bump tree-sitter-cli at the same time.
+
+EAPI=8
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.20.9-no-static.patch"
+)
+
+# XXX: Please, don't forget to check this on next version bump.
+# And, maybe remove as non-needed, if version in Makefile will
+# match the release.
+# ref: https://github.com/tree-sitter/tree-sitter/issues/2210
+# see Makefile:1
+QA_PKGCONFIG_VERSION="0.20.10"
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP=""
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild
new file mode 100644
index 000000000000..05b74b9f9391
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Bump tree-sitter-cli at the same time.
+
+EAPI=8
+
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.1-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" \
+ CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
new file mode 100644
index 000000000000..957abaa4ed60
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Bump tree-sitter-cli at the same time.
+
+EAPI=8
+
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" \
+ CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
new file mode 100644
index 000000000000..d9718e3f31d5
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+# soname is .0, but abi was broken unexpectedly
+# Bug #930039
+SLOT="0/1"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" # bug 930020
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-0.22.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
index 12d922e961da..178a494dffc9 100644
--- a/dev-libs/tree-sitter/tree-sitter-9999.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,9 +16,15 @@ else
fi
LICENSE="MIT"
-SLOT="0"
+# 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}-No-static-libs-gentoo.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
src_prepare() {
default
@@ -28,7 +34,8 @@ src_prepare() {
src_compile() {
emake \
PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" # bug 930020
}
src_install() {
diff --git a/dev-libs/trio/Manifest b/dev-libs/trio/Manifest
index cecd5482f771..e1c82919f0bc 100644
--- a/dev-libs/trio/Manifest
+++ b/dev-libs/trio/Manifest
@@ -1 +1 @@
-DIST trio-1.17.tar.gz 452237 BLAKE2B 77ff673cc103b07b1424720d28c49d2e33a1402a98d8d21124fabb0cafd3498a99976d808cbbc5a90e1b3a063c6af68c3daf94768d533e4a762b730a253fa012 SHA512 19f4732b32c6a3754677d5766399fa70083c6a78c0d04b1dfa10a578b21405ba3e3d3af6543e4811f5fd305ec2727781a1b0f2888e59c574ca735f8406da7954
+DIST trio-1.17.1.tar.gz 466909 BLAKE2B 1403c2534623b536de519cd428ac75480ecc0fcb9fbba693e329a923471947f068cae1e1fd453d10863255369e830ef5d8a75475d95f0f903e66936a9fa48e2b SHA512 574e360d88be838d13d7df5259c68809187a578d8d04981812ff768d3ab80215baf5595952994ec9fabbe3a6ce71512a7cd16d6a29b4f91dcd1b6f2ebcd3ed98
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/trio/trio-1.17.ebuild b/dev-libs/trio/trio-1.17.ebuild
deleted file mode 100644
index b5edc06dd0f5..000000000000
--- a/dev-libs/trio/trio-1.17.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DOCS_BUILDER="doxygen"
-DOCS_DIR="doc"
-
-inherit autotools 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 ~x86"
-
-src_prepare() {
- default
- # Required to fix -Werror=strict-prototypes configure errors
- eautoreconf
-}
-
-src_compile() {
- default
- docs_compile
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
index 17b51a76512c..4f79060709e0 100644
--- a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
+++ b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="debug doc test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
DEPEND="test? ( dev-util/cppunit )"
PATCHES=(
diff --git a/dev-libs/udis86/udis86-1.7.2-r1.ebuild b/dev-libs/udis86/udis86-1.7.2-r1.ebuild
index 4962d53bdbec..5ef49a73955d 100644
--- a/dev-libs/udis86/udis86-1.7.2-r1.ebuild
+++ b/dev-libs/udis86/udis86-1.7.2-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE="xml(+)"
inherit autotools multilib-minimal python-any-r1
diff --git a/dev-libs/unibilium/unibilium-2.1.1-r1.ebuild b/dev-libs/unibilium/unibilium-2.1.1-r1.ebuild
index ec435adfd7f8..56970d3ecbf5 100644
--- a/dev-libs/unibilium/unibilium-2.1.1-r1.ebuild
+++ b/dev-libs/unibilium/unibilium-2.1.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/neovim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3+ MIT"
SLOT="0/4"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv x86 ~x64-macos"
BDEPEND="dev-lang/perl"
diff --git a/dev-libs/unibilium/unibilium-2.1.1.ebuild b/dev-libs/unibilium/unibilium-2.1.1.ebuild
index 9ea0d6447cf8..fd74ec579ab0 100644
--- a/dev-libs/unibilium/unibilium-2.1.1.ebuild
+++ b/dev-libs/unibilium/unibilium-2.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,7 +15,7 @@ KEYWORDS="amd64 arm arm64 ~riscv x86 ~x64-macos"
IUSE="static-libs"
BDEPEND="dev-lang/perl
- sys-devel/libtool"
+ dev-build/libtool"
PATCHES=(
"${FILESDIR}/${PN}-2.1.0-no-compress-man.patch"
diff --git a/dev-libs/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 aae19a5aeca9..e9693530f951 100644
--- a/dev-libs/urdfdom/Manifest
+++ b/dev-libs/urdfdom/Manifest
@@ -1,3 +1 @@
-DIST urdfdom-1.0.4.tar.gz 276958 BLAKE2B 19353c38d8fa8f1d6d752302bc8b7b84b13cc6c6f83af31dba677184fa09fd42d7de0c00e6927f085c3d013d2bde664dd7ea69d3c69de4c14130c08d256e6f87 SHA512 2a7a0ec61445132b3e8f6ba8b2268b9fd7c035a72b3e4d61b5ed665d07e902a02b87d2c60c53fc9b0c385a871cd8d87f278bd4833f1f904635ec46755a544003
-DIST urdfdom-3.0.1.tar.gz 285714 BLAKE2B 1f27225dce2e715b421ad8290326f879c3c564146bb097f46d9602ab22a41d4f669df8a271db2eb700f23e75e6e1ffd98bfc06bf82b79fe0bc8ceda87e46f49c SHA512 f632aa3095f2ee27328ca1eaae2e10d1e69f540d1ae0a97337162ee57af0ba9be08c0a7456eb86cf949f849d1e4b727f0a8890ce9b5ee2e7fdac92b3aa0c4120
DIST urdfdom-3.1.0.tar.gz 286589 BLAKE2B cfe0ba0160091c4160f4ad7d6648657cc19fcaea4346e89d4a8e685c67bbf038b4a23c0133f8af987d4aee7dac623d10c61eb98573e9a0ebf57babd7d6d48b7d SHA512 2ca34982550f0d83504ec711f45c59fa9011802ad85ffc8511fb02b7421ee99daad3f00d82925cd3490dd0164dfe7881c0d52c05fbea2be0449e57e565034695
diff --git a/dev-libs/urdfdom/files/cb.patch b/dev-libs/urdfdom/files/cb.patch
deleted file mode 100644
index 3d3e150580ee..000000000000
--- a/dev-libs/urdfdom/files/cb.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 6faba176d41cf39114785a3e029013f941ed5a0e Mon Sep 17 00:00:00 2001
-From: Steven Peters <scpeters@openrobotics.org>
-Date: Thu, 28 May 2020 09:22:29 -0700
-Subject: [PATCH] Find console_bridge without explicit version (#141)
-
-Signed-off-by: Steve Peters <scpeters@openrobotics.org>
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 92762f1..f0d115d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -41,7 +41,7 @@ if (NOT MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- endif()
-
--find_package(console_bridge 0.3 REQUIRED)
-+find_package(console_bridge REQUIRED)
- include_directories(SYSTEM ${console_bridge_INCLUDE_DIRS})
- link_directories(${console_bridge_LIBRARY_DIRS})
-
diff --git a/dev-libs/urdfdom/urdfdom-1.0.4-r1.ebuild b/dev-libs/urdfdom/urdfdom-1.0.4-r1.ebuild
deleted file mode 100644
index 08e2bb2e39e6..000000000000
--- a/dev-libs/urdfdom/urdfdom-1.0.4-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# 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/1"
-IUSE=""
-
-RDEPEND=">=dev-libs/urdfdom_headers-1.0.0
- >=dev-libs/console_bridge-0.3:=
- dev-libs/tinyxml[stl]
- dev-libs/boost:="
-DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}/cb.patch" )
-
-src_prepare() {
- sed -i -e 's/set(CMAKE_INSTALL_LIBDIR/#/' CMakeLists.txt || die
- cmake_src_prepare
-}
diff --git a/dev-libs/urdfdom/urdfdom-3.0.1.ebuild b/dev-libs/urdfdom/urdfdom-3.0.1.ebuild
deleted file mode 100644
index e21e9883c072..000000000000
--- a/dev-libs/urdfdom/urdfdom-3.0.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-SCM=""
-if [ "${PV#9999}" != "${PV}" ] ; then
- SCM="git-r3"
- EGIT_REPO_URI="https://github.com/ros/urdfdom"
-fi
-
-inherit ${SCM} cmake
-
-if [ "${PV#9999}" != "${PV}" ] ; then
- SRC_URI=""
-else
- KEYWORDS="~amd64 ~arm"
- SRC_URI="https://github.com/ros/urdfdom/archive/${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-DESCRIPTION="URDF (U-Robot Description Format) library"
-HOMEPAGE="http://ros.org/wiki/urdf"
-LICENSE="BSD"
-SLOT="0/3"
-IUSE=""
-
-RDEPEND=">=dev-libs/urdfdom_headers-1.0.0
- >=dev-libs/console_bridge-0.3:=
- dev-libs/tinyxml[stl]"
-DEPEND="${RDEPEND}"
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild
index c18de1f310ff..e5a4f2810f32 100644
--- a/dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild
+++ b/dev-libs/urdfdom_headers/urdfdom_headers-1.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,9 +20,6 @@ fi
DESCRIPTION="URDF (U-Robot Description Format) headers"
HOMEPAGE="http://ros.org/wiki/urdf"
+
LICENSE="BSD"
SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild b/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
index 6530d6794eaa..e5a4f2810f32 100644
--- a/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
+++ b/dev-libs/urdfdom_headers/urdfdom_headers-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,9 +20,6 @@ fi
DESCRIPTION="URDF (U-Robot Description Format) headers"
HOMEPAGE="http://ros.org/wiki/urdf"
+
LICENSE="BSD"
SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/dev-libs/uriparser/metadata.xml b/dev-libs/uriparser/metadata.xml
index 6ec08dc0cf27..527b06dcb565 100644
--- a/dev-libs/uriparser/metadata.xml
+++ b/dev-libs/uriparser/metadata.xml
@@ -14,4 +14,12 @@
<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.7.ebuild b/dev-libs/uriparser/uriparser-0.9.7.ebuild
index ba6ad755b70d..70cd7772c491 100644
--- a/dev-libs/uriparser/uriparser-0.9.7.ebuild
+++ b/dev-libs/uriparser/uriparser-0.9.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+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 )"
@@ -23,7 +23,7 @@ DEPEND="
BDEPEND="
virtual/pkgconfig
doc? (
- >=app-doc/doxygen-1.5.8
+ >=app-text/doxygen-1.5.8
media-gfx/graphviz
qt5? ( dev-qt/qthelp:5 )
)
diff --git a/dev-libs/userspace-rcu/Manifest b/dev-libs/userspace-rcu/Manifest
index 2e76cc583702..bb9ddf3d1c66 100644
--- a/dev-libs/userspace-rcu/Manifest
+++ b/dev-libs/userspace-rcu/Manifest
@@ -1 +1,2 @@
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
index 22daddedb61c..c21d2c02a105 100644
--- 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
@@ -1,6 +1,9 @@
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
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/userspace-rcu-0.14.0.ebuild b/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild
new file mode 100644
index 000000000000..73701badf8e0
--- /dev/null
+++ b/dev-libs/userspace-rcu/userspace-rcu-0.14.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Userspace RCU (read-copy-update) library"
+HOMEPAGE="https://liburcu.org/"
+SRC_URI="https://lttng.org/files/urcu/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0/8" # subslot = soname version
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( sys-process/time )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.13.1-tests-no-benchmark.patch
+ "${FILESDIR}"/${PN}-0.13.1-loong.patch
+ "${FILESDIR}"/${P}-c11.patch
+ "${FILESDIR}"/${P}-noreturn.patch
+)
+
+src_prepare() {
+ default
+
+ # Needed for tests patch
+ # ... and refresh libtool (see https://github.com/gentoo/gentoo/pull/23973)
+ # ... and for build on loong (see https://github.com/gentoo/gentoo/pull/25189)
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-shared
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ default
+
+ emake -C tests/regression regtest
+
+ # We don't run the benchmark tests.
+ rm tests/benchmark/test-suite.log || die
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/utfcpp/utfcpp-3.2.1.ebuild b/dev-libs/utfcpp/utfcpp-3.2.1.ebuild
index 3c1c9cdbb3b7..6641f0e66d79 100644
--- a/dev-libs/utfcpp/utfcpp-3.2.1.ebuild
+++ b/dev-libs/utfcpp/utfcpp-3.2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2015-2022 Gentoo Authors
+# Copyright 2015-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -26,7 +26,7 @@ fi
LICENSE="Boost-1.0"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/uulib/uulib-0.5.20-r3.ebuild b/dev-libs/uulib/uulib-0.5.20-r3.ebuild
index 000517bbd1ec..afa88e1af14f 100644
--- a/dev-libs/uulib/uulib-0.5.20-r3.ebuild
+++ b/dev-libs/uulib/uulib-0.5.20-r3.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}"/${MY_P}/${PN}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+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
diff --git a/dev-libs/vala-common/Manifest b/dev-libs/vala-common/Manifest
index 84b18ba46ab6..b80ecf9f9c32 100644
--- a/dev-libs/vala-common/Manifest
+++ b/dev-libs/vala-common/Manifest
@@ -1 +1,4 @@
-DIST vala-0.56.3.tar.xz 3969676 BLAKE2B 66fba756d89b7fbc9689a9ff7ef8d4689b53b9ee570225fb268bb433e9c14a876eac1565999944ad72864d9a3c62f777d534579ee7ca091d90e405ef2b271314 SHA512 3222edab995a1d405bc891b37ffb4915677b7bb56ce3be7d1ece1dfb77f2d054bf7499dad9e6eb593c42678ae2c2c7cd779a595b702a3e2e38e9e0e0d69ba99e
+DIST vala-0.56.14.tar.xz 4003276 BLAKE2B db6ccca635122ff2089cd61fd8335376eed435f15d9bd7c20837829fe5acc8df49a51194e3bc17d0c24567240cf2519348cc2b0a7b177b971dc037ed39e893de SHA512 f13e7916acaba220bf8a0fb8825bf9a125fadcc13011c4e4f426e5d3a5af650543457294bede66dc5e1c742dd9b55f722a65b880e4737a6b480365c9df4c8c8b
+DIST vala-0.56.15.tar.xz 4014128 BLAKE2B bbed2bc84d08c4eab63c628b21b975c5661590b1fe96921fa43760b5bd0ad21aaa55d460997ae0bc9e1fd7268029a1f0f26f6291f0b346b46dea796973aeb49c SHA512 667a84020ce9739e57f4cab1f2e9350ce5266d85dc4943cfa45b3ce44235f275bc709d40d8ebffd89ca8b5f92844c2a9134bd3ca1276fc2c173ec84f842563f1
+DIST vala-0.56.16.tar.xz 4013716 BLAKE2B 509809a93c70fd6a153fc188aaa3d85cbcc8d37649711ea32521505eb0bdc3fe824d90c538aaa7a7caa1c4faaea9053693b28ae54bdd6c212539a70300f2c33e SHA512 99f69c3c7a5ed89923b55cf035c6d9a5867577b2ecff92dddf5f21aaad1281786e5fcd775833b0f251417caf857f5fe7efbf134fbded427a7b29fa3acb00203a
+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 4b1e36254bfb..a4f4d8934edf 100644
--- a/dev-libs/vala-common/metadata.xml
+++ b/dev-libs/vala-common/metadata.xml
@@ -5,6 +5,7 @@
<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>
diff --git a/dev-libs/vala-common/vala-common-0.56.14.ebuild b/dev-libs/vala-common/vala-common-0.56.14.ebuild
new file mode 100644
index 000000000000..39e3c39dc4dc
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.56.14.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
diff --git a/dev-libs/vala-common/vala-common-0.56.15.ebuild b/dev-libs/vala-common/vala-common-0.56.15.ebuild
new file mode 100644
index 000000000000..e12b06c906ca
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.56.15.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
diff --git a/dev-libs/vala-common/vala-common-0.56.16.ebuild b/dev-libs/vala-common/vala-common-0.56.16.ebuild
new file mode 100644
index 000000000000..5e273520cc06
--- /dev/null
+++ b/dev-libs/vala-common/vala-common-0.56.16.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME_ORG_MODULE="vala"
+
+inherit gnome.org
+
+DESCRIPTION="Build infrastructure for packages that use Vala"
+HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND=""
+DEPEND=""
+BDEPEND=""
+
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins vala.m4 vapigen/vapigen.m4
+ insinto /usr/share/vala
+ doins vapigen/Makefile.vapigen
+}
diff --git a/dev-libs/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/vala-common/vala-common-0.56.3.ebuild b/dev-libs/vala-common/vala-common-0.56.3.ebuild
deleted file mode 100644
index 96604eeb1e14..000000000000
--- a/dev-libs/vala-common/vala-common-0.56.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-GNOME_ORG_MODULE="vala"
-
-inherit gnome.org
-
-DESCRIPTION="Build infrastructure for packages that use Vala"
-HOMEPAGE="https://wiki.gnome.org/Projects/Vala https://gitlab.gnome.org/GNOME/vala"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-
-RDEPEND=""
-DEPEND=""
-BDEPEND=""
-
-src_configure() { :; }
-
-src_compile() { :; }
-
-src_install() {
- insinto /usr/share/aclocal
- doins vala.m4 vapigen/vapigen.m4
- insinto /usr/share/vala
- doins vapigen/Makefile.vapigen
-}
diff --git a/dev-libs/vc/Manifest b/dev-libs/vc/Manifest
index 2e4c48676154..faaef1b115a3 100644
--- a/dev-libs/vc/Manifest
+++ b/dev-libs/vc/Manifest
@@ -1 +1 @@
-DIST vc-1.4.3.tar.gz 640398 BLAKE2B 18a5bf346b433c08b565fe4e39395f2126fff47561651d5adba677de40c50e1f1d26cef2ae6ee7f9e18f4334116aa1ad3c0bff923c61494a4ccac4d7ac2d1991 SHA512 7c0c4ccf8c7c4585334482135f2daf1a5bc088114b880093893583bdcea1fbfcec02485da6059304c510c8b1bb1b768ef04fd7ac8ccb21b9ebbad5d0d5babaef
+DIST vc-1.4.4.tar.gz 645346 BLAKE2B 0131f6e96d4285b0ff0519206115f431e5dcc336358f045c5260dff62dbeda5a10500cfc0a333abe2ffd4c7dfd2e5b29452a68458dc3dd552a89fce30b7c4b68 SHA512 b8aa0a45637dd1e0cc23f074d023b677aab570dd4a78cff94e4c2d832afb841c1b421077ae9c848a40aa4beb50ed2e31fdf075738496856ff8fe3ea1d0acba07
diff --git a/dev-libs/vc/vc-1.4.3.ebuild b/dev-libs/vc/vc-1.4.3.ebuild
deleted file mode 100644
index fb12d5557435..000000000000
--- a/dev-libs/vc/vc-1.4.3.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2022 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/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/voikko-fi-2.5-r1.ebuild b/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild
index 4e63de4c6464..8c392821db09 100644
--- a/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild
+++ b/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
PYTHON_REQ_USE="xml(+)"
inherit python-any-r1 verify-sig
@@ -24,7 +24,7 @@ BDEPEND="${PYTHON_DEPS}
dev-libs/libvoikko
verify-sig? ( sec-keys/openpgp-keys-voikko )"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/voikko.asc
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/voikko.asc
src_compile() {
emake vvfst
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
index a1423fa1c6ec..18c154f282ef 100644
--- a/dev-libs/volume_key/volume_key-0.3.12-r4.ebuild
+++ b/dev-libs/volume_key/volume_key-0.3.12-r4.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1
diff --git a/dev-libs/wayland-protocols/Manifest b/dev-libs/wayland-protocols/Manifest
index 7015e6b1aabe..48f945f115ca 100644
--- a/dev-libs/wayland-protocols/Manifest
+++ b/dev-libs/wayland-protocols/Manifest
@@ -1 +1,3 @@
-DIST wayland-protocols-1.31.tar.xz 85524 BLAKE2B c3c21eb44f31fda1901b7aa87b15420f246893184f114d1776ef54224d4d05255b7691349ba546ba782df8fcbd64e39446caa11e2f96125cad9acb1cefad5f3d SHA512 402ce1915300e29afe554d77965ee0a28a5f22fdb5b901c4c640e59b9f3a9c11094e1edae87eea1e76eea557f6faf0c34a0c28ee7f6babb4dc3719329c4e25bf
+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
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.31.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild
index 04d709642ab9..04d709642ab9 100644
--- a/dev-libs/wayland-protocols/wayland-protocols-1.31.ebuild
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild
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-9999.ebuild b/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
index 4eff41270cb0..7310be696158 100644
--- a/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
+++ b/dev-libs/wayland-protocols/wayland-protocols-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,6 @@ RESTRICT="!test? ( test )"
DEPEND="
test? ( dev-libs/wayland )
"
-RDEPEND=""
BDEPEND="
dev-util/wayland-scanner
virtual/pkgconfig
diff --git a/dev-libs/wayland/Manifest b/dev-libs/wayland/Manifest
index b1576035cfe9..e2de0f2c2836 100644
--- a/dev-libs/wayland/Manifest
+++ b/dev-libs/wayland/Manifest
@@ -1 +1 @@
-DIST wayland-1.21.0.tar.xz 225936 BLAKE2B 2b43eb1517d476bb2b4daed1083373655b57d047968fdb93dbbbbe4235af12e25557627e30b5c3d2575bac4beaf1e0a0b8ef10a3c673538d9097501f33c05836 SHA512 5575216d30fdf5c63caa6bcad071e15f2a4f3acb12df776806073f65db37a50b5b5b3cc7957c5497636f4ac01893e2eaab26e453ded44b287acde01762f5fdc3
+DIST wayland-1.22.0.tar.xz 229544 BLAKE2B b0bb366e7f3494813d1574228ae5dd48eccde035120d6dd8709e3a24738681ab9dd9ba6a13924b6a35982d331fa8911fa7346911da9f618be9c9109da0288629 SHA512 fb1974efc8433e97254eb83fe28974198f2b4d8246418eb3d34ce657055461e0c97bc06dd52e5066ae91bbe05bac611dc49a0937ba226ac6388d5a47241efb12
diff --git a/dev-libs/wayland/wayland-1.21.0-r1.ebuild b/dev-libs/wayland/wayland-1.21.0-r1.ebuild
deleted file mode 100644
index 301f299e4f7b..000000000000
--- a/dev-libs/wayland/wayland-1.21.0-r1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="https://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-doc/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-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 c232ff0e5669..7361890a730d 100644
--- a/dev-libs/wayland/wayland-9999.ebuild
+++ b/dev-libs/wayland/wayland-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ 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
)
diff --git a/dev-libs/weston/Manifest b/dev-libs/weston/Manifest
index 200ac0f5406c..17c978030608 100644
--- a/dev-libs/weston/Manifest
+++ b/dev-libs/weston/Manifest
@@ -1,2 +1,2 @@
-DIST weston-10.0.0.tar.xz 1774600 BLAKE2B b2b8fa4f7542aba03970ca8abf504f340f8f8da9f9581c16ceac5c702eac355f5d4244778393a8804017f39dff490431e26a48580746033158bd2d2b721437f8 SHA512 77e05530751e4f743eebf015ab5b78a1fcc66b774713b5e296cfffc488be84e459f811c85ac4280b7b63eebf4ff5c958dd7306376ab343e6b80feae16c8c35a4
DIST weston-11.0.1.tar.xz 1900796 BLAKE2B 33d7d5b3340e7074265885bd54ee039e8b5d448fa9f58f4bf9f823efd2557da9b916d903119565a806ab698382fe185165c8ede8614e983c872dfe15b474b616 SHA512 d451230fc260b45aaaadb5cf0aa360629e45e72e3b3676c6ec040d6c6549dbb57d05683effd962c3b2d61482b47a6c990d12cc736c896b501d982c8c4d34834c
+DIST weston-13.0.0.tar.xz 1986520 BLAKE2B df0e73e451e39b329ed327c370f42bcae01eb5b8fad67711f069fa8f24900ac0c9a9e69b9a6445b67c76ab0ce441dcd2a5a1a8aa3ac0d89a647b9661d575a917 SHA512 8c656cdf24ec9429c76c64ebd2d58351991f5990a6d4b5900ac913243ad8e2c9c0fb1a748f018d177fbfd7e0a8836d0434d97acec287a8f977d47335ae30eacc
diff --git a/dev-libs/weston/files/weston-10.0.0-backend-default.patch b/dev-libs/weston/files/weston-10.0.0-backend-default.patch
deleted file mode 100644
index 710639e7e9c5..000000000000
--- a/dev-libs/weston/files/weston-10.0.0-backend-default.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 35e3fb72ac28af628aa1d2b7ee804a3f81720c47 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Fri, 4 Feb 2022 23:43:50 +0000
-Subject: [PATCH] meson.build: Fix -Dbackend-default=auto following fbdev
- deprecation
-
-Signed-off-by: James Le Cuirot <chewi@gentoo.org>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 1c73e130..d761903e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -121,7 +121,7 @@ config_h.set10('TEST_GL_RENDERER', get_option('test-gl-renderer'))
-
- backend_default = get_option('backend-default')
- if backend_default == 'auto'
-- foreach b : [ 'headless', 'fbdev', 'x11', 'wayland', 'drm' ]
-+ foreach b : [ 'headless', 'x11', 'wayland', 'drm' ]
- if get_option('backend-' + b)
- backend_default = b
- endif
---
-2.34.1
-
diff --git a/dev-libs/weston/files/weston-10.0.0-test-deps.patch b/dev-libs/weston/files/weston-10.0.0-test-deps.patch
deleted file mode 100644
index cc6ad8c6e130..000000000000
--- a/dev-libs/weston/files/weston-10.0.0-test-deps.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9516859b9fdb2899a37116b55200fb04f7726b45 Mon Sep 17 00:00:00 2001
-From: Daniel Stone <daniels@collabora.com>
-Date: Tue, 8 Feb 2022 22:39:42 +0000
-Subject: [PATCH] tests: Add dependency on screenshooter client protocol
-
-Given that the test-helper code relies on the screenshooter protocol,
-make sure it's available for us to build, and the dependency ensures we
-build in order.
-
-Fixes: #588
-
-Signed-off-by: Daniel Stone <daniels@collabora.com>
----
- tests/meson.build | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tests/meson.build b/tests/meson.build
-index d8e96e77d..955c4226c 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -29,8 +29,9 @@ lib_test_client = static_library(
- 'weston-test-client-helper.c',
- 'weston-test-fixture-compositor.c',
- weston_test_client_protocol_h,
-- weston_screenshooter_protocol_c,
- weston_test_protocol_c,
-+ weston_screenshooter_client_protocol_h,
-+ weston_screenshooter_protocol_c,
- viewporter_client_protocol_h,
- viewporter_protocol_c,
- 'color_util.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 8917f9795189..2e4783560fc4 100644
--- a/dev-libs/weston/metadata.xml
+++ b/dev-libs/weston/metadata.xml
@@ -12,9 +12,8 @@
<flag name="desktop">Enable the desktop shell</flag>
<flag name="drm">Enable drm compositor support</flag>
<flag name="editor">Install wayland-editor example application</flag>
- <flag name="fbdev">Enable fbdev compositor support</flag>
<flag name="fullscreen">Enable fullscreen shell</flag>
- <flag name="gles2">Use GLESv2 cairo instead of full GL</flag>
+ <flag name="gles2">Enable the GLESv2 renderer, not just the <pkg>x11-libs/pixman</pkg>-based software fallback</flag>
<flag name="headless">Headless backend and a noop renderer, mainly for testing purposes</flag>
<flag name="ivi">Enable the IVI shell</flag>
<flag name="kiosk">Enable the kiosk shell</flag>
diff --git a/dev-libs/weston/weston-10.0.0.ebuild b/dev-libs/weston/weston-10.0.0.ebuild
deleted file mode 100644
index d5a772f0976e..000000000000
--- a/dev-libs/weston/weston-10.0.0.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
- GIT_ECLASS="git-r3"
- EXPERIMENTAL="true"
-fi
-
-PYTHON_COMPAT=( python3_{9..10} )
-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://wayland.freedesktop.org/releases/${P}.tar.xz"
- KEYWORDS="amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="MIT CC-BY-SA-3.0"
-SLOT="0"
-
-IUSE="colord +desktop +drm editor examples fbdev fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +seatd +suid systemd test wayland-compositor webp +X xwayland"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- colord? ( lcms )
- drm? ( gles2 )
- pipewire? ( drm )
- remoting? ( 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.18.0
- >=dev-libs/wayland-protocols-1.24
- 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.95
- >=x11-libs/libxkbcommon-0.5.0
- >=x11-libs/pixman-0.25.2
- x11-misc/xkeyboard-config
- fbdev? (
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- colord? ( >=x11-misc/colord-0.1.27 )
- drm? (
- >=media-libs/mesa-17.1[gbm(+)]
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- editor? ( x11-libs/pango )
- examples? ( x11-libs/pango )
- gles2? (
- media-libs/mesa[gles2,wayland]
- )
- pipewire? ( >=media-video/pipewire-0.3:= )
- rdp? ( >=net-misc/freerdp-2.0.0_rc2:= )
- remoting? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- seatd? ( sys-auth/seatd:= )
- systemd? (
- sys-auth/pambase[systemd]
- >=sys-apps/dbus-1.6
- >=sys-apps/systemd-209[pam]
- )
- X? (
- >=x11-libs/libxcb-1.9
- x11-libs/libX11
- )
- xwayland? (
- x11-base/xwayland
- x11-libs/cairo[X,xcb(+)]
- >=x11-libs/libxcb-1.9
- x11-libs/libXcursor
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-10.0.0-backend-default.patch
- "${FILESDIR}"/${PN}-10.0.0-test-deps.patch
-)
-
-src_configure() {
- local emesonargs=(
- $(meson_use drm backend-drm)
- -Dbackend-drm-screencast-vaapi=false
- $(meson_use headless backend-headless)
- $(meson_use rdp backend-rdp)
- $(meson_use screen-sharing screenshare)
- $(meson_use wayland-compositor backend-wayland)
- $(meson_use X backend-x11)
- $(meson_use fbdev deprecated-backend-fbdev)
- -Dbackend-default=auto
- $(meson_use gles2 renderer-gl)
- $(meson_use xwayland)
- $(meson_use seatd launcher-libseat)
- $(meson_use systemd)
- $(meson_use remoting)
- $(meson_use pipewire)
- $(meson_use desktop shell-desktop)
- $(meson_use fullscreen shell-fullscreen)
- $(meson_use ivi shell-ivi)
- $(meson_use kiosk shell-kiosk)
- $(meson_use lcms color-management-lcms)
- $(meson_use colord color-management-colord)
- $(meson_use systemd launcher-logind)
- $(meson_use jpeg image-jpeg)
- $(meson_use webp image-webp)
- -Dtools=debug,info,terminal
- $(meson_use examples demo-clients)
- -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
- $(meson_use resize-optimization resize-pool)
- -Dtest-junit-xml=false
- -Dtest-gl-renderer=false
- "${myconf[@]}"
- )
- meson_src_configure
-}
-
-src_test() {
- xdg_environment_reset
-
- # devices test usually fails.
- # xwayland test can fail if X11 socket already exists.
- cd "${BUILD_DIR}" || die
- meson test $(meson test --list | grep -Exv "devices|xwayland") || die
-}
-
-src_install() {
- meson_src_install
- readme.gentoo_create_doc
-}
diff --git a/dev-libs/weston/weston-11.0.1-r10.ebuild b/dev-libs/weston/weston-11.0.1-r10.ebuild
new file mode 100644
index 000000000000..2ed95404301f
--- /dev/null
+++ b/dev-libs/weston/weston-11.0.1-r10.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
+ GIT_ECLASS="git-r3"
+ EXPERIMENTAL="true"
+fi
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/uploads/f5648c818fba5432edc3ea63c4db4813/${P}.tar.xz"
+ KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc64 ~riscv x86"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +seatd +suid systemd test wayland-compositor webp +X xwayland"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ drm? ( gles2 )
+ pipewire? ( drm )
+ remoting? ( drm gles2 )
+ screen-sharing? ( rdp )
+ test? ( desktop headless lcms xwayland )
+ wayland-compositor? ( gles2 )
+ || ( drm headless rdp wayland-compositor X )
+ || ( seatd systemd )
+"
+
+RDEPEND="
+ >=dev-libs/libinput-0.8.0
+ >=dev-libs/wayland-1.20.0
+ lcms? ( >=media-libs/lcms-2.9:2 )
+ media-libs/libpng:0=
+ webp? ( media-libs/libwebp:0= )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ >=x11-libs/cairo-1.11.3
+ >=x11-libs/libdrm-2.4.108
+ >=x11-libs/libxkbcommon-0.5.0
+ >=x11-libs/pixman-0.25.2
+ x11-misc/xkeyboard-config
+ drm? (
+ >=media-libs/mesa-17.1[gbm(+)]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ editor? ( x11-libs/pango )
+ examples? ( x11-libs/pango )
+ gles2? (
+ media-libs/mesa[gles2(+),wayland]
+ )
+ pipewire? ( >=media-video/pipewire-0.3:= )
+ rdp? ( >=net-misc/freerdp-2.3.0:2=[server] )
+ remoting? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ seatd? ( sys-auth/seatd:= )
+ systemd? (
+ sys-auth/pambase[systemd]
+ >=sys-apps/dbus-1.6
+ >=sys-apps/systemd-209[pam]
+ )
+ X? (
+ >=x11-libs/libxcb-1.9
+ x11-libs/libX11
+ )
+ xwayland? (
+ x11-base/xwayland
+ x11-libs/cairo[X,xcb(+)]
+ >=x11-libs/libxcb-1.9
+ x11-libs/libXcursor
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-libs/wayland-protocols-1.24
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use drm backend-drm)
+ -Dbackend-drm-screencast-vaapi=false
+ $(meson_use headless backend-headless)
+ $(meson_use rdp backend-rdp)
+ $(meson_use screen-sharing screenshare)
+ $(meson_use wayland-compositor backend-wayland)
+ $(meson_use X backend-x11)
+ -Dbackend-default=auto
+ $(meson_use gles2 renderer-gl)
+ $(meson_use xwayland)
+ $(meson_use seatd launcher-libseat)
+ $(meson_use systemd)
+ $(meson_use remoting)
+ $(meson_use pipewire)
+ $(meson_use desktop shell-desktop)
+ $(meson_use fullscreen shell-fullscreen)
+ $(meson_use ivi shell-ivi)
+ $(meson_use kiosk shell-kiosk)
+ $(meson_use lcms color-management-lcms)
+ $(meson_use systemd launcher-logind)
+ $(meson_use jpeg image-jpeg)
+ $(meson_use webp image-webp)
+ -Dtools=debug,info,terminal
+ $(meson_use examples demo-clients)
+ -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
+ $(meson_use resize-optimization resize-pool)
+ -Dtest-junit-xml=false
+ "${myconf[@]}"
+ )
+ meson_src_configure
+}
+
+src_test() {
+ xdg_environment_reset
+ addwrite /dev/dri/
+
+ # xwayland test can fail if X11 socket already exists.
+ cd "${BUILD_DIR}" || die
+ meson test $(meson test --list | grep -Exv "xwayland") || die
+}
+
+src_install() {
+ meson_src_install
+ readme.gentoo_create_doc
+}
diff --git a/dev-libs/weston/weston-11.0.1.ebuild b/dev-libs/weston/weston-11.0.1.ebuild
deleted file mode 100644
index d3a06d276c4b..000000000000
--- a/dev-libs/weston/weston-11.0.1.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
- GIT_ECLASS="git-r3"
- EXPERIMENTAL="true"
-fi
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
-
-DESCRIPTION="Wayland reference compositor"
-HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI="${SRC_PATCHES}"
-else
- SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/uploads/f5648c818fba5432edc3ea63c4db4813/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-LICENSE="MIT CC-BY-SA-3.0"
-SLOT="0"
-
-IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +seatd +suid systemd test wayland-compositor webp +X xwayland"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- drm? ( gles2 )
- pipewire? ( drm )
- remoting? ( drm gles2 )
- screen-sharing? ( rdp )
- test? ( desktop headless lcms xwayland )
- wayland-compositor? ( gles2 )
- || ( drm headless rdp wayland-compositor X )
- || ( seatd systemd )
-"
-
-RDEPEND="
- >=dev-libs/libinput-0.8.0
- >=dev-libs/wayland-1.20.0
- >=dev-libs/wayland-protocols-1.24
- lcms? ( >=media-libs/lcms-2.9:2 )
- media-libs/libpng:0=
- webp? ( media-libs/libwebp:0= )
- jpeg? ( media-libs/libjpeg-turbo:0= )
- >=x11-libs/cairo-1.11.3
- >=x11-libs/libdrm-2.4.108
- >=x11-libs/libxkbcommon-0.5.0
- >=x11-libs/pixman-0.25.2
- x11-misc/xkeyboard-config
- drm? (
- >=media-libs/mesa-17.1[gbm(+)]
- >=sys-libs/mtdev-1.1.0
- >=virtual/udev-136
- )
- editor? ( x11-libs/pango )
- examples? ( x11-libs/pango )
- gles2? (
- media-libs/mesa[gles2,wayland]
- )
- pipewire? ( >=media-video/pipewire-0.3:= )
- rdp? ( >=net-misc/freerdp-2.3.0:=[server] )
- remoting? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- seatd? ( sys-auth/seatd:= )
- systemd? (
- sys-auth/pambase[systemd]
- >=sys-apps/dbus-1.6
- >=sys-apps/systemd-209[pam]
- )
- X? (
- >=x11-libs/libxcb-1.9
- x11-libs/libX11
- )
- xwayland? (
- x11-base/xwayland
- x11-libs/cairo[X,xcb(+)]
- >=x11-libs/libxcb-1.9
- x11-libs/libXcursor
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- $(meson_use drm backend-drm)
- -Dbackend-drm-screencast-vaapi=false
- $(meson_use headless backend-headless)
- $(meson_use rdp backend-rdp)
- $(meson_use screen-sharing screenshare)
- $(meson_use wayland-compositor backend-wayland)
- $(meson_use X backend-x11)
- -Dbackend-default=auto
- $(meson_use gles2 renderer-gl)
- $(meson_use xwayland)
- $(meson_use seatd launcher-libseat)
- $(meson_use systemd)
- $(meson_use remoting)
- $(meson_use pipewire)
- $(meson_use desktop shell-desktop)
- $(meson_use fullscreen shell-fullscreen)
- $(meson_use ivi shell-ivi)
- $(meson_use kiosk shell-kiosk)
- $(meson_use lcms color-management-lcms)
- $(meson_use systemd launcher-logind)
- $(meson_use jpeg image-jpeg)
- $(meson_use webp image-webp)
- -Dtools=debug,info,terminal
- $(meson_use examples demo-clients)
- -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
- $(meson_use resize-optimization resize-pool)
- -Dtest-junit-xml=false
- "${myconf[@]}"
- )
- meson_src_configure
-}
-
-src_test() {
- xdg_environment_reset
- addwrite /dev/dri/
-
- # xwayland test can fail if X11 socket already exists.
- cd "${BUILD_DIR}" || die
- meson test $(meson test --list | grep -Exv "xwayland") || die
-}
-
-src_install() {
- meson_src_install
- readme.gentoo_create_doc
-}
diff --git a/dev-libs/weston/weston-13.0.0-r2.ebuild b/dev-libs/weston/weston-13.0.0-r2.ebuild
new file mode 100644
index 000000000000..5cbd993aa607
--- /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_{9..12} )
+inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
+
+DESCRIPTION="Wayland reference compositor"
+HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
+
+if [[ ${PV} = *9999* ]]; then
+ SRC_URI="${SRC_PATCHES}"
+else
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~riscv x86"
+fi
+
+LICENSE="MIT CC-BY-SA-3.0"
+SLOT="0"
+
+IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test vnc wayland-compositor webp +X xwayland"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ drm? ( gles2 )
+ pipewire? ( drm )
+ remoting? ( drm gles2 )
+ screen-sharing? ( rdp )
+ test? ( desktop headless lcms xwayland )
+ wayland-compositor? ( gles2 )
+ || ( drm headless rdp vnc wayland-compositor X )
+"
+
+RDEPEND="
+ >=dev-libs/libinput-1.2.0
+ >=dev-libs/wayland-1.22.0
+ media-libs/libpng:0=
+ sys-auth/seatd:=
+ >=x11-libs/cairo-1.11.3
+ >=x11-libs/libdrm-2.4.108
+ >=x11-libs/libxkbcommon-0.5.0
+ >=x11-libs/pixman-0.25.2
+ x11-misc/xkeyboard-config
+ drm? (
+ >=media-libs/mesa-17.1[gbm(+)]
+ >=sys-libs/mtdev-1.1.0
+ >=virtual/udev-136
+ )
+ editor? ( x11-libs/pango )
+ examples? ( x11-libs/pango )
+ gles2? ( media-libs/mesa[gles2(+),wayland] )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ lcms? ( >=media-libs/lcms-2.9:2 )
+ pipewire? ( >=media-video/pipewire-0.3:= )
+ rdp? ( >=net-misc/freerdp-2.3.0:2=[server] )
+ remoting? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ systemd? ( sys-apps/systemd )
+ vnc? (
+ =dev-libs/aml-0.3*
+ =gui-libs/neatvnc-0.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-9999.ebuild b/dev-libs/weston/weston-9999.ebuild
index 3b4017070562..002b836d7566 100644
--- a/dev-libs/weston/weston-9999.ebuild
+++ b/dev-libs/weston/weston-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
DESCRIPTION="Wayland reference compositor"
@@ -19,7 +19,7 @@ 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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~riscv ~x86"
fi
LICENSE="MIT CC-BY-SA-3.0"
@@ -39,9 +39,8 @@ REQUIRED_USE="
"
RDEPEND="
- >=dev-libs/libinput-0.8.0
- >=dev-libs/wayland-1.20.0
- >=dev-libs/wayland-protocols-1.24
+ >=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
@@ -56,19 +55,19 @@ RDEPEND="
)
editor? ( x11-libs/pango )
examples? ( x11-libs/pango )
- gles2? ( media-libs/mesa[gles2,wayland] )
+ 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:=[server] )
+ 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.2*
- =gui-libs/neatvnc-0.5*
+ =dev-libs/aml-0.3*
+ =gui-libs/neatvnc-0.8*
sys-libs/pam
)
webp? ( media-libs/libwebp:0= )
@@ -81,19 +80,33 @@ RDEPEND="
x11-libs/cairo[X,xcb(+)]
>=x11-libs/libxcb-1.9
x11-libs/libXcursor
+ >=x11-libs/xcb-util-cursor-0.1.4
)
"
-DEPEND="${RDEPEND}"
+DEPEND="${RDEPEND}
+ >=dev-libs/wayland-protocols-1.24
+"
BDEPEND="
${PYTHON_DEPS}
+ dev-util/wayland-scanner
virtual/pkgconfig
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
"
+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)
@@ -102,7 +115,6 @@ src_configure() {
-Dbackend-default=auto
$(meson_use gles2 renderer-gl)
$(meson_use xwayland)
- -Dlauncher-libseat=true
$(meson_use systemd)
$(meson_use remoting)
$(meson_use pipewire)
diff --git a/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
index debb844f9e1e..6a2473fc1c7f 100644
--- a/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
+++ b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ else
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="${BROOT}"/usr/share/openpgp-keys/apache-xalan-c.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/apache-xalan-c.asc
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="amd64 ~ppc x86"
@@ -38,7 +38,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND+="
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
"
PATCHES=(
diff --git a/dev-libs/xalan-c/xalan-c-9999.ebuild b/dev-libs/xalan-c/xalan-c-9999.ebuild
index 19e421f40c78..88309b909407 100644
--- a/dev-libs/xalan-c/xalan-c-9999.ebuild
+++ b/dev-libs/xalan-c/xalan-c-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ else
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="${BROOT}"/usr/share/openpgp-keys/apache-xalan-c.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/apache-xalan-c.asc
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64 ~ppc ~x86"
@@ -38,7 +38,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND+="
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
"
PATCHES=(
diff --git a/dev-libs/xapian-bindings/Manifest b/dev-libs/xapian-bindings/Manifest
index 46fff2f4ad5f..b281c4a54433 100644
--- a/dev-libs/xapian-bindings/Manifest
+++ b/dev-libs/xapian-bindings/Manifest
@@ -1,2 +1,4 @@
-DIST xapian-bindings-1.4.19.tar.xz 1137596 BLAKE2B 46004a3449a3137db42164a8b4c5b8684d2eaf0edfa60fe7ca41d5565d1cc16b110ca8204100c9e654baa323a4c73536f80550b17989ce3ee4a132315c31a50e SHA512 c3e353a192822be5d86d448b9d5e4c5eb15d5eb2d079560f7c457f8f7ca85d42e2b933891e784d384c188577f427ca1929c2b47732b9d637e36543e8b5b704d6
-DIST xapian-bindings-1.4.21.tar.xz 1151620 BLAKE2B 5596d0784110b6b73efce4b330ad7c0750a7173c94c37d80b4c75865b949b16f32957ff7ca0d67c08592b85874a5b19e57a11d32ef26976fb3cae38f542f5ba0 SHA512 86cbdc8ba73be8aa947e209106dd49d111d264f0b00b5831356e19ba3299eb8f87f2c57ab051ea54c54fb5f1b8cc6a1175ee18f89094f5c7345b820ea805ad33
+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/xapian-bindings-1.4.19.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.19.ebuild
deleted file mode 100644
index a3f11f1c3328..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.19.ebuild
+++ /dev/null
@@ -1,346 +0,0 @@
-# Copyright 1999-2023 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,10} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php7-4 php8-0"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby26 ruby27 ruby30"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
-
-DESCRIPTION="SWIG and JNI bindings for Xapian"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="java lua mono perl php python ruby tcl"
-REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.19
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl:= )
- php? ( dev-lang/php:=[-threads] )
- python? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- ${PYTHON_DEPS}
- )
- ruby? ( $(ruby_implementations_depend) )
- tcl? ( dev-lang/tcl:= )
- mono? ( dev-lang/mono )"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- java? ( >=virtual/jdk-1.6 )"
-RDEPEND="${COMMONDEPEND}
- java? ( >=virtual/jre-1.6 )"
-
-S="${WORKDIR}/${P}"
-
-has_basic_bindings() {
- # Update this list if new bindings are added that are not built
- # multiple times for multiple versions like lua, php, python and ruby are
- return $(use mono || use java || use perl || use tcl)
-}
-
-php_copy_sources() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_copy_sources
-}
-
-php_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_foreach_variant "$@"
-}
-
-ruby_copy_sources() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_copy_sources
-}
-
-ruby_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_foreach_variant "$@"
-}
-
-pkg_setup() {
- use mono && mono-env_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- # Unfortunately required for php-ext-source-r3_createinifiles().
- mkdir "${WORKDIR}/${php_slot}"
- done
- fi
-}
-
-src_prepare() {
- use java && java-pkg-opt-2_src_prepare
-
- # https://trac.xapian.org/ticket/702
- export XAPIAN_CONFIG="/usr/bin/xapian-config"
-
- if use lua; then
- lua_copy_sources
- fi
-
- if use php; then
- php_copy_sources
- fi
-
- if use python; then
- python_copy_sources
- fi
-
- if use ruby; then
- ruby_copy_sources
- fi
-
- eapply_user
-}
-
-src_configure() {
- # 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-php7
- --without-python
- --without-python3
- --without-ruby
- )
-
- if use java; then
- local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
- fi
-
- if use perl; then
- local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
- local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
- fi
-
- econf "${conf[@]}"
- fi
-
- lua_configure() {
- local myconf=(
- --disable-documentation
- --without-csharp
- --without-java
- --without-perl
- --without-tcl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --without-ruby
- --with-lua
- )
-
- local -x LUA_INC="$(lua_get_include_dir)"
- local -x LUA_LIB="$(lua_get_cmod_dir)"
-
- econf "${myconf[@]}"
-
- }
-
- if use lua; then
- lua_foreach_impl run_in_build_dir lua_configure
- fi
-
- php_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-python
- --without-python3
- --without-ruby
- --without-tcl
- )
- if [[ ${MULTIBUILD_VARIANT} == php5.* ]]; then
- myconf+=(
- --with-php
- --without-php7
- )
- local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- elif [[ ${MULTIBUILD_VARIANT} == php7.* ]]; then
- myconf+=(
- --without-php
- --with-php7
- )
- local -x PHP_CONFIG7="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- fi
-
- econf "${myconf[@]}"
- }
-
- if use php; then
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- php_foreach_impl run_in_build_dir php_configure
- fi
-
- python_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-ruby
- --without-tcl
- --with-python3
- )
-
- # Avoid sandbox failures when compiling modules
- addpredict "$(python_get_sitedir)"
-
- econf "${myconf[@]}"
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir python_configure
- fi
-
- ruby_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --with-ruby
- --without-tcl
- )
- local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
-
- econf "${myconf[@]}"
- }
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir ruby_configure
- fi
-}
-
-src_compile() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake
- fi
-
- if use python; then
- unset PYTHONDONTWRITEBYTECODE
- python_foreach_impl run_in_build_dir emake
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake
- fi
-}
-
-src_test() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake check
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake check
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake check
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake check
- fi
-}
-
-src_install() {
- if has_basic_bindings ; then
- emake DESTDIR="${D}" install
- fi
-
- if use java; then
- java-pkg_dojar java/built/xapian.jar
- # TODO: make the build system not install this...
- java-pkg_doso java/.libs/libxapian_jni.so
- rm -rf "${ED}/var" || die "could not remove java cruft!"
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- php-ext-source-r3_createinifiles
- # php-ext-source-r3_createinifiles() changes current directory.
- cd "${S}"
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- python_foreach_impl python_optimize
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- # For some USE combinations this directory is not created
- if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
- mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild
deleted file mode 100644
index fbec347149c3..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.21.ebuild
+++ /dev/null
@@ -1,346 +0,0 @@
-# Copyright 1999-2023 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,10} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php7-4 php8-0"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby26 ruby27 ruby30"
-RUBY_OPTIONAL="yes"
-
-inherit java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
-
-DESCRIPTION="SWIG and JNI bindings for Xapian"
-HOMEPAGE="https://www.xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="java lua mono perl php python ruby tcl"
-REQUIRED_USE="|| ( java lua mono perl php python ruby tcl )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )"
-
-COMMONDEPEND=">=dev-libs/xapian-1.4.21
- lua? ( ${LUA_DEPS} )
- perl? ( dev-lang/perl:= )
- php? ( dev-lang/php:=[-threads] )
- python? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- ${PYTHON_DEPS}
- )
- ruby? ( $(ruby_implementations_depend) )
- tcl? ( dev-lang/tcl:= )
- mono? ( dev-lang/mono )"
-DEPEND="${COMMONDEPEND}
- virtual/pkgconfig
- java? ( >=virtual/jdk-1.8:* )"
-RDEPEND="${COMMONDEPEND}
- java? ( >=virtual/jre-1.8:* )"
-
-S="${WORKDIR}/${P}"
-
-has_basic_bindings() {
- # Update this list if new bindings are added that are not built
- # multiple times for multiple versions like lua, php, python and ruby are
- return $(use mono || use java || use perl || use tcl)
-}
-
-php_copy_sources() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_copy_sources
-}
-
-php_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_foreach_variant "$@"
-}
-
-ruby_copy_sources() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_copy_sources
-}
-
-ruby_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_foreach_variant "$@"
-}
-
-pkg_setup() {
- use mono && mono-env_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- # Unfortunately required for php-ext-source-r3_createinifiles().
- mkdir "${WORKDIR}/${php_slot}"
- done
- fi
-}
-
-src_prepare() {
- use java && java-pkg-opt-2_src_prepare
-
- # https://trac.xapian.org/ticket/702
- export XAPIAN_CONFIG="/usr/bin/xapian-config"
-
- if use lua; then
- lua_copy_sources
- fi
-
- if use php; then
- php_copy_sources
- fi
-
- if use python; then
- python_copy_sources
- fi
-
- if use ruby; then
- ruby_copy_sources
- fi
-
- eapply_user
-}
-
-src_configure() {
- # 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-php7
- --without-python
- --without-python3
- --without-ruby
- )
-
- if use java; then
- local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
- fi
-
- if use perl; then
- local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
- local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
- fi
-
- econf "${conf[@]}"
- fi
-
- lua_configure() {
- local myconf=(
- --disable-documentation
- --without-csharp
- --without-java
- --without-perl
- --without-tcl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --without-ruby
- --with-lua
- )
-
- local -x LUA_INC="$(lua_get_include_dir)"
- local -x LUA_LIB="$(lua_get_cmod_dir)"
-
- econf "${myconf[@]}"
-
- }
-
- if use lua; then
- lua_foreach_impl run_in_build_dir lua_configure
- fi
-
- php_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-python
- --without-python3
- --without-ruby
- --without-tcl
- )
- if [[ ${MULTIBUILD_VARIANT} == php5.* ]]; then
- myconf+=(
- --with-php
- --without-php7
- )
- local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- elif [[ ${MULTIBUILD_VARIANT} == php7.* ]]; then
- myconf+=(
- --without-php
- --with-php7
- )
- local -x PHP_CONFIG7="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
- fi
-
- econf "${myconf[@]}"
- }
-
- if use php; then
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- php_foreach_impl run_in_build_dir php_configure
- fi
-
- python_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-ruby
- --without-tcl
- --with-python3
- )
-
- # Avoid sandbox failures when compiling modules
- addpredict "$(python_get_sitedir)"
-
- econf "${myconf[@]}"
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir python_configure
- fi
-
- ruby_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-php7
- --without-python
- --without-python3
- --with-ruby
- --without-tcl
- )
- local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
-
- econf "${myconf[@]}"
- }
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir ruby_configure
- fi
-}
-
-src_compile() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake
- fi
-
- if use python; then
- unset PYTHONDONTWRITEBYTECODE
- python_foreach_impl run_in_build_dir emake
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake
- fi
-}
-
-src_test() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake check
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake check
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake check
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake check
- fi
-}
-
-src_install() {
- if has_basic_bindings ; then
- emake DESTDIR="${D}" install
- fi
-
- if use java; then
- java-pkg_dojar java/built/xapian.jar
- # TODO: make the build system not install this...
- java-pkg_doso java/.libs/libxapian_jni.so
- rm -rf "${ED}/var" || die "could not remove java cruft!"
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- php-ext-source-r3_createinifiles
- # php-ext-source-r3_createinifiles() changes current directory.
- cd "${S}"
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- python_foreach_impl python_optimize
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- # For some USE combinations this directory is not created
- if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
- mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild
new file mode 100644
index 000000000000..5398a4350466
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby30 ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMONDEPEND="
+ >=dev-libs/xapian-1.4.21
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMONDEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMONDEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-remove-precompiled-python.patch
+ "${FILESDIR}"/${P}-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild
new file mode 100644
index 000000000000..afb64e3d13bd
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby30 ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMONDEPEND="
+ >=dev-libs/xapian-1.4.23
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMONDEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMONDEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.22-remove-precompiled-python.patch
+ "${FILESDIR}"/${PN}-1.4.22-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild
new file mode 100644
index 000000000000..bc39434724f1
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMON_DEPEND="
+ ~dev-libs/xapian-${PV}
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.22-remove-precompiled-python.patch
+ "${FILESDIR}"/${PN}-1.4.22-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild
new file mode 100644
index 000000000000..a929cc8d30bd
--- /dev/null
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+USE_PHP="php8-1 php8-2"
+
+PHP_EXT_NAME="xapian"
+PHP_EXT_INI="yes"
+PHP_EXT_OPTIONAL_USE="php"
+
+USE_RUBY="ruby31 ruby32"
+RUBY_OPTIONAL="yes"
+
+# mono-env does not support EAPI 8
+inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
+
+DESCRIPTION="SWIG and JNI bindings for Xapian"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
+S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="java lua mono perl php python ruby tcl"
+REQUIRED_USE="
+ || ( java lua mono perl php python ruby tcl )
+ lua? ( ${LUA_REQUIRED_USE} )
+ python? ( ${PYTHON_REQUIRED_USE} )
+ ruby? ( || ( $(ruby_get_use_targets) ) )
+"
+
+COMMON_DEPEND="
+ ~dev-libs/xapian-${PV}
+ lua? ( ${LUA_DEPS} )
+ mono? ( dev-lang/mono )
+ perl? ( dev-lang/perl:= )
+ php? ( dev-lang/php:=[-threads] )
+ python? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}
+ )
+ ruby? ( $(ruby_implementations_depend) )
+ tcl? ( dev-lang/tcl:= )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.8:* )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ java? ( >=virtual/jre-1.8:* )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.22-remove-precompiled-python.patch
+ "${FILESDIR}"/${PN}-1.4.22-fix-java-installation.patch
+)
+
+has_basic_bindings() {
+ # Update this list if new bindings are added that are not built
+ # multiple times for multiple versions like lua, php, python and ruby are
+ return $(use mono || use java || use perl || use tcl)
+}
+
+php_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_copy_sources
+}
+
+php_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(php_get_slots))
+ multibuild_foreach_variant "$@"
+}
+
+ruby_copy_sources() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_copy_sources
+}
+
+ruby_foreach_impl() {
+ local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
+ multibuild_foreach_variant "$@"
+}
+
+pkg_setup() {
+ use mono && mono-env_pkg_setup
+ use java && java-pkg-opt-2_pkg_setup
+}
+
+src_unpack() {
+ default
+
+ if use php; then
+ local php_slot
+ for php_slot in $(php_get_slots); do
+ # Unfortunately required for php-ext-source-r3_createinifiles().
+ mkdir "${WORKDIR}/${php_slot}"
+ done
+ fi
+}
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eautoreconf
+
+ use java && java-pkg-opt-2_src_prepare
+
+ # https://trac.xapian.org/ticket/702
+ export XAPIAN_CONFIG="/usr/bin/xapian-config"
+
+ if use lua; then
+ lua_copy_sources
+ fi
+
+ if use php; then
+ php_copy_sources
+ fi
+
+ if use python; then
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ ruby_copy_sources
+ fi
+
+ eapply_user
+}
+
+src_configure() {
+ # Needed to get e.g. test failure details
+ MAKEOPTS+=" VERBOSE=1"
+
+ if has_basic_bindings ; then
+ local conf=(
+ --disable-documentation
+ $(use_with mono csharp)
+ $(use_with java)
+ $(use_with perl)
+ $(use_with tcl)
+ --without-lua
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ )
+
+ if use java; then
+ local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
+ fi
+
+ if use perl; then
+ local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
+ local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
+ fi
+
+ econf "${conf[@]}"
+ fi
+
+ lua_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-csharp
+ --without-java
+ --without-perl
+ --without-tcl
+ --without-php
+ --without-python
+ --without-python3
+ --without-ruby
+ --with-lua
+ )
+
+ local -x LUA_INC="$(lua_get_include_dir)"
+ local -x LUA_LIB="$(lua_get_cmod_dir)"
+
+ econf "${myconf[@]}"
+
+ }
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir lua_configure
+ fi
+
+ php_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-python
+ --without-python3
+ --without-ruby
+ --without-tcl
+ --with-php
+ )
+ local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
+
+ econf "${myconf[@]}"
+ }
+
+ if use php; then
+ addpredict /usr/share/snmp/mibs/.index
+ addpredict /var/lib/net-snmp/mib_indexes
+
+ php_foreach_impl run_in_build_dir php_configure
+ fi
+
+ python_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-ruby
+ --without-tcl
+ --with-python3
+ )
+
+ # Avoid sandbox failures when compiling modules
+ addpredict "$(python_get_sitedir)"
+
+ econf "${myconf[@]}"
+ }
+
+ if use python; then
+ python_foreach_impl run_in_build_dir python_configure
+ fi
+
+ ruby_configure() {
+ local myconf=(
+ --disable-documentation
+ --without-java
+ --without-lua
+ --without-csharp
+ --without-perl
+ --without-php
+ --without-python
+ --without-python3
+ --with-ruby
+ --without-tcl
+ )
+ local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
+
+ econf "${myconf[@]}"
+ }
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir ruby_configure
+ fi
+}
+
+src_compile() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake
+ fi
+
+ if use python; then
+ unset PYTHONDONTWRITEBYTECODE
+ python_foreach_impl run_in_build_dir emake
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake
+ fi
+}
+
+src_test() {
+ if has_basic_bindings ; then
+ default
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake check
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake check
+ fi
+}
+
+src_install() {
+ if has_basic_bindings ; then
+ emake DESTDIR="${D}" install
+ fi
+
+ if use java; then
+ java-pkg_dojar java/built/xapian.jar
+ java-pkg_doso java/.libs/libxapian_jni.so
+ fi
+
+ if use lua; then
+ lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ fi
+
+ if use php; then
+ php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ php-ext-source-r3_createinifiles
+ # php-ext-source-r3_createinifiles() changes current directory.
+ cd "${S}"
+ fi
+
+ if use python; then
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ python_foreach_impl python_optimize
+ fi
+
+ if use ruby; then
+ ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
+ fi
+
+ # For some USE combinations this directory is not created
+ if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
+ mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ dodoc AUTHORS HACKING NEWS TODO README
+}
diff --git a/dev-libs/xapian/Manifest b/dev-libs/xapian/Manifest
index d1737a07dba6..86628f3347ac 100644
--- a/dev-libs/xapian/Manifest
+++ b/dev-libs/xapian/Manifest
@@ -1,2 +1,4 @@
-DIST xapian-core-1.4.19.tar.xz 2994860 BLAKE2B 9566df1646192370e346c1b0d1e1cda68034fe5d3ab94835709f969df643fd36da49a58a2d3b4177a42faf5af2e71df771277848169ae62f94fe0bb0378ba6aa SHA512 d596058d7f9bfa0b73c5b6354331a799936b45f27012894f6792872ade8656bb0387b504aea8c1c3edfbd48787190452e7a49d2b62d181cb050c46edd3e67346
-DIST xapian-core-1.4.21.tar.xz 3018384 BLAKE2B 61a25ee381c84e0a9f20650d94aa097225f2e947dafad7f6b5497db74f383f5b0fcf277a35ea27ff461b34cd2a9a0b6333f88264c5817cff09a2caf42fa3b398 SHA512 4071791daf47f5ae77f32f358c6020fcfa9aa81c15c8da25489b055eef30383695e449ab1cb73670f2f5db2b2a5f78056da0e8eea89d83aaad91dfe340a6b13a
+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/xapian-1.4.19.ebuild b/dev-libs/xapian/xapian-1.4.19.ebuild
deleted file mode 100644
index 757d51d72f7e..000000000000
--- a/dev-libs/xapian/xapian-1.4.19.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit multilib-minimal
-
-MY_P="${PN}-core-${PV}"
-
-DESCRIPTION="Xapian Probabilistic Information Retrieval library"
-HOMEPAGE="https://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 ~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[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- local myconf=""
-
- if use cpu_flags_x86_sse2; then
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- myconf="${myconf} --enable-sse=sse"
- else
- myconf="${myconf} --disable-sse"
- fi
- fi
-
- myconf="${myconf} $(use_enable static-libs static)"
-
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
- use remote || myconf="${myconf} --disable-backend-remote"
-
- myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix="
-
- ECONF_SOURCE=${S} econf ${myconf}
-}
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/xapian/postingsource.h
- /usr/include/xapian/attributes.h
- /usr/include/xapian/valuesetmatchdecider.h
- /usr/include/xapian/version.h
- /usr/include/xapian/version.h
- /usr/include/xapian/types.h
- /usr/include/xapian/positioniterator.h
- /usr/include/xapian/registry.h
-)
-
-multilib_src_test() {
- emake check VALGRIND=
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- if use doc; then
- rm -rf "${ED}/usr/share/doc/xapian-core-${PV}" || die
- fi
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/xapian/xapian-1.4.21-r1.ebuild b/dev-libs/xapian/xapian-1.4.21-r1.ebuild
deleted file mode 100644
index 383e75d11a63..000000000000
--- a/dev-libs/xapian/xapian-1.4.21-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2022 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"
-
-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}"
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- local myconf=""
-
- if use cpu_flags_x86_sse2; then
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- myconf="${myconf} --enable-sse=sse"
- else
- myconf="${myconf} --disable-sse"
- fi
- fi
-
- myconf="${myconf} $(use_enable static-libs static)"
-
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
- use remote || myconf="${myconf} --disable-backend-remote"
-
- myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix="
-
- econf ${myconf}
-}
-
-src_test() {
- emake check VALGRIND=
-}
-
-src_install() {
- emake DESTDIR="${D}" install
-
- if use doc; then
- rm -rf "${ED}/usr/share/doc/xapian-core-${PV}" || die
- fi
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/xapian/xapian-1.4.21.ebuild b/dev-libs/xapian/xapian-1.4.21.ebuild
deleted file mode 100644
index 767d663dd8f7..000000000000
--- a/dev-libs/xapian/xapian-1.4.21.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-inherit multilib-minimal
-
-MY_P="${PN}-core-${PV}"
-
-DESCRIPTION="Xapian Probabilistic Information Retrieval library"
-HOMEPAGE="https://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 ~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[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-multilib_src_configure() {
- local myconf=""
-
- if use cpu_flags_x86_sse2; then
- myconf="${myconf} --enable-sse=sse2"
- else
- if use cpu_flags_x86_sse; then
- myconf="${myconf} --enable-sse=sse"
- else
- myconf="${myconf} --disable-sse"
- fi
- fi
-
- myconf="${myconf} $(use_enable static-libs static)"
-
- use inmemory || myconf="${myconf} --disable-backend-inmemory"
- use remote || myconf="${myconf} --disable-backend-remote"
-
- myconf="${myconf} --enable-backend-glass --enable-backend-chert --program-suffix="
-
- ECONF_SOURCE=${S} econf ${myconf}
-}
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/xapian/postingsource.h
- /usr/include/xapian/attributes.h
- /usr/include/xapian/valuesetmatchdecider.h
- /usr/include/xapian/version.h
- /usr/include/xapian/version.h
- /usr/include/xapian/types.h
- /usr/include/xapian/positioniterator.h
- /usr/include/xapian/registry.h
-)
-
-multilib_src_test() {
- emake check VALGRIND=
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-}
-
-multilib_src_install_all() {
- if use doc; then
- rm -rf "${ED}/usr/share/doc/xapian-core-${PV}" || die
- fi
-
- dodoc AUTHORS HACKING PLATFORMS README NEWS
-
- find "${ED}" -name "*.la" -type f -delete || die
-}
diff --git a/dev-libs/xapian/xapian-1.4.22.ebuild b/dev-libs/xapian/xapian-1.4.22.ebuild
new file mode 100644
index 000000000000..bd255b5fb495
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.22.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos ~x64-solaris"
+IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +inmemory +remote"
+
+DEPEND="
+ sys-apps/util-linux
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS HACKING PLATFORMS README NEWS"
+
+src_configure() {
+ local -a myconf
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ else
+ if use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+ fi
+
+ myconf+=( $(use_enable static-libs static) )
+
+ use inmemory || myconf+=( --disable-backend-inmemory )
+ use remote || myconf+=( --disable-backend-remote )
+
+ myconf+=(
+ --enable-backend-glass
+ --enable-backend-chert
+ --program-suffix=
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake check VALGRIND=
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if ! use doc; then
+ rm -r "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ einstalldocs
+
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xapian/xapian-1.4.23.ebuild b/dev-libs/xapian/xapian-1.4.23.ebuild
new file mode 100644
index 000000000000..40a621af6000
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.23.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-core-${PV}"
+
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="doc static-libs cpu_flags_x86_sse cpu_flags_x86_sse2 +inmemory +remote"
+
+DEPEND="
+ sys-apps/util-linux
+ sys-libs/zlib
+"
+RDEPEND="${DEPEND}"
+
+DOCS="AUTHORS HACKING PLATFORMS README NEWS"
+
+src_configure() {
+ local -a myconf
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ else
+ if use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+ fi
+
+ myconf+=( $(use_enable static-libs static) )
+
+ use inmemory || myconf+=( --disable-backend-inmemory )
+ use remote || myconf+=( --disable-backend-remote )
+
+ myconf+=(
+ --enable-backend-glass
+ --enable-backend-chert
+ --program-suffix=
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake check VALGRIND=
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if ! use doc; then
+ rm -r "${ED}/usr/share/doc/${PF}" || die
+ fi
+
+ einstalldocs
+
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xapian/xapian-1.4.24.ebuild b/dev-libs/xapian/xapian-1.4.24.ebuild
new file mode 100644
index 000000000000..dc4d3f009870
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.24.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_P="${PN}-core-${PV}"
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 debug static-libs"
+
+DEPEND="
+ sys-libs/zlib:=
+ !elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux ) )
+ elibc_SunOS? ( sys-libs/libuuid )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS HACKING PLATFORMS README NEWS )
+
+src_configure() {
+ tc-export_build_env BUILD_CC
+ local -x CC_FOR_BUILD="${BUILD_CC}"
+
+ # skip certain autoconf checks
+ local -x VALGRIND=
+ local -x EATMYDATA=
+
+ local -a myconf=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html
+ --disable-werror
+ --enable-backend-chert
+ --enable-backend-glass
+ --enable-backend-inmemory
+ --enable-backend-remote
+ --program-suffix=
+ $(use_enable debug assertions)
+ $(use_enable debug log)
+ $(use_enable static-libs static)
+ )
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ elif use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xapian/xapian-1.4.25.ebuild b/dev-libs/xapian/xapian-1.4.25.ebuild
new file mode 100644
index 000000000000..25f4dd84a037
--- /dev/null
+++ b/dev-libs/xapian/xapian-1.4.25.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_P="${PN}-core-${PV}"
+DESCRIPTION="Xapian Probabilistic Information Retrieval library"
+HOMEPAGE="https://xapian.org/"
+SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0/30" # ABI version of libxapian.so
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris"
+IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 debug static-libs"
+
+DEPEND="
+ sys-libs/zlib:=
+ !elibc_Darwin? ( !elibc_SunOS? ( sys-apps/util-linux ) )
+ elibc_SunOS? ( sys-libs/libuuid )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=( AUTHORS HACKING PLATFORMS README NEWS )
+
+src_configure() {
+ tc-export_build_env BUILD_CC
+ local -x CC_FOR_BUILD="${BUILD_CC}"
+
+ # skip certain autoconf checks
+ local -x VALGRIND=
+ local -x EATMYDATA=
+
+ local -a myconf=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html
+ --disable-werror
+ --enable-backend-chert
+ --enable-backend-glass
+ --enable-backend-inmemory
+ --enable-backend-remote
+ --program-suffix=
+ $(use_enable debug assertions)
+ $(use_enable debug log)
+ $(use_enable static-libs static)
+ )
+
+ if use cpu_flags_x86_sse2; then
+ myconf+=( --enable-sse=sse2 )
+ elif use cpu_flags_x86_sse; then
+ myconf+=( --enable-sse=sse )
+ else
+ myconf+=( --disable-sse )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake -Onone check
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -type f -delete || die
+}
diff --git a/dev-libs/xbyak/xbyak-5.73.ebuild b/dev-libs/xbyak/xbyak-5.73.ebuild
index 751793158e94..85635a43d774 100644
--- a/dev-libs/xbyak/xbyak-5.73.ebuild
+++ b/dev-libs/xbyak/xbyak-5.73.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,10 +12,6 @@ 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 4e22c2a7639e..7825dbd820ee 100644
--- a/dev-libs/xerces-c/Manifest
+++ b/dev-libs/xerces-c/Manifest
@@ -1 +1 @@
-DIST xerces-c-3.2.3.tar.xz 4184368 BLAKE2B e582ecfa13d521061d0a0ba2e53b595047b325b53d5b634eadc0ed1967410733142e11951d907edf96386b1417adc938bf2f2f4eab760dcb81c0e718a48cf300 SHA512 8b8ac9a8377788753a918af2bd4437af5bb94b275e50fe1ab7cc6af88a8531248518705bc794da702a3e06a82a064cbd25e4149c2526aff7f61cf49ded4fdfab
+DIST xerces-c-3.2.4.tar.xz 4260560 BLAKE2B 5d9fed1e9a461f8b348f3259216c5181bd03d2b5d8790cad88621d601065d0d79f8766ae70ed0aa7afe05005e2bcaf37a88da25b17f0e028bf074a31cea5fe71 SHA512 4d58d25b59b4528ad1f2d60681ddd6d2a4dba945613cee9ce978605f006da03703ea85a1bd89f781eeb3ad4dbdadf485a310f29d4c07036b0322f0755f87fddf
diff --git a/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch b/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch
index 57dde7220985..50db010bf5ee 100644
--- a/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch
+++ b/dev-libs/xerces-c/files/xerces-c-3.2.2-fix-XERCESC-2163.patch
@@ -1,3 +1,10 @@
+https://bugs.gentoo.org/673548
+https://bugs.gentoo.org/738140
+https://bugs.gentoo.org/913045
+
+https://issues.apache.org/jira/browse/XERCESC-2163
+https://github.com/apache/xerces-c/pull/7
+
From db7a8b0cd2a163de1e3ef8c950cf9e708b0b5f98 Mon Sep 17 00:00:00 2001
From: Craig Andrews <candrews@integralblue.com>
Date: Wed, 2 Jan 2019 15:01:21 -0500
@@ -5,12 +12,6 @@ Subject: [PATCH] build: Install XercesMessages_en_US.cat to
/usr/share/xerces-c/msg
Fixes XERCESC-2163
----
- src/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index c29aa257b..6f1929d99 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1198,7 +1198,7 @@ if(XERCES_USE_MSGLOADER_ICONV)
diff --git a/dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch b/dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch
new file mode 100644
index 000000000000..18483070e736
--- /dev/null
+++ b/dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/856100
+--- a/cmake/XercesWarnings.cmake
++++ b/cmake/XercesWarnings.cmake
+@@ -50,8 +50,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR
+ -Wswitch-default
+ -Wunused-variable
+ -Wwrite-strings
+- -Wno-variadic-macros
+- -fstrict-aliasing)
++ -Wno-variadic-macros)
+ if(extra-warnings)
+ list(APPEND test_flags
+ -Wfloat-equal
diff --git a/dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild b/dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild
deleted file mode 100644
index dc85454c9e42..000000000000
--- a/dev-libs/xerces-c/xerces-c-3.2.3-r2.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake prefix
-
-DESCRIPTION="A validating XML parser written in a portable subset of C++"
-HOMEPAGE="https://xerces.apache.org/xerces-c/"
-
-if [[ ${PV} == *9999 ]] ; then
- ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
- inherit subversion
-else
- SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.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-doc/doxygen )
- test? ( dev-lang/perl )"
-
-DOCS=( CREDITS KEYS NOTICE README )
-
-PATCHES=( "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch )
-
-pkg_setup() {
- export ICUROOT="${EPREFIX}/usr"
-
- if use iconv && use icu; then
- ewarn "This package can use iconv or icu for loading messages"
- ewarn "and transcoding, but not both. ICU takes precedence."
- fi
-}
-
-src_configure() {
- # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
- # But the docs aren't clear about it, so we would need some testing...
- local netaccessor
- if use curl; then
- netaccessor="curl"
- elif use elibc_Darwin; then
- netaccessor="cfurl"
- else
- netaccessor="socket"
- fi
-
- local msgloader
- if use icu; then
- msgloader="icu"
- elif use iconv; then
- msgloader="iconv"
- else
- msgloader="inmemory"
- fi
-
- local transcoder
- if use icu; then
- transcoder="icu"
- elif use elibc_Darwin; then
- transcoder="macosunicodeconverter"
- else
- transcoder="gnuiconv"
- fi
- # for interix maybe: transcoder="windows"
-
- local mycmakeargs=(
- -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
- -Dnetwork-accessor="${netaccessor}"
- -Dmessage-loader="${msgloader}"
- -Dtranscoder="${transcoder}"
- -Dthreads:BOOL="$(usex threads)"
- -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
- )
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- use doc && cmake_build doc-style createapidocs doc-xml
-}
-
-src_install() {
- cmake_src_install
-
- # package provides .pc files
- find "${D}" -name '*.la' -delete || die
-
- if use examples; then
- # clean out object files, executables, Makefiles
- # and the like before installing examples
- find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
- -o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
- docinto examples
- dodoc -r samples/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- # To make sure an appropriate NLS msg file is around when using
- # the iconv msgloader ICU has the messages compiled in.
- if use iconv && ! use icu; then
- doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
- fi
-}
diff --git a/dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild b/dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild
new file mode 100644
index 000000000000..7017f87e470a
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake prefix
+
+DESCRIPTION="A validating XML parser written in a portable subset of C++"
+HOMEPAGE="https://xerces.apache.org/xerces-c/"
+
+if [[ ${PV} == *9999 ]] ; then
+ ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
+ inherit subversion
+else
+ SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.xz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cpu_flags_x86_sse2 curl doc examples iconv icu static-libs test threads"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:0= )
+ virtual/libiconv"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-lang/perl )"
+
+DOCS=( CREDITS KEYS NOTICE README )
+
+PATCHES=( "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch )
+
+pkg_setup() {
+ export ICUROOT="${EPREFIX}/usr"
+
+ if use iconv && use icu; then
+ ewarn "This package can use iconv or icu for loading messages"
+ ewarn "and transcoding, but not both. ICU takes precedence."
+ fi
+}
+
+src_configure() {
+ # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
+ # But the docs aren't clear about it, so we would need some testing...
+ local netaccessor
+ if use curl; then
+ netaccessor="curl"
+ elif use elibc_Darwin; then
+ netaccessor="cfurl"
+ else
+ netaccessor="socket"
+ fi
+
+ local msgloader
+ if use icu; then
+ msgloader="icu"
+ elif use iconv; then
+ msgloader="iconv"
+ else
+ msgloader="inmemory"
+ fi
+
+ local transcoder
+ if use icu; then
+ transcoder="icu"
+ elif use elibc_Darwin; then
+ transcoder="macosunicodeconverter"
+ else
+ transcoder="gnuiconv"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -Dnetwork-accessor="${netaccessor}"
+ -Dmessage-loader="${msgloader}"
+ -Dtranscoder="${transcoder}"
+ -Dthreads:BOOL="$(usex threads)"
+ -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_build doc-style createapidocs doc-xml
+}
+
+src_install() {
+ cmake_src_install
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+
+ if use examples; then
+ # clean out object files, executables, Makefiles
+ # and the like before installing examples
+ find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
+ -o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
+ docinto examples
+ dodoc -r samples/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # To make sure an appropriate NLS msg file is around when using
+ # the iconv msgloader ICU has the messages compiled in.
+ if use iconv && ! use icu; then
+ doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
+ fi
+}
diff --git a/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild b/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild
new file mode 100644
index 000000000000..4e7bce5e9e18
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic prefix
+
+DESCRIPTION="Validating XML parser written in a portable subset of C++"
+HOMEPAGE="https://xerces.apache.org/xerces-c/"
+
+if [[ ${PV} == *9999 ]] ; then
+ ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
+ inherit subversion
+else
+ SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cpu_flags_x86_sse2 curl doc examples iconv icu static-libs test threads"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:0= )
+ virtual/libiconv"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-lang/perl )"
+
+DOCS=( CREDITS KEYS NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch
+ "${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
+)
+
+pkg_setup() {
+ export ICUROOT="${EPREFIX}/usr"
+
+ if use iconv && use icu; then
+ ewarn "This package can use iconv or icu for loading messages"
+ ewarn "and transcoding, but not both. ICU takes precedence."
+ fi
+}
+
+src_configure() {
+ # bug #856100
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
+ # But the docs aren't clear about it, so we would need some testing...
+ local netaccessor
+ if use curl; then
+ netaccessor="curl"
+ elif use elibc_Darwin; then
+ netaccessor="cfurl"
+ else
+ netaccessor="socket"
+ fi
+
+ local msgloader
+ if use icu; then
+ msgloader="icu"
+ elif use iconv; then
+ msgloader="iconv"
+ else
+ msgloader="inmemory"
+ fi
+
+ local transcoder
+ if use icu; then
+ transcoder="icu"
+ elif use elibc_Darwin; then
+ transcoder="macosunicodeconverter"
+ else
+ transcoder="gnuiconv"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -Dnetwork-accessor="${netaccessor}"
+ -Dmessage-loader="${msgloader}"
+ -Dtranscoder="${transcoder}"
+ -Dthreads:BOOL="$(usex threads)"
+ -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_build doc-style createapidocs doc-xml
+}
+
+src_install() {
+ cmake_src_install
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+
+ if use examples; then
+ # clean out object files, executables, Makefiles
+ # and the like before installing examples
+ find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
+ -o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
+ docinto examples
+ dodoc -r samples/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # To make sure an appropriate NLS msg file is around when using
+ # the iconv msgloader ICU has the messages compiled in.
+ if use iconv && ! use icu; then
+ doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
+ fi
+}
diff --git a/dev-libs/xerces-c/xerces-c-9999.ebuild b/dev-libs/xerces-c/xerces-c-9999.ebuild
index 133712bc42a3..4e7bce5e9e18 100644
--- a/dev-libs/xerces-c/xerces-c-9999.ebuild
+++ b/dev-libs/xerces-c/xerces-c-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake prefix
+inherit cmake flag-o-matic prefix
-DESCRIPTION="A validating XML parser written in a portable subset of C++"
+DESCRIPTION="Validating XML parser written in a portable subset of C++"
HOMEPAGE="https://xerces.apache.org/xerces-c/"
if [[ ${PV} == *9999 ]] ; then
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit subversion
else
SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
LICENSE="Apache-2.0"
@@ -28,11 +28,16 @@ RDEPEND="
virtual/libiconv"
DEPEND="${RDEPEND}"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( dev-lang/perl )"
DOCS=( CREDITS KEYS NOTICE README )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch
+ "${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
+)
+
pkg_setup() {
export ICUROOT="${EPREFIX}/usr"
@@ -43,6 +48,10 @@ pkg_setup() {
}
src_configure() {
+ # bug #856100
+ filter-lto
+ append-flags -fno-strict-aliasing
+
# 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
# But the docs aren't clear about it, so we would need some testing...
local netaccessor
@@ -71,7 +80,6 @@ src_configure() {
else
transcoder="gnuiconv"
fi
- # for interix maybe: transcoder="windows"
local mycmakeargs=(
-DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
diff --git a/dev-libs/xmlrpc-c/Manifest b/dev-libs/xmlrpc-c/Manifest
index c6da1fb8b8cf..0b772b778565 100644
--- a/dev-libs/xmlrpc-c/Manifest
+++ b/dev-libs/xmlrpc-c/Manifest
@@ -1 +1,2 @@
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.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/xmlrpc-c-1.54.05-r2.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild
index 5c2a78043abc..140979cfaa37 100644
--- a/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
LICENSE="BSD"
SLOT="0/4.54"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+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 )"
diff --git a/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild
new file mode 100644
index 000000000000..bdc54dc3b1e1
--- /dev/null
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
+# 1. Only the "Super Stable" series is released as a tarball
+# 2. SVN tagging of releases seems spotty: http://svn.code.sf.net/p/xmlrpc-c/code/release_number/
+# Because of this, we are following the "Super Stable" release channel
+
+DESCRIPTION="A lightweight RPC library based on XML and HTTP"
+HOMEPAGE="http://xmlrpc-c.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+
+LICENSE="BSD"
+SLOT="0/4.54"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+IUSE="abyss +cgi +curl +cxx +libxml2 threads test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( abyss curl cxx )"
+
+RDEPEND="
+ dev-libs/openssl:=
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ curl? ( net-misc/curl )
+ libxml2? ( dev-libs/libxml2 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-libxml2.patch
+ "${FILESDIR}"/${PN}-1.51.06-pkg-config-openssl.patch
+ "${FILESDIR}"/${PN}-1.54.06-wformat-security.patch
+)
+
+pkg_setup() {
+ use curl || ewarn "Curl support disabled: No client library will be built"
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "/CFLAGS_COMMON/s|-g -O3$||" \
+ -e "/CXXFLAGS_COMMON/s|-g$||" \
+ common.mk || die
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+
+ econf \
+ --disable-libwww-client \
+ --disable-wininet-client \
+ --without-libwww-ssl \
+ $(use_enable abyss abyss-server) \
+ $(use_enable cgi cgi-server) \
+ $(use_enable curl curl-client) \
+ $(use_enable cxx cplusplus) \
+ $(use_enable libxml2 libxml2-backend) \
+ $(use_enable threads abyss-threads)
+}
+
+src_compile() {
+ default
+
+ # Tools building is broken in this release
+ #use tools && emake -rC "${S}"/tools
+}
+
+src_install() {
+ default
+
+ # Tools building is broken in this release
+ #use tools && emake DESTDIR="${D}" -rC "${S}"/tools install
+}
diff --git a/dev-libs/xmlsec/Manifest b/dev-libs/xmlsec/Manifest
index 63c3df8407c1..a6d977704744 100644
--- a/dev-libs/xmlsec/Manifest
+++ b/dev-libs/xmlsec/Manifest
@@ -1,2 +1,5 @@
-DIST xmlsec1-1.2.36.tar.gz 2005656 BLAKE2B 617f7532f3e0401357261d1294f7f497e81f79538b223616433b007a5d3132e9e4ec7a40f36e909759f996754b95c060386ec9740165fb1b045809142e9fae35 SHA512 7545935d33236bc8ec79b9173c8c0967df5c96bb9e2d5c8edacfb5ffb366ff8d087eada0cebb1de81a477f93d40544bf0a12abcdbc60874ecaecb9c8dd33dfe3
DIST xmlsec1-1.2.37.tar.gz 2009175 BLAKE2B 19f43ba6bf6eb49428b9c5563baecbab21476f326cceee13785ae16769afa258f100732831c0f3f7d160543bd075cdcfdc5cbf11b7406637ee6c2f0e27c07f30 SHA512 99220cb28a346ffac0023f9f177d6a7be3ddcea04bea434b7dc926c1f0aaa5564d75f74f92896ac100179c04d77e001f688ddf46fed4e0a0b4f20b7b87c24900
+DIST xmlsec1-1.2.38.tar.gz 2036578 BLAKE2B 03f7e1b5e659793bf1984c5a59582d9459089ce913620d5cc1e5a5d0eb65557580cd23fa190db277298fd7cc55bd41563b93cf61a37c8b7521a4690cd2ca3489 SHA512 724089777caae95db27e67f24381c066eaae23a9d64819a18bb04837c1ab1b380d19be2c7ee25659ca481d9eab96fcbe8027a430a0ac1630ad3b073cddd20fac
+DIST xmlsec1-1.3.1.tar.gz 2432943 BLAKE2B 1dafdffd959579add5c579e3fa9c9f9ddc73ce4aadc6fc2139506e6e64ffcd1bbe7298786e414900eb9f33f93b0a47da64e686c499e48d4c80d81b256db6692e SHA512 7f30c15c3edcafe70fa5febaa0ba39f73f8d30525ee102b5961a658dd2842fbc58e63f7595f15b150d71bf735bfa7688c3694a191b0d475776ca26902d90d25f
+DIST xmlsec1-1.3.2.tar.gz 2437263 BLAKE2B d11953c6e2a263a6742ef62309c2f29e2ba5761d58bee5f8cc761965d0e16fea148811ac3d8036d271400840a62ff2a7fff947bb5331170d3bcc598c558b2a95 SHA512 328f3d27cc1dadee27e5ee4649f6c5a094203cc27f42f1fe98fd429f7dd5630eaadff0e8bf14616016fc3530482ed8bcee4870289a41a083f6dd9bd603782a92
+DIST xmlsec1-1.3.3.tar.gz 2435741 BLAKE2B 1b0e44a8a5185d67b8f97ec72cd8e215fe79a988eb7ade0d2890be662b693d511857b24670ec692f9452bf95ad8c53ff80c250ecbcd167742477a83e0b72fda0 SHA512 1535b6f878259914ab9574892d05c927fbcd548986cf7bcf91e435acb2cb74eb11e58163f797038ee13a11444882814b2b4318cd677053fbe52557a2e4acf68a
diff --git a/dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch b/dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch
new file mode 100644
index 000000000000..acdb535ba552
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.2.37-libressl.patch
@@ -0,0 +1,40 @@
+https://github.com/lsh123/xmlsec/pull/456
+https://github.com/lsh123/xmlsec/commit/c5469cfc8443c57a25a8783f0bd669f71e29bb04
+https://github.com/lsh123/xmlsec/pull/654
+https://github.com/lsh123/xmlsec/commit/dfdf981f3522e4059170b504fb6fd40b37c9d70f
+
+From c5469cfc8443c57a25a8783f0bd669f71e29bb04 Mon Sep 17 00:00:00 2001
+From: lsh123 <aleksey@aleksey.com>
+Date: Mon, 12 Dec 2022 10:34:56 -0500
+Subject: [PATCH] fix libressl (#456)
+
+---
+ src/openssl/openssl_compat.h | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+From d113d1e6355c4841fd03c6aa797d33bde1d064f3 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Mon, 29 May 2023 07:46:58 -0700
+Subject: [PATCH] openssl_compat.h: Update LibreSSL UI_null() compat
+
+LibreSSL added UI_null() in 3.7.1.
+---
+ src/openssl/openssl_compat.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/openssl/openssl_compat.h
++++ b/src/openssl/openssl_compat.h
+@@ -123,6 +123,13 @@ static inline int xmlSecOpenSSLCompatRand(unsigned char *buf, xmlSecSize size) {
+ * LibreSSL 2.7 compatibility (implements most of OpenSSL 1.1 API)
+ *
+ *****************************************************************************/
++#if defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x3070200fL)
++
++/* Needed for Engine initialization */
++#define UI_null() NULL
++
++#endif /* defined(LIBRESSL_VERSION_NUMBER) */
++
+ #if defined(LIBRESSL_VERSION_NUMBER) && (LIBRESSL_VERSION_NUMBER < 0x30500000L) && defined(XMLSEC_OPENSSL_API_110)
+ /* EVP_CIPHER_CTX stuff */
+ #define EVP_CIPHER_CTX_encrypting(x) ((x)->encrypt)
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch b/dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch
new file mode 100644
index 000000000000..2cd0401e019d
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.0-optimisation.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -2482,7 +2482,7 @@ AC_ARG_ENABLE([pedantic], [AS_HELP_STRING([--enable-pedantic],[enable pedantic c
+ if test "z$enable_pedantic" = "zno" ; then
+ AC_MSG_RESULT([disabled])
+ else
+- CFLAGS="$CFLAGS -O -std=c99 -pedantic -pedantic-errors -W -Wall -Wextra"
++ CFLAGS="$CFLAGS -std=c99 -pedantic -W -Wall -Wextra"
+ CFLAGS="$CFLAGS -fno-inline -Wnull-dereference -Wdouble-promotion"
+ CFLAGS="$CFLAGS -Wformat=2 -Wformat-security -Wformat-nonliteral"
+ CFLAGS="$CFLAGS -Wconversion -Wunused -Wshadow -Wpointer-arith -Wcast-align"
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch b/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
new file mode 100644
index 000000000000..e4b7ec4d7f68
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
@@ -0,0 +1,114 @@
+https://github.com/lsh123/xmlsec/commit/ffb327376f5bb69e8dfe7f805529e45a40118c2b
+
+From ffb327376f5bb69e8dfe7f805529e45a40118c2b Mon Sep 17 00:00:00 2001
+From: lsh123 <aleksey@aleksey.com>
+Date: Mon, 20 Nov 2023 11:50:43 -0500
+Subject: [PATCH] Fix libxml2 v2.12.0 includes (#729)
+
+--- a/apps/crypto.c
++++ b/apps/crypto.c
+@@ -12,6 +12,7 @@
+ #endif
+
+ #include <string.h>
++#include <stdlib.h>
+
+ #include <xmlsec/xmlsec.h>
+ #include <xmlsec/keys.h>
+--- a/apps/xmlsec.c
++++ b/apps/xmlsec.c
+@@ -22,6 +22,7 @@
+ #include <libxml/xmlmemory.h>
+ #include <libxml/parser.h>
+ #include <libxml/xpath.h>
++#include <libxml/xmlsave.h>
+ #include <libxml/xpathInternals.h>
+
+ #ifndef XMLSEC_NO_XSLT
+@@ -3030,7 +3031,7 @@ xmlSecAppInit(void) {
+ /* Init libxml */
+ xmlInitParser();
+ LIBXML_TEST_VERSION
+- xmlTreeIndentString = "\t";
++ xmlThrDefTreeIndentString("\t");
+ #ifndef XMLSEC_NO_XSLT
+ xmlIndentTreeOutput = 1;
+ #endif /* XMLSEC_NO_XSLT */
+--- a/include/xmlsec/xmlsec.h
++++ b/include/xmlsec/xmlsec.h
+@@ -12,6 +12,7 @@
+ #define __XMLSEC_H__
+
+ #include <libxml/tree.h>
++#include <libxml/parser.h>
+
+ #include <xmlsec/version.h>
+ #include <xmlsec/exports.h>
+--- a/src/errors_helpers.h
++++ b/src/errors_helpers.h
+@@ -136,7 +136,7 @@ extern "C" {
+ */
+ #define xmlSecXmlError(errorFunction, errorObject) \
+ { \
+- xmlErrorPtr error = xmlGetLastError(); \
++ const xmlError * error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -159,7 +159,7 @@ extern "C" {
+ */
+ #define xmlSecXmlError2(errorFunction, errorObject, msg, param) \
+ { \
+- xmlErrorPtr error = xmlGetLastError(); \
++ const xmlError * error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -181,7 +181,7 @@ extern "C" {
+ */
+ #define xmlSecXmlParserError(errorFunction, ctxt, errorObject) \
+ { \
+- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
++ const xmlError * error = xmlCtxtGetLastError(ctxt);\
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -205,7 +205,7 @@ extern "C" {
+ */
+ #define xmlSecXmlParserError2(errorFunction, ctxt, errorObject, msg, param) \
+ { \
+- xmlErrorPtr error = xmlCtxtGetLastError(ctxt);\
++ const xmlError * error = xmlCtxtGetLastError(ctxt);\
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+@@ -227,7 +227,7 @@ extern "C" {
+ */
+ #define xmlSecXsltError(errorFunction, ctxt, errorObject) \
+ { \
+- xmlErrorPtr error = xmlGetLastError(); \
++ const xmlError * error = xmlGetLastError(); \
+ int code = (error != NULL) ? error->code : 0; \
+ const char* message = (error != NULL) ? error->message : NULL; \
+ xmlSecError(XMLSEC_ERRORS_HERE, \
+--- a/src/mscrypto/certkeys.c
++++ b/src/mscrypto/certkeys.c
+@@ -18,6 +18,7 @@
+ #include "globals.h"
+
+ #include <string.h>
++#include <stdlib.h>
+
+ #ifndef XMLSEC_NO_GOST
+ #include "csp_oid.h"
+--- a/src/mscrypto/signatures.c
++++ b/src/mscrypto/signatures.c
+@@ -17,6 +17,7 @@
+ #include "globals.h"
+
+ #include <string.h>
++#include <stdlib.h>
+
+ #ifndef XMLSEC_NO_GOST
+ #include "csp_calg.h"
+
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch b/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch
new file mode 100644
index 000000000000..ed4c9e0397b7
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch
@@ -0,0 +1,48 @@
+https://github.com/lsh123/xmlsec/pull/756
+https://github.com/lsh123/xmlsec/commit/de5251a8064231fbe6b9bccc669228cab4ab4ec7
+
+From de5251a8064231fbe6b9bccc669228cab4ab4ec7 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Tue, 30 Jan 2024 18:57:19 -0800
+Subject: [PATCH] configure.ac: fix the build with slibtool (#756)
+
+When building with LibreSSL or BoringSSL the build will try to link the
+$OPENSSL_LIBS with -Wl,-Bstatic, but this will fail when using slibtool
+if only dynamic libssl and libcrypto libraries are installed.
+
+ ld: cannot find -lssl: No such file or directory
+ ld: cannot find -lcrypto: No such file or directory
+
+With GNU libtool it will "helpfully" rearrange the linker output to
+obscure the issue.
+
+ -lssl -lcrypto -lxslt -lxml2 ../.libs/libxmlsec1.so -g -O2 -O -Wl,-Bstatic -Wl,-Bdynamic
+
+While with slibtool it will do as instructed and produce a build
+failure.
+
+ -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic -lxslt
+---
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ce8a278c..25e70b24 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -806,7 +806,6 @@ if test "z$OPENSSL_FOUND" = "zyes" ; then
+ #endif
+ ],[
+ OPENSSL_VERSION="LibreSSL >= 3.5"
+- OPENSSL_LIBS="-Wl,-Bstatic $OPENSSL_LIBS -Wl,-Bdynamic"
+ enable_dh=no
+ ],[
+ OPENSSL_VERSION=""
+@@ -824,7 +823,6 @@ if test "z$OPENSSL_FOUND" = "zyes" ; then
+ #endif
+ ],[
+ OPENSSL_VERSION="BoringSSL >= 1.1.1"
+- OPENSSL_LIBS="-Wl,-Bstatic $OPENSSL_LIBS -Wl,-Bdynamic"
+ enable_ripemd160=no
+ enable_dsa=no
+ enable_dh=no
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch b/dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch
new file mode 100644
index 000000000000..db3eae6c484a
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.3-typo-fix.patch
@@ -0,0 +1,25 @@
+https://github.com/lsh123/xmlsec/commit/8262167fbc56bce353949b9b18e01af7f7331e76
+
+From 8262167fbc56bce353949b9b18e01af7f7331e76 Mon Sep 17 00:00:00 2001
+From: Antoine Martin <dev@ayakael.net>
+Date: Sun, 14 Jan 2024 09:13:11 -0500
+Subject: [PATCH] Fix typo with xmlSecKeyDataEcGetKlass in app.h include (#755)
+
+---
+ include/xmlsec/app.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/xmlsec/app.h b/include/xmlsec/app.h
+index 4fe2a744..324561b9 100644
+--- a/include/xmlsec/app.h
++++ b/include/xmlsec/app.h
+@@ -85,7 +85,7 @@ XMLSEC_EXPORT xmlSecKeyDataId xmlSecKeyDataDsaGetKlass(void);
+ *
+ * The EC key klass.
+ */
+-#define xmlSecKeyDataEcId xmlSecKeyDataEcetKlass()
++#define xmlSecKeyDataEcId xmlSecKeyDataEcGetKlass()
+ XMLSEC_EXPORT xmlSecKeyDataId xmlSecKeyDataEcGetKlass(void);
+ /**
+ * xmlSecKeyDataGost2001Id:
+
diff --git a/dev-libs/xmlsec/metadata.xml b/dev-libs/xmlsec/metadata.xml
index 0b35867adc08..0f981c3c9b18 100644
--- a/dev-libs/xmlsec/metadata.xml
+++ b/dev-libs/xmlsec/metadata.xml
@@ -5,6 +5,7 @@
<use>
<flag name="gcrypt">Install xmlsec-gcrypt library</flag>
<flag name="gnutls">Install xmlsec-gnutls library</flag>
+ <flag name="http">Allow fetching over HTTP via libxml2.</flag>
<flag name="nss">Install xmlsec-nss library</flag>
<flag name="openssl">Install xmlsec-openssl library</flag>
</use>
diff --git a/dev-libs/xmlsec/xmlsec-1.2.36.ebuild b/dev-libs/xmlsec/xmlsec-1.2.36.ebuild
deleted file mode 100644
index 1baad4fce256..000000000000
--- a/dev-libs/xmlsec/xmlsec-1.2.36.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2022 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.37.ebuild b/dev-libs/xmlsec/xmlsec-1.2.37.ebuild
index 5fcaf6d0585d..65dfdf2c4a43 100644
--- a/dev-libs/xmlsec/xmlsec-1.2.37.ebuild
+++ b/dev-libs/xmlsec/xmlsec-1.2.37.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ S="${WORKDIR}/${PN}1-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+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 )
diff --git a/dev-libs/xmlsec/xmlsec-1.2.38.ebuild b/dev-libs/xmlsec/xmlsec-1.2.38.ebuild
new file mode 100644
index 000000000000..7db6d5418226
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.38.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc gcrypt gnutls nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gcrypt gnutls nss openssl )
+ gnutls? ( gcrypt )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4[ftp(+)]
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-2.8.0:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? (
+ dev-libs/openssl:=
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.37-libressl.patch # bug #903001
+)
+
+src_configure() {
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ $(use_enable doc docs) \
+ $(use_enable static-libs static) \
+ $(use_with gcrypt) \
+ $(use_with gnutls) \
+ $(use_with nss nspr) \
+ $(use_with nss) \
+ $(use_with openssl) \
+ --enable-mans \
+ --enable-pkgconfig
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.1.ebuild b/dev-libs/xmlsec/xmlsec-1.3.1.ebuild
new file mode 100644
index 000000000000..1508b3b8defa
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.2.ebuild b/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
new file mode 100644
index 000000000000..a64cafb9198d
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+ "${FILESDIR}"/${P}-libxml2-2.12.0-includes.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild b/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild
new file mode 100644
index 000000000000..079d34a4be68
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+ "${FILESDIR}"/${PN}-1.3.3-typo-fix.patch
+ "${FILESDIR}"/${PN}-1.3.3-slibtool.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.3.ebuild b/dev-libs/xmlsec/xmlsec-1.3.3.ebuild
new file mode 100644
index 000000000000..f0324bc08612
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.3.3.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+# Upstream consider major version bumps to be changes in either X or Y in X.Y.Z
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc gcrypt gnutls http nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gnutls nss openssl )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-3.6.13:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? ( dev-libs/openssl:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable static-libs static)
+ $(use_with gcrypt)
+ $(use_with gnutls)
+ $(use_with nss nspr)
+ $(use_with nss)
+ $(use_with openssl)
+
+ --disable-werror
+ --enable-mans
+ --enable-pkgconfig
+
+ --enable-concatkdf
+ --enable-pbkdf2
+ --enable-ec
+ --enable-dh
+ --enable-sha3
+
+ --enable-files
+ $(use_enable http)
+ --disable-ftp
+ )
+
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xxhash/Manifest b/dev-libs/xxhash/Manifest
index 1bc0dddf9299..be3b82a468e2 100644
--- a/dev-libs/xxhash/Manifest
+++ b/dev-libs/xxhash/Manifest
@@ -1,3 +1,2 @@
-DIST xxhash-0.7.3.tar.gz 126405 BLAKE2B 1304251c36a839f5d1b935c0633016222d6b517932d05b84d10ae8a3ee3fccd6cfd31d8e3768f033ca8adcbf2bb9728ffd6c4ccd7a9878ef59d289b49a497656 SHA512 72949010a267f063768241b182464c386005b4078f56902fee2f7804bd01f6c27878a6a4ec2a266cd59162934a7e471264ac5757dba570a97a2b5dad7703c664
-DIST xxhash-0.8.0.tar.gz 145909 BLAKE2B 3e4e715d20ad09da2fe706a69e89a305d9f4d19588a28361f519d424c002345ba76b48d5adc0b600e34e595fed20a1ce8b8c5f22457cb05c4233810e9af9b823 SHA512 c3973b3c98bad44e1d8687ab4f9461aecd1c071bb3d320537a4c50fb7301edd13e990bab48cc6e5ca30536a814c8fa8cac24ceb1803a7e8eca30ef73d449373e
DIST xxhash-0.8.1.tar.gz 171552 BLAKE2B c0efc1aabf68130d7028a6e43fb04826de4ec485bfb5e915bd9dad823149b970f964784e14c35babd46b9811b961ce3d0be49feb1640e00780decf037427f5fc SHA512 12feedd6a1859ef55e27218dbd6dcceccbb5a4da34cd80240d2f7d44cd246c7afdeb59830c2d5b90189bb5159293532208bf5bb622250102e12d6e1bad14a193
+DIST xxhash-0.8.2.tar.gz 1141188 BLAKE2B 735408256240760778fa516e01bed428f04837eb4e059c512e924f13e4a96db6cacbbefb04dea65a37b0f25b52cf13c4927a6e7870dc8c0d45b1b955d4ba3da1 SHA512 3e3eef21432fe88bc4dd9940ccad0308fdea3537b06fa5ac0e74c1bde53413dff29c8b3fc617a8a42b9ce88fcf213311d338a31b1ce73b3729342c9e68f06c78
diff --git a/dev-libs/xxhash/xxhash-0.7.3.ebuild b/dev-libs/xxhash/xxhash-0.7.3.ebuild
deleted file mode 100644
index fbebd117c825..000000000000
--- a/dev-libs/xxhash/xxhash-0.7.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
-HOMEPAGE="http://www.xxhash.net"
-SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2 GPL-2+"
-# https://abi-laboratory.pro/tracker/timeline/xxhash
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="static-libs"
-
-S="${WORKDIR}/xxHash-${PV}"
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- MANDIR="${EPREFIX}/usr/share/man/man1" \
- emake DESTDIR="${D}" install
-
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
- fi
-}
diff --git a/dev-libs/xxhash/xxhash-0.8.0.ebuild b/dev-libs/xxhash/xxhash-0.8.0.ebuild
deleted file mode 100644
index fbebd117c825..000000000000
--- a/dev-libs/xxhash/xxhash-0.8.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
-HOMEPAGE="http://www.xxhash.net"
-SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2 GPL-2+"
-# https://abi-laboratory.pro/tracker/timeline/xxhash
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="static-libs"
-
-S="${WORKDIR}/xxHash-${PV}"
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- MANDIR="${EPREFIX}/usr/share/man/man1" \
- emake DESTDIR="${D}" install
-
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
- fi
-}
diff --git a/dev-libs/xxhash/xxhash-0.8.1.ebuild b/dev-libs/xxhash/xxhash-0.8.1.ebuild
index e013ac9db7fc..4d0291f43540 100644
--- a/dev-libs/xxhash/xxhash-0.8.1.ebuild
+++ b/dev-libs/xxhash/xxhash-0.8.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="BSD-2 GPL-2+"
# https://abi-laboratory.pro/tracker/timeline/xxhash
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="static-libs"
S="${WORKDIR}/xxHash-${PV}"
diff --git a/dev-libs/xxhash/xxhash-0.8.2.ebuild b/dev-libs/xxhash/xxhash-0.8.2.ebuild
new file mode 100644
index 000000000000..f2f3bd70047b
--- /dev/null
+++ b/dev-libs/xxhash/xxhash-0.8.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs
+
+DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
+HOMEPAGE="https://xxhash.com/"
+SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/xxHash-${PV}
+
+LICENSE="BSD-2 GPL-2+"
+# https://abi-laboratory.pro/tracker/timeline/xxhash
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+src_prepare() {
+ default
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)"
+}
+
+multilib_src_test() {
+ emake CC="$(tc-getCC)" check
+}
+
+multilib_src_install() {
+ local emakeargs=(
+ DESTDIR="${D}"
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ emake "${emakeargs[@]}" install
+ einstalldocs
+
+ rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
+}
diff --git a/dev-libs/yajl/Manifest b/dev-libs/yajl/Manifest
index 5dcdd7a78075..881c0c515330 100644
--- a/dev-libs/yajl/Manifest
+++ b/dev-libs/yajl/Manifest
@@ -1 +1,2 @@
+DIST yajl-2.1.0-r5.tar.gz 83997 BLAKE2B 755ee1d9f8c59b730393468722dae9148cd63443a0c91f0e1894f5998b699303920b8f0748541bd280d132ee1c9dedd40ebc2a7e020a8fe65beb186f25af5402 SHA512 9e786d080803df80ec03a9c2f447501e6e8e433a6baf636824bc1d50ecf4f5f80d7dfb1d47958aeb0a30fe459bd0ef033d41bc6a79e1dc6e6b5eade930b19b02
DIST yajl-2.1.0.tar.gz 84039 BLAKE2B 53cfa60994a478050ef1ab35ecfe60cc51f166bc101ee81f42122b134cc30afd1277c3c2661f5c03dc8c8117fcfdaab8ec7c6d735a6810ea4700f1afaea60e1a SHA512 671c06081e01584d170b614dc0685f49c6d7448b673d8ed99749ce4e0ca73875af9f62df7787b919ceaecab213668ac1d2a5800b6831731ec146353552f36985
diff --git a/dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch b/dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch
new file mode 100644
index 000000000000..da059c405393
--- /dev/null
+++ b/dev-libs/yajl/files/yajl-2.1.0-memory-leak.patch
@@ -0,0 +1,23 @@
+From 23a122eddaa28165a6c219000adcc31ff9a8a698 Mon Sep 17 00:00:00 2001
+From: "zhang.jiujiu" <282627424@qq.com>
+Date: Tue, 7 Dec 2021 22:37:02 +0800
+Subject: [PATCH] fix memory leaks
+
+---
+ src/yajl_tree.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/yajl_tree.c b/src/yajl_tree.c
+index b9e66043..0e7bde98 100644
+--- a/src/yajl_tree.c
++++ b/src/yajl_tree.c
+@@ -456,6 +456,9 @@ yajl_val yajl_tree_parse (const char *input,
+ yajl_tree_free(v);
+ }
+ yajl_free (handle);
++ //If the requested memory is not released in time, it will cause memory leakage
++ if(ctx.root)
++ yajl_tree_free(ctx.root);
+ return NULL;
+ }
+
diff --git a/dev-libs/yajl/yajl-2.1.0-r3.ebuild b/dev-libs/yajl/yajl-2.1.0-r3.ebuild
deleted file mode 100644
index 3cb6553d6f16..000000000000
--- a/dev-libs/yajl/yajl-2.1.0-r3.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-multilib
-
-DESCRIPTION="Small event-driven (SAX-style) JSON parser"
-HOMEPAGE="https://lloyd.github.com/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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
-
-PATCHES=(
- "${FILESDIR}"/${P}-uclibc.patch # git master 5d4bf525
- "${FILESDIR}"/${P}-pkg-config.patch # downstream
-)
-
-src_prepare() {
- cmake_src_prepare
- multilib_copy_sources
-}
-
-multilib_src_test() {
- cd "${S}"/test/parsing || die
- ./run_tests.sh "${BUILD_DIR}"/test/parsing/yajl_test || die
-}
-
-src_install() {
- cmake-multilib_src_install
- find "${D}" -name libyajl_s.a -delete || die
-}
diff --git a/dev-libs/yajl/yajl-2.1.0-r4.ebuild b/dev-libs/yajl/yajl-2.1.0-r4.ebuild
new file mode 100644
index 000000000000..85befd906892
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.1.0-r4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib multibuild
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="https://lloyd.github.io/yajl/"
+SRC_URI="https://github.com/lloyd/yajl/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/lloyd-yajl-66cb08c"
+
+LICENSE="ISC"
+SLOT="0/2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-uclibc.patch # git master 5d4bf525
+ "${FILESDIR}"/${P}-pkg-config.patch # downstream
+ "${FILESDIR}"/${P}-memory-leak.patch # Bug 908036
+)
+
+src_prepare() {
+ cmake_src_prepare
+ multilib_copy_sources
+}
+
+multilib_src_test() {
+ cd "${S}"/test/parsing || die
+ ./run_tests.sh "${BUILD_DIR}"/test/parsing/yajl_test || die
+}
+
+src_install() {
+ cmake-multilib_src_install
+ find "${D}" -name libyajl_s.a -delete || die
+}
diff --git a/dev-libs/yajl/yajl-2.1.0-r5.ebuild b/dev-libs/yajl/yajl-2.1.0-r5.ebuild
new file mode 100644
index 000000000000..90df828dd9c3
--- /dev/null
+++ b/dev-libs/yajl/yajl-2.1.0-r5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib multibuild
+
+DESCRIPTION="Small event-driven (SAX-style) JSON parser"
+HOMEPAGE="https://lloyd.github.io/yajl/"
+SRC_URI="https://github.com/lloyd/yajl/archive/refs/tags/${PV}.tar.gz -> ${P}-r5.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-uclibc.patch # git master 5d4bf525
+ "${FILESDIR}"/${P}-pkg-config.patch # downstream
+ "${FILESDIR}"/${P}-memory-leak.patch # Bug 908036
+)
+
+src_prepare() {
+ cmake_src_prepare
+ multilib_copy_sources
+}
+
+multilib_src_test() {
+ cd "${S}"/test/parsing || die
+ ./run_tests.sh "${BUILD_DIR}"/test/parsing/yajl_test || die
+}
+
+src_install() {
+ cmake-multilib_src_install
+ find "${D}" -name libyajl_s.a -delete || die
+}
diff --git a/dev-libs/yascreen/Manifest b/dev-libs/yascreen/Manifest
deleted file mode 100644
index 1c4276397e24..000000000000
--- a/dev-libs/yascreen/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST yascreen-1.86.tar.xz 26104 BLAKE2B 4716c1eb2a41468fbb0ecbcda7c34a031d97f5292632501ce4c9740de071f8c39e1c7d9f0f8f6c5fbdccaef5908e3751b25ebc7e0c6dab3dff63b2a99f12eefa SHA512 dce785c477395b0c78c5054682dd8ccfbe3243ede966300c3e95e25fac6320f820aa1f0a3b2ce37544b3b45adb94eccccaf32187b145cd2bba43367e166b9e7c
-DIST yascreen-1.92.tar.xz 27624 BLAKE2B 8450d2f3d7f35b0bfa994869d71343f7c4e7c78ad5e73bbfb5c2a9a7ef1ba67deed469720b3aed8af5f841b65ea8c17456866bb9c98d6750957a74800e245e34 SHA512 f884e6ad9a0cd3410323bd0bf544f006e719a021a6a04063d6f0712d73893579098f7d00c91b8d85dadff8f9136389e0f7b5831a2b52595ef6a7f1dbb30d5244
diff --git a/dev-libs/yascreen/files/yascreen-1.86-fix-install.patch b/dev-libs/yascreen/files/yascreen-1.86-fix-install.patch
deleted file mode 100644
index 0e584bb0ece9..000000000000
--- a/dev-libs/yascreen/files/yascreen-1.86-fix-install.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Boian Bonev <bbonev@ipacct.com>
-Date: Tue, 21 Sep 2021 03:36:23 +0300
-Subject: [PATCH] fix problems with install
-
---- a/Makefile.main
-+++ b/Makefile.main
-@@ -108,12 +108,12 @@ yascreen.pc: yascreen.pc.in
-
- install: libyascreen.a libyascreen.so yascreen.pc yascreen.3
- $(INSTALL) -Ds -m 644 -t $(DESTDIR)$(PREFIX)$(LIBDIR) libyascreen.a
-- $(INSTALL) -Ds -m 644 -t $(DESTDIR)$(PREFIX)$(LIBDIR)/pkgconfig/ yascreen.pc
-+ $(INSTALL) -D -m 644 -t $(DESTDIR)$(PREFIX)$(LIBDIR)/pkgconfig/ yascreen.pc
- ln -fs libyascreen.so.$(SOVERF) $(DESTDIR)$(PREFIX)$(LIBDIR)libyascreen.so.$(SOVERM)
- ln -fs libyascreen.so.$(SOVERM) $(DESTDIR)$(PREFIX)$(LIBDIR)libyascreen.so
- $(INSTALL) -Ds -m 644 -s -t $(DESTDIR)$(PREFIX)$(LIBDIR) libyascreen.so.$(SOVERF)
-- $(INSTALL) -Ds -m 644 -t $(DESTDIR)$(PREFIX)$(INCDIR) yascreen.h
-- $(INSTALL) -TDs -m 0644 yascreen.3 $(DESTDIR)$(PREFIX)/share/man/man3/yascreen.3
-+ $(INSTALL) -D -m 644 -t $(DESTDIR)$(PREFIX)$(INCDIR) yascreen.h
-+ $(INSTALL) -TD -m 0644 yascreen.3 $(DESTDIR)$(PREFIX)/share/man/man3/yascreen.3
-
- clean:
- rm -f yastest yastest.shared yastest.o yascreen.o libyascreen.a libyascreen.so libyascreen.so.$(SOVERM) libyascreen.so.$(SOVERF) yascreen.pc
diff --git a/dev-libs/yascreen/metadata.xml b/dev-libs/yascreen/metadata.xml
deleted file mode 100644
index a08688b11e34..000000000000
--- a/dev-libs/yascreen/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>arthurzam@gentoo.org</email>
- <name>Arthur Zamarin</name>
- </maintainer>
- <upstream>
- <remote-id type="github">bbonev/yascreen</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/yascreen/yascreen-1.86-r1.ebuild b/dev-libs/yascreen/yascreen-1.86-r1.ebuild
deleted file mode 100644
index 6ce556efe3ab..000000000000
--- a/dev-libs/yascreen/yascreen-1.86-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="Yet Another Screen Library - curses replacement"
-HOMEPAGE="https://github.com/bbonev/yascreen"
-SRC_URI="https://github.com/bbonev/yascreen/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-install.patch"
-)
-
-src_prepare() {
- default
- sed -e '/INSTALL/s/-Ds/-D/' \
- -e '/INSTALL/s/-s//' \
- -e "s:/usr/local:${EPREFIX}/usr:" \
- -e "s:/lib/:/$(get_libdir)/:" \
- -i Makefile.main || die
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" NO_FLTO=1
-}
-
-src_install() {
- default
- find "${D}" -name '*.a' -delete || die
-}
diff --git a/dev-libs/yascreen/yascreen-1.92.ebuild b/dev-libs/yascreen/yascreen-1.92.ebuild
deleted file mode 100644
index 8435b7154827..000000000000
--- a/dev-libs/yascreen/yascreen-1.92.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="Yet Another Screen Library - curses replacement"
-HOMEPAGE="https://github.com/bbonev/yascreen"
-SRC_URI="https://github.com/bbonev/yascreen/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-3+"
-SLOT="0/1"
-KEYWORDS="~amd64 ~x86"
-
-src_prepare() {
- default
- sed -e '/INSTALL/s/-Ds/-D/' \
- -e '/INSTALL.*libyascreen.a/d' -e 's/libyascreen.a//' -i Makefile.main || die
- grep -q -F "SOVERM:=1" Makefile.main || die "subslot changed"
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" PREFIX="${EPREFIX}/usr" LIBDIR="/$(get_libdir)/" NO_FLTO=1
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" LIBDIR="/$(get_libdir)/" install
- einstalldocs
-}
diff --git a/dev-libs/yaz/Manifest b/dev-libs/yaz/Manifest
index 30ab494d9152..aada9f520b75 100644
--- a/dev-libs/yaz/Manifest
+++ b/dev-libs/yaz/Manifest
@@ -1,2 +1,2 @@
-DIST yaz-3.0.53.tar.gz 2164681 BLAKE2B e42a97d63e031f14234258c7c44735a615ebc83774c1532d7e1b50f1f231dc933168e41a1b35a139ec193e694f6253336a666daad627a4aae9a0c7ffe34ca360 SHA512 537d54757e401c1b29ad2120209b2cd038f26ff7f43ffc3c1e22808e12a1580aedee3880478e951fd4b3057ca9af4a34afa2a64c0b8ffcbec24f76deb83ddc89
DIST yaz-5.32.0.tar.gz 2607933 BLAKE2B 9119b77a262ef2d6f0b1140425384575218a5b93cbe50a716bb254b07e2427eaad55de3c4590d0d6843af31b987b201fa733fdf010e463648a35b5600d055d5a SHA512 a4d40b5c20b1d4acab0e687235eda361fe0550c00396f6aa26d1965d2ecdd217433ba65160eda07fcc4c263d9e2e47b607e4b668412f81123b2904b9deece763
+DIST yaz-5.34.0.tar.gz 2656382 BLAKE2B 7a16974dc815c1121aaea4179843a6982600a0491c8c95a03f28cf0c68725b986ebc39049e2159cd0d105b23811d35ae3d3538a83e945b64951cc9215efe7f3d SHA512 0c835b98b4640e077459c9ead8043cea941a75f39dace9501efbb56c38837b1525349b8668c135ac0753ba7a4803e38d9c90d7bf3f6f2951c0e7e863b4c51f65
diff --git a/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch b/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch
deleted file mode 100644
index dd78635e013e..000000000000
--- a/dev-libs/yaz/files/yaz-3.0.47-icu-automagic.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -367,14 +367,14 @@
-
- dnl
- dnl
--AC_CHECK_ICU([3.4],[
-- if test "$xml_enabled" = "true"; then
-- ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"
-- else
-- ICU_CPPFLAGS=""
-- AC_MSG_WARN([ICU support disabled because XML support is unavailable])
-- fi
--])
-+dnl ------ ICU
-+AC_ARG_ENABLE(icu, [ --enable-icu enable ICU support],[enable_icu=$enableval],[enable_icu=no])
-+if test "$enable_icu" = "yes"; then
-+ AC_CHECK_ICU([3.4],[
-+ ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1"],[
-+ AC_MSG_ERROR([For ICU support please install libicu34-dev or similar])
-+ ])
-+fi
- dnl
- dnl ------ Memory debugging
- AC_ARG_ENABLE([memdebug],[ --enable-memdebug enable memory debugging],[enable_memdebug=$enableval],[enable_memdebug=none])
diff --git a/dev-libs/yaz/files/yaz-5.34.0-fix-atoi-header.patch b/dev-libs/yaz/files/yaz-5.34.0-fix-atoi-header.patch
new file mode 100644
index 000000000000..c68b85c7017e
--- /dev/null
+++ b/dev-libs/yaz/files/yaz-5.34.0-fix-atoi-header.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/923291
+https://github.com/indexdata/yaz/issues/104
+https://github.com/indexdata/yaz/pull/105
+
+From 3c61afce2c2517369c2bf1ba6846ff17f81c4b18 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Tue, 21 Nov 2023 23:47:18 +0900
+Subject: [PATCH] FIX: fix build error with glibc 2.39
+
+glibc 2.39 does some refactoring for header file inclusion
+and some additional header inclusion is needed for yaz
+source.
+
+Closes #104 .
+--- a/src/record_conv.c
++++ b/src/record_conv.c
+@@ -11,6 +11,7 @@
+ #include <config.h>
+ #endif
+
++#include <stdlib.h>
+ #include <string.h>
+ #include <yaz/log.h>
+ #include <yaz/yaz-iconv.h>
+--- a/src/xmlquery.c
++++ b/src/xmlquery.c
+@@ -10,6 +10,7 @@
+ #endif
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <assert.h>
+
+--- a/test/test_record_conv.c
++++ b/test/test_record_conv.c
+@@ -9,6 +9,7 @@
+ #include <yaz/record_conv.h>
+ #include <yaz/test.h>
+ #include <yaz/wrbuf.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <yaz/log.h>
+ #include <yaz/proto.h>
+--- a/test/test_retrieval.c
++++ b/test/test_retrieval.c
+@@ -9,6 +9,7 @@
+ #include <yaz/retrieval.h>
+ #include <yaz/test.h>
+ #include <yaz/wrbuf.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <yaz/log.h>
+ #include <yaz/oid_db.h>
diff --git a/dev-libs/yaz/files/yaz-5.34.0-fix-libxml2-2.12.patch b/dev-libs/yaz/files/yaz-5.34.0-fix-libxml2-2.12.patch
new file mode 100644
index 000000000000..379d15e4ab2d
--- /dev/null
+++ b/dev-libs/yaz/files/yaz-5.34.0-fix-libxml2-2.12.patch
@@ -0,0 +1,108 @@
+https://bugs.gentoo.org/917537
+https://github.com/indexdata/yaz/issues/102
+https://github.com/indexdata/yaz/pull/103
+
+From b10643c42ea64b1ee09fe53aec2490129f903bcb Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Tue, 21 Nov 2023 23:39:48 +0900
+Subject: [PATCH] FIX: fix build error with libxml2 2.12.0
+
+libxml2 2.12.0 changed which header file to define functions
+and header inclusion. Due to this refactoring, some yaz source
+files need additional inclusion of libxml2 header file,
+especially for libxml/parser.h .
+
+Closes #102 .
+--- a/client/client.c
++++ b/client/client.c
+@@ -73,6 +73,10 @@
+ #include <readline/history.h>
+ #endif
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
++
+
+ #include "admin.h"
+ #include "tabcomplete.h"
+--- a/src/record_render.c
++++ b/src/record_render.c
+@@ -23,6 +23,7 @@
+ #include <yaz/base64.h>
+
+ #if YAZ_HAVE_XML2
++#include <libxml/parser.h>
+ #include <libxml/xpath.h>
+ #include <libxml/xpathInternals.h>
+ #endif
+--- a/test/test_ccl.c
++++ b/test/test_ccl.c
+@@ -11,6 +11,9 @@
+ #include <yaz/log.h>
+ #include <yaz/test.h>
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
+
+ static int tst_ccl_query(CCL_bibset bibset,
+ const char *query,
+--- a/test/test_icu.c
++++ b/test/test_icu.c
+@@ -28,6 +28,7 @@
+ #endif
+
+ #if YAZ_HAVE_XML2
++#include <libxml/parser.h>
+ #include <libxml/xmlmemory.h>
+ #endif
+
+--- a/test/test_xml_include.c
++++ b/test/test_xml_include.c
+@@ -12,6 +12,9 @@
+
+ #include <yaz/xml_include.h>
+ #include <yaz/test.h>
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
+
+ static void tst_xml_include1(void)
+ {
+--- a/util/cclsh.c
++++ b/util/cclsh.c
+@@ -20,6 +20,9 @@
+ #include <readline/history.h>
+ #endif
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
+
+ static int debug = 0;
+ static char *prog;
+--- a/util/yaz-icu.c
++++ b/util/yaz-icu.c
+@@ -17,6 +17,8 @@
+
+ #if YAZ_HAVE_ICU
+
++#include <libxml/parser.h>
++
+ #include <unicode/ucnv.h>
+ #include <unicode/ustring.h>
+ #include <unicode/ucol.h>
+--- a/util/yaz-record-conv.c
++++ b/util/yaz-record-conv.c
+@@ -13,6 +13,10 @@
+ #include <yaz/record_conv.h>
+ #include <yaz/backtrace.h>
+
++#if YAZ_HAVE_XML2
++#include <libxml/parser.h>
++#endif
++
+ const char *prog = "yaz-record-conv";
+
+ static void usage(void)
diff --git a/dev-libs/yaz/yaz-3.0.53.ebuild b/dev-libs/yaz/yaz-3.0.53.ebuild
deleted file mode 100644
index ded4ba65e435..000000000000
--- a/dev-libs/yaz/yaz-3.0.53.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="C/C++ toolkit for Z39.50v3 clients and servers"
-HOMEPAGE="https://www.indexdata.com/resources/software/yaz/"
-SRC_URI="https://ftp.indexdata.com/pub/${PN}/${P}.tar.gz"
-
-LICENSE="BSD GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86"
-IUSE="debug icu gnutls tcpd ziffy"
-
-RDEPEND="
- dev-libs/libxml2
- dev-libs/libxslt
- sys-libs/readline:=
- sys-libs/ncurses:=
- virtual/libintl
- !gnutls? ( dev-libs/openssl:0= )
- gnutls? ( net-libs/gnutls:= )
- icu? ( dev-libs/icu:= )
- tcpd? ( sys-apps/tcp-wrappers )
- ziffy? ( net-libs/libpcap )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-lang/tcl:0
- sys-devel/bison
- >=sys-devel/libtool-2
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.47-icu-automagic.patch
-)
-
-src_prepare() {
- default
- AT_M4DIR="m4" eautoreconf
-}
-
-src_configure() {
- econf \
- --enable-static \
- --enable-shared \
- $(use_enable debug memdebug) \
- $(use_with gnutls) \
- $(use_enable icu) \
- $(use_enable tcpd tcpd /usr)
-}
-
-src_install() {
- local docdir="/usr/share/doc/${PF}"
- emake DESTDIR="${D}" docdir="${EPREFIX}/${docdir}" install
-
- dodir "${docdir}"/html
- mv -f "${ED}"/${docdir}/*.{html,png} "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
- mv -f "${ED}"/usr/share/doc/${PN}/common "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
- rm -rf "${ED}"/usr/share/doc/${PN} || die
-
- dodoc ChangeLog NEWS README
-}
diff --git a/dev-libs/yaz/yaz-5.32.0.ebuild b/dev-libs/yaz/yaz-5.32.0.ebuild
index b6f7992e0942..1b8c5ff2c9e8 100644
--- a/dev-libs/yaz/yaz-5.32.0.ebuild
+++ b/dev-libs/yaz/yaz-5.32.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -35,8 +35,8 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-lang/tcl:0
- sys-devel/bison
- >=sys-devel/libtool-2
+ app-alternatives/yacc
+ >=dev-build/libtool-2
virtual/pkgconfig
"
diff --git a/dev-libs/yaz/yaz-5.34.0.ebuild b/dev-libs/yaz/yaz-5.34.0.ebuild
new file mode 100644
index 000000000000..1e2b41c93c32
--- /dev/null
+++ b/dev-libs/yaz/yaz-5.34.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C/C++ toolkit for Z39.50v3 clients and servers"
+HOMEPAGE="https://www.indexdata.com/resources/software/yaz/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/indexdata/yaz.git"
+else
+ SRC_URI="https://ftp.indexdata.com/pub/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86"
+fi
+
+LICENSE="BSD GPL-2"
+SLOT="0/5"
+IUSE="gnutls tcpd ziffy"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/libxml2
+ dev-libs/libxslt
+ sys-libs/readline:=
+ sys-libs/ncurses:=
+ virtual/libintl
+ !gnutls? ( dev-libs/openssl:0= )
+ gnutls? ( net-libs/gnutls:= )
+ tcpd? ( sys-apps/tcp-wrappers )
+ ziffy? ( net-libs/libpcap )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/tcl:0
+ app-alternatives/yacc
+ >=dev-build/libtool-2
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/yaz-5.34.0-fix-atoi-header.patch
+ "${FILESDIR}"/yaz-5.34.0-fix-libxml2-2.12.patch
+)
+
+src_prepare() {
+ default
+
+ # Hardcoded assumption of libraries residing in lib/, bug #730016
+ sed -i -e "s|/lib\"|/$(get_libdir)\"|" configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-shared \
+ $(use_with gnutls) \
+ $(use_enable tcpd tcpd /usr)
+}
+
+src_install() {
+ local docdir="/usr/share/doc/${PF}"
+ emake DESTDIR="${D}" docdir="${EPREFIX}/${docdir}" install
+
+ find "${D}" -name '*.la' -delete || die
+
+ dodir "${docdir}"/html
+ mv -f "${ED}"/${docdir}/*.{html,png} "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
+ mv -f "${ED}"/usr/share/doc/${PN}/common "${ED}"/${docdir}/html/ || die "Failed to move HTML docs"
+ rm -rf "${ED}"/usr/share/doc/${PN} || die
+
+ dodoc ChangeLog NEWS
+}
diff --git a/dev-libs/yyjson/Manifest b/dev-libs/yyjson/Manifest
new file mode 100644
index 000000000000..22647289c4ba
--- /dev/null
+++ b/dev-libs/yyjson/Manifest
@@ -0,0 +1,2 @@
+DIST yyjson-0.8.0.tar.gz 1529369 BLAKE2B b76acfbc48a3520129c5ecffd61b5eb06a1a0103b09e31cf45ead6ddb9876c30c0d096e104bb73a57c128b42fa9b5dd7af700144d61dd51e2ac14f188e5e5195 SHA512 3872b46930fd0f4d659004a4d08cdb1c506ccc2bf2888f5ee50523929a2b72f9d8e72ee71dc958ebca630f1886858d4350521bffc18c300a27d25436833384a9
+DIST yyjson-0.9.0.tar.gz 1531794 BLAKE2B 070b9921dbe897d345bae4fa653b48ec38a0d7a0b27a7dba476b7c62d18f0d0b79484d7a66e1fb80b0885a6ebf78a9e3a21240407736ae5106cbbc5a9bc5a677 SHA512 4b9ca85096ccfe2f513a5869eb63b175f44c67785940e02414f6a586d7dd7b772fed77a1775d9416a5f1bf17f20e18a31f0dc4e65be263019d9b95bf95366219
diff --git a/dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch b/dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch
new file mode 100644
index 000000000000..5dd1aacbfca7
--- /dev/null
+++ b/dev-libs/yyjson/files/yyjson-0.7.0-disable-werror.patch
@@ -0,0 +1,12 @@
+Upstream sets -Werror by default, this is not recommended in Gentoo.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -325,7 +325,6 @@
+ set(YYJSON_BASE_FLAGS
+ -pedantic
+ -pedantic-errors
+- -Werror
+ -Wall
+ -Wextra
+ -Wconversion
diff --git a/dev-libs/yyjson/metadata.xml b/dev-libs/yyjson/metadata.xml
new file mode 100644
index 000000000000..e0e600014091
--- /dev/null
+++ b/dev-libs/yyjson/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ceamac@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ibireme/yyjson</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/yyjson/yyjson-0.8.0.ebuild b/dev-libs/yyjson/yyjson-0.8.0.ebuild
new file mode 100644
index 000000000000..d59a980f33bf
--- /dev/null
+++ b/dev-libs/yyjson/yyjson-0.8.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fast JSON library in C"
+HOMEPAGE="https://github.com/ibireme/yyjson https://ibireme.github.io/yyjson/doc/doxygen/html/"
+SRC_URI="https://github.com/ibireme/yyjson/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT test? ( BSD )"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
+
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DYYJSON_BUILD_DOC=$(usex doc)
+ -DYYJSON_BUILD_TESTS=$(usex test)
+ -DYYJSON_ENABLE_VALGRIND=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doxygen/html
+}
diff --git a/dev-libs/yyjson/yyjson-0.9.0.ebuild b/dev-libs/yyjson/yyjson-0.9.0.ebuild
new file mode 100644
index 000000000000..d9b3e44def4d
--- /dev/null
+++ b/dev-libs/yyjson/yyjson-0.9.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fast JSON library in C"
+HOMEPAGE="https://github.com/ibireme/yyjson https://ibireme.github.io/yyjson/doc/doxygen/html/"
+SRC_URI="https://github.com/ibireme/yyjson/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT test? ( BSD )"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DYYJSON_BUILD_DOC=$(usex doc)
+ -DYYJSON_BUILD_TESTS=$(usex test)
+ -DYYJSON_ENABLE_VALGRIND=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doxygen/html
+}
diff --git a/dev-libs/zix/Manifest b/dev-libs/zix/Manifest
new file mode 100644
index 000000000000..00107cd0259d
--- /dev/null
+++ b/dev-libs/zix/Manifest
@@ -0,0 +1 @@
+DIST zix-0.4.2.tar.xz 76492 BLAKE2B 46d9e3049632abe8fe60928fa4d27ab5a94e86549dbde999c8215f951fe6f70f29124c89de9639c07a3bfb06da6ce902ea2a59f431ea6015d2c7a38df2f6eff6 SHA512 b8fb931a3e9ab5a67f6da57a07bf10b91e7f861c8cf39db14c49c083a9983a0971cc6bc6abcb54a83c00471b386e377cb9bb51e2edd945ba07b9ae43a35964cc
diff --git a/dev-libs/zix/metadata.xml b/dev-libs/zix/metadata.xml
new file mode 100644
index 000000000000..2880a8c8adec
--- /dev/null
+++ b/dev-libs/zix/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>proaudio@gentoo.org</email>
+ <name>Gentoo ProAudio Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">drobilla/zix</remote-id>
+ <remote-id type="github">drobilla/zix</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/zix/zix-0.4.2.ebuild b/dev-libs/zix/zix-0.4.2.ebuild
new file mode 100644
index 000000000000..23580187808d
--- /dev/null
+++ b/dev-libs/zix/zix-0.4.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="Lightweight C library of portability wrappers and data structures"
+#HOMEPAGE="https://drobilla.net/software/zix.html"
+HOMEPAGE="https://gitlab.com/drobilla/zix"
+SRC_URI="https://download.drobilla.net/${P}.tar.xz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen
+ dev-python/sphinx
+ dev-python/sphinx-lv2-theme
+ dev-python/sphinxygen
+ )
+"
+
+src_prepare() {
+ default
+
+ # fix doc installation path
+ sed -i "s/versioned_name/'${PF}'/g" doc/html/meson.build doc/singlehtml/meson.build || die
+}
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature doc docs)
+ $(meson_feature test tests)
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install_all() {
+ local DOCS=( NEWS README.md )
+ einstalldocs
+}
diff --git a/dev-libs/zlog/Manifest b/dev-libs/zlog/Manifest
deleted file mode 100644
index b0e5119e6d23..000000000000
--- a/dev-libs/zlog/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST zlog-v1.2.15.tar.gz 124794 BLAKE2B a60ef362269d48672c7f0f4321b6c4f50241c7c1abcc2c3a3a888d7838018edaba103cbb985fda02db719dcb8553bad3f84bfd715f3fdb34ad64557107d24e44 SHA512 88c741b58e7857c573e4da0b3999a23c00d339e45eb4f7d3e07c03dbe8ebf4cae62720208c9759871969bb4959d2f081b6a8955e229d3872f99cde3e650702e4
diff --git a/dev-libs/zlog/files/zlog_no_static_lib.patch b/dev-libs/zlog/files/zlog_no_static_lib.patch
deleted file mode 100644
index f2ad8c65a126..000000000000
--- a/dev-libs/zlog/files/zlog_no_static_lib.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- a/src/makefile 2020-06-05 15:29:43.926423440 +0200
-+++ b/src/makefile 2020-06-05 15:30:26.266501492 +0200
-@@ -43,8 +43,6 @@
- DYLIB_MAJOR_NAME=$(LIBNAME).$(DYLIBSUFFIX).$(ZLOG_MAJOR)
- DYLIBNAME=$(LIBNAME).$(DYLIBSUFFIX)
- DYLIB_MAKE_CMD=$(CC) -shared -Wl,-soname,$(DYLIB_MINOR_NAME) -o $(DYLIBNAME) $(LDFLAGS)
--STLIBNAME=$(LIBNAME).$(STLIBSUFFIX)
--STLIB_MAKE_CMD=ar rcs $(STLIBNAME)
-
- # Installation related variables
- PREFIX?=/usr/local
-@@ -78,7 +76,6 @@
- # not to mention dynamic linker .a preference...
- DYLIB_MAKE_CMD=$(CC) -shared -Wl,-G,-b64 -maix64 -pthread -o $(DYLIBNAME) $(LDFLAGS)
- REAL_CFLAGS+= -maix64
-- STLIB_MAKE_CMD=OBJECT_MODE=64 ar rcs $(STLIBNAME) $(DYLIB_MAJOR_NAME)
- endif
-
- all: $(DYLIBNAME) $(BINS)
-@@ -139,21 +136,17 @@
- cp -f $(DYLIBNAME) $(DYLIB_MAJOR_NAME)
- cp -f $(DYLIBNAME) $(DYLIB_MINOR_NAME)
-
--$(STLIBNAME): $(OBJ)
-- $(STLIB_MAKE_CMD) $(OBJ)
--
- dynamic: $(DYLIBNAME)
--static: $(STLIBNAME)
-
- # Binaries:
--zlog-chk-conf: zlog-chk-conf.o $(STLIBNAME) $(DYLIBNAME)
-+zlog-chk-conf: zlog-chk-conf.o $(DYLIBNAME)
- $(CC) -o $@ zlog-chk-conf.o -L. -lzlog $(REAL_LDFLAGS)
-
- .c.o:
- $(CC) -std=c99 -pedantic -c $(REAL_CFLAGS) $<
-
- clean:
-- rm -rf $(DYLIBNAME) $(STLIBNAME) $(BINS) *.o *.gcda *.gcno *.gcov $(DYLIB_MINOR_NAME) $(DYLIB_MAJOR_NAME)
-+ rm -rf $(DYLIBNAME) $(BINS) *.o *.gcda *.gcno *.gcov $(DYLIB_MINOR_NAME) $(DYLIB_MAJOR_NAME)
-
- dep:
- $(CC) -MM *.c
-@@ -171,14 +164,13 @@
-
- INSTALL?= cp -a
-
--install: $(DYLIBNAME) $(STLIBNAME)
-+install: $(DYLIBNAME)
- mkdir -p $(INSTALL_INCLUDE_PATH) $(INSTALL_LIBRARY_PATH) $(INSTALL_BINARY_PATH)
- $(INSTALL) zlog.h $(INSTALL_INCLUDE_PATH)
- $(INSTALL) zlog-chk-conf $(INSTALL_BINARY_PATH)
- $(INSTALL) $(DYLIBNAME) $(INSTALL_LIBRARY_PATH)/$(DYLIB_MINOR_NAME)
- cd $(INSTALL_LIBRARY_PATH) && ln -sf $(DYLIB_MINOR_NAME) $(DYLIB_MAJOR_NAME)
- cd $(INSTALL_LIBRARY_PATH) && ln -sf $(DYLIB_MAJOR_NAME) $(DYLIBNAME)
-- $(INSTALL) $(STLIBNAME) $(INSTALL_LIBRARY_PATH)
-
- 32bit:
- @echo ""
diff --git a/dev-libs/zlog/metadata.xml b/dev-libs/zlog/metadata.xml
deleted file mode 100644
index 986cdb9c5854..000000000000
--- a/dev-libs/zlog/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">HardySimpson/zlog</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/zlog/zlog-1.2.15.ebuild b/dev-libs/zlog/zlog-1.2.15.ebuild
deleted file mode 100644
index 221a11e0e522..000000000000
--- a/dev-libs/zlog/zlog-1.2.15.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A reliable, thread safe, clear-model, pure C logging library"
-HOMEPAGE="http://hardysimpson.github.io/zlog/"
-SRC_URI="https://github.com/HardySimpson/${PN}/archive/${PV}.tar.gz -> ${PN}-v${PV}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-PATCHES="${FILESDIR}/zlog_no_static_lib.patch"
-
-src_compile() {
- emake CC="$(tc-getCC)"
-}
-
-src_test() {
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" test
-}
-
-src_install() {
- emake LIBRARY_PATH="$(get_libdir)" PREFIX="${D}/usr" install
-}
diff --git a/dev-libs/zthread/zthread-2.3.2-r5.ebuild b/dev-libs/zthread/zthread-2.3.2-r5.ebuild
index 87af37d2ba8d..08b64a050964 100644
--- a/dev-libs/zthread/zthread-2.3.2-r5.ebuild
+++ b/dev-libs/zthread/zthread-2.3.2-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ SLOT="0"
KEYWORDS="~alpha amd64 arm64 ~hppa ~mips ppc ~sparc x86"
IUSE="debug doc"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${P}-no-fpermissive-r1.diff
diff --git a/dev-libs/zziplib/Manifest b/dev-libs/zziplib/Manifest
index b561f2a5b06b..818ead106f53 100644
--- a/dev-libs/zziplib/Manifest
+++ b/dev-libs/zziplib/Manifest
@@ -1 +1,3 @@
DIST zziplib-0.13.72.tar.gz 1162175 BLAKE2B ff5617645e25040e4666e5440651fbb2b04c0505c7bda08b158f44c63c5dd53ec97a9942908314c3b103a4685be49368e964d249fcf9b9d685e328f0ebabdedd SHA512 4bb089e74813c6fac9657cd96e44e4a6469bf86aba3980d885c4573e8db45e74fd07bbdfcec9f36297c72227c8c0b2c37dab1bc4326cef8529960e482fe501c8
+DIST zziplib-0.13.74-testdata.tar.xz 166188 BLAKE2B f3cc98495542fb95e8bd9cfb98ecd22c9e6206fd13c1d0607ee8b7640ddb3d3c4b9cb7bc7ca7a95a787ffef4e5a8c2b4ab1bc0c5890811ab21c681239840dcdb SHA512 d4545f770c4f00658ec69a7f393f38d0c649704adb30b6a25f2c0b48711829416985258d34911d48b9bd394d9334ab89c8deda719f2aae509a75441f8a8d8902
+DIST zziplib-0.13.74.tar.gz 1177162 BLAKE2B fc093b731406101086e59ff54b4378190c88821c4349d75e35c9595b45695b5f91a20e99a9689f7ebbc8d8951f2c4e1132d670e3827f5329977de1f85c9ce5d2 SHA512 7dd27247cbc475e2c6beb3a96c620f9938ade0dff6f4e088f9c28432fc4cc01df9d6771ec3d5e07baabe27033f4764d60e31c4c54588559de64e894d0557c94f
diff --git a/dev-libs/zziplib/files/zziplib-0.13.72-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/zziplib-0.13.72-r2.ebuild b/dev-libs/zziplib/zziplib-0.13.72-r2.ebuild
deleted file mode 100644
index 7974a20b6967..000000000000
--- a/dev-libs/zziplib/zziplib-0.13.72-r2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-# 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 ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="sdl static-libs"
-
-# Tests require internet access
-# https://github.com/gdraheim/zziplib/issues/24
-
-BDEPEND="
- ${PYTHON_DEPS}
-"
-DEPEND="
- sys-libs/zlib
- sdl? ( >=media-libs/libsdl-1.2.6 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.13.72-Wint-conversion.patch
-)
-
-src_configure() {
- # https://github.com/gdraheim/zziplib/commit/f3bfc0dd6663b7df272cc0cf17f48838ad724a2f#diff-b7b1e314614cf326c6e2b6eba1540682R100
- append-flags -fno-strict-aliasing
- # https://github.com/gdraheim/zziplib/issues/140 (bug #869980)
- append-flags $(test-flags-CC -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion)
-
- local mycmakeargs=(
- -DZZIPSDL="$(usex sdl)"
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DBUILD_TESTS=OFF
- -DZZIPTEST=OFF
- -DZZIPDOCS=ON
- -DZZIPWRAP=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/zziplib/zziplib-0.13.72-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}"
+}