summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild2
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild (renamed from dev-libs/FBGEMM/FBGEMM-2023.02.10.ebuild)10
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2023.12.04.ebuild79
-rw-r--r--dev-libs/FBGEMM/Manifest3
-rw-r--r--dev-libs/FBGEMM/files/FBGEMM-2022.01.13-gentoo.patch65
-rw-r--r--dev-libs/FBGEMM/files/FBGEMM-2022.07.16-gcc13.patch10
-rw-r--r--dev-libs/FBGEMM/files/FBGEMM-2023.02.10-test.patch11
-rw-r--r--dev-libs/FP16/FP16-2021.03.20-r4.ebuild (renamed from dev-libs/FP16/FP16-2021.03.20-r3.ebuild)2
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r1.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.10-r2.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.10.ebuild258
-rw-r--r--dev-libs/Ice/Ice-3.7.8-r2.ebuild4
-rw-r--r--dev-libs/Ice/Manifest1
-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/aml-0.3.0.ebuild4
-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/Manifest17
-rw-r--r--dev-libs/apache-arrow/apache-arrow-11.0.0-r2.ebuild119
-rw-r--r--dev-libs/apache-arrow/apache-arrow-12.0.0.ebuild120
-rw-r--r--dev-libs/apache-arrow/apache-arrow-16.1.0.ebuild (renamed from dev-libs/apache-arrow/apache-arrow-14.0.1.ebuild)31
-rw-r--r--dev-libs/apache-arrow/apache-arrow-17.0.0.ebuild (renamed from dev-libs/apache-arrow/apache-arrow-12.0.1-r1.ebuild)52
-rw-r--r--dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch10
-rw-r--r--dev-libs/apache-arrow/metadata.xml4
-rw-r--r--dev-libs/appstream/Manifest2
-rw-r--r--dev-libs/appstream/appstream-0.16.4.ebuild4
-rw-r--r--dev-libs/appstream/appstream-1.0.3.ebuild (renamed from dev-libs/appstream/appstream-0.15.6.ebuild)25
-rw-r--r--dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch (renamed from dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch)13
-rw-r--r--dev-libs/apr-util/apr-util-1.6.3.ebuild6
-rw-r--r--dev-libs/apr/Manifest2
-rw-r--r--dev-libs/apr/apr-1.7.2-r1.ebuild147
-rw-r--r--dev-libs/apr/apr-1.7.2.ebuild146
-rw-r--r--dev-libs/apr/apr-1.7.3.ebuild146
-rw-r--r--dev-libs/apr/apr-1.7.4-r2.ebuild (renamed from dev-libs/apr/apr-1.7.4.ebuild)35
-rw-r--r--dev-libs/apr/apr-1.7.4-r3.ebuild (renamed from dev-libs/apr/apr-1.7.4-r1.ebuild)25
-rw-r--r--dev-libs/apr/files/apr-1.7.4-config-cross.patch19
-rw-r--r--dev-libs/apr/files/apr-1.7.4-config-libdir.patch17
-rw-r--r--dev-libs/argtable/argtable-2.13-r3.ebuild4
-rw-r--r--dev-libs/argtable/argtable-2.13-r4.ebuild4
-rw-r--r--dev-libs/atcore/atcore-1.0.0.ebuild4
-rw-r--r--dev-libs/atf/atf-0.21-r2.ebuild16
-rw-r--r--dev-libs/atf/metadata.xml3
-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/Manifest2
-rw-r--r--dev-libs/ayatana-ido/ayatana-ido-0.10.2.ebuild (renamed from dev-libs/ayatana-ido/ayatana-ido-0.9.2.ebuild)15
-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/Manifest1
-rw-r--r--dev-libs/bemenu/bemenu-0.6.10-r1.ebuild4
-rw-r--r--dev-libs/bemenu/bemenu-0.6.14.ebuild4
-rw-r--r--dev-libs/bemenu/bemenu-0.6.15.ebuild4
-rw-r--r--dev-libs/bemenu/bemenu-0.6.16.ebuild6
-rw-r--r--dev-libs/bemenu/bemenu-0.6.21.ebuild62
-rw-r--r--dev-libs/bemenu/bemenu-9999.ebuild4
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r1.ebuild8
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r2.ebuild6
-rw-r--r--dev-libs/blake3/Manifest2
-rw-r--r--dev-libs/blake3/blake3-1.5.1.ebuild (renamed from dev-libs/blake3/blake3-1.4.1.ebuild)7
-rw-r--r--dev-libs/boehm-gc/Manifest4
-rw-r--r--dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild53
-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.6.ebuild (renamed from dev-libs/boehm-gc/boehm-gc-8.0.8.ebuild)6
-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.82.0-r1.ebuild354
-rw-r--r--dev-libs/boost/boost-1.84.0-r3.ebuild (renamed from dev-libs/boost/boost-1.83.0-r1.ebuild)39
-rw-r--r--dev-libs/boost/boost-1.85.0-r1.ebuild (renamed from dev-libs/boost/boost-1.83.0-r2.ebuild)48
-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-fix-mips1-transition.patch24
-rw-r--r--dev-libs/boost/files/boost-1.81.0-phoenix-multiple-definitions.patch11
-rw-r--r--dev-libs/boost/files/boost-1.82.0-context-arm64.patch19
-rw-r--r--dev-libs/boost/files/boost-1.83.0-math-gcc14.patch19
-rw-r--r--dev-libs/boost/files/boost-1.83.0-unordered-uaf.patch18
-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/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch111
-rw-r--r--dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch29
-rw-r--r--dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch420
-rw-r--r--dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch52
-rw-r--r--dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch356
-rw-r--r--dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch188
-rw-r--r--dev-libs/boost/files/boost-1.85.0-container-aliasing.patch408
-rw-r--r--dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch26
-rw-r--r--dev-libs/boron/Manifest1
-rw-r--r--dev-libs/boron/boron-2.1.0.ebuild37
-rw-r--r--dev-libs/boron/files/boron-2.1.0_makefile.patch62
-rw-r--r--dev-libs/boron/metadata.xml15
-rw-r--r--dev-libs/botan/Manifest4
-rw-r--r--dev-libs/botan/botan-2.19.3-r2.ebuild16
-rw-r--r--dev-libs/botan/botan-2.19.4.ebuild201
-rw-r--r--dev-libs/botan/botan-3.2.0-r1.ebuild2
-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/boxfort/Manifest1
-rw-r--r--dev-libs/boxfort/boxfort-0.1.4-r1.ebuild (renamed from dev-libs/boxfort/boxfort-0.1.1.ebuild)13
-rw-r--r--dev-libs/boxfort/boxfort-0.1.4.ebuild4
-rw-r--r--dev-libs/busybee/Manifest1
-rw-r--r--dev-libs/busybee/busybee-0.7.0.ebuild25
-rw-r--r--dev-libs/c-blosc/Manifest2
-rw-r--r--dev-libs/c-blosc/c-blosc-1.21.6.ebuild (renamed from dev-libs/c-blosc/c-blosc-1.21.5.ebuild)4
-rw-r--r--dev-libs/c-blosc2/Manifest4
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild67
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.11.3.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild (renamed from dev-libs/c-blosc2/c-blosc2-2.11.2.ebuild)6
-rw-r--r--dev-libs/c-blosc2/files/c-blosc2-2.9.3-no-unaligned.patch32
-rw-r--r--dev-libs/c-siphash/Manifest1
-rw-r--r--dev-libs/c-siphash/c-siphash-1.1.0.ebuild27
-rw-r--r--dev-libs/c-siphash/metadata.xml11
-rw-r--r--dev-libs/c-stdaux/Manifest1
-rw-r--r--dev-libs/c-stdaux/c-stdaux-1.5.0.ebuild24
-rw-r--r--dev-libs/c-stdaux/metadata.xml (renamed from dev-libs/libpo6/metadata.xml)7
-rw-r--r--dev-libs/cJSON/Manifest2
-rw-r--r--dev-libs/cJSON/cJSON-1.7.18.ebuild (renamed from dev-libs/cJSON/cJSON-1.7.16.ebuild)6
-rw-r--r--dev-libs/capnproto/capnproto-0.10.4-r1.ebuild2
-rw-r--r--dev-libs/capstone/Manifest1
-rw-r--r--dev-libs/capstone/capstone-4.0.2-r2.ebuild84
-rw-r--r--dev-libs/capstone/capstone-5.0.1.ebuild10
-rw-r--r--dev-libs/capstone/capstone-9999.ebuild14
-rw-r--r--dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch12
-rw-r--r--dev-libs/capstone/files/capstone-9999-werror.patch14
-rw-r--r--dev-libs/castxml/Manifest4
-rw-r--r--dev-libs/castxml/castxml-0.5.1-r1.ebuild48
-rw-r--r--dev-libs/castxml/castxml-0.6.1.ebuild48
-rw-r--r--dev-libs/castxml/castxml-0.6.7.ebuild (renamed from dev-libs/castxml/castxml-0.6.2.ebuild)36
-rw-r--r--dev-libs/castxml/files/castxml-fix-tests.patch14
-rw-r--r--dev-libs/castxml/metadata.xml5
-rw-r--r--dev-libs/cdk/Manifest5
-rw-r--r--dev-libs/cdk/cdk-5.0.20210324-r2.ebuild54
-rw-r--r--dev-libs/cdk/cdk-5.0.20240331.ebuild (renamed from dev-libs/cdk/cdk-5.0.20221025.ebuild)8
-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.ebuild4
-rw-r--r--dev-libs/cglm/Manifest6
-rw-r--r--dev-libs/cglm/cglm-0.9.2.ebuild (renamed from dev-libs/cglm/cglm-0.9.1.ebuild)2
-rw-r--r--dev-libs/cglm/cglm-0.9.3.ebuild (renamed from dev-libs/cglm/cglm-0.9.0.ebuild)4
-rw-r--r--dev-libs/cglm/cglm-0.9.4.ebuild (renamed from dev-libs/cglm/cglm-0.8.9-r1.ebuild)4
-rw-r--r--dev-libs/cgreen/cgreen-1.3.0.ebuild4
-rw-r--r--dev-libs/check/check-0.15.2-r1.ebuild4
-rw-r--r--dev-libs/chmlib/metadata.xml5
-rw-r--r--dev-libs/cjose/Manifest2
-rw-r--r--dev-libs/cjose/cjose-0.6.2.2.ebuild36
-rw-r--r--dev-libs/cjose/cjose-0.6.2.3.ebuild40
-rw-r--r--dev-libs/cjose/metadata.xml14
-rw-r--r--dev-libs/clhpp/Manifest1
-rw-r--r--dev-libs/clhpp/clhpp-2023.04.17.ebuild39
-rw-r--r--dev-libs/clog/Manifest1
-rw-r--r--dev-libs/clog/clog-2023.11.04.ebuild40
-rw-r--r--dev-libs/clog/files/clog-2023.11.04-test.patch11
-rw-r--r--dev-libs/clog/metadata.xml (renamed from dev-libs/libe/metadata.xml)7
-rw-r--r--dev-libs/collada-dom/collada-dom-2.5.0-r1.ebuild4
-rw-r--r--dev-libs/collada-dom/files/collada-dom-2.5.0-boost-1.85.patch45
-rw-r--r--dev-libs/concurrencykit/Manifest2
-rw-r--r--dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild (renamed from dev-libs/concurrencykit/concurrencykit-0.7.1-r1.ebuild)4
-rw-r--r--dev-libs/confuse/confuse-3.3-r1.ebuild6
-rw-r--r--dev-libs/confuse/confuse-3.3-r2.ebuild6
-rw-r--r--dev-libs/confuse/confuse-3.3.ebuild6
-rw-r--r--dev-libs/cowsql/Manifest2
-rw-r--r--dev-libs/cowsql/cowsql-1.15.6.ebuild (renamed from dev-libs/cowsql/cowsql-1.15.4.ebuild)8
-rw-r--r--dev-libs/cppcodec/cppcodec-0.2.ebuild4
-rw-r--r--dev-libs/cpuinfo/Manifest1
-rw-r--r--dev-libs/cpuinfo/cpuinfo-2023.11.04.ebuild35
-rw-r--r--dev-libs/cpuinfo/files/cpuinfo-2023.11.04-gentoo.patch25
-rw-r--r--dev-libs/criterion/Manifest1
-rw-r--r--dev-libs/criterion/criterion-2.4.1-r1.ebuild (renamed from dev-libs/criterion/criterion-2.4.0.ebuild)23
-rw-r--r--dev-libs/criterion/criterion-2.4.1.ebuild18
-rw-r--r--dev-libs/crossguid/crossguid-0_pre20150817.ebuild2
-rw-r--r--dev-libs/crypto++/crypto++-8.9.0.ebuild2
-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-1.0.3.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/cudnn-frontend-1.1.2.ebuild20
-rw-r--r--dev-libs/cudnn-frontend/metadata.xml8
-rw-r--r--dev-libs/cutlass/Manifest4
-rw-r--r--dev-libs/cutlass/cutlass-3.3.0.ebuild (renamed from dev-libs/cutlass/cutlass-2.10.0-r1.ebuild)3
-rw-r--r--dev-libs/cutlass/cutlass-3.4.1.ebuild (renamed from dev-libs/cutlass/cutlass-3.1.0.ebuild)3
-rw-r--r--dev-libs/cutlass/metadata.xml1
-rw-r--r--dev-libs/cvector/cvector-1.0.3.1.ebuild4
-rw-r--r--dev-libs/cxxopts/Manifest2
-rw-r--r--dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild (renamed from dev-libs/cxxopts/cxxopts-3.0.0.ebuild)6
-rw-r--r--dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild (renamed from dev-libs/cxxopts/cxxopts-3.1.0.ebuild)10
-rw-r--r--dev-libs/cxxopts/metadata.xml3
-rw-r--r--dev-libs/cxxtools/Manifest1
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0-r1.ebuild36
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0-r2.ebuild4
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0-r3.ebuild56
-rw-r--r--dev-libs/cxxtools/cxxtools-3.0.ebuild34
-rw-r--r--dev-libs/cxxtools/metadata.xml19
-rw-r--r--dev-libs/cyberjack/Manifest2
-rw-r--r--dev-libs/cyberjack/cyberjack-3.99.5_p16.ebuild (renamed from dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild)23
-rw-r--r--dev-libs/cyrus-sasl/Manifest2
-rw-r--r--dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild13
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r4.ebuild6
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild6
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.110.ebuild4
-rw-r--r--dev-libs/dbus-glib/dbus-glib-0.112.ebuild4
-rw-r--r--dev-libs/dietlibc/dietlibc-0.34.ebuild6
-rw-r--r--dev-libs/distorm3/distorm3-3.5.2-r1.ebuild4
-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-5.6.5.ebuild73
-rw-r--r--dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch343
-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.patch35
-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/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/Manifest2
-rw-r--r--dev-libs/double-conversion/double-conversion-3.3.0.ebuild (renamed from dev-libs/double-conversion/double-conversion-3.2.1.ebuild)9
-rw-r--r--dev-libs/double-conversion/metadata.xml1
-rw-r--r--dev-libs/dqlite/Manifest2
-rw-r--r--dev-libs/dqlite/dqlite-1.16.4-r1.ebuild (renamed from dev-libs/dqlite/dqlite-1.16.0.ebuild)14
-rw-r--r--dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild (renamed from dev-libs/dynolog/dynolog-0.3.1_p20230126.ebuild)18
-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.patch11
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch18
-rw-r--r--dev-libs/editline/Manifest1
-rw-r--r--dev-libs/editline/editline-1.17.1-r1.ebuild43
-rw-r--r--dev-libs/editline/editline-1.17.1.ebuild37
-rw-r--r--dev-libs/editline/editline-1.17.1_p20240527.ebuild50
-rw-r--r--dev-libs/editline/files/editline-1.17.1_p20240527-rename-man.patch11
-rw-r--r--dev-libs/editline/metadata.xml21
-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.27.0-r1.ebuild (renamed from dev-libs/efl/efl-1.26.3-r2.ebuild)65
-rw-r--r--dev-libs/efl/files/efl-1.26.3-gettext-0.22-fix.patch38
-rw-r--r--dev-libs/efl/files/efl-1.26.3-libressl.patch191
-rw-r--r--dev-libs/elfutils/Manifest4
-rw-r--r--dev-libs/elfutils/elfutils-0.190.ebuild6
-rw-r--r--dev-libs/elfutils/elfutils-0.191-r1.ebuild (renamed from dev-libs/elfutils/elfutils-0.189-r4.ebuild)22
-rw-r--r--dev-libs/elfutils/elfutils-0.191.ebuild120
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-PaX-support.patch26
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-clang16-tests.patch26
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-configure-bashisms.patch49
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-lld-17.patch31
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-skip-DT_RELR-failing-tests.patch39
-rw-r--r--dev-libs/elfutils/files/elfutils-0.189-tests-run-lfs-symbols.sh-needs-gawk.patch41
-rw-r--r--dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch28
-rw-r--r--dev-libs/elfutils/files/elfutils-0.191-musl-macros.patch14
-rw-r--r--dev-libs/ell/Manifest8
-rw-r--r--dev-libs/ell/ell-0.57.ebuild54
-rw-r--r--dev-libs/ell/ell-0.58.ebuild54
-rw-r--r--dev-libs/ell/ell-0.60.ebuild54
-rw-r--r--dev-libs/ell/ell-0.61.ebuild54
-rw-r--r--dev-libs/ell/ell-0.66.ebuild (renamed from dev-libs/ell/ell-0.56.ebuild)7
-rw-r--r--dev-libs/ell/ell-0.67.ebuild (renamed from dev-libs/ell/ell-0.59.ebuild)7
-rw-r--r--dev-libs/expat/Manifest3
-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/faxpp/faxpp-0.4-r2.ebuild6
-rw-r--r--dev-libs/fcgi/fcgi-2.4.1_pre0910052249-r2.ebuild4
-rw-r--r--dev-libs/fddl/fddl-20111124-r1.ebuild4
-rw-r--r--dev-libs/fddl/fddl-20111124-r2.ebuild42
-rw-r--r--dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch65
-rw-r--r--dev-libs/ferrisloki/ferrisloki-3.0.13-r2.ebuild49
-rw-r--r--dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild6
-rw-r--r--dev-libs/ffcall/ffcall-2.4-r1.ebuild5
-rw-r--r--dev-libs/flatbuffers/Manifest2
-rw-r--r--dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild (renamed from dev-libs/flatbuffers/flatbuffers-23.5.26.ebuild)2
-rw-r--r--dev-libs/folks/Manifest2
-rw-r--r--dev-libs/folks/folks-0.15.9.ebuild (renamed from dev-libs/folks/folks-0.15.6.ebuild)12
-rw-r--r--dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch41
-rw-r--r--dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch149
-rw-r--r--dev-libs/foma/files/foma-0.10.0_p20220612-fix-incompatible-function-pointer-types.patch71
-rw-r--r--dev-libs/foma/foma-0.10.0_p20220612-r2.ebuild (renamed from dev-libs/foma/foma-0.10.0_p20220612.ebuild)22
-rw-r--r--dev-libs/foma/metadata.xml3
-rw-r--r--dev-libs/freexl/freexl-1.0.6.ebuild9
-rw-r--r--dev-libs/freexl/freexl-2.0.0-r1.ebuild (renamed from dev-libs/freexl/freexl-2.0.0.ebuild)18
-rw-r--r--dev-libs/gdl/gdl-3.40.0.ebuild4
-rw-r--r--dev-libs/girara/Manifest2
-rw-r--r--dev-libs/girara/girara-0.3.9.ebuild46
-rw-r--r--dev-libs/girara/girara-0.4.0-r1.ebuild13
-rw-r--r--dev-libs/girara/girara-0.4.2.ebuild (renamed from dev-libs/girara/girara-0.4.0.ebuild)43
-rw-r--r--dev-libs/girara/girara-9999.ebuild19
-rw-r--r--dev-libs/gjs/Manifest3
-rw-r--r--dev-libs/gjs/files/gjs-1.76.0-move_have_gtk4_to_the_appropriate_place.patch38
-rw-r--r--dev-libs/gjs/gjs-1.76.2.ebuild72
-rw-r--r--dev-libs/gjs/gjs-1.78.5.ebuild (renamed from dev-libs/gjs/gjs-1.78.0.ebuild)4
-rw-r--r--dev-libs/glib/Manifest4
-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.76.4.ebuild8
-rw-r--r--dev-libs/glib/glib-2.78.3.ebuild10
-rw-r--r--dev-libs/glib/glib-2.78.4-r1.ebuild (renamed from dev-libs/glib/glib-2.78.0.ebuild)21
-rw-r--r--dev-libs/glib/glib-2.78.6.ebuild (renamed from dev-libs/glib/glib-2.78.1.ebuild)20
-rw-r--r--dev-libs/glib/metadata.xml2
-rw-r--r--dev-libs/gmime/Manifest1
-rw-r--r--dev-libs/gmime/gmime-2.6.23-r2.ebuild4
-rw-r--r--dev-libs/gmime/gmime-3.2.13.ebuild70
-rw-r--r--dev-libs/gmime/gmime-3.2.14.ebuild6
-rw-r--r--dev-libs/gmp/Manifest2
-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-r5.ebuild182
-rw-r--r--dev-libs/gmp/gmp-6.3.0-r1.ebuild (renamed from dev-libs/gmp/gmp-6.3.0.ebuild)8
-rw-r--r--dev-libs/gmp/metadata.xml1
-rw-r--r--dev-libs/gnulib/Manifest2
-rw-r--r--dev-libs/gnulib/gnulib-2024.01.01.10.31.48.ebuild (renamed from dev-libs/gnulib/gnulib-2022.02.12.16.27.05.ebuild)6
-rw-r--r--dev-libs/gobject-introspection-common/gobject-introspection-common-1.78.1.ebuild4
-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.76.1.ebuild4
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild15
-rw-r--r--dev-libs/gom/Manifest2
-rw-r--r--dev-libs/gom/gom-0.4.ebuild4
-rw-r--r--dev-libs/gom/gom-0.5.1.ebuild61
-rw-r--r--dev-libs/gom/gom-0.5.2.ebuild62
-rw-r--r--dev-libs/grantlee/grantlee-5.3.0.ebuild4
-rw-r--r--dev-libs/gumbo/Manifest1
-rw-r--r--dev-libs/gumbo/gumbo-0.10.1.ebuild4
-rw-r--r--dev-libs/gumbo/gumbo-0.11.0.ebuild4
-rw-r--r--dev-libs/gumbo/gumbo-0.12.1.ebuild41
-rw-r--r--dev-libs/half/half-1.12.0-r1.ebuild17
-rw-r--r--dev-libs/half/half-1.12.0.ebuild17
-rw-r--r--dev-libs/half/metadata.xml7
-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/Manifest2
-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.ebuild6
-rw-r--r--dev-libs/hidapi/hidapi-0.14.0.ebuild6
-rw-r--r--dev-libs/hidapi/metadata.xml3
-rw-r--r--dev-libs/hipother/Manifest1
-rw-r--r--dev-libs/hipother/hipother-6.1.1.ebuild18
-rw-r--r--dev-libs/hipother/metadata.xml (renamed from dev-libs/clhpp/metadata.xml)9
-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/Manifest1
-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-1.0.2-r3.ebuild4
-rw-r--r--dev-libs/hiredis/hiredis-1.1.0-r1.ebuild8
-rw-r--r--dev-libs/hiredis/hiredis-1.2.0.ebuild92
-rw-r--r--dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild9
-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.2.ebuild65
-rw-r--r--dev-libs/hyphen/hyphen-2.8.8-r2.ebuild4
-rw-r--r--dev-libs/hyprland-protocols/Manifest3
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild (renamed from dev-libs/hyprland-protocols/hyprland-protocols-0.2.ebuild)16
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-0.3.0.ebuild25
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-9999.ebuild25
-rw-r--r--dev-libs/hyprlang/Manifest3
-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/hyprlang-0.5.2.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.10.0.ebuild3
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.13.0.ebuild5
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.13.2.ebuild22
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.6.1-r1.ebuild3
-rw-r--r--dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild3
-rw-r--r--dev-libs/icinga-php-library/metadata.xml3
-rw-r--r--dev-libs/icinga-php-thirdparty/Manifest1
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild3
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild3
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.0.ebuild5
-rw-r--r--dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.1.ebuild21
-rw-r--r--dev-libs/icinga-php-thirdparty/metadata.xml3
-rw-r--r--dev-libs/icu-layoutex/Manifest8
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild (renamed from dev-libs/icu-layoutex/icu-layoutex-74.1.ebuild)4
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild (renamed from dev-libs/icu-layoutex/icu-layoutex-73.2.ebuild)18
-rw-r--r--dev-libs/icu/Manifest8
-rw-r--r--dev-libs/icu/files/icu-73.2-fix-TestHebrewCalendarInTemporalLeapYear-test.patch31
-rw-r--r--dev-libs/icu/icu-74.2.ebuild (renamed from dev-libs/icu/icu-73.2.ebuild)19
-rw-r--r--dev-libs/icu/icu-75.1.ebuild (renamed from dev-libs/icu/icu-74.1.ebuild)21
-rw-r--r--dev-libs/igraph/Manifest3
-rw-r--r--dev-libs/igraph/igraph-0.10.11.ebuild (renamed from dev-libs/igraph/igraph-0.10.4.ebuild)9
-rw-r--r--dev-libs/igraph/igraph-0.10.12.ebuild (renamed from dev-libs/igraph/igraph-0.10.4-r1.ebuild)5
-rw-r--r--dev-libs/iksemel/iksemel-1.4-r2.ebuild4
-rw-r--r--dev-libs/imath/Manifest3
-rw-r--r--dev-libs/imath/files/imath-3.1.11-fix_cmake_module_export.patch22
-rw-r--r--dev-libs/imath/files/imath-3.1.11-use-correct-boost_python_version.patch17
-rw-r--r--dev-libs/imath/imath-3.1.11-r1.ebuild (renamed from dev-libs/imath/imath-3.1.6.ebuild)41
-rw-r--r--dev-libs/imath/imath-3.1.11.ebuild (renamed from dev-libs/imath/imath-3.1.9.ebuild)31
-rw-r--r--dev-libs/imath/metadata.xml4
-rw-r--r--dev-libs/immer/Manifest1
-rw-r--r--dev-libs/immer/files/immer-0.8.1-fix-dvector-test.patch16
-rw-r--r--dev-libs/immer/immer-0.8.1-r1.ebuild51
-rw-r--r--dev-libs/immer/immer-0.8.1.ebuild48
-rw-r--r--dev-libs/immer/metadata.xml15
-rw-r--r--dev-libs/inih/Manifest2
-rw-r--r--dev-libs/inih/inih-57-r1.ebuild (renamed from dev-libs/inih/inih-57.ebuild)6
-rw-r--r--dev-libs/inih/inih-58.ebuild (renamed from dev-libs/inih/inih-56-r1.ebuild)6
-rw-r--r--dev-libs/iniparser/Manifest1
-rw-r--r--dev-libs/iniparser/iniparser-3.1-r3.ebuild4
-rw-r--r--dev-libs/iniparser/iniparser-4.1-r1.ebuild6
-rw-r--r--dev-libs/iniparser/iniparser-4.1.ebuild71
-rw-r--r--dev-libs/iniparser/iniparser-4.2.2.ebuild27
-rw-r--r--dev-libs/iniparser/metadata.xml2
-rw-r--r--dev-libs/intel-compute-runtime/Manifest3
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-24.17.29377.6.ebuild (renamed from dev-libs/intel-compute-runtime/intel-compute-runtime-23.35.27191.9.ebuild)18
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21-r1.ebuild88
-rw-r--r--dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21.ebuild87
-rw-r--r--dev-libs/intel-metrics-discovery/Manifest3
-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.171.ebuild (renamed from dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.165.1.ebuild)7
-rw-r--r--dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.172.ebuild29
-rw-r--r--dev-libs/intel-metrics-library/Manifest3
-rw-r--r--dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild (renamed from dev-libs/intel-metrics-library/intel-metrics-library-1.0.133.ebuild)2
-rw-r--r--dev-libs/intel-metrics-library/intel-metrics-library-1.0.166.ebuild27
-rw-r--r--dev-libs/intel-vc-intrinsics/Manifest2
-rw-r--r--dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild (renamed from dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.13.0.ebuild)14
-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/metadata.xml5
-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/isa-l_crypto-2.24.0.ebuild3
-rw-r--r--dev-libs/isa-l_crypto/metadata.xml5
-rw-r--r--dev-libs/isl/Manifest1
-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/ivykis/Manifest1
-rw-r--r--dev-libs/ivykis/ivykis-0.43.1.ebuild33
-rw-r--r--dev-libs/jansson/Manifest2
-rw-r--r--dev-libs/jansson/jansson-2.14-r1.ebuild4
-rw-r--r--dev-libs/jansson/jansson-2.14-r2.ebuild8
-rw-r--r--dev-libs/jemalloc/metadata.xml5
-rw-r--r--dev-libs/json-c/Manifest1
-rw-r--r--dev-libs/json-c/json-c-0.16-r1.ebuild42
-rw-r--r--dev-libs/json-c/json-c-0.17.ebuild5
-rw-r--r--dev-libs/json-c/json-c-9999.ebuild7
-rw-r--r--dev-libs/json-c/metadata.xml13
-rw-r--r--dev-libs/json-glib/Manifest1
-rw-r--r--dev-libs/json-glib/json-glib-1.6.6-r1.ebuild63
-rw-r--r--dev-libs/json-glib/json-glib-1.8.0.ebuild4
-rw-r--r--dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild10
-rw-r--r--dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild14
-rw-r--r--dev-libs/judy/judy-1.0.5-r4.ebuild6
-rw-r--r--dev-libs/kdiagram/Manifest1
-rw-r--r--dev-libs/kdiagram/kdiagram-3.0.1.ebuild33
-rw-r--r--dev-libs/kdsingleapplication/Manifest1
-rw-r--r--dev-libs/kdsingleapplication/kdsingleapplication-1.1.0-r1.ebuild55
-rw-r--r--dev-libs/kdsingleapplication/metadata.xml11
-rw-r--r--dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch156
-rw-r--r--dev-libs/keystone/keystone-0.9.2-r2.ebuild4
-rw-r--r--dev-libs/keystone/keystone-0.9.2-r3.ebuild103
-rw-r--r--dev-libs/keystone/keystone-9999.ebuild11
-rw-r--r--dev-libs/kirigami-addons/Manifest2
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-0.11.0-r1.ebuild (renamed from dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild)3
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-1.3.0.ebuild44
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-1.4.0.ebuild44
-rw-r--r--dev-libs/kirigami-addons/metadata.xml1
-rw-r--r--dev-libs/kopeninghours/Manifest5
-rw-r--r--dev-libs/kopeninghours/kopeninghours-23.04.3.ebuild64
-rw-r--r--dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild (renamed from dev-libs/kopeninghours/kopeninghours-23.08.3.ebuild)8
-rw-r--r--dev-libs/kopeninghours/kopeninghours-24.05.2.ebuild (renamed from dev-libs/kopeninghours/kopeninghours-23.08.4.ebuild)25
-rw-r--r--dev-libs/kopeninghours/metadata.xml1
-rw-r--r--dev-libs/kosmindoormap/Manifest5
-rw-r--r--dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-1.patch31
-rw-r--r--dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-2.patch35
-rw-r--r--dev-libs/kosmindoormap/files/kosmindoormap-24.05.1-cmake.patch82
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild49
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-23.08.4.ebuild47
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild (renamed from dev-libs/kosmindoormap/kosmindoormap-23.08.3.ebuild)6
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-24.05.2.ebuild51
-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.ebuild3
-rw-r--r--dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild106
-rw-r--r--dev-libs/kpublictransport/Manifest5
-rw-r--r--dev-libs/kpublictransport/kpublictransport-23.04.3.ebuild40
-rw-r--r--dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild (renamed from dev-libs/kpublictransport/kpublictransport-23.08.4.ebuild)2
-rw-r--r--dev-libs/kpublictransport/kpublictransport-24.05.2.ebuild (renamed from dev-libs/kpublictransport/kpublictransport-23.08.3.ebuild)23
-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/files/ktextaddons-1.3.0-fix-qch.patch27
-rw-r--r--dev-libs/ktextaddons/ktextaddons-1.3.0.ebuild50
-rw-r--r--dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild51
-rw-r--r--dev-libs/ktextaddons/metadata.xml1
-rw-r--r--dev-libs/kweathercore/Manifest1
-rw-r--r--dev-libs/kweathercore/kweathercore-0.7.ebuild11
-rw-r--r--dev-libs/kweathercore/kweathercore-0.8.0.ebuild34
-rw-r--r--dev-libs/kweathercore/metadata.xml1
-rw-r--r--dev-libs/lager/Manifest1
-rw-r--r--dev-libs/lager/lager-0.1.1-r1.ebuild52
-rw-r--r--dev-libs/lager/lager-0.1.1.ebuild49
-rw-r--r--dev-libs/lager/metadata.xml15
-rw-r--r--dev-libs/leatherman/Manifest4
-rw-r--r--dev-libs/leatherman/leatherman-1.12.10.ebuild56
-rw-r--r--dev-libs/leatherman/leatherman-1.12.13.ebuild (renamed from dev-libs/leatherman/leatherman-1.12.11.ebuild)2
-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/level-zero-1.17.19.ebuild (renamed from dev-libs/level-zero/level-zero-1.15.1.ebuild)13
-rw-r--r--dev-libs/level-zero/level-zero-1.17.6.ebuild (renamed from dev-libs/level-zero/level-zero-1.14.0.ebuild)4
-rw-r--r--dev-libs/leveldb/leveldb-1.23-r6.ebuild (renamed from dev-libs/leveldb/leveldb-1.23-r5.ebuild)3
-rw-r--r--dev-libs/libIDL/libIDL-0.8.14-r4.ebuild4
-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/libappindicator/libappindicator-12.10.1_p20200706.ebuild4
-rw-r--r--dev-libs/libassuan/Manifest7
-rw-r--r--dev-libs/libassuan/libassuan-2.5.7.ebuild (renamed from dev-libs/libassuan/libassuan-2.5.5.ebuild)19
-rw-r--r--dev-libs/libassuan/libassuan-3.0.0.ebuild56
-rw-r--r--dev-libs/libassuan/libassuan-3.0.1.ebuild56
-rw-r--r--dev-libs/libatomic_ops/Manifest2
-rw-r--r--dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild (renamed from dev-libs/libatomic_ops/libatomic_ops-7.8.0.ebuild)10
-rw-r--r--dev-libs/libayatana-appindicator/Manifest2
-rw-r--r--dev-libs/libayatana-appindicator/files/libayatana-appindicator-0.5.93-correct-symbols-in-version-script.patch29
-rw-r--r--dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.93.ebuild (renamed from dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.91.ebuild)11
-rw-r--r--dev-libs/libayatana-indicator/Manifest1
-rw-r--r--dev-libs/libayatana-indicator/libayatana-indicator-0.9.4.ebuild50
-rw-r--r--dev-libs/libbpf/Manifest4
-rw-r--r--dev-libs/libbpf/libbpf-1.3.0.ebuild4
-rw-r--r--dev-libs/libbpf/libbpf-1.3.2.ebuild (renamed from dev-libs/libbpf/libbpf-1.2.0.ebuild)29
-rw-r--r--dev-libs/libbpf/libbpf-1.4.5.ebuild (renamed from dev-libs/libbpf/libbpf-1.2.2.ebuild)29
-rw-r--r--dev-libs/libbpf/libbpf-9999.ebuild25
-rw-r--r--dev-libs/libbpf/metadata.xml4
-rw-r--r--dev-libs/libbsd/Manifest6
-rw-r--r--dev-libs/libbsd/files/libbsd-0.11.7-musl-lfs.patch32
-rw-r--r--dev-libs/libbsd/files/libbsd-build-Fix-version-script-linker-support-detection.patch36
-rw-r--r--dev-libs/libbsd/libbsd-0.11.8.ebuild (renamed from dev-libs/libbsd/libbsd-0.11.7-r2.ebuild)24
-rw-r--r--dev-libs/libbsd/libbsd-0.12.1.ebuild48
-rw-r--r--dev-libs/libburn/libburn-1.5.6-r1.ebuild (renamed from dev-libs/libburn/libburn-1.5.6.ebuild)20
-rw-r--r--dev-libs/libbytesize/libbytesize-2.10.ebuild4
-rw-r--r--dev-libs/libcbor/Manifest1
-rw-r--r--dev-libs/libcbor/libcbor-0.11.0.ebuild70
-rw-r--r--dev-libs/libcdada/Manifest1
-rw-r--r--dev-libs/libcdada/files/libcdada-0.6.0-test-fixes.patch30
-rw-r--r--dev-libs/libcdada/libcdada-0.6.0.ebuild54
-rw-r--r--dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch75
-rw-r--r--dev-libs/libcdio/libcdio-2.1.0-r2.ebuild (renamed from dev-libs/libcdio/libcdio-2.1.0-r1.ebuild)18
-rw-r--r--dev-libs/libcec/libcec-6.0.2-r2.ebuild123
-rw-r--r--dev-libs/libcgroup/libcgroup-0.41-r6.ebuild8
-rw-r--r--dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild6
-rw-r--r--dev-libs/libcgroup/libcgroup-3.0.0.ebuild6
-rw-r--r--dev-libs/libclc/Manifest8
-rw-r--r--dev-libs/libclc/libclc-17.0.6.ebuild4
-rw-r--r--dev-libs/libclc/libclc-18.1.8.ebuild (renamed from dev-libs/libclc/libclc-14.0.6.ebuild)34
-rw-r--r--dev-libs/libclc/libclc-19.0.0.9999.ebuild (renamed from dev-libs/libclc/libclc-18.0.0.9999.ebuild)44
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240706.ebuild (renamed from dev-libs/libclc/libclc-18.0.0_pre20231129.ebuild)44
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240712.ebuild (renamed from dev-libs/libclc/libclc-18.0.0_pre20231119.ebuild)44
-rw-r--r--dev-libs/libclc/libclc-20.0.0.9999.ebuild61
-rw-r--r--dev-libs/libconfig/libconfig-1.7.3.ebuild8
-rw-r--r--dev-libs/libcpuid/Manifest1
-rw-r--r--dev-libs/libcpuid/libcpuid-0.6.4.ebuild4
-rw-r--r--dev-libs/libcpuid/libcpuid-0.6.5.ebuild37
-rw-r--r--dev-libs/libcroco/libcroco-0.6.13-r1.ebuild14
-rw-r--r--dev-libs/libcss/Manifest2
-rw-r--r--dev-libs/libcss/libcss-0.9.2.ebuild (renamed from dev-libs/libcss/libcss-0.9.1-r1.ebuild)18
-rw-r--r--dev-libs/libcss/libcss-9999.ebuild5
-rw-r--r--dev-libs/libdaemon/libdaemon-0.14-r4.ebuild4
-rw-r--r--dev-libs/libdazzle/libdazzle-3.44.0.ebuild4
-rw-r--r--dev-libs/libdbh/libdbh-5.0.22.ebuild6
-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.xml (renamed from dev-libs/zthread/metadata.xml)7
-rw-r--r--dev-libs/libdbusmenu-qt/libdbusmenu-qt-0.9.3_pre20160218-r3.ebuild4
-rw-r--r--dev-libs/libdex/Manifest5
-rw-r--r--dev-libs/libdex/libdex-0.2.0.ebuild60
-rw-r--r--dev-libs/libdex/libdex-0.4.3.ebuild (renamed from dev-libs/libdex/libdex-0.4.0.ebuild)20
-rw-r--r--dev-libs/libdex/libdex-0.6.1.ebuild (renamed from dev-libs/libdex/libdex-0.4.1.ebuild)20
-rw-r--r--dev-libs/libdex/metadata.xml2
-rw-r--r--dev-libs/libdispatch/libdispatch-5.8.ebuild4
-rw-r--r--dev-libs/libdnet/Manifest3
-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.16.2.ebuild12
-rw-r--r--dev-libs/libdnet/libdnet-1.16.4.ebuild15
-rw-r--r--dev-libs/libdnet/libdnet-1.17.0.ebuild14
-rw-r--r--dev-libs/libdnet/libdnet-1.18.0-r1.ebuild (renamed from dev-libs/libdnet/libdnet-1.14-r2.ebuild)46
-rw-r--r--dev-libs/libdnet/libdnet-1.18.0.ebuild (renamed from dev-libs/libdnet/libdnet-1.16.1.ebuild)30
-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/libebml/Manifest1
-rw-r--r--dev-libs/libebml/libebml-1.4.5.ebuild14
-rw-r--r--dev-libs/libei/Manifest2
-rw-r--r--dev-libs/libei/libei-1.2.1.ebuild (renamed from dev-libs/libei/libei-1.1.0.ebuild)7
-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/Manifest1
-rw-r--r--dev-libs/libevdev/libevdev-1.13.1-r1.ebuild (renamed from dev-libs/libevdev/libevdev-1.13.1.ebuild)6
-rw-r--r--dev-libs/libevdev/libevdev-1.13.2.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-9999.ebuild8
-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-r2.ebuild4
-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/libfastjson-1.2304.0.ebuild4
-rw-r--r--dev-libs/libffi/Manifest1
-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-trampoline-c99.patch39
-rw-r--r--dev-libs/libffi/libffi-3.4.4-r4.ebuild (renamed from dev-libs/libffi/libffi-3.4.4-r1.ebuild)13
-rw-r--r--dev-libs/libffi/libffi-3.4.4.ebuild70
-rw-r--r--dev-libs/libffi/libffi-3.4.6.ebuild (renamed from dev-libs/libffi/libffi-3.4.4-r2.ebuild)18
-rw-r--r--dev-libs/libfilezilla/Manifest4
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild (renamed from dev-libs/libfilezilla/libfilezilla-0.44.0.ebuild)14
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild (renamed from dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild)10
-rw-r--r--dev-libs/libfmt/Manifest5
-rw-r--r--dev-libs/libfmt/libfmt-10.0.0-r1.ebuild (renamed from dev-libs/libfmt/libfmt-10.0.0.ebuild)6
-rw-r--r--dev-libs/libfmt/libfmt-10.1.0-r1.ebuild (renamed from dev-libs/libfmt/libfmt-10.1.1.ebuild)6
-rw-r--r--dev-libs/libfmt/libfmt-10.1.1-r1.ebuild (renamed from dev-libs/libfmt/libfmt-10.1.0.ebuild)6
-rw-r--r--dev-libs/libfmt/libfmt-10.2.0-r1.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.2.1-r2.ebuild33
-rw-r--r--dev-libs/libfmt/libfmt-11.0.0.ebuild33
-rw-r--r--dev-libs/libfmt/libfmt-11.0.1.ebuild33
-rw-r--r--dev-libs/libfmt/libfmt-11.0.2.ebuild33
-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.ebuild7
-rw-r--r--dev-libs/libfmt/metadata.xml1
-rw-r--r--dev-libs/libg15/libg15-1.2.7-r1.ebuild4
-rw-r--r--dev-libs/libg15/metadata.xml4
-rw-r--r--dev-libs/libg15render/files/libg15render-3.0.4-missing-include.patch11
-rw-r--r--dev-libs/libg15render/libg15render-1.2-r2.ebuild4
-rw-r--r--dev-libs/libg15render/libg15render-3.0.4-r1.ebuild53
-rw-r--r--dev-libs/libg15render/metadata.xml5
-rw-r--r--dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch4
-rw-r--r--dev-libs/libgamin/libgamin-0.1.10-r7.ebuild (renamed from dev-libs/libgamin/libgamin-0.1.10-r6.ebuild)24
-rw-r--r--dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild6
-rw-r--r--dev-libs/libgcrypt/Manifest6
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch50
-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.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.11.0-o-flag-munging.patch53
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch59
-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.2.ebuild17
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild (renamed from dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild)41
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild (renamed from dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild)24
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild (renamed from dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild)52
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild142
-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.ebuild (renamed from dev-libs/libgee/libgee-0.20.6.ebuild)25
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild4
-rw-r--r--dev-libs/libgit2/Manifest3
-rw-r--r--dev-libs/libgit2/libgit2-1.7.2.ebuild (renamed from dev-libs/libgit2/libgit2-1.7.1.ebuild)9
-rw-r--r--dev-libs/libgit2/libgit2-1.8.1.ebuild75
-rw-r--r--dev-libs/libgnome-games-support/libgnome-games-support-2.0.0.ebuild4
-rw-r--r--dev-libs/libgnt/libgnt-2.14.2.ebuild4
-rw-r--r--dev-libs/libgnt/libgnt-2.14.3.ebuild11
-rw-r--r--dev-libs/libgpg-error/Manifest6
-rw-r--r--dev-libs/libgpg-error/files/libgpg-error-1.48-remove_broken_check.patch20
-rw-r--r--dev-libs/libgpg-error/files/libgpg-error-1.50-environ.patch31
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild6
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.48.ebuild (renamed from dev-libs/libgpg-error/libgpg-error-1.47.ebuild)8
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.49.ebuild89
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.50.ebuild93
-rw-r--r--dev-libs/libgpiod/Manifest5
-rw-r--r--dev-libs/libgpiod/files/libgpiod-2.1-libtool.patch66
-rw-r--r--dev-libs/libgpiod/libgpiod-1.6.3-r4.ebuild52
-rw-r--r--dev-libs/libgpiod/libgpiod-1.6.4.ebuild4
-rw-r--r--dev-libs/libgpiod/libgpiod-2.1.1.ebuild (renamed from dev-libs/libgpiod/libgpiod-2.1.ebuild)15
-rw-r--r--dev-libs/libgpiod/libgpiod-2.1.2.ebuild (renamed from dev-libs/libgpiod/libgpiod-2.0.2.ebuild)10
-rw-r--r--dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild4
-rw-r--r--dev-libs/libgudev/files/238-clang18-export-dynamic.patch37
-rw-r--r--dev-libs/libgudev/libgudev-238-r2.ebuild51
-rw-r--r--dev-libs/libgusb/Manifest3
-rw-r--r--dev-libs/libgusb/libgusb-0.4.7.ebuild72
-rw-r--r--dev-libs/libgusb/libgusb-0.4.8.ebuild (renamed from dev-libs/libgusb/libgusb-0.4.6.ebuild)2
-rw-r--r--dev-libs/libgweather/Manifest3
-rw-r--r--dev-libs/libgweather/libgweather-4.4.0.ebuild88
-rw-r--r--dev-libs/libgweather/libgweather-4.4.2.ebuild (renamed from dev-libs/libgweather/libgweather-4.2.0.ebuild)4
-rw-r--r--dev-libs/libhid/libhid-0.2.17-r1.ebuild9
-rw-r--r--dev-libs/libical/Manifest3
-rw-r--r--dev-libs/libical/files/libical-3.0.4-tests.patch25
-rw-r--r--dev-libs/libical/libical-3.0.17.ebuild117
-rw-r--r--dev-libs/libical/libical-3.0.18.ebuild (renamed from dev-libs/libical/libical-3.0.16.ebuild)14
-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/libinput-1.25.0.ebuild (renamed from dev-libs/libinput/libinput-1.24.0.ebuild)10
-rw-r--r--dev-libs/libinput/libinput-1.26.1.ebuild102
-rw-r--r--dev-libs/libintl/Manifest8
-rw-r--r--dev-libs/libintl/libintl-0.22-r1.ebuild101
-rw-r--r--dev-libs/libintl/libintl-0.22.2.ebuild99
-rw-r--r--dev-libs/libintl/libintl-0.22.4.ebuild4
-rw-r--r--dev-libs/libintl/libintl-0.22.5.ebuild (renamed from dev-libs/libintl/libintl-0.22.3.ebuild)10
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild (renamed from dev-libs/libisoburn/libisoburn-1.5.6.ebuild)57
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild (renamed from dev-libs/libisofs/libisofs-1.5.6_p1.ebuild)31
-rw-r--r--dev-libs/libite/Manifest2
-rw-r--r--dev-libs/libite/libite-2.6.1.ebuild (renamed from dev-libs/libite/libite-2.5.3.ebuild)0
-rw-r--r--dev-libs/libixion/Manifest2
-rw-r--r--dev-libs/libixion/libixion-0.19.0.ebuild (renamed from dev-libs/libixion/libixion-0.17.0-r1.ebuild)12
-rw-r--r--dev-libs/libixion/libixion-9999.ebuild12
-rw-r--r--dev-libs/libjcat/Manifest1
-rw-r--r--dev-libs/libjcat/libjcat-0.1.14.ebuild4
-rw-r--r--dev-libs/libjcat/libjcat-0.2.1.ebuild82
-rw-r--r--dev-libs/libjcat/metadata.xml7
-rw-r--r--dev-libs/libjodycode/libjodycode-3.1.ebuild4
-rw-r--r--dev-libs/libjwt/Manifest1
-rw-r--r--dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch342
-rw-r--r--dev-libs/libjwt/libjwt-1.15.3.ebuild68
-rw-r--r--dev-libs/libjwt/metadata.xml26
-rw-r--r--dev-libs/libkpass/libkpass-6-r2.ebuild4
-rw-r--r--dev-libs/libksba/Manifest8
-rw-r--r--dev-libs/libksba/libksba-1.6.3.ebuild61
-rw-r--r--dev-libs/libksba/libksba-1.6.5.ebuild6
-rw-r--r--dev-libs/libksba/libksba-1.6.6.ebuild (renamed from dev-libs/libksba/libksba-1.6.4-r1.ebuild)4
-rw-r--r--dev-libs/libksba/libksba-1.6.7.ebuild (renamed from dev-libs/libksba/libksba-1.6.4.ebuild)13
-rw-r--r--dev-libs/libliftoff/Manifest2
-rw-r--r--dev-libs/libliftoff/libliftoff-0.4.1.ebuild4
-rw-r--r--dev-libs/libliftoff/libliftoff-0.5.0.ebuild (renamed from dev-libs/libliftoff/libliftoff-0.3.0.ebuild)4
-rw-r--r--dev-libs/libliftoff/metadata.xml3
-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.29.0.ebuild106
-rw-r--r--dev-libs/libltdl/Manifest1
-rw-r--r--dev-libs/libltdl/libltdl-2.4.7-r1.ebuild7
-rw-r--r--dev-libs/libltdl/libltdl-2.5.0.ebuild (renamed from dev-libs/libltdl/libltdl-2.4.7.ebuild)27
-rw-r--r--dev-libs/liblzw/liblzw-0.2-r1.ebuild4
-rw-r--r--dev-libs/liblzw/liblzw-0.3.ebuild4
-rw-r--r--dev-libs/liblzw/metadata.xml5
-rw-r--r--dev-libs/libmaa/libmaa-1.3.2-r1.ebuild6
-rw-r--r--dev-libs/libmaa/libmaa-1.4.7.ebuild8
-rw-r--r--dev-libs/libmanette/Manifest2
-rw-r--r--dev-libs/libmanette/libmanette-0.2.7.ebuild (renamed from dev-libs/libmanette/libmanette-0.2.6.ebuild)2
-rw-r--r--dev-libs/libmateweather/Manifest4
-rw-r--r--dev-libs/libmateweather/libmateweather-1.26.3.ebuild (renamed from dev-libs/libmateweather/libmateweather-1.26.1.ebuild)9
-rw-r--r--dev-libs/libmateweather/libmateweather-1.28.0.ebuild (renamed from dev-libs/libmateweather/libmateweather-1.26.0.ebuild)11
-rw-r--r--dev-libs/libmateweather/metadata.xml13
-rw-r--r--dev-libs/libmaxminddb/Manifest1
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-1.10.0.ebuild46
-rw-r--r--dev-libs/libmaxminddb/libmaxminddb-9999.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-r5.ebuild (renamed from dev-libs/libmba/libmba-0.9.1-r4.ebuild)9
-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/libmcrypt-2.5.8-r6.ebuild14
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild (renamed from dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild)32
-rw-r--r--dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild6
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild4
-rw-r--r--dev-libs/libmirage/Manifest2
-rw-r--r--dev-libs/libmirage/libmirage-3.2.7.ebuild2
-rw-r--r--dev-libs/libmirage/libmirage-3.2.8.ebuild (renamed from dev-libs/libmirage/libmirage-3.2.6.ebuild)21
-rw-r--r--dev-libs/libmirage/metadata.xml1
-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/libnatspec/libnatspec-0.3.0.ebuild6
-rw-r--r--dev-libs/libnfc/libnfc-1.8.0-r1.ebuild4
-rw-r--r--dev-libs/libnl/Manifest1
-rw-r--r--dev-libs/libnl/libnl-3.10.0.ebuild133
-rw-r--r--dev-libs/libnl/libnl-3.7.0.ebuild6
-rw-r--r--dev-libs/libnl/libnl-3.8.0.ebuild8
-rw-r--r--dev-libs/libnl/libnl-3.9.0.ebuild21
-rw-r--r--dev-libs/libnl/libnl-9999.ebuild19
-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.1.ebuild (renamed from dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild)13
-rw-r--r--dev-libs/libnsutils/libnsutils-9999.ebuild6
-rw-r--r--dev-libs/libofx/libofx-0.10.9.ebuild4
-rw-r--r--dev-libs/liboil/files/liboil-0.3.17-c99-configure.patch21
-rw-r--r--dev-libs/liboil/liboil-0.3.17-r5.ebuild (renamed from dev-libs/liboil/liboil-0.3.17-r4.ebuild)11
-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/files/liborcus-0.17.2-gcc-14.patch21
-rw-r--r--dev-libs/liborcus/files/liborcus-0.17.2-python-optional.patch26
-rw-r--r--dev-libs/liborcus/liborcus-0.19.2.ebuild (renamed from dev-libs/liborcus/liborcus-0.17.2-r1.ebuild)23
-rw-r--r--dev-libs/liborcus/liborcus-9999.ebuild17
-rw-r--r--dev-libs/libotf/libotf-0.9.16-r1.ebuild (renamed from dev-libs/libotf/libotf-0.9.16.ebuild)13
-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/libp11-0.4.12-r1.ebuild31
-rw-r--r--dev-libs/libp11/libp11-0.4.12-r7.ebuild (renamed from dev-libs/libp11/libp11-0.4.12-r4.ebuild)13
-rw-r--r--dev-libs/libparserutils/Manifest2
-rw-r--r--dev-libs/libparserutils/libparserutils-0.2.5.ebuild (renamed from dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild)6
-rw-r--r--dev-libs/libpcre-debian/libpcre-debian-8-r3.ebuild (renamed from dev-libs/libpcre-debian/libpcre-debian-8-r2.ebuild)9
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r1.ebuild6
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r2.ebuild6
-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.42-r1.ebuild4
-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/libpcre2-10.44-r1.ebuild117
-rw-r--r--dev-libs/libpfm/Manifest1
-rw-r--r--dev-libs/libpfm/libpfm-4.11.0.ebuild6
-rw-r--r--dev-libs/libpfm/libpfm-4.12.0.ebuild8
-rw-r--r--dev-libs/libpfm/libpfm-4.13.0.ebuild45
-rw-r--r--dev-libs/libpo6/Manifest1
-rw-r--r--dev-libs/libpo6/libpo6-0.8.0.ebuild21
-rw-r--r--dev-libs/libportal/Manifest1
-rw-r--r--dev-libs/libportal/libportal-0.6.ebuild89
-rw-r--r--dev-libs/libportal/libportal-0.7.1.ebuild4
-rw-r--r--dev-libs/libpqxx/libpqxx-7.7.5.ebuild11
-rw-r--r--dev-libs/libpsl-native/Manifest1
-rw-r--r--dev-libs/libpsl-native/files/libpsl-native-7.3.2-cmake.patch36
-rw-r--r--dev-libs/libpsl-native/libpsl-native-7.3.2.ebuild39
-rw-r--r--dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild4
-rw-r--r--dev-libs/libpthread-stubs/Manifest1
-rw-r--r--dev-libs/libpthread-stubs/libpthread-stubs-0.4-r1.ebuild23
-rw-r--r--dev-libs/libptytty/metadata.xml5
-rw-r--r--dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch35
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild (renamed from dev-libs/libpwquality/libpwquality-1.4.5.ebuild)20
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild90
-rw-r--r--dev-libs/libpy/libpy-0.2.5-r3.ebuild (renamed from dev-libs/libpy/libpy-0.2.5-r2.ebuild)4
-rw-r--r--dev-libs/libqt5pas/Manifest3
-rw-r--r--dev-libs/libqt5pas/libqt5pas-1.2.15.ebuild40
-rw-r--r--dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild4
-rw-r--r--dev-libs/libqt6pas/Manifest1
-rw-r--r--dev-libs/libqt6pas/files/libqt6pas-1.0.0-remove-wrapper-of-undefined-method.patch29
-rw-r--r--dev-libs/libqt6pas/libqt6pas-6.2.7.ebuild39
-rw-r--r--dev-libs/libqt6pas/metadata.xml12
-rw-r--r--dev-libs/libqtxdg/Manifest1
-rw-r--r--dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild4
-rw-r--r--dev-libs/libqtxdg/libqtxdg-4.0.0.ebuild51
-rw-r--r--dev-libs/libqtxdg/metadata.xml4
-rw-r--r--dev-libs/libratbag/Manifest2
-rw-r--r--dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch69
-rw-r--r--dev-libs/libratbag/files/libratbag-0.17-python3.12-imp.patch38
-rw-r--r--dev-libs/libratbag/libratbag-0.17-r1.ebuild (renamed from dev-libs/libratbag/libratbag-0.17.ebuild)20
-rw-r--r--dev-libs/libratbag/libratbag-0.17-r2.ebuild (renamed from dev-libs/libratbag/libratbag-0.15.ebuild)25
-rw-r--r--dev-libs/libratbag/libratbag-9999.ebuild (renamed from dev-libs/libratbag/libratbag-0.16.ebuild)25
-rw-r--r--dev-libs/librdkafka/Manifest2
-rw-r--r--dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch285
-rw-r--r--dev-libs/librdkafka/librdkafka-1.8.2.ebuild106
-rw-r--r--dev-libs/librdkafka/librdkafka-2.1.1.ebuild106
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild (renamed from dev-libs/librdkafka/librdkafka-2.2.0.ebuild)10
-rw-r--r--dev-libs/libretls/libretls-3.8.1.ebuild18
-rw-r--r--dev-libs/librevenge/librevenge-0.0.5.ebuild4
-rw-r--r--dev-libs/librevenge/librevenge-9999.ebuild4
-rw-r--r--dev-libs/libsass/Manifest1
-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/libscfg/Manifest1
-rw-r--r--dev-libs/libscfg/libscfg-0.1.1.ebuild18
-rw-r--r--dev-libs/libscfg/metadata.xml (renamed from dev-libs/yascreen/metadata.xml)2
-rw-r--r--dev-libs/libsecp256k1/Manifest2
-rw-r--r--dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch (renamed from dev-libs/libsecp256k1/files/0.2.0-fix-cross-compile.patch)50
-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.3.0.ebuild8
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild8
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild8
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild8
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild64
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.5.0.ebuild65
-rw-r--r--dev-libs/libsecp256k1/metadata.xml1
-rw-r--r--dev-libs/libserdes/metadata.xml3
-rw-r--r--dev-libs/libsigc++/Manifest1
-rw-r--r--dev-libs/libsigc++/libsigc++-2.12.0.ebuild4
-rw-r--r--dev-libs/libsigc++/libsigc++-3.4.0.ebuild40
-rw-r--r--dev-libs/libsigc++/libsigc++-3.6.0.ebuild6
-rw-r--r--dev-libs/libsigsegv/files/libsigsegv-2.14-c99.patch79
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild40
-rw-r--r--dev-libs/libslz/libslz-1.2.0-r1.ebuild4
-rw-r--r--dev-libs/libsodium/Manifest8
-rw-r--r--dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch (renamed from dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch)10
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild (renamed from dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild)13
-rw-r--r--dev-libs/libsodium/libsodium-1.0.20.ebuild (renamed from dev-libs/libsodium/libsodium-1.0.19-r1.ebuild)16
-rw-r--r--dev-libs/libsodium/metadata.xml1
-rw-r--r--dev-libs/libspnav/libspnav-0.2.3-r1.ebuild4
-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/Manifest2
-rw-r--r--dev-libs/libstrophe/libstrophe-0.12.2.ebuild4
-rw-r--r--dev-libs/libstrophe/libstrophe-0.12.3.ebuild4
-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/libtecla/libtecla-1.6.3-r1.ebuild16
-rw-r--r--dev-libs/libtermkey/files/libtermkey-0.22-libtool.patch103
-rw-r--r--dev-libs/libtermkey/libtermkey-0.22-r1.ebuild4
-rw-r--r--dev-libs/libtermkey/libtermkey-0.22-r2.ebuild48
-rw-r--r--dev-libs/libthreadar/libthreadar-1.4.0-r1.ebuild (renamed from dev-libs/libthreadar/libthreadar-1.4.0.ebuild)15
-rw-r--r--dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild18
-rw-r--r--dev-libs/libtommath/Manifest1
-rw-r--r--dev-libs/libtommath/libtommath-1.2.0-r2.ebuild96
-rw-r--r--dev-libs/libtommath/libtommath-1.2.1.ebuild4
-rw-r--r--dev-libs/libtracecmd/Manifest1
-rw-r--r--dev-libs/libtracecmd/libtracecmd-1.5.1.ebuild46
-rw-r--r--dev-libs/libtracecmd/metadata.xml12
-rw-r--r--dev-libs/libtraceevent/Manifest3
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild50
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.7.2.ebuild59
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild4
-rw-r--r--dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild48
-rw-r--r--dev-libs/libtracefs/Manifest4
-rw-r--r--dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch25
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild55
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild55
-rw-r--r--dev-libs/libtracefs/libtracefs-1.6.4.ebuild55
-rw-r--r--dev-libs/libtracefs/libtracefs-1.7.0.ebuild8
-rw-r--r--dev-libs/libtracefs/libtracefs-1.8.0.ebuild53
-rw-r--r--dev-libs/libtreadstone/Manifest1
-rw-r--r--dev-libs/libtreadstone/libtreadstone-0.2.0.ebuild27
-rw-r--r--dev-libs/libtreadstone/metadata.xml8
-rw-r--r--dev-libs/libtsm/Manifest2
-rw-r--r--dev-libs/libtsm/files/libtsm-clang16-static_assert-fix.patch10
-rw-r--r--dev-libs/libtsm/libtsm-4.0.2.ebuild17
-rw-r--r--dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild22
-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/libuev/Manifest1
-rw-r--r--dev-libs/libuev/libuev-2.4.1.ebuild24
-rw-r--r--dev-libs/libunibreak/Manifest1
-rw-r--r--dev-libs/libunibreak/libunibreak-5.1.ebuild4
-rw-r--r--dev-libs/libunibreak/libunibreak-6.1.ebuild53
-rw-r--r--dev-libs/libuninum/files/libuninum-2.7-64bit.patch37
-rw-r--r--dev-libs/libuninum/files/libuninum-2.7-c99.patch30
-rw-r--r--dev-libs/libuninum/libuninum-2.7-r3.ebuild (renamed from dev-libs/libuninum/libuninum-2.7-r2.ebuild)10
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r3.ebuild (renamed from dev-libs/libunique/libunique-1.1.6-r2.ebuild)15
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r2.ebuild (renamed from dev-libs/libunique/libunique-3.0.2-r1.ebuild)14
-rw-r--r--dev-libs/libunistring/Manifest1
-rw-r--r--dev-libs/libunistring/libunistring-0.9.10-r1.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/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/libutf8proc/Manifest2
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.8.0.ebuild57
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild4
-rw-r--r--dev-libs/libuv/Manifest6
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch32
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch54
-rw-r--r--dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch21
-rw-r--r--dev-libs/libuv/libuv-1.45.0.ebuild53
-rw-r--r--dev-libs/libuv/libuv-1.46.0.ebuild53
-rw-r--r--dev-libs/libuv/libuv-1.47.0-r1.ebuild58
-rw-r--r--dev-libs/libuv/libuv-1.48.0.ebuild (renamed from dev-libs/libuv/libuv-1.44.2-r1.ebuild)27
-rw-r--r--dev-libs/libuv/libuv-9999.ebuild25
-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/libvoikko-4.3.2.ebuild8
-rw-r--r--dev-libs/libvterm/libvterm-0.1.4.ebuild4
-rw-r--r--dev-libs/libvterm/libvterm-0.3.1.ebuild4
-rw-r--r--dev-libs/libvterm/libvterm-0.3.2.ebuild4
-rw-r--r--dev-libs/libvterm/libvterm-0.3.ebuild4
-rw-r--r--dev-libs/libwacom/Manifest6
-rw-r--r--dev-libs/libwacom/libwacom-2.10.0.ebuild (renamed from dev-libs/libwacom/libwacom-2.8.0.ebuild)9
-rw-r--r--dev-libs/libwacom/libwacom-2.11.0.ebuild (renamed from dev-libs/libwacom/libwacom-2.7.0.ebuild)25
-rw-r--r--dev-libs/libwacom/libwacom-2.12.2.ebuild (renamed from dev-libs/libwacom/libwacom-2.6.0.ebuild)25
-rw-r--r--dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild6
-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/libxdg-basedir/libxdg-basedir-1.2.3.ebuild4
-rw-r--r--dev-libs/libxls/libxls-1.6.2-r1.ebuild4
-rw-r--r--dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild4
-rw-r--r--dev-libs/libxml2/Manifest12
-rw-r--r--dev-libs/libxml2/files/libxml2-2.10.3-python3-unicode-errors.patch35
-rw-r--r--dev-libs/libxml2/libxml2-2.10.4.ebuild203
-rw-r--r--dev-libs/libxml2/libxml2-2.11.7.ebuild (renamed from dev-libs/libxml2/libxml2-2.11.5-r1.ebuild)6
-rw-r--r--dev-libs/libxml2/libxml2-2.11.8.ebuild (renamed from dev-libs/libxml2/libxml2-2.11.6.ebuild)6
-rw-r--r--dev-libs/libxml2/libxml2-2.12.5.ebuild (renamed from dev-libs/libxml2/libxml2-2.11.5.ebuild)8
-rw-r--r--dev-libs/libxml2/libxml2-2.12.6.ebuild (renamed from dev-libs/libxml2/libxml2-2.11.4.ebuild)12
-rw-r--r--dev-libs/libxml2/libxml2-2.12.7.ebuild196
-rw-r--r--dev-libs/libxml2/libxml2-2.12.8.ebuild (renamed from dev-libs/libxml2/libxml2-2.12.2.ebuild)6
-rw-r--r--dev-libs/libxml2/libxml2-2.13.1.ebuild187
-rw-r--r--dev-libs/libxml2/libxml2-9999.ebuild19
-rw-r--r--dev-libs/libxmlb/Manifest2
-rw-r--r--dev-libs/libxmlb/libxmlb-0.3.14.ebuild6
-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.xml5
-rw-r--r--dev-libs/libxslt/Manifest3
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch93
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch40
-rw-r--r--dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch171
-rw-r--r--dev-libs/libxslt/libxslt-1.1.37-r1.ebuild127
-rw-r--r--dev-libs/libxslt/libxslt-1.1.39.ebuild7
-rw-r--r--dev-libs/libxslt/libxslt-1.1.41.ebuild (renamed from dev-libs/libxslt/libxslt-1.1.38.ebuild)28
-rw-r--r--dev-libs/libxslt/libxslt-9999.ebuild26
-rw-r--r--dev-libs/libyaml/libyaml-0.2.2.ebuild4
-rw-r--r--dev-libs/libyaml/libyaml-0.2.5.ebuild4
-rw-r--r--dev-libs/libzia/Manifest5
-rw-r--r--dev-libs/libzia/libzia-4.49.ebuild54
-rw-r--r--dev-libs/libzia/libzia-4.59.ebuild (renamed from dev-libs/libzia/libzia-4.46.ebuild)9
-rw-r--r--dev-libs/libzia/libzia-4.60.ebuild (renamed from dev-libs/libzia/libzia-4.52.ebuild)6
-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.12.4.ebuild (renamed from dev-libs/link-grammar/link-grammar-5.12.3.ebuild)17
-rw-r--r--dev-libs/link-grammar/link-grammar-5.12.5.ebuild117
-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.ebuild4
-rw-r--r--dev-libs/log4cpp/Manifest1
-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.ebuild6
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild6
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.4.ebuild59
-rw-r--r--dev-libs/log4cxx/Manifest1
-rw-r--r--dev-libs/log4cxx/log4cxx-1.2.0.ebuild45
-rw-r--r--dev-libs/log4sh/log4sh-1.4.2.ebuild4
-rw-r--r--dev-libs/m17n-lib/Manifest1
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-1.8.0-configure.patch91
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-clang.patch21
-rw-r--r--dev-libs/m17n-lib/files/m17n-lib-configure.patch167
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.8.0-r1.ebuild (renamed from dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild)17
-rw-r--r--dev-libs/m17n-lib/m17n-lib-1.8.4-r1.ebuild89
-rw-r--r--dev-libs/m17n-lib/metadata.xml3
-rw-r--r--dev-libs/maloc/maloc-1.5-r1.ebuild4
-rw-r--r--dev-libs/marisa/metadata.xml4
-rw-r--r--dev-libs/mathjax/Manifest2
-rw-r--r--dev-libs/mathjax/mathjax-2.7.7-r1.ebuild93
-rw-r--r--dev-libs/mathjax/mathjax-3.2.2-r2.ebuild66
-rw-r--r--dev-libs/mathjax/metadata.xml4
-rw-r--r--dev-libs/metee/Manifest4
-rw-r--r--dev-libs/metee/metee-3.2.4.ebuild (renamed from dev-libs/metee/metee-3.2.3.ebuild)4
-rw-r--r--dev-libs/metee/metee-4.1.0.ebuild37
-rw-r--r--dev-libs/metee/metee-4.2.0.ebuild37
-rw-r--r--dev-libs/mimalloc/Manifest3
-rw-r--r--dev-libs/mimalloc/mimalloc-2.1.2.ebuild9
-rw-r--r--dev-libs/mimalloc/mimalloc-2.1.4.ebuild36
-rw-r--r--dev-libs/mimalloc/mimalloc-2.1.6.ebuild39
-rw-r--r--dev-libs/mimalloc/mimalloc-2.1.7.ebuild32
-rw-r--r--dev-libs/mimetic/metadata.xml8
-rw-r--r--dev-libs/mimetic/mimetic-0.9.8.ebuild8
-rw-r--r--dev-libs/miniz/Manifest1
-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/modsecurity/Manifest3
-rw-r--r--dev-libs/modsecurity/modsecurity-3.0.10-r1.ebuild82
-rw-r--r--dev-libs/modsecurity/modsecurity-3.0.10.ebuild4
-rw-r--r--dev-libs/modsecurity/modsecurity-3.0.12.ebuild (renamed from dev-libs/modsecurity/modsecurity-3.0.9.ebuild)21
-rw-r--r--dev-libs/mpdecimal/Manifest2
-rw-r--r--dev-libs/mpdecimal/metadata.xml (renamed from dev-libs/busybee/metadata.xml)4
-rw-r--r--dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild63
-rw-r--r--dev-libs/mpfr/Manifest14
-rw-r--r--dev-libs/mpfr/mpfr-4.2.0_p12.ebuild98
-rw-r--r--dev-libs/msgpack/msgpack-5.0.0.ebuild4
-rw-r--r--dev-libs/msgpack/msgpack-6.0.0-r1.ebuild4
-rw-r--r--dev-libs/mxml/Manifest1
-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/Manifest2
-rw-r--r--dev-libs/ncnn/ncnn-20240410.ebuild (renamed from dev-libs/ncnn/ncnn-20231027.ebuild)28
-rw-r--r--dev-libs/nettle/Manifest4
-rw-r--r--dev-libs/nettle/metadata.xml3
-rw-r--r--dev-libs/nettle/nettle-3.10.ebuild (renamed from dev-libs/nettle/nettle-3.9.ebuild)22
-rw-r--r--dev-libs/nettle/nettle-3.9.1-r1.ebuild (renamed from dev-libs/nettle/nettle-3.9.1.ebuild)9
-rw-r--r--dev-libs/newt/Manifest1
-rw-r--r--dev-libs/newt/files/newt-0.52.14-tcl.patch108
-rw-r--r--dev-libs/newt/files/newt-0.52.22-gold.patch13
-rw-r--r--dev-libs/newt/newt-0.52.23-r1.ebuild102
-rw-r--r--dev-libs/newt/newt-0.52.23.ebuild103
-rw-r--r--dev-libs/newt/newt-0.52.24.ebuild6
-rw-r--r--dev-libs/nmeap/nmeap-0.3-r2.ebuild6
-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-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/nsgenbind-0.9.ebuild (renamed from dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild)9
-rw-r--r--dev-libs/nspr/nspr-4.35-r2.ebuild18
-rw-r--r--dev-libs/nss/Manifest12
-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.90-remove-support-of-curve25519.patch78
-rw-r--r--dev-libs/nss/files/nss-3.90.2-backport-D180718.patch35
-rw-r--r--dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch35
-rw-r--r--dev-libs/nss/nss-3.101.1.ebuild (renamed from dev-libs/nss/nss-3.95.ebuild)11
-rw-r--r--dev-libs/nss/nss-3.102.1.ebuild (renamed from dev-libs/nss/nss-3.94.ebuild)11
-rw-r--r--dev-libs/nss/nss-3.102.ebuild (renamed from dev-libs/nss/nss-3.92.ebuild)15
-rw-r--r--dev-libs/nss/nss-3.79.4.ebuild395
-rw-r--r--dev-libs/nss/nss-3.90.2-r1.ebuild (renamed from dev-libs/nss/nss-3.91.ebuild)26
-rw-r--r--dev-libs/nss/nss-3.93.ebuild415
-rw-r--r--dev-libs/nsync/Manifest2
-rw-r--r--dev-libs/nsync/metadata.xml3
-rw-r--r--dev-libs/nsync/nsync-1.25.0.ebuild4
-rw-r--r--dev-libs/nsync/nsync-1.26.0.ebuild (renamed from dev-libs/nsync/nsync-1.24.0-r1.ebuild)4
-rw-r--r--dev-libs/nwjs/Manifest2
-rw-r--r--dev-libs/nwjs/metadata.xml3
-rw-r--r--dev-libs/nwjs/nwjs-0.88.0.ebuild (renamed from dev-libs/nwjs/nwjs-0.80.0.ebuild)12
-rw-r--r--dev-libs/olm/Manifest1
-rw-r--r--dev-libs/olm/files/olm-3.2.16-cmake.patch56
-rw-r--r--dev-libs/olm/olm-3.2.16.ebuild25
-rw-r--r--dev-libs/oneDNN/Manifest4
-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.6.ebuild134
-rw-r--r--dev-libs/oneDNN/oneDNN-3.4.3.ebuild133
-rw-r--r--dev-libs/oneDNN/oneDNN-3.4.ebuild133
-rw-r--r--dev-libs/oneDNN/oneDNN-3.5.ebuild133
-rw-r--r--dev-libs/oniguruma/metadata.xml4
-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-17.0.0-clang_library_dir.patch19
-rw-r--r--dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild (renamed from dev-libs/opencl-clang/opencl-clang-15.0.0.ebuild)14
-rw-r--r--dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild (renamed from dev-libs/opencl-clang/opencl-clang-16.0.0-r1.ebuild)14
-rw-r--r--dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild42
-rw-r--r--dev-libs/opencl-clang/opencl-clang-18.1.0.ebuild (renamed from dev-libs/opencl-clang/opencl-clang-14.0.0.ebuild)27
-rw-r--r--dev-libs/opencl-icd-loader/Manifest3
-rw-r--r--dev-libs/opencl-icd-loader/metadata.xml5
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild (renamed from dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild)4
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2024.05.08.ebuild44
-rw-r--r--dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild4
-rw-r--r--dev-libs/openct/openct-0.6.20-r5.ebuild8
-rw-r--r--dev-libs/openobex/metadata.xml5
-rw-r--r--dev-libs/openobex/openobex-1.7.2-r3.ebuild6
-rw-r--r--dev-libs/openpace/openpace-1.1.3.ebuild4
-rw-r--r--dev-libs/opensc/Manifest2
-rw-r--r--dev-libs/opensc/files/opensc-0.23.0-CVE-2023-2977.patch49
-rw-r--r--dev-libs/opensc/files/opensc-0.23.0-backport-pr2656.patch215
-rw-r--r--dev-libs/opensc/files/opensc-0.23.0-backport-pr2765.patch39
-rw-r--r--dev-libs/opensc/opensc-0.23.0-r3.ebuild82
-rw-r--r--dev-libs/opensc/opensc-0.25.1.ebuild (renamed from dev-libs/opensc/opensc-0.23.0-r2.ebuild)24
-rw-r--r--dev-libs/opensc/opensc-9999.ebuild30
-rw-r--r--dev-libs/openssl-compat/metadata.xml1
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild14
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild4
-rw-r--r--dev-libs/openssl/Manifest34
-rw-r--r--dev-libs/openssl/files/gentoo.config-1.0.42
-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.9-CVE-2023-2975.patch109
-rw-r--r--dev-libs/openssl/files/openssl-3.0.9-CVE-2023-3446.patch120
-rw-r--r--dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch137
-rw-r--r--dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch78
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch137
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch79
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-riscv.patch70
-rw-r--r--dev-libs/openssl/files/openssl-3.2.1-s390x.patch31
-rw-r--r--dev-libs/openssl/files/openssl-3.3.1-riscv.patch96
-rw-r--r--dev-libs/openssl/metadata.xml2
-rw-r--r--dev-libs/openssl/openssl-1.0.2u-r1.ebuild10
-rw-r--r--dev-libs/openssl/openssl-1.1.1u.ebuild268
-rw-r--r--dev-libs/openssl/openssl-1.1.1w.ebuild6
-rw-r--r--dev-libs/openssl/openssl-3.0.11.ebuild288
-rw-r--r--dev-libs/openssl/openssl-3.0.13-r2.ebuild (renamed from dev-libs/openssl/openssl-3.0.10.ebuild)21
-rw-r--r--dev-libs/openssl/openssl-3.0.14.ebuild (renamed from dev-libs/openssl/openssl-3.0.12.ebuild)16
-rw-r--r--dev-libs/openssl/openssl-3.0.9-r1.ebuild286
-rw-r--r--dev-libs/openssl/openssl-3.0.9-r2.ebuild293
-rw-r--r--dev-libs/openssl/openssl-3.1.5-r2.ebuild (renamed from dev-libs/openssl/openssl-3.1.3.ebuild)19
-rw-r--r--dev-libs/openssl/openssl-3.1.6.ebuild (renamed from dev-libs/openssl/openssl-3.1.4.ebuild)14
-rw-r--r--dev-libs/openssl/openssl-3.2.1-r2.ebuild (renamed from dev-libs/openssl/openssl-3.1.2.ebuild)29
-rw-r--r--dev-libs/openssl/openssl-3.2.2.ebuild (renamed from dev-libs/openssl/openssl-3.2.0.ebuild)18
-rw-r--r--dev-libs/openssl/openssl-3.3.0.ebuild301
-rw-r--r--dev-libs/openssl/openssl-3.3.1.ebuild303
-rw-r--r--dev-libs/optix/metadata.xml4
-rw-r--r--dev-libs/optix/optix-7.5.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-r1.ebuild6
-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-r2.ebuild (renamed from dev-libs/pcl/pcl-1.12-r1.ebuild)12
-rw-r--r--dev-libs/pegtl/pegtl-3.2.7.ebuild4
-rw-r--r--dev-libs/pfs/Manifest1
-rw-r--r--dev-libs/pfs/files/pfs-0.10.0-Werror.patch11
-rw-r--r--dev-libs/pfs/metadata.xml (renamed from dev-libs/hyperscan/metadata.xml)6
-rw-r--r--dev-libs/pfs/pfs-0.10.0.ebuild35
-rw-r--r--dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild4
-rw-r--r--dev-libs/plasma-wayland-protocols/Manifest4
-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.11.1.ebuild18
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0.ebuild18
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.13.0.ebuild35
-rw-r--r--dev-libs/pocketfft/Manifest1
-rw-r--r--dev-libs/pocketfft/pocketfft-2023.12.30.ebuild22
-rw-r--r--dev-libs/pocl/Manifest2
-rw-r--r--dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch41
-rw-r--r--dev-libs/pocl/metadata.xml2
-rw-r--r--dev-libs/pocl/pocl-4.0.ebuild7
-rw-r--r--dev-libs/pocl/pocl-5.0.ebuild115
-rw-r--r--dev-libs/pocl/pocl-6.0.ebuild115
-rw-r--r--dev-libs/poco/Manifest3
-rw-r--r--dev-libs/poco/metadata.xml2
-rw-r--r--dev-libs/poco/poco-1.11.2-r1.ebuild141
-rw-r--r--dev-libs/poco/poco-1.12.4.ebuild4
-rw-r--r--dev-libs/poco/poco-1.13.3.ebuild (renamed from dev-libs/poco/poco-1.12.2-r2.ebuild)38
-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.ebuild (renamed from dev-libs/popt/popt-1.19.ebuild)11
-rw-r--r--dev-libs/ppl/ppl-1.2-r5.ebuild10
-rw-r--r--dev-libs/protobuf-c/Manifest1
-rw-r--r--dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch117
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild56
-rw-r--r--dev-libs/protobuf-c/protobuf-c-1.5.0.ebuild45
-rw-r--r--dev-libs/protobuf/Manifest6
-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-messages_lite-template-instances.patch66
-rw-r--r--dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch37
-rw-r--r--dev-libs/protobuf/metadata.xml17
-rw-r--r--dev-libs/protobuf/protobuf-22.5-r1.ebuild124
-rw-r--r--dev-libs/protobuf/protobuf-22.5-r2.ebuild133
-rw-r--r--dev-libs/protobuf/protobuf-23.3-r4.ebuild116
-rw-r--r--dev-libs/protobuf/protobuf-23.4.ebuild126
-rw-r--r--dev-libs/protobuf/protobuf-24.4.ebuild125
-rw-r--r--dev-libs/protobuf/protobuf-25.3.ebuild125
-rw-r--r--dev-libs/protobuf/protobuf-26.1-r1.ebuild (renamed from dev-libs/protobuf/protobuf-23.3-r2.ebuild)9
-rw-r--r--dev-libs/protobuf/protobuf-26.1-r2.ebuild125
-rw-r--r--dev-libs/protobuf/protobuf-27.2.ebuild160
-rw-r--r--dev-libs/protobuf/protobuf-9999.ebuild160
-rw-r--r--dev-libs/pslib/pslib-0.4.6.ebuild4
-rw-r--r--dev-libs/ptexenc/Manifest1
-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-2023.08.29.ebuild (renamed from dev-libs/pthreadpool/pthreadpool-2022.05.09-r1.ebuild)8
-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/Manifest2
-rw-r--r--dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild (renamed from dev-libs/qcoro5/qcoro5-0.9.0.ebuild)7
-rw-r--r--dev-libs/qcustomplot/Manifest4
-rw-r--r--dev-libs/qcustomplot/metadata.xml5
-rw-r--r--dev-libs/qcustomplot/qcustomplot-2.1.1.ebuild (renamed from dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild)7
-rw-r--r--dev-libs/qoauth/metadata.xml5
-rw-r--r--dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild4
-rw-r--r--dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild4
-rw-r--r--dev-libs/qtkeychain/Manifest2
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.14.3.ebuild (renamed from dev-libs/qtkeychain/qtkeychain-0.14.1-r1.ebuild)4
-rw-r--r--dev-libs/quazip/quazip-1.4-r1.ebuild2
-rw-r--r--dev-libs/qxlsx/Manifest4
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch26
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.7.ebuild (renamed from dev-libs/qxlsx/qxlsx-1.4.5.ebuild)4
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.8.ebuild (renamed from dev-libs/qxlsx/qxlsx-1.4.6.ebuild)14
-rw-r--r--dev-libs/raft/Manifest3
-rw-r--r--dev-libs/raft/raft-0.18.0.ebuild55
-rw-r--r--dev-libs/raft/raft-0.22.1.ebuild (renamed from dev-libs/raft/raft-0.18.2.ebuild)7
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild6
-rw-r--r--dev-libs/rapidjson/rapidjson-9999.ebuild4
-rw-r--r--dev-libs/rasqal/files/rasqal-0.9.33-configure-c99.patch29
-rw-r--r--dev-libs/rasqal/rasqal-0.9.33-r2.ebuild (renamed from dev-libs/rasqal/rasqal-0.9.33-r1.ebuild)5
-rw-r--r--dev-libs/rccl/Manifest3
-rw-r--r--dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch31
-rw-r--r--dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch32
-rw-r--r--dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch17
-rw-r--r--dev-libs/rccl/files/rccl-6.0.2-fix-version-check.patch15
-rw-r--r--dev-libs/rccl/metadata.xml6
-rw-r--r--dev-libs/rccl/rccl-5.1.3.ebuild51
-rw-r--r--dev-libs/rccl/rccl-5.7.1.ebuild79
-rw-r--r--dev-libs/rccl/rccl-6.1.1.ebuild69
-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/rinutils/Manifest1
-rw-r--r--dev-libs/rinutils/rinutils-0.10.0.ebuild23
-rw-r--r--dev-libs/rinutils/rinutils-0.10.2-r1.ebuild4
-rw-r--r--dev-libs/rlog/rlog-1.4.ebuild4
-rw-r--r--dev-libs/rocdbgapi/Manifest2
-rw-r--r--dev-libs/rocdbgapi/metadata.xml15
-rw-r--r--dev-libs/rocdbgapi/rocdbgapi-5.7.1.ebuild60
-rw-r--r--dev-libs/rocdbgapi/rocdbgapi-6.1.1.ebuild63
-rw-r--r--dev-libs/rocksdb/Manifest7
-rw-r--r--dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch40
-rw-r--r--dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild4
-rw-r--r--dev-libs/rocksdb/rocksdb-6.15.5-r1.ebuild52
-rw-r--r--dev-libs/rocksdb/rocksdb-6.17.3-r1.ebuild53
-rw-r--r--dev-libs/rocksdb/rocksdb-8.10.0.ebuild (renamed from dev-libs/rocksdb/rocksdb-8.6.7.ebuild)14
-rw-r--r--dev-libs/rocksdb/rocksdb-8.11.3.ebuild (renamed from dev-libs/rocksdb/rocksdb-6.29.5.ebuild)31
-rw-r--r--dev-libs/rocksdb/rocksdb-9.3.1.ebuild80
-rw-r--r--dev-libs/rocm-comgr/Manifest1
-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-6.0.0-extend-isa-compatibility-check.patch204
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch31
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-enforce-oop-compiler.patch26
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-fix-comgr-default-flags.patch51
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-llvm-18-compat.patch79
-rw-r--r--dev-libs/rocm-comgr/metadata.xml6
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild3
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild88
-rw-r--r--dev-libs/rocm-device-libs/Manifest1
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.0-test-bitcode-dir.patch37
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-6.0.0-add-gws-attribute.patch22
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-llvm-link.patch28
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures.patch64
-rw-r--r--dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures2.patch44
-rw-r--r--dev-libs/rocm-device-libs/metadata.xml6
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-5.7.1.ebuild9
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild83
-rw-r--r--dev-libs/rocm-opencl-runtime/Manifest1
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.1.3.ebuild7
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.3.3-r1.ebuild7
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.4.3-r1.ebuild7
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.5.1.ebuild7
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild (renamed from dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1.ebuild)36
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.1.ebuild93
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild128
-rw-r--r--dev-libs/rocr-runtime/Manifest1
-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.patch117
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-ld-lld.patch17
-rw-r--r--dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-musl.patch106
-rw-r--r--dev-libs/rocr-runtime/metadata.xml6
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild3
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild6
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.4.3-r1.ebuild6
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild11
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-5.7.1-r3.ebuild (renamed from dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild)29
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild62
-rw-r--r--dev-libs/roct-thunk-interface/Manifest1
-rw-r--r--dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-libpath.patch13
-rw-r--r--dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-linklibLLVM.patch31
-rw-r--r--dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-skipIPCtest.patch20
-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.1.0-visibility.patch26
-rw-r--r--dev-libs/roct-thunk-interface/metadata.xml2
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-5.5.1.ebuild3
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild (renamed from dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1.ebuild)8
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.1.ebuild81
-rw-r--r--dev-libs/s2n/metadata.xml3
-rw-r--r--dev-libs/sentry-native/Manifest4
-rw-r--r--dev-libs/sentry-native/files/sentry-native-0.6.5_cmake-breakpad.patch14
-rw-r--r--dev-libs/sentry-native/metadata.xml5
-rw-r--r--dev-libs/sentry-native/sentry-native-0.7.2.ebuild (renamed from dev-libs/sentry-native/sentry-native-0.6.6.ebuild)9
-rw-r--r--dev-libs/sentry-native/sentry-native-0.7.6.ebuild (renamed from dev-libs/sentry-native/sentry-native-0.6.5-r1.ebuild)14
-rw-r--r--dev-libs/serd/Manifest3
-rw-r--r--dev-libs/serd/serd-0.30.16.ebuild46
-rw-r--r--dev-libs/serd/serd-0.32.2.ebuild (renamed from dev-libs/serd/serd-0.32.0.ebuild)6
-rw-r--r--dev-libs/serdisplib/serdisplib-2.02-r2.ebuild4
-rw-r--r--dev-libs/sexpp/Manifest1
-rw-r--r--dev-libs/sexpp/sexpp-0.8.8.ebuild36
-rw-r--r--dev-libs/simde/Manifest1
-rw-r--r--dev-libs/simde/files/simde-0.8.2-musl.patch19
-rw-r--r--dev-libs/simde/metadata.xml11
-rw-r--r--dev-libs/simde/simde-0.8.2.ebuild45
-rw-r--r--dev-libs/simdjson/Manifest6
-rw-r--r--dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch17
-rw-r--r--dev-libs/simdjson/simdjson-3.6.3.ebuild6
-rw-r--r--dev-libs/simdjson/simdjson-3.9.1.ebuild (renamed from dev-libs/simdjson/simdjson-3.2.3.ebuild)13
-rw-r--r--dev-libs/simdjson/simdjson-3.9.3.ebuild (renamed from dev-libs/simdjson/simdjson-3.5.0.ebuild)13
-rw-r--r--dev-libs/simdjson/simdjson-3.9.4.ebuild (renamed from dev-libs/simdjson/simdjson-3.2.0.ebuild)13
-rw-r--r--dev-libs/skalibs/Manifest5
-rw-r--r--dev-libs/skalibs/skalibs-2.13.1.1.ebuild43
-rw-r--r--dev-libs/skalibs/skalibs-2.14.1.1.ebuild (renamed from dev-libs/skalibs/skalibs-2.14.0.1.ebuild)4
-rw-r--r--dev-libs/skalibs/skalibs-2.14.2.0.ebuild (renamed from dev-libs/skalibs/skalibs-2.14.0.0.ebuild)4
-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-r3.ebuild61
-rw-r--r--dev-libs/sord/Manifest1
-rw-r--r--dev-libs/sord/sord-0.16.14-r2.ebuild55
-rw-r--r--dev-libs/sord/sord-0.16.16-r1.ebuild6
-rw-r--r--dev-libs/sord/sord-9999.ebuild4
-rw-r--r--dev-libs/spdlog/Manifest3
-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/metadata.xml4
-rw-r--r--dev-libs/spdlog/spdlog-1.12.0-r2.ebuild4
-rw-r--r--dev-libs/spdlog/spdlog-1.12.0-r3.ebuild55
-rw-r--r--dev-libs/spdlog/spdlog-1.13.0-r2.ebuild54
-rw-r--r--dev-libs/spdlog/spdlog-1.14.1.ebuild (renamed from dev-libs/spdlog/spdlog-1.11.0-r3.ebuild)25
-rw-r--r--dev-libs/spdlog/spdlog-9999.ebuild20
-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.xml2
-rw-r--r--dev-libs/starpu/starpu-1.2.6-r1.ebuild6
-rw-r--r--dev-libs/starpu/starpu-1.3.9.ebuild6
-rw-r--r--dev-libs/stb/Manifest2
-rw-r--r--dev-libs/stb/stb-20240201-r1.ebuild (renamed from dev-libs/stb/stb-20200713.ebuild)27
-rw-r--r--dev-libs/template-glib/Manifest2
-rw-r--r--dev-libs/template-glib/template-glib-3.36.2.ebuild (renamed from dev-libs/template-glib/template-glib-3.36.1.ebuild)6
-rw-r--r--dev-libs/thrift/Manifest1
-rw-r--r--dev-libs/thrift/thrift-0.16.0-r2.ebuild4
-rw-r--r--dev-libs/thrift/thrift-0.18.1-r1.ebuild8
-rw-r--r--dev-libs/thrift/thrift-0.20.0.ebuild59
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild6
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild6
-rw-r--r--dev-libs/tinyxml2/Manifest1
-rw-r--r--dev-libs/tinyxml2/tinyxml2-10.0.0.ebuild25
-rw-r--r--dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild4
-rw-r--r--dev-libs/tllist/tllist-1.1.0.ebuild4
-rw-r--r--dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch15
-rw-r--r--dev-libs/tlsh/tlsh-4.8.2-r2.ebuild40
-rw-r--r--dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild4
-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.ebuild (renamed from dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild)3
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild5
-rw-r--r--dev-libs/tree-sitter-bash/Manifest4
-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.ebuild3
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild (renamed from dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.3.ebuild)4
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild (renamed from dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.3_p20230921.ebuild)6
-rw-r--r--dev-libs/tree-sitter-c-sharp/Manifest1
-rw-r--r--dev-libs/tree-sitter-c-sharp/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.21.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-c/Manifest5
-rw-r--r--dev-libs/tree-sitter-c/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.20.6.ebuild4
-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.ebuild (renamed from dev-libs/tree-sitter-c/tree-sitter-c-0.20.2.ebuild)4
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.21.1.ebuild15
-rw-r--r--dev-libs/tree-sitter-c/tree-sitter-c-0.21.4.ebuild15
-rw-r--r--dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild4
-rw-r--r--dev-libs/tree-sitter-cpp/Manifest6
-rw-r--r--dev-libs/tree-sitter-cpp/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0_p20230410.ebuild22
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild4
-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.ebuild (renamed from dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild)4
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.0.ebuild18
-rw-r--r--dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.2.ebuild18
-rw-r--r--dev-libs/tree-sitter-css/Manifest2
-rw-r--r--dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch14
-rw-r--r--dev-libs/tree-sitter-css/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-css/tree-sitter-css-0.20.0.ebuild10
-rw-r--r--dev-libs/tree-sitter-css/tree-sitter-css-0.21.0.ebuild (renamed from dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild)8
-rw-r--r--dev-libs/tree-sitter-embedded-template/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-gleam/Manifest1
-rw-r--r--dev-libs/tree-sitter-gleam/metadata.xml11
-rw-r--r--dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild21
-rw-r--r--dev-libs/tree-sitter-go/Manifest2
-rw-r--r--dev-libs/tree-sitter-go/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.20.0-r1.ebuild5
-rw-r--r--dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild (renamed from dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild)5
-rw-r--r--dev-libs/tree-sitter-haskell/Manifest1
-rw-r--r--dev-libs/tree-sitter-haskell/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-html/Manifest2
-rw-r--r--dev-libs/tree-sitter-html/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild (renamed from dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild)6
-rw-r--r--dev-libs/tree-sitter-html/tree-sitter-html-0.20.3.ebuild15
-rw-r--r--dev-libs/tree-sitter-java/Manifest4
-rw-r--r--dev-libs/tree-sitter-java/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild13
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild4
-rw-r--r--dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild (renamed from dev-libs/tree-sitter-java/tree-sitter-java-0.20.1.ebuild)2
-rw-r--r--dev-libs/tree-sitter-javascript/Manifest3
-rw-r--r--dev-libs/tree-sitter-javascript/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.1-r1.ebuild5
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild (renamed from dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild)3
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-jsdoc/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-json/Manifest2
-rw-r--r--dev-libs/tree-sitter-json/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.20.1.ebuild4
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild13
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-julia/Manifest1
-rw-r--r--dev-libs/tree-sitter-julia/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.20.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-julia/tree-sitter-julia-0.22.0.ebuild13
-rw-r--r--dev-libs/tree-sitter-lua/Manifest1
-rw-r--r--dev-libs/tree-sitter-lua/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-lua/tree-sitter-lua-0.1.0.ebuild16
-rw-r--r--dev-libs/tree-sitter-markdown-inline/Manifest1
-rw-r--r--dev-libs/tree-sitter-markdown-inline/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-markdown-inline/tree-sitter-markdown-inline-0.2.3.ebuild25
-rw-r--r--dev-libs/tree-sitter-markdown/Manifest1
-rw-r--r--dev-libs/tree-sitter-markdown/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-markdown/tree-sitter-markdown-0.2.3.ebuild15
-rw-r--r--dev-libs/tree-sitter-meta/metadata.xml10
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild (renamed from dev-libs/tree-sitter-meta/tree-sitter-meta-1-r3.ebuild)5
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1-r5.ebuild (renamed from dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild)16
-rw-r--r--dev-libs/tree-sitter-meta/tree-sitter-meta-1.ebuild26
-rw-r--r--dev-libs/tree-sitter-ocaml/metadata.xml4
-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.ebuild4
-rw-r--r--dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild6
-rw-r--r--dev-libs/tree-sitter-php/Manifest4
-rw-r--r--dev-libs/tree-sitter-php/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.20.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.ebuild (renamed from dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild)3
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.22.4.ebuild14
-rw-r--r--dev-libs/tree-sitter-php/tree-sitter-php-0.22.5.ebuild14
-rw-r--r--dev-libs/tree-sitter-python/Manifest1
-rw-r--r--dev-libs/tree-sitter-python/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-python/tree-sitter-python-0.20.4.ebuild4
-rw-r--r--dev-libs/tree-sitter-python/tree-sitter-python-0.21.0-r1.ebuild15
-rw-r--r--dev-libs/tree-sitter-ql/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-ql/tree-sitter-ql-0.19.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-query/Manifest1
-rw-r--r--dev-libs/tree-sitter-query/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-query/tree-sitter-query-0.4.0.ebuild16
-rw-r--r--dev-libs/tree-sitter-regex/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-regex/tree-sitter-regex-0.20.0.ebuild4
-rw-r--r--dev-libs/tree-sitter-ruby/Manifest3
-rw-r--r--dev-libs/tree-sitter-ruby/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.0_pre20221101.ebuild6
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild20
-rw-r--r--dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.21.0.ebuild (renamed from dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild)4
-rw-r--r--dev-libs/tree-sitter-rust/Manifest2
-rw-r--r--dev-libs/tree-sitter-rust/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.20.4.ebuild4
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild15
-rw-r--r--dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.2.ebuild15
-rw-r--r--dev-libs/tree-sitter-scala/Manifest3
-rw-r--r--dev-libs/tree-sitter-scala/metadata.xml4
-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.ebuild4
-rw-r--r--dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.0.ebuild (renamed from dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild)2
-rw-r--r--dev-libs/tree-sitter-tsq/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-tsx/Manifest2
-rw-r--r--dev-libs/tree-sitter-tsx/metadata.xml15
-rw-r--r--dev-libs/tree-sitter-tsx/tree-sitter-tsx-0.20.6.ebuild25
-rw-r--r--dev-libs/tree-sitter-tsx/tree-sitter-tsx-0.21.1.ebuild25
-rw-r--r--dev-libs/tree-sitter-typescript/Manifest4
-rw-r--r--dev-libs/tree-sitter-typescript/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild6
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild (renamed from dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild)6
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild (renamed from dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.2.ebuild)11
-rw-r--r--dev-libs/tree-sitter-vim/Manifest1
-rw-r--r--dev-libs/tree-sitter-vim/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-vim/tree-sitter-vim-0.4.0.ebuild16
-rw-r--r--dev-libs/tree-sitter-vimdoc/Manifest1
-rw-r--r--dev-libs/tree-sitter-vimdoc/metadata.xml19
-rw-r--r--dev-libs/tree-sitter-vimdoc/tree-sitter-vimdoc-3.0.0.ebuild16
-rw-r--r--dev-libs/tree-sitter/Manifest7
-rw-r--r--dev-libs/tree-sitter/files/tree-sitter-0.20.8-no-parser-header.patch23
-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.xml8
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild (renamed from dev-libs/tree-sitter/tree-sitter-0.20.8.ebuild)22
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild (renamed from dev-libs/tree-sitter/tree-sitter-0.20.7.ebuild)19
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.5.ebuild (renamed from dev-libs/tree-sitter/tree-sitter-0.20.6.ebuild)15
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild (renamed from dev-libs/tree-sitter/tree-sitter-0.20.8-r1.ebuild)29
-rw-r--r--dev-libs/tree-sitter/tree-sitter-9999.ebuild15
-rw-r--r--dev-libs/trio/trio-1.17.1.ebuild4
-rw-r--r--dev-libs/tvmet/tvmet-1.7.2-r2.ebuild6
-rw-r--r--dev-libs/udis86/udis86-1.7.2-r1.ebuild6
-rw-r--r--dev-libs/unibilium/unibilium-2.1.1.ebuild4
-rw-r--r--dev-libs/uriparser/Manifest1
-rw-r--r--dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch13
-rw-r--r--dev-libs/uriparser/uriparser-0.9.7.ebuild4
-rw-r--r--dev-libs/uriparser/uriparser-0.9.8-r1.ebuild61
-rw-r--r--dev-libs/uriparser/uriparser-0.9.8.ebuild57
-rw-r--r--dev-libs/utfcpp/metadata.xml4
-rw-r--r--dev-libs/vala-common/Manifest5
-rw-r--r--dev-libs/vala-common/vala-common-0.56.14.ebuild29
-rw-r--r--dev-libs/vala-common/vala-common-0.56.16.ebuild (renamed from dev-libs/vala-common/vala-common-0.56.8.ebuild)2
-rw-r--r--dev-libs/vala-common/vala-common-0.56.17.ebuild (renamed from dev-libs/vala-common/vala-common-0.56.13.ebuild)2
-rw-r--r--dev-libs/vc/Manifest2
-rw-r--r--dev-libs/vc/vc-1.4.4.ebuild4
-rw-r--r--dev-libs/vc/vc-1.4.5.ebuild (renamed from dev-libs/vc/vc-1.4.3.ebuild)4
-rw-r--r--dev-libs/vectorscan/vectorscan-5.4.11.ebuild4
-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.ebuild4
-rw-r--r--dev-libs/wayland-protocols/Manifest2
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.36.ebuild (renamed from dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild)3
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-9999.ebuild3
-rw-r--r--dev-libs/wayland/Manifest1
-rw-r--r--dev-libs/wayland/wayland-1.22.0.ebuild4
-rw-r--r--dev-libs/wayland/wayland-1.23.0.ebuild66
-rw-r--r--dev-libs/wayland/wayland-9999.ebuild4
-rw-r--r--dev-libs/weston/Manifest3
-rw-r--r--dev-libs/weston/files/weston-musl-basename.patch73
-rw-r--r--dev-libs/weston/files/weston-neatvnc-0.8.patch15
-rw-r--r--dev-libs/weston/metadata.xml3
-rw-r--r--dev-libs/weston/weston-13.0.0-r3.ebuild (renamed from dev-libs/weston/weston-12.0.91.ebuild)17
-rw-r--r--dev-libs/weston/weston-13.0.3-r1.ebuild (renamed from dev-libs/weston/weston-11.0.1.ebuild)57
-rw-r--r--dev-libs/weston/weston-13.0.3.ebuild (renamed from dev-libs/weston/weston-13.0.0.ebuild)17
-rw-r--r--dev-libs/weston/weston-9999.ebuild11
-rw-r--r--dev-libs/xalan-c/files/xalan-c-1.12-icu-75.patch15
-rw-r--r--dev-libs/xalan-c/xalan-c-1.12-r2.ebuild5
-rw-r--r--dev-libs/xalan-c/xalan-c-9999.ebuild7
-rw-r--r--dev-libs/xapian-bindings/Manifest3
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild346
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild (renamed from dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild)20
-rw-r--r--dev-libs/xapian/Manifest3
-rw-r--r--dev-libs/xapian/metadata.xml4
-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.25.ebuild67
-rw-r--r--dev-libs/xerces-c/Manifest1
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.2.4-strict-aliasing.patch13
-rw-r--r--dev-libs/xerces-c/files/xerces-c-3.2.5-cxx17.patch11
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild4
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild123
-rw-r--r--dev-libs/xerces-c/xerces-c-3.2.5.ebuild123
-rw-r--r--dev-libs/xerces-c/xerces-c-9999.ebuild16
-rw-r--r--dev-libs/xmlrpc-c/metadata.xml5
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild12
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild10
-rw-r--r--dev-libs/xmlsec/Manifest4
-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/xmlsec-1.2.39.ebuild72
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild95
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.4.ebuild (renamed from dev-libs/xmlsec/xmlsec-1.3.2.ebuild)3
-rw-r--r--dev-libs/yajl/Manifest1
-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/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-5.32.0.ebuild6
-rw-r--r--dev-libs/yaz/yaz-5.34.0.ebuild (renamed from dev-libs/yaz/yaz-3.0.53.ebuild)40
-rw-r--r--dev-libs/yyjson/Manifest3
-rw-r--r--dev-libs/yyjson/yyjson-0.10.0.ebuild40
-rw-r--r--dev-libs/yyjson/yyjson-0.9.0.ebuild (renamed from dev-libs/yyjson/yyjson-0.8.0.ebuild)8
-rw-r--r--dev-libs/zix/zix-0.4.2.ebuild6
-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/Manifest1
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch75
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-clang.patch15
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch22
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-gcc47.patch25
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch26
-rw-r--r--dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff94
-rw-r--r--dev-libs/zthread/zthread-2.3.2-r5.ebuild65
-rw-r--r--dev-libs/zug/Manifest1
-rw-r--r--dev-libs/zug/metadata.xml15
-rw-r--r--dev-libs/zug/zug-0.1.1-r1.ebuild42
-rw-r--r--dev-libs/zug/zug-0.1.1.ebuild39
-rw-r--r--dev-libs/zziplib/Manifest4
-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-r4.ebuild (renamed from dev-libs/zziplib/zziplib-0.13.72-r3.ebuild)5
-rw-r--r--dev-libs/zziplib/zziplib-0.13.74.ebuild70
-rw-r--r--dev-libs/zziplib/zziplib-0.13.76.ebuild70
-rw-r--r--dev-libs/zziplib/zziplib-0.13.77.ebuild70
1654 files changed, 29796 insertions, 17843 deletions
diff --git a/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild
index e4307e16afe8..ce3c44e805d1 100644
--- a/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild
+++ b/dev-libs/FBGEMM/FBGEMM-2023.11.02.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-any-r1 flag-o-matic cmake
CommitId=cdae5d97e3aa9fda4222f31c04dbd80249c918d1
diff --git a/dev-libs/FBGEMM/FBGEMM-2023.02.10.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild
index 22674b795e6c..0d2e34d143c4 100644
--- a/dev-libs/FBGEMM/FBGEMM-2023.02.10.ebuild
+++ b/dev-libs/FBGEMM/FBGEMM-2023.12.01.ebuild
@@ -1,12 +1,12 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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 python-any-r1 flag-o-matic cmake
-CommitId=03b2046676707da64504e898490ab46104d4682a
+CommitId=88fc6e741bc03e09fcdc3cd365fa3aafddb7ec24
DESCRIPTION="Facebook GEneral Matrix Multiplication"
HOMEPAGE="https://github.com/pytorch/FBGEMM"
@@ -48,9 +48,7 @@ python_check_deps() {
}
PATCHES=(
- "${FILESDIR}"/${PN}-2022.01.13-gentoo.patch
- "${FILESDIR}"/${PN}-2022.07.16-gcc13.patch
- "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${PN}-2023.11.02-gentoo.patch
)
src_prepare() {
diff --git a/dev-libs/FBGEMM/FBGEMM-2023.12.04.ebuild b/dev-libs/FBGEMM/FBGEMM-2023.12.04.ebuild
new file mode 100644
index 000000000000..9299ba5bb74c
--- /dev/null
+++ b/dev-libs/FBGEMM/FBGEMM-2023.12.04.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-any-r1 flag-o-matic cmake
+
+CommitId=dbc3157bf256f1339b3fa1fef2be89ac4078be0e
+
+DESCRIPTION="Facebook GEneral Matrix Multiplication"
+HOMEPAGE="https://github.com/pytorch/FBGEMM"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc test"
+
+DEPEND="
+ >=dev-libs/asmjit-2022.07.02
+ dev-libs/cpuinfo
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? ( dev-cpp/gtest )
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ dev-python/breathe[${PYTHON_USEDEP}]
+ ')
+ )
+ ${PYTHON_DEPS}
+"
+RESTRICT="!test? ( test )"
+
+python_check_deps() {
+ if use doc; then
+ python_has_version \
+ "dev-python/sphinx[${PYTHON_USEDEP}]" \
+ "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" \
+ "dev-python/breathe[${PYTHON_USEDEP}]"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2023.11.02-gentoo.patch
+)
+
+src_prepare() {
+ # Bug #855668
+ filter-lto
+
+ rm test/RowWiseSparseAdagradFusedTest.cc || die
+ rm test/SparseAdagradTest.cc || die
+ sed -i \
+ -e "/-Werror/d" \
+ CMakeLists.txt \
+ || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFBGEMM_LIBRARY_TYPE=shared
+ -DFBGEMM_BUILD_BENCHMARKS=OFF
+ -DFBGEMM_BUILD_DOCS=$(usex doc ON OFF)
+ -DFBGEMM_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ OMP_STACKSIZE=512k cmake_src_test
+}
diff --git a/dev-libs/FBGEMM/Manifest b/dev-libs/FBGEMM/Manifest
index 537d3f459c6a..5b052896fa9b 100644
--- a/dev-libs/FBGEMM/Manifest
+++ b/dev-libs/FBGEMM/Manifest
@@ -1,2 +1,3 @@
-DIST FBGEMM-2023.02.10.tar.gz 854918 BLAKE2B 2af11baf95c1f33e1b1dd6f2a51dde2c991ff0f606402a7aaa539b7bc505c3707cafaa96d8f742c91672ec09a1f18a69f0e69c012b6db11d5297d602b8f4860c SHA512 a59d928150d674c56b5d38f73e62b5f4e2b527ea1f7ebb891ea1d3356e4183e0f469d145fca37fcb1c85f8773cf54226a8e41389fe9783474c457a7bd31846d6
DIST FBGEMM-2023.11.02.tar.gz 895265 BLAKE2B 0f884147a86881159485680f1cb0c7b7e65bba5a98e62c38534041264f920e08a268e348e3d82ba3d246226a10f592d86dc37bce0cfa42c72dad478041a6c807 SHA512 030f27a120586240c5f80026bd033cf6fedbe1ae12a667308d33d6321f2334021d474a3625795d1f34734336b688b19c09134e10d5cc8dec86e84485de298584
+DIST FBGEMM-2023.12.01.tar.gz 1004090 BLAKE2B dc19ebee06bccb888e5d03606168c7439ce8c96303a697056edd22d3a3a6ff4f4f3ddf5371d50aa774890ca1ad66d665f5e54976dc1b8da841759a3f4d64c4d7 SHA512 ab37964326d2cbbcbf0f2c722675d1f059407fc3185275d37f2e04f3e516fe0733ac1fb35351fc7e7c308e9c0da40811d3657a10a3696cb7648494df79408aab
+DIST FBGEMM-2023.12.04.tar.gz 1004231 BLAKE2B 930ae36f4761901e1b22d7ce4a341f051158a23646bd1f5309f6eb98c1ca483e8aa4e5a6cfc44ced702f73f84e3398c1439799457a98d0d8a009702e335d5c03 SHA512 3c786572b4a69af2a32b360711014469ded69be580d0079ba79ab81cbaa964aab51e5a189e24f0ec7dc93402d761167898918a0ea0f86d556cad4b99f5858d8c
diff --git a/dev-libs/FBGEMM/files/FBGEMM-2022.01.13-gentoo.patch b/dev-libs/FBGEMM/files/FBGEMM-2022.01.13-gentoo.patch
deleted file mode 100644
index 9ff87d5b6cb4..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
-@@ -187,7 +187,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"
-@@ -216,7 +216,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"
-@@ -293,7 +293,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}
-@@ -302,6 +301,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)
-@@ -67,7 +67,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-2022.07.16-gcc13.patch b/dev-libs/FBGEMM/files/FBGEMM-2022.07.16-gcc13.patch
deleted file mode 100644
index cba259688d96..000000000000
--- a/dev-libs/FBGEMM/files/FBGEMM-2022.07.16-gcc13.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/include/fbgemm/UtilsAvx2.h 2023-03-11 17:17:28.365325199 +0100
-+++ b/include/fbgemm/UtilsAvx2.h 2023-03-11 17:18:06.076766162 +0100
-@@ -9,6 +9,7 @@
- // flags.
-
- #include <string>
-+#include <cstdint>
-
- namespace fbgemm {
-
diff --git a/dev-libs/FBGEMM/files/FBGEMM-2023.02.10-test.patch b/dev-libs/FBGEMM/files/FBGEMM-2023.02.10-test.patch
deleted file mode 100644
index 062887a01819..000000000000
--- a/dev-libs/FBGEMM/files/FBGEMM-2023.02.10-test.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/test/CMakeLists.txt 2023-04-12 07:53:37.904871157 +0200
-+++ b/test/CMakeLists.txt 2023-04-12 07:53:56.597572954 +0200
-@@ -39,7 +39,7 @@
- QuantizationHelpers.cc
- TestUtils.cc)
- set_target_properties(${TESTNAME} PROPERTIES
-- CXX_STANDARD 11
-+ CXX_STANDARD 14
- CXX_EXTENSIONS NO)
- #To compile test files with AVX2 turned on
- #For static build, defining FBGEMM_STATIC to avoid generating
diff --git a/dev-libs/FP16/FP16-2021.03.20-r3.ebuild b/dev-libs/FP16/FP16-2021.03.20-r4.ebuild
index 4e21e1d10fc3..af3be0a34c68 100644
--- a/dev-libs/FP16/FP16-2021.03.20-r3.ebuild
+++ b/dev-libs/FP16/FP16-2021.03.20-r4.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-r1 cmake
CommitId=0a92994d729ff76a58f692d3028ca1b64b145d91
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..f5feecafd293
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10-r2.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby33"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby33) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby33 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby33 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\033|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\033|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\033|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.10.ebuild b/dev-libs/Ice/Ice-3.7.10.ebuild
new file mode 100644
index 000000000000..8eee5f47692a
--- /dev/null
+++ b/dev-libs/Ice/Ice-3.7.10.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+RUBY_OPTIONAL="yes"
+USE_RUBY="ruby31"
+
+PHP_EXT_NAME="IcePHP"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+
+PHP_EXT_OPTIONAL_USE=php
+
+USE_PHP="php8-1 php8-2 php8-3"
+
+inherit php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
+
+DESCRIPTION="ICE middleware C++ library and generator tools"
+HOMEPAGE="https://zeroc.com/products/ice"
+SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.7.1.pdf )"
+LICENSE="GPL-2"
+SLOT="0/37"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="debug doc examples php python ruby test"
+RESTRICT="test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=app-arch/bzip2-1.0.5
+ >=dev-libs/expat-2.0.1
+ dev-libs/libedit
+ dev-cpp/libmcpp
+ dev-db/lmdb:=
+ dev-libs/openssl:0=
+ virtual/libcrypt:=
+ python? ( ${PYTHON_DEPS} )
+ ruby? ( $(ruby_implementation_depend ruby31) )"
+DEPEND="${RDEPEND}
+ test? (
+ ${PYTHON_DEPS}
+ dev-python/passlib[${PYTHON_USEDEP}]
+ )"
+
+# Maintainer notes:
+# TODO: java bindings
+
+S="${WORKDIR}/${P,}"
+PHP_EXT_S="${S}/php"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.8-fix-musl-build.patch"
+)
+
+pkg_setup() {
+ # prevent ruby-ng.eclass from messing with pkg_setup
+ return
+}
+
+src_unpack() {
+ # prevent ruby-ng.eclass from messing with src_unpack
+ default
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's|-Werror ||g' \
+ config/Make.rules.Linux || die
+
+ # fix for x86 IceBox test
+ sed -i \
+ -e 's|"32"|""|' \
+ scripts/IceBoxUtil.py || die
+
+ if use !test; then
+ # Disable building tests
+ sed -i \
+ -e 's|include \$(top_srcdir)/config/Make.tests.rules||' \
+ config/Make.rules || die
+ fi
+}
+
+src_configure() {
+ MAKE_RULES=(
+ "CONFIGS=shared cpp11-shared"
+ "embedded_runpath_prefix=\"${EPREFIX}/usr\""
+ "OPTIMIZE=$(usex !debug)"
+ "V=1"
+ )
+
+ if use python; then
+ local S="${S}/python"
+ python_copy_sources
+ fi
+
+ if use ruby; then
+ SITERUBY="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
+ SITERUBYARCH="$(ruby31 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${EPREFIX}/${SITERUBY}\""
+ "install_rubylibdir=\"${EPREFIX}/${SITERUBYARCH}\""
+ )
+
+ # make it use ruby31 only
+ sed -i \
+ -e 's|RUBY ?= ruby|\031|' \
+ ruby/config/Make.rules || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/config/s2rb.rb || die
+ sed -i \
+ -e 's|env ruby|\031|' \
+ ruby/scripts/slice2rb || die
+ fi
+
+ use test && python_setup
+}
+
+src_compile() {
+ # Do not remove this export or build will break!
+ tc-export CXX
+
+ emake -C cpp "${MAKE_RULES[@]}"
+
+ if use php; then
+ local i
+ for i in $(php_get_slots); do
+ mkdir -p "${WORKDIR}/${i}" || die
+ cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
+
+ pushd "${WORKDIR}/${i}" >/dev/null || die
+ ln -s "${S}/cpp" || die
+ ln -s "${S}/config" || die
+ ln -s "${S}/slice" || die
+ ln -s "${S}/Makefile" || die
+
+ emake -C php "${MAKE_RULES[@]}" "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
+ popd >/dev/null || die
+ done
+ fi
+
+ if use python; then
+ building() {
+ emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
+ }
+ local S="${S}/python"
+ python_foreach_impl building
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
+ fi
+}
+
+src_test() {
+ local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
+ emake -C cpp "${MAKE_RULES[@]}" test
+
+ # php tests require the extension loaded and are therefore skipped
+
+ if use python; then
+ testing() {
+ PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ PYTHON="${EPYTHON}" \
+ install_pythondir="\"$(python_get_sitedir)\"" \
+ install_libdir="\"$(python_get_sitedir)\"" test
+ }
+ local S="${S}/python"
+ python_foreach_impl testing
+ fi
+
+ if use ruby; then
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
+ fi
+}
+
+src_install() {
+ local DOCS=( CHANGELOG*.md README.md )
+ use doc && DOCS+=( "${DISTDIR}/${PN}-3.7.1.pdf" )
+ einstalldocs
+
+ MAKE_RULES_INSTALL=(
+ "prefix=\"${ED}/usr\""
+ "install_docdir=\"${ED}/usr/share/doc/${PF}\""
+ "install_configdir=\"${ED}/usr/share/${P}/config\""
+ "install_mandir=\"${ED}/usr/share/man/man1\""
+ )
+
+ insinto /usr/share/${P}
+ doins -r slice
+
+ emake -C cpp "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" install
+
+ if use examples; then
+ docinto examples-cpp
+ dodoc cpp/config/*.cfg
+ docompress -x /usr/share/doc/${PF}/examples-cpp
+ fi
+
+ if use php; then
+ insinto "/usr/share/php/${PN}"
+
+ local i
+ while IFS="" read -d $'\0' -r i; do
+ doins "${i}"
+ done < <(find "${S}/php/lib/" -name '*.php' -print0)
+
+ pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
+
+ local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
+ for i in *; do
+ mkdir -p "${ED}/usr/share/php/${i}" || die
+ "${ED}"/usr/bin/slice2php \
+ -I"${ED}/usr/share/${P}/slice/" --all \
+ --output-dir "${ED}/usr/share/php/${i}" \
+ --ice "${ED}/usr/share/${P}/slice/${i}"/*
+ done
+
+ for i in $(php_get_slots); do
+ php_init_slot_env "${i}"
+ insinto "${EXT_DIR}"
+ newins "php/lib/ice.so" "${PHP_EXT_NAME}.so"
+ done
+ php-ext-source-r3_createinifiles
+
+ popd >/dev/null || die
+ fi
+
+ if use python; then
+ installation() {
+ mkdir -p "${D}/$(python_get_sitedir)" || die
+
+ emake -C "${BUILD_DIR}" \
+ "${MAKE_RULES[@]}" \
+ "${MAKE_RULES_INSTALL[@]}" \
+ install_pythondir="\"${D}/$(python_get_sitedir)\"" \
+ install_libdir="\"${D}/$(python_get_sitedir)\"" \
+ install
+ python_optimize
+ }
+ local S="${S}/python"
+ python_foreach_impl installation
+ fi
+
+ if use ruby; then
+ MAKE_RULES_RUBY=(
+ "install_rubydir=\"${ED}/${SITERUBY}\""
+ "install_rubylibdir=\"${ED}/${SITERUBYARCH}\""
+ )
+ dodir "${SITERUBY}"
+ emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_INSTALL[@]}" "${MAKE_RULES_RUBY[@]}" install
+ fi
+}
diff --git a/dev-libs/Ice/Ice-3.7.8-r2.ebuild b/dev-libs/Ice/Ice-3.7.8-r2.ebuild
index 856169e328a6..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
diff --git a/dev-libs/Ice/Manifest b/dev-libs/Ice/Manifest
index 933d0fc9164c..28150860b9ca 100644
--- a/dev-libs/Ice/Manifest
+++ b/dev-libs/Ice/Manifest
@@ -1,2 +1,3 @@
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/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/aml-0.3.0.ebuild b/dev-libs/aml/aml-0.3.0.ebuild
index aeb693e070ed..37b80ef098ff 100644
--- a/dev-libs/aml/aml-0.3.0.ebuild
+++ b/dev-libs/aml/aml-0.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,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 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv x86"
fi
LICENSE="ISC"
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
index 553ca4d15de8..6ba581756790 100644
--- a/dev-libs/apache-arrow/Manifest
+++ b/dev-libs/apache-arrow/Manifest
@@ -1,12 +1,5 @@
-DIST apache-arrow-11.0.0.tar.gz 19956186 BLAKE2B dff0faecbde9e2d19f092fd0c48a7ac7a401da6dbfd17f30af1b35c9e3fd3e1ba5611311f5bcb08383368de195cff783a178a9397a63a1c4f740a81349f8b8d3 SHA512 46df4fb5a703d38d0a74fde9838e9f9702b24b442cb225517516c335a5ab18955699000bf0b2fc7d1698ada6d2e890ba3860933b6280f5160b0fce8a07484d0e
-DIST apache-arrow-12.0.0.tar.gz 20159048 BLAKE2B 43b4f36e1d1f84fc83c46a3627ad72cead38310f4325b8d21d17d726cd416016f0839d312c80737c0a921da6aefee537413e30309a656301c19834c2986d734e SHA512 f815be4fb20b6001ba5525270765fe239b5468708a7be34b93b60ee0ce63464727d183c9756fbc33bffd199019e1f06a7fddd306ce8388435cea7771070a2ca9
-DIST apache-arrow-12.0.1.tar.gz 20172604 BLAKE2B bf66761d33ceb778c2f53c2e643e0c2bb4448f29eaa94d17e9815628665f4965fde28bd47fce4a5874717d2161c3f8adbb2e8a0e6658a51ae6d617e4f09d202b SHA512 551ae200551fcc73b7deddcc5f0b06633159ab1308506901a9086e4e2e34e4437f26d609fdbacba0ebe7d1fe83bdb8e92a268e9e41575d655d5b2d4fbef7a7ce
-DIST apache-arrow-14.0.1.tar.gz 20968461 BLAKE2B 01a4269f98ba2a4de1d6bc29f43a4e97132f8b7bdb3c3d022e0c0ba498527003e8bec0ea0b054f19ae54749f45fe39675f651f6c9e34e815df5a9b9926512431 SHA512 31d19f0ca80349f63db74bae813256b47907f85725a9bf01ef6f32406e79828ebb4701faedb52696b6a5b3bb89ad4e136485fd5eb35d396dd42147c11d4d2713
-DIST apache-arrow-arrow-data-11.0.0.tar.gz 3570422 BLAKE2B df1f8d1c4e321ca0abdce598b09945aa9e63114199e7f2eb0fc549323dadf703b917efd90c04a2d540d763a44128d76c6ee12788a983d4b9536d04297316b656 SHA512 0be19960b0d22fc2e07bf84f11148e69d6fa82f10627eb2a5e4b762b1d4cf4e151a57c5a1dc761d6d8ed29881ea589e4cfe0cd47d5c7cbf7b6107143b4a45e82
-DIST apache-arrow-arrow-data-12.0.0.tar.gz 3570422 BLAKE2B df1f8d1c4e321ca0abdce598b09945aa9e63114199e7f2eb0fc549323dadf703b917efd90c04a2d540d763a44128d76c6ee12788a983d4b9536d04297316b656 SHA512 0be19960b0d22fc2e07bf84f11148e69d6fa82f10627eb2a5e4b762b1d4cf4e151a57c5a1dc761d6d8ed29881ea589e4cfe0cd47d5c7cbf7b6107143b4a45e82
-DIST apache-arrow-arrow-data-12.0.1.tar.gz 3570422 BLAKE2B df1f8d1c4e321ca0abdce598b09945aa9e63114199e7f2eb0fc549323dadf703b917efd90c04a2d540d763a44128d76c6ee12788a983d4b9536d04297316b656 SHA512 0be19960b0d22fc2e07bf84f11148e69d6fa82f10627eb2a5e4b762b1d4cf4e151a57c5a1dc761d6d8ed29881ea589e4cfe0cd47d5c7cbf7b6107143b4a45e82
-DIST apache-arrow-arrow-data-14.0.1.tar.gz 3570422 BLAKE2B df1f8d1c4e321ca0abdce598b09945aa9e63114199e7f2eb0fc549323dadf703b917efd90c04a2d540d763a44128d76c6ee12788a983d4b9536d04297316b656 SHA512 0be19960b0d22fc2e07bf84f11148e69d6fa82f10627eb2a5e4b762b1d4cf4e151a57c5a1dc761d6d8ed29881ea589e4cfe0cd47d5c7cbf7b6107143b4a45e82
-DIST apache-arrow-parquet-data-11.0.0.tar.gz 1013835 BLAKE2B cb4e544b6588ddad503f9692ee2eee5d4f1e931f10654b7253e11ffd2feb4c957dec047a1b1644c1f1538a3bf7ea726e5a9ae9b7d0c3bb0d55d27f088b5c5be3 SHA512 d4c2af20d6a88c1beb44770982f4aa324ea4ee375e8f556339074875af15c48f4398d972c1eec35eba5d209e9e62df4bdbf73ebc8148a7bb05ffa2d69c97df61
-DIST apache-arrow-parquet-data-12.0.0.tar.gz 1013835 BLAKE2B cb4e544b6588ddad503f9692ee2eee5d4f1e931f10654b7253e11ffd2feb4c957dec047a1b1644c1f1538a3bf7ea726e5a9ae9b7d0c3bb0d55d27f088b5c5be3 SHA512 d4c2af20d6a88c1beb44770982f4aa324ea4ee375e8f556339074875af15c48f4398d972c1eec35eba5d209e9e62df4bdbf73ebc8148a7bb05ffa2d69c97df61
-DIST apache-arrow-parquet-data-12.0.1.tar.gz 1013835 BLAKE2B cb4e544b6588ddad503f9692ee2eee5d4f1e931f10654b7253e11ffd2feb4c957dec047a1b1644c1f1538a3bf7ea726e5a9ae9b7d0c3bb0d55d27f088b5c5be3 SHA512 d4c2af20d6a88c1beb44770982f4aa324ea4ee375e8f556339074875af15c48f4398d972c1eec35eba5d209e9e62df4bdbf73ebc8148a7bb05ffa2d69c97df61
-DIST apache-arrow-parquet-data-14.0.1.tar.gz 1013835 BLAKE2B cb4e544b6588ddad503f9692ee2eee5d4f1e931f10654b7253e11ffd2feb4c957dec047a1b1644c1f1538a3bf7ea726e5a9ae9b7d0c3bb0d55d27f088b5c5be3 SHA512 d4c2af20d6a88c1beb44770982f4aa324ea4ee375e8f556339074875af15c48f4398d972c1eec35eba5d209e9e62df4bdbf73ebc8148a7bb05ffa2d69c97df61
+DIST apache-arrow-16.1.0.tar.gz 21707079 BLAKE2B 5541c364351e59e8164f2461546bce3ddc834d70b3a03b815b681187674bdd89ccfb7eb113bf9010c821845b0c1fa51f5321bfea5b20927e6364f6452ec980d2 SHA512 28975f59e1fdde2dba4afaf4a5ba934b63db3a7f27656e2aa0af0f0d2a046c9dbfa9a6082de94629c36d03809b296566a37ea65ec5a2fc17fedac7d21e272d31
+DIST apache-arrow-17.0.0.tar.gz 21822331 BLAKE2B 64f9321cbf13fafae5938f26840d3ef642d6f5b40386315030bc70fe8703786ee394c8483d2bde7961cf2b5c15470ffebd7c66029e116b05cfbf5524e9fe51f1 SHA512 4e2a617b8deeb9f94ee085653a721904a75696f0827bcba82b535cc7f4f723066a09914c7fa83c593e51a8a4031e8bf99e563cac1ebb1d89604cb406975d4864
+DIST apache-arrow-arrow-data-25d16511e8d42c2744a1d94d90169e3a36e92631.tar.gz 3571960 BLAKE2B c1c076bb3ff6427a45d1a157c60fb13c37786f97d213768c0bbe1ae073b5fb8d23cd402bdcfee303061df56bf3421ea8376f7c4ba9fec04c5cb35a85a32280f2 SHA512 abbc18da8f03b123a2d97eee709e929bbb5d567bf23219bbc63508c0e82ef99d7c0d71ca2d952566b63e968cffd96c5e1c62be9cb658323c949f229ff03234a8
+DIST apache-arrow-arrow-data-735ae7128d571398dd798d7ff004adebeb342883.tar.gz 3572136 BLAKE2B 35fdc78211adbfd326004e264a6480e8ec3e1debde9f4ffefea63dfe450d8e6e2b30f8ea5574ab001bb2d658a12dae0176da4524ed139bf7575e3ec1648f6795 SHA512 e5bb17efcb0f80aa52e21722d663a3085df6bc8dedfe446efa942d6c479dd7eb486ab2899c02380467f1008b305ec7a831847b6d68e0be0107ebe498db1f4eb5
+DIST apache-arrow-parquet-data-74278bc4a1122d74945969e6dec405abd1533ec3.tar.gz 1037654 BLAKE2B c9bb725a16f6706a3859bb36a60b700af62cb5f96546483ef1de0b65900b02b4f9013841d7b3dc70fd0f2fd8969b4d5c72d0fb68972568f61b4a6863a0df6f60 SHA512 18f8e2480079a0fd29eec2b8e5f753af1ee80255f6fc80af4acbf5c56e6dec08e2f9f54d8c5734c929ef901c63e4009c5d830325333fa6cc947d40ff5dcddfa3
diff --git a/dev-libs/apache-arrow/apache-arrow-11.0.0-r2.ebuild b/dev-libs/apache-arrow/apache-arrow-11.0.0-r2.ebuild
deleted file mode 100644
index 53701dd50256..000000000000
--- a/dev-libs/apache-arrow/apache-arrow-11.0.0-r2.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-ARROW_DATA_GIT_HASH=d2c73bf78246331d8e58b6f11aa8aa199cbb5929
-PARQUET_DATA_GIT_HASH=b2e7cc755159196e3a068c8594f7acbaecfdaaac
-
-DESCRIPTION="A cross-language development platform for in-memory data."
-HOMEPAGE="https://arrow.apache.org/"
-SRC_URI="
- mirror://apache/arrow/arrow-${PV}/${P}.tar.gz
- test? (
- https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
- -> ${PN}-parquet-data-${PV}.tar.gz
- https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
- -> ${PN}-arrow-data-${PV}.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-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
- re2? ( dev-libs/re2 )
- )
- lz4? ( app-arch/lz4 )
- parquet? (
- dev-libs/libutf8proc
- dev-libs/thrift
- ssl? ( dev-libs/openssl )
- )
- snappy? ( app-arch/snappy )
- zlib? ( sys-libs/zlib )
- zstd? ( app-arch/zstd )
-"
-DEPEND="${RDEPEND}
- dev-cpp/xsimd
- json? ( dev-libs/rapidjson )
- test? (
- dev-libs/boost
- dev-cpp/gflags
- dev-cpp/gtest
- )
-"
-
-REQUIRED_USE="test? (
- json
- parquet? ( zstd )
- )
- ssl? ( json )"
-
-S="${WORKDIR}/${P}/cpp"
-
-PATCHES=( "${FILESDIR}/${P}-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)
- )
- cmake_src_configure
-}
-
-src_test() {
- export PARQUET_TEST_DATA="${WORKDIR}/parquet-testing-${PARQUET_DATA_GIT_HASH}/data"
- export ARROW_TEST_DATA="${WORKDIR}/arrow-testing-${ARROW_DATA_GIT_HASH}/data"
- cmake_src_test
-}
-
-src_install() {
- cmake_src_install
- if use test; then
- cd "${D}"/usr/$(get_libdir)
- rm -r cmake/ArrowTesting || die
- rm libarrow_testing* || die
- rm pkgconfig/arrow-testing.pc || die
- fi
-}
diff --git a/dev-libs/apache-arrow/apache-arrow-12.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-12.0.0.ebuild
deleted file mode 100644
index 9091784721ce..000000000000
--- a/dev-libs/apache-arrow/apache-arrow-12.0.0.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-ARROW_DATA_GIT_HASH=d2c73bf78246331d8e58b6f11aa8aa199cbb5929
-PARQUET_DATA_GIT_HASH=b2e7cc755159196e3a068c8594f7acbaecfdaaac
-
-DESCRIPTION="A cross-language development platform for in-memory data."
-HOMEPAGE="https://arrow.apache.org/"
-SRC_URI="
- mirror://apache/arrow/arrow-${PV}/${P}.tar.gz
- test? (
- https://github.com/apache/parquet-testing/archive/${PARQUET_DATA_GIT_HASH}.tar.gz
- -> ${PN}-parquet-data-${PV}.tar.gz
- https://github.com/apache/arrow-testing/archive/${ARROW_DATA_GIT_HASH}.tar.gz
- -> ${PN}-arrow-data-${PV}.tar.gz
- )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-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
- re2? ( dev-libs/re2 )
- )
- lz4? ( app-arch/lz4 )
- parquet? (
- dev-libs/libutf8proc
- dev-libs/thrift
- ssl? ( dev-libs/openssl )
- )
- 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 )"
-
-S="${WORKDIR}/${P}/cpp"
-
-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)
- 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-14.0.1.ebuild b/dev-libs/apache-arrow/apache-arrow-16.1.0.ebuild
index 1efaeb5c1772..8b1d7dc7296d 100644
--- a/dev-libs/apache-arrow/apache-arrow-14.0.1.ebuild
+++ b/dev-libs/apache-arrow/apache-arrow-16.1.0.ebuild
@@ -1,30 +1,38 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
-ARROW_DATA_GIT_HASH=d2c73bf78246331d8e58b6f11aa8aa199cbb5929
-PARQUET_DATA_GIT_HASH=b2e7cc755159196e3a068c8594f7acbaecfdaaac
+# 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/"
+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-${PV}.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-${PV}.tar.gz
+ -> ${PN}-arrow-data-${ARROW_DATA_GIT_HASH}.tar.gz
)
"
S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="brotli bzip2 compute dataset +json lz4 parquet re2 snappy ssl test zlib zstd"
+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="
@@ -33,7 +41,6 @@ RDEPEND="
compute? ( dev-libs/libutf8proc:= )
dataset? (
dev-libs/libutf8proc:=
- re2? ( dev-libs/re2:= )
)
lz4? ( app-arch/lz4:= )
parquet? (
@@ -41,6 +48,7 @@ RDEPEND="
dev-libs/thrift:=
ssl? ( dev-libs/openssl:= )
)
+ re2? ( dev-libs/re2:= )
snappy? ( app-arch/snappy:= )
zlib? ( sys-libs/zlib:= )
zstd? ( app-arch/zstd:= )
@@ -65,7 +73,6 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
- "${FILESDIR}"/${P}-gcc14.patch
)
src_prepare() {
@@ -116,7 +123,7 @@ src_test() {
src_install() {
cmake_src_install
if use test; then
- cd "${D}"/usr/$(get_libdir)
+ cd "${D}"/usr/$(get_libdir) || die
rm -r cmake/ArrowTesting || die
rm libarrow_testing* || die
rm pkgconfig/arrow-testing.pc || die
diff --git a/dev-libs/apache-arrow/apache-arrow-12.0.1-r1.ebuild b/dev-libs/apache-arrow/apache-arrow-17.0.0.ebuild
index d5fbf06edf70..978d272ce309 100644
--- a/dev-libs/apache-arrow/apache-arrow-12.0.1-r1.ebuild
+++ b/dev-libs/apache-arrow/apache-arrow-17.0.0.ebuild
@@ -1,30 +1,45 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
-ARROW_DATA_GIT_HASH=d2c73bf78246331d8e58b6f11aa8aa199cbb5929
-PARQUET_DATA_GIT_HASH=b2e7cc755159196e3a068c8594f7acbaecfdaaac
+# arrow.git: testing
+ARROW_DATA_GIT_HASH=735ae7128d571398dd798d7ff004adebeb342883
+# 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/"
+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-${PV}.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-${PV}.tar.gz
+ -> ${PN}-arrow-data-${ARROW_DATA_GIT_HASH}.tar.gz
)
"
S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="brotli bzip2 compute dataset +json lz4 parquet re2 snappy ssl test zlib zstd"
+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
+"
+REQUIRED_USE="
+ test? (
+ json
+ parquet? ( zstd )
+ )
+ ssl? ( json )
+"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -33,7 +48,6 @@ RDEPEND="
compute? ( dev-libs/libutf8proc:= )
dataset? (
dev-libs/libutf8proc:=
- re2? ( dev-libs/re2:= )
)
lz4? ( app-arch/lz4:= )
parquet? (
@@ -41,11 +55,13 @@ RDEPEND="
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}
+DEPEND="
+ ${RDEPEND}
dev-cpp/xsimd
>=dev-libs/boost-1.81.0
json? ( dev-libs/rapidjson )
@@ -55,15 +71,9 @@ DEPEND="${RDEPEND}
)
"
-REQUIRED_USE="
- test? (
- json
- parquet? ( zstd )
- )
- ssl? ( json )
-"
-
-PATCHES=( "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
+)
src_prepare() {
# use Gentoo CXXFLAGS, specify docdir at src_configure.
@@ -113,7 +123,7 @@ src_test() {
src_install() {
cmake_src_install
if use test; then
- cd "${D}"/usr/$(get_libdir)
+ cd "${D}"/usr/$(get_libdir) || die
rm -r cmake/ArrowTesting || die
rm libarrow_testing* || die
rm pkgconfig/arrow-testing.pc || die
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
deleted file mode 100644
index ccaf8cff0e98..000000000000
--- a/dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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/metadata.xml b/dev-libs/apache-arrow/metadata.xml
index f3a30cdad7ac..31fb6e8b9092 100644
--- a/dev-libs/apache-arrow/metadata.xml
+++ b/dev-libs/apache-arrow/metadata.xml
@@ -5,6 +5,10 @@
<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>
diff --git a/dev-libs/appstream/Manifest b/dev-libs/appstream/Manifest
index 0cfafec657cc..fa4206c25397 100644
--- a/dev-libs/appstream/Manifest
+++ b/dev-libs/appstream/Manifest
@@ -1,2 +1,2 @@
-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.3.tar.xz 2644220 BLAKE2B cd7aa28b49c23229ee48b9a69e57a08244f81115e23525695e463930d2296daf80b5c7bb098c89726c220caec8c3e072fd85d77ac808e96c5cf2ff0488ba4ba1 SHA512 9b70d965966d55dbcc6a62d85525fdd5990a28abb1d94b2df91ab1549c24ce9c40d95e2d761c2f24e0c61fe5b74ab6a1f829dda387a8282aa9dff9198dc9610d
diff --git a/dev-libs/appstream/appstream-0.16.4.ebuild b/dev-libs/appstream/appstream-0.16.4.ebuild
index 431e2514157b..123efa6b2baa 100644
--- a/dev-libs/appstream/appstream-0.16.4.ebuild
+++ b/dev-libs/appstream/appstream-0.16.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999* ]]; then
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"
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86"
S="${WORKDIR}/${MY_PN}-${PV}"
fi
diff --git a/dev-libs/appstream/appstream-0.15.6.ebuild b/dev-libs/appstream/appstream-1.0.3.ebuild
index 22035505fdee..e59ebce431a1 100644
--- a/dev-libs/appstream/appstream-0.15.6.ebuild
+++ b/dev-libs/appstream/appstream-1.0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999* ]]; then
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"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
S="${WORKDIR}/${MY_PN}-${PV}"
fi
@@ -20,33 +20,33 @@ HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/"
LICENSE="LGPL-2.1+ GPL-2+"
# check as_api_level
-SLOT="0/4"
-IUSE="apt doc +introspection qt5 test"
+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.6:=
+ >=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 )
-"
-DEPEND="${RDEPEND}
- test? ( qt5? ( dev-qt/qttest:5 ) )
+ 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/linguist-tools:5 )
+ test? ( dev-qt/qttools:6[linguist] )
"
-PATCHES=( "${FILESDIR}"/${P}-disable-Werror-flags.patch ) # bug 733774
+PATCHES=( "${FILESDIR}"/${PN}-1.0.0-disable-Werror-flags.patch ) # bug 733774
src_prepare() {
default
@@ -70,7 +70,8 @@ src_configure() {
-Dapt-support=$(usex apt true false)
-Dinstall-docs=$(usex doc true false)
-Dgir=$(usex introspection true false)
- -Dqt=$(usex qt5 true false)
+ -Dqt=$(usex qt6 true false)
+ -Dsystemd=$(usex systemd true false)
)
meson_src_configure
diff --git a/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch
index ca50493e4fd6..309d365c28ec 100644
--- a/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch
+++ b/dev-libs/appstream/files/appstream-1.0.0-disable-Werror-flags.patch
@@ -1,6 +1,6 @@
---- a/meson.build 2022-12-22 23:48:12.000000000 +0100
-+++ b/meson.build 2022-12-24 22:15:49.620891586 +0100
-@@ -95,43 +95,6 @@
+--- a/meson.build
++++ b/meson.build
+@@ -90,44 +90,6 @@
endif
endif
@@ -31,7 +31,6 @@
-)
-add_project_arguments(
- '-Wno-unused-parameter',
-- '-Werror=shadow',
- '-Werror=empty-body',
- '-Werror=pointer-arith',
- '-Werror=init-self',
@@ -39,8 +38,10 @@
- '-Werror=return-type',
- '-Werror=misleading-indentation',
- '-Werror=format-security',
+-
- language: 'cpp'
-)
- add_project_arguments('-DAS_COMPILATION', language: 'c')
-
+-
# 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/apr-util-1.6.3.ebuild b/dev-libs/apr-util/apr-util-1.6.3.ebuild
index 3645b9fdae6b..a51041c8b6f0 100644
--- a/dev-libs/apr-util/apr-util-1.6.3.ebuild
+++ b/dev-libs/apr-util/apr-util-1.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -39,8 +39,8 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )
+ >=dev-build/libtool-2.4.2
+ doc? ( app-text/doxygen )
"
DOCS=( CHANGES NOTICE README )
diff --git a/dev-libs/apr/Manifest b/dev-libs/apr/Manifest
index 32e6e7e42c5e..8018bcb43871 100644
--- a/dev-libs/apr/Manifest
+++ b/dev-libs/apr/Manifest
@@ -1,3 +1 @@
-DIST apr-1.7.2.tar.bz2 890218 BLAKE2B a17ee4311a33acee0bdeb9e5225a198f9dec1b2e0267a742080c77d5342e5052392a5a2100a0ba85f5a192b8679838a7002d4c9a12aa5bdd7921eff025b75d15 SHA512 0a3a27ccc97bbe4865c1bc0b803012e3da6d5b1f17d4fb0da6f5f58eec01f6d2ae1f25e52896ea5f9c5ac04c5fddcfd1ac606b301c322cf40d5c4d4ce0a1b76e
-DIST apr-1.7.3.tar.bz2 901048 BLAKE2B effd809ff2d43c5340874456c6440c94c3c1dc728964d6b65050e0e11692961ccbedba63fd02009c79fa05bb8effde7cc46d2b22c560745d49d54f0a793e4b6d SHA512 d8f62868d8e3ec92cede1f0d93b5d48e49441f575c98e165ff84343746a6abd265290ab16a57f741896ae7a6b3e534a334325a99a61c96c2485e085f7761c124
DIST apr-1.7.4.tar.bz2 894526 BLAKE2B a93b9d3f2c46fe0a34ce1d544e7a43ba40720e2fae8b8a7d0957413ac695057902378dbf96f067ced7486da86c8e513b7fbd48fa79839efeeb40a3295fe2d3df SHA512 2342c997765ea2ca96eac158e5fd260232dba68fc41b90a79a7ba9b25c539fc217981867362090e0ebebe632289257c342275e3c5baedb698c474ef8f49a9dcd
diff --git a/dev-libs/apr/apr-1.7.2-r1.ebuild b/dev-libs/apr/apr-1.7.2-r1.ebuild
deleted file mode 100644
index e1c446e9551f..000000000000
--- a/dev-libs/apr/apr-1.7.2-r1.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools 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"
-
-# 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 )
-"
-BDEPEND="
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/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
-
- 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
- )
-
- 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
-
- 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
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- # This header is the same across targets, so use the build compiler.
- emake tools/gen_test_char
-
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
- tools/gen_test_char.c -o tools/gen_test_char || die
- fi
-
- emake all $(usev doc dox)
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-
- if use doc; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- # Even in Prefix, we don't need this on AIX.
- rm "${ED}/usr/$(get_libdir)/apr.exp" || die
-}
diff --git a/dev-libs/apr/apr-1.7.2.ebuild b/dev-libs/apr/apr-1.7.2.ebuild
deleted file mode 100644
index 2bac56d69761..000000000000
--- a/dev-libs/apr/apr-1.7.2.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools 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"
-
-# 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 )
-"
-BDEPEND="
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/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}"/config.layout.patch
-)
-
-src_prepare() {
- default
-
- mv configure.in configure.ac || die
- AT_M4DIR="build" eautoreconf
-}
-
-src_configure() {
- tc-export AS CC CPP
-
- 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
- )
-
- 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
-
- 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
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- # This header is the same across targets, so use the build compiler.
- emake tools/gen_test_char
-
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
- tools/gen_test_char.c -o tools/gen_test_char || die
- fi
-
- emake all $(usev doc dox)
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-
- if use doc; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- # Even in Prefix, we don't need this on AIX.
- rm "${ED}/usr/$(get_libdir)/apr.exp" || die
-}
diff --git a/dev-libs/apr/apr-1.7.3.ebuild b/dev-libs/apr/apr-1.7.3.ebuild
deleted file mode 100644
index 3dc1fa16ac8a..000000000000
--- a/dev-libs/apr/apr-1.7.3.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools 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"
-
-# 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 )
-"
-BDEPEND="
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/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
-
- 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
- )
-
- 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 )
- myconf+=( --with-devrandom=/dev/random )
- fi
-
- 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
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- # This header is the same across targets, so use the build compiler.
- emake tools/gen_test_char
-
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
- tools/gen_test_char.c -o tools/gen_test_char || die
- fi
-
- emake all $(usev doc dox)
-}
-
-src_test() {
- # Building tests in parallel is broken
- emake -j1 check
-}
-
-src_install() {
- default
-
- if ! use static-libs; then
- find "${ED}" -name '*.la' -delete || die
- fi
-
- if use doc; then
- docinto html
- dodoc -r docs/dox/html/*
- fi
-
- # This file is only used on AIX systems, which Gentoo is not,
- # and causes collisions between the SLOTs, so remove it.
- # Even in Prefix, we don't need this on AIX.
- rm "${ED}/usr/$(get_libdir)/apr.exp" || die
-}
diff --git a/dev-libs/apr/apr-1.7.4.ebuild b/dev-libs/apr/apr-1.7.4-r2.ebuild
index 7a36f8629dcf..1a50b553b4c1 100644
--- a/dev-libs/apr/apr-1.7.4.ebuild
+++ b/dev-libs/apr/apr-1.7.4-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools toolchain-funcs
+inherit autotools flag-o-matic toolchain-funcs
DESCRIPTION="Apache Portable Runtime Library"
HOMEPAGE="https://apr.apache.org/"
@@ -11,7 +11,7 @@ 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"
+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
@@ -23,10 +23,10 @@ RDEPEND="
${DEPEND}
selinux? ( sec-policy/selinux-base-policy )
"
-DEPEND+=" valgrind? ( dev-util/valgrind )"
+DEPEND+=" valgrind? ( dev-debug/valgrind )"
BDEPEND="
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )
+ >=dev-build/libtool-2.4.2
+ doc? ( app-text/doxygen )
"
DOCS=( CHANGES NOTICE README )
@@ -51,6 +51,18 @@ src_prepare() {
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
@@ -101,11 +113,12 @@ src_configure() {
myconf+=( --with-devrandom=/dev/random )
fi
- 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
+ # 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
diff --git a/dev-libs/apr/apr-1.7.4-r1.ebuild b/dev-libs/apr/apr-1.7.4-r3.ebuild
index b422544bfc7c..a7f6b6d58e1d 100644
--- a/dev-libs/apr/apr-1.7.4-r1.ebuild
+++ b/dev-libs/apr/apr-1.7.4-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,10 +23,10 @@ RDEPEND="
${DEPEND}
selinux? ( sec-policy/selinux-base-policy )
"
-DEPEND+=" valgrind? ( dev-util/valgrind )"
+DEPEND+=" valgrind? ( dev-debug/valgrind )"
BDEPEND="
- >=sys-devel/libtool-2.4.2
- doc? ( app-doc/doxygen )
+ >=dev-build/libtool-2.4.2
+ doc? ( app-text/doxygen )
"
DOCS=( CHANGES NOTICE README )
@@ -34,10 +34,11 @@ 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}"/${PN}-1.7.4-config-cross.patch
+ "${FILESDIR}"/${PN}-1.7.4-config-libdir.patch
"${FILESDIR}"/config.layout.patch
)
@@ -51,6 +52,18 @@ src_prepare() {
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
@@ -106,7 +119,7 @@ src_configure() {
# (May be possible to fix via libatomic linkage in future?)
# bug #740464
append-atomic-flags
- if [[ ${LIBS} == *atomic* ]] ; then
+ if use x86 || [[ ${LIBS} == *atomic* ]] ; then
myconf+=( --disable-nonportable-atomics )
fi
diff --git a/dev-libs/apr/files/apr-1.7.4-config-cross.patch b/dev-libs/apr/files/apr-1.7.4-config-cross.patch
new file mode 100644
index 000000000000..5101f455230a
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.4-config-cross.patch
@@ -0,0 +1,19 @@
+The apr-config script can automatically adjust its paths to help with
+cross-compiling, but it only does this if apr itself was originally
+cross-compiled, which may not be the case. Forcing it to consider that
+it might be cross-compiled doesn't do any harm though.
+
+Bug: https://bugs.gentoo.org/931829
+
+diff -Naur a/apr-config.in b/apr-config.in
+--- a/apr-config.in 2023-03-13 10:29:04.000000000 +0000
++++ b/apr-config.in 2024-05-14 10:23:28.429984195 +0100
+@@ -48,7 +48,7 @@
+ # NOTE: the following line is modified during 'make install': alter with care!
+ location=@APR_CONFIG_LOCATION@
+
+-cross_compiling=@APR_CROSS_COMPILING@
++cross_compiling=maybe
+
+ if test "$cross_compiling" != "no"; then
+
diff --git a/dev-libs/apr/files/apr-1.7.4-config-libdir.patch b/dev-libs/apr/files/apr-1.7.4-config-libdir.patch
new file mode 100644
index 000000000000..aed4aba59f9a
--- /dev/null
+++ b/dev-libs/apr/files/apr-1.7.4-config-libdir.patch
@@ -0,0 +1,17 @@
+Don't add the libdir to the search path or bake the libdir as a runpath when
+doing a native build because we always install to a standard location.
+
+Bug: https://bugs.gentoo.org/385775
+
+diff -Naur a/apr-config.in b/apr-config.in
+--- a/apr-config.in 2023-03-13 10:29:04.000000000 +0000
++++ b/apr-config.in 2024-05-14 10:23:28.429984195 +0100
+@@ -233,7 +233,7 @@
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+ # Since the user is specifying they are linking with libtool, we
+ # *know* that -R will be recognized by libtool.
+- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
++ flags="$flags -l${APR_LIBNAME}"
+ elif test "$location" = "crosscompile"; then
+ flags="$flags -L${APR_TARGET_DIR}/$libdir -l${APR_LIBNAME}"
+ else
diff --git a/dev-libs/argtable/argtable-2.13-r3.ebuild b/dev-libs/argtable/argtable-2.13-r3.ebuild
index 30eee172a9f4..bbd3be201745 100644
--- a/dev-libs/argtable/argtable-2.13-r3.ebuild
+++ b/dev-libs/argtable/argtable-2.13-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
@@ -8,7 +8,7 @@ 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"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="LGPL-2"
diff --git a/dev-libs/argtable/argtable-2.13-r4.ebuild b/dev-libs/argtable/argtable-2.13-r4.ebuild
index 2c18502ad2c2..2c929ec0c0ed 100644
--- a/dev-libs/argtable/argtable-2.13-r4.ebuild
+++ b/dev-libs/argtable/argtable-2.13-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
@@ -8,7 +8,7 @@ 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"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="LGPL-2"
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 52b664460cb5..bb8ae13b8548 100644
--- a/dev-libs/atf/atf-0.21-r2.ebuild
+++ b/dev-libs/atf/atf-0.21-r2.ebuild
@@ -1,21 +1,29 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+inherit flag-o-matic
+
DESCRIPTION="Libraries to write tests in C, C++ and shell"
-HOMEPAGE="https://github.com/jmmv/atf"
-SRC_URI="https://github.com/jmmv/atf/releases/download/${P}/${P}.tar.gz"
+HOMEPAGE="https://github.com/freebsd/atf"
+SRC_URI="https://github.com/freebsd/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 ~x64-solaris"
-IUSE=""
BDEPEND="virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/${P}-getopt-solaris.patch )
+src_configure() {
+ # Uses std::auto_ptr (deprecated in c++11, removed in c++17)
+ append-cxxflags "-std=c++14"
+
+ default
+}
+
src_install() {
default
rm -r "${ED}"/usr/tests || die
diff --git a/dev-libs/atf/metadata.xml b/dev-libs/atf/metadata.xml
index 077cdb6aa203..b2385d19378a 100644
--- a/dev-libs/atf/metadata.xml
+++ b/dev-libs/atf/metadata.xml
@@ -5,4 +5,7 @@
<email>floppym@gentoo.org</email>
<name>Mike Gilbert</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">freebsd/atf</remote-id>
+ </upstream>
</pkgmetadata>
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 47a7e1f4a636..899dbf27f4e3 100644
--- a/dev-libs/ayatana-ido/Manifest
+++ b/dev-libs/ayatana-ido/Manifest
@@ -1,2 +1,2 @@
-DIST ayatana-ido-0.9.2.tar.gz 122286 BLAKE2B f6498591d72fa6deb5d9c8d87ddad399e41b3701719e45fe82dc8d5bd6ede30bb754561fdeaa938713692a90b8c48657ea2cb472c762acab6c3f36c73907b92e SHA512 efc5825d32d707b02397692c347f99f3bca13da2cd653b6ce87882643c85c2698bdac6168e89a01ed98d5ee58c88a820d89dad7b88a5aee235b450c40969d0a7
+DIST ayatana-ido-0.10.2.tar.gz 137434 BLAKE2B dee5d048c05ea7eced96896abd0bdad804b6d2f9f7b03b01b8839a433bec7bb7da64c57f2ce2128e4d6044d3608b73ba6ed984f464a436ba6f8ac4cc8a949025 SHA512 c4d143a93331984758755b3c8b2c5dc92a07bccf8994ebaa24688ceec52b32049677144045817686210594df961e49eee90ff0ede5905153950eb2a9d20605c5
DIST ayatana-ido-0.9.3.tar.gz 122912 BLAKE2B 80c07c6f90b7e2b6d68c2629990918f091abdc85616cbf472dbcc1bbea87dabb9649d8da4d676f1acbc65c34e5a5b53143449759a0d65661352898199c1ea592 SHA512 61c9fe35be9dceabba3d61add0fa51cf0447572dbedf48f710b79cf9c4fed2a049f6d2c0069ae8499aa41f008e736e257da47c6b07fd4e20778689c9ab6853d4
diff --git a/dev-libs/ayatana-ido/ayatana-ido-0.9.2.ebuild b/dev-libs/ayatana-ido/ayatana-ido-0.10.2.ebuild
index 0ebb1aecb180..9ba002fe8538 100644
--- a/dev-libs/ayatana-ido/ayatana-ido-0.9.2.ebuild
+++ b/dev-libs/ayatana-ido/ayatana-ido-0.10.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
VALA_USE_DEPEND="vapigen"
-inherit cmake vala
+inherit cmake vala virtualx
DESCRIPTION="Ayatana Application Indicators (Shared Library)"
HOMEPAGE="https://github.com/AyatanaIndicators/ayatana-ido"
@@ -13,12 +13,9 @@ SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}
LICENSE="LGPL-2.1 LGPL-3 GPL-3"
SLOT="0"
IUSE="test"
+RESTRICT="!test? ( test )"
-# https://github.com/AyatanaIndicators/ayatana-ido/issues/62
-RESTRICT="test"
-#RESTRICT="!test? ( test )"
-
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
>=dev-libs/glib-2.58:2
@@ -43,3 +40,7 @@ src_configure() {
)
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 b504018a63b4..007681967b20 100644
--- a/dev-libs/bemenu/Manifest
+++ b/dev-libs/bemenu/Manifest
@@ -2,3 +2,4 @@ DIST bemenu-0.6.10.tar.gz 129568 BLAKE2B f81e84e6457175abf11b9dc6c426cb02121b4f1
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
+DIST bemenu-0.6.21.tar.gz 139797 BLAKE2B f50aeb3f45721c74077457b702a4b5e58395e245b062df52ad1a452d01862269b0e3d984a318191ef3aa2850f6fa5352d98af9c23a2b9976ee595884132e89a5 SHA512 e8eda08c62d6ab01377dbf04160a7ea42f49ee8378066d855d3223cc57290edb51d74ff12c3b1c799304cb8e46e89f37a82660bf208443d60b2eb3c3446d3e02
diff --git a/dev-libs/bemenu/bemenu-0.6.10-r1.ebuild b/dev-libs/bemenu/bemenu-0.6.10-r1.ebuild
index ef3592428ff4..2817cb8c9816 100644
--- a/dev-libs/bemenu/bemenu-0.6.10-r1.ebuild
+++ b/dev-libs/bemenu/bemenu-0.6.10-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -45,7 +45,7 @@ DEPEND="
dev-libs/wayland-protocols
)
"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_compile() {
tc-export CC
diff --git a/dev-libs/bemenu/bemenu-0.6.14.ebuild b/dev-libs/bemenu/bemenu-0.6.14.ebuild
index 74a5e8c07a56..90fa49e3cc59 100644
--- a/dev-libs/bemenu/bemenu-0.6.14.ebuild
+++ b/dev-libs/bemenu/bemenu-0.6.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -47,7 +47,7 @@ DEPEND="
"
BDEPEND="
app-text/scdoc
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
src_compile() {
diff --git a/dev-libs/bemenu/bemenu-0.6.15.ebuild b/dev-libs/bemenu/bemenu-0.6.15.ebuild
index 74a5e8c07a56..90fa49e3cc59 100644
--- a/dev-libs/bemenu/bemenu-0.6.15.ebuild
+++ b/dev-libs/bemenu/bemenu-0.6.15.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -47,7 +47,7 @@ DEPEND="
"
BDEPEND="
app-text/scdoc
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
src_compile() {
diff --git a/dev-libs/bemenu/bemenu-0.6.16.ebuild b/dev-libs/bemenu/bemenu-0.6.16.ebuild
index 590d8a37de99..db7ba32918bd 100644
--- a/dev-libs/bemenu/bemenu-0.6.16.ebuild
+++ b/dev-libs/bemenu/bemenu-0.6.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
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"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
LICENSE="GPL-3"
@@ -43,7 +43,7 @@ DEPEND="${RDEPEND}"
BDEPEND="
app-text/scdoc
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
wayland? (
dev-libs/wayland-protocols
dev-util/wayland-scanner
diff --git a/dev-libs/bemenu/bemenu-0.6.21.ebuild b/dev-libs/bemenu/bemenu-0.6.21.ebuild
new file mode 100644
index 000000000000..db7ba32918bd
--- /dev/null
+++ b/dev-libs/bemenu/bemenu-0.6.21.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 590d8a37de99..fa785a2d9815 100644
--- a/dev-libs/bemenu/bemenu-9999.ebuild
+++ b/dev-libs/bemenu/bemenu-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -43,7 +43,7 @@ DEPEND="${RDEPEND}"
BDEPEND="
app-text/scdoc
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
wayland? (
dev-libs/wayland-protocols
dev-util/wayland-scanner
diff --git a/dev-libs/bglibs/bglibs-2.04-r1.ebuild b/dev-libs/bglibs/bglibs-2.04-r1.ebuild
index 79095d8196d0..a59605a8505d 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
@@ -11,14 +11,14 @@ SRC_URI="https://untroubled.org/bglibs/archive/${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0/2"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ppc ~ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc x86"
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/blake3/Manifest b/dev-libs/blake3/Manifest
index cab775f96d36..14f82ce4b719 100644
--- a/dev-libs/blake3/Manifest
+++ b/dev-libs/blake3/Manifest
@@ -1,2 +1,2 @@
-DIST blake3-1.4.1.tar.gz 224891 BLAKE2B c5d20f40ee2c4c35dfa89de8318e246baef2feab23d71e6c73da201c726ea51b42bec2a5769660a18298057591f479a62b29150f91f07b37eed3438f1a78bec1 SHA512 d21025764fb9ae020561ce2301156a69a77c89a4c5e402a27095e5014159d1a8fee340ff1b1db00b5b22f7a9a4d38273132aab13ca5bd639944492f1b31c9ec1
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.4.1.ebuild b/dev-libs/blake3/blake3-1.5.1.ebuild
index 2bc612e7279e..0909ad2023ce 100644
--- a/dev-libs/blake3/blake3-1.4.1.ebuild
+++ b/dev-libs/blake3/blake3-1.5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,4 @@ S="${WORKDIR}/BLAKE3-${PV}/c"
LICENSE="|| ( CC0-1.0 Apache-2.0 )"
SLOT="0/0"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-libs/boehm-gc/Manifest b/dev-libs/boehm-gc/Manifest
index 51568a81cabe..f6492f1a745a 100644
--- a/dev-libs/boehm-gc/Manifest
+++ b/dev-libs/boehm-gc/Manifest
@@ -1,4 +1,2 @@
-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.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.6.ebuild b/dev-libs/boehm-gc/boehm-gc-8.0.6.ebuild
deleted file mode 100644
index 4cc7f559e4bf..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 ~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
- 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 c4048ab70e90..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 ~x64-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.0.8.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
index 479709474e41..e42c17128546 100644
--- a/dev-libs/boehm-gc/boehm-gc-8.0.8.ebuild
+++ b/dev-libs/boehm-gc/boehm-gc-8.2.6.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
@@ -6,6 +6,7 @@ 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"
@@ -15,7 +16,8 @@ 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 ~x64-solaris"
+# 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}]"
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 44f190ebd9c5..48f0e20f3193 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1,2 +1,2 @@
-DIST boost_1_82_0.tar.bz2 121325129 BLAKE2B 16ee164ce7114d8134c861b3652c842750cec63ab0e79e4386d8cb9c56f7a454f9a9cfa75f25d9132a8d8d9e6f39d32a8e7535f83f52f355bbc40ef530163fa5 SHA512 6fddc452ca67f99f5c181e21c73d96feb7346e10886477c91b4abc2cdf447750599e0d42f935ef591222200ef6c033de078a7ad2bb577c81fa56a249b17420cb
-DIST boost_1_83_0.tar.bz2 122892751 BLAKE2B c4af1713712da82f964fe08451141ea96905e30b475ee5090bf87ae6e43bcb1f258ab92e16e992fd22405e8cd85a435cef76a22b98788d9960396a4fec8c4c62 SHA512 d133b521bd754dc35a9bd30d8032bd2fd866026d90af2179e43bfd7bd816841f7f3b84303f52c0e54aebc373f4e4edd601a8f5a5e0c47500e0e852e04198a711
+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.82.0-r1.ebuild b/dev-libs/boost/boost-1.82.0-r1.ebuild
deleted file mode 100644
index 8a63f6519da2..000000000000
--- a/dev-libs/boost/boost-1.82.0-r1.ebuild
+++ /dev/null
@@ -1,354 +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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-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="
- 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)
- "${FILESDIR}"/${PN}-1.82.0-context-arm64.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)"
- 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 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
-
- 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 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
- # 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 "${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.83.0-r1.ebuild b/dev-libs/boost/boost-1.84.0-r3.ebuild
index 939e9e431ee5..b9e822fe2043 100644
--- a/dev-libs/boost/boost-1.83.0-r1.ebuild
+++ b/dev-libs/boost/boost-1.84.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,7 +22,7 @@ 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"
+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
@@ -34,10 +34,10 @@ RESTRICT="test"
RDEPEND="
bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
+ mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
python? (
${PYTHON_DEPS}
numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
@@ -45,24 +45,18 @@ RDEPEND="
zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/b2-4.9.2"
+BDEPEND=">=dev-build/b2-5.0.0"
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.81.0-phoenix-multiple-definitions.patch
-)
-
-python_bindings_needed() {
- multilib_is_native_abi && use python
-}
-tools_needed() {
- multilib_is_native_abi && use tools
-}
+ # 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
@@ -86,7 +80,7 @@ create_user-config.jam() {
${mpi_configuration}
__EOF__
- if python_bindings_needed; then
+ if multilib_native_use python; then
append_to_user_config() {
local py_config
if tc-is-cross-compiler; then
@@ -99,7 +93,7 @@ create_user-config.jam() {
python_foreach_impl append_to_user_config
fi
- if python_bindings_needed && use numpy; then
+ 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"
@@ -134,7 +128,7 @@ ejam() {
create_user-config.jam
local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if python_bindings_needed; then
+ if multilib_native_use python; then
append_to_b2_opts() {
b2_opts+=( python="${EPYTHON#python}" )
}
@@ -208,7 +202,7 @@ multilib_src_compile() {
--prefix="${EPREFIX}"/usr \
"${OPTIONS[@]}" || die
- if tools_needed; then
+ if multilib_native_use tools; then
pushd tools >/dev/null || die
ejam \
--prefix="${EPREFIX}"/usr \
@@ -225,7 +219,7 @@ multilib_src_install() {
--libdir="${ED}"/usr/$(get_libdir) \
"${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
- if tools_needed; then
+ if multilib_native_use tools; then
dobin dist/bin/*
insinto /usr/share
@@ -282,7 +276,6 @@ multilib_src_install_all() {
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
diff --git a/dev-libs/boost/boost-1.83.0-r2.ebuild b/dev-libs/boost/boost-1.85.0-r1.ebuild
index 5f671e7f2cd5..db7aaf2052ea 100644
--- a/dev-libs/boost/boost-1.83.0-r2.ebuild
+++ b/dev-libs/boost/boost-1.85.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,6 +9,8 @@ EAPI=8
# (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.
+# FIXME: cleanup subslot after 1.85.0
+
PYTHON_COMPAT=( python3_{10..12} )
inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
@@ -21,8 +23,8 @@ SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_$
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"
+SLOT="0/${PV}.1" # ${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
@@ -34,37 +36,32 @@ RESTRICT="test"
RDEPEND="
bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
- icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] )
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
!icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
- mpi? ( >=virtual/mpi-2.0-r4[${MULTILIB_USEDEP},cxx,threads] )
+ mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
python? (
${PYTHON_DEPS}
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ 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"
+BDEPEND=">=dev-build/b2-5.0.0"
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.81.0-phoenix-multiple-definitions.patch
- "${FILESDIR}"/${PN}-1.83.0-unordered-uaf.patch
+ "${FILESDIR}"/${PN}-1.85.0-bcp-filesystem.patch
+ "${FILESDIR}"/${PN}-1.85.0-python-numpy-2.patch
+ "${FILESDIR}"/${PN}-1.85.0-container-aliasing.patch
+ "${FILESDIR}"/${PN}-1.85.0-01-fix_unsupported_long_double_macros.patch
+ "${FILESDIR}"/${PN}-1.85.0-02-fix_unsupported_long_double_formats.patch
+ "${FILESDIR}"/${PN}-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch
+ "${FILESDIR}"/${PN}-1.85.0-04-remove_cruft_codeblock.patch
+ "${FILESDIR}"/${PN}-1.85.0-05-fix_macro_name.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
@@ -87,7 +84,7 @@ create_user-config.jam() {
${mpi_configuration}
__EOF__
- if python_bindings_needed; then
+ if multilib_native_use python; then
append_to_user_config() {
local py_config
if tc-is-cross-compiler; then
@@ -100,7 +97,7 @@ create_user-config.jam() {
python_foreach_impl append_to_user_config
fi
- if python_bindings_needed && use numpy; then
+ 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"
@@ -135,7 +132,7 @@ ejam() {
create_user-config.jam
local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
- if python_bindings_needed; then
+ if multilib_native_use python; then
append_to_b2_opts() {
b2_opts+=( python="${EPYTHON#python}" )
}
@@ -209,7 +206,7 @@ multilib_src_compile() {
--prefix="${EPREFIX}"/usr \
"${OPTIONS[@]}" || die
- if tools_needed; then
+ if multilib_native_use tools; then
pushd tools >/dev/null || die
ejam \
--prefix="${EPREFIX}"/usr \
@@ -226,7 +223,7 @@ multilib_src_install() {
--libdir="${ED}"/usr/$(get_libdir) \
"${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
- if tools_needed; then
+ if multilib_native_use tools; then
dobin dist/bin/*
insinto /usr/share
@@ -283,7 +280,6 @@ multilib_src_install_all() {
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
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-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.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.82.0-context-arm64.patch b/dev-libs/boost/files/boost-1.82.0-context-arm64.patch
deleted file mode 100644
index a4efac7f2f62..000000000000
--- a/dev-libs/boost/files/boost-1.82.0-context-arm64.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-https://github.com/boostorg/context/commit/d039c8e4da79dbc76481236249e22892bfdde047
-https://bugs.gentoo.org/904132
-
-From d039c8e4da79dbc76481236249e22892bfdde047 Mon Sep 17 00:00:00 2001
-From: Nikita Kniazev <nok.raven@gmail.com>
-Date: Thu, 23 Mar 2023 16:23:07 +0300
-Subject: [PATCH] Fix arm64 detection broken by recent B2 change
-
---- a/libs/context/build/Jamfile.v2
-+++ b/libs/context/build/Jamfile.v2
-@@ -79,7 +79,7 @@ local rule default_abi ( )
- local tmp = sysv ;
- if [ os.name ] = "NT" { tmp = ms ; }
- else if [ os.name ] = "CYGWIN" { tmp = ms ; }
-- else if [ os.platform ] = "ARM" { tmp = aapcs ; }
-+ else if [ os.platform ] in ARM ARM64 { tmp = aapcs ; }
- else if [ os.platform ] = "MIPS32" { tmp = o32 ; }
- else if [ os.platform ] = "MIPS64" { tmp = n64 ; }
- return $(tmp) ;
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.83.0-unordered-uaf.patch b/dev-libs/boost/files/boost-1.83.0-unordered-uaf.patch
deleted file mode 100644
index f9ecf675fd96..000000000000
--- a/dev-libs/boost/files/boost-1.83.0-unordered-uaf.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://www.boost.org/patches/1_83_0/0001-unordered-fix-copy-assign.patch
-https://github.com/boostorg/unordered/issues/205
-
---- a/boost/unordered/detail/foa/core.hpp
-+++ b/boost/unordered/detail/foa/core.hpp
-@@ -1870,9 +1870,10 @@ private:
-
- void fast_copy_elements_from(const table_core& x)
- {
-- if(arrays.elements){
-+ if(arrays.elements&&x.arrays.elements){
- copy_elements_array_from(x);
- copy_groups_array_from(x);
-+ size_ctrl.ml=std::size_t(x.size_ctrl.ml);
- size_ctrl.size=std::size_t(x.size_ctrl.size);
- }
- }
-
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/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch b/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch
new file mode 100644
index 000000000000..58387c211b44
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-01-fix_unsupported_long_double_macros.patch
@@ -0,0 +1,111 @@
+https://bugs.gentoo.org/932579
+https://github.com/boostorg/charconv/pull/183
+--- a/boost/charconv/detail/bit_layouts.hpp
++++ b/boost/charconv/detail/bit_layouts.hpp
+@@ -107,6 +107,7 @@ struct IEEEl2bits
+
+ #else // Unsupported long double representation
+ # define BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++# define BOOST_CHARCONV_LDBL_BITS -1
+ #endif
+
+ struct IEEEbinary128
+--- a/boost/charconv/from_chars.hpp
++++ b/boost/charconv/from_chars.hpp
+@@ -139,7 +139,10 @@ BOOST_CHARCONV_GCC5_CONSTEXPR from_chars_result from_chars(boost::core::string_v
+
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
++
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, __float128& value, chars_format fmt = chars_format::general) noexcept;
+@@ -164,7 +167,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const
+
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
++
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, __float128& value, chars_format fmt = chars_format::general) noexcept;
+@@ -193,7 +199,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view
+
+ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
++
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, __float128& value, chars_format fmt = chars_format::general) noexcept;
+@@ -216,7 +225,10 @@ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char*
+
+ BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
++
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, __float128& value, chars_format fmt = chars_format::general) noexcept;
+--- a/libs/charconv/src/from_chars.cpp
++++ b/libs/charconv/src/from_chars.cpp
+@@ -205,7 +205,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char
+ return r;
+ }
+
+-#else
++#elif !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
+
+ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+@@ -299,10 +299,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::cor
+ return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
+ }
+
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+ return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
+ }
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, __float128& value, boost::charconv::chars_format fmt) noexcept
+@@ -372,10 +374,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first
+ return from_chars_strict_impl(first, last, value, fmt);
+ }
+
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+ return from_chars_strict_impl(first, last, value, fmt);
+ }
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, __float128& value, boost::charconv::chars_format fmt) noexcept
+@@ -429,10 +433,12 @@ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::stri
+ return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
+ }
+
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+ return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
+ }
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, __float128& value, boost::charconv::chars_format fmt) noexcept
+--
+2.45.2
+
diff --git a/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch b/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch
new file mode 100644
index 000000000000..59a007907be6
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-02-fix_unsupported_long_double_formats.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/932579
+https://github.com/boostorg/charconv/pull/183
+--- a/boost/charconv/to_chars.hpp
++++ b/boost/charconv/to_chars.hpp
+@@ -81,15 +81,21 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu
+ chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
+ chars_format fmt = chars_format::general) noexcept;
++
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
+ chars_format fmt = chars_format::general) noexcept;
++#endif
+
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float value,
+ chars_format fmt, int precision) noexcept;
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
+ chars_format fmt, int precision) noexcept;
++
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
+ chars_format fmt, int precision) noexcept;
++#endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, __float128 value,
+--
+2.45.2
+
diff --git a/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch b/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch
new file mode 100644
index 000000000000..fc7a3e5b6aa5
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-03-disable_tests_with_unsupported_long_double_layouts.patch
@@ -0,0 +1,420 @@
+https://bugs.gentoo.org/932579
+https://github.com/boostorg/charconv/pull/183
+--- a/libs/charconv/test/from_chars_float.cpp
++++ b/libs/charconv/test/from_chars_float.cpp
+@@ -440,6 +440,7 @@ void test_issue_37()
+ overflow_spot_value("1.0e+9999", HUGE_VAL);
+ overflow_spot_value("-1.0e+9999", -HUGE_VAL);
+ }
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ else
+ {
+ overflow_spot_value("1e99999", HUGE_VALL);
+@@ -447,6 +448,7 @@ void test_issue_37()
+ overflow_spot_value("1.0e+99999", HUGE_VALL);
+ overflow_spot_value("-1.0e+99999", -HUGE_VALL);
+ }
++ #endif
+
+ overflow_spot_value("1e-99999", static_cast<T>(0.0L));
+ overflow_spot_value("-1.0e-99999", static_cast<T>(-0.0L));
+@@ -530,20 +532,22 @@ int main()
+ odd_strings_test<float>();
+ odd_strings_test<double>();
+
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ simple_integer_test<long double>();
+ simple_hex_integer_test<long double>();
+ simple_scientific_test<long double>();
+ simple_hex_scientific_test<long double>();
++ zero_test<long double>();
++ test_issue_37<long double>();
++ #endif
+
+ zero_test<float>();
+ zero_test<double>();
+- zero_test<long double>();
+
+ boost_json_test<double>();
+
+ test_issue_37<float>();
+ test_issue_37<double>();
+- test_issue_37<long double>();
+
+ test_issue_45<double>(static_cast<double>(-4109895455460520.5), "-4109895455460520.513430", 19);
+ test_issue_45<double>(1.035695536657502e-308, "1.0356955366575023e-3087", 23);
+@@ -1846,40 +1850,29 @@ int main()
+ spot_check_nan<float>("-nan", fmt);
+ spot_check_nan<double>("nan", fmt);
+ spot_check_nan<double>("-nan", fmt);
+- spot_check_nan<long double>("nan", fmt);
+- spot_check_nan<long double>("-nan", fmt);
+
+ spot_check_inf<float>("inf", fmt);
+ spot_check_inf<float>("-inf", fmt);
+ spot_check_inf<double>("inf", fmt);
+ spot_check_inf<double>("-inf", fmt);
+- spot_check_inf<long double>("inf", fmt);
+- spot_check_inf<long double>("-inf", fmt);
+
+ spot_check_nan<float>("NAN", fmt);
+ spot_check_nan<float>("-NAN", fmt);
+ spot_check_nan<double>("NAN", fmt);
+ spot_check_nan<double>("-NAN", fmt);
+- spot_check_nan<long double>("NAN", fmt);
+- spot_check_nan<long double>("-NAN", fmt);
+
+ spot_check_inf<float>("INF", fmt);
+ spot_check_inf<float>("-INF", fmt);
+ spot_check_inf<double>("INF", fmt);
+ spot_check_inf<double>("-INF", fmt);
+- spot_check_inf<long double>("INF", fmt);
+- spot_check_inf<long double>("-INF", fmt);
+
+ spot_check_nan<float>("nan(snan)", fmt);
+ spot_check_nan<float>("-nan(snan)", fmt);
+ spot_check_nan<double>("nan(snan)", fmt);
+ spot_check_nan<double>("-nan(snan)", fmt);
+- spot_check_nan<long double>("nan(snan)", fmt);
+- spot_check_nan<long double>("-nan(snan)", fmt);
+
+ spot_check_nan<float>("-nan(ind)", fmt);
+ spot_check_nan<double>("-nan(ind)", fmt);
+- spot_check_nan<long double>("-nan(ind)", fmt);
+
+ spot_check_invalid_argument<float>("na7", fmt);
+ spot_check_invalid_argument<float>("na", fmt);
+@@ -1889,8 +1882,22 @@ int main()
+ spot_check_invalid_argument<float>(" 1.23", fmt);
+ spot_check_invalid_argument<double>(" 1.23", fmt);
+ spot_check_invalid_argument<double>(" 1.23", fmt);
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ spot_check_nan<long double>("nan", fmt);
++ spot_check_nan<long double>("-nan", fmt);
++ spot_check_inf<long double>("inf", fmt);
++ spot_check_inf<long double>("-inf", fmt);
++ spot_check_nan<long double>("NAN", fmt);
++ spot_check_nan<long double>("-NAN", fmt);
++ spot_check_inf<long double>("INF", fmt);
++ spot_check_inf<long double>("-INF", fmt);
++ spot_check_nan<long double>("nan(snan)", fmt);
++ spot_check_nan<long double>("-nan(snan)", fmt);
++ spot_check_nan<long double>("-nan(ind)", fmt);
+ spot_check_invalid_argument<long double>(" 1.23", fmt);
+ spot_check_invalid_argument<long double>(" 1.23", fmt);
++ #endif
+ }
+
+ return boost::report_errors();
+--- a/libs/charconv/test/from_chars_string_view.cpp
++++ b/libs/charconv/test/from_chars_string_view.cpp
+@@ -116,17 +116,23 @@ int main()
+
+ test_float<float>();
+ test_float<double>();
+- test_float<long double>();
+
+ test_float<float, std::string>();
+ test_float<double, std::string>();
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ test_float<long double>();
+ test_float<long double, std::string>();
++ #endif
+
+ #if !defined(BOOST_NO_CXX17_HDR_STRING_VIEW)
+
+ test_float<float, std::string_view>();
+ test_float<double, std::string_view>();
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ test_float<long double, std::string_view>();
++ #endif
+
+ #endif
+
+--- a/libs/charconv/test/github_issue_110.cpp
++++ b/libs/charconv/test/github_issue_110.cpp
+@@ -42,7 +42,10 @@ int main()
+ {
+ test<float>();
+ test<double>();
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
++ #endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+ test<__float128>();
+--- a/libs/charconv/test/github_issue_122.cpp
++++ b/libs/charconv/test/github_issue_122.cpp
+@@ -52,7 +52,10 @@ int main()
+ {
+ test<float>();
+ test<double>();
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
++ #endif
+
+ return boost::report_errors();
+ }
+--- a/libs/charconv/test/github_issue_152.cpp
++++ b/libs/charconv/test/github_issue_152.cpp
+@@ -188,7 +188,6 @@ int main()
+ {
+ test_non_finite<float>();
+ test_non_finite<double>();
+- test_non_finite<long double>();
+ #ifdef BOOST_CHARCONV_HAS_FLOAT16
+ test_non_finite<std::float16_t>();
+ #endif
+@@ -204,7 +203,6 @@ int main()
+
+ test_non_finite_fixed_precision<float>();
+ test_non_finite_fixed_precision<double>();
+- test_non_finite_fixed_precision<long double>();
+ #ifdef BOOST_CHARCONV_HAS_FLOAT16
+ test_non_finite_fixed_precision<std::float16_t>();
+ #endif
+@@ -220,7 +218,6 @@ int main()
+
+ test_min_buffer_size<float>();
+ test_min_buffer_size<double>();
+- test_min_buffer_size<long double>();
+ #ifdef BOOST_CHARCONV_HAS_FLOAT32
+ test_min_buffer_size<std::float32_t>();
+ #endif
+@@ -232,5 +229,11 @@ int main()
+ test_failed_values();
+ #endif
+
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ test_non_finite<long double>();
++ test_non_finite_fixed_precision<long double>();
++ test_min_buffer_size<long double>();
++ #endif
++
+ return boost::report_errors();
+ }
+--- a/libs/charconv/test/github_issue_158.cpp
++++ b/libs/charconv/test/github_issue_158.cpp
+@@ -93,6 +93,7 @@ void test_values_with_negative_exp()
+ BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000000099999999999999990753745222790");
+ }
+
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ void test_long_double_with_negative_exp()
+ {
+ char buffer[256];
+@@ -126,6 +127,7 @@ void test_long_double_with_negative_exp()
+ // BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000999999999999999999997135886174218");
+ BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000001000000000000000000000000000000000");
+ }
++#endif
+
+ void test_values_with_positive_exp()
+ {
+@@ -407,6 +409,7 @@ void test_zero()
+ BOOST_TEST_CSTR_EQ(buffer, "0");
+ }
+
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ void test_long_double_with_positive_exp()
+ {
+ char buffer[256];
+@@ -438,6 +441,7 @@ void test_long_double_with_positive_exp()
+ BOOST_TEST(res);
+ BOOST_TEST_CSTR_EQ(buffer, "100000000000000000.00000000000000000000000000000000000000000000000000");
+ }
++#endif
+
+ template <typename T>
+ void test_spot_value(T value, int precision, const char* result, boost::charconv::chars_format fmt = boost::charconv::chars_format::fixed)
+--- a/libs/charconv/test/limits.cpp
++++ b/libs/charconv/test/limits.cpp
+@@ -227,7 +227,10 @@ int main()
+
+ test_floating_point<float>();
+ test_floating_point<double>();
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ test_floating_point<long double>();
++ #endif
+
+ #ifdef BOOST_CHARCONV_HAS_INT128
+
+--- a/libs/charconv/test/limits_link_1.cpp
++++ b/libs/charconv/test/limits_link_1.cpp
+@@ -3,6 +3,7 @@
+ // https://www.boost.org/LICENSE_1_0.txt
+
+ #include <boost/charconv/limits.hpp>
++#include <boost/charconv/detail/bit_layouts.hpp>
+
+ void test_odr_use( int const* );
+
+@@ -28,7 +29,9 @@ void f1()
+
+ test<float>();
+ test<double>();
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
++ #endif
+
+ #ifdef BOOST_CHARCONV_HAS_INT128
+
+--- a/libs/charconv/test/limits_link_2.cpp
++++ b/libs/charconv/test/limits_link_2.cpp
+@@ -3,6 +3,7 @@
+ // https://www.boost.org/LICENSE_1_0.txt
+
+ #include <boost/charconv/limits.hpp>
++#include <boost/charconv/detail/bit_layouts.hpp>
+
+ void test_odr_use( int const* );
+
+@@ -28,7 +29,9 @@ void f2()
+
+ test<float>();
+ test<double>();
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
++ #endif
+
+ #ifdef BOOST_CHARCONV_HAS_INT128
+
+--- a/libs/charconv/test/roundtrip.cpp
++++ b/libs/charconv/test/roundtrip.cpp
+@@ -347,6 +347,7 @@ template<typename FPType> int64_t Distance(FPType y, FPType x)
+ return ToOrdinal(y) - ToOrdinal(x);
+ }
+
++#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ template <> void test_roundtrip<long double>(long double value)
+ {
+ char buffer[ 256 ];
+@@ -381,6 +382,7 @@ template <> void test_roundtrip<long double>(long double value)
+ // LCOV_EXCL_STOP
+ }
+ }
++#endif
+
+ // floating point types, boundary values
+
+@@ -601,7 +603,7 @@ int main()
+ #endif
+
+ // long double
+- #if !(BOOST_CHARCONV_LDBL_BITS == 128)
++ #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
+
+ {
+ long double const ql = std::pow( 1.0L, -64 );
+--- a/libs/charconv/test/to_chars_float.cpp
++++ b/libs/charconv/test/to_chars_float.cpp
+@@ -202,7 +202,7 @@ int main()
+ non_finite_values<double>(boost::charconv::chars_format::hex, 2);
+
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484
+- #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__))
++ #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
+ non_finite_values<long double>();
+ #endif
+
+--- a/libs/charconv/test/to_chars_float_STL_comp.cpp
++++ b/libs/charconv/test/to_chars_float_STL_comp.cpp
+@@ -212,7 +212,10 @@ int main()
+ // General format
+ random_test<float>();
+ random_test<double>();
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>();
++ #endif
++
+ test_spot<double>(0.0);
+ test_spot<double>(-0.0);
+
+@@ -224,7 +227,9 @@ int main()
+ // Scientific
+ random_test<float>(boost::charconv::chars_format::scientific);
+ random_test<double>(boost::charconv::chars_format::scientific);
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>(boost::charconv::chars_format::scientific);
++ #endif
+ test_spot<double>(0.0, boost::charconv::chars_format::scientific);
+ test_spot<double>(-0.0, boost::charconv::chars_format::scientific);
+
+@@ -237,14 +242,20 @@ int main()
+ // Hex
+ random_test<float>(boost::charconv::chars_format::hex);
+ random_test<double>(boost::charconv::chars_format::hex);
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>(boost::charconv::chars_format::hex);
++ #endif
+
+ #if !defined(_LIBCPP_VERSION)
++
+ random_test<float>(boost::charconv::chars_format::hex, -1e5F, 1e5F);
+ random_test<double>(boost::charconv::chars_format::hex, -1e5, 1e5);
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>(boost::charconv::chars_format::hex, -1e5L, 1e5L);
+ #endif
+
++ #endif
++
+ test_spot<double>(-9.52743282403084637e+306, boost::charconv::chars_format::hex);
+ test_spot<double>(-9.52743282403084637e-306, boost::charconv::chars_format::hex);
+ test_spot<double>(-9.52743282403084637e+305, boost::charconv::chars_format::hex);
+@@ -261,13 +272,16 @@ int main()
+ // Various non-finite values
+ non_finite_test<float>();
+ non_finite_test<double>();
+- non_finite_test<long double>();
+ non_finite_test<float>(boost::charconv::chars_format::scientific);
+ non_finite_test<double>(boost::charconv::chars_format::scientific);
+- non_finite_test<long double>(boost::charconv::chars_format::scientific);
+ non_finite_test<float>(boost::charconv::chars_format::hex);
+ non_finite_test<double>(boost::charconv::chars_format::hex);
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ non_finite_test<long double>();
++ non_finite_test<long double>(boost::charconv::chars_format::scientific);
+ non_finite_test<long double>(boost::charconv::chars_format::hex);
++ #endif
+
+ #if (defined(__GNUC__) && __GNUC__ >= 11) || (defined(_MSC_VER) && _MSC_VER >= 1924)
+ // Selected additional values
+@@ -288,7 +302,10 @@ int main()
+ // Reported in issue #93
+ test_spot<float>(3.3F);
+ test_spot<double>(3.3);
++
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ test_spot<long double>(3.3L);
++ #endif
+
+ return boost::report_errors();
+ }
+--- a/libs/charconv/test/to_chars_sprintf.cpp
++++ b/libs/charconv/test/to_chars_sprintf.cpp
+@@ -627,6 +627,7 @@ int main()
+
+ // long double
+
++ #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
+ {
+ for( int i = 0; i < N; ++i )
+ {
+@@ -665,6 +666,7 @@ int main()
+
+ test_sprintf_bv_fp<long double>();
+ }
++ #endif
+
+ return boost::report_errors();
+ }
+--
+2.45.2
+
diff --git a/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch b/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch
new file mode 100644
index 000000000000..8d91e5f41746
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-04-remove_cruft_codeblock.patch
@@ -0,0 +1,52 @@
+https://bugs.gentoo.org/932579
+https://github.com/boostorg/charconv/pull/183
+--- a/libs/charconv/src/to_chars.cpp
++++ b/libs/charconv/src/to_chars.cpp
+@@ -620,44 +620,6 @@ boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* la
+ return boost::charconv::detail::to_chars_float_impl(first, last, value, fmt, precision);
+ }
+
+-#else
+-
+-boost::charconv::to_chars_result boost::charconv::to_chars( char* first, char* last, long double value,
+- boost::charconv::chars_format fmt, int precision) noexcept
+-{
+- if (std::isnan(value))
+- {
+- bool is_negative = false;
+- if (std::signbit(value))
+- {
+- is_negative = true;
+- *first++ = '-';
+- }
+-
+- if (issignaling(value))
+- {
+- std::memcpy(first, "nan(snan)", 9);
+- return { first + 9 + static_cast<int>(is_negative), std::errc() };
+- }
+- else
+- {
+- if (is_negative)
+- {
+- std::memcpy(first, "nan(ind)", 8);
+- return { first + 9, std::errc() };
+- }
+- else
+- {
+- std::memcpy(first, "nan", 3);
+- return { first + 3, std::errc() };
+- }
+- }
+- }
+-
+- // Fallback to printf
+- return boost::charconv::detail::to_chars_printf_impl(first, last, value, fmt, precision);
+-}
+-
+ #endif
+
+ #ifdef BOOST_CHARCONV_HAS_FLOAT128
+--
+2.45.2
+
diff --git a/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch b/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch
new file mode 100644
index 000000000000..69899ae3b850
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-05-fix_macro_name.patch
@@ -0,0 +1,356 @@
+https://bugs.gentoo.org/932579
+https://github.com/boostorg/charconv/pull/183
+--- a/boost/charconv/detail/bit_layouts.hpp
++++ b/boost/charconv/detail/bit_layouts.hpp
+@@ -106,7 +106,7 @@ struct IEEEl2bits
+ #define BOOST_CHARCONV_LDBL_BITS 64
+
+ #else // Unsupported long double representation
+-# define BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++# define BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ # define BOOST_CHARCONV_LDBL_BITS -1
+ #endif
+
+--- a/boost/charconv/from_chars.hpp
++++ b/boost/charconv/from_chars.hpp
+@@ -140,7 +140,7 @@ BOOST_CHARCONV_GCC5_CONSTEXPR from_chars_result from_chars(boost::core::string_v
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
+ #endif
+
+@@ -168,7 +168,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(const char* first, const
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
+ #endif
+
+@@ -200,7 +200,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars_erange(boost::core::string_view
+ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, double& value, chars_format fmt = chars_format::general) noexcept;
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char* last, long double& value, chars_format fmt = chars_format::general) noexcept;
+ #endif
+
+@@ -226,7 +226,7 @@ BOOST_CHARCONV_DECL from_chars_result from_chars(const char* first, const char*
+ BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, float& value, chars_format fmt = chars_format::general) noexcept;
+ BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, double& value, chars_format fmt = chars_format::general) noexcept;
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL from_chars_result from_chars(boost::core::string_view sv, long double& value, chars_format fmt = chars_format::general) noexcept;
+ #endif
+
+--- a/boost/charconv/to_chars.hpp
++++ b/boost/charconv/to_chars.hpp
+@@ -82,7 +82,7 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
+ chars_format fmt = chars_format::general) noexcept;
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
+ chars_format fmt = chars_format::general) noexcept;
+ #endif
+@@ -92,7 +92,7 @@ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, float valu
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, double value,
+ chars_format fmt, int precision) noexcept;
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ BOOST_CHARCONV_DECL to_chars_result to_chars(char* first, char* last, long double value,
+ chars_format fmt, int precision) noexcept;
+ #endif
+--- a/libs/charconv/src/from_chars.cpp
++++ b/libs/charconv/src/from_chars.cpp
+@@ -205,7 +205,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char
+ return r;
+ }
+
+-#elif !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
++#elif !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
+
+ boost::charconv::from_chars_result boost::charconv::from_chars_erange(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+@@ -299,7 +299,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::cor
+ return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
+ }
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ boost::charconv::from_chars_result boost::charconv::from_chars_erange(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+ return boost::charconv::from_chars_erange(sv.data(), sv.data() + sv.size(), value, fmt);
+@@ -374,7 +374,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first
+ return from_chars_strict_impl(first, last, value, fmt);
+ }
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ boost::charconv::from_chars_result boost::charconv::from_chars(const char* first, const char* last, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+ return from_chars_strict_impl(first, last, value, fmt);
+@@ -433,7 +433,7 @@ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::stri
+ return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
+ }
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ boost::charconv::from_chars_result boost::charconv::from_chars(boost::core::string_view sv, long double& value, boost::charconv::chars_format fmt) noexcept
+ {
+ return from_chars_strict_impl(sv.data(), sv.data() + sv.size(), value, fmt);
+--- a/libs/charconv/src/to_chars.cpp
++++ b/libs/charconv/src/to_chars.cpp
+@@ -601,7 +601,7 @@ boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* la
+ return boost::charconv::detail::to_chars_float_impl(first, last, static_cast<double>(value), fmt, precision);
+ }
+
+-#elif (BOOST_CHARCONV_LDBL_BITS == 80 || BOOST_CHARCONV_LDBL_BITS == 128)
++#elif !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
+
+ boost::charconv::to_chars_result boost::charconv::to_chars(char* first, char* last, long double value,
+ boost::charconv::chars_format fmt) noexcept
+--- a/libs/charconv/test/from_chars_float.cpp
++++ b/libs/charconv/test/from_chars_float.cpp
+@@ -440,7 +440,7 @@ void test_issue_37()
+ overflow_spot_value("1.0e+9999", HUGE_VAL);
+ overflow_spot_value("-1.0e+9999", -HUGE_VAL);
+ }
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ else
+ {
+ overflow_spot_value("1e99999", HUGE_VALL);
+@@ -532,7 +532,7 @@ int main()
+ odd_strings_test<float>();
+ odd_strings_test<double>();
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ simple_integer_test<long double>();
+ simple_hex_integer_test<long double>();
+ simple_scientific_test<long double>();
+@@ -1883,7 +1883,7 @@ int main()
+ spot_check_invalid_argument<double>(" 1.23", fmt);
+ spot_check_invalid_argument<double>(" 1.23", fmt);
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ spot_check_nan<long double>("nan", fmt);
+ spot_check_nan<long double>("-nan", fmt);
+ spot_check_inf<long double>("inf", fmt);
+--- a/libs/charconv/test/from_chars_string_view.cpp
++++ b/libs/charconv/test/from_chars_string_view.cpp
+@@ -120,7 +120,7 @@ int main()
+ test_float<float, std::string>();
+ test_float<double, std::string>();
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test_float<long double>();
+ test_float<long double, std::string>();
+ #endif
+@@ -130,7 +130,7 @@ int main()
+ test_float<float, std::string_view>();
+ test_float<double, std::string_view>();
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test_float<long double, std::string_view>();
+ #endif
+
+--- a/libs/charconv/test/github_issue_110.cpp
++++ b/libs/charconv/test/github_issue_110.cpp
+@@ -43,7 +43,7 @@ int main()
+ test<float>();
+ test<double>();
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
+ #endif
+
+--- a/libs/charconv/test/github_issue_122.cpp
++++ b/libs/charconv/test/github_issue_122.cpp
+@@ -53,7 +53,7 @@ int main()
+ test<float>();
+ test<double>();
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
+ #endif
+
+--- a/libs/charconv/test/github_issue_152.cpp
++++ b/libs/charconv/test/github_issue_152.cpp
+@@ -229,7 +229,7 @@ int main()
+ test_failed_values();
+ #endif
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test_non_finite<long double>();
+ test_non_finite_fixed_precision<long double>();
+ test_min_buffer_size<long double>();
+--- a/libs/charconv/test/github_issue_158.cpp
++++ b/libs/charconv/test/github_issue_158.cpp
+@@ -93,7 +93,7 @@ void test_values_with_negative_exp()
+ BOOST_TEST_CSTR_EQ(buffer, "0.00000000000000000000099999999999999990753745222790");
+ }
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ void test_long_double_with_negative_exp()
+ {
+ char buffer[256];
+@@ -409,7 +409,7 @@ void test_zero()
+ BOOST_TEST_CSTR_EQ(buffer, "0");
+ }
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ void test_long_double_with_positive_exp()
+ {
+ char buffer[256];
+--- a/libs/charconv/test/limits.cpp
++++ b/libs/charconv/test/limits.cpp
+@@ -228,7 +228,7 @@ int main()
+ test_floating_point<float>();
+ test_floating_point<double>();
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test_floating_point<long double>();
+ #endif
+
+--- a/libs/charconv/test/limits_link_1.cpp
++++ b/libs/charconv/test/limits_link_1.cpp
+@@ -29,7 +29,7 @@ void f1()
+
+ test<float>();
+ test<double>();
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
+ #endif
+
+--- a/libs/charconv/test/limits_link_2.cpp
++++ b/libs/charconv/test/limits_link_2.cpp
+@@ -29,7 +29,7 @@ void f2()
+
+ test<float>();
+ test<double>();
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test<long double>();
+ #endif
+
+--- a/libs/charconv/test/roundtrip.cpp
++++ b/libs/charconv/test/roundtrip.cpp
+@@ -347,7 +347,7 @@ template<typename FPType> int64_t Distance(FPType y, FPType x)
+ return ToOrdinal(y) - ToOrdinal(x);
+ }
+
+-#ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++#ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ template <> void test_roundtrip<long double>(long double value)
+ {
+ char buffer[ 256 ];
+@@ -603,7 +603,7 @@ int main()
+ #endif
+
+ // long double
+- #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
++ #if !(BOOST_CHARCONV_LDBL_BITS == 128) && !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
+
+ {
+ long double const ql = std::pow( 1.0L, -64 );
+--- a/libs/charconv/test/to_chars_float.cpp
++++ b/libs/charconv/test/to_chars_float.cpp
+@@ -202,7 +202,7 @@ int main()
+ non_finite_values<double>(boost::charconv::chars_format::hex, 2);
+
+ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484
+- #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_MATH_UNSUPPORTED_LONG_DOUBLE)
++ #if !(defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ < 9 && defined(__i686__)) && !defined(BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE)
+ non_finite_values<long double>();
+ #endif
+
+--- a/libs/charconv/test/to_chars_float_STL_comp.cpp
++++ b/libs/charconv/test/to_chars_float_STL_comp.cpp
+@@ -212,7 +212,7 @@ int main()
+ // General format
+ random_test<float>();
+ random_test<double>();
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>();
+ #endif
+
+@@ -227,7 +227,7 @@ int main()
+ // Scientific
+ random_test<float>(boost::charconv::chars_format::scientific);
+ random_test<double>(boost::charconv::chars_format::scientific);
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>(boost::charconv::chars_format::scientific);
+ #endif
+ test_spot<double>(0.0, boost::charconv::chars_format::scientific);
+@@ -242,7 +242,7 @@ int main()
+ // Hex
+ random_test<float>(boost::charconv::chars_format::hex);
+ random_test<double>(boost::charconv::chars_format::hex);
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>(boost::charconv::chars_format::hex);
+ #endif
+
+@@ -250,7 +250,7 @@ int main()
+
+ random_test<float>(boost::charconv::chars_format::hex, -1e5F, 1e5F);
+ random_test<double>(boost::charconv::chars_format::hex, -1e5, 1e5);
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ random_test<long double>(boost::charconv::chars_format::hex, -1e5L, 1e5L);
+ #endif
+
+@@ -277,7 +277,7 @@ int main()
+ non_finite_test<float>(boost::charconv::chars_format::hex);
+ non_finite_test<double>(boost::charconv::chars_format::hex);
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ non_finite_test<long double>();
+ non_finite_test<long double>(boost::charconv::chars_format::scientific);
+ non_finite_test<long double>(boost::charconv::chars_format::hex);
+@@ -303,7 +303,7 @@ int main()
+ test_spot<float>(3.3F);
+ test_spot<double>(3.3);
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ test_spot<long double>(3.3L);
+ #endif
+
+--- a/libs/charconv/test/to_chars_sprintf.cpp
++++ b/libs/charconv/test/to_chars_sprintf.cpp
+@@ -627,7 +627,7 @@ int main()
+
+ // long double
+
+- #ifndef BOOST_MATH_UNSUPPORTED_LONG_DOUBLE
++ #ifndef BOOST_CHARCONV_UNSUPPORTED_LONG_DOUBLE
+ {
+ for( int i = 0; i < N; ++i )
+ {
+--
+2.45.2
+
diff --git a/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch b/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch
new file mode 100644
index 000000000000..23d94040341d
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-bcp-filesystem.patch
@@ -0,0 +1,188 @@
+https://bugs.gentoo.org/932240
+https://github.com/boostorg/bcp/commit/cd21e9b4a749a77c24facf2da44f01e032c40842
+
+From cd21e9b4a749a77c24facf2da44f01e032c40842 Mon Sep 17 00:00:00 2001
+From: Andrey Semashev <andrey.semashev@gmail.com>
+Date: Sun, 24 Mar 2024 14:49:18 +0300
+Subject: [PATCH] Remove usage of deprecated and removed Boost.Filesystem APIs.
+
+---
+ add_dependent_lib.cpp | 5 +++--
+ add_path.cpp | 30 +++++++++++++++---------------
+ bcp_imp.hpp | 1 +
+ copy_path.cpp | 8 ++++----
+ file_types.cpp | 2 +-
+ 5 files changed, 24 insertions(+), 22 deletions(-)
+
+diff --git a/tools/bcp/add_dependent_lib.cpp b/tools/bcp/add_dependent_lib.cpp
+index 4852914..521b70d 100644
+--- a/tools/bcp/add_dependent_lib.cpp
++++ b/tools/bcp/add_dependent_lib.cpp
+@@ -15,6 +15,7 @@
+ #include "bcp_imp.hpp"
+ #include "fileview.hpp"
+ #include <boost/regex.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/filesystem/operations.hpp>
+ #include <boost/filesystem/exception.hpp>
+ #include <iostream>
+@@ -43,12 +44,12 @@ static void init_library_scanner(const fs::path& p, bool cvs_mode, const std::st
+ //
+ // Don't add files created by build system:
+ //
+- if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
++ if((p.filename() == "bin") || (p.filename() == "bin-stage"))
+ return;
+ //
+ // Don't add version control directories:
+ //
+- if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
++ if((p.filename() == "CVS") || (p.filename() == ".svn"))
+ return;
+ //
+ // don't add directories not under version control:
+diff --git a/tools/bcp/add_path.cpp b/tools/bcp/add_path.cpp
+index 8a1fee3..747bb8c 100644
+--- a/tools/bcp/add_path.cpp
++++ b/tools/bcp/add_path.cpp
+@@ -15,6 +15,7 @@
+ #include "bcp_imp.hpp"
+ #include "fileview.hpp"
+ #include <boost/regex.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/filesystem/operations.hpp>
+ #include <boost/filesystem/exception.hpp>
+ #include <iostream>
+@@ -24,8 +25,7 @@ void bcp_implementation::add_path(const fs::path& p)
+ {
+ if (m_excluded.find(p) != m_excluded.end())
+ return;
+- fs::path normalized_path = p;
+- normalized_path.normalize();
++ fs::path normalized_path = p.lexically_normal();
+ if(fs::exists(m_boost_path / normalized_path))
+ {
+ if(fs::is_directory(m_boost_path / normalized_path))
+@@ -45,12 +45,12 @@ void bcp_implementation::add_directory(const fs::path& p)
+ //
+ // Don't add files created by build system:
+ //
+- if((p.leaf() == "bin") || (p.leaf() == "bin-stage"))
++ if((p.filename() == "bin") || (p.filename() == "bin-stage"))
+ return;
+ //
+ // Don't add version control directories:
+ //
+- if((p.leaf() == "CVS") || (p.leaf() == ".svn"))
++ if((p.filename() == "CVS") || (p.filename() == ".svn"))
+ return;
+ //
+ // don't add directories not under version control:
+@@ -180,7 +180,7 @@ void bcp_implementation::add_file(const fs::path& p)
+ {
+ // only concatonate if it's a relative path
+ // rather than a URL:
+- fs::path dep(p.branch_path() / s);
++ fs::path dep(p.parent_path() / s);
+ if(!m_dependencies.count(dep))
+ {
+ m_dependencies[dep] = p; // set up dependency tree
+@@ -355,13 +355,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
+ continue;
+ }
+ include_file = i->str();
+- fs::path test_file(m_boost_path / p.branch_path() / include_file);
+- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
++ fs::path test_file(m_boost_path / p.parent_path() / include_file);
++ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
+ {
+- if(!m_dependencies.count(p.branch_path() / include_file))
++ if(!m_dependencies.count(p.parent_path() / include_file))
+ {
+- m_dependencies[p.branch_path() / include_file] = p;
+- add_pending_path(p.branch_path() / include_file);
++ m_dependencies[p.parent_path() / include_file] = p;
++ add_pending_path(p.parent_path() / include_file);
+ }
+ }
+ else if(fs::exists(m_boost_path / include_file))
+@@ -405,13 +405,13 @@ void bcp_implementation::add_file_dependencies(const fs::path& p, bool scanfile)
+ ++i;
+ continue;
+ }
+- fs::path test_file(m_boost_path / p.branch_path() / include_file);
+- if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.branch_path().string() != "boost"))
++ fs::path test_file(m_boost_path / p.parent_path() / include_file);
++ if(fs::exists(test_file) && !fs::is_directory(test_file) && (p.parent_path().string() != "boost"))
+ {
+- if(!m_dependencies.count(p.branch_path() / include_file))
++ if(!m_dependencies.count(p.parent_path() / include_file))
+ {
+- m_dependencies[p.branch_path() / include_file] = p;
+- add_pending_path(p.branch_path() / include_file);
++ m_dependencies[p.parent_path() / include_file] = p;
++ add_pending_path(p.parent_path() / include_file);
+ }
+ }
+ else if(fs::exists(m_boost_path / include_file))
+diff --git a/tools/bcp/bcp_imp.hpp b/tools/bcp/bcp_imp.hpp
+index e515581..51c85ba 100644
+--- a/tools/bcp/bcp_imp.hpp
++++ b/tools/bcp/bcp_imp.hpp
+@@ -14,6 +14,7 @@
+ #include <set>
+ #include <map>
+ #include <queue>
++#include <string>
+ #include <boost/filesystem/path.hpp>
+
+ namespace fs = boost::filesystem;
+diff --git a/tools/bcp/copy_path.cpp b/tools/bcp/copy_path.cpp
+index 4143c79..6b7a370 100644
+--- a/tools/bcp/copy_path.cpp
++++ b/tools/bcp/copy_path.cpp
+@@ -49,18 +49,18 @@ void bcp_implementation::copy_path(const fs::path& p)
+ if(fs::exists(m_dest_path / p))
+ {
+ std::cout << "Copying (and overwriting) file: " << p.string() << "\n";
+- fs::remove(m_dest_path / p);
++ fs::remove(m_dest_path / p);
+ }
+ else
+ std::cout << "Copying file: " << p.string() << "\n";
+ //
+ // create the path to the new file if it doesn't already exist:
+ //
+- create_path(p.branch_path());
++ create_path(p.parent_path());
+ //
+ // do text based copy if requested:
+ //
+- if((p.leaf() == "Jamroot") && m_namespace_name.size())
++ if((p.filename() == "Jamroot") && m_namespace_name.size())
+ {
+ static std::vector<char> v1, v2;
+ v1.clear();
+@@ -240,7 +240,7 @@ void bcp_implementation::create_path(const fs::path& p)
+ if(!fs::exists(m_dest_path / p))
+ {
+ // recurse then create the path:
+- create_path(p.branch_path());
++ create_path(p.parent_path());
+ fs::create_directory(m_dest_path / p);
+ }
+ }
+diff --git a/tools/bcp/file_types.cpp b/tools/bcp/file_types.cpp
+index 297d304..69f6027 100644
+--- a/tools/bcp/file_types.cpp
++++ b/tools/bcp/file_types.cpp
+@@ -52,7 +52,7 @@ bool bcp_implementation::is_binary_file(const fs::path& p)
+ "|"
+ "(Jamfile|makefile|configure)",
+ boost::regex::perl | boost::regex::icase);
+- return !boost::regex_match(p.leaf().generic_string(), e);
++ return !boost::regex_match(p.filename().generic_string(), e);
+
+ }
+
+
diff --git a/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch b/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch
new file mode 100644
index 000000000000..cfc1215e7023
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-container-aliasing.patch
@@ -0,0 +1,408 @@
+https://bugs.gentoo.org/933289 (and https://bugs.gentoo.org/932780, https://bugs.gentoo.org/931587)
+https://github.com/freeorion/freeorion/issues/4949
+https://github.com/boostorg/container/issues/252
+https://github.com/boostorg/container/issues/281
+https://github.com/boostorg/container/commit/20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9
+
+From 20ad12f20e661978e90dc7f36d8ab8ac05e5a5a9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= <igaztanaga@gmail.com>
+Date: Sun, 28 Apr 2024 23:29:59 +0200
+Subject: [PATCH] Remove UB in flat_map implementation when the implementation
+ has a movable std::pair
+
+--- a/boost/container/allocator_traits.hpp
++++ b/boost/container/allocator_traits.hpp
+@@ -32,6 +32,8 @@
+ #include <boost/container/detail/mpl.hpp>
+ #include <boost/container/detail/type_traits.hpp> //is_empty
+ #include <boost/container/detail/placement_new.hpp>
++#include <boost/container/detail/is_pair.hpp>
++#include <boost/container/detail/addressof.hpp>
+ #ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP
+ #include <boost/container/detail/std_fwd.hpp>
+ #endif
+@@ -81,6 +83,144 @@
+
+ namespace boost {
+ namespace container {
++namespace dtl {
++
++#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
++
++template<class T, class ...Args>
++BOOST_CONTAINER_FORCEINLINE void construct_type(T *p, BOOST_FWD_REF(Args) ...args)
++{
++ ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...);
++}
++
++template < class Pair, class KeyType, class ... Args>
++typename dtl::enable_if< dtl::is_pair<Pair>, void >::type
++construct_type
++ (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k, BOOST_FWD_REF(Args) ...args)
++{
++ construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k));
++ BOOST_CONTAINER_TRY{
++ construct_type(dtl::addressof(p->second), ::boost::forward<Args>(args)...);
++ }
++ BOOST_CONTAINER_CATCH(...) {
++ typedef typename Pair::first_type first_type;
++ dtl::addressof(p->first)->~first_type();
++ BOOST_CONTAINER_RETHROW
++ }
++ BOOST_CONTAINER_CATCH_END
++}
++
++#else
++
++#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ(N) \
++template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
++BOOST_CONTAINER_FORCEINLINE \
++ typename dtl::disable_if_c<dtl::is_pair<T>::value, void >::type \
++construct_type(T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
++{\
++ ::new((void*)p, boost_container_new_t()) T( BOOST_MOVE_FWD##N );\
++}\
++//
++BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ)
++#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPEJ
++
++#define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE(N) \
++template < class Pair, class KeyType BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
++typename dtl::enable_if< dtl::is_pair<Pair>, void >::type construct_type\
++ (Pair* p, try_emplace_t, BOOST_FWD_REF(KeyType) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
++{\
++ construct_type(dtl::addressof(p->first), ::boost::forward<KeyType>(k));\
++ BOOST_CONTAINER_TRY{\
++ construct_type(dtl::addressof(p->second) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
++ }\
++ BOOST_CONTAINER_CATCH(...) {\
++ typedef typename Pair::first_type first_type;\
++ dtl::addressof(p->first)->~first_type();\
++ BOOST_CONTAINER_RETHROW\
++ }\
++ BOOST_CONTAINER_CATCH_END\
++}\
++//
++BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE)
++#undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_TYPE
++
++#endif
++
++template<class T>
++inline
++typename dtl::enable_if<dtl::is_pair<T>, void >::type
++construct_type(T* p)
++{
++ dtl::construct_type(dtl::addressof(p->first));
++ BOOST_CONTAINER_TRY{
++ dtl::construct_type(dtl::addressof(p->second));
++ }
++ BOOST_CONTAINER_CATCH(...) {
++ typedef typename T::first_type first_type;
++ dtl::addressof(p->first)->~first_type();
++ BOOST_CONTAINER_RETHROW
++ }
++ BOOST_CONTAINER_CATCH_END
++}
++
++
++template<class T, class U>
++inline
++typename dtl::enable_if_c
++ < dtl::is_pair<T>::value
++ , void >::type
++construct_type(T* p, U &u)
++{
++ dtl::construct_type(dtl::addressof(p->first), u.first);
++ BOOST_CONTAINER_TRY{
++ dtl::construct_type(dtl::addressof(p->second), u.second);
++ }
++ BOOST_CONTAINER_CATCH(...) {
++ typedef typename T::first_type first_type;
++ dtl::addressof(p->first)->~first_type();
++ BOOST_CONTAINER_RETHROW
++ }
++ BOOST_CONTAINER_CATCH_END
++}
++
++template<class T, class U>
++inline
++typename dtl::enable_if_c
++ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value &&
++ !boost::move_detail::is_reference<U>::value //This is needed for MSVC10 and ambiguous overloads
++ , void >::type
++construct_type(T* p, BOOST_RV_REF(U) u)
++{
++ dtl::construct_type(dtl::addressof(p->first), ::boost::move(u.first));
++ BOOST_CONTAINER_TRY{
++ dtl::construct_type(dtl::addressof(p->second), ::boost::move(u.second));
++ }
++ BOOST_CONTAINER_CATCH(...) {
++ typedef typename T::first_type first_type;
++ dtl::addressof(p->first)->~first_type();
++ BOOST_CONTAINER_RETHROW
++ }
++ BOOST_CONTAINER_CATCH_END
++}
++
++template<class T, class U, class V>
++inline
++typename dtl::enable_if<dtl::is_pair<T>, void >::type
++construct_type(T* p, BOOST_FWD_REF(U) x, BOOST_FWD_REF(V) y)
++{
++ dtl::construct_type(dtl::addressof(p->first), ::boost::forward<U>(x));
++ BOOST_CONTAINER_TRY{
++ dtl::construct_type(dtl::addressof(p->second), ::boost::forward<V>(y));
++ }
++ BOOST_CONTAINER_CATCH(...) {
++ typedef typename T::first_type first_type;
++ dtl::addressof(p->first)->~first_type();
++ BOOST_CONTAINER_RETHROW
++ }
++ BOOST_CONTAINER_CATCH_END
++}
++
++} //namespace dtl
+
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
+
+@@ -419,7 +559,7 @@ struct allocator_traits
+
+ template<class T, class ...Args>
+ inline static void priv_construct(dtl::false_type, Allocator &, T *p, BOOST_FWD_REF(Args) ...args)
+- { ::new((void*)p, boost_container_new_t()) T(::boost::forward<Args>(args)...); }
++ { dtl::construct_type(p, ::boost::forward<Args>(args)...); }
+ #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
+ public:
+
+@@ -450,7 +590,7 @@ struct allocator_traits
+ \
+ template<class T BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\
+ inline static void priv_construct(dtl::false_type, Allocator &, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
+- { ::new((void*)p, boost_container_new_t()) T(BOOST_MOVE_FWD##N); }\
++ { dtl::construct_type(p BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
+ //
+ BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL)
+ #undef BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL
+--- a/boost/container/detail/construct_in_place.hpp
++++ b/boost/container/detail/construct_in_place.hpp
+@@ -24,6 +24,7 @@
+ #include <boost/container/allocator_traits.hpp>
+ #include <boost/container/detail/iterators.hpp>
+ #include <boost/container/detail/value_init.hpp>
++#include <boost/container/detail/is_pair.hpp>
+
+ namespace boost {
+ namespace container {
+@@ -62,9 +63,42 @@ BOOST_CONTAINER_FORCEINLINE void construct_in_place(Allocator &a, T *dest, empla
+
+ //Assignment
+
++template<class T, class U>
++BOOST_CONTAINER_FORCEINLINE
++ typename dtl::disable_if_c
++ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value
++ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
++ , void>::type
++assign_in_place_ref(T &t, BOOST_FWD_REF(U) u)
++{ t = ::boost::forward<U>(u); }
++
++template<class T, class U>
++BOOST_CONTAINER_FORCEINLINE
++ typename dtl::enable_if_c
++ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value
++ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
++ , void>::type
++assign_in_place_ref(T &t, const U &u)
++{
++ assign_in_place_ref(t.first, u.first);
++ assign_in_place_ref(t.second, u.second);
++}
++
++template<class T, class U>
++BOOST_CONTAINER_FORCEINLINE
++ typename dtl::enable_if_c
++ < dtl::is_pair<typename dtl::remove_reference<T>::type>::value
++ && dtl::is_pair<typename dtl::remove_reference<U>::type>::value
++ , void>::type
++assign_in_place_ref(T &t, BOOST_RV_REF(U) u)
++{
++ assign_in_place_ref(t.first, ::boost::move(u.first));
++ assign_in_place_ref(t.second, ::boost::move(u.second));
++}
++
+ template<class DstIt, class InpIt>
+ BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, InpIt source)
+-{ *dest = *source; }
++{ assign_in_place_ref(*dest, *source); }
+
+ template<class DstIt, class U>
+ BOOST_CONTAINER_FORCEINLINE void assign_in_place(DstIt dest, value_init_construct_iterator<U>)
+--- a/boost/container/flat_map.hpp
++++ b/boost/container/flat_map.hpp
+@@ -48,6 +48,11 @@
+ #include <initializer_list>
+ #endif
+
++#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
++#define BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
++#endif
++
++
+ namespace boost {
+ namespace container {
+
+@@ -58,21 +63,37 @@ class flat_multimap;
+
+ namespace dtl{
+
++#if defined(BOOST_CONTAINER_STD_PAIR_IS_MOVABLE)
+ template<class D, class S>
+ BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
+-{ return *move_detail::force_ptr<D*>(&s); }
++{ return s; }
+
+ template<class D, class S>
+ BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
+-{ return *move_detail::force_ptr<const D*>(&s); }
++{ return s; }
++
++template<class D>
++BOOST_CONTAINER_FORCEINLINE static D force_copy(D s)
++{ return s; }
++
++#else //!BOOST_CONTAINER_DOXYGEN_INVOKED
++
++template<class D, class S>
++BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
++{ return *move_detail::launder_cast<D*>(&s); }
++
++template<class D, class S>
++BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
++{ return *move_detail::launder_cast<const D*>(&s); }
+
+ template<class D, class S>
+ BOOST_CONTAINER_FORCEINLINE static D force_copy(const S &s)
+ {
+- const D *const vp = move_detail::force_ptr<const D *>(&s);
++ const D *const vp = move_detail::launder_cast<const D *>(&s);
+ D ret_val(*vp);
+ return ret_val;
+ }
++#endif //BOOST_CONTAINER_DOXYGEN_INVOKED
+
+ } //namespace dtl{
+
+@@ -118,18 +139,27 @@ class flat_map
+ private:
+ BOOST_COPYABLE_AND_MOVABLE(flat_map)
+ //This is the tree that we should store if pair was movable
++ typedef std::pair<Key, T> std_pair_t;
+ typedef dtl::flat_tree<
+- std::pair<Key, T>,
++ std_pair_t,
+ dtl::select1st<Key>,
+ Compare,
+ AllocatorOrContainer> tree_t;
+
+ //This is the real tree stored here. It's based on a movable pair
++ typedef dtl::pair<Key, T> dtl_pair_t;
++
++ #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
++ typedef std_pair_t impl_pair_t;
++ #else
++ typedef dtl_pair_t impl_pair_t;
++ #endif
++
+ typedef dtl::flat_tree<
+- dtl::pair<Key, T>,
++ impl_pair_t,
+ dtl::select1st<Key>,
+ Compare,
+- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
++ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type
+ > impl_tree_t;
+ impl_tree_t m_flat_tree; // flat tree representing flat_map
+
+@@ -851,7 +881,7 @@ class flat_map
+ //! @copydoc ::boost::container::flat_set::nth(size_type) const
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+ const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
+- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
++ { return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
+
+ //! @copydoc ::boost::container::flat_set::index_of(iterator)
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+@@ -1099,7 +1129,7 @@ class flat_map
+ template <class Pair>
+ inline BOOST_CONTAINER_DOC1ST
+ ( std::pair<iterator BOOST_MOVE_I bool>
+- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+ BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
+ insert(BOOST_FWD_REF(Pair) x)
+ {
+@@ -1153,7 +1183,7 @@ class flat_map
+ template <class Pair>
+ inline BOOST_CONTAINER_DOC1ST
+ ( iterator
+- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+ BOOST_MOVE_I iterator>::type)
+ insert(const_iterator p, BOOST_FWD_REF(Pair) x)
+ {
+@@ -1777,17 +1807,24 @@ class flat_multimap
+ #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
+ private:
+ BOOST_COPYABLE_AND_MOVABLE(flat_multimap)
++ typedef std::pair<Key, T> std_pair_t;
+ typedef dtl::flat_tree<
+- std::pair<Key, T>,
++ std_pair_t,
+ dtl::select1st<Key>,
+ Compare,
+ AllocatorOrContainer> tree_t;
+ //This is the real tree stored here. It's based on a movable pair
++ typedef dtl::pair<Key, T> dtl_pair_t;
++ #ifdef BOOST_CONTAINER_STD_PAIR_IS_MOVABLE
++ typedef std_pair_t impl_pair_t;
++ #else
++ typedef dtl_pair_t impl_pair_t;
++ #endif
+ typedef dtl::flat_tree<
+- dtl::pair<Key, T>,
++ impl_pair_t,
+ dtl::select1st<Key>,
+ Compare,
+- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
++ typename dtl::container_or_allocator_rebind<AllocatorOrContainer, impl_pair_t >::type
+ > impl_tree_t;
+ impl_tree_t m_flat_tree; // flat tree representing flat_map
+
+@@ -2388,7 +2425,7 @@ class flat_multimap
+ //! @copydoc ::boost::container::flat_set::nth(size_type) const
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+ const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
+- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
++ { return dtl::force_copy<const_iterator>(m_flat_tree.nth(n)); }
+
+ //! @copydoc ::boost::container::flat_set::index_of(iterator)
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
+@@ -2477,7 +2514,7 @@ class flat_multimap
+ template<class Pair>
+ inline BOOST_CONTAINER_DOC1ST
+ ( iterator
+- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+ BOOST_MOVE_I iterator >::type)
+ insert(BOOST_FWD_REF(Pair) x)
+ { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Pair>(x))); }
+@@ -2514,7 +2551,7 @@ class flat_multimap
+ template<class Pair>
+ inline BOOST_CONTAINER_DOC1ST
+ ( iterator
+- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
++ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I dtl_pair_t>::value
+ BOOST_MOVE_I iterator>::type)
+ insert(const_iterator p, BOOST_FWD_REF(Pair) x)
+ {
diff --git a/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch b/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch
new file mode 100644
index 000000000000..e7a7d98b8573
--- /dev/null
+++ b/dev-libs/boost/files/boost-1.85.0-python-numpy-2.patch
@@ -0,0 +1,26 @@
+https://bugs.gentoo.org/932459
+https://github.com/boostorg/python/issues/431
+https://github.com/boostorg/python/pull/432
+
+From 33ac06ca59a68266d3d26edf08205d31ddab4a6c Mon Sep 17 00:00:00 2001
+From: Alexis DUBURCQ <alexis.duburcq@gmail.com>
+Date: Fri, 15 Mar 2024 14:10:16 +0100
+Subject: [PATCH] Support numpy 2.0.0b1
+
+--- a/libs/python/src/numpy/dtype.cpp
++++ b/libs/python/src/numpy/dtype.cpp
+@@ -98,7 +98,13 @@ python::detail::new_reference dtype::convert(object const & arg, bool align)
+ return python::detail::new_reference(reinterpret_cast<PyObject*>(obj));
+ }
+
+-int dtype::get_itemsize() const { return reinterpret_cast<PyArray_Descr*>(ptr())->elsize;}
++int dtype::get_itemsize() const {
++#if NPY_ABI_VERSION < 0x02000000
++ return reinterpret_cast<PyArray_Descr*>(ptr())->elsize;
++#else
++ return PyDataType_ELSIZE(reinterpret_cast<PyArray_Descr*>(ptr()));
++#endif
++}
+
+ bool equivalent(dtype const & a, dtype const & b) {
+ // On Windows x64, the behaviour described on
diff --git a/dev-libs/boron/Manifest b/dev-libs/boron/Manifest
new file mode 100644
index 000000000000..465d2f8278e8
--- /dev/null
+++ b/dev-libs/boron/Manifest
@@ -0,0 +1 @@
+DIST boron-2.1.0.tar.gz 366773 BLAKE2B 23af3d86d153e9efd6e7660dd31c6c08bfdca542b56aa6893f06c353d92aded224d50a9ec1159930012e87874cf44ee437e7873b4cfb834b49a05977c4bb16d5 SHA512 2cd2c8043efc9569ae579fa7e7365567dca9cb5ec39218b83ef015936a60ff9ea61cac1b40b8593aacf8aaa9b12aaf00baa0c55adb6cd1238ca91ae4d1190636
diff --git a/dev-libs/boron/boron-2.1.0.ebuild b/dev-libs/boron/boron-2.1.0.ebuild
new file mode 100644
index 000000000000..59eb5137f125
--- /dev/null
+++ b/dev-libs/boron/boron-2.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs
+
+DESCRIPTION="A scripting language similar to REBOL"
+HOMEPAGE="https://urlan.sourceforge.net/boron/"
+SRC_URI="https://downloads.sourceforge.net/urlan/${P}.tar.gz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="bzip2 readline"
+
+DEPEND="
+ bzip2? ( app-arch/bzip2:= )
+ !bzip2? ( sys-libs/zlib:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.1.0_makefile.patch"
+)
+
+src_configure() {
+ tc-export CC
+ # Non-standard configure
+ edo ./configure \
+ $(usex bzip2 "--bzip2" "")
+}
+
+src_install() {
+ emake DESTDIR="${D}/usr" install install-dev
+ dodoc README.md
+}
diff --git a/dev-libs/boron/files/boron-2.1.0_makefile.patch b/dev-libs/boron/files/boron-2.1.0_makefile.patch
new file mode 100644
index 000000000000..f90c0cde6a5d
--- /dev/null
+++ b/dev-libs/boron/files/boron-2.1.0_makefile.patch
@@ -0,0 +1,62 @@
+diff --git a/Makefile b/Makefile
+index a590cbb..e3ee964 100644
+--- a/Makefile
++++ b/Makefile
+@@ -11,7 +11,7 @@ VIM_DIR=$(DESTDIR)/share/vim/vimfiles/syntax
+
+ OS := $(shell uname)
+
+-CFLAGS = -pipe -pedantic -Wall -W -Iinclude -Iurlan -Ieval -Isupport
++CFLAGS += -pipe -pedantic -Wall -W -Iinclude -Iurlan -Ieval -Isupport
+ CFLAGS += -O3 -DNDEBUG
+ #CFLAGS += -g -DDEBUG
+
+@@ -84,17 +84,17 @@ endif
+
+
+ $(ODIR)/%.o: urlan/%.c
+- cc -c $(CFLAGS) $(CONFIG) $< -o $@
++ $(CC) -c $(CFLAGS) $(CONFIG) $< -o $@
+ $(ODIR)/%.o: support/%.c
+- cc -c $(CFLAGS) $(CONFIG) $< -o $@
++ $(CC) -c $(CFLAGS) $(CONFIG) $< -o $@
+ $(ODIR)/%.o: eval/%.c
+- cc -c $(CFLAGS) $(CONFIG) $< -o $@
++ $(CC) -c $(CFLAGS) $(CONFIG) $< -o $@
+
+ boron: $(EXE_OBJS) $(BORON_LIB)
+- cc $^ -o $@ $(EXE_LIBS)
++ $(CC) $(LDFLAGS) $^ -o $@ $(EXE_LIBS)
+
+ $(ODIR)/os.o: unix/os.c
+- cc -c $(CFLAGS) $(CONFIG) $< -o $@
++ $(CC) -c $(CFLAGS) $(LDFLAGS) $(CONFIG) $< -o $@
+
+ $(EXE_OBJS): | $(ODIR)
+ $(LIB_OBJS): | $(ODIR)
+@@ -108,7 +108,7 @@ ifdef STATIC_LIB
+ else ifeq ($(OS), Darwin)
+ libtool -dynamiclib -o $@ $^ -install_name @rpath/$(BORON_LIB) $(LIBS)
+ else
+- cc -o $@ -shared -Wl,-soname,libboron.so.2 $^ $(LIBS)
++ $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libboron.so.2 $^ $(LIBS)
+ ln -sf $(BORON_LIB) libboron.so.2
+ ln -sf $(BORON_LIB) libboron.so
+ endif
+@@ -130,13 +130,12 @@ ifeq ($(OS), Darwin)
+ install_name_tool -change libboron.dylib $(LIB_DIR)/libboron.dylib boron
+ install -m 644 libboron.dylib $(LIB_DIR)
+ else
+- install -m 755 -s $(BORON_LIB) $(LIB_DIR)
++ install -m 755 $(BORON_LIB) $(LIB_DIR)
+ ln -s $(BORON_LIB) $(LIB_DIR)/libboron.so.2
+ endif
+ endif
+- install -s -m 755 boron $(BIN_DIR)
+- gzip -c -n doc/boron.troff > doc/boron.1.gz
+- install -m 644 doc/boron.1.gz $(MAN_DIR)
++ install -m 755 boron $(BIN_DIR)
++ install -m 644 doc/boron.troff $(MAN_DIR)/boron.1
+
+ uninstall:
+ rm -f $(BIN_DIR)/boron $(MAN_DIR)/boron.1
diff --git a/dev-libs/boron/metadata.xml b/dev-libs/boron/metadata.xml
new file mode 100644
index 000000000000..0a665448e565
--- /dev/null
+++ b/dev-libs/boron/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>azamat.hackimov@gmail.com</email>
+ <name>Azamat H. Hackimov</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">urlan</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index e4e733e8a5fa..15dd4e0b8776 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -1,6 +1,10 @@
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.3-r2.ebuild b/dev-libs/botan/botan-2.19.3-r2.ebuild
index fbab36fb5bef..2a151dbc3529 100644
--- a/dev-libs/botan/botan-2.19.3-r2.ebuild
+++ b/dev-libs/botan/botan-2.19.3-r2.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_{10..12} )
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
-inherit edo multiprocessing python-r1 toolchain-funcs verify-sig
+inherit edo flag-o-matic multiprocessing python-r1 toolchain-funcs verify-sig
MY_P="Botan-${PV}"
DESCRIPTION="C++ crypto library"
@@ -169,6 +169,18 @@ src_configure() {
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[@]}"
}
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.2.0-r1.ebuild b/dev-libs/botan/botan-3.2.0-r1.ebuild
index 013aaacf837b..3f687cb7dec7 100644
--- a/dev-libs/botan/botan-3.2.0-r1.ebuild
+++ b/dev-libs/botan/botan-3.2.0-r1.ebuild
@@ -17,7 +17,7 @@ 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"
+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 )"
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/boxfort/Manifest b/dev-libs/boxfort/Manifest
index e72f8254858c..fa0c452b7e80 100644
--- a/dev-libs/boxfort/Manifest
+++ b/dev-libs/boxfort/Manifest
@@ -1,2 +1 @@
-DIST boxfort-0.1.1.tar.gz 41993 BLAKE2B b9153a6330cecb781e2b5cd20554df3d0aad277dfc01174fd5d375211896b2912f26a76b0ba6ef7143c7101d844072e1a857caf5a8191893f22c0528c0a203d4 SHA512 48f7a0a52d03f36307271c8f387613dd53aebb19d0379e1758d557b043854c89068776ca4c22e64eb518429dd629c9a082476ecd2a548ac95e6aebef512a50ca
DIST boxfort-0.1.4.tar.gz 43011 BLAKE2B a925d21d4f29e0720ae66c6d5ac1a1d0b9c3f779a5ad0689aa6a058815852cfe04a7400daff1467b87df8c07a04201a32b4edc4b94358b53a320ddf223af05ac SHA512 0c6fe2ee474013c47d4688e5d1b4813c6265daa89f55e39202dd76676f5d0687c473216dde5236faf5cd246d24c21e232ed82bb5b676a231faadc4231e7aea1b
diff --git a/dev-libs/boxfort/boxfort-0.1.1.ebuild b/dev-libs/boxfort/boxfort-0.1.4-r1.ebuild
index a9bd21264bdc..c9e74c1383af 100644
--- a/dev-libs/boxfort/boxfort-0.1.1.ebuild
+++ b/dev-libs/boxfort/boxfort-0.1.4-r1.ebuild
@@ -1,19 +1,20 @@
-# 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="Convenient & cross-platform sandboxing C library"
HOMEPAGE="https://github.com/Snaipe/BoxFort"
SRC_URI="https://github.com/Snaipe/BoxFort/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/BoxFort-${PV}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="-alpha amd64 ~arm ~arm64 -hppa -ia64 -loong -m68k -mips -ppc -ppc64 -riscv -s390 -sparc ~x86"
+KEYWORDS="-alpha ~amd64 ~arm ~arm64 -hppa -ia64 -loong -m68k -mips -ppc -ppc64 -riscv -s390 -sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -22,8 +23,6 @@ DEPEND="test? (
)"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/BoxFort-${PV}"
-
python_check_deps() {
use test && has_version "dev-util/cram[${PYTHON_USEDEP}]"
}
@@ -34,8 +33,8 @@ pkg_setup() {
src_configure() {
local emesonargs=(
- -Dsamples=$(usex test true false)
- -Dtests=$(usex test true false)
+ $(meson_use test samples)
+ $(meson_use test tests)
)
meson_src_configure
diff --git a/dev-libs/boxfort/boxfort-0.1.4.ebuild b/dev-libs/boxfort/boxfort-0.1.4.ebuild
index 30403b1e76ef..0a5de250ab7b 100644
--- a/dev-libs/boxfort/boxfort-0.1.4.ebuild
+++ b/dev-libs/boxfort/boxfort-0.1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -14,7 +14,7 @@ S="${WORKDIR}"/BoxFort-${PV}
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="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/c-blosc/Manifest b/dev-libs/c-blosc/Manifest
index e7cb8aa0f471..60723e67e454 100644
--- a/dev-libs/c-blosc/Manifest
+++ b/dev-libs/c-blosc/Manifest
@@ -1 +1 @@
-DIST c-blosc-1.21.5.gh.tar.gz 2458960 BLAKE2B f56e19146a1522554d5e8de23f580125a6181b50f1898c8e622e8ac50f2f40ab4cdaba62a5a2bc6ff437257550e205090ebe66bb8840202a26567abfc63fbf53 SHA512 01e6d80e1114d76c4bd1b413778c293d0455879ec38e1e1ec46e8e7eaf2997b47cc2de35bc52cdc4c2c70341b6f87d70626a9a9c24ffc8b7b170d760efa60c07
+DIST c-blosc-1.21.6.gh.tar.gz 2495309 BLAKE2B 87d3368a5070bb9be84b648c6727248630b97fbeda1cfcecf3da41256370436b719f943c63b84c196a2653e19c699a5f8c6aeffc0da4fffeda9fa7afeb81b853 SHA512 f32ac9ca7dd473f32201cdf4b7bb61a89e8bc3e3d16e027d2c6dc1aa838cb47c42dfed6942c9108532b3920ed22a8c662e7451890177c9bbe6ec5b8ab65362b3
diff --git a/dev-libs/c-blosc/c-blosc-1.21.5.ebuild b/dev-libs/c-blosc/c-blosc-1.21.6.ebuild
index 5003f52c8089..38ab8bce109f 100644
--- a/dev-libs/c-blosc/c-blosc-1.21.5.ebuild
+++ b/dev-libs/c-blosc/c-blosc-1.21.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
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+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 )"
diff --git a/dev-libs/c-blosc2/Manifest b/dev-libs/c-blosc2/Manifest
index f781cf790fdb..ef422d19c29a 100644
--- a/dev-libs/c-blosc2/Manifest
+++ b/dev-libs/c-blosc2/Manifest
@@ -1,3 +1 @@
-DIST c-blosc2-2.10.5.gh.tar.gz 3144174 BLAKE2B a680def405f2383636185ab1b71a42e042dd0c71025bfc898b48f148f4a6bf27cbd38f29512caae9ff5b58f70cb35289b609c84b132c0795915d1fe6c71b3feb SHA512 bc004fe2132a8e36963437d5279506c2f79dcbf11ee1a768954c20d1265d120dc85e67952b567e716105c5716922da8ee8cffd0a5d44bc67093a4cab3075e322
-DIST c-blosc2-2.11.2.gh.tar.gz 3144952 BLAKE2B 312a6778a75badf687ebf0cbd8a7a4887ea183c4ed189f5d58007baf81154fb8de5269ec1066c5d1f75bd8855404915338f012e348f9aa26f10ada7823f68b4f SHA512 667fc69fd99cc792bc3439246b9e89b823e9c7e0fc497775c1aaa1d12c6368582dac2db93770a8cd732f29c1e93b082e108b641f221b3dae614e9b8a644718b0
-DIST c-blosc2-2.11.3.gh.tar.gz 3145288 BLAKE2B 140ca9693f2a779e37d324c6a631cde915b7bd7e16c5d48c779872dbc2a688773c22145bd224b8a7ac8e355b2639d08723ff1e4dc59cd57f2f4da89eea2d2c7c SHA512 51652056e646dd29496d8e7a4c3fc1c84af5f2a389b9057d0189d45fd298d64a581bf9f92f688397ff941dc18e03123cf7cd190fea91e3c127c36ad1d775bf79
+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
deleted file mode 100644
index be1da45c49b8..000000000000
--- a/dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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.11.3.ebuild b/dev-libs/c-blosc2/c-blosc2-2.11.3.ebuild
deleted file mode 100644
index 15ee45b69056..000000000000
--- a/dev-libs/c-blosc2/c-blosc2-2.11.3.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
-
-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
-
- # 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.11.2.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild
index adf6d65c513f..a2c086f9673c 100644
--- a/dev-libs/c-blosc2/c-blosc2-2.11.2.ebuild
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,8 +16,8 @@ SRC_URI="
"
LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+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 )"
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
deleted file mode 100644
index 5e6ca9c9ee9a..000000000000
--- a/dev-libs/c-blosc2/files/c-blosc2-2.9.3-no-unaligned.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Causes SIGBUS on armv7 (at least in jiji's arm32-on-arm64 chroot) in Pandas test
-suite. Unaligned access is UB anyway.
---- a/include/blosc2/blosc2-common.h
-+++ b/include/blosc2/blosc2-common.h
-@@ -47,27 +47,6 @@
- */
- #if !defined(BLOSC_STRICT_ALIGN)
- #define BLOSC_STRICT_ALIGN
--#if defined(__i386__) || defined(__386) || defined (__amd64) /* GNU C, Sun Studio */
--#undef BLOSC_STRICT_ALIGN
--#elif defined(__i486__) || defined(__i586__) || defined(__i686__) /* GNU C */
--#undef BLOSC_STRICT_ALIGN
--#elif defined(_M_IX86) || defined(_M_X64) /* Intel, MSVC */
--#undef BLOSC_STRICT_ALIGN
--#elif defined(__386)
--#undef BLOSC_STRICT_ALIGN
--#elif defined(_X86_) /* MinGW */
--#undef BLOSC_STRICT_ALIGN
--#elif defined(__I86__) /* Digital Mars */
--#undef BLOSC_STRICT_ALIGN
--/* Modern ARM systems (like ARM64) should support unaligned access
-- quite efficiently. */
--#elif defined(__ARM_FEATURE_UNALIGNED) /* ARM, GNU C */
--#undef BLOSC_STRICT_ALIGN
--#elif defined(_ARCH_PPC) || defined(__PPC__)
--/* Modern PowerPC systems (like POWER8) should support unaligned access
-- quite efficiently. */
--#undef BLOSC_STRICT_ALIGN
--#endif
- #endif
-
- #if defined(__SSE2__)
diff --git a/dev-libs/c-siphash/Manifest b/dev-libs/c-siphash/Manifest
new file mode 100644
index 000000000000..55b65ce45df9
--- /dev/null
+++ b/dev-libs/c-siphash/Manifest
@@ -0,0 +1 @@
+DIST c-siphash-1.1.0.gh.tar.gz 8278 BLAKE2B b8bf9c58efbfc9ea83c4d4f1c260bf96f395b929a158cbac516dcb30bfce662c97bb533d5d36e00aaa86643fc748e06b5ddcfce8e4ef0eca33ad0fa01d84a75d SHA512 22194a162fe048aaf9929e0fc770ce90cca574ee3a2784ac6e270add33c8b3dd6726279c3af380927e9703035f9dc303d647c33335f52f87197a82f5bd403842
diff --git a/dev-libs/c-siphash/c-siphash-1.1.0.ebuild b/dev-libs/c-siphash/c-siphash-1.1.0.ebuild
new file mode 100644
index 000000000000..4dd8ec02afc8
--- /dev/null
+++ b/dev-libs/c-siphash/c-siphash-1.1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Streaming-capable SipHash Implementation"
+HOMEPAGE="
+ https://c-util.github.io/c-siphash/
+ https://github.com/c-util/c-siphash/
+"
+SRC_URI="
+ https://github.com/c-util/c-siphash/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+DEPEND="
+ >=dev-libs/c-stdaux-1.5.0
+"
+BDEPEND="
+ virtual/pkgconfig
+"
diff --git a/dev-libs/c-siphash/metadata.xml b/dev-libs/c-siphash/metadata.xml
new file mode 100644
index 000000000000..a24a6514f9ed
--- /dev/null
+++ b/dev-libs/c-siphash/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">c-util/c-siphash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/c-stdaux/Manifest b/dev-libs/c-stdaux/Manifest
new file mode 100644
index 000000000000..b7b405d42b46
--- /dev/null
+++ b/dev-libs/c-stdaux/Manifest
@@ -0,0 +1 @@
+DIST c-stdaux-1.5.0.gh.tar.gz 24272 BLAKE2B 414713314bc773d800c4c3150e6de09a9b0d25c33a75f75ab3f766b63caf7c626bd617df155143579acac1aaf4e9027d41b9c0f99f6ed99ebfc31d752ea6a80d SHA512 30e2cc3ff8df40b2c3dc1409d47fa0f65467a853c75e500f1f973f6f2108e036601032620e40409fde58e2239b751f2736b326c11b45f2e43cc1064f341aa7b7
diff --git a/dev-libs/c-stdaux/c-stdaux-1.5.0.ebuild b/dev-libs/c-stdaux/c-stdaux-1.5.0.ebuild
new file mode 100644
index 000000000000..1864b295245e
--- /dev/null
+++ b/dev-libs/c-stdaux/c-stdaux-1.5.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Auxiliary macros and functions for the C standard library"
+HOMEPAGE="
+ https://c-util.github.io/c-stdaux/
+ https://github.com/c-util/c-stdaux/
+"
+SRC_URI="
+ https://github.com/c-util/c-stdaux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+BDEPEND="
+ virtual/pkgconfig
+"
diff --git a/dev-libs/libpo6/metadata.xml b/dev-libs/c-stdaux/metadata.xml
index 2ce0e74f9864..7e9ad66652f7 100644
--- a/dev-libs/libpo6/metadata.xml
+++ b/dev-libs/c-stdaux/metadata.xml
@@ -2,7 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">c-util/c-stdaux</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/cJSON/Manifest b/dev-libs/cJSON/Manifest
index 58a26a623cbf..13c64ffda5cb 100644
--- a/dev-libs/cJSON/Manifest
+++ b/dev-libs/cJSON/Manifest
@@ -1 +1 @@
-DIST cJSON-1.7.16.tar.gz 353498 BLAKE2B 9dd519b03b24e46fd84798af32d733cec8803d3f5a4b9259352ffe7b1ba0b198a3b4dc0dbdb9cc6247787e49c48beaadc7c31368d8fd695a8ddd711cc0cbfa5b SHA512 3a894de03c33d89f1e7ee572418d5483c844d38e1e64aa4f6297ddaa01f4111f07601f8d26617b424b5af15d469e3955dae075d9f30b5c25e16ec348fdb06e6f
+DIST cJSON-1.7.18.tar.gz 354726 BLAKE2B 293c483ed39028a23a49994698be69de16274500298893711d5767c381f51802c52f4981e074b26fd9174c186f9874fdc1811f49272c1b90f8fb82a1a315db60 SHA512 2accb507c6b97222eb5f0232c015b356cf6d248d1247049928731aa8e897378245e62395c232b1ec57d28d1e53ac72c849be85e59c33616a382d40473649f66b
diff --git a/dev-libs/cJSON/cJSON-1.7.16.ebuild b/dev-libs/cJSON/cJSON-1.7.18.ebuild
index 8f951af9edaf..1848201b4a80 100644
--- a/dev-libs/cJSON/cJSON-1.7.16.ebuild
+++ b/dev-libs/cJSON/cJSON-1.7.18.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/capnproto/capnproto-0.10.4-r1.ebuild b/dev-libs/capnproto/capnproto-0.10.4-r1.ebuild
index 30c2d9f10ffc..ce80f057da1e 100644
--- a/dev-libs/capnproto/capnproto-0.10.4-r1.ebuild
+++ b/dev-libs/capnproto/capnproto-0.10.4-r1.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}"/${P}/c++
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="+ssl test zlib"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/capstone/Manifest b/dev-libs/capstone/Manifest
index 3c41eeac7749..0262b03d1652 100644
--- a/dev-libs/capstone/Manifest
+++ b/dev-libs/capstone/Manifest
@@ -1,2 +1 @@
-DIST capstone-4.0.2.tar.gz 3439542 BLAKE2B 435729a8fef2dce6495635352101b3befe563c8404efdbb0dccabecbe2bded332221665bacdbcd9043dda72b652b6f29c0e1a548cefb8c64d5b6b9dc174ed3d9 SHA512 7f93534517307b737422a8825b66b2a1f3e1cca2049465d60ab12595940154aaf843ba40ed348fce58de58b990c19a0caef289060eb72898cb008a88c470970e
DIST capstone-5.0.1.tar.gz 7654195 BLAKE2B 83f6681d4c9c748df00daf59f7b33637ab72eee661261c22acae40a6db2def70bb6b5339d731244fdbae6f1e1b0b5b22bb6f60c1390a1bebceb97b3f810aedb0 SHA512 350aba77ce2d96b5c25764913591ba80e4497177ae0a8b2c820c6755ee8310848fbfc54e7ccac27fafc2dbc6778118ad92c53d1b5cb601d4fa146dec7d7e11e5
diff --git a/dev-libs/capstone/capstone-4.0.2-r2.ebuild b/dev-libs/capstone/capstone-4.0.2-r2.ebuild
deleted file mode 100644
index 579ef58d9929..000000000000
--- a/dev-libs/capstone/capstone-4.0.2-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=8
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake distutils-r1 toolchain-funcs
-
-DESCRIPTION="disassembly/disassembler framework + bindings"
-HOMEPAGE="https://www.capstone-engine.org/"
-SRC_URI="https://github.com/capstone-engine/capstone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/4" # libcapstone.so.4
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-# A few disassembly outputs need an update
-RESTRICT="test"
-
-IUSE="python static-libs test"
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}
- python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
-"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-#TODO: needs upstream fixes
-#distutils_enable_tests setup.py
-
-S=${WORKDIR}/${P/_rc/-rc}
-
-PATCHES=(
- "${FILESDIR}"/${P}-libsuffix.patch
-)
-
-wrap_python() {
- local phase=$1
- shift
-
- if use python; then
- pushd bindings/python >/dev/null || die
- echo distutils-r1_${phase} "$@"
- pwd
- distutils-r1_${phase} "$@"
- popd >/dev/null
- fi
-}
-
-src_prepare() {
- tc-export RANLIB
- cmake_src_prepare
-
- wrap_python ${FUNCNAME}
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCAPSTONE_BUILD_TESTS="$(usex test)"
- -DCAPSTONE_BUILD_STATIC="$(usex static-libs)"
- )
- cmake_src_configure
-
- wrap_python ${FUNCNAME}
-}
-
-src_compile() {
- cmake_src_compile
-
- wrap_python ${FUNCNAME}
-}
-
-src_test() {
- cmake_src_test
-
- wrap_python ${FUNCNAME}
-}
-
-src_install() {
- cmake_src_install
-
- wrap_python ${FUNCNAME}
-}
diff --git a/dev-libs/capstone/capstone-5.0.1.ebuild b/dev-libs/capstone/capstone-5.0.1.ebuild
index aebb671d55fe..b16146234667 100644
--- a/dev-libs/capstone/capstone-5.0.1.ebuild
+++ b/dev-libs/capstone/capstone-5.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,7 +21,7 @@ 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"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
LICENSE="BSD"
@@ -35,7 +35,7 @@ DEPEND="${RDEPEND}
BDEPEND="${DISTUTILS_DEPS}"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-distutils_enable_tests setup.py
+RESTRICT="!test? ( test )"
if [[ ${PV} == *_rc* ]]; then
# Upstream doesn't flag release candidates (bug 858350)
@@ -90,3 +90,7 @@ src_install() {
find "${ED}" -name '*.a' -delete || die
fi
}
+
+python_test() {
+ emake check
+}
diff --git a/dev-libs/capstone/capstone-9999.ebuild b/dev-libs/capstone/capstone-9999.ebuild
index 6d46a0133be7..ae151ecdb8fb 100644
--- a/dev-libs/capstone/capstone-9999.ebuild
+++ b/dev-libs/capstone/capstone-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
@@ -35,15 +35,15 @@ DEPEND="${RDEPEND}
BDEPEND="${DISTUTILS_DEPS}"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
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.
+ # not merged into 5.* releases. Eventually this patch may be needed in the
+ # version 5 release line. See bug #911481.
"${FILESDIR}/${P}-werror.patch"
)
-distutils_enable_tests setup.py
-
if [[ ${PV} == *_rc* ]]; then
# Upstream doesn't flag release candidates (bug 858350)
QA_PKGCONFIG_VERSION=""
@@ -97,3 +97,7 @@ src_install() {
find "${ED}" -name '*.a' -delete || die
fi
}
+
+python_test() {
+ emake check
+}
diff --git a/dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch b/dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch
deleted file mode 100644
index 056140be13df..000000000000
--- a/dev-libs/capstone/files/capstone-4.0.2-libsuffix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-cmake does not provide 'LIBSUFFIX' variables, but provides 'LIB_SUFFIX'.
-https://bugs.gentoo.org/730722
---- a/capstone.pc.in
-+++ b/capstone.pc.in
-@@ -1,6 +1,6 @@
- prefix=@CMAKE_INSTALL_PREFIX@
- exec_prefix=${prefix}
--libdir=${prefix}/lib@LIBSUFFIX@
-+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
- includedir=${prefix}/include/capstone
-
- Name: capstone
diff --git a/dev-libs/capstone/files/capstone-9999-werror.patch b/dev-libs/capstone/files/capstone-9999-werror.patch
index 1ec58fa056a3..d5f09ca7d656 100644
--- a/dev-libs/capstone/files/capstone-9999-werror.patch
+++ b/dev-libs/capstone/files/capstone-9999-werror.patch
@@ -2,12 +2,12 @@ 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()
+@@ -25,7 +25,7 @@ project(capstone
+ VERSION 5.0
+ )
+-set(UNIX_COMPILER_OPTIONS -Werror -Wall -Warray-bounds -Wshift-negative-value -Wreturn-type -Wformat -Wmissing-braces -Wunused-function -Warray-bounds -Wunused-variable -Wparentheses -Wint-in-bool-context -Wmisleading-indentation)
++set(UNIX_COMPILER_OPTIONS -Wall -Warray-bounds -Wshift-negative-value -Wreturn-type -Wformat -Wmissing-braces -Wunused-function -Warray-bounds -Wunused-variable -Wparentheses -Wint-in-bool-context -Wmisleading-indentation)
+ # maybe-unitialzied is only supported by newer versions of GCC.
+ # Unfortunately, it is pretty unreliable and reports wrong results.
diff --git a/dev-libs/castxml/Manifest b/dev-libs/castxml/Manifest
index afed59928523..2951f2f2ace7 100644
--- a/dev-libs/castxml/Manifest
+++ b/dev-libs/castxml/Manifest
@@ -1,3 +1 @@
-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.7.tar.gz 122608 BLAKE2B 04d10c34131fac97382fe33b1cfd8e65d62ce1339cb8eb253d867500f777346f352dfb9ff061c8e18be961ea9b7aeb86aef1d9c35d8f7e78687124e560bef435 SHA512 31acd05e15e44f64a92c47bbef13115d26e17488a111e5b2bb32bf6191c4555e8f7e380489ab9d6e52060285e25088f41253ba46f4eb95b6ec11e5c63412442f
diff --git a/dev-libs/castxml/castxml-0.5.1-r1.ebuild b/dev-libs/castxml/castxml-0.5.1-r1.ebuild
deleted file mode 100644
index 3c2b41567323..000000000000
--- a/dev-libs/castxml/castxml-0.5.1-r1.ebuild
+++ /dev/null
@@ -1,48 +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="C-family abstract syntax tree XML output tool"
-HOMEPAGE="https://github.com/CastXML/CastXML"
-SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/CastXML-${PV}"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86"
-IUSE="+man test"
-RESTRICT="!test? ( test )"
-
-# See comment in llvm.eclass for why we don't depend on LLVM if we already
-# depend on Clang.
-RDEPEND="
- <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${RDEPEND}
- man? ( dev-python/sphinx )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-fix-tests.patch
-)
-
-llvm_check_deps() {
- has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
- -DCastXML_INSTALL_MAN_DIR="share/man"
- -DSPHINX_MAN="$(usex man)"
- -DSPHINX_HTML=OFF
- -DBUILD_TESTING="$(usex test)"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/castxml/castxml-0.6.1.ebuild b/dev-libs/castxml/castxml-0.6.1.ebuild
deleted file mode 100644
index 61e6bb8b1dff..000000000000
--- a/dev-libs/castxml/castxml-0.6.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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.7.ebuild
index 167ac162e324..4334249f655f 100644
--- a/dev-libs/castxml/castxml-0.6.2.ebuild
+++ b/dev-libs/castxml/castxml-0.6.7.ebuild
@@ -1,41 +1,39 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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
+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 -> ${P}.tar.gz"
-S="${WORKDIR}/CastXML-${PV}"
+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"
+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.
+DEPEND="
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=
+ ')
+"
RDEPEND="
- <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+ ${DEPEND}
"
-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}"
diff --git a/dev-libs/castxml/files/castxml-fix-tests.patch b/dev-libs/castxml/files/castxml-fix-tests.patch
deleted file mode 100644
index a48cf4fe5111..000000000000
--- a/dev-libs/castxml/files/castxml-fix-tests.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt b/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt
-index fb9ae02..33b3df9 100644
---- a/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt
-+++ b/test/expect/cmd.cc-msvc-c-src-c-cmd.stderr.txt
-@@ -1 +1 @@
--"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-[^i]
-+"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-([^i]|i[^s])
-diff --git a/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt b/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt
-index fb9ae02..33b3df9 100644
---- a/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt
-+++ b/test/expect/cmd.cc-msvc-src-cxx-cmd.stderr.txt
-@@ -1 +1 @@
--"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-[^i]
-+"clang" .* "-[^i][^"]*" "[^-"][^"]*" "-isystem" "/some/include" "-isystem" "/some/other/include" "-([^i]|i[^s])
diff --git a/dev-libs/castxml/metadata.xml b/dev-libs/castxml/metadata.xml
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 cebc82602311..3ad50fa1d50a 100644
--- a/dev-libs/cdk/Manifest
+++ b/dev-libs/cdk/Manifest
@@ -1,5 +1,4 @@
-DIST cdk-5.0-20210324.tgz 548203 BLAKE2B 7a944f347bf30a6bf602b9ac61fa547c7b4aef073db54272e4a8d2bd7d83093888f2ca9e5ee9c2d067777472d2abb87cca42b2912b0491b81472cfce086640b8 SHA512 72d62307824708858ca4fb3865d332cc81e987d7ef685011cf127c8f77cee3e19fe9dd6a35009d4416769cb00f04e937ebaec686c61ca0ba58655f522a175a59
-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 5e37532139ba..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"
-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.20221025.ebuild b/dev-libs/cdk/cdk-5.0.20240331.ebuild
index 211f5797ba83..aa3072aaa56e 100644
--- a/dev-libs/cdk/cdk-5.0.20221025.ebuild
+++ b/dev-libs/cdk/cdk-5.0.20240331.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
@@ -16,7 +16,7 @@ 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"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="examples unicode"
DEPEND="sys-libs/ncurses:=[unicode(+)?]"
@@ -33,8 +33,12 @@ src_configure() {
# --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" "")
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 27b2a5ef11f7..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ 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
index f394e6e7a1de..90819dc8724b 100644
--- a/dev-libs/cglm/Manifest
+++ b/dev-libs/cglm/Manifest
@@ -1,3 +1,3 @@
-DIST cglm-0.8.9.tar.gz 631331 BLAKE2B 17f6f8d379aa81ee9327315b121cc7629fcc394fe032c1e1540e5153b2d3b0a2129f27eb46a8ae4323aa826b2bfff310b9039f78953d52d0bd994ba493fcdbd9 SHA512 ac0a042d61c60eac7d6616e5bc0f5c3e77b1a45f58f6732b34edc9a0d714046777e4b490200a3b54c6325ddad5b5faeb3648a299685f748f8b0618ce66a9a7f4
-DIST cglm-0.9.0.tar.gz 642861 BLAKE2B d02cb83abeeea793e5ab7b9473a9a26dcaf3e15209b555c34b6981e3becd6edbd94f0687126114a8917d9f4958575f2cf37a846b7fc54fd236d30198d1fe7aaf SHA512 23ad89df9cd80d69caf0fcf59d6acfbea710d9b6ae50634d4a32718d0214d1624df3bf8f874a76a93c3952e97f94ff48b65103035e87519bb9dbfce7fd2af427
-DIST cglm-0.9.1.tar.gz 657554 BLAKE2B 4b24841b248c3d0606e99b1d71301e3008a5fa6044d0eb76759144aa800875ca890a591e276d237cf801cd09dde513f8e42ecc4eb70288effb641682c899d220 SHA512 05c1e8d1dadafe1c9155db40dd1a4c209283c41ad2416c11b09967435f8047471afa5ee521ef6b8ef22c3e8b3988ab0865137057b33441e7851bc57979509dd6
+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.1.ebuild b/dev-libs/cglm/cglm-0.9.2.ebuild
index 8adee7688d32..4f9bb90c2e19 100644
--- a/dev-libs/cglm/cglm-0.9.1.ebuild
+++ b/dev-libs/cglm/cglm-0.9.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-libs/cglm/cglm-0.9.0.ebuild b/dev-libs/cglm/cglm-0.9.3.ebuild
index 8adee7688d32..4c21cab228fa 100644
--- a/dev-libs/cglm/cglm-0.9.0.ebuild
+++ b/dev-libs/cglm/cglm-0.9.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ DOCS_AUTODOC=1
DOCS_DEPEND="dev-python/sphinx-rtd-theme"
DOCS_DIR="${S}/docs/source"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-any-r1 docs meson
DESCRIPTION="OpenGL Mathematics (glm) for C"
diff --git a/dev-libs/cglm/cglm-0.8.9-r1.ebuild b/dev-libs/cglm/cglm-0.9.4.ebuild
index 8adee7688d32..4c21cab228fa 100644
--- a/dev-libs/cglm/cglm-0.8.9-r1.ebuild
+++ b/dev-libs/cglm/cglm-0.9.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ DOCS_AUTODOC=1
DOCS_DEPEND="dev-python/sphinx-rtd-theme"
DOCS_DIR="${S}/docs/source"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-any-r1 docs meson
DESCRIPTION="OpenGL Mathematics (glm) for C"
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 d332e7946c17..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
@@ -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/metadata.xml b/dev-libs/chmlib/metadata.xml
index beac02a9af14..115e9d64a669 100644
--- a/dev-libs/chmlib/metadata.xml
+++ b/dev-libs/chmlib/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/cjose/Manifest b/dev-libs/cjose/Manifest
new file mode 100644
index 000000000000..1365f12734f1
--- /dev/null
+++ b/dev-libs/cjose/Manifest
@@ -0,0 +1,2 @@
+DIST cjose-0.6.2.2.tar.gz 498461 BLAKE2B 4914019652f47ac12745cb3b8914f66cb41cb8da33f83735d866cac816dd8f6475d12fde4a6e3f58456c463cb7c6c6fdfeb4928c232f94e3fa6b1b4c8e5ef132 SHA512 71a087709816f0aac060a7c5f037068e981366b1809f6ee32e39eaded02ad8be061b0e2fa5093515a8acec10c7f4aca232281004426221b4b7e5edbd203eb49c
+DIST cjose-0.6.2.3.tar.gz 500613 BLAKE2B cf5f7f7bcb3e7cfa643a9f9f0e88498874a78cd8799be961a5c1c1ac03f24ef75ec8b0624a7ec4ffa8f9ebedda0e4c35fb0dc72547620b63ada5e719dfe2f778 SHA512 193434afef21fc4889902896d984bf57c64240346de27be94c229491d43e1d309bbb11905be4899fc7f3c1885323ee9480bf30499f37f3174ab9a1e282f5841f
diff --git a/dev-libs/cjose/cjose-0.6.2.2.ebuild b/dev-libs/cjose/cjose-0.6.2.2.ebuild
new file mode 100644
index 000000000000..f211079aa3ad
--- /dev/null
+++ b/dev-libs/cjose/cjose-0.6.2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library implementing the Javascript Object Signing and Encryption (JOSE)"
+HOMEPAGE="https://github.com/OpenIDC/cjose"
+
+SRC_URI="https://github.com/OpenIDC/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/jansson-2.11:=
+ >=dev-libs/openssl-1.0.2u:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( >=app-text/doxygen-1.8 )
+ test? ( >=dev-libs/check-0.9.4 )"
+
+src_prepare() {
+ default
+ eautoreconf --force --install
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/cjose/cjose-0.6.2.3.ebuild b/dev-libs/cjose/cjose-0.6.2.3.ebuild
new file mode 100644
index 000000000000..e4fd2351b19d
--- /dev/null
+++ b/dev-libs/cjose/cjose-0.6.2.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="C library implementing the Javascript Object Signing and Encryption (JOSE)"
+HOMEPAGE="https://github.com/OpenIDC/cjose"
+
+SRC_URI="https://github.com/OpenIDC/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/jansson-2.11:=
+ >=dev-libs/openssl-1.0.2u:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( >=app-text/doxygen-1.8 )
+ test? ( >=dev-libs/check-0.9.4 )"
+
+src_prepare() {
+ default
+
+ # Remove -Werror from the build, bug #922461
+ sed -e 's/ -Werror//' -i src/Makefile.{am,in} || die
+
+ eautoreconf --force --install
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/cjose/metadata.xml b/dev-libs/cjose/metadata.xml
new file mode 100644
index 000000000000..307a3af57a82
--- /dev/null
+++ b/dev-libs/cjose/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>infra@gentoo.org</email>
+ <name>Gentoo Infrastructure Team</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">OpenIDC/cjose</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/clhpp/Manifest b/dev-libs/clhpp/Manifest
deleted file mode 100644
index fcf843c72292..000000000000
--- a/dev-libs/clhpp/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST clhpp-2023.04.17.tar.gz 115042 BLAKE2B df0db751eda9fe2f23a5e3ef97f263885a09ca4b341b24c9580522e84a192e9afe526a441d0e3660e8819492945b2ff89bff7c96cd1fd1b3bd6a177042ec759e SHA512 1e37af647a37737240de1622bd772e1f154a07c2d27e020487163c42d0833096c1a2f2f2185b8f6371889c2cad3992f0c7a9d233c36941367da743ee7ee8e486
diff --git a/dev-libs/clhpp/clhpp-2023.04.17.ebuild b/dev-libs/clhpp/clhpp-2023.04.17.ebuild
deleted file mode 100644
index 9c106083d8d2..000000000000
--- a/dev-libs/clhpp/clhpp-2023.04.17.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
-
-MY_PN="OpenCL-CLHPP"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Khronos OpenCL C++ bindings"
-HOMEPAGE="https://github.com/KhronosGroup/OpenCL-CLHPP/"
-SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Khronos-CLHPP"
-SLOT="0"
-KEYWORDS="amd64 ppc64 x86"
-IUSE="test"
-
-# Tests require CMock (NOT cmocka), which is currently not in Gentoo
-# and has been found to be extremely awkward to package.
-# Should it ever get packaged, consult git history for how to set things up
-# for the clhpp test suite.
-RESTRICT="test"
-
-RDEPEND="virtual/opencl"
-DEPEND="${RDEPEND}
- >=dev-util/opencl-headers-${PV}"
-
-S="${WORKDIR}"/${MY_P}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_DOCS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_TESTING=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/clog/Manifest b/dev-libs/clog/Manifest
new file mode 100644
index 000000000000..4f863c1a0897
--- /dev/null
+++ b/dev-libs/clog/Manifest
@@ -0,0 +1 @@
+DIST cpuinfo-2023.11.04.tar.gz 3516672 BLAKE2B 4f99781081ae7c0736bac35d8f589918be1466763d57d0b0661c7cdf8a24fccee61d87acae314714bad09da2a15d96d9725b7c2b7a6a9945bb320f96c31b3eb7 SHA512 02dd70f0b95c2cb6d8af4e33072f63f5d72d2314796033ae68bb6b37cb7db18d43dd2cdfedafc896dec0614dbeec9ab507f765f3d958fbda8c0ab3e3a191a87c
diff --git a/dev-libs/clog/clog-2023.11.04.ebuild b/dev-libs/clog/clog-2023.11.04.ebuild
new file mode 100644
index 000000000000..c7655a4e2224
--- /dev/null
+++ b/dev-libs/clog/clog-2023.11.04.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=d6860c477c99f1fce9e28eb206891af3c0e1a1d7
+
+DESCRIPTION="C-style (a-la printf) logging library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/cpuinfo/archive/${CommitId}.tar.gz
+ -> cpuinfo-${PV}.tar.gz"
+
+S="${WORKDIR}"/clog
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="!<dev-libs/cpuinfo-${PV}"
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}"/${P}-test.patch )
+
+src_unpack() {
+ unpack "${A}"
+ mv cpuinfo-${CommitId}/deps/clog clog || die
+ rm -r cpuinfo-${CommitId} || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SYSTEM_LIBS=ON
+ -DUSE_SYSTEM_GOOGLETEST=ON
+ -DCLOG_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/clog/files/clog-2023.11.04-test.patch b/dev-libs/clog/files/clog-2023.11.04-test.patch
new file mode 100644
index 000000000000..e8027d5962e4
--- /dev/null
+++ b/dev-libs/clog/files/clog-2023.11.04-test.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2024-05-08 08:34:01.195300008 +0200
++++ b/CMakeLists.txt 2024-05-08 08:34:19.850068094 +0200
+@@ -93,7 +93,7 @@
+
+ ADD_EXECUTABLE(clog-test test/clog.cc)
+ SET_TARGET_PROPERTIES(clog-test PROPERTIES
+- CXX_STANDARD 11
++ CXX_STANDARD 14
+ CXX_EXTENSIONS NO)
+ CLOG_TARGET_RUNTIME_LIBRARY(clog-test)
+ TARGET_LINK_LIBRARIES(clog-test PRIVATE clog gtest gtest_main)
diff --git a/dev-libs/libe/metadata.xml b/dev-libs/clog/metadata.xml
index 2ce0e74f9864..eec896ddc47d 100644
--- a/dev-libs/libe/metadata.xml
+++ b/dev-libs/clog/metadata.xml
@@ -2,7 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/cpuinfo</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/collada-dom/collada-dom-2.5.0-r1.ebuild b/dev-libs/collada-dom/collada-dom-2.5.0-r1.ebuild
index f227b381ce14..ed5d9520144b 100644
--- a/dev-libs/collada-dom/collada-dom-2.5.0-r1.ebuild
+++ b/dev-libs/collada-dom/collada-dom-2.5.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
@@ -27,6 +27,8 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
+PATCHES=( "${FILESDIR}/${PN}-2.5.0-boost-1.85.patch" )
+
src_configure() {
# bug 618960
append-cxxflags -std=c++14
diff --git a/dev-libs/collada-dom/files/collada-dom-2.5.0-boost-1.85.patch b/dev-libs/collada-dom/files/collada-dom-2.5.0-boost-1.85.patch
new file mode 100644
index 000000000000..0a6e6e8869e8
--- /dev/null
+++ b/dev-libs/collada-dom/files/collada-dom-2.5.0-boost-1.85.patch
@@ -0,0 +1,45 @@
+commit 65222c3c4f800b624e1d547ab7f1eb28e3d6ee59
+Author: Stefan Strogin <stefan@steils.org>
+Date: Mon May 27 16:13:09 2024 +0000
+
+ Fix build for boost 1.85.0, #42
+
+diff --git a/dom/include/dae.h b/dom/include/dae.h
+index e53388b..03e72f9 100644
+--- a/dom/include/dae.h
++++ b/dom/include/dae.h
+@@ -25,7 +25,7 @@
+ #pragma warning(disable: 4180 4245)
+ #endif
+ #ifndef NO_BOOST
+-#include <boost/filesystem/convenience.hpp>
++#include <boost/filesystem.hpp>
+ #endif
+ #ifdef _MSC_VER
+ #pragma warning(pop)
+diff --git a/dom/src/dae/daeUtils.cpp b/dom/src/dae/daeUtils.cpp
+index de30ca0..45b667f 100644
+--- a/dom/src/dae/daeUtils.cpp
++++ b/dom/src/dae/daeUtils.cpp
+@@ -18,7 +18,7 @@
+ #endif
+
+ #ifndef NO_BOOST
+-#include <boost/filesystem/convenience.hpp> // THIS WAS NOT COMMENTED.
++#include <boost/filesystem.hpp> // THIS WAS NOT COMMENTED.
+ #endif
+
+ #include <cstdio> // for tmpnam
+diff --git a/dom/src/dae/daeZAEUncompressHandler.cpp b/dom/src/dae/daeZAEUncompressHandler.cpp
+index da2a344..2550000 100644
+--- a/dom/src/dae/daeZAEUncompressHandler.cpp
++++ b/dom/src/dae/daeZAEUncompressHandler.cpp
+@@ -271,7 +271,7 @@ bool daeZAEUncompressHandler::checkAndExtractInternalArchive( const std::string&
+ bool error = false;
+
+ boost::filesystem::path archivePath(filePath);
+- std::string dir = archivePath.branch_path().string();
++ std::string dir = archivePath.parent_path().string();
+
+ const std::string& randomSegment = cdom::getRandomFileName();
+ std::string tmpDir = dir + cdom::getFileSeparator() + randomSegment + cdom::getFileSeparator();
diff --git a/dev-libs/concurrencykit/Manifest b/dev-libs/concurrencykit/Manifest
index c4ba83f50e5e..9da8e6140338 100644
--- a/dev-libs/concurrencykit/Manifest
+++ b/dev-libs/concurrencykit/Manifest
@@ -1 +1 @@
-DIST concurrencykit-0.7.1.tar.gz 252802 BLAKE2B 907db3b244544a9c46db7432f2c3d07c20652882067157974ce54c71c27f21fdc87d41e068efc71f88392a94895e0de1a8f3ae90605b4267606cfa7d29c7dc35 SHA512 48768e7adf05b818f2951b246c90185071d6c3f874218349183d96b7887830f9505f9fa58576e9933862486e8543097df0ee667518009a3946d1edc19fc253f7
+DIST concurrencykit-0.7.2.tar.gz 257817 BLAKE2B e9b58c2e5fc7f39d03a3800117bc215f933cd5b542c293e07934597788e2d33e33cf6d02bbaa54d829b57e2dcaabcf79220398bef3a903a1d39c70bb5553ccb2 SHA512 c3a93a8bbdab2c81ccbfe8f38a17677b912bc157c231c960330cb130e93c35e3aab6b2fd1695d0ea28dbe3e12297851f1b96ef1ee21ca4e4c0065c91b83f51c3
diff --git a/dev-libs/concurrencykit/concurrencykit-0.7.1-r1.ebuild b/dev-libs/concurrencykit/concurrencykit-0.7.2.ebuild
index de592f0bf47a..e4db47d51ef1 100644
--- a/dev-libs/concurrencykit/concurrencykit-0.7.1-r1.ebuild
+++ b/dev-libs/concurrencykit/concurrencykit-0.7.2.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 @@ S="${WORKDIR}/${MY_P}"
LICENSE="Apache-2.0 BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
# The 'libck.so' has a name collision.
# See bug #616762 for more information.
diff --git a/dev-libs/confuse/confuse-3.3-r1.ebuild b/dev-libs/confuse/confuse-3.3-r1.ebuild
index 164f9d86f456..9d7232703654 100644
--- a/dev-libs/confuse/confuse-3.3-r1.ebuild
+++ b/dev-libs/confuse/confuse-3.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,8 +15,8 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc
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
index 6a45dae70813..8d54f30350ec 100644
--- a/dev-libs/confuse/confuse-3.3-r2.ebuild
+++ b/dev-libs/confuse/confuse-3.3-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=7
@@ -15,8 +15,8 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc
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.ebuild b/dev-libs/confuse/confuse-3.3.ebuild
index db0ee9ad1df8..9d524b6a484b 100644
--- a/dev-libs/confuse/confuse-3.3.ebuild
+++ b/dev-libs/confuse/confuse-3.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,8 +15,8 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc
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/cowsql/Manifest b/dev-libs/cowsql/Manifest
index eb2d4154fb4c..4479e4197578 100644
--- a/dev-libs/cowsql/Manifest
+++ b/dev-libs/cowsql/Manifest
@@ -1 +1 @@
-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.6.ebuild
index 6c74e52fded0..de783d5bd04d 100644
--- a/dev-libs/cowsql/cowsql-1.15.4.ebuild
+++ b/dev-libs/cowsql/cowsql-1.15.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P
LICENSE="LGPL-3-with-linking-exception"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -43,6 +43,10 @@ src_configure() {
econf "${myeconfargs[@]}"
}
+src_test() {
+ default
+}
+
src_install() {
default
find "${ED}" -name '*.la' -delete || die
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 a636f22f3081..11981c5f1443 100644
--- a/dev-libs/cpuinfo/Manifest
+++ b/dev-libs/cpuinfo/Manifest
@@ -1,3 +1,4 @@
DIST cpuinfo-2022.03.26.tar.gz 3503965 BLAKE2B 03607ea04de156907d230dc9f009d72bf6d36ae7391c190c68dbc3f9a4c395e8ec72f935f6ae032d6b1341432278df3aee6f9fe7f7cad1b82784ecec5084d373 SHA512 dbbe4f3e1d5ae74ffc8ba2cba0ab745a23f4993788f4947825ef5125dd1cbed3e13e0c98e020e6fcfa9879f54f06d7cba4de73ec29f77649b6a27b4ab82c8f1c
DIST cpuinfo-2022.08.19.tar.gz 3512624 BLAKE2B 909ebde6c522d514641dcbe16586bc972327b8564cb12fa6db25b8978a0a840e627154430f97dd37f024ea4f36a45db8ca5033e6e076390383dd9b35307bed5f SHA512 b3342ce0a1f842084ff53efdfd15c44586ac7cd36249211e2925d84aa1f33ee8d6f76cd62ea20e91d8b908c3c8afda5a47516008b69749504024b9813a623ee2
DIST cpuinfo-2023.01.13.tar.gz 3513605 BLAKE2B eee9765f30b1dca6f39fb0b1f387f5e1cfaf544e5c9b256391aea913c5b67a012ef45f5afecfcda4a34ab64ca8da2f20e37db58cb4d463f8e312a04965cd40df SHA512 96bd11d3453e98cf1130f0862614e813861e20111655f8c472f29f17048a07d712b4f84b511760fdee995cf3d695112371af0c21cbd144ee3fb6fb6153dd2829
+DIST cpuinfo-2023.11.04.tar.gz 3516672 BLAKE2B 4f99781081ae7c0736bac35d8f589918be1466763d57d0b0661c7cdf8a24fccee61d87acae314714bad09da2a15d96d9725b7c2b7a6a9945bb320f96c31b3eb7 SHA512 02dd70f0b95c2cb6d8af4e33072f63f5d72d2314796033ae68bb6b37cb7db18d43dd2cdfedafc896dec0614dbeec9ab507f765f3d958fbda8c0ab3e3a191a87c
diff --git a/dev-libs/cpuinfo/cpuinfo-2023.11.04.ebuild b/dev-libs/cpuinfo/cpuinfo-2023.11.04.ebuild
new file mode 100644
index 000000000000..59286c83bde5
--- /dev/null
+++ b/dev-libs/cpuinfo/cpuinfo-2023.11.04.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=d6860c477c99f1fce9e28eb206891af3c0e1a1d7
+
+DESCRIPTION="CPU INFOrmation library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${PN}-2023.01.13-test.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCPUINFO_BUILD_BENCHMARKS=OFF
+ -DCPUINFO_BUILD_UNIT_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/cpuinfo/files/cpuinfo-2023.11.04-gentoo.patch b/dev-libs/cpuinfo/files/cpuinfo-2023.11.04-gentoo.patch
new file mode 100644
index 000000000000..4603ab9dee0e
--- /dev/null
+++ b/dev-libs/cpuinfo/files/cpuinfo-2023.11.04-gentoo.patch
@@ -0,0 +1,25 @@
+--- a/CMakeLists.txt 2022-05-09 22:00:05.453640876 +0200
++++ b/CMakeLists.txt 2022-05-09 22:01:11.621691380 +0200
+@@ -130,12 +130,6 @@
+ IF(USE_SYSTEM_GOOGLETEST)
+ FIND_PACKAGE(GTest REQUIRED)
+ ELSEIF(NOT DEFINED GOOGLETEST_SOURCE_DIR)
+- MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
+- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
+- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
+- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
+- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
+ SET(GOOGLETEST_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest" CACHE STRING "Google Test source directory")
+ ENDIF()
+ ENDIF()
+@@ -344,9 +344,6 @@
+ IF(MSVC AND NOT CPUINFO_RUNTIME_TYPE STREQUAL "static")
+ SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+ ENDIF()
+- ADD_SUBDIRECTORY(
+- "${GOOGLETEST_SOURCE_DIR}"
+- "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest")
+ ENDIF()
+ ENDIF()
+ ENDIF()
diff --git a/dev-libs/criterion/Manifest b/dev-libs/criterion/Manifest
index 1d6bfd0290c2..36f8305ae0df 100644
--- a/dev-libs/criterion/Manifest
+++ b/dev-libs/criterion/Manifest
@@ -1,4 +1,3 @@
-DIST criterion-2.4.0.tar.gz 870099 BLAKE2B 06d81344f6e9110cbb4313c847e0fb1d596ddfad7ab57d4a0c9df2140c5506450f702082d6fc893d819b74252b20193720ca44a903b43c43e940122529da88ad SHA512 4a7cd9cd26f64bfeb95683a0479a59b29676ffc5110041757417ab152dced7a360a94fd721b31e45e1b91d0ca08fec0327d7a7d56a2cf9d2f3e9e25e2b95f446
DIST criterion-2.4.1.tar.gz 870842 BLAKE2B 8b7db80d5e943d4380072106eb32ffe95896e4e588986588fd8b0ebfe1078657e2a9231090355563fd8bd8588cacbaa5839e269a0a9c4e56b882789c97379f9b SHA512 22f1ae5152db93736282fac098ad510d497aa804589df8070fb6cf36a3063868f2a9ed3c5771bfde8a0352355d81178816870d68b83ca6d6582fd17cdd9332d9
DIST debugbreak-6b79ec8d8f8d4603111f580a0537f8f31c484c32.tar.gz 5613 BLAKE2B 78711c3c46d567fb7110a70dfddc2fb5e413eb5c6b9f67d5d8b5f8a663af854cb50f3b9d9947a2c14909dcd2b34f762192a4fbe8b32dcde7c9894f0560ccf769 SHA512 f4bb95b3f931545800abbb86aa787939cc1c30f464e465689aff3fff3d753766bafe4de9065b762d9db882608b2df250514ab38fc9c476cbd6d7d95d516c75cb
DIST klib-cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502.tar.gz 99303 BLAKE2B 7804c030106ffab44afcbc1ac77d644e7dfef7c107d4f9679a3a4b7506e41ada65e87113831f94fc5c6f70073356c38a317153e01f1985522029990e9af40544 SHA512 fe4f0cd9b5ff2d5605d388f8a67d6c7211320d0fea6fb9b2df0c9b1e67a1f683b80b86cac007b0cfbd264b75bc0e4849e772506c2ee66b86967e5ee24cc89e1d
diff --git a/dev-libs/criterion/criterion-2.4.0.ebuild b/dev-libs/criterion/criterion-2.4.1-r1.ebuild
index 49faed7a545b..9ac50fdbef62 100644
--- a/dev-libs/criterion/criterion-2.4.0.ebuild
+++ b/dev-libs/criterion/criterion-2.4.1-r1.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"
+EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit meson python-any-r1
+inherit flag-o-matic meson python-any-r1
DEBUGBREAK_COMMIT="6b79ec8d8f8d4603111f580a0537f8f31c484c32"
KLIB_COMMIT="cdb7e9236dc47abf8da7ebd702cc6f7f21f0c502"
@@ -18,9 +18,10 @@ SRC_URI="https://github.com/Snaipe/Criterion/archive/refs/tags/v${PV}.tar.gz ->
https://github.com/attractivechaos/klib/archive/${KLIB_COMMIT}.tar.gz -> klib-${KLIB_COMMIT}.tar.gz
https://github.com/nanopb/nanopb/archive/${NANOPB_COMMIT}.tar.gz -> nanopb-${NANOPB_COMMIT}.tar.gz"
+S="${WORKDIR}/Criterion-${PV}"
LICENSE="BSD-2 MIT ZLIB"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -32,11 +33,9 @@ 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}"
-
python_check_deps() {
has_version "dev-util/cram[${PYTHON_USEDEP}]"
}
@@ -55,6 +54,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/criterion/criterion-2.4.1.ebuild b/dev-libs/criterion/criterion-2.4.1.ebuild
index f3384d089938..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..11} )
+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_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++/crypto++-8.9.0.ebuild b/dev-libs/crypto++/crypto++-8.9.0.ebuild
index 57c31351372e..f8876e39738b 100644
--- a/dev-libs/crypto++/crypto++-8.9.0.ebuild
+++ b/dev-libs/crypto++/crypto++-8.9.0.ebuild
@@ -25,7 +25,7 @@ LICENSE="Boost-1.0"
# "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"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE="+asm static-libs"
BDEPEND="
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 efcf66a60000..87fb519735df 100644
--- a/dev-libs/cudnn-frontend/Manifest
+++ b/dev-libs/cudnn-frontend/Manifest
@@ -1,3 +1,5 @@
DIST cudnn-frontend-0.6.2.tar.gz 18658544 BLAKE2B b60e94a58cd414fee1da2b7da8ea83122dedfb59d5db8b987f7d3d42b00d2634c85dabf45fc81e607a6a4f8c2485690294a724ab744ad4025003ab3fd9a69028 SHA512 d0de74ca90771a38d609fc4784372f35c418dfade4b54f1035ee333567560c7c1dd559490e9a6efdf1043cb91ca27d159f31297238ec9d3578532d77ca505e17
DIST cudnn-frontend-0.7.3.tar.gz 18685637 BLAKE2B 77ce32fb84cca43a431c6ad0d7be96f56975369e5f7c2f22e011c895200b92966f0cb48d6f7b01a66d8b89837ed4b955d8bd93a3bcf07ad0b29a247b3d73f6a4 SHA512 bd2fe79404f60975ca40792d373d6a388aad900ac98e42fd4258f4405a0b189641e400b1bd634b38b3376ee1b91a82cf76b152038992cdf83f629e76b3f69f93
DIST cudnn-frontend-0.9.2.tar.gz 18582081 BLAKE2B d8611231f73f3716bca8c2d851439355121ca2460dd46cf8149632fa53094b7b2a2e9d6840dfcd2c1da113f8b6f06c15559c90c6c5333b36d5c29bd9997733e1 SHA512 0cc326e8395183ab3bc2d90a2155a80318daa9c1d6b30522efc42716bd7000ba036d802a8080a1a6a1f3c017a514f2bed936df57a7cab92c8fcd0136f4312912
+DIST cudnn-frontend-1.0.3.tar.gz 423596 BLAKE2B a7bf970dac5e9977a1c80609cdd169ec5764f366880030329372ec0ac49668ddf67ee33a4a19df6b9f799832fa857f62f94e27ea055f3549ac209ab9f564c28a SHA512 2ad346c52e03589e9edcc0ef8ee0fe48fdc6f73aa8136f9f3729796d5ce60718b486fc8a1036fbdcee2cc899c633a11f1fce9204417a0fb14333a4b51a749db0
+DIST cudnn-frontend-1.1.2.tar.gz 436616 BLAKE2B 9749219fd176fa8eba50e3ab6c63940dce95a095a850bfd9747f47cc91e077792c184d8d0629be31865eab6d6cda627c948de744d5f6d6d9522c1a91931d26f5 SHA512 88407f75ec82c2e04fe72148090f0f56a56a088dccd6beab850df6f761ad8ed7527391c80e667dd2073b8313d0416dbd28eca92dd18a538a3fdbc420c13f552c
diff --git a/dev-libs/cudnn-frontend/cudnn-frontend-1.0.3.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-1.0.3.ebuild
new file mode 100644
index 000000000000..10648668e6c9
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-1.0.3.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A c++ wrapper for the cudnn backend API"
+HOMEPAGE="https://github.com/NVIDIA/cudnn-frontend"
+SRC_URI="https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/8"
+KEYWORDS="~amd64"
+
+RDEPEND="=dev-libs/cudnn-8*"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include
+}
diff --git a/dev-libs/cudnn-frontend/cudnn-frontend-1.1.2.ebuild b/dev-libs/cudnn-frontend/cudnn-frontend-1.1.2.ebuild
new file mode 100644
index 000000000000..10648668e6c9
--- /dev/null
+++ b/dev-libs/cudnn-frontend/cudnn-frontend-1.1.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A c++ wrapper for the cudnn backend API"
+HOMEPAGE="https://github.com/NVIDIA/cudnn-frontend"
+SRC_URI="https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/8"
+KEYWORDS="~amd64"
+
+RDEPEND="=dev-libs/cudnn-8*"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ insinto /opt/cuda/targets/x86_64-linux
+ doins -r include
+}
diff --git a/dev-libs/cudnn-frontend/metadata.xml b/dev-libs/cudnn-frontend/metadata.xml
index 3f54ce321e06..48b6ae08078d 100644
--- a/dev-libs/cudnn-frontend/metadata.xml
+++ b/dev-libs/cudnn-frontend/metadata.xml
@@ -1,11 +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">
+ <maintainer type="person">
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
diff --git a/dev-libs/cutlass/Manifest b/dev-libs/cutlass/Manifest
index f05e63478fc7..a597ef5b7303 100644
--- a/dev-libs/cutlass/Manifest
+++ b/dev-libs/cutlass/Manifest
@@ -1,2 +1,2 @@
-DIST cutlass-2.10.0.tar.gz 15241458 BLAKE2B 66779759ac1c7ebcb860bb9b925a236b45959f5ee3bf4e1f95ffd05a98200dcf2eb4fe2907c02e44143d3f51eca1e2a4ebd890e0edab7fd5378684819123f197 SHA512 4310f8da2931815a63a5e9a69c6c073f95148efecbea7026afcd90965dbd2e1921db52b0ac2a06cda64e20bbaa44112ae1fb7c3b557c41416d99dac33d000aa7
-DIST cutlass-3.1.0.tar.gz 20499454 BLAKE2B 2ece61530e63baebbe3f01d707fed3cb42dadd5dd9a4d1fe8ff70bb60a8dc93719bd19936eb138b01d26ed1db984e109a7a3ab148f8aceea0fae17151f0a5bee SHA512 35224845ddbd9d898f53299fc76ef4bc090d09f62da85cb7a2033f985d8fbb638ac475cdb8eacaf9045adbf1aa7528de4dcaedfdd68b5e32aa689987bcff33d9
+DIST cutlass-3.3.0.tar.gz 20850597 BLAKE2B 07dc1f503395cfed1efb51871baa4ca7890fc4c871cb146933590c51599b4114fd38099bfcd84d8b0b76b876cc6e9f3bb8f42a3f9a7c9321185f7d880609a5da SHA512 c950ab718e67ffc972911b81890eae767a27d32dfc13f72b91e21e7c6b98eadfb3a5eebb9683091e61aed61709481451cfcd95d660e723686bf79a155e9f0b17
+DIST cutlass-3.4.1.tar.gz 23351905 BLAKE2B 6524d70a4f65fc28c7150aa44bfbb5cc64c1b5e885e645d0e58d96dd1c03565c564e8f55f6f0275f2c607d7877e9380e90e424da3eaf44cc6e8997271c5d519d SHA512 c2ff60af28de951cf4420b163ba2dfc46d30c98fe9e6e765cd1e0be89bf9292e057542ec7061c043c42225b74d970f95f675d366db64105a5c103bb165183ab5
diff --git a/dev-libs/cutlass/cutlass-2.10.0-r1.ebuild b/dev-libs/cutlass/cutlass-3.3.0.ebuild
index d85941a8c5e4..7ba922d88c71 100644
--- a/dev-libs/cutlass/cutlass-2.10.0-r1.ebuild
+++ b/dev-libs/cutlass/cutlass-3.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,6 +29,7 @@ src_configure() {
)
cuda_add_sandbox -w
addpredict /dev/char
+ addpredict /proc/self/task
cmake_src_configure
}
diff --git a/dev-libs/cutlass/cutlass-3.1.0.ebuild b/dev-libs/cutlass/cutlass-3.4.1.ebuild
index d85941a8c5e4..7ba922d88c71 100644
--- a/dev-libs/cutlass/cutlass-3.1.0.ebuild
+++ b/dev-libs/cutlass/cutlass-3.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,6 +29,7 @@ src_configure() {
)
cuda_add_sandbox -w
addpredict /dev/char
+ addpredict /proc/self/task
cmake_src_configure
}
diff --git a/dev-libs/cutlass/metadata.xml b/dev-libs/cutlass/metadata.xml
index 851323cabae4..f7a207fddd52 100644
--- a/dev-libs/cutlass/metadata.xml
+++ b/dev-libs/cutlass/metadata.xml
@@ -6,7 +6,6 @@
<name>Tupone Alfredo</name>
</maintainer>
<upstream>
- <remote-id type="github">pytorch/pytorch</remote-id>
<remote-id type="github">NVIDIA/cutlass</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/cvector/cvector-1.0.3.1.ebuild b/dev-libs/cvector/cvector-1.0.3.1.ebuild
index 4b7b0bc8f3ab..db39343b5a49 100644
--- a/dev-libs/cvector/cvector-1.0.3.1.ebuild
+++ b/dev-libs/cvector/cvector-1.0.3.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,7 +10,7 @@ MY_P="${MY_PN}-${PV}"
DESCRIPTION="An ANSI C implementation of dynamic arrays (approximation of C++ vectors)"
HOMEPAGE="http://cvector.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}/${MY_PN}-$(ver_cut 1-3)/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}/${MY_PN}-$(ver_cut 1-3)/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="LGPL-2.1"
diff --git a/dev-libs/cxxopts/Manifest b/dev-libs/cxxopts/Manifest
index 443b73a4ee56..7c4f5f353d16 100644
--- a/dev-libs/cxxopts/Manifest
+++ b/dev-libs/cxxopts/Manifest
@@ -1,2 +1,2 @@
DIST cxxopts-3.0.0.tar.gz 97020 BLAKE2B 129b055dd03ce9e4a146d36587063f7155b47456d81e395ae6eeab8012e8d6cfcb410c305353f2ac2ec66a2f3e8d6169e1a0d27c53dcb35388b967d3c9cc86f1 SHA512 239479a3b35ddef6fc380ac9371e1cf7e3aea066f03e1ea538151fa2fff4296838daa976d55e988d8f87f40c0ae027767bcb214754177499413af1081315565c
-DIST cxxopts-3.1.0.tar.gz 101547 BLAKE2B 0e8d17c2f75fbc3326a67c1787eb80177a72e07e79862288498b4bb97a395269a4b14749db4ea14292b77d6b883f8dc9a33a4001c699e53e51b63c7d14e9ece0 SHA512 bfb593f6393160ae3eeff1fe7bc77394606c3af6ae3b785f9740d178514a8fd286556440aa8a2932633f65b6336695fa286d503f3ac544d0f73affd49051e85d
+DIST cxxopts-3.2.0.tar.gz 160534 BLAKE2B b6fead8930e83b4af089631e584bec0777da2e7b58aeb5e44b03a1655795dd3aff3923a245699e936bef7e0e871da2c86dd5639d44a839f1ac305a694e811feb SHA512 7265de66b92591255488d01bc26ca874423c75223e2e157a99f14fdd3e92e8d2669b72732acac3ce835190f1a09c13a994c480f0513f229eba8aa008e3d98955
diff --git a/dev-libs/cxxopts/cxxopts-3.0.0.ebuild b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
index 8aa251736b37..c00948527a8b 100644
--- a/dev-libs/cxxopts/cxxopts-3.0.0.ebuild
+++ b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/jarro2783/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv ~x86"
IUSE="icu test"
RESTRICT="!test? ( test )"
@@ -27,7 +27,7 @@ src_prepare() {
}
src_configure() {
- local -a mycmakeopts=(
+ local mycmakeargs=(
-DCXXOPTS_BUILD_EXAMPLES:BOOL=OFF
-DCXXOPTS_BUILD_TESTS:BOOL=$(usex test)
-DCXXOPTS_ENABLE_INSTALL:BOOL=ON
diff --git a/dev-libs/cxxopts/cxxopts-3.1.0.ebuild b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
index 697162ee0804..4bc7e2b2a15f 100644
--- a/dev-libs/cxxopts/cxxopts-3.1.0.ebuild
+++ b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,10 +11,12 @@ 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"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~x86"
IUSE="icu test"
-RESTRICT="!test? ( test )"
+RESTRICT="
+ !test? ( test )
+"
DOCS=(
README.md
@@ -27,7 +29,7 @@ src_prepare() {
}
src_configure() {
- local -a mycmakeopts=(
+ local mycmakeargs=(
-DCXXOPTS_BUILD_EXAMPLES:BOOL=OFF
-DCXXOPTS_BUILD_TESTS:BOOL=$(usex test)
-DCXXOPTS_ENABLE_INSTALL:BOOL=ON
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/Manifest b/dev-libs/cxxtools/Manifest
index 3c066831411b..c70928174cbd 100644
--- a/dev-libs/cxxtools/Manifest
+++ b/dev-libs/cxxtools/Manifest
@@ -1 +1,2 @@
DIST cxxtools-3.0.tar.gz 1079247 BLAKE2B 536680373e194dbdb6a79bdb09960830b6aad34c2657a0024b218321154de81653f1e47db13abfcf13f0179fa6f85e0a30a4b97f0e64ca0ac5f1cc7be003270d SHA512 839be18a8bf40c1cbaa016ac50ddacfd879d1f9bea6521209c65790d67d5ee81377519aac2fb373a5de154a293e33185401848e41a697aa57ad6aa42d4854250
+DIST cxxtools-3.0.tgz 668184 BLAKE2B 914ad057888d943c438491590e905505c13c938cafa0b81586f42ff7fd4059815e85f89b6a6ae799dee9e1a239b31840d9e328d92d28aab1e2dc78fb9e9ea674 SHA512 a08d667bcc9e998ed94cd749fe632560ea7d014968bd9f1515b711f9533111f50612aff62fcc0154bdfe17823c7b708f945a83bb681407b42496d370aaaa6594
diff --git a/dev-libs/cxxtools/cxxtools-3.0-r1.ebuild b/dev-libs/cxxtools/cxxtools-3.0-r1.ebuild
deleted file mode 100644
index 0ed30bef3c1c..000000000000
--- a/dev-libs/cxxtools/cxxtools-3.0-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Collection of general purpose C++-classes"
-HOMEPAGE="http://www.tntnet.org/cxxtools.html"
-SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~sparc x86"
-
-RDEPEND="virtual/libiconv"
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS )
-
-src_configure() {
- econf \
- --disable-dependency-tracking \
- --disable-demos \
- --disable-unittest
-
- eapply "${FILESDIR}/${P}_gcc11.patch"
-
- default
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- einstalldocs
-
- # remove static libs
- rm -f "${ED}"/usr/$(get_libdir)/libcxxtools{,-bin,-http,-json,-unit,-xmlrpc}.la || die
-}
diff --git a/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild b/dev-libs/cxxtools/cxxtools-3.0-r2.ebuild
index b87baa58b1ad..b46ea02fa47a 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-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ 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 )"
diff --git a/dev-libs/cxxtools/cxxtools-3.0-r3.ebuild b/dev-libs/cxxtools/cxxtools-3.0-r3.ebuild
new file mode 100644
index 000000000000..1994399b37c0
--- /dev/null
+++ b/dev-libs/cxxtools/cxxtools-3.0-r3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Collection of general purpose C++-classes"
+HOMEPAGE="https://github.com/maekitalo/cxxtools"
+SRC_URI="https://github.com/maekitalo/cxxtools/archive/refs/tags/V${PV}.tar.gz -> ${P}.tgz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="virtual/libiconv"
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}"/${P}_gcc11.patch
+ "${FILESDIR}"/${PN}-3.0-gcc12-time.patch
+ "${FILESDIR}"/${PN}-3.0-lld-linking-openssl.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-demos \
+ $(use_enable test unittest)
+}
+
+src_test() {
+ emake -C test
+
+ local -x USER=${LOGNAME}
+ local -x TZ=UTC # doesn't like e.g. :/etc/timezone
+ cd test || die
+ ./alltests || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ einstalldocs
+
+ # remove static libs
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/cxxtools/cxxtools-3.0.ebuild b/dev-libs/cxxtools/cxxtools-3.0.ebuild
deleted file mode 100644
index 23367377184d..000000000000
--- a/dev-libs/cxxtools/cxxtools-3.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Collection of general purpose C++-classes"
-HOMEPAGE="http://www.tntnet.org/cxxtools.html"
-SRC_URI="http://www.tntnet.org/download/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~sparc x86"
-
-RDEPEND="virtual/libiconv"
-DEPEND="${RDEPEND}"
-
-DOCS=( AUTHORS )
-
-src_configure() {
- econf \
- --disable-dependency-tracking \
- --disable-demos \
- --disable-unittest
-
- default
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- einstalldocs
-
- # remove static libs
- rm -f "${ED}"/usr/$(get_libdir)/libcxxtools{,-bin,-http,-json,-unit,-xmlrpc}.la || die
-}
diff --git a/dev-libs/cxxtools/metadata.xml b/dev-libs/cxxtools/metadata.xml
index b038c919cd23..4442b17f526e 100644
--- a/dev-libs/cxxtools/metadata.xml
+++ b/dev-libs/cxxtools/metadata.xml
@@ -1,8 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
-<email>vdr@gentoo.org</email>
-<name>Gentoo VDR Project</name>
-</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>martin.dummer@gmx.net</email>
+ <name>Martin Dummer</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>vdr@gentoo.org</email>
+ <name>Gentoo VDR Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">maekitalo/cxxtools</remote-id>
+ </upstream>
</pkgmetadata>
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_p16.ebuild
index cb0b39612d81..a6b469318959 100644
--- a/dev-libs/cyberjack/cyberjack-3.99.5_p15.ebuild
+++ b/dev-libs/cyberjack/cyberjack-3.99.5_p16.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=8
MY_PN="pcsc-${PN}"
MY_PV="${PV/_p/final.SP}"
-MY_P="${MY_PN}_${MY_PV}"
+MY_P="${MY_PN}-${MY_PV}"
inherit autotools toolchain-funcs udev
@@ -14,10 +14,10 @@ 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"
+KEYWORDS="amd64 x86"
+IUSE="threads tools +udev xml"
RDEPEND="
sys-apps/pcsc-lite
@@ -25,16 +25,13 @@ RDEPEND="
udev? ( virtual/udev )
xml? ( dev-libs/libxml2:2= )
"
-
DEPEND="${RDEPEND}"
-
BDEPEND="virtual/pkgconfig"
-PATCHES="${FILESDIR}/${PN}-3.99.5_p14-gcc10.patch"
+PATCHES=( "${FILESDIR}"/${PN}-3.99.5_p14-gcc10.patch )
src_prepare() {
default
-
eautoreconf
}
@@ -51,14 +48,12 @@ src_configure() {
--enable-pcsc
--enable-release
--enable-warnings
- --sysconfdir="/etc/cyberjack"
- $(use_enable static-libs static)
+ --sysconfdir="${EPREFIX}"/etc/cyberjack
$(use_enable threads)
$(use_enable udev)
$(use_enable xml xml2)
--with-usbdropdir="$($(tc-getPKG_CONFIG) libpcsclite --variable=usbdropdir)"
)
-
econf "${myeconfargs[@]}"
}
@@ -67,8 +62,8 @@ src_compile() {
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
+ emake -C tools/cjflash
+ emake -C tools/cjgeldkarte
fi
}
@@ -86,7 +81,7 @@ src_install() {
docinto source
dodoc doc/*.c*
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -type f -delete || die
}
pkg_postinst() {
diff --git a/dev-libs/cyrus-sasl/Manifest b/dev-libs/cyrus-sasl/Manifest
index e6f246ba2943..8114a68ae988 100644
--- a/dev-libs/cyrus-sasl/Manifest
+++ b/dev-libs/cyrus-sasl/Manifest
@@ -1,2 +1,2 @@
-DIST cyrus-sasl-2.1.28-r3-patches.tar.xz 4244 BLAKE2B 113da9bb58cce3643269fca88ea8d700aa20226d9536427c9068ef7b43499c2b78cbcb233d8db2418d84136c7edd629cc05f52b31cdfddfcb529f9a9fcb4effb SHA512 0cccbb27646dc118fbeea64b0cb688f312df97b31fced8c18d5230764cd5e2f0d48806bd2f5524aeddd02e8933cd835fb6f67dd3fbc1b0abfd1a3e1f0f53cf8a
+DIST cyrus-sasl-2.1.28-r4-patches.tar.xz 4452 BLAKE2B e75f89f0e4ce829b9b27ce0cf86d04e18e30cd851335a9be22235063b19731e312ab390be7b57f024b40074dc4d9373b520e4e9a22121dab9a5c4297378d8486 SHA512 33850bd3ac80721f2765414b19d1a3adaf92e973293910c0b19ef6fcdc3981a8abb3f4d6f487da71d1a7454375e77e3fafb892eace5aa37335841718fcc4c541
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-r4.ebuild b/dev-libs/cyrus-sasl/cyrus-sasl-2.1.28-r4.ebuild
index 14ebb5120992..395775bc63fb 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
@@ -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
@@ -6,12 +6,12 @@ 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"
+MY_PATCH_VER="${PN}-2.1.28-r4-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"
+SRC_URI+=" https://dev.gentoo.org/~grobian/distfiles/${MY_PATCH_VER}.tar.xz"
LICENSE="BSD-with-attribution"
SLOT="2"
@@ -60,7 +60,12 @@ src_prepare() {
src_configure() {
export CC_FOR_BUILD="$(tc-getBUILD_CC)"
- append-flags -fno-strict-aliasing
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/894684
+ # https://github.com/cyrusimap/cyrus-sasl/pull/771
+ #
+ # Fixed upstream in git master but not released.
+ use srp && filter-lto
if [[ ${CHOST} == *-solaris* ]] ; then
# getpassphrase is defined in /usr/include/stdlib.h
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..24adb05a6cde 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
@@ -7,7 +7,7 @@ inherit multilib-minimal
DESCRIPTION="Provides a C++ API for D-BUS"
HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/"
-SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/dbus-cplusplus/lib${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
@@ -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..48df7826265a 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
@@ -7,7 +7,7 @@ inherit multilib-minimal autotools virtualx
DESCRIPTION="Provides a C++ API for D-BUS"
HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/"
-SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/dbus-cplusplus/lib${P}.tar.gz"
LICENSE="LGPL-2.1+"
SLOT="0"
@@ -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 75bef2210dfa..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
@@ -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 91f8149a18d4..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
@@ -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
index c623afc293d7..2b29e61283f4 100644
--- a/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild
+++ b/dev-libs/distorm3/distorm3-3.5.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
DESCRIPTION="The ultimate disassembler library (X86-32, X86-64)"
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-5.6.5.ebuild b/dev-libs/dmalloc/dmalloc-5.6.5.ebuild
deleted file mode 100644
index 75f5f823673e..000000000000
--- a/dev-libs/dmalloc/dmalloc-5.6.5.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="A Debug Malloc Library"
-HOMEPAGE="https://dmalloc.com"
-SRC_URI="https://dmalloc.com/releases/${P}.tgz"
-
-LICENSE="CC-BY-SA-3.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="threads"
-
-BDEPEND="sys-apps/texinfo"
-
-PATCHES=(
- # - Build objects twice, once -fPIC for shared.
- # - Use DESTDIR.
- # - Fix SONAME and NEEDED.
- "${FILESDIR}"/${PN}-5.6.5-Makefile.in.patch
- # - Broken test, always returns false.
- "${FILESDIR}"/${PN}-5.5.2-cxx.patch
- "${FILESDIR}"/${PN}-5.6.5-configure-c99.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_test() {
- emake heavy
-}
-
-src_install() {
- default
-
- # add missing symlinks, lazy
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
- dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV%%.*}
-
- local lib
- for lib in cxx th thcxx; do
- dosym lib${PN}${lib}.so.${PV} /usr/$(get_libdir)/lib${PN}${lib}.so
- dosym lib${PN}${lib}.so.${PV} \
- /usr/$(get_libdir)/lib${PN}${lib}.so.${PV%%.*}
- done
-
- rm "${ED}"/usr/$(get_libdir)/lib${PN}*.a || die
-}
diff --git a/dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch b/dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch
deleted file mode 100644
index 2f28c6159218..000000000000
--- a/dev-libs/dmalloc/files/dmalloc-5.6.5-Makefile.in.patch
+++ /dev/null
@@ -1,343 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -42,7 +42,7 @@ LIBRARY = lib$(MODULE).a
-
- # thread version of the library
- LIB_TH = lib$(MODULE)th.a
--LIB_TH_SL = lib$(MODULE)th.@shlibext@
-+LIB_TH_SL = lib$(MODULE)th.@shlibext@.5.5.2
- @TH_ON@BUILD_ALL_1 = threads
- @TH_ON@INSTALL_LIB_1 = installth
- @SL_ON@BUILD_THREADS_1 = $(LIB_TH_SL)
-@@ -51,8 +51,8 @@ LIB_TH_SL = lib$(MODULE)th.@shlibext@
- @TH_ON@@SL_ON@INSTALL_LIB_2 = installthsl
-
- # C++ version of the library
--LIB_CXX = lib$(MODULE)xx.a
--LIB_CXX_SL = lib$(MODULE)xx.@shlibext@
-+LIB_CXX = lib$(MODULE)cxx.a
-+LIB_CXX_SL = lib$(MODULE)cxx.@shlibext@.5.5.2
- @CXX_ON@BUILD_ALL_3 = $(LIB_CXX)
- @CXX_ON@INSTALL_LIB_3 = installcxx
- @SL_ON@BUILD_CXX_3 = $(LIB_CXX_SL)
-@@ -62,7 +62,7 @@ LIB_CXX_SL = lib$(MODULE)xx.@shlibext@
-
- # threads + C++
- LIB_TH_CXX = lib$(MODULE)thcxx.a
--LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@
-+LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@.5.5.2
- @TH_ON@@CXX_ON@BUILD_ALL_5 = $(LIB_TH_CXX)
- @TH_ON@@CXX_ON@INSTALL_LIB_5 = installthcxx
- @TH_ON@BUILD_CXX_5 = $(LIB_TH_CXX)
-@@ -77,7 +77,7 @@ LIB_TH_CXX_SL = lib$(MODULE)thcxx.@shlibext@
- @CXX_ON@@SL_ON@INSTALL_THREADS_6 = installthcxxsl
-
- # shared versions of the libraries
--LIB_SL = lib$(MODULE).@shlibext@
-+LIB_SL = lib$(MODULE).@shlibext@.5.5.2
- @SL_ON@BUILD_ALL_7 = $(LIB_SL)
- @SL_ON@INSTALL_LIB_7 = installsl
- @SL_ON@BUILD_TH_CXX_7 = $(LIB_TH_CXX_SL)
-@@ -150,9 +150,14 @@ SHELL = /bin/sh
-
- HFLS = dmalloc.h
- OBJS = append.o arg_check.o compat.o dmalloc_rand.o dmalloc_tab.o env.o heap.o
-+OBJS_SL = arg_check_sl.o compat_sl.o dmalloc_rand_sl.o dmalloc_tab_sl.o env_sl.o heap_sl.o
-+
- NORMAL_OBJS = chunk.o error.o user_malloc.o
-+NORMAL_OBJS_SL = chunk_sl.o error_sl.o user_malloc_sl.o
- THREAD_OBJS = chunk_th.o error_th.o user_malloc_th.o
-+THREAD_OBJS_SL = chunk_th_sl.o error_th_sl.o malloc_th_sl.o
- CXX_OBJS = dmallocc.o
-+CXX_OBJS_SL = dmallocc_sl.o
-
- CFLAGS = $(CCFLAGS)
- TEST = $(MODULE)_t
-@@ -165,9 +170,9 @@ all : $(BUILD_ALL)
-
- clean :
- rm -f $(A_OUT) core *.o *.t
-- rm -f $(LIBRARY) $(LIB_TH) $(LIB_CXX) $(LIB_TH_CXX) $(TEST) $(TEST_FC)
-- rm -f $(LIB_TH_SL) $(LIB_CXX_SL) $(LIB_TH_CXX_SL) $(LIB_SL)
-+ rm -f $(TEST) $(TEST_FC)
- rm -f $(UTIL) dmalloc.h
-+ rm -f lib$(MODULE)*.*
-
- realclean : clean
-
-@@ -182,65 +187,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) $(DESTDIR)$(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
-@@ -297,10 +302,8 @@ shlib : $(BUILD_SL)
-
- # NOTE: you may have to edit the configure.ac script to get this to
- # work on your operating system. Please send feedback to the author
--$(LIB_SL) : $(LIBRARY)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIBRARY)
-- mv $@.t $@
-+$(LIB_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmalloc.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL)
-
- $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
- ar cr $@ $?
-@@ -310,32 +313,26 @@ $(LIB_TH) : $(OBJS) $(THREAD_OBJS)
- ar cr $@ $?
- @RANLIB@ $@
-
--$(LIB_TH_SL) : $(LIB_TH)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIB_TH)
-- mv $@.t $@
-+$(LIB_TH_SL) : $(OBJS_SL) $(THREAD_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmallocth.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL)
-
- $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
- ar cr $@ $?
- @RANLIB@ $@
-
--$(LIB_CXX_SL) : $(LIB_CXX)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIB_CXX)
-- mv $@.t $@
-+$(LIB_CXX_SL) : $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmalloccxx.so.5 -o $@ $(OBJS_SL) $(NORMAL_OBJS_SL) $(CXX_OBJS_SL)
-
- $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
- ar cr $@ $?
- @RANLIB@ $@
-
--$(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
-- rm -f $@ $@.t
-- @shlinkargs@ $(LIB_TH_CXX)
-- mv $@.t $@
-+$(LIB_TH_CXX_SL) : $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
-+ $(CC) -shared -Wl,-soname,libdmallocthcxx.so.5 -o $@ $(OBJS_SL) $(THREAD_OBJS_SL) $(CXX_OBJS_SL)
-
--threadssl : $(LIB_TH_SL)
-+threadssl : $(LIB_TH_SL)$(ver)
-
--threadscxxsl : $(LIB_TH_CXX_SL)
-+threadscxxsl : $(LIB_TH_CXX_SL)$(ver)
-
- threadscxx : $(BUILD_TH_CXX)
- @SL_OFF@ @echo "Enter 'make threadscxxsl' to build the threaded C++ shared-library"
-@@ -344,7 +341,7 @@ threads : $(BUILD_THREADS)
- @CXX_OFF@ @echo "Enter 'make threadscxx' to build the threaded C++ library"
- @SL_OFF@ @echo "Enter 'make threadssl' to build the threaded shared library"
-
--cxxsl : $(LIB_CXX_SL)
-+cxxsl : $(LIB_CXX_SL)$(ver)
-
- cxx : $(BUILD_CXX)
- @SL_OFF@ @echo "Enter 'make cxxsl' to build the cxx shared library"
-@@ -404,6 +401,11 @@ heavy : $(TEST) light
- rm -f $@
- $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
-
-+dmallocc_sl.o : $(srcdir)/dmallocc.cc dmalloc.h
-+ rm -f $@
-+ $(CXX) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $(srcdir)/dmallocc.cc \
-+ -o ./$@
-+
- #
- # .cc.o auto-target doesn't work on some systems.
- # also, $? did not work on OSF for the -c, grrr
-@@ -434,39 +436,108 @@ append.o: append.c conf.h settings.h dmalloc.h append.h compat.h \
- dmalloc_loc.h
- arg_check.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
- dmalloc_loc.h error.h arg_check.h
-+arg_check_sl.o: arg_check.c conf.h settings.h dmalloc.h chunk.h debug_tok.h \
-+ dmalloc_loc.h error.h arg_check.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- chunk.o: chunk.c conf.h settings.h dmalloc.h append.h chunk.h chunk_loc.h \
- dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h \
- error.h error_val.h heap.h
-+chunk_sl.o: chunk.c conf.h settings.h dmalloc.h append.h chunk.h chunk_loc.h \
-+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h \
-+ error.h error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- compat.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
-+compat_sl.o: compat.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h append.h \
- compat.h debug_tok.h dmalloc_loc.h env.h error_val.h version.h
-+dmalloc_sl.o: dmalloc.c conf.h settings.h dmalloc_argv.h dmalloc.h compat.h \
-+ debug_tok.h dmalloc_loc.h env.h error_val.h version.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_argv.o: dmalloc_argv.c conf.h settings.h append.h dmalloc_argv.h \
- dmalloc_argv_loc.h compat.h
-+dmalloc_argv_sl.o: dmalloc_argv.c conf.h settings.h dmalloc_argv.h \
-+ dmalloc_argv_loc.h compat.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_fc_t.o: dmalloc_fc_t.c conf.h settings.h dmalloc.h dmalloc_argv.h \
- dmalloc_rand.h debug_tok.h dmalloc_loc.h error_val.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_rand.o: dmalloc_rand.c dmalloc_rand.h
-+dmalloc_rand_sl.o: dmalloc_rand.c dmalloc_rand.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_t.o: dmalloc_t.c conf.h settings.h append.h compat.h dmalloc.h \
- dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
- error_val.h heap.h
-+dmalloc_t_sl.o: dmalloc_t.c conf.h settings.h compat.h dmalloc.h \
-+ dmalloc_argv.h dmalloc_rand.h arg_check.h debug_tok.h dmalloc_loc.h \
-+ error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmalloc_tab.o: dmalloc_tab.c conf.h settings.h append.h chunk.h compat.h \
- dmalloc.h dmalloc_loc.h dmalloc_tab.h dmalloc_tab_loc.h
-+dmalloc_tab_sl.o: dmalloc_tab.c conf.h settings.h chunk.h compat.h dmalloc.h \
-+ dmalloc_loc.h error.h error_val.h dmalloc_tab.h dmalloc_tab_loc.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- env.o: env.c conf.h settings.h dmalloc.h append.h compat.h dmalloc_loc.h \
- debug_tok.h env.h error.h
-+env_sl.o: env.c conf.h settings.h dmalloc.h compat.h dmalloc_loc.h \
-+ debug_tok.h env.h error.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- error.o: error.c conf.h settings.h dmalloc.h append.h chunk.h compat.h \
- debug_tok.h dmalloc_loc.h env.h error.h error_val.h version.h
-+error_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
-+ dmalloc_loc.h env.h error.h error_val.h version.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- heap.o: heap.c conf.h settings.h dmalloc.h append.h chunk.h compat.h \
- debug_tok.h dmalloc_loc.h error.h error_val.h heap.h
-+heap_sl.o: heap.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
-+ dmalloc_loc.h error.h error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- protect.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
- heap.h protect.h
-+protect_sl.o: protect.c conf.h settings.h dmalloc.h dmalloc_loc.h error.h \
-+ heap.h protect.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- user_malloc.o: user_malloc.c conf.h settings.h dmalloc.h append.h chunk.h \
- compat.h debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
- user_malloc.h return.h
-+user_malloc_sl.o: user_malloc.c conf.h settings.h dmalloc.h append.h chunk.h \
-+ compat.h debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
-+ user_malloc.h return.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- dmallocc.o: dmallocc.cc dmalloc.h return.h conf.h settings.h
- chunk_th.o: chunk.c conf.h settings.h dmalloc.h append.h chunk.h chunk_loc.h \
- dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h \
- error.h error_val.h heap.h
-+chunk_th_sl.o: chunk.c conf.h settings.h dmalloc.h chunk.h chunk_loc.h \
-+ dmalloc_loc.h compat.h debug_tok.h dmalloc_rand.h dmalloc_tab.h error.h \
-+ error_val.h heap.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- error_th.o: error.c conf.h settings.h dmalloc.h append.h chunk.h compat.h \
- debug_tok.h dmalloc_loc.h env.h error.h error_val.h version.h
-+error_th_sl.o: error.c conf.h settings.h dmalloc.h chunk.h compat.h debug_tok.h \
-+ dmalloc_loc.h env.h error.h error_val.h version.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
- user_malloc_th.o: user_malloc.c conf.h settings.h dmalloc.h append.h chunk.h \
- compat.h debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
- user_malloc.h return.h
-+user_malloc_th_sl.o: malloc.c conf.h settings.h dmalloc.h chunk.h compat.h \
-+ debug_tok.h dmalloc_loc.h env.h error.h error_val.h heap.h \
-+ malloc_funcs.h return.h
-+ rm -f $@
-+ $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(DEFS) $(INCS) -c $< -o ./$@
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
index f4c4904a235e..4f5e6339d8aa 100644
--- a/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
+++ b/dev-libs/dmalloc/files/dmalloc-5.6.5-configure-c99.patch
@@ -1,6 +1,12 @@
+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
-@@ -482,19 +482,20 @@ AC_MSG_RESULT([$ac_cv_pnt_arith_type])
+@@ -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([[
@@ -24,7 +30,7 @@
/* it should be already 0s */
start = malloc (number * size);
pnt = start;
-@@ -504,7 +505,7 @@ char *calloc (int number, int size) {
+@@ -508,7 +509,7 @@ char *calloc (int number, int size) {
}
char *realloc (char *old_pnt, int new_size) {
char *start, *pnt, *end;
@@ -33,7 +39,15 @@
start = malloc (new_size);
pnt = start;
end = start + new_size;
-@@ -647,6 +648,7 @@ fi
+@@ -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([[
@@ -41,7 +55,7 @@
/* 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); }
-@@ -662,6 +664,7 @@ int main() { return 1; }
+@@ -666,6 +669,7 @@ int main() { return 1; }
#
AC_MSG_CHECKING([destructor attribute])
AC_RUN_IFELSE([AC_LANG_SOURCE([[
@@ -49,13 +63,6 @@
/* 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); }
---- a/configure.ac
-+++ b/configure.ac
-@@ -546,6 +546,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) {
- }
+--
+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/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/Manifest b/dev-libs/double-conversion/Manifest
index 3d6f44d7022d..6ee55e888de8 100644
--- a/dev-libs/double-conversion/Manifest
+++ b/dev-libs/double-conversion/Manifest
@@ -1 +1 @@
-DIST double-conversion-3.2.1.tar.gz 7032718 BLAKE2B 4f6fe334388b6cb0ba5edbbef761764bfe36feb83cf73281a4f5e8bb64c96923f3e33919678fe29885de0bc3b388a6e0e91f871808c215d8a3e5cc778325fa01 SHA512 d2feb3098a1d4d6baab5f89bcc29ac2e06d314d552b8c747c6eb6dba5dd165a15dc71200191edb7f05d521c349e12d59cddba3c5db101e1623e0e76e19f21a49
+DIST double-conversion-3.3.0.tar.gz 7033266 BLAKE2B 6eebc85f257ff0bd403ecc32f4ee8d297e3883e0d66f28e004fb71d6d2cfff313e0eeef661896e0985d574e354ad45a293238533116b7d78caafd64ae63de9cd SHA512 51e84eb7a5c407f7bc8f8b8ca19932ece5c9d8ac18aedff7b7620fc67369d9b2aa8c5a6b133e7f8633d7cc5e3788bad6e60b0e48ac08d0a4bc5e4abe7cee1334
diff --git a/dev-libs/double-conversion/double-conversion-3.2.1.ebuild b/dev-libs/double-conversion/double-conversion-3.3.0.ebuild
index b20b805cabb1..891fb601abb3 100644
--- a/dev-libs/double-conversion/double-conversion-3.2.1.ebuild
+++ b/dev-libs/double-conversion/double-conversion-3.3.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
@@ -6,8 +6,11 @@ EAPI=8
inherit cmake
DESCRIPTION="Binary-decimal and decimal-binary conversion routines for IEEE doubles"
-HOMEPAGE="https://github.com/google/double-conversion"
-SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/google/double-conversion/"
+SRC_URI="
+ https://github.com/google/double-conversion/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="BSD"
SLOT="0/3"
diff --git a/dev-libs/double-conversion/metadata.xml b/dev-libs/double-conversion/metadata.xml
index effa1fa56fc4..87b47ae3b9ce 100644
--- a/dev-libs/double-conversion/metadata.xml
+++ b/dev-libs/double-conversion/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<maintainer type="project">
<email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
</maintainer>
<longdescription lang="en">
This library consists of efficient conversion routines that have
diff --git a/dev-libs/dqlite/Manifest b/dev-libs/dqlite/Manifest
index 86f3b2c832d5..0bf7f61c62bb 100644
--- a/dev-libs/dqlite/Manifest
+++ b/dev-libs/dqlite/Manifest
@@ -1 +1 @@
-DIST dqlite-1.16.0.tar.gz 216776 BLAKE2B 653eac56c237e466f8b57d43a62ad25b7b3bd72a2088345f66db53b6bce5cdd528d16f3440572e5af8536fafde3f3cbb7700898479f1cd62b273e2192160ad15 SHA512 f9bc7ea3021d72bd81fe487d1c11b86a566002e2b1ddf6000b0fd54e407746ac35af079afc508d9d752de774dfee33c5c6e54c40c7884ac67a3bc7dca14ea362
+DIST dqlite-1.16.4.tar.gz 499174 BLAKE2B 3a5f28dd352ada1d0866d3563c450aad10413118a30fc9369aaadc5f46acefaa8f28e21118e71ef3eb801c51c9946664882d82a15eff71eefbbd51f6fd68c4b3 SHA512 164a63ce9224b9a4f10d2312ac03e98ccdec8c6c4fe22e6fc595dc792f9a7c75317cf8e839eb31a8db2501a094d67053300532a92bca26c86ef5097dd3c06a2b
diff --git a/dev-libs/dqlite/dqlite-1.16.0.ebuild b/dev-libs/dqlite/dqlite-1.16.4-r1.ebuild
index 7a76fcbeee18..c11ab433bcc7 100644
--- a/dev-libs/dqlite/dqlite-1.16.0.ebuild
+++ b/dev-libs/dqlite/dqlite-1.16.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,14 +12,13 @@ SRC_URI="https://github.com/canonical/dqlite/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="LGPL-3-with-linking-exception"
SLOT="0/1.15.1"
KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="test"
+IUSE="+lz4 test"
RESTRICT="!test? ( test )"
RDEPEND="dev-db/sqlite:3
dev-libs/libuv:=
- >=dev-libs/raft-0.17.1:="
-DEPEND="${RDEPEND}
- test? ( dev-libs/raft[lz4,test] )"
+ lz4? ( app-arch/lz4:= )"
+DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
@@ -36,8 +35,13 @@ src_configure() {
--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[@]}"
diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild
index 166ef2ab8823..806fe0946869 100644
--- a/dev-libs/dynolog/dynolog-0.3.1_p20230126.ebuild
+++ b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Partially auto-Generated by cargo-ebuild 0.5.4-r1
@@ -58,20 +58,34 @@ RESTRICT="!test? ( test )"
DEPEND="dev-cpp/gflags
dev-cpp/gtest
dev-cpp/glog
+ dev-libs/pfs
net-misc/curl"
RDEPEND="${DEPEND}"
-BDEPEND=""
+
+# 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" "KernelCollecterTest.NetworkStatsTest" )
+
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
+ cmake_comment_add_subdirectory third_party/pfs
+ rm -r third_party/googletest || die
+ rm -r third_party/pfs || die
}
src_configure() {
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
index 3d334ce96d5f..fb915902b4cd 100644
--- a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-noWerror.patch
@@ -9,3 +9,14 @@
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/editline/Manifest b/dev-libs/editline/Manifest
index ae0a7cb6a6ea..b6d493b3ce9b 100644
--- a/dev-libs/editline/Manifest
+++ b/dev-libs/editline/Manifest
@@ -1 +1,2 @@
DIST editline-1.17.1.tar.xz 252196 BLAKE2B ae25ebc8efcc5ddf7d68553b6a5d93738e4fbf67c556b4089ace7386cb70058f36137d99df2385e324b36a285aa319b49e1c2eb82059d99d511c43c70f55ce11 SHA512 9b3f5f4a833e9e38c4f99d2e7f8d2716d4db74b6a2d3362e6c513505ff17a79044496405458835d508efd79cbe9046f3c1db602aaad210926312c22057145d35
+DIST editline-1.17.1_p20240527.tar.gz 45801 BLAKE2B d9a529f72a6b0f5e70b12f96902405c0600c187a21a6af328763e9bfc7b47fcde862e523380ccc3fb3472f131a8f6c51adbd41c54ef4c2d681cf7f46a809f8c1 SHA512 e12221864432f2da75715737a2fe687eb5af17fb96f689c69e17a728802140ff908355017627a0e5ff9fcc2e78376a3f9bd1fdb335394140016c6e2939c5a77b
diff --git a/dev-libs/editline/editline-1.17.1-r1.ebuild b/dev-libs/editline/editline-1.17.1-r1.ebuild
new file mode 100644
index 000000000000..72f6f005b20b
--- /dev/null
+++ b/dev-libs/editline/editline-1.17.1-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="line editing library for UNIX call compatible with the FSF readline"
+HOMEPAGE="https://troglobit.com/projects/editline/
+ https://github.com/troglobit/editline/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/troglobit/${PN}.git"
+else
+ SRC_URI="https://github.com/troglobit/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/1.0.2"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.16.0-rename-man.patch"
+)
+
+src_prepare() {
+ default
+
+ # To avoid collision with dev-libs/libedit
+ # we rename man/editline.3 to man/libeditline.3
+ mv man/editline.3 man/libeditline.3 || die
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ find "${D}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/editline/editline-1.17.1.ebuild b/dev-libs/editline/editline-1.17.1.ebuild
deleted file mode 100644
index eed9640bbec9..000000000000
--- a/dev-libs/editline/editline-1.17.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
-
-DESCRIPTION="line editing library for UNIX call compatible with the FSF readline"
-HOMEPAGE="https://troglobit.com/projects/editline/"
-SRC_URI="https://github.com/troglobit/editline/releases/download/${PV}/${P}.tar.xz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=""
-
-PATCHES=("${FILESDIR}"/${PN}-1.16.0-rename-man.patch)
-
-src_prepare() {
- default
-
- # To avoid collision with dev-libs/libedit
- # we rename man/editline.3 to man/libeditline.3
- mv man/editline.3 man/libeditline.3 || die
-}
-
-src_configure() {
- econf --disable-static
-}
-
-src_install() {
- default
-
- # package installs .pc file
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/editline/editline-1.17.1_p20240527.ebuild b/dev-libs/editline/editline-1.17.1_p20240527.ebuild
new file mode 100644
index 000000000000..5bb5cf61df41
--- /dev/null
+++ b/dev-libs/editline/editline-1.17.1_p20240527.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="line editing library for UNIX call compatible with the FSF readline"
+HOMEPAGE="https://troglobit.com/projects/editline/
+ https://github.com/troglobit/editline/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/troglobit/${PN}.git"
+else
+ [[ "${PV}" == *p20240527 ]] && COMMIT="caf4b3c0ce3b0785791198b11de6f3134e9f05d8"
+
+ SRC_URI="https://github.com/troglobit/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/1.0.2"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.17.1_p20240527-rename-man.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # To avoid collision with dev-libs/libedit
+ # we rename man/editline.3 to man/libeditline.3
+ mv man/editline.3 man/libeditline.3 || die
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+
+ find "${D}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/editline/files/editline-1.17.1_p20240527-rename-man.patch b/dev-libs/editline/files/editline-1.17.1_p20240527-rename-man.patch
new file mode 100644
index 000000000000..d7b6aec5e55c
--- /dev/null
+++ b/dev-libs/editline/files/editline-1.17.1_p20240527-rename-man.patch
@@ -0,0 +1,11 @@
+To avoid collision with dev-libs/libedit
+we rename man/editline.3 to man/libeditline.3
+
+This patch also needs a rename from outside the patch:
+ $ mv man/editline.3 man/libeditline.3
+
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -3,1 +3,1 @@
+-dist_man_MANS = editline.3
++dist_man_MANS = libeditline.3
diff --git a/dev-libs/editline/metadata.xml b/dev-libs/editline/metadata.xml
index 94a7a4cd944f..f0044c4e5ed8 100644
--- a/dev-libs/editline/metadata.xml
+++ b/dev-libs/editline/metadata.xml
@@ -1,8 +1,21 @@
<?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">troglobit/editline</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ Editline is a line editing library for UNIX. It can be linked into
+ almost any program to provide command line editing and history. It is
+ call compatible with the FSF readline library, but is a fraction of the
+ size (and offers fewer features). The small size, lack of dependencies
+ and the free license should make this library interesting to many
+ embedded developers seeking a replacement for the GNU readline library.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/troglobit/editline/issues/</bugs-to>
+ <remote-id type="github">troglobit/editline</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild b/dev-libs/eekboard/eekboard-1.0.8_p20121001-r1.ebuild
index 504d5165d857..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..11} )
+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-r2.ebuild b/dev-libs/efl/efl-1.27.0-r1.ebuild
index 0e1e9b566be1..f64a6f6f2aac 100644
--- a/dev-libs/efl/efl-1.26.3-r2.ebuild
+++ b/dev-libs/efl/efl-1.27.0-r1.ebuild
@@ -1,18 +1,14 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 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"
+EAPI=8
LUA_REQ_USE="deprecated(+)"
LUA_COMPAT=( lua5-{1,2} luajit )
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
-inherit docs lua-single meson python-any-r1 xdg
+inherit lua-single meson python-any-r1 xdg
DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
HOMEPAGE="https://www.enlightenment.org"
@@ -21,17 +17,18 @@ 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"
+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 )
@@ -44,6 +41,7 @@ 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:=
@@ -51,7 +49,7 @@ RDEPEND="${LUA_DEPS}
sys-apps/dbus
sys-libs/zlib
X? (
- !opengl? ( media-libs/mesa[egl(+),gles2] )
+ !opengl? ( media-libs/libglvnd )
media-libs/freetype
x11-libs/libX11
x11-libs/libXScrnSaver
@@ -84,8 +82,6 @@ RDEPEND="${LUA_DEPS}
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
@@ -95,6 +91,7 @@ RDEPEND="${LUA_DEPS}
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 )
@@ -116,7 +113,8 @@ RDEPEND="${LUA_DEPS}
vnc? ( net-libs/libvncserver )
wayland? (
dev-libs/wayland
- media-libs/mesa[gles2,wayland]
+ media-libs/libglvnd
+ media-libs/mesa[wayland]
x11-libs/libxkbcommon
)
webp? ( media-libs/libwebp:= )
@@ -128,15 +126,12 @@ DEPEND="${RDEPEND}
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 )"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.26.3-libressl.patch #903001
- "${FILESDIR}"/efl-1.26.3-gettext-0.22-fix.patch
-)
-
pkg_setup() {
# Deprecated, provided for backward-compatibility. Everything is moved to libefreet.so.
QA_FLAGS_IGNORED="/usr/$(get_libdir)/libefreet_trash.so.${PV}
@@ -154,17 +149,6 @@ src_prepare() {
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[*]}
@@ -172,8 +156,6 @@ src_prepare() {
src_configure() {
local emesonargs=(
- --buildtype=plain
-
-D buffer=false
-D build-tests=false
-D cocoa=false
@@ -183,7 +165,6 @@ src_configure() {
-D dotnet=false
-D pixman=false
-D wl-deprecated=false
- -D dotnet-stylecop-severity=Warning
-D edje-sound-and-video=true
-D eeze=true
@@ -194,8 +175,12 @@ src_configure() {
-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)
@@ -237,12 +222,6 @@ src_configure() {
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
@@ -258,6 +237,7 @@ src_configure() {
! 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,"
@@ -304,7 +284,6 @@ src_configure() {
}
src_compile() {
- docs_compile
meson_src_compile
}
diff --git a/dev-libs/efl/files/efl-1.26.3-gettext-0.22-fix.patch b/dev-libs/efl/files/efl-1.26.3-gettext-0.22-fix.patch
deleted file mode 100644
index 1bce74f76fec..000000000000
--- a/dev-libs/efl/files/efl-1.26.3-gettext-0.22-fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 155842cf9e726009e9eb4ec04d8a176cd990fdcb Mon Sep 17 00:00:00 2001
-From: dimmus <dmitri.chudinov@gmail.com>
-Date: Mon, 14 Aug 2023 21:39:05 +0500
-Subject: [PATCH] examples: edje - add charset header to po files.
-
-Solved compilation error with novel gettext-0.22.
-@fix
----
- src/examples/edje/en_IN/domain_name.po | 5 +++++
- src/examples/edje/hi_IN/domain_name.po | 5 +++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/src/examples/edje/en_IN/domain_name.po b/src/examples/edje/en_IN/domain_name.po
-index f461123404..131579ee36 100644
---- a/src/examples/edje/en_IN/domain_name.po
-+++ b/src/examples/edje/en_IN/domain_name.po
-@@ -1,3 +1,8 @@
-+msgid ""
-+msgstr ""
-+"Content-Type: text/plain; charset=UTF-8\n"
-+"Content-Transfer-Encoding: UTF-8\n"
-+
- msgid "LOADING"
- msgstr "Loading..."
-
-diff --git a/src/examples/edje/hi_IN/domain_name.po b/src/examples/edje/hi_IN/domain_name.po
-index 809cf6f399..fcb0e85d00 100644
---- a/src/examples/edje/hi_IN/domain_name.po
-+++ b/src/examples/edje/hi_IN/domain_name.po
-@@ -1,3 +1,8 @@
-+msgid ""
-+msgstr ""
-+"Content-Type: text/plain; charset=UTF-8\n"
-+"Content-Transfer-Encoding: UTF-8\n"
-+
- msgid "LOADING"
- msgstr "लोड हो रहा है..."
-
diff --git a/dev-libs/efl/files/efl-1.26.3-libressl.patch b/dev-libs/efl/files/efl-1.26.3-libressl.patch
deleted file mode 100644
index 6bb1b6bb83e3..000000000000
--- a/dev-libs/efl/files/efl-1.26.3-libressl.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-https://bugs.gentoo.org/903001
-https://git.enlightenment.org/enlightenment/efl/pulls/10
-https://git.enlightenment.org/enlightenment/efl/commit/bdd5b244e6a6161228f4a98210cefd9ef8a12e85
-https://git.enlightenment.org/enlightenment/efl/commit/0e22417f4579333a967fb5ce65ab339dfc066753
-
-From bdd5b244e6a6161228f4a98210cefd9ef8a12e85 Mon Sep 17 00:00:00 2001
-From: orbea <orbea@riseup.net>
-Date: Mon, 4 Jul 2022 09:05:38 -0700
-Subject: [PATCH] Support LibreSSL 3.5.x
-
-LibreSSL 3.5.x now works with the standard OpenSSL code paths.
----
- src/lib/ecore_con/efl_net_ssl_conn-openssl.c | 12 ++++++------
- src/lib/eet/eet_cipher.c | 8 ++++----
- src/lib/emile/emile_cipher_openssl.c | 14 +++++++-------
- 3 files changed, 17 insertions(+), 17 deletions(-)
-
-From 0e22417f4579333a967fb5ce65ab339dfc066753 Mon Sep 17 00:00:00 2001
-From: "Carsten Haitzler (Rasterman)" <raster@rasterman.com>
-Date: Mon, 1 Aug 2022 17:35:52 +0100
-Subject: [PATCH] eet emile - cipher - add braces for if defines to be clear on
- order of op
-
----
- src/lib/ecore_con/efl_net_ssl_conn-openssl.c | 12 ++++++------
- src/lib/eet/eet_cipher.c | 8 ++++----
- src/lib/emile/emile_cipher_openssl.c | 10 +++++-----
- 3 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/src/lib/ecore_con/efl_net_ssl_conn-openssl.c b/src/lib/ecore_con/efl_net_ssl_conn-openssl.c
-index e59c6811c9..56c8a595eb 100644
---- a/src/lib/ecore_con/efl_net_ssl_conn-openssl.c
-+++ b/src/lib/ecore_con/efl_net_ssl_conn-openssl.c
-@@ -27,7 +27,7 @@
- static int
- efl_net_socket_bio_create(BIO *b)
- {
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- BIO_set_init(b, 1);
- BIO_set_data(b, NULL);
- BIO_set_flags(b, 0);
-@@ -44,7 +44,7 @@ static int
- efl_net_socket_bio_destroy(BIO *b)
- {
- if (!b) return 0;
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- BIO_set_init(b, 0);
- BIO_set_data(b, NULL);
- BIO_set_flags(b, 0);
-@@ -63,7 +63,7 @@ efl_net_socket_bio_read(BIO *b, char *buf, int len)
- .mem = buf,
- .len = len
- };
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- Eo *sock = BIO_get_data(b);
- #else
- Eo *sock = b->ptr;
-@@ -99,7 +99,7 @@ efl_net_socket_bio_write(BIO *b, const char *buf, int len)
- .mem = buf,
- .len = len
- };
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- Eo *sock = BIO_get_data(b);
- #else
- Eo *sock = b->ptr;
-@@ -146,7 +146,7 @@ efl_net_socket_bio_puts(BIO *b, const char *str)
- static BIO_METHOD *
- __efl_net_socket_bio_get(void)
- {
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- static BIO_METHOD *efl_net_socket_bio = NULL;
-
- if (efl_net_socket_bio) return efl_net_socket_bio;
-@@ -359,7 +359,7 @@ efl_net_ssl_conn_setup(Efl_Net_Ssl_Conn *conn, Eina_Bool is_dialer, Efl_Net_Sock
- conn->bio = BIO_new(__efl_net_socket_bio_get());
- EINA_SAFETY_ON_NULL_GOTO(conn->bio, error_bio);
-
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- BIO_set_data(conn->bio, sock);
- #else
- conn->bio->ptr = sock;
-diff --git a/src/lib/eet/eet_cipher.c b/src/lib/eet/eet_cipher.c
-index 025750cc98..30501b99e1 100644
---- a/src/lib/eet/eet_cipher.c
-+++ b/src/lib/eet/eet_cipher.c
-@@ -472,7 +472,7 @@ eet_identity_sign(FILE *fp,
- gnutls_datum_t signum = { NULL, 0 };
- gnutls_privkey_t privkey;
- # else /* ifdef HAVE_GNUTLS */
--# if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+# if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- EVP_MD_CTX *md_ctx;
- # else
- EVP_MD_CTX md_ctx;
-@@ -562,7 +562,7 @@ eet_identity_sign(FILE *fp,
- }
-
- /* Do the signature. */
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && (!defined(LIBRESSL_VERSION_NUMBER)))
- md_ctx = EVP_MD_CTX_new();
- if (!md_ctx)
- {
-@@ -756,7 +756,7 @@ eet_identity_check(const void *data_base,
- const unsigned char *tmp;
- EVP_PKEY *pkey;
- X509 *x509;
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- EVP_MD_CTX *md_ctx;
- #else
- EVP_MD_CTX md_ctx;
-@@ -779,7 +779,7 @@ eet_identity_check(const void *data_base,
- }
-
- /* Verify the signature */
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- md_ctx = EVP_MD_CTX_new();
- if (!md_ctx)
- {
-diff --git a/src/lib/emile/emile_cipher_openssl.c b/src/lib/emile/emile_cipher_openssl.c
-index e5a1ed4135..7fed417d3f 100644
---- a/src/lib/emile/emile_cipher_openssl.c
-+++ b/src/lib/emile/emile_cipher_openssl.c
-@@ -45,12 +45,12 @@ struct _Emile_SSL
- Eina_Bool
- _emile_cipher_init(void)
- {
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
- ERR_load_crypto_strings();
- SSL_library_init();
- SSL_load_error_strings();
- OpenSSL_add_all_algorithms();
--#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */
-+#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER < 0x3050000fL */
-
- return EINA_TRUE;
- }
-@@ -73,7 +73,7 @@ emile_binbuf_sha1(const Eina_Binbuf * data, unsigned char digest[20])
- {
- const EVP_MD *md = EVP_sha1();
- Eina_Slice slice = eina_binbuf_slice_get(data);
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) || ((OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER))
- EVP_MD_CTX *ctx = EVP_MD_CTX_new();
- if (!ctx) return EINA_FALSE;
-
-@@ -196,7 +196,7 @@ on_error:
- memset(ik, 0, sizeof (ik));
-
- /* Openssl error */
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
- if (ctx)
- EVP_CIPHER_CTX_cleanup(ctx);
- #else
-@@ -204,7 +204,7 @@ on_error:
- EVP_CIPHER_CTX_cleanup(ctx);
- EVP_CIPHER_CTX_free(ctx);
- }
--#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */
-+#endif /* if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER < 0x3050000fL */
-
-
- free(buffer);
-@@ -331,7 +331,7 @@ emile_cipher_server_listen(Emile_Cipher_Type t)
- SSL_CTX_set_options(r->ssl_ctx,
- options | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
- break;
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
- case EMILE_TLSv1:
- r->ssl_ctx = SSL_CTX_new(TLSv1_server_method());
- break;
-@@ -780,7 +780,7 @@ emile_cipher_server_connect(Emile_Cipher_Type t)
- options | SSL_OP_NO_SSLv2 | SSL_OP_SINGLE_DH_USE);
- break;
- case EMILE_TLSv1:
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || (LIBRESSL_VERSION_NUMBER < 0x3050000fL)
- r->ssl_ctx = SSL_CTX_new(TLSv1_client_method());
- break;
- #endif
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index 66c4bb18aecd..c9977594e891 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -1,4 +1,4 @@
-DIST elfutils-0.189.tar.bz2 9143169 BLAKE2B 30596271e14cf3408326abc38a9775b849b8cb0ee119a5455df9434a7d3b9a57afb15e0236a179a26c7bd400d303749964c9d6350c419f747784fd99d12517e0 SHA512 93a877e34db93e5498581d0ab2d702b08c0d87e4cafd9cec9d6636dfa85a168095c305c11583a5b0fb79374dd93bc8d0e9ce6016e6c172764bcea12861605b71
-DIST elfutils-0.189.tar.bz2.sig 310 BLAKE2B d4155de64b15a9ab5c497cd603e73bf918eb1117de36cf28f8ddb50ccb4874fb24cffdf44bcbbc028b2ef3f64562960bf11a431274d861f9db96e3d865b37ec2 SHA512 2016c5f0ccd16f7feb0c825164bb18b2f1afad17dcd39d9f159429360fe4afd645665f612397d48bde191a1e59bb8352e2d065d61d7f649b929c3a7e7bfe8dd0
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.190.ebuild b/dev-libs/elfutils/elfutils-0.190.ebuild
index 857fb2fd495e..48128a1d751e 100644
--- a/dev-libs/elfutils/elfutils-0.190.ebuild
+++ b/dev-libs/elfutils/elfutils-0.190.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2003-2023 Gentoo Authors
+# Copyright 2003-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd"
RESTRICT="!test? ( test )"
@@ -41,7 +41,7 @@ DEPEND="
${RDEPEND}
"
BDEPEND="
- >=sys-devel/flex-2.5.4a
+ app-alternatives/lex
sys-devel/m4
virtual/pkgconfig
nls? ( sys-devel/gettext )
diff --git a/dev-libs/elfutils/elfutils-0.189-r4.ebuild b/dev-libs/elfutils/elfutils-0.191-r1.ebuild
index 4fbcbbab5b6d..d46e6f245602 100644
--- a/dev-libs/elfutils/elfutils-0.189-r4.ebuild
+++ b/dev-libs/elfutils/elfutils-0.191-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2003-2023 Gentoo Authors
+# Copyright 2003-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2.
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 debuginfod lzma nls static-libs test +utils zstd"
RESTRICT="!test? ( test )"
@@ -41,34 +41,28 @@ DEPEND="
${RDEPEND}
"
BDEPEND="
- >=sys-devel/flex-2.5.4a
+ app-alternatives/lex
sys-devel/m4
virtual/pkgconfig
nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-elfutils )
+ verify-sig? ( >=sec-keys/openpgp-keys-elfutils-20240301 )
"
PATCHES=(
- "${FILESDIR}"/${PN}-0.189-PaX-support.patch
- "${FILESDIR}"/${PN}-0.189-skip-DT_RELR-failing-tests.patch
"${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
- "${FILESDIR}"/${PN}-0.189-musl-macros.patch
- "${FILESDIR}"/${P}-configure-bashisms.patch
- "${FILESDIR}"/${P}-clang16-tests.patch
- "${FILESDIR}"/${P}-tests-run-lfs-symbols.sh-needs-gawk.patch
- "${FILESDIR}"/${P}-lld-17.patch
+ "${FILESDIR}"/${PN}-0.191-musl-macros.patch
+ "${FILESDIR}"/${PN}-0.191-avoid-overriding-libcxx-system-header.patch
)
src_prepare() {
default
- # Only here for ${P}-configure-bashisms.patch, delete on next bump!
- eautoreconf
-
if ! use static-libs; then
sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
fi
+ eautoreconf
+
# https://sourceware.org/PR23914
sed -i 's:-Werror::' */Makefile.in || die
}
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-PaX-support.patch b/dev-libs/elfutils/files/elfutils-0.189-PaX-support.patch
deleted file mode 100644
index 2d44c757711a..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.189-PaX-support.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Add support for PaX ELF markings
-
-Patch by Kevin F. Quinn <kevquinn@gentoo.org>
-
-http://bugs.gentoo.org/115100
-
---- a/libelf/elf.h
-+++ b/libelf/elf.h
-@@ -722,6 +722,7 @@ typedef struct
- #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
- #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
- #define PT_GNU_PROPERTY 0x6474e553 /* GNU property */
-+#define PT_PAX_FLAGS 0x65041580 /* Indicates PaX flag markings */
- #define PT_LOSUNW 0x6ffffffa
- #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
- #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
---- a/src/elflint.c
-+++ b/src/elflint.c
-@@ -4493,6 +4493,7 @@ only executables, shared objects, and core files can have program headers\n"));
-
- if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME
- && phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO
-+ && phdr->p_type != PT_PAX_FLAGS
- && phdr->p_type != PT_GNU_PROPERTY
- /* Check for a known machine-specific type. */
- && ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL)
diff --git a/dev-libs/elfutils/files/elfutils-0.189-clang16-tests.patch b/dev-libs/elfutils/files/elfutils-0.189-clang16-tests.patch
deleted file mode 100644
index 8dede51cbb23..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.189-clang16-tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://sourceware.org/git/?p=elfutils.git;a=commit;h=51373aa9a77ef53d237edc1af664efcbb49f1bf5
-
-From 51373aa9a77ef53d237edc1af664efcbb49f1bf5 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Sat, 22 Apr 2023 21:37:09 +0200
-Subject: [PATCH] testsuite: Avoid C99 compatibility issues in
- run-native-test.sh
-
-Include <unistd.h> for the pause function, and add the return type
-of main. Avoids an implicit function declaration and implicit int.
-
-Signed-off-by: Florian Weimer <fweimer@redhat.com>
---- a/tests/run-native-test.sh
-+++ b/tests/run-native-test.sh
-@@ -27,7 +27,8 @@
- # in all builds.
-
- tempfiles native.c native
--echo 'main () { while (1) pause (); }' > native.c
-+printf '#include <unistd.h>\nint main (void) { while (1) pause (); }\n' \
-+ > native.c
-
- native=0
- kill_native()
---
-2.31.1
diff --git a/dev-libs/elfutils/files/elfutils-0.189-configure-bashisms.patch b/dev-libs/elfutils/files/elfutils-0.189-configure-bashisms.patch
deleted file mode 100644
index 04c01b0ecf88..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.189-configure-bashisms.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-https://sourceware.org/git/?p=elfutils.git;a=commit;h=a9834d7df68afde4ee44ee8fef888cf7e799171a
-
-From a9834d7df68afde4ee44ee8fef888cf7e799171a Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Sun, 5 Mar 2023 13:09:34 +0100
-Subject: [PATCH] configure.ac contains Bashisms
-
-Autoconf scripts are supposed to be written in POSIX-compatible shell
-language. elfutils commits 0ffe2874e75d48cb88936e119e5284ff2bf664d9
-and 3fa98a6f29b0f370e32549ead7eb897c839af980 introduced Bashisms to
-configure.ac that cause errors when /bin/sh is not Bash.
-
-Example error when /bin/sh is Dash:
-
-./configure: 8748: test: xyes: unexpected operator
-
-The cause of the error is the use of a non-existent == operator in
-expressions passed to the 'test' built-in command. POSIX shell
-specifies only an = operator for testing string equality.
-
- * configure.ac: Replace == by = in use_msan and enable_demangler
- comparisons.
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=30196
-
-Reported-by: Matt Whitlock <sourceware@mattwhitlock.name>
-Signed-off-by: Mark Wielaard <mark@klomp.org>
---- a/configure.ac
-+++ b/configure.ac
-@@ -169,7 +169,7 @@ if test "$use_msan" = yes; then
- CXXFLAGS="$CXXFLAGS -fsanitize=memory -fsanitize-memory-track-origins -D_FORTIFY_SOURCE=0"
- LDFLAGS="-shared"
- AC_LINK_IFELSE([AC_LANG_SOURCE([int main (int argc, char **argv) { return 0; }])], use_msan=yes, use_msan=no)
-- AS_IF([test "x$use_msan" == xyes],
-+ AS_IF([test "x$use_msan" = xyes],
- ac_cv_zdefs=no NO_UNDEFINED=,
- AC_MSG_WARN([clang memory sanitizer not available])
- CFLAGS="$old_CFLAGS" CXXFLAGS="$old_CXXFLAGS")
-@@ -493,7 +493,7 @@ AC_ARG_ENABLE([demangler],
- AS_HELP_STRING([--disable-demangler],
- [Disable libstdc++ demangle support]),
- [], [enable_demangler=yes])
--AS_IF([test "x$enable_demangler" == xyes],
-+AS_IF([test "x$enable_demangler" = xyes],
- AC_CHECK_LIB([stdc++], [__cxa_demangle], [dnl
- AC_DEFINE([USE_DEMANGLE], [1], [Defined if demangling is enabled])])
- AM_CONDITIONAL(DEMANGLE, test "x$ac_cv_lib_stdcpp___cxa_demangle" = "xyes")
---
-2.31.1
diff --git a/dev-libs/elfutils/files/elfutils-0.189-lld-17.patch b/dev-libs/elfutils/files/elfutils-0.189-lld-17.patch
deleted file mode 100644
index 3143bc078d77..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.189-lld-17.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://bugs.gentoo.org/913112
-https://sourceware.org/PR30729
-https://sourceware.org/git/?p=elfutils.git;a=commit;h=09e61a65953ed814d9e970f7f9ffb9c2d8cda477
-
-From 09e61a65953ed814d9e970f7f9ffb9c2d8cda477 Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Mon, 28 Aug 2023 20:23:41 +0200
-Subject: [PATCH] libelf: Remove elf_scncnt from libelf.map
-
-elf_scncnt was never implemented. It was probably an old name for
-elf_getshnum (which was the deprecated name of the elf_getshdrnum
-alias). Just remove it from the map file
-
- * libelf/libelf.map (ELFUTILS_1.0): Remove elf_scncnt.
-
-https://sourceware.org/PR30729
-
-Reported-by: Kostadin Shishmanov <kocelfc@tutanota.com>
-Signed-off-by: Mark Wielaard <mark@klomp.org>
---- a/libelf/libelf.map
-+++ b/libelf/libelf.map
-@@ -50,7 +50,6 @@ ELFUTILS_1.0 {
- elf_rand;
- elf_rawdata;
- elf_rawfile;
-- elf_scncnt;
- elf_strptr;
- elf_update;
- elf_version;
---
-2.39.3
diff --git a/dev-libs/elfutils/files/elfutils-0.189-skip-DT_RELR-failing-tests.patch b/dev-libs/elfutils/files/elfutils-0.189-skip-DT_RELR-failing-tests.patch
deleted file mode 100644
index 0ffe75d93d31..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.189-skip-DT_RELR-failing-tests.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-We know these tests fail with DT_RELR (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
-so skip for now.
---- a/tests/run-elflint-self.sh
-+++ b/tests/run-elflint-self.sh
-@@ -18,5 +18,8 @@
-
- . $srcdir/test-subr.sh
-
-+# XFAIL b/c no DT_RELR support yet (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
-+exit 77
-+
- testrun_on_self ${abs_top_builddir}/src/elflint --quiet --gnu-ld
- testrun_on_self_compressed ${abs_top_builddir}/src/elflint --quiet --gnu-ld
---- a/tests/run-strip-strmerge.sh
-+++ b/tests/run-strip-strmerge.sh
-@@ -17,6 +17,9 @@
-
- . $srcdir/test-subr.sh
-
-+# XFAIL b/c no DT_RELR support yet (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
-+exit 77
-+
- # Generate a file with merged .shstrtab/.strtab table.
- # strip and unstrip it. Check all files with elflint.
-
-diff --git a/tests/run-reverse-sections-self.sh b/tests/run-reverse-sections-self.sh
-index 71afd6a..87de933 100755
---- a/tests/run-reverse-sections-self.sh
-+++ b/tests/run-reverse-sections-self.sh
-@@ -17,6 +17,9 @@
-
- . $srcdir/test-subr.sh
-
-+# XFAIL b/c no DT_RELR support yet (https://sourceware.org/bugzilla/show_bug.cgi?id=28495)
-+exit 77
-+
- test_reverse_self ()
- {
- in_file="$1"
diff --git a/dev-libs/elfutils/files/elfutils-0.189-tests-run-lfs-symbols.sh-needs-gawk.patch b/dev-libs/elfutils/files/elfutils-0.189-tests-run-lfs-symbols.sh-needs-gawk.patch
deleted file mode 100644
index c64a30ec03b6..000000000000
--- a/dev-libs/elfutils/files/elfutils-0.189-tests-run-lfs-symbols.sh-needs-gawk.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://inbox.sourceware.org/elfutils-devel/20230719231639.1786109-1-sam@gentoo.org/T/#u
-
-From 7f607f9aba5c6fccb3d94776452b1cfa421df1f7 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Thu, 20 Jul 2023 00:15:10 +0100
-Subject: [PATCH] tests: run-lfs-symbols.sh needs gawk
-
-With awk=mawk, I get:
-```
-FAIL: run-lfs-symbols.sh
-
-First sanity-check that LFS detection works.
-checking ./testfile-nolfs
-awk: line 3: syntax error at or near /
-FAIL run-lfs-symbols.sh (exit status: 2)
-```
-
- * tests/run-lfs-symbols.sh: Call 'gawk' instead of 'awk'.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/tests/run-lfs-symbols.sh
-+++ b/tests/run-lfs-symbols.sh
-@@ -42,13 +42,13 @@ LFS_FORMAT='BEGIN {
- LFS=$(printf "$LFS_FORMAT" "${abs_srcdir}/lfs-symbols")
-
- makeprint() {
-- make print-$1 -C $2 |& awk -F= "/^$1=/{ print \$2 }"
-+ make print-$1 -C $2 |& gawk -F= "/^$1=/{ print \$2 }"
- }
-
- testrun_lfs() {
- echo "checking $1"
- if [ -e "$1" ]; then
-- bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | awk "$LFS")
-+ bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | gawk "$LFS")
- if [ -n "$bad" ]; then
- echo "$1 contains non-lfs symbols:" $bad
- exit_status=1
---
-2.41.0
-
diff --git a/dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch b/dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch
new file mode 100644
index 000000000000..acba803fa2f4
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.191-avoid-overriding-libcxx-system-header.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/925241
+
+Replace -I with -iquote to avoid overriding stack system header from libcxx-18
+with the previously built stack binary. Override DEFAULT_INLCUDES because m4
+adds -I. by default.
+
+--- a/config/eu.am
++++ b/config/eu.am
+@@ -31,7 +31,7 @@
+ ##
+
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
+-AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
++AM_CPPFLAGS = -iquote . -I$(srcdir) -I$(top_srcdir)/lib -I..
+
+ # Drop the 'u' flag that automake adds by default. It is incompatible
+ # with deterministic archives.
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -19,6 +19,8 @@
+ include $(top_srcdir)/config/eu.am
+ DEFS += $(YYDEBUG) -DDEBUGPRED=@DEBUGPRED@ \
+ -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
++
++DEFAULT_INCLUDES =
+ AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
+ -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
+ -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm -I../debuginfod
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/ell/Manifest b/dev-libs/ell/Manifest
index 8a3aed938064..1245aecbac06 100644
--- a/dev-libs/ell/Manifest
+++ b/dev-libs/ell/Manifest
@@ -1,6 +1,2 @@
-DIST ell-0.56.tar.xz 563096 BLAKE2B 3be874ddddab558911d5ea4e4fb0b32c1557b8577435f39ee88d7302bbb0efbd24671f6c426bbeaba2704ba45b865320e6f2e31f6a9c4d86e82dc8ed38ebae9f SHA512 7255470331927f67ebd1297e6c524c9c244234cf00923016c77d90bad5e4e381605c70373a7be4ecf9c1e72ec85fbc1671960dd31fb6eec279f2299e81c66ac1
-DIST ell-0.57.tar.xz 563996 BLAKE2B 6fec30dc6994656b4a266cddaaf5984c3bcdb06b8b80d432b772f5c2a3166f2f3a4dca7ce1d44857901150a17f17be595606e535ef4ca0cb97476effbb6342cc SHA512 6dd6dea39b835550a4d4fd4ca1ec98c50842eb557d5f55d3a8f8d566f7b8ea3a4473135101860b4d8decfc4d24f55ff5e389ac95d1d309d5504b632cf80c975e
-DIST ell-0.58.tar.xz 564908 BLAKE2B 8c3d2913db05186b22315f8b9eb62c6009d64d0c30dba4da4eacd92ca3c675a0c6e11aa23b76af710691ef1cabc14dafa157708aa7793939d36eee467a7e543d SHA512 28f0d215d05ae67a9d5aaa0de6c54d2b69d847a6a3127bebabe504c63083937b07d7dfb498f946bd6a40b22387946557dc886591ef87a7d5b926084083146950
-DIST ell-0.59.tar.xz 563416 BLAKE2B 81215058bdb75f387256b4cda843f2a523bae4ca10c472deedd19c77e97d6e3c8c399d4540da21f2ca72a7c532ae6d09c1350c6ea2189966a3375649466533d4 SHA512 adbb6c494209ee2a6fbd60f2baeea41f3b8bd99671cc03af1d18fbfdc29205537b42334d8cdda9c1d08972239e74f4ba8ec9e2c9a41dab4c414bce2f480cc5fc
-DIST ell-0.60.tar.xz 565856 BLAKE2B a77ab4a26af154734f5258ad4a16ae97645f4cafc5b949c727ffe18e650ee2711d5b5028d1f9414314095f2e01faac9f3823ac83903ce611352a46c4192e2498 SHA512 a25c42f7432dd24bde3c534ee668a31d4a34e8e298c9e690d7aef9d98089e96987563a26d2bbee5b876aea69e4ecda0ede15a94dc30e211f1f341cbb6f26402f
-DIST ell-0.61.tar.xz 565920 BLAKE2B 994a5b8b7eaffcf2274e1d020f54ce3f829a50de352a79744de156b59cb9f5b8db39adc53ab6f5728abd501a13815e58eac1c3359024bb22cd28e248a4b8f289 SHA512 0e57125a924ab4772c3c7ccf97040e416810bccd05ce8f0cb4525a4483f32eabc0f431fac3fff7afdc8bb0e145611b944e1f7fa8d10e6337fc7f97f190d9b0f8
+DIST ell-0.66.tar.xz 570708 BLAKE2B 64beecc2dfc5a1b0feccc415801aee71e20a1fd115eadc950c7c85b5b8ba52fca57f029799291dbf75106987870f2d82a9dfdb80d2f5cf22d31c06151b43c491 SHA512 e2d18a41ff6e7cf2fa55309abfa55b64a126979ade81c3af6d9f1c2ea7976e5667914fa6d61754f6c4646aff5719110e0fd03bcaeaa1780ca2fe2b170202cfbc
+DIST ell-0.67.tar.xz 570720 BLAKE2B 27b886de9d4d4d812cf724e3a45f1bcb1cf021e0f88661357b14b643916c36ec6e0bdb8cbb177e33ff991483815af2176139c9bbad8645533aaa15830ce765a9 SHA512 a241c5f05bdff908d4c7a477d16f4d8857a725b3f1da5b08ecf031f73d1ebd80c6717dd99efbbf662a8801f10496249bc707d8dc17be88e63d0deb5418b3786a
diff --git a/dev-libs/ell/ell-0.57.ebuild b/dev-libs/ell/ell-0.57.ebuild
deleted file mode 100644
index 367a5a212600..000000000000
--- a/dev-libs/ell/ell-0.57.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://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.58.ebuild b/dev-libs/ell/ell-0.58.ebuild
deleted file mode 100644
index 5d0558d85d5b..000000000000
--- a/dev-libs/ell/ell-0.58.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://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.60.ebuild b/dev-libs/ell/ell-0.60.ebuild
deleted file mode 100644
index 367a5a212600..000000000000
--- a/dev-libs/ell/ell-0.60.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://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.61.ebuild b/dev-libs/ell/ell-0.61.ebuild
deleted file mode 100644
index 367a5a212600..000000000000
--- a/dev-libs/ell/ell-0.61.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://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.56.ebuild b/dev-libs/ell/ell-0.66.ebuild
index c5dee49bcb13..709988e2ec17 100644
--- a/dev-libs/ell/ell-0.56.ebuild
+++ b/dev-libs/ell/ell-0.66.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
@@ -52,3 +52,8 @@ src_install() {
find "${ED}" -name "*.la" -delete || die
}
+
+src_test() {
+ # New dbus tests fail with >3 jobs, this should get fixed soon
+ emake -j1 check
+}
diff --git a/dev-libs/ell/ell-0.59.ebuild b/dev-libs/ell/ell-0.67.ebuild
index 367a5a212600..975d6b799e59 100644
--- a/dev-libs/ell/ell-0.59.ebuild
+++ b/dev-libs/ell/ell-0.67.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
@@ -52,3 +52,8 @@ src_install() {
find "${ED}" -name "*.la" -delete || die
}
+
+src_test() {
+ # New dbus tests fail with >3 jobs, this should get fixed soon
+ emake -j1 check
+}
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.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/faxpp/faxpp-0.4-r2.ebuild b/dev-libs/faxpp/faxpp-0.4-r2.ebuild
index 50aaf74f8139..06698487aab6 100644
--- a/dev-libs/faxpp/faxpp-0.4-r2.ebuild
+++ b/dev-libs/faxpp/faxpp-0.4-r2.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=8
DESCRIPTION="Small, fast and conformant XML pull parser written in C"
-HOMEPAGE="http://faxpp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="https://faxpp.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
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/fddl/fddl-20111124-r1.ebuild b/dev-libs/fddl/fddl-20111124-r1.ebuild
index b25d4dd8bded..adf229a08483 100644
--- a/dev-libs/fddl/fddl-20111124-r1.ebuild
+++ b/dev-libs/fddl/fddl-20111124-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
inherit cmake vcs-snapshot
DESCRIPTION="Free Decision Diagram Library"
-HOMEPAGE="http://itval.sourceforge.net/ https://github.com/atomopawn/FDDL"
+HOMEPAGE="https://itval.sourceforge.net/ https://github.com/atomopawn/FDDL"
SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
LICENSE="GPL-2"
diff --git a/dev-libs/fddl/fddl-20111124-r2.ebuild b/dev-libs/fddl/fddl-20111124-r2.ebuild
new file mode 100644
index 000000000000..97af9c72f804
--- /dev/null
+++ b/dev-libs/fddl/fddl-20111124-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Free Decision Diagram Library"
+HOMEPAGE="https://itval.sourceforge.net/ https://github.com/atomopawn/FDDL"
+SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( AUTHORS ChangeLog INSTALL RELEASE )
+
+PATCHES=( "${FILESDIR}/${P}-disambiguate-variable-name.patch" )
+
+S="${WORKDIR}"/FDDL-master
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Remove references to files that were not shipped,
+ # prefer dynamic linking
+ sed -i \
+ -e 's|unaryoperation.cpp||g' \
+ -e 's|unaryoperation.h||g' \
+ -e 's|binaryoperation.cpp||g' \
+ -e 's|binaryoperation.h||g' \
+ -e '/add_library/s/FDDL /FDDL SHARED /' \
+ -e '/add_library/s/FDDL /FDDL SHARED /' \
+ -e "/^install/s:DESTINATION lib:DESTINATION $(get_libdir):" \
+ src/CMakeLists.txt || die
+ # Do not build tests that depend on above files
+ sed -i \
+ {,tests/}CMakeLists.txt \
+ -e '/test_unaryop/d' \
+ -e '/test_binaryop/d' \
+ || die
+}
diff --git a/dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch b/dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch
new file mode 100644
index 000000000000..c357f0574d29
--- /dev/null
+++ b/dev-libs/fddl/files/fddl-20111124-disambiguate-variable-name.patch
@@ -0,0 +1,65 @@
+Disambiguate variable name from std::array.
+
+FAILED: tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o
+/usr/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=x86-64 -mtune=generic -MD -MT tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o -MF tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o.d -o tests/CMakeFiles/test_dynarray.dir/test_dynarray.cpp.o -c /var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp
+/var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp: In function ‘bool test_access()’:
+/var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp:9:11: error: reference to ‘array’ is ambiguous
+ 9 | *(array[0])=50;
+ | ^~~~~
+In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/memory_resource.h:47,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/string:58,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/locale_classes.h:40,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/ios_base.h:41,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/ios:44,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/ostream:40,
+ from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/iostream:41,
+ from /var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp:1:
+/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/tuple:2005:45: note: candidates are: ‘template<class _Tp, long unsigned int _Nm> struct std::array’
+ 2005 | template<typename _Tp, size_t _Nm> struct array;
+ | ^~~~~
+/var/tmp/portage/dev-libs/fddl-20111124-r1/work/fddl-20111124/tests/test_dynarray.cpp:6:15: note: ‘DynArray<int> array’
+ 6 | DynArray<int> array;
+ | ^~~~~
+
+diff -Nuar a/tests/test_dynarray.cpp b/tests/test_dynarray.cpp
+--- a/tests/test_dynarray.cpp 2024-03-28 14:52:14.811666764 +0000
++++ b/tests/test_dynarray.cpp 2024-03-28 14:51:55.379667423 +0000
+@@ -3,18 +3,18 @@
+
+ using namespace std;
+
+-DynArray<int> array;
++DynArray<int> test_array;
+
+ bool test_access(){
+- *(array[0])=50;
+- if (*(array[0]) != 50)
++ *(test_array[0])=50;
++ if (*(test_array[0]) != 50)
+ return false;
+ return true;
+ }
+
+ bool test_extend(){
+- *(array[1024]) = 9999;
+- if (*(array[1024]) != 9999)
++ *(test_array[1024]) = 9999;
++ if (*(test_array[1024]) != 9999)
+ return false;
+ return true;
+ }
+@@ -23,12 +23,12 @@
+ unsigned int fac = 1;
+ for (unsigned int i=1;i<11;i++){
+ fac = fac * i;
+- *(array[fac]) = i;
++ *(test_array[fac]) = i;
+ }
+ fac = 1;
+ for (unsigned int i=1; i<11;i++){
+ fac = fac * i;
+- if (*(array[fac]) != i){
++ if (*(test_array[fac]) != i){
+ return false;
+ }
+ }
diff --git a/dev-libs/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
index 8dc40fd0ca57..cf5e9372e48a 100644
--- a/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild
+++ b/dev-libs/ferrisloki/ferrisloki-3.0.13-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,11 +7,11 @@ 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"
+SRC_URI="https://downloads.sourceforge.net/witme/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
RDEPEND=">=dev-libs/libsigc++-2.6:2"
DEPEND="${RDEPEND}"
diff --git a/dev-libs/ffcall/ffcall-2.4-r1.ebuild b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
index cd0ba85f08fd..d36c133ead5f 100644
--- a/dev-libs/ffcall/ffcall-2.4-r1.ebuild
+++ b/dev-libs/ffcall/ffcall-2.4-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=8
-inherit flag-o-matic
+inherit flag-o-matic libtool
MY_PV="libffcall-${PV}"
@@ -40,6 +40,7 @@ src_prepare() {
done
default
+ elibtoolize
}
src_configure() {
diff --git a/dev-libs/flatbuffers/Manifest b/dev-libs/flatbuffers/Manifest
index ff76ed194531..080fa756df8b 100644
--- a/dev-libs/flatbuffers/Manifest
+++ b/dev-libs/flatbuffers/Manifest
@@ -1 +1 @@
-DIST flatbuffers-23.5.26.gh.tar.gz 2257271 BLAKE2B 147425e7c018072f4ae4cdb3e034a4f434362d88d5e27b09375965993c279acfbed36064014c8f4fbe3fb81175ac0aa9b07629675e2c7ad33d59a9c85f2c3bb8 SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31
+DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-libs/flatbuffers/flatbuffers-23.5.26.ebuild b/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild
index 69e61ba51022..ead2e8a0a127 100644
--- a/dev-libs/flatbuffers/flatbuffers-23.5.26.ebuild
+++ b/dev-libs/flatbuffers/flatbuffers-24.3.25.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-libs/folks/Manifest b/dev-libs/folks/Manifest
index 74f84e9500ed..aac6d5f6b23b 100644
--- a/dev-libs/folks/Manifest
+++ b/dev-libs/folks/Manifest
@@ -1 +1 @@
-DIST folks-0.15.6.tar.xz 497968 BLAKE2B bb9237fae05a748a18a85d29034e879947c4ffcc1d3dbe7277c8e1f41e6e9c9ec27170e9e7d2ccb6dcc89789d331f7f320648620636e1ee54685906fc67ba4f9 SHA512 8d77c3b4c963d88877798b24da9edd977b3ac4b18568ed75885fa87bf81e0e8f29dc8232352e3fefc0bf2c9bb8ca6cea984d87d946a3892963a158bd4f45dc30
+DIST folks-0.15.9.tar.xz 506044 BLAKE2B e239c0ca3b51a5452620f5abaf37b34413b0a5ee867cc682214abd00c21d6375abf1a31755acd69360e47604c61572a63ffbe91f38485be1a83685a98aa34cd0 SHA512 8b1f0afaaf0907a9609863ec913eab75c7f60e3d1fd54e553fdb8d425f33cfb6043171bc5b7cc1dc66b1de702e1a8f5dd229c707d99af47dd3926ec0588c87fd
diff --git a/dev-libs/folks/folks-0.15.6.ebuild b/dev-libs/folks/folks-0.15.9.ebuild
index 45afd5a484b8..4bd9b6d1e108 100644
--- a/dev-libs/folks/folks-0.15.6.ebuild
+++ b/dev-libs/folks/folks-0.15.9.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
@@ -46,7 +46,7 @@ BDEPEND="
sys-apps/dbus
bluetooth? (
$(python_gen_any_dep '
- dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ >=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]
')
)
)
@@ -54,7 +54,7 @@ BDEPEND="
python_check_deps() {
if use test && use bluetooth; then
- python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+ python_has_version ">=dev-python/python-dbusmock-0.30.1[${PYTHON_USEDEP}]"
fi
}
@@ -81,7 +81,9 @@ src_configure() {
}
src_test() {
- dbus-run-session meson test -C "${BUILD_DIR}" -t 5
+ # 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() {
diff --git a/dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch b/dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch
new file mode 100644
index 000000000000..0aeb26ea9ef3
--- /dev/null
+++ b/dev-libs/foma/files/foma-0.10-0-fix-BOM_codes-initializer.patch
@@ -0,0 +1,41 @@
+From 9a99d2d41809422080606bb49531b38ce1e2111a Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 4 Jan 2024 17:15:27 +0100
+Subject: [PATCH] Fix BOM_codes initializer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Future compilers will reject the current initializer:
+
+io.c:1002:7: error: initialization of ‘char’ from ‘void *’ makes integer from pointer without a cast
+ 1002 | { NULL, 0, NULL },
+ | ^~~~
+io.c:1002:16: error: initialization of ‘char’ from ‘void *’ makes integer from pointer without a cast
+ 1002 | { NULL, 0, NULL },
+ | ^~~~
+io.c:996:26: warning: missing braces around initializer [-Wmissing-braces]
+ 996 | static BOM BOM_codes[] = {
+ | ^
+io.c:996:26: warning: missing braces around initializer [-Wmissing-braces]
+
+
+The reason is that NULL is usually a pointer constant, which is not
+a valid expression for a character.
+---
+ foma/io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/foma/io.c b/foma/io.c
+index b7bf69b..da1c57a 100644
+--- a/foma/io.c
++++ b/foma/io.c
+@@ -999,7 +999,7 @@ static BOM BOM_codes[] = {
+ { { 0x00, 0x00, 0xFE, 0xFF }, 4, "UTF-32BE" },
+ { { 0xFF, 0xFE }, 2, "UTF16-LE" },
+ { { 0xFE, 0xFF }, 2, "UTF16-BE" },
+- { NULL, 0, NULL },
++ { { 0, } , 0, NULL },
+ };
+
+ BOM *check_BOM(char *buffer) {
diff --git a/dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch b/dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch
new file mode 100644
index 000000000000..32a33cdc6af4
--- /dev/null
+++ b/dev-libs/foma/files/foma-0.10.0-gcc-13-fixes.patch
@@ -0,0 +1,149 @@
+From 24fa34e5f3731e2e6995fba25e31a2dbb9df8bb4 Mon Sep 17 00:00:00 2001
+From: Tino Didriksen <mail@tinodidriksen.com>
+Date: Thu, 15 Jun 2023 08:44:54 +0000
+Subject: [PATCH] Fixes for GCC 13 (see https://bugs.debian.org/1037663) and
+ Visual Studio
+
+---
+ foma/cgflookup.c | 2 +-
+ foma/constructions.c | 2 +-
+ foma/flookup.c | 2 +-
+ foma/foma.h | 2 +-
+ foma/fomalib.h | 2 +-
+ foma/iface.c | 4 ++--
+ foma/regex.l | 2 +-
+ foma/regex.y | 7 +++++--
+ foma/spelling.c | 2 +-
+ 9 files changed, 14 insertions(+), 11 deletions(-)
+
+diff --git a/foma/cgflookup.c b/foma/cgflookup.c
+index 1cc11be..1bdfddb 100644
+--- a/foma/cgflookup.c
++++ b/foma/cgflookup.c
+@@ -71,7 +71,7 @@ static FILE *INFILE;
+ static struct lookup_chain *chain_head, *chain_tail, *chain_new, *chain_pos;
+ static fsm_read_binary_handle fsrh;
+
+-static char *(*applyer)() = &apply_up; /* Default apply direction = up */
++static char *(*applyer)(struct apply_handle *h, char *word) = &apply_up; /* Default apply direction = up */
+ static void handle_line(char *s);
+ static void app_print(char *result);
+ static char *get_next_line();
+diff --git a/foma/constructions.c b/foma/constructions.c
+index dec4087..ca66db4 100644
+--- a/foma/constructions.c
++++ b/foma/constructions.c
+@@ -41,7 +41,7 @@ int sort_cmp(const void *a, const void *b) {
+ return (((const struct fsm_state *)a)->state_no - ((const struct fsm_state *)b)->state_no);
+ }
+
+-INLINE int add_fsm_arc(struct fsm_state *fsm, int offset, int state_no, int in, int out, int target, int final_state, int start_state);
++int add_fsm_arc(struct fsm_state *fsm, int offset, int state_no, int in, int out, int target, int final_state, int start_state);
+
+ struct fsm *fsm_kleene_closure(struct fsm *net, int optionality);
+
+diff --git a/foma/flookup.c b/foma/flookup.c
+index 971549d..ecd3db3 100644
+--- a/foma/flookup.c
++++ b/foma/flookup.c
+@@ -77,7 +77,7 @@ static FILE *INFILE;
+ static struct lookup_chain *chain_head, *chain_tail, *chain_new, *chain_pos;
+ static fsm_read_binary_handle fsrh;
+
+-static char *(*applyer)() = &apply_up; /* Default apply direction = up */
++static char *(*applyer)(struct apply_handle *h, char *word) = &apply_up; /* Default apply direction = up */
+ static void handle_line(char *s);
+ static void app_print(char *result);
+ static char *get_next_line();
+diff --git a/foma/foma.h b/foma/foma.h
+index 06cb9f7..f5a5bfb 100644
+--- a/foma/foma.h
++++ b/foma/foma.h
+@@ -113,7 +113,7 @@ void iface_print_shortest_string();
+ void iface_print_shortest_string_size();
+ void iface_print_name(void);
+ void iface_quit(void);
+-void iface_apply_random(char *(*applyer)(), int limit);
++void iface_apply_random(char *(*applyer)(struct apply_handle *h), int limit);
+ void iface_random_lower(int limit);
+ void iface_random_upper(int limit);
+ void iface_random_words(int limit);
+diff --git a/foma/fomalib.h b/foma/fomalib.h
+index 6f0218a..d937d15 100644
+--- a/foma/fomalib.h
++++ b/foma/fomalib.h
+@@ -307,7 +307,7 @@ FEXPORT struct fsm *flag_eliminate(struct fsm *net, char *name);
+ FEXPORT struct fsm *flag_twosided(struct fsm *net);
+
+ /* Compile a rewrite rule */
+-FEXPORT struct fsm *fsm_rewrite();
++FEXPORT struct fsm *fsm_rewrite(struct rewrite_set *all_rules);
+
+ /* Boolean tests */
+ FEXPORT int fsm_isempty(struct fsm *net);
+diff --git a/foma/iface.c b/foma/iface.c
+index f41e3ce..7ebd569 100644
+--- a/foma/iface.c
++++ b/foma/iface.c
+@@ -790,7 +790,7 @@ void iface_random_words(int limit) {
+ iface_apply_random(&apply_random_words, limit);
+ }
+
+-void iface_apply_random(char *(*applyer)(), int limit) {
++void iface_apply_random(char *(*applyer)(struct apply_handle *h), int limit) {
+ char *result;
+ struct apply_handle *ah;
+ int i;
+@@ -1230,7 +1230,7 @@ void iface_words_file(char *filename, int type) {
+ /* type 0 (words), 1 (upper-words), 2 (lower-words) */
+ FILE *outfile;
+ char *result;
+- static char *(*applyer)() = &apply_words;
++ static char *(*applyer)(struct apply_handle *h) = &apply_words;
+ struct apply_handle *ah;
+
+ if (type == 1) {
+diff --git a/foma/regex.l b/foma/regex.l
+index c303a40..8e3f1e5 100644
+--- a/foma/regex.l
++++ b/foma/regex.l
+@@ -49,7 +49,7 @@ struct parser_vars {
+ struct parser_vars parservarstack[MAX_PARSE_DEPTH];
+ int g_parse_depth = 0;
+
+-extern int yyparse();
++extern int yyparse(void *scanner, struct defined_networks *defined_nets, struct defined_functions *defined_funcs);
+ extern int get_iface_lineno(void);
+ extern int rewrite, rule_direction, substituting;
+ extern struct fsmcontexts *contexts;
+diff --git a/foma/regex.y b/foma/regex.y
+index eb00e5e..60ab2a4 100644
+--- a/foma/regex.y
++++ b/foma/regex.y
+@@ -21,8 +21,11 @@
+ #include <string.h>
+ #include "foma.h"
+ #define MAX_F_RECURSION 100
+-extern int yyerror();
+-extern int yylex();
++typedef void* yyscan_t;
++typedef struct YYLTYPE YYLTYPE;
++typedef union YYSTYPE YYSTYPE;
++extern int yyerror(YYLTYPE* yylloc, yyscan_t scanner, struct defined_networks *defined_nets, struct defined_functions *defined_funcs, char *msg);
++extern int yylex(YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
+ extern int my_yyparse(char *my_string, int lineno, struct defined_networks *defined_nets, struct defined_functions *defined_funcs);
+ struct fsm *current_parse;
+ int rewrite, rule_direction;
+diff --git a/foma/spelling.c b/foma/spelling.c
+index ab11e98..ac92bd0 100644
+--- a/foma/spelling.c
++++ b/foma/spelling.c
+@@ -37,7 +37,7 @@
+ #define min_(X, Y) ((X) < (Y) ? (X) : (Y))
+
+ static int calculate_h(struct apply_med_handle *medh, int *intword, int currpos, int state);
+-static struct astarnode *node_delete_min();
++static struct astarnode *node_delete_min(struct apply_med_handle *medh);
+ int node_insert(struct apply_med_handle *medh, int wordpos, int fsmstate, int g, int h, int in, int out, int parent);
+
+ char *print_sym(int sym, struct sigma *sigma) {
diff --git a/dev-libs/foma/files/foma-0.10.0_p20220612-fix-incompatible-function-pointer-types.patch b/dev-libs/foma/files/foma-0.10.0_p20220612-fix-incompatible-function-pointer-types.patch
new file mode 100644
index 000000000000..ca6e3c3a8f76
--- /dev/null
+++ b/dev-libs/foma/files/foma-0.10.0_p20220612-fix-incompatible-function-pointer-types.patch
@@ -0,0 +1,71 @@
+https://bugs.gentoo.org/930501
+
+--- a/foma/sigma.c
++++ b/foma/sigma.c
+@@ -338,8 +338,8 @@ struct ssort {
+ int number;
+ };
+
+-int ssortcmp(struct ssort *a, struct ssort *b) {
+- return(strcmp(a->symbol, b->symbol));
++int ssortcmp(const void *a, const void *b) {
++ return(strcmp(((struct ssort*) a)->symbol, ((struct ssort*)b)->symbol));
+ }
+
+ struct sigma *sigma_copy(struct sigma *sigma) {
+@@ -369,7 +369,6 @@ struct sigma *sigma_copy(struct sigma *sigma) {
+ /* and sorts the sigma based on the symbol string contents */
+
+ int sigma_sort(struct fsm *net) {
+- int(*comp)() = ssortcmp;
+ int size, i, max, *replacearray;
+ struct ssort *ssort;
+ struct sigma *sigma;
+@@ -387,7 +386,7 @@ int sigma_sort(struct fsm *net) {
+ }
+ }
+ max = i;
+- qsort(ssort, max, sizeof(struct ssort), comp);
++ qsort(ssort, max, sizeof(struct ssort), ssortcmp);
+ replacearray = malloc(sizeof(int)*(size+3));
+ for (i=0; i<max; i++)
+ replacearray[(ssort+i)->number] = i+3;
+--- a/foma/structures.c
++++ b/foma/structures.c
+@@ -46,20 +46,18 @@ void *fsm_get_option(unsigned long long option) {
+ return NULL;
+ }
+
+-int linesortcompin(struct fsm_state *a, struct fsm_state *b) {
+- return (a->in - b->in);
++int linesortcompin(const void *a, const void *b) {
++ return (((struct fsm_state*)a)->in - ((struct fsm_state*)b)->in);
+ }
+
+-int linesortcompout(struct fsm_state *a, struct fsm_state *b) {
+- return (a->out - b->out);
++int linesortcompout(const void *a, const void *b) {
++ return (((struct fsm_state*)a)->out - ((struct fsm_state*)b)->out);
+ }
+
+ void fsm_sort_arcs(struct fsm *net, int direction) {
+ /* direction 1 = in, direction = 2, out */
+ struct fsm_state *fsm;
+ int i, lasthead, numlines;
+- int(*scin)() = linesortcompin;
+- int(*scout)() = linesortcompout;
+ fsm = net->states;
+ for (i=0, numlines = 0, lasthead = 0 ; (fsm+i)->state_no != -1; i++) {
+ if ((fsm+i)->state_no != (fsm+i+1)->state_no || (fsm+i)->target == -1) {
+@@ -70,9 +68,9 @@ void fsm_sort_arcs(struct fsm *net, int direction) {
+ if (numlines > 1) {
+ /* Sort, set numlines = 0 */
+ if (direction == 1)
+- qsort(fsm+lasthead, numlines, sizeof(struct fsm_state), scin);
++ qsort(fsm+lasthead, numlines, sizeof(struct fsm_state), linesortcompin);
+ else
+- qsort(fsm+lasthead, numlines, sizeof(struct fsm_state), scout);
++ qsort(fsm+lasthead, numlines, sizeof(struct fsm_state), linesortcompout);
+ }
+ numlines = 0;
+ lasthead = i + 1;
diff --git a/dev-libs/foma/foma-0.10.0_p20220612.ebuild b/dev-libs/foma/foma-0.10.0_p20220612-r2.ebuild
index 1ba9f8a3597f..070bf16a2140 100644
--- a/dev-libs/foma/foma-0.10.0_p20220612.ebuild
+++ b/dev-libs/foma/foma-0.10.0_p20220612-r2.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
@@ -10,18 +10,32 @@ 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"
+S="${WORKDIR}/foma-${MY_COMMIT}"
LICENSE="Apache-2.0"
SLOT="0/0.10"
KEYWORDS="amd64 x86"
-BDEPEND="sys-devel/bison
- sys-devel/flex"
+BDEPEND="app-alternatives/yacc
+ app-alternatives/lex"
DEPEND="sys-libs/readline:=
sys-libs/zlib"
RDEPEND="${DEPEND}"
-S="${WORKDIR}/foma-${MY_COMMIT}/foma"
+CMAKE_USE_DIR="${WORKDIR}/foma-${MY_COMMIT}/foma"
+
+PATCHES=(
+ "${FILESDIR}"/foma-0.10.0-gcc-13-fixes.patch
+ "${FILESDIR}"/foma-0.10-0-fix-BOM_codes-initializer.patch
+ "${FILESDIR}"/foma-0.10.0_p20220612-fix-incompatible-function-pointer-types.patch
+)
+
+src_test() {
+ local -x PATH="${BUILD_DIR}:${PATH}"
+ pushd foma/tests >/dev/null || die
+ ./run.sh || die
+ popd >/dev/null || die
+}
src_install() {
cmake_src_install
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/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.ebuild b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
index dbadc4d5153a..c13a8a75b37f 100644
--- a/dev-libs/freexl/freexl-2.0.0.ebuild
+++ b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+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"
@@ -10,19 +12,21 @@ 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"
-IUSE="xml"
DEPEND="
+ dev-libs/expat
+ sys-libs/zlib[minizip]
virtual/libiconv
- xml? (
- dev-libs/expat
- sys-libs/zlib[minizip]
- )
"
RDEPEND="${DEPEND}"
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
- econf $(use_enable xml xmldocs)
+ econf --enable-xmldocs
}
src_install() {
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/girara/Manifest b/dev-libs/girara/Manifest
index 1df2222c4687..7db83ba1feba 100644
--- a/dev-libs/girara/Manifest
+++ b/dev-libs/girara/Manifest
@@ -1,2 +1,2 @@
-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.9.ebuild b/dev-libs/girara/girara-0.3.9.ebuild
deleted file mode 100644
index 0bbc7c6f02e7..000000000000
--- a/dev-libs/girara/girara-0.3.9.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
-
-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
index db8d01f651f5..cd469d5dc7e7 100644
--- a/dev-libs/girara/girara-0.4.0-r1.ebuild
+++ b/dev-libs/girara/girara-0.4.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_BRANCH="develop"
else
SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="amd64 arm ~riscv ~x86"
+ KEYWORDS="amd64 arm ~riscv x86"
fi
LICENSE="ZLIB"
@@ -22,7 +22,7 @@ SLOT="0"
IUSE="doc libnotify test"
RESTRICT="!test? ( test )"
-DEPEND="
+RDEPEND="
app-accessibility/at-spi2-core
dev-libs/glib:2
dev-libs/json-glib:=
@@ -33,11 +33,14 @@ DEPEND="
x11-libs/pango
libnotify? ( x11-libs/libnotify )
"
-RDEPEND="${DEPEND}"
+DEPEND="
+ ${RDEPEND}
+ test? ( x11-base/xorg-proto )
+"
# Tests are run under virtx
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? (
dev-libs/check
x11-libs/gtk+:3[X]
diff --git a/dev-libs/girara/girara-0.4.0.ebuild b/dev-libs/girara/girara-0.4.2.ebuild
index 0bbc7c6f02e7..d3394bfb8b18 100644
--- a/dev-libs/girara/girara-0.4.0.ebuild
+++ b/dev-libs/girara/girara-0.4.2.ebuild
@@ -1,20 +1,20 @@
-# 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 meson virtualx
DESCRIPTION="UI library that focuses on simplicity and minimalism"
HOMEPAGE="https://pwmt.org/projects/girara/"
-if [[ ${PV} == *999 ]]; then
+if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://git.pwmt.org/pwmt/${PN}.git"
EGIT_BRANCH="develop"
else
SRC_URI="https://pwmt.org/projects/girara/download/${P}.tar.xz"
- KEYWORDS="amd64 arm ~riscv x86"
+ KEYWORDS="amd64 arm ~arm64 ~riscv x86"
fi
LICENSE="ZLIB"
@@ -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/girara-9999.ebuild b/dev-libs/girara/girara-9999.ebuild
index a00a2c6f2222..5857ec363588 100644
--- a/dev-libs/girara/girara-9999.ebuild
+++ b/dev-libs/girara/girara-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
@@ -19,11 +19,11 @@ fi
LICENSE="ZLIB"
SLOT="0"
-IUSE="doc libnotify test"
+IUSE="doc test"
RESTRICT="!test? ( test )"
-DEPEND="
+RDEPEND="
app-accessibility/at-spi2-core
dev-libs/glib:2
dev-libs/json-glib:=
@@ -32,24 +32,25 @@ DEPEND="
x11-libs/gdk-pixbuf
>=x11-libs/gtk+-3.20:3
x11-libs/pango
- libnotify? ( x11-libs/libnotify )
"
-RDEPEND="${DEPEND}"
# Tests are run under virtx
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )
+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
}
diff --git a/dev-libs/gjs/Manifest b/dev-libs/gjs/Manifest
index 56f37acbbaf4..0967ffcbbf05 100644
--- a/dev-libs/gjs/Manifest
+++ b/dev-libs/gjs/Manifest
@@ -1,2 +1 @@
-DIST gjs-1.76.2.tar.xz 646232 BLAKE2B 66466eeb5f956d5041f4e63ba977dc9a688455770c39bcedd63576f56fde9821ed3c827c470f7e3befbbf7828fbd197706637da458876ec129d6c16323e414e8 SHA512 26b024874ce69a6f58b5fabe006b8d5417971db9de00e21ecd352715b4535f405d162bb81c0cf6b20313f0f78833962080ac1cb9bd42cfff9cf6a74340458540
-DIST gjs-1.78.0.tar.xz 653500 BLAKE2B f2b6c3d80f55c1b3365fdc94dcedec357fc21ec7f92eccdf24cc028eb006538057d0d6e3328bc2f743a563ba496da5daa8585fabd6fbf52acd38c990b8a4e8ba SHA512 28ad3ff5c031b8e78622244918994ca5f510e4b403a382e7d0b0bcb9a0611be61e103398773328be4c405b49d7984c089180a5fb603518b412d01a935fb3ceb3
+DIST gjs-1.78.5.tar.xz 656168 BLAKE2B e1458d000998b66fda90e448ca487e591729e003c3e11a939dc474958b6de55783d41db8de5b243a329361f12acc15a8e84f4131650705becb046b68c54a24a2 SHA512 bb25e52dff53bfbde6d2329027d4ff68849740cf753da58f9bdf5a19ea7b029e2517d67978f461f16660dd1aa48b223798e9c0a24cde0ccb62060e4a0c83a02e
diff --git a/dev-libs/gjs/files/gjs-1.76.0-move_have_gtk4_to_the_appropriate_place.patch b/dev-libs/gjs/files/gjs-1.76.0-move_have_gtk4_to_the_appropriate_place.patch
deleted file mode 100644
index 2bb80126507f..000000000000
--- a/dev-libs/gjs/files/gjs-1.76.0-move_have_gtk4_to_the_appropriate_place.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-# https://gitlab.gnome.org/GNOME/gjs/-/issues/532
-# https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/830/diffs?commit_id=83683d093c157828cf7787e53a32c586ae4e85d3
-diff --git a/installed-tests/js/meson.build b/installed-tests/js/meson.build
-index 6db887d2250face397079b03d215bbd13f455efb..1e953ceb7695356b6e854775e5db005a9c22e053 100644
---- a/installed-tests/js/meson.build
-+++ b/installed-tests/js/meson.build
-@@ -203,9 +203,13 @@ endif
- # during build should be run using dbus-run-session
-
- dbus_tests = ['GDBus']
--if have_gtk4 and not get_option('skip_gtk_tests')
-- # FIXME: find out why GTK4 tries to acquire a message bus
-- dbus_tests += 'Gtk4'
-+if not get_option('skip_gtk_tests')
-+ have_gtk4 = dependency('gtk4', required: false).found()
-+
-+ if have_gtk4
-+ # FIXME: find out why GTK4 tries to acquire a message bus
-+ dbus_tests += 'Gtk4'
-+ endif
- endif
-
- bus_config = files('../../test/test-bus.conf')
-diff --git a/meson.build b/meson.build
-index 3ac372a16b0bfaa364ed7422119f3e6e4af8971e..5c7703935b68c724347692ef5bf47a3edf868c61 100644
---- a/meson.build
-+++ b/meson.build
-@@ -679,10 +679,6 @@ endif
-
- ### Tests and test setups ######################################################
-
--if not get_option('skip_gtk_tests')
-- have_gtk4 = dependency('gtk4', required: false).found()
--endif
--
- subdir('installed-tests')
-
- # Note: The test program in test/ needs to be ported
diff --git a/dev-libs/gjs/gjs-1.76.2.ebuild b/dev-libs/gjs/gjs-1.76.2.ebuild
deleted file mode 100644
index ef4d2148a240..000000000000
--- a/dev-libs/gjs/gjs-1.76.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
-
-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-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
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.76.0-move_have_gtk4_to_the_appropriate_place.patch"
-)
-
-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.0.ebuild b/dev-libs/gjs/gjs-1.78.5.ebuild
index 3f77c1d06628..0266c267beac 100644
--- a/dev-libs/gjs/gjs-1.78.0.ebuild
+++ b/dev-libs/gjs/gjs-1.78.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
@@ -11,7 +11,7 @@ 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"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
RESTRICT="!test? ( test )"
RDEPEND="
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
index 209fbfbe94d2..c46b7e68014f 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -1,4 +1,4 @@
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
-DIST glib-2.78.0.tar.xz 5327096 BLAKE2B 3a494a16d12b17c7986bbe865d5e3b2727d40e7272fbb34897a90173c0fb780b0e7f024042f60ac6d1fcb9a2a4731948b6ac733c2bd6bd27c32b97281e20fc72 SHA512 3d06890002f4b13f831c83fbb70cfce529f9750e30888619e4d6277116be15d106379a03143412cf4b2a289c0cbdbbc299ecf17284fbffc06c791ecf7556c765
-DIST glib-2.78.1.tar.xz 5320740 BLAKE2B af8f2e83600dfb3ec84702399cb00a3aaedbc80087e35dc7cc2e2374d4fe5fdf82707ac8c911da1c53eb7b027c9da9ecfc1c0a8f56b39431fa4cf44cad5b10f7 SHA512 aa9ed9195951b00ac8221e958ea337fbda82621a862ef8f29dc2ea396a6253ce51c2a0a498dfa4e12642f1836f85f9564f09991979ae85c5ed4368355d857376
DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010a8816a0cef786cec9da2af9f7d7d1da735c971ab8c848b2dcec050330e5b0fdceb156a36d739848e6160cd19 SHA512 9c1af75fb973d23ce0286d5b7836eea45f9628c148ced5ac10e10abceda05024ae4c57f01439824d3287d986527500b7b959828b630b6e4a3314b5224f4d7246
+DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6
+DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da
diff --git a/dev-libs/glib/files/glib-2.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.76.4.ebuild b/dev-libs/glib/glib-2.76.4.ebuild
index b5bb50fb4a38..356bd10b8796 100644
--- a/dev-libs/glib/glib-2.76.4.ebuild
+++ b/dev-libs/glib/glib-2.76.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -49,7 +49,7 @@ BDEPEND="
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 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
${PYTHON_DEPS}
test? ( >=sys-apps/dbus-1.2.14 )
virtual/pkgconfig
@@ -179,7 +179,7 @@ multilib_src_configure() {
#fi
local emesonargs=(
- --buildtype $(usex debug debug plain)
+ -Dbuildtype=$(usex debug debug plain)
-Ddefault_library=$(usex static-libs both shared)
-Druntime_dir="${EPREFIX}"/run
$(meson_feature selinux)
@@ -217,7 +217,7 @@ multilib_src_test() {
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- meson_src_test --timeout-multiplier 2 --no-suite flaky
+ meson_src_test --timeout-multiplier 20 --no-suite flaky
}
multilib_src_install() {
diff --git a/dev-libs/glib/glib-2.78.3.ebuild b/dev-libs/glib/glib-2.78.3.ebuild
index 642ad1b40159..356bd10b8796 100644
--- a/dev-libs/glib/glib-2.78.3.ebuild
+++ b/dev-libs/glib/glib-2.78.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
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"
+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
@@ -49,7 +49,7 @@ BDEPEND="
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 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
${PYTHON_DEPS}
test? ( >=sys-apps/dbus-1.2.14 )
virtual/pkgconfig
@@ -179,7 +179,7 @@ multilib_src_configure() {
#fi
local emesonargs=(
- --buildtype $(usex debug debug plain)
+ -Dbuildtype=$(usex debug debug plain)
-Ddefault_library=$(usex static-libs both shared)
-Druntime_dir="${EPREFIX}"/run
$(meson_feature selinux)
@@ -217,7 +217,7 @@ multilib_src_test() {
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- meson_src_test --timeout-multiplier 2 --no-suite flaky
+ meson_src_test --timeout-multiplier 20 --no-suite flaky
}
multilib_src_install() {
diff --git a/dev-libs/glib/glib-2.78.0.ebuild b/dev-libs/glib/glib-2.78.4-r1.ebuild
index 642ad1b40159..f3dbbeb1f18b 100644
--- a/dev-libs/glib/glib-2.78.0.ebuild
+++ b/dev-libs/glib/glib-2.78.4-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
@@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
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"
+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
@@ -49,8 +49,11 @@ BDEPEND="
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 )
+ 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
"
@@ -69,8 +72,14 @@ MULTILIB_CHOST_TOOLS=(
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"
@@ -179,7 +188,7 @@ multilib_src_configure() {
#fi
local emesonargs=(
- --buildtype $(usex debug debug plain)
+ $(meson_feature debug glib_debug)
-Ddefault_library=$(usex static-libs both shared)
-Druntime_dir="${EPREFIX}"/run
$(meson_feature selinux)
@@ -217,7 +226,7 @@ multilib_src_test() {
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- meson_src_test --timeout-multiplier 2 --no-suite flaky
+ meson_src_test --timeout-multiplier 20 --no-suite flaky
}
multilib_src_install() {
diff --git a/dev-libs/glib/glib-2.78.1.ebuild b/dev-libs/glib/glib-2.78.6.ebuild
index 642ad1b40159..4cb3fb6b75e4 100644
--- a/dev-libs/glib/glib-2.78.1.ebuild
+++ b/dev-libs/glib/glib-2.78.6.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_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
@@ -16,7 +16,7 @@ IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test u
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"
+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
@@ -49,8 +49,11 @@ BDEPEND="
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 )
+ 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
"
@@ -69,8 +72,13 @@ MULTILIB_CHOST_TOOLS=(
PATCHES=(
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+ "${FILESDIR}"/${PN}-2.78.4-distutils.patch
)
+python_check_deps() {
+ python_has_version "dev-python/packaging[${PYTHON_USEDEP}]"
+}
+
pkg_setup() {
if use kernel_linux ; then
CONFIG_CHECK="~INOTIFY_USER"
@@ -179,7 +187,7 @@ multilib_src_configure() {
#fi
local emesonargs=(
- --buildtype $(usex debug debug plain)
+ $(meson_feature debug glib_debug)
-Ddefault_library=$(usex static-libs both shared)
-Druntime_dir="${EPREFIX}"/run
$(meson_feature selinux)
@@ -217,7 +225,7 @@ multilib_src_test() {
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- meson_src_test --timeout-multiplier 2 --no-suite flaky
+ meson_src_test --timeout-multiplier 20 --no-suite flaky
}
multilib_src_install() {
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 c5c32b61bb00..f608314fdb57 100644
--- a/dev-libs/gmime/Manifest
+++ b/dev-libs/gmime/Manifest
@@ -1,3 +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 60b674958ab5..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
@@ -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 fa8d03b5bbaa..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"
-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
index d1e213df5247..209667ccf128 100644
--- a/dev-libs/gmime/gmime-3.2.14.ebuild
+++ b/dev-libs/gmime/gmime-3.2.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/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"
+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 )"
@@ -29,7 +29,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 )
"
diff --git a/dev-libs/gmp/Manifest b/dev-libs/gmp/Manifest
index bb161b9f1dee..9ad925e475bf 100644
--- a/dev-libs/gmp/Manifest
+++ b/dev-libs/gmp/Manifest
@@ -1,4 +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-r5.ebuild b/dev-libs/gmp/gmp-6.2.1-r5.ebuild
deleted file mode 100644
index dc9a1c129771..000000000000
--- a/dev-libs/gmp/gmp-6.2.1-r5.ebuild
+++ /dev/null
@@ -1,182 +0,0 @@
-# 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 )
-"
-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 ~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
- "${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() {
- # Generally a very fragile package
- strip-flags
- # Miscompiled with LTO at least on arm64, bug #889948
- 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)
- )
-
- # 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.ebuild b/dev-libs/gmp/gmp-6.3.0-r1.ebuild
index 2cb6293940af..ee4311e99aaa 100644
--- a/dev-libs/gmp/gmp-6.3.0.ebuild
+++ b/dev-libs/gmp/gmp-6.3.0-r1.ebuild
@@ -163,6 +163,14 @@ multilib_src_configure() {
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[@]}"
}
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-2024.01.01.10.31.48.ebuild
index 304883cf516e..fca8f100970f 100644
--- a/dev-libs/gnulib/gnulib-2022.02.12.16.27.05.ebuild
+++ b/dev-libs/gnulib/gnulib-2024.01.01.10.31.48.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
-GIT_TAG="9f48fb992a3d7e96610c4ce8be969cff2d61a01b"
+GIT_TAG="5b92dd0a45c8d27f13a21076b57095ea5e220870"
DESCRIPTION="Library of common routines intended to be shared"
HOMEPAGE="https://www.gnu.org/software/gnulib"
@@ -11,7 +11,7 @@ SRC_URI="https://git.savannah.gnu.org/cgit/${PN}.git/snapshot/${PN}-${GIT_TAG}.t
LICENSE="GPL-3+ LGPL-2.1+ FDL-1.3+"
SLOT="0"
-KEYWORDS="~x64-macos ~x64-solaris"
+KEYWORDS="~arm64-macos ~x64-macos ~x64-solaris"
IUSE="doc"
S="${WORKDIR}/${PN}-${GIT_TAG}"
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
index 8918bd9672fe..ff5affc72f6f 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ HOMEPAGE="https://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"
+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:
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.76.1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.76.1.ebuild
index 256ebb39ff23..dd5dc146ec03 100644
--- a/dev-libs/gobject-introspection/gobject-introspection-1.76.1.ebuild
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.76.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -40,7 +40,7 @@ BDEPEND="
app-text/docbook-xml-dtd:4.5
)
sys-devel/bison
- sys-devel/flex
+ app-alternatives/lex
test? (
x11-libs/cairo[glib]
$(python_gen_cond_dep '
diff --git a/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild b/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
index 56ef5420626c..b9506b1ab48c 100644
--- a/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
@@ -1,27 +1,30 @@
-# 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_{10..11} )
+PYTHON_COMPAT=( python3_{10..13} )
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"
+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"
+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}]
@@ -40,7 +43,7 @@ BDEPEND="
app-text/docbook-xml-dtd:4.5
)
sys-devel/bison
- sys-devel/flex
+ app-alternatives/lex
test? (
x11-libs/cairo[glib]
$(python_gen_cond_dep '
@@ -50,6 +53,8 @@ BDEPEND="
)
"
+PATCHES=( "${FILESDIR}/${P}-tests-py312.patch" )
+
pkg_setup() {
python-single-r1_pkg_setup
}
diff --git a/dev-libs/gom/Manifest b/dev-libs/gom/Manifest
index c60d37e387af..394ee5dc8317 100644
--- a/dev-libs/gom/Manifest
+++ b/dev-libs/gom/Manifest
@@ -1 +1,3 @@
DIST gom-0.4.tar.xz 102744 BLAKE2B 8116ac388a56e85effbb37c3d5ea5036f6de2f4ad7ee8fe119bd058e1ac3e293eab612a739cdba7467202bc9e258f7cd65b1f116e146577d3a103fc03afba37f SHA512 d847928ce09c53a3f64777c313cb843052e5e001873f29d3f7acf02772cadf0e4b133fb0137aa0463b4ff95dd54810bde87062d8e396ff4fc6d142ba59c8e9c8
+DIST gom-0.5.1.tar.xz 106004 BLAKE2B 60cb744a77b4f7069430d27a88c6dce87cb5229758c637a49aa0ed05ff659099ba33923e5f576d797776b5af576beb57b0790633a1866f048279d5ae04e74f54 SHA512 6757a664f21cd8c1fb78b6446ed833e7290c9b91a39029363984049af840cd2685f43ebb184f7c966d9e395a1080454c182637fd64a1ff8b63272f4649db6a8a
+DIST gom-0.5.2.tar.xz 106068 BLAKE2B 4510f4e5c7cb85c2e05f43978d9995192a05d1270af9bb2ac16d44a57a76d4b31b2ffff8f8548cbd59f564ab59b903000090edc53d05ea0999a29250ec87e978 SHA512 e82e628a62da2a93282f75ebfd2ec158c54b734a107418972085520536f8aebf50701253afb3a2fa3927c637d75403881aed96c175fcf9ae9f71a735f16f6f19
diff --git a/dev-libs/gom/gom-0.4.ebuild b/dev-libs/gom/gom-0.4.ebuild
index 586b7eb92c0f..f4bdfe376d17 100644
--- a/dev-libs/gom/gom-0.4.ebuild
+++ b/dev-libs/gom/gom-0.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=7
GCONF_DEBUG="yes"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org meson python-r1
diff --git a/dev-libs/gom/gom-0.5.1.ebuild b/dev-libs/gom/gom-0.5.1.ebuild
new file mode 100644
index 000000000000..f5f66a8129c5
--- /dev/null
+++ b/dev-libs/gom/gom-0.5.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GCONF_DEBUG="yes"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome.org meson python-r1
+
+DESCRIPTION="GObject to SQLite object mapper library"
+HOMEPAGE="https://wiki.gnome.org/Projects/Gom"
+
+LICENSE="LGPL-2+ FDL-1.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gtk-doc +introspection python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( introspection ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-db/sqlite-3.7:3
+ >=dev-libs/glib-2.38:2
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+ python? ( ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.16:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ gtk-doc? ( dev-util/gi-docgen )
+ virtual/pkgconfig
+ test? ( x11-libs/gdk-pixbuf:2 )
+"
+
+src_prepare() {
+ default
+ sed -i -e '/subdir.*python/d' bindings/meson.build || die
+ # drop test building and deps if not enabled
+ if ! use test; then
+ sed -i -e '/gdkpixbuf_dep/d' meson.build || die
+ sed -i -e '/subdir(.*tests.*)/d' meson.build || die
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use introspection enable-introspection)
+ $(meson_use gtk-doc enable-gtk-doc)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ docinto examples
+ dodoc examples/*.py
+
+ meson_src_install
+
+ if use python; then
+ python_foreach_impl python_domodule bindings/python/gi
+ fi
+}
diff --git a/dev-libs/gom/gom-0.5.2.ebuild b/dev-libs/gom/gom-0.5.2.ebuild
new file mode 100644
index 000000000000..52f1a74dddf9
--- /dev/null
+++ b/dev-libs/gom/gom-0.5.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GCONF_DEBUG="yes"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit gnome.org meson python-r1
+
+DESCRIPTION="GObject to SQLite object mapper library"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gom"
+
+LICENSE="LGPL-2+ FDL-1.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gtk-doc +introspection python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( introspection ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND=""
+RDEPEND="
+ >=dev-db/sqlite-3.7:3
+ >=dev-libs/glib-2.38:2
+ introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
+ python? ( ${PYTHON_DEPS}
+ >=dev-python/pygobject-3.16:3[${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ gtk-doc? ( dev-util/gi-docgen )
+ virtual/pkgconfig
+ test? ( x11-libs/gdk-pixbuf:2 )
+"
+
+src_prepare() {
+ default
+ sed -i -e '/subdir.*python/d' bindings/meson.build || die
+ # drop test building and deps if not enabled
+ if ! use test; then
+ sed -i -e '/gdkpixbuf_dep/d' meson.build || die
+ sed -i -e '/subdir(.*tests.*)/d' meson.build || die
+ fi
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use introspection enable-introspection)
+ $(meson_use gtk-doc enable-gtk-doc)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ docinto examples
+ dodoc examples/*.py
+
+ meson_src_install
+
+ if use python; then
+ python_foreach_impl python_domodule bindings/python/gi
+ fi
+}
diff --git a/dev-libs/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 5e603f726d52..170e614ce6f0 100644
--- a/dev-libs/gumbo/Manifest
+++ b/dev-libs/gumbo/Manifest
@@ -1,2 +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 038fc1665b99..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-2023 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 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
index d9530b04ba6e..6f628ab1e141 100644
--- a/dev-libs/gumbo/gumbo-0.11.0.ebuild
+++ b/dev-libs/gumbo/gumbo-0.11.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
@@ -17,7 +17,7 @@ IUSE="doc test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-cpp/gtest )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
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/half/half-1.12.0-r1.ebuild b/dev-libs/half/half-1.12.0-r1.ebuild
new file mode 100644
index 000000000000..ce8d4509174c
--- /dev/null
+++ b/dev-libs/half/half-1.12.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
+
+DESCRIPTION="Half-precision floating-point library"
+HOMEPAGE="https://github.com/ROCm/half"
+SRC_URI="https://github.com/ROCm/half/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64"
+
+src_install() {
+ insinto /usr/include/half
+ doins include/half.hpp
+}
diff --git a/dev-libs/half/half-1.12.0.ebuild b/dev-libs/half/half-1.12.0.ebuild
deleted file mode 100644
index ac2051bdc10b..000000000000
--- a/dev-libs/half/half-1.12.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Half-precision floating-point library"
-HOMEPAGE="http://half.sourceforge.net/"
-SRC_URI="https://github.com/ROCmSoftwarePlatform/half/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-KEYWORDS="~amd64"
-SLOT="0/$(ver_cut 1)"
-
-src_install() {
- cd include || die
- doheader half.hpp
-}
diff --git a/dev-libs/half/metadata.xml b/dev-libs/half/metadata.xml
index e74d41fd607c..64e8126aa406 100644
--- a/dev-libs/half/metadata.xml
+++ b/dev-libs/half/metadata.xml
@@ -12,4 +12,11 @@
<email>xgreenlandforwyy@gmail.com</email>
<name>Yiyang Wu</name>
</maintainer>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</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 285479f7ad3a..3bece08534c5 100644
--- a/dev-libs/hidapi/Manifest
+++ b/dev-libs/hidapi/Manifest
@@ -1,4 +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
index d2f94dbee7e0..2e02a10b8d7d 100644
--- a/dev-libs/hidapi/hidapi-0.13.1-r1.ebuild
+++ b/dev-libs/hidapi/hidapi-0.13.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ 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"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="doc"
DEPEND="
@@ -19,7 +19,7 @@ DEPEND="
virtual/libudev:0[${MULTILIB_USEDEP}]"
RDEPEND="${DEPEND}"
BDEPEND="
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )"
S="${WORKDIR}/${PN}-${P}"
diff --git a/dev-libs/hidapi/hidapi-0.14.0.ebuild b/dev-libs/hidapi/hidapi-0.14.0.ebuild
index 7127187ea5b3..8713c3db7850 100644
--- a/dev-libs/hidapi/hidapi-0.14.0.ebuild
+++ b/dev-libs/hidapi/hidapi-0.14.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 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="|| ( BSD GPL-3 HIDAPI )"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="doc"
DEPEND="
@@ -20,7 +20,7 @@ DEPEND="
virtual/libudev:0[${MULTILIB_USEDEP}]
"
RDEPEND="${DEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
multilib_src_configure() {
append-lfs-flags
diff --git a/dev-libs/hidapi/metadata.xml b/dev-libs/hidapi/metadata.xml
index 2b526d40b73c..2493acc7ce5b 100644
--- a/dev-libs/hidapi/metadata.xml
+++ b/dev-libs/hidapi/metadata.xml
@@ -2,9 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
- <use>
- <flag name="fox">Build a <pkg>x11-libs/fox</pkg> GUI</flag>
- </use>
<upstream>
<remote-id type="github">libusb/hidapi</remote-id>
</upstream>
diff --git a/dev-libs/hipother/Manifest b/dev-libs/hipother/Manifest
new file mode 100644
index 000000000000..0c54674e72c0
--- /dev/null
+++ b/dev-libs/hipother/Manifest
@@ -0,0 +1 @@
+DIST hipother-6.1.1.tar.gz 33496 BLAKE2B 026967cb298a888df441d543d70478836036b81dc26c8284410076daf18eb28dc42f7d4b6aaf2bfaa8b6c957ada8244afc0e7c40882c0370bc2b6a0ae94ffaf8 SHA512 ca4d5df9e3138e845be051aace8fb02d84b879439e6bc9ca1551853f80f54b554b9cad1a91c6c114160b21d3ca62fa47a88e32efe60c0f475ff8b56f7f18b5d4
diff --git a/dev-libs/hipother/hipother-6.1.1.ebuild b/dev-libs/hipother/hipother-6.1.1.ebuild
new file mode 100644
index 000000000000..d842c224a91d
--- /dev/null
+++ b/dev-libs/hipother/hipother-6.1.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="ROCclr runtime implementation for non-AMD HIP platforms, like NVIDIA"
+HOMEPAGE="https://github.com/ROCm/hipother"
+SRC_URI="https://github.com/ROCm/hipother/archive/refs/tags/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/hipother-rocm-${PV}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+src_install() {
+ insinto /usr/include
+ doins -r hipnv/include/hip
+}
diff --git a/dev-libs/clhpp/metadata.xml b/dev-libs/hipother/metadata.xml
index 4fab41399c23..9d92b0b0e73f 100644
--- a/dev-libs/clhpp/metadata.xml
+++ b/dev-libs/hipother/metadata.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
<maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
</maintainer>
<upstream>
- <remote-id type="github">KhronosGroup/OpenCL-CLHPP</remote-id>
+ <remote-id type="github">ROCm/hipother</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/hiredict/Manifest b/dev-libs/hiredict/Manifest
new file mode 100644
index 000000000000..2f0539354c7c
--- /dev/null
+++ b/dev-libs/hiredict/Manifest
@@ -0,0 +1 @@
+DIST hiredict-1.3.1.tar.gz 118800 BLAKE2B 8d051ff9aa0f3f50acca96fa85c40369665769f4ddc2d5275eb19a279196a5ec571f6099f32b820447cdf89c95f88a0350ca70ed58acedfce82bd4d3cd41ded4 SHA512 208672d4dbdcc8bf21cff494ea2191b97b9d67b2c4b5a4f94e2c165613315b28b09e9e03de0495a069320df671e3f9d22a43209f175c2aae71550b0d832c0112
diff --git a/dev-libs/hiredict/files/hiredict-1.3.1-disable-network-tests.patch b/dev-libs/hiredict/files/hiredict-1.3.1-disable-network-tests.patch
new file mode 100644
index 000000000000..94562b57e3ad
--- /dev/null
+++ b/dev-libs/hiredict/files/hiredict-1.3.1-disable-network-tests.patch
@@ -0,0 +1,16 @@
+diff --git a/test.c b/test.c
+index 48d53e9..91bc794 100644
+--- a/test.c
++++ b/test.c
+@@ -2459,9 +2467,11 @@ int main(int argc, char **argv) {
+ }
+ #endif /* HIREDICT_TEST_ASYNC */
+
++#if 0
+ cfg.type = CONN_TCP;
+ printf("\nTesting asynchronous API using polling_adapter TCP (%s:%d):\n", cfg.tcp.host, cfg.tcp.port);
+ test_async_polling(cfg);
++#endif
+ if (test_unix_socket) {
+ cfg.type = CONN_UNIX;
+ printf("\nTesting asynchronous API using polling_adapter UNIX (%s):\n", cfg.unix_sock.path);
diff --git a/dev-libs/hiredict/hiredict-1.3.1.ebuild b/dev-libs/hiredict/hiredict-1.3.1.ebuild
new file mode 100644
index 000000000000..bd7927c958a2
--- /dev/null
+++ b/dev-libs/hiredict/hiredict-1.3.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Minimalistic C client library for the Redict database"
+HOMEPAGE="https://codeberg.org/redict/hiredict"
+SRC_URI="https://codeberg.org/redict/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+S=${WORKDIR}/${PN}
+
+LICENSE="BSD LGPL-3"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="shim ssl static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ssl? ( dev-libs/openssl:= )
+ shim? ( !dev-libs/hiredis )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ dev-db/redict
+ dev-libs/libevent
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.1-disable-network-tests.patch
+)
+
+_build() {
+ tc-export AR CC
+ local myconf=(
+ AR="${AR}"
+ CC="${CC}"
+ CFLAGS="${CFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ DESTDIR="${ED}"
+ PREFIX="/usr"
+ LIBRARY_PATH="$(get_libdir)"
+ USE_SSL=$(usex ssl 1 0)
+ TEST_ASYNC=$(usex test 1 0)
+ DEBUG_FLAGS=
+ OPTIMIZATION=
+ USE_WERROR=0
+ )
+ emake "${myconf[@]}" "$@"
+}
+
+src_compile() {
+ # The static lib re-uses the same objects as the shared lib, so
+ # overhead is low w/creating it all the time. It's also needed
+ # by the tests.
+ _build dynamic static hiredict{,_ssl}.pc
+}
+
+src_test() {
+ # Compare with https://codeberg.org/redict/hiredict/src/tag/1.3.1/Makefile#L37
+ local REDICT_PID="${T}"/hiredict.pid
+ local REDICT_SOCK="${T}"/hiredict.sock
+ local REDICT_PORT=56379
+ local REDICT_TEST_CONFIG="
+ daemonize yes
+ pidfile ${REDICT_PID}
+ port ${REDICT_PORT}
+ bind 127.0.0.1
+ unixsocket //${REDICT_SOCK}
+ "
+
+ _build hiredict-test
+
+ "${EPREFIX}"/usr/bin/redict-server - <<< "${REDICT_TEST_CONFIG}" || die
+ ./hiredict-test -h 127.0.0.1 -p ${REDICT_PORT} -s ${REDICT_SOCK}
+ local ret=$?
+
+ kill "$(<"${REDICT_PID}")" || die
+ [[ ${ret} != "0" ]] && die "tests failed"
+}
+
+src_install() {
+ _build install
+
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ if ! use shim; then
+ find "${ED}" -type d -name 'hiredis' -exec rm -r {} + || die
+ find "${ED}" -name 'hiredis*.pc' -delete || die
+ fi
+}
diff --git a/dev-libs/hiredict/metadata.xml b/dev-libs/hiredict/metadata.xml
new file mode 100644
index 000000000000..8184c9d384cc
--- /dev/null
+++ b/dev-libs/hiredict/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>navi@vlhl.dev</email>
+ <name>Anna (navi) Figueiredo Gomes</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <slots>
+ <subslots>Reflect ABI of libhiredict.so.</subslots>
+ </slots>
+ <upstream>
+ <remote-id type="codeberg">redict/hiredict</remote-id>
+ </upstream>
+ <use>
+ <flag name="shim">
+ Install header shims for the hiredis api.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/hiredis/Manifest b/dev-libs/hiredis/Manifest
index 171a4ffec6a0..54d9108948d7 100644
--- a/dev-libs/hiredis/Manifest
+++ b/dev-libs/hiredis/Manifest
@@ -1,2 +1,3 @@
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-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-1.0.2-r3.ebuild b/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild
index b990a555460f..178cf593343d 100644
--- a/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild
+++ b/dev-libs/hiredis/hiredis-1.0.2-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -66,7 +66,7 @@ src_test() {
_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}
+ ./hiredis-test -h 127.0.0.1 -p ${REDIS_PORT} -s ${REDIS_SOCK}
local ret=$?
kill "$(<"${REDIS_PID}")" || die
diff --git a/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild b/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild
index 193ec8133864..00de629c89c3 100644
--- a/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild
+++ b/dev-libs/hiredis/hiredis-1.1.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ 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"
+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 )"
@@ -27,7 +27,7 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}"/${PN}-1.0.0-disable-network-tests.patch
+ "${FILESDIR}"/${PN}-1.1.0-disable-network-tests.patch
)
src_prepare() {
@@ -73,7 +73,7 @@ src_test() {
_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}
+ ./hiredis-test -h 127.0.0.1 -p ${REDIS_PORT} -s ${REDIS_SOCK}
local ret=$?
kill "$(<"${REDIS_PID}")" || die
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/http-fetcher-1.1.0-r2.ebuild b/dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild
index 97ad5484327a..91a857a37421 100644
--- a/dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild
+++ b/dev-libs/http-fetcher/http-fetcher-1.1.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,16 +8,15 @@ inherit autotools
MY_P="${P/-/_}"
DESCRIPTION="Library for downloading files via HTTP using the GET method"
-HOMEPAGE="http://http-fetcher.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="https://http-fetcher.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 ppc x86"
IUSE="debug"
-S="${WORKDIR}/${MY_P}"
-
PATCHES=(
"${FILESDIR}"/${PN}-1.1.0-underquoted-http-fetcher-macro.patch
)
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 92924af20c50..000000000000
--- a/dev-libs/hyperscan/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST hyperscan-5.4.2.tar.gz 1848851 BLAKE2B a4539df7c6a4b5f097effa67bc777c37ff02aae356953acd4ffe871f621c556f6357c37ad813db144ed50af21881838946b7cb5ef9ea345412de908b84497dac SHA512 328f21133161d16b36ebdc7f8b80a7afe7ca9e7e7433348e9bfa9acb5f3641522e8314beea1b219891f4e95f1392ff8036ebb87780fe808b8b4bd15a535e9509
diff --git a/dev-libs/hyperscan/hyperscan-5.4.2.ebuild b/dev-libs/hyperscan/hyperscan-5.4.2.ebuild
deleted file mode 100644
index 7c6fac198c94..000000000000
--- a/dev-libs/hyperscan/hyperscan-5.4.2.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
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-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"
-
-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
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_STATIC_AND_SHARED=OFF
- -DBUILD_EXAMPLES=OFF
- -DFAT_RUNTIME=false
- )
- cmake_src_configure
-}
-
-src_test() {
- "${BUILD_DIR}"/bin/unit-hyperscan || die
-}
-
-pkg_postinst() {
- if has_version '<mail-filter/rspamd-3.5'; then
- elog "There is known issue with <mail-filter/rspamd-3.5 when hyperscan version changes."
- elog "Known workaround is to remove hyperscan databases ${EROOT}/var/lib/rspamd/*.hs*"
- elog "See https://github.com/rspamd/rspamd/issues/4409 for more information."
- fi
-}
diff --git a/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild b/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild
index f53aaa413168..cdc8be439f21 100644
--- a/dev-libs/hyphen/hyphen-2.8.8-r2.ebuild
+++ b/dev-libs/hyphen/hyphen-2.8.8-r2.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
DESCRIPTION="ALTLinux hyphenation library"
HOMEPAGE="https://hunspell.github.io/"
-SRC_URI="mirror://sourceforge/hunspell/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/hunspell/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1 MPL-1.1"
SLOT="0"
diff --git a/dev-libs/hyprland-protocols/Manifest b/dev-libs/hyprland-protocols/Manifest
index a058aba02473..9fc1c3932385 100644
--- a/dev-libs/hyprland-protocols/Manifest
+++ b/dev-libs/hyprland-protocols/Manifest
@@ -1 +1,2 @@
-DIST hyprland-protocols-0.2.tar.gz 6343 BLAKE2B cffa25c1fbac992db9aee57956615c2a5f8a6e90150d86246218e6d346e566a43527f56cab08b07359bd2f56b1e02b741fb0dbb37ec35fbadd22dfdb2006d3b0 SHA512 f8534c0f6562ce3c770ed9c79b8b78504d6f3aa75001c74ecfa5418af939e88a020ca1cef08d20c62e73c764d66452b5ce212a0f0d2e9a3aaba635ee80b142c5
+DIST hyprland-protocols-0.2.gh.tar.gz 6342 BLAKE2B a5179bc465156043903a5f17b1a4593ca15694ef22c52b1ba8a306d3680f1443a3c2ccf5947ace533244cc5b19ce02e8f3014053984f121f8e049882c1e21fa0 SHA512 cd1f9309a69236d6fd2ffc1a09f5f8a1196f357367779c08f30aeaaca7646be364c40fa8c207751012873085d24581fe7b7252c825e89958c20adfb48b029274
+DIST hyprland-protocols-0.3.0.gh.tar.gz 7423 BLAKE2B 1ecc6625152e9bd530490d8321dcbe41396dd7306066f6cd6d97c22a0ebb2c914348b6829e8d5e210f07807a7df282a1cc63fa44a93bd08df22987850bd27a3a SHA512 15bb0c45eed1949d888d228c671139fefd48e32d634823ed8041a4901e15e73409b0fd368d4c1f6197bd6980e723b20303697ad46b1171330cfd27821118ba32
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-0.2.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild
index bd84f17c8f6a..0de43fcf06fb 100644
--- a/dev-libs/hyprland-protocols/hyprland-protocols-0.2.ebuild
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-0.2-r1.ebuild
@@ -1,22 +1,24 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
-COMMIT=4d29e48433270a2af06b8bc711ca1fe5109746cd
DESCRIPTION="Wayland protocol extensions for Hyprland"
HOMEPAGE="https://github.com/hyprwm/hyprland-protocols"
-SRC_URI="https://github.com/hyprwm/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${COMMIT}"
-KEYWORDS="amd64 ~riscv"
+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"
-RDEPEND=""
-DEPEND="${RDEPEND}"
BDEPEND="
dev-util/wayland-scanner
virtual/pkgconfig
diff --git a/dev-libs/hyprland-protocols/hyprland-protocols-0.3.0.ebuild b/dev-libs/hyprland-protocols/hyprland-protocols-0.3.0.ebuild
new file mode 100644
index 000000000000..f5179590cd2f
--- /dev/null
+++ b/dev-libs/hyprland-protocols/hyprland-protocols-0.3.0.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/hyprlang/Manifest b/dev-libs/hyprlang/Manifest
new file mode 100644
index 000000000000..f26f252d45e6
--- /dev/null
+++ b/dev-libs/hyprlang/Manifest
@@ -0,0 +1,3 @@
+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
+DIST hyprlang-0.5.2.gh.tar.gz 56383 BLAKE2B 0d7708532e5169b0b0c2d5f88927ead24941af157c668832bdc67f4e87da1737d9f17d6d26b2424519bce4b54e4912c44ef879546d699ba03e270cab73652a89 SHA512 df330da11da317ff6aac2eb4a65c81b6cf4fc85e79f117e3fc3ef6e06d4c857d03134be9fcdc4e33f4974a4b2181e45b6009dba70ed047cda38e32df289b60a7
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/hyprlang-0.5.2.ebuild b/dev-libs/hyprlang/hyprlang-0.5.2.ebuild
new file mode 100644
index 000000000000..4c7b562223db
--- /dev/null
+++ b/dev-libs/hyprlang/hyprlang-0.5.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/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 381ce67ae809..3d19e1edbdef 100644
--- a/dev-libs/icinga-php-library/Manifest
+++ b/dev-libs/icinga-php-library/Manifest
@@ -1,4 +1,5 @@
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.13.2.tar.gz 3331353 BLAKE2B 314daee2d88790304e104603f7228017d15b3c378f560110b98125786b1f9b0a3720e50ef8066f8e21a71e1427ee3a9e3de6b35efa789b79cb05077b67be0772 SHA512 09c8d6902c0e627ca583bf161008cc07df178bc619e5affc5a42da508f2a90028bb59d1ea4288d8f4224a631861d7893bcd3157ecc419f296b8e7bb83c3d904c
DIST icinga-php-library-0.6.1.tar.gz 2159137 BLAKE2B 93287845a6c06653faca1850b18c880d023d4bf22c707616a21b92bd252661c811a33c7515fbf19a06936358244c7703bae83cc2e44dee460fe7a46bfa82d345 SHA512 64800727e60630224993bda89494921a3e10f14ccb43b8f57d023b372806ce9253cdf7f6e933df8b494ef0369784714ac857fb288f7f08880c29e8643f25e2ec
DIST icinga-php-library-0.8.1.tar.gz 2183054 BLAKE2B 56108f3251211c05ba29827ece49ea1b27bc22b0f0ae459a2f34d5f2ed106ebac1e14c15e1f69c4a3d862d163a0e1265ccb9e5ab0123e24a18e72549af1ee951 SHA512 3da7ad25c569651bc29757a89971d9dfce4cae177619ef70bcb93f1c155400b68ee8b76279b4914454edef41de0cb4d729c47446df622b04494987e0bf4e1098
diff --git a/dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild
index c2b93055e450..4ca8bf907eb8 100644
--- a/dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.10.0.ebuild
@@ -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
@@ -14,7 +14,6 @@ KEYWORDS="~amd64 ~x86"
DEPEND="dev-lang/php:*"
RDEPEND="${DEPEND}"
-BDEPEND=""
src_install() {
insinto "/usr/share/icinga-php/ipl"
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
index a4f2138aa497..b961f6d4f390 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,11 +10,10 @@ SRC_URI="https://github.com/${MY_GITHUB_AUTHOR}/${PN}/archive/refs/tags/v${PV}.t
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
DEPEND="dev-lang/php:*"
RDEPEND="${DEPEND}"
-BDEPEND=""
src_install() {
insinto "/usr/share/icinga-php/ipl"
diff --git a/dev-libs/icinga-php-library/icinga-php-library-0.13.2.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.13.2.ebuild
new file mode 100644
index 000000000000..26598e685221
--- /dev/null
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.13.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2021-2024 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 ~arm64 ~x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ insinto "/usr/share/icinga-php/ipl"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icinga-php-library/icinga-php-library-0.6.1-r1.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.6.1-r1.ebuild
index 1b34dada2f29..7d08e5c7f355 100644
--- a/dev-libs/icinga-php-library/icinga-php-library-0.6.1-r1.ebuild
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.6.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,6 @@ KEYWORDS="amd64 x86"
DEPEND="dev-lang/php:*"
RDEPEND="${DEPEND}"
-BDEPEND=""
src_install() {
insinto "/usr/share/icinga-php/ipl"
diff --git a/dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild b/dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild
index e070fef06505..7d08e5c7f355 100644
--- a/dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild
+++ b/dev-libs/icinga-php-library/icinga-php-library-0.8.1.ebuild
@@ -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
@@ -14,7 +14,6 @@ KEYWORDS="amd64 x86"
DEPEND="dev-lang/php:*"
RDEPEND="${DEPEND}"
-BDEPEND=""
src_install() {
insinto "/usr/share/icinga-php/ipl"
diff --git a/dev-libs/icinga-php-library/metadata.xml b/dev-libs/icinga-php-library/metadata.xml
index 5c76f7a3fc67..c9654490f7ae 100644
--- a/dev-libs/icinga-php-library/metadata.xml
+++ b/dev-libs/icinga-php-library/metadata.xml
@@ -5,4 +5,7 @@
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">Icinga/icinga-php-library</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/icinga-php-thirdparty/Manifest b/dev-libs/icinga-php-thirdparty/Manifest
index af9673e72790..2e6e36d2f876 100644
--- a/dev-libs/icinga-php-thirdparty/Manifest
+++ b/dev-libs/icinga-php-thirdparty/Manifest
@@ -1,3 +1,4 @@
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
+DIST icinga-php-thirdparty-0.12.1.tar.gz 14301833 BLAKE2B 41e114f412f0257e67f2e129b524c208cd008c7fd6fb7a2194d1c9eac8cd655970fc52ad2648ced0458d13646d565066bc172b79553a799fe6729d3e4971e161 SHA512 1cc5ea8238eae6dd9a0a14cd898532d10dd2a44fb17072d113da9c32b2d383dc6970a1f55e7badac060f4fcee683b7ad1aef3268d37fd462bcd2bff2eb1f4298
diff --git a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild
index 4bbb21e3af1a..eeb50eb5635a 100644
--- a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.10.0-r1.ebuild
@@ -1,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
@@ -13,7 +13,6 @@ KEYWORDS="amd64 x86"
DEPEND="dev-lang/php:*"
RDEPEND="${DEPEND}"
-BDEPEND=""
src_install() {
insinto "/usr/share/icinga-php/vendor"
diff --git a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild
index 4bbb21e3af1a..eeb50eb5635a 100644
--- a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.11.0.ebuild
@@ -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
@@ -13,7 +13,6 @@ KEYWORDS="amd64 x86"
DEPEND="dev-lang/php:*"
RDEPEND="${DEPEND}"
-BDEPEND=""
src_install() {
insinto "/usr/share/icinga-php/vendor"
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
index 9b47ddec8290..c395d9e46e98 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,11 +9,10 @@ SRC_URI="https://github.com/Icinga/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
DEPEND="dev-lang/php:*"
RDEPEND="${DEPEND}"
-BDEPEND=""
src_install() {
insinto "/usr/share/icinga-php/vendor"
diff --git a/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.1.ebuild b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.1.ebuild
new file mode 100644
index 000000000000..935ba3f3b7f9
--- /dev/null
+++ b/dev-libs/icinga-php-thirdparty/icinga-php-thirdparty-0.12.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2021-2024 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 ~arm64 ~x86"
+
+DEPEND="dev-lang/php:*"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ insinto "/usr/share/icinga-php/vendor"
+ cd "${S}"
+ doins -r *
+}
diff --git a/dev-libs/icinga-php-thirdparty/metadata.xml b/dev-libs/icinga-php-thirdparty/metadata.xml
index 5c76f7a3fc67..20f8ced55e5e 100644
--- a/dev-libs/icinga-php-thirdparty/metadata.xml
+++ b/dev-libs/icinga-php-thirdparty/metadata.xml
@@ -5,4 +5,7 @@
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">Icinga/icinga-php-thirdparty</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/icu-layoutex/Manifest b/dev-libs/icu-layoutex/Manifest
index 8a1282d5e565..7a7475da110d 100644
--- a/dev-libs/icu-layoutex/Manifest
+++ b/dev-libs/icu-layoutex/Manifest
@@ -1,4 +1,4 @@
-DIST icu4c-73_2-src.tgz 26519906 BLAKE2B 3f7dec9d527939d6d594c92844a400733e43af018bbc2f600edcb18299211a2f2285332188976d15e1ef672191416abac0b95a9d1a2ea6ababdaddf12708ccef SHA512 76dd782db6205833f289d7eb68b60860dddfa3f614f0ba03fe7ec13117077f82109f0dc1becabcdf4c8a9c628b94478ab0a46134bdb06f4302be55f74027ce62
-DIST icu4c-73_2-src.tgz.asc 659 BLAKE2B 83e082ba15ba7aeb366b6d97da15d076c200f9051e55bf00ba13265a3d87aade5a5b18c98a0c903d5015821c63e4b340ffbcc7940a654d169ad1948d6594ce63 SHA512 7598b8cc498ada8ca904b13f7aba27abd3f8f3013a0677d7ffab42d5413df9d2f0526107559301abc4049123b2e6d4d4f4cc589cbd943959d97b595dd57ea63c
-DIST icu4c-74_1-src.tgz 26625850 BLAKE2B cf8277cd513bd99c85104669e617683e4a91280c4c15a396021289fe0093d64682466550a44a0115bcc9e7abf30e3108dbadfb46e85e832e4cfd689618968507 SHA512 32c28270aa5d94c58d2b1ef46d4ab73149b5eaa2e0621d4a4c11597b71d146812f5e66db95f044e8aaa11b94e99edd4a48ab1aa8efbe3d72a73870cd56b564c2
-DIST icu4c-74_1-src.tgz.asc 659 BLAKE2B d95224933dc665f3c4e6f9cb81ab65d4755fc768161bf8abf97ba0d8ad350bc0ccfccdcb5c21d97b132e036bad960f6021283325c1ec836d2aecc5101af3c298 SHA512 45064eb2cf83dd7e3edc423c43914cc7fbcee38ad79e93c80da1e9e59e0554329a174cd6ef5a8055fe92220621eae9761f7de3b0cb311e5874efa41555e58396
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
+DIST icu4c-75_1-src.tgz 26568378 BLAKE2B 2772b52bf59407188511359ec54bea432bc70ba81610015bb51192f7aff33d5e4b08840cf3bfed3de7f9a91b430b6a6efe9dd75fdc53327d4c9f8fbf54d96d18 SHA512 70ea842f0d5f1f6c6b65696ac71d96848c4873f4d794bebc40fd87af2ad4ef064c61a786bf7bc430ce4713ec6deabb8cc1a8cc0212eab148cee2d498a3683e45
+DIST icu4c-75_1-src.tgz.asc 659 BLAKE2B d884a9ddb2afc1a8aa00e66568d2f4f76de2b2d15b5ac4ca5a464e2d1dd22aef2406cbd1391c31c8987f1b95d9325c37359f081d2ad69ca313a9d656d3dd7ec1 SHA512 a69d47d74e28a3dcc2f5b83bb0094b7e52e737c83ad484aec64ce76a6f1ad719b1de651ad4024df6cc1bb74992a8540dec09cec2814c45a3e7aaa365afd96628
diff --git a/dev-libs/icu-layoutex/icu-layoutex-74.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild
index 001b87547622..7908351f0cf1 100644
--- a/dev-libs/icu-layoutex/icu-layoutex-74.1.ebuild
+++ b/dev-libs/icu-layoutex/icu-layoutex-74.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ 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"
+ KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
fi
IUSE="debug static-libs test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/icu-layoutex/icu-layoutex-73.2.ebuild b/dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild
index 938ec098df74..beac8d8def24 100644
--- a/dev-libs/icu-layoutex/icu-layoutex-73.2.ebuild
+++ b/dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,9 +17,9 @@ SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/re
S="${WORKDIR}"/${PN/-layoutex}/source
LICENSE="BSD"
-SLOT="0/${PV%.*}.1"
+SLOT="0/${PV%.*}"
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
+ KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
fi
IUSE="debug static-libs test"
RESTRICT="!test? ( test )"
@@ -56,11 +56,6 @@ src_prepare() {
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
@@ -79,6 +74,9 @@ src_configure() {
}
multilib_src_configure() {
+ # https://unicode-org.atlassian.net/browse/ICU-22001
+ filter-lto
+
local myeconfargs=(
--disable-renaming
# We want a minimal build as this is just for layoutex
@@ -123,9 +121,7 @@ multilib_src_test() {
# CINTLTST_OPTS: cintltst options
# -e: Exhaustive testing
# -v: Increased verbosity
- pushd layoutex &>/dev/null || die
- emake VERBOSE="1" check
- popd &>/dev/null || die
+ emake -C layoutex VERBOSE="1" check
}
multilib_src_install() {
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
index 8a1282d5e565..7a7475da110d 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -1,4 +1,4 @@
-DIST icu4c-73_2-src.tgz 26519906 BLAKE2B 3f7dec9d527939d6d594c92844a400733e43af018bbc2f600edcb18299211a2f2285332188976d15e1ef672191416abac0b95a9d1a2ea6ababdaddf12708ccef SHA512 76dd782db6205833f289d7eb68b60860dddfa3f614f0ba03fe7ec13117077f82109f0dc1becabcdf4c8a9c628b94478ab0a46134bdb06f4302be55f74027ce62
-DIST icu4c-73_2-src.tgz.asc 659 BLAKE2B 83e082ba15ba7aeb366b6d97da15d076c200f9051e55bf00ba13265a3d87aade5a5b18c98a0c903d5015821c63e4b340ffbcc7940a654d169ad1948d6594ce63 SHA512 7598b8cc498ada8ca904b13f7aba27abd3f8f3013a0677d7ffab42d5413df9d2f0526107559301abc4049123b2e6d4d4f4cc589cbd943959d97b595dd57ea63c
-DIST icu4c-74_1-src.tgz 26625850 BLAKE2B cf8277cd513bd99c85104669e617683e4a91280c4c15a396021289fe0093d64682466550a44a0115bcc9e7abf30e3108dbadfb46e85e832e4cfd689618968507 SHA512 32c28270aa5d94c58d2b1ef46d4ab73149b5eaa2e0621d4a4c11597b71d146812f5e66db95f044e8aaa11b94e99edd4a48ab1aa8efbe3d72a73870cd56b564c2
-DIST icu4c-74_1-src.tgz.asc 659 BLAKE2B d95224933dc665f3c4e6f9cb81ab65d4755fc768161bf8abf97ba0d8ad350bc0ccfccdcb5c21d97b132e036bad960f6021283325c1ec836d2aecc5101af3c298 SHA512 45064eb2cf83dd7e3edc423c43914cc7fbcee38ad79e93c80da1e9e59e0554329a174cd6ef5a8055fe92220621eae9761f7de3b0cb311e5874efa41555e58396
+DIST icu4c-74_2-src.tgz 26529443 BLAKE2B 08790dd3634037177eaec428651afe0da1f71dbad3423bde7ea5a6d49eab5dc011f72b175760fc55f6d8d7d820f7f3dfc369a80a1f7cb2f9f933644beb3d3711 SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0
+DIST icu4c-74_2-src.tgz.asc 659 BLAKE2B 0723204ce19d7bd4b1989e00b5ab084cc5b154c214129632a7f7ce31c151c8a4b9e0033d49872db728a3787809dbad2320f1d848561c84f94797c7e006749b94 SHA512 b249a61aba711b34599c3c0fbc113a52a83e59cb7bbda914ca74f534c1f474e6821d663dc7f078608b24393703654a43c2b793ca3d3f3be761393b6a73862ecc
+DIST icu4c-75_1-src.tgz 26568378 BLAKE2B 2772b52bf59407188511359ec54bea432bc70ba81610015bb51192f7aff33d5e4b08840cf3bfed3de7f9a91b430b6a6efe9dd75fdc53327d4c9f8fbf54d96d18 SHA512 70ea842f0d5f1f6c6b65696ac71d96848c4873f4d794bebc40fd87af2ad4ef064c61a786bf7bc430ce4713ec6deabb8cc1a8cc0212eab148cee2d498a3683e45
+DIST icu4c-75_1-src.tgz.asc 659 BLAKE2B d884a9ddb2afc1a8aa00e66568d2f4f76de2b2d15b5ac4ca5a464e2d1dd22aef2406cbd1391c31c8987f1b95d9325c37359f081d2ad69ca313a9d656d3dd7ec1 SHA512 a69d47d74e28a3dcc2f5b83bb0094b7e52e737c83ad484aec64ce76a6f1ad719b1de651ad4024df6cc1bb74992a8540dec09cec2814c45a3e7aaa365afd96628
diff --git a/dev-libs/icu/files/icu-73.2-fix-TestHebrewCalendarInTemporalLeapYear-test.patch b/dev-libs/icu/files/icu-73.2-fix-TestHebrewCalendarInTemporalLeapYear-test.patch
deleted file mode 100644
index df4dd0793837..000000000000
--- a/dev-libs/icu/files/icu-73.2-fix-TestHebrewCalendarInTemporalLeapYear-test.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://bugs.gentoo.org/914887
-https://github.com/unicode-org/icu/commit/f3b869cbb0b9ced42d7ca4e24626a868a14ddcfc
-
-From f3b869cbb0b9ced42d7ca4e24626a868a14ddcfc Mon Sep 17 00:00:00 2001
-From: Frank Tang <ftang@chromium.org>
-Date: Mon, 18 Sep 2023 20:20:42 -0700
-Subject: [PATCH] ICU-22512 Fix broken TestHebrewCalendarInTemporalLeapYear
-
-Fix broken test mistakenly landed in
-https://github.com/unicode-org/icu/pull/2274
-
-Some important steps were missed in the last landing.
---- a/test/intltest/caltest.cpp
-+++ b/test/intltest/caltest.cpp
-@@ -4028,6 +4028,7 @@ void CalendarTest::TestHebrewCalendarInTemporalLeapYear() {
- for (gc.set(startYear, UCAL_JANUARY, 1);
- gc.get(UCAL_YEAR, status) <= stopYear;
- gc.add(UCAL_DATE, incrementDays, status)) {
-+ cal->setTime(gc.getTime(status), status);
- if (failure(status, "add/get/set/getTime/setTime incorrect")) return;
-
- int32_t cal_year = cal->get(UCAL_EXTENDED_YEAR, status);
-@@ -4036,6 +4037,7 @@ void CalendarTest::TestHebrewCalendarInTemporalLeapYear() {
- leapTest->set(UCAL_MONTH, 0);
- leapTest->set(UCAL_DATE, 1);
- // If 10 months after TISHRI is TAMUZ, then it is a leap year.
-+ leapTest->add(UCAL_MONTH, 10, status);
- hasLeapMonth = leapTest->get(UCAL_MONTH, status) == icu::HebrewCalendar::TAMUZ;
- yearForHasLeapMonth = cal_year;
- }
-
diff --git a/dev-libs/icu/icu-73.2.ebuild b/dev-libs/icu/icu-74.2.ebuild
index 870eed474993..dcfd9ddc6d2b 100644
--- a/dev-libs/icu/icu-73.2.ebuild
+++ b/dev-libs/icu/icu-74.2.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
# Please bump with dev-libs/icu-layoutex
-PYTHON_COMPAT=( python3_{10..11} )
+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
@@ -28,9 +28,9 @@ RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
"
@@ -42,7 +42,6 @@ PATCHES=(
"${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
"${FILESDIR}/${PN}-64.2-darwin.patch"
"${FILESDIR}/${PN}-68.1-nonunicode.patch"
- "${FILESDIR}/${P}-fix-TestHebrewCalendarInTemporalLeapYear-test.patch"
)
src_prepare() {
@@ -70,6 +69,14 @@ src_prepare() {
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.
@@ -123,7 +130,7 @@ multilib_src_configure() {
)
# Work around cross-endian testing failures with LTO, bug #757681
- if tc-is-cross-compiler && is-flagq '-flto*' ; then
+ if tc-is-cross-compiler && tc-is-lto ; then
myeconfargs+=( --disable-strict )
fi
diff --git a/dev-libs/icu/icu-74.1.ebuild b/dev-libs/icu/icu-75.1.ebuild
index 2b16d0d0702a..d996b5ed11dc 100644
--- a/dev-libs/icu/icu-74.1.ebuild
+++ b/dev-libs/icu/icu-75.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,15 +22,15 @@ 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"
+SLOT="0/${PV%.*}"
IUSE="debug doc examples static-libs test"
RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
"
@@ -69,10 +69,13 @@ src_prepare() {
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
+ # -Werror=odr
+ # https://bugs.gentoo.org/866947
+ # https://unicode-org.atlassian.net/browse/ICU-22001
+ #
+ # Only present in testsuite, but unfortunately that means we cannot...
+ # test... LTO support.
+ filter-lto
if tc-is-cross-compiler; then
mkdir "${WORKDIR}"/host || die
@@ -122,7 +125,7 @@ multilib_src_configure() {
)
# Work around cross-endian testing failures with LTO, bug #757681
- if tc-is-cross-compiler && is-flagq '-flto*' ; then
+ if tc-is-cross-compiler && tc-is-lto ; then
myeconfargs+=( --disable-strict )
fi
diff --git a/dev-libs/igraph/Manifest b/dev-libs/igraph/Manifest
index 66b81a40a784..aa681c39ebf0 100644
--- a/dev-libs/igraph/Manifest
+++ b/dev-libs/igraph/Manifest
@@ -1 +1,2 @@
-DIST igraph-0.10.4.tar.gz 4279321 BLAKE2B 4e1fc8e8d6dd38cdb24ec564f51f2924e457376c258497b51d7dd4cec88d2226d5b202cdcfa69560e43fdb3cbd49656511178acd2ed705b4af26b1947a92f1ab SHA512 71bcec5f0ba100aae7614753f9232a4221580b822b4dc120e3a80eab59d70c42aedddb00728eb13faf7e522332c514c2e030314c416ded8a70e5de990ea8039b
+DIST igraph-0.10.11.tar.gz 4349830 BLAKE2B 3aae088115148d1f965a52f01c950000097520fb0a150d2ad1fabb96cff434a9b548a6c17a10b9e0ebad3a577c2423ac5260cd28223147d3dc71b0d4fe139a95 SHA512 d6978589f12ed20b87777394b46f47b4ffc045ef693e5b4fc90163b9482361b2bf0ed2bb04aa99bf4a0653f7e4355cd480b0a165213d90ff7188ef6c86147c86
+DIST igraph-0.10.12.tar.gz 4373463 BLAKE2B b7fdd7046185bf501c9302721f6606e6affc0d91c16d195c6bd69e0b32f9dca7af701a963fd4a8b8558ac843fe4a5136c7fce2fe5595db469818e514db2325ac SHA512 1a7b055ab2148fdf04187d785895b930ae2a54ae0240ea9656e129a38347b1caeb28dda5a3a7e34282462363150d7afd25acf8cd335577ed441b8a5cecc0dd25
diff --git a/dev-libs/igraph/igraph-0.10.4.ebuild b/dev-libs/igraph/igraph-0.10.11.ebuild
index bdefdfb07f82..280105ef5c8d 100644
--- a/dev-libs/igraph/igraph-0.10.4.ebuild
+++ b/dev-libs/igraph/igraph-0.10.11.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 @@ 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"
+LICENSE="GPL-2+"
SLOT="0/0"
KEYWORDS="amd64 x86"
@@ -21,6 +21,7 @@ RDEPEND="
dev-libs/libxml2
sci-libs/arpack
sci-mathematics/glpk:=
+ sci-mathematics/plfit
virtual/blas
virtual/lapack"
DEPEND="${RDEPEND}"
@@ -35,9 +36,9 @@ src_configure() {
-DIGRAPH_USE_INTERNAL_GLPK=OFF
-DIGRAPH_USE_INTERNAL_GMP=OFF
-DIGRAPH_USE_INTERNAL_LAPACK=OFF
- # Not packaged in ::gentoo atm
- -DIGRAPH_USE_INTERNAL_PLFIT=ON
+ -DIGRAPH_USE_INTERNAL_PLFIT=OFF
-DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DIGRAPH_WARNINGS_AS_ERRORS=OFF
-DBUILD_TESTING=$(usex test)
)
cmake_src_configure
diff --git a/dev-libs/igraph/igraph-0.10.4-r1.ebuild b/dev-libs/igraph/igraph-0.10.12.ebuild
index 55e82ab3fb68..30a8f524a0b5 100644
--- a/dev-libs/igraph/igraph-0.10.4-r1.ebuild
+++ b/dev-libs/igraph/igraph-0.10.12.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 @@ 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"
+LICENSE="GPL-2+"
SLOT="0/0"
KEYWORDS="~amd64 ~x86"
@@ -38,6 +38,7 @@ src_configure() {
-DIGRAPH_USE_INTERNAL_LAPACK=OFF
-DIGRAPH_USE_INTERNAL_PLFIT=OFF
-DIGRAPH_ENABLE_TLS=$(usex threads)
+ -DIGRAPH_WARNINGS_AS_ERRORS=OFF
-DBUILD_TESTING=$(usex test)
)
cmake_src_configure
diff --git a/dev-libs/iksemel/iksemel-1.4-r2.ebuild b/dev-libs/iksemel/iksemel-1.4-r2.ebuild
index dc67c8484ffd..373d63c51a00 100644
--- a/dev-libs/iksemel/iksemel-1.4-r2.ebuild
+++ b/dev-libs/iksemel/iksemel-1.4-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 @@ SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 ~sparc x86"
IUSE="ssl"
RDEPEND="ssl? ( net-libs/gnutls:= )"
diff --git a/dev-libs/imath/Manifest b/dev-libs/imath/Manifest
index 0c1d8253aabe..c9ee72b93ef1 100644
--- a/dev-libs/imath/Manifest
+++ b/dev-libs/imath/Manifest
@@ -1,2 +1 @@
-DIST imath-3.1.6.tar.gz 573255 BLAKE2B c4d5a785a2aed9c5b9b1441ab016a5cf47abeb1d44c0625f0654e8c4d1e47dddddd62c61f83fd7b160beae8aaf5db9350d2a3bc43754e795fe75b10c4836a1b8 SHA512 c099a291ed7fd7702a7609575f2f3d2ed7f95256c23c2180e2ef1f76ceb07734365f57da5244b1d6cec81ca9859864eb4c9236df02a64aa783af6639a3b59acd
-DIST imath-3.1.9.tar.gz 598497 BLAKE2B fe3afce26c19f5ddace3c420f9b83caca7b4c75902820fc2182ef9fb9f4d27581f27ca72262b63d65f794eeb73af55782412ba846d142072e0090ff7224d8960 SHA512 ad96b2ac306fc13c01e8ea3256f885499c3f545be327feaba0f5e093b70b544bcca6f8b353fa7e35107aae515c19caced44331a95d0414f367ead4691ec73564
+DIST imath-3.1.11.tar.gz 596585 BLAKE2B d5fc8d7607070bc96619e74eb67c60048695023c1baa715e3ab5de84a49bf1f7381cc19e3a047b75f8520e20a9976c58503b2063feb2add7b6dfcc7c73e13ad7 SHA512 0bc86bea3a2aca89d02b501b4fba3c13ca861e914cec558e820fe9e4c43ab14cac34e31ff278b8c35b5fe76f7bea32f2c8105c0d33eb92224eb23d42d7a402e9
diff --git a/dev-libs/imath/files/imath-3.1.11-fix_cmake_module_export.patch b/dev-libs/imath/files/imath-3.1.11-fix_cmake_module_export.patch
new file mode 100644
index 000000000000..3e5c4d59946c
--- /dev/null
+++ b/dev-libs/imath/files/imath-3.1.11-fix_cmake_module_export.patch
@@ -0,0 +1,22 @@
+From 0f7f9f9f32ea178d474325ec1b2576a790e336a1 Mon Sep 17 00:00:00 2001
+From: Lucas Miller <lmiller@imageworks.com>
+Date: Wed, 1 May 2024 13:51:30 -0700
+Subject: [PATCH] Address Issue #395 where packages that need to link against
+ PyImath can no longer find it.
+
+---
+ src/python/config/ModuleDefine.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/python/config/ModuleDefine.cmake b/src/python/config/ModuleDefine.cmake
+index adee61c8..b4063623 100644
+--- a/src/python/config/ModuleDefine.cmake
++++ b/src/python/config/ModuleDefine.cmake
+@@ -55,6 +55,7 @@ function(PYIMATH_ADD_LIBRARY_PRIV libname)
+ add_library(${PROJECT_NAME}::${libname} ALIAS ${libname})
+
+ install(TARGETS ${libname}
++ EXPORT ${PROJECT_NAME}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/dev-libs/imath/files/imath-3.1.11-use-correct-boost_python_version.patch b/dev-libs/imath/files/imath-3.1.11-use-correct-boost_python_version.patch
new file mode 100644
index 000000000000..fedd1005f6b6
--- /dev/null
+++ b/dev-libs/imath/files/imath-3.1.11-use-correct-boost_python_version.patch
@@ -0,0 +1,17 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: 2024-06-03
+Subject: [PATCH] only try to find versioned boost::python
+
+diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
+index 1bc1e54..c71ce42 100644
+--- a/src/python/CMakeLists.txt
++++ b/src/python/CMakeLists.txt
+@@ -139,8 +139,6 @@ if(Boost_NO_BOOST_CMAKE)
+ endif()
+
+ find_package(Boost OPTIONAL_COMPONENTS
+- python
+- python${Python_VERSION_MAJOR}
+ ${PYIMATH_BOOST_PY_COMPONENT})
+ set(_pyimath_have_perver_boost)
+ if(PYIMATH_BOOST_PY_COMPONENT)
diff --git a/dev-libs/imath/imath-3.1.6.ebuild b/dev-libs/imath/imath-3.1.11-r1.ebuild
index f1bce4102c11..a15ba7642035 100644
--- a/dev-libs/imath/imath-3.1.6.ebuild
+++ b/dev-libs/imath/imath-3.1.11-r1.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 cmake python-single-r1
-MY_PN="${PN^}"
+MY_PN=${PN^}
DESCRIPTION="Imath basic math package"
HOMEPAGE="https://imath.readthedocs.io"
SRC_URI="https://github.com/AcademySoftwareFoundation/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-# re-keywording needed for (according to ilmbase keywords): ~x64-macos ~x86-solaris
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
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 )"
-# blocker due to file collision #803347
RDEPEND="
sys-libs/zlib
python? (
@@ -36,11 +34,23 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( $(python_gen_cond_dep 'dev-python/breathe[${PYTHON_USEDEP}]') )
+ 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 docs/PortingGuide2-3.md )
+DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.1.11-fix_cmake_module_export.patch"
+ "${FILESDIR}/${PN}-3.1.11-use-correct-boost_python_version.patch"
+)
pkg_setup() {
use python && python-single-r1_pkg_setup
@@ -48,11 +58,13 @@ pkg_setup() {
src_configure() {
local mycmakeargs=(
- -DDOCS=$(usex doc)
- -DIMATH_ENABLE_LARGE_STACK=$(usex large-stack)
+ -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
@@ -60,10 +72,15 @@ src_configure() {
-DBoost_NO_BOOST_CMAKE=OFF
-DPYTHON=ON
-DPython3_EXECUTABLE="${PYTHON}"
- -DPython3_INCLUDE_DIR=$(python_get_includedir)
- -DPython3_LIBRARY=$(python_get_library_path)
+ -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.9.ebuild b/dev-libs/imath/imath-3.1.11.ebuild
index aea484a270f9..6da867303ab9 100644
--- a/dev-libs/imath/imath-3.1.9.ebuild
+++ b/dev-libs/imath/imath-3.1.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,21 +7,20 @@ PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-single-r1
-MY_PN="${PN^}"
+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 ~ia64 ~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"
+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 )"
-# blocker due to file collision #803347
RDEPEND="
sys-libs/zlib
python? (
@@ -35,10 +34,18 @@ RDEPEND="
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 docs/PortingGuide2-3.md )
+DOCS=( CHANGES.md CONTRIBUTORS.md README.md SECURITY.md )
pkg_setup() {
use python && python-single-r1_pkg_setup
@@ -46,8 +53,7 @@ pkg_setup() {
src_configure() {
local mycmakeargs=(
- # requires press theme, not available in ::gentoo
- -DBUILD_DOCS=OFF
+ -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
@@ -61,10 +67,15 @@ src_configure() {
-DBoost_NO_BOOST_CMAKE=OFF
-DPYTHON=ON
-DPython3_EXECUTABLE="${PYTHON}"
- -DPython3_INCLUDE_DIR=$(python_get_includedir)
- -DPython3_LIBRARY=$(python_get_library_path)
+ -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/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/immer/Manifest b/dev-libs/immer/Manifest
new file mode 100644
index 000000000000..bb03209ec97f
--- /dev/null
+++ b/dev-libs/immer/Manifest
@@ -0,0 +1 @@
+DIST immer-0.8.1.tar.gz 654638 BLAKE2B 23c8fc8d8e341ae271ea2881f3cba8bd446844dc48a79d959623ec9c7e1254feba22ae916d9e8d962d8afd8801671ac3dfc8a136e4ce40d2a1a019449c34554f SHA512 3a9aafeb5daad1881d00fb999b78f86b1c8f0e8ef2d6befe9025d8eea10392557ce7186f14878b36cbce0f2f5d38c8ffb39c9115a9496803acfc0ef2289f5cbf
diff --git a/dev-libs/immer/files/immer-0.8.1-fix-dvector-test.patch b/dev-libs/immer/files/immer-0.8.1-fix-dvector-test.patch
new file mode 100644
index 000000000000..a00728a95490
--- /dev/null
+++ b/dev-libs/immer/files/immer-0.8.1-fix-dvector-test.patch
@@ -0,0 +1,16 @@
+Without this array include, compilation of the dvektor test will fail.
+This has been fixed upstream in:
+https://github.com/arximboldi/immer/commit/f381e4988c1562f0f64533146c9b9cb7c0823b3e
+
+diff --git a/immer/experimental/detail/dvektor_impl.hpp b/immer/experimental/detail/dvektor_impl.hpp
+index 4f69733..7a21f1f 100644
+--- a/immer/experimental/detail/dvektor_impl.hpp
++++ b/immer/experimental/detail/dvektor_impl.hpp
+@@ -16,6 +16,7 @@
+ #include <boost/iterator/iterator_facade.hpp>
+ #include <boost/smart_ptr/intrusive_ref_counter.hpp>
+
++#include <array>
+ #include <cassert>
+ #include <cstddef>
+ #include <limits>
diff --git a/dev-libs/immer/immer-0.8.1-r1.ebuild b/dev-libs/immer/immer-0.8.1-r1.ebuild
new file mode 100644
index 000000000000..65da2ecbf6f6
--- /dev/null
+++ b/dev-libs/immer/immer-0.8.1-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
+
+DESCRIPTION="Library of persistent and immutable data structures written in C++"
+HOMEPAGE="https://sinusoid.es/immer/"
+SRC_URI="https://github.com/arximboldi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/boehm-gc
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3:0
+ dev-libs/libfmt
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-dvector-test.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCCACHE=no
+ -Dimmer_BUILD_DOCS=OFF # Recheck if documentation is in a better state when bumping
+ -Dimmer_BUILD_EXAMPLES=OFF
+ -Dimmer_BUILD_EXTRAS=OFF
+ -Dimmer_BUILD_TESTS=$(usex test)
+ -DDISABLE_WERROR=ON
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use test; then
+ cmake_build tests
+ fi
+}
diff --git a/dev-libs/immer/immer-0.8.1.ebuild b/dev-libs/immer/immer-0.8.1.ebuild
new file mode 100644
index 000000000000..9663d125c40f
--- /dev/null
+++ b/dev-libs/immer/immer-0.8.1.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="Library of persistent and immutable data structures written in C++"
+HOMEPAGE="https://sinusoid.es/immer/"
+SRC_URI="https://github.com/arximboldi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/boehm-gc
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( <dev-cpp/catch-3:0 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-dvector-test.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCCACHE=no
+ -Dimmer_BUILD_DOCS=OFF # Recheck if documentation is in a better state when bumping
+ -Dimmer_BUILD_EXAMPLES=OFF
+ -Dimmer_BUILD_EXTRAS=OFF
+ -Dimmer_BUILD_TESTS=$(usex test)
+ -DDISABLE_WERROR=ON
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use test; then
+ cmake_build tests
+ fi
+}
diff --git a/dev-libs/immer/metadata.xml b/dev-libs/immer/metadata.xml
new file mode 100644
index 000000000000..67bede469e56
--- /dev/null
+++ b/dev-libs/immer/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>darkdefende@gmail.com</email>
+ <name>Sebastian Parborg</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">arximboldi/immer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/inih/Manifest b/dev-libs/inih/Manifest
index eee67f4d9c04..52b0f107e155 100644
--- a/dev-libs/inih/Manifest
+++ b/dev-libs/inih/Manifest
@@ -1,2 +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-57.ebuild b/dev-libs/inih/inih-57-r1.ebuild
index bb6473c9f6c9..98e9528ea2d5 100644
--- a/dev-libs/inih/inih-57.ebuild
+++ b/dev-libs/inih/inih-57-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ 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
+inherit meson-multilib
DESCRIPTION="inih (INI not invented here) simple .INI file parser"
HOMEPAGE="https://github.com/benhoyt/inih"
@@ -26,5 +26,5 @@ src_configure() {
-Dwith_INIReader=true
)
- meson_src_configure
+ meson-multilib_src_configure
}
diff --git a/dev-libs/inih/inih-56-r1.ebuild b/dev-libs/inih/inih-58.ebuild
index e287c82e011d..98e9528ea2d5 100644
--- a/dev-libs/inih/inih-56-r1.ebuild
+++ b/dev-libs/inih/inih-58.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
@@ -6,7 +6,7 @@ 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
+inherit meson-multilib
DESCRIPTION="inih (INI not invented here) simple .INI file parser"
HOMEPAGE="https://github.com/benhoyt/inih"
@@ -26,5 +26,5 @@ src_configure() {
-Dwith_INIReader=true
)
- meson_src_configure
+ meson-multilib_src_configure
}
diff --git a/dev-libs/iniparser/Manifest b/dev-libs/iniparser/Manifest
index f061f9715a2a..0df565c5a236 100644
--- a/dev-libs/iniparser/Manifest
+++ b/dev-libs/iniparser/Manifest
@@ -1,2 +1,3 @@
DIST iniparser-3.1.tar.gz 39097 BLAKE2B 4ada36f5bb95476c06deffa7938a750bcdeb0bd5bb817b24274c1e1c588d9abbd23c3a58f3cb3b6f961912f3e12e74aadf224da4cd81863b874e4a84d11c1744 SHA512 8fd8324c5629fdc3e3eff00afb5f0832402ccc760c5b92db82aa29b340ec891419ca2c4fee3a4d4d67cf9bc51c76b095bc0c458e087c2b8e72ac36867c47ae86
DIST iniparser-4.1.tar.gz 44732 BLAKE2B a3480dab512b41eb9635c733b76048ab089a311c2970aae5ce89d103ff6ab1923d5824a5fca3bf445ba213ecd9954018fdef2831fd98c1a43c9ae7d4fb1cb388 SHA512 a8125aaaead1f9dfde380fa1e45bae31ca2312be029f2c53b4072cb3b127d16578a95c7c0aee1e3dda5e7b8db7a865ba6dfe8a1d80eb673061b3babef744e968
+DIST iniparser-4.2.2.tar.bz2 32649 BLAKE2B e4ab230ca1cde6a0322e05aa483e3112e324903c65e1f22640e17a7696ac30a4eef66c1bb449ea730b9a0caf55091b425fafb9d1514fbf7bbd21d7ef4503147e SHA512 a9b0d4b80a4d4faeff4ec5ae9f0de8f0d4e1d6244dddfca7c3ef9bb188fcb0c3bb288478632145232fe52073cd0714abc0ad12a1cca4e3936fc40a3fba357601
diff --git a/dev-libs/iniparser/iniparser-3.1-r3.ebuild b/dev-libs/iniparser/iniparser-3.1-r3.ebuild
index 37dc4fdbbabb..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
@@ -16,7 +16,7 @@ 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
index 9f6dc0ddcee4..0540dd973ed7 100644
--- a/dev-libs/iniparser/iniparser-4.1-r1.ebuild
+++ b/dev-libs/iniparser/iniparser-4.1-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
@@ -14,10 +14,10 @@ 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-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
- ${FILESDIR}/${P}-CVE-null-getstring.patch # upstream, bug #907928
+ "${FILESDIR}"/${P}-CVE-null-getstring.patch # upstream, bug #907928
)
_newlib_so_with_symlinks() {
diff --git a/dev-libs/iniparser/iniparser-4.1.ebuild b/dev-libs/iniparser/iniparser-4.1.ebuild
deleted file mode 100644
index b33fa3d128e6..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 ~x64-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/iniparser-4.2.2.ebuild b/dev-libs/iniparser/iniparser-4.2.2.ebuild
new file mode 100644
index 000000000000..6dc8e4eab972
--- /dev/null
+++ b/dev-libs/iniparser/iniparser-4.2.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="A free stand-alone ini file parsing library"
+HOMEPAGE="https://gitlab.com/iniparser/iniparser"
+SRC_URI="https://gitlab.com/iniparser/iniparser/-/archive/v${PV}/iniparser-v${PV}.tar.bz2 -> ${P}.tar.bz2"
+
+S="${WORKDIR}/${PN}-v${PV}"
+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 )"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCS=$(usex doc)
+ -DBUILD_EXAMPLES=$(usex examples)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/iniparser/metadata.xml b/dev-libs/iniparser/metadata.xml
index 3b48e648fba0..1c90e38bac72 100644
--- a/dev-libs/iniparser/metadata.xml
+++ b/dev-libs/iniparser/metadata.xml
@@ -6,6 +6,6 @@
<name>Samba Team</name>
</maintainer>
<upstream>
- <remote-id type="github">ndevilla/iniparser</remote-id>
+ <remote-id type="gitlab">iniparser/iniparser</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/intel-compute-runtime/Manifest b/dev-libs/intel-compute-runtime/Manifest
index 84d04b2a4978..9965624978b1 100644
--- a/dev-libs/intel-compute-runtime/Manifest
+++ b/dev-libs/intel-compute-runtime/Manifest
@@ -1 +1,2 @@
-DIST intel-compute-runtime-23.35.27191.9.tar.gz 6856146 BLAKE2B 02676adde05bef374f12ca6d6baac1a577ae32b712e77bf01e09d6cc01a2eeeb4d6eacc8fb302e350aca34f9d70f07a20ac70a52a682bdefb06223c4b6611cf7 SHA512 39abd4830ce379894bd9f17e2a1685b6403ddd13bae1fb1549c11de3e4b26536adfb24194c245466c45ba01c9d89c5d69bb60fbb498d9c23c24d31b018a37af8
+DIST intel-compute-runtime-24.17.29377.6.tar.gz 7038804 BLAKE2B feb09b6627b5dbd376a88705fca61514e5f60aa2014617a591451f0be493dedc87e228f8599fd2e2488623fcc827d831f4294fa4b34375a75e17438b76d4fd97 SHA512 9cda876ebdff1a17cb495f95b637c8aac82dc58433da67d1f312b74dd423ca9f536dcbd10454f1e0702e3181b4f5d4eeb2d31d6d99a756749321b128cf1e9cc2
+DIST intel-compute-runtime-24.22.29735.21.tar.gz 7083856 BLAKE2B dbb31259b3a4305e42d4dce685ce3f98b3b308451d2b1061c6fcba5cc2b2aaf6862eaa326619f8b073478c64fc45994adc261583c0070464b027fda46028afa5 SHA512 64cbfdab69c595c118e37526be744bad95cf11e1c9de34aaec308cead5346d802e98e67f155da03fd174e51e7f78a38b3b6f48ba6e004f3181b533c8d31e851e
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-23.35.27191.9.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.17.29377.6.ebuild
index 1a6f3bed6576..5ea15e181651 100644
--- a/dev-libs/intel-compute-runtime/intel-compute-runtime-23.35.27191.9.ebuild
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.17.29377.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
@@ -19,19 +19,21 @@ SLOT="0"
KEYWORDS="amd64"
IUSE="+l0 +vaapi"
-RDEPEND=">=media-libs/gmmlib-22.3.5:="
+RDEPEND="
+ >=dev-util/intel-graphics-compiler-1.0.15985.15
+ >=media-libs/gmmlib-22.3.17:=
+"
DEPEND="
- ${DEPEND}
+ ${RDEPEND}
dev-libs/intel-metrics-discovery:=
dev-libs/intel-metrics-library:=
dev-libs/libnl:3
dev-libs/libxml2:2
- >=dev-util/intel-graphics-compiler-1.0.15136.4
- >=dev-util/intel-graphics-system-controller-0.8.13:=
+ >=dev-util/intel-graphics-system-controller-0.8.16:=
media-libs/mesa
>=virtual/opencl-3
- l0? ( >=dev-libs/level-zero-1.14.0:= )
+ l0? ( >=dev-libs/level-zero-1.16.1:= )
vaapi? (
x11-libs/libdrm[video_cards_intel]
media-libs/libva
@@ -54,7 +56,9 @@ src_prepare() {
}
src_configure() {
- # See https://github.com/intel/compute-runtime/issues/531
+ # Filtered for two reasons:
+ # 1) https://github.com/intel/compute-runtime/issues/528
+ # 2) bug #930199
filter-lto
local mycmakeargs=(
diff --git a/dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21-r1.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21-r1.ebuild
new file mode 100644
index 000000000000..398058011cab
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21-r1.ebuild
@@ -0,0 +1,88 @@
+# 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.17193.2
+ >=media-libs/gmmlib-22.3.19:=
+"
+
+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.17.6:= )
+ 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() {
+ # Filtered for two reasons:
+ # 1) https://github.com/intel/compute-runtime/issues/528
+ # 2) bug #930199
+ 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_DISABLE_LTO="ON"
+ -DNEO_DISABLE_LD_GOLD="ON"
+ -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.22.29735.21.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21.ebuild
new file mode 100644
index 000000000000..3b2e233a358b
--- /dev/null
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21.ebuild
@@ -0,0 +1,87 @@
+# 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.17193.2
+ >=media-libs/gmmlib-22.3.19:=
+"
+
+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.17.6:= )
+ 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() {
+ # Filtered for two reasons:
+ # 1) https://github.com/intel/compute-runtime/issues/528
+ # 2) bug #930199
+ 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_DISABLE_LD_GOLD="ON"
+ -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
index 543896aac958..7a2452fa3e71 100644
--- a/dev-libs/intel-metrics-discovery/Manifest
+++ b/dev-libs/intel-metrics-discovery/Manifest
@@ -1 +1,2 @@
-DIST metrics-discovery-1.12.165.1.tar.gz 4908502 BLAKE2B 2869869d4830881e6894cdef54c13cfbc0c956e93a373617c84da6fee3bcb6dc915df77b16c3296d8bd651a2e76714a632689f927cd1717095bc7aa31ad7d77f SHA512 8293d497e2197f8dba95e690703d0440dfa40b7c16c91a9a1748b985f2bfe8603c0bb20dec5d31132b025d301f1d5492f5993e2870f4a5e04aac7b84b9734522
+DIST metrics-discovery-1.12.171.tar.gz 5219784 BLAKE2B 3927ad270060543d3dbca9e32abfa83661597313a54bec591098c7f0b48443326d4bc3c13f600b8b53ba4ca2850c15c2c2bee7dc117ca38de9bad3c5b4f8d8b5 SHA512 7c08841e86af29465c2d09788d7230bd9401eb02c35eb0e582db68a389c6e867cbb2f9eb38876cd00ffa519633a16c804454d43efd8c32fb61e39bada202708f
+DIST metrics-discovery-1.12.172.tar.gz 5228787 BLAKE2B e6bc6ffd4390a8400de0917e3e68ca13e4ccab4d6732b418b5807acb629c522cce80a0a9207d287861ec4642137479003d0e0512f30dd3b9baabebf5ff9f35c3 SHA512 24df8497d858d33e2b464e33c158876a4642f0bff7afdb3e51a2a45969a4b9e6f9083ea15cb0a28b3a4c939b701c563d069c159b50430916009af023bd8ff6d2
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.165.1.ebuild b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
index e9827e7a4117..728ed054c227 100644
--- a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.165.1.ebuild
+++ b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,10 +21,7 @@ KEYWORDS="amd64"
DEPEND="x11-libs/libdrm"
RDEPEND="${DEPEND}"
-src_prepare() {
- default
- cmake_src_prepare
-}
+PATCHES=( "${FILESDIR}/${PN}-1.12.170-revert-definitions.patch" )
src_configure() {
local mycmakeargs=( -DLINUX_DISTRO="Gentoo" )
diff --git a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.172.ebuild b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.172.ebuild
new file mode 100644
index 000000000000..1aa1fe8dda1b
--- /dev/null
+++ b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.172.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-library/Manifest b/dev-libs/intel-metrics-library/Manifest
index 83745f33bba9..b82e4604cdf7 100644
--- a/dev-libs/intel-metrics-library/Manifest
+++ b/dev-libs/intel-metrics-library/Manifest
@@ -1 +1,2 @@
-DIST metrics-library-1.0.133.tar.gz 248109 BLAKE2B c7d4444710e0f55bb930497891822f11ffb90ed115a9b7f8eac6128c2914b59a0628173f0b8d644418793a82bd5ae87753eaaf9efb0363a18717c811505c3fa6 SHA512 7b16cad2ddae7e9a2c38e408df378e0263e30e04365cec0554a8351b47455b63308564f65c37b8504f4f1bbd50ebd18e4e81470a010076c6f1805f4908389b25
+DIST metrics-library-1.0.161.tar.gz 250352 BLAKE2B 5b991aadd5ed477a478763111bdac96374b99dd657db58403753b4504214d703e26156fd65c1ce10eae98bd63f117d6e3e83b178aadc610948b3163b91d1cb7b SHA512 0a6b51bcdd24402b47823465739a64d264a24a17ccbbf950b71d3d3374a5a3cc31726cb5918ad67c16d693e21a2f8eba91f1f8815ed1c6d5ef89163cabeefdf9
+DIST metrics-library-1.0.166.tar.gz 250183 BLAKE2B d5d08840a3d359d8e7390f1381a7b6b69e944de231ebe28227c9427fc0d97fa2e9b7a9ca63d4e02d1421e2faac5e554cc13dca0538bb3d151cec2311d4922032 SHA512 95f8d97ff6eebfda45dfe596e692bf081c4b92214ae1e0c1fa1458b9e76d69b8b2851bd6e0bbcb89d81d72291ab59ec69dbd7f8c903fdd33be588927adaa1081
diff --git a/dev-libs/intel-metrics-library/intel-metrics-library-1.0.133.ebuild b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild
index 3a47e9b8afd5..553a918ad5e3 100644
--- a/dev-libs/intel-metrics-library/intel-metrics-library-1.0.133.ebuild
+++ b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-libs/intel-metrics-library/intel-metrics-library-1.0.166.ebuild b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.166.ebuild
new file mode 100644
index 000000000000..86657df2d0c0
--- /dev/null
+++ b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.166.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 ed31c1781fb6..e15621065f10 100644
--- a/dev-libs/intel-vc-intrinsics/Manifest
+++ b/dev-libs/intel-vc-intrinsics/Manifest
@@ -1 +1 @@
-DIST intel-vc-intrinsics-0.13.0.tar.gz 142690 BLAKE2B e4069a873d566748e8f8d32acb99ce3ccb504acd3d974b60f8ffb2ea79f5ff99667b153f23bcc40b5f93da43b6adf073aa6ad94f0234a167b8813079496e7441 SHA512 209fab98b614317823a28ebdcde38bcdd653508d315c7fc3a52d75fe05587871f200e5136398ff3e37488b8457ea398a844b92ccb51bf3adea1975d99779c3b6
+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.13.0.ebuild b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild
index 00f30b995677..30d735ec61b1 100644
--- a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.13.0.ebuild
+++ b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_BUILD_TYPE="Release"
-LLVM_MAX_SLOT="15"
+LLVM_COMPAT=( {15..17} )
MY_PN="${PN/intel-/}"
MY_P="${MY_PN}-${PV}"
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake llvm python-any-r1
+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"
@@ -22,7 +22,9 @@ KEYWORDS="amd64"
DEPEND="
dev-libs/libxml2:2=
- sys-devel/llvm:${LLVM_MAX_SLOT}
+ $(llvm_gen_dep '
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
sys-libs/zlib
"
RDEPEND="${DEPEND}"
@@ -30,7 +32,7 @@ BDEPEND="${PYTHON_DEPS}"
src_configure() {
local mycmakeargs=(
- -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DLLVM_DIR="$(get_llvm_prefix)"
)
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 5d8fbc1d2c4b..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-2023 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 ~arm ~arm64 ~riscv ~x86"
+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/metadata.xml b/dev-libs/isa-l/metadata.xml
index 79b2a15f343d..9e147af02790 100644
--- a/dev-libs/isa-l/metadata.xml
+++ b/dev-libs/isa-l/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
ISA-L is a collection of optimized low-level functions targeting storage applications. ISA-L includes:
* Erasure codes - Fast block Reed-Solomon type erasure codes for any encode/decode matrix in GF(2^8).
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/isa-l_crypto-2.24.0.ebuild b/dev-libs/isa-l_crypto/isa-l_crypto-2.24.0.ebuild
index 5ea355130d4b..fba607e71b42 100644
--- 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
@@ -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,6 +24,7 @@ BDEPEND="amd64? (
)"
PATCHES=(
+ "${FILESDIR}"/${PN}-2.24.0_fix-shebang.patch
"${FILESDIR}"/${PN}-2.24.0_makefile-no-D.patch
)
diff --git a/dev-libs/isa-l_crypto/metadata.xml b/dev-libs/isa-l_crypto/metadata.xml
index aed47168584f..606c3ca05918 100644
--- a/dev-libs/isa-l_crypto/metadata.xml
+++ b/dev-libs/isa-l_crypto/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<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.
diff --git a/dev-libs/isl/Manifest b/dev-libs/isl/Manifest
index dd9493e045cc..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.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 05ac91099cd5..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 ~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-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/ivykis/Manifest b/dev-libs/ivykis/Manifest
index dc0ee971361f..ec37592a16b7 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.1.tar.gz 669621 BLAKE2B 12ef9aa55f2e07540b265eb2f19eba6436abb5c0dc333b10db3a3918b6cd4cc851191c12782b92f1c2c50b9d761bb2124417823dc19b557f6d3392cea86d4fe2 SHA512 d8c16dfa4b9da419b09fc45315aa930163c55bee1f0e1e630994332783527eec4929a60e75a1866408c666a6f4e2451bbd187d524f2e50179899f71e3bff916c
diff --git a/dev-libs/ivykis/ivykis-0.43.1.ebuild b/dev-libs/ivykis/ivykis-0.43.1.ebuild
new file mode 100644
index 000000000000..8123da4967da
--- /dev/null
+++ b/dev-libs/ivykis/ivykis-0.43.1.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/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
index 8f8601ce9046..1e6a82d02789 100644
--- a/dev-libs/jansson/jansson-2.14-r2.ebuild
+++ b/dev-libs/jansson/jansson-2.14-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
@@ -7,15 +7,15 @@ 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.gz"
+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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="doc static-libs"
BDEPEND="
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
doc? ( dev-python/sphinx )
"
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 e421914e9088..31bdc97c1853 100644
--- a/dev-libs/json-c/Manifest
+++ b/dev-libs/json-c/Manifest
@@ -1,2 +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 0b8f70b084cd..000000000000
--- a/dev-libs/json-c/json-c-0.16-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 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
-)
-
-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_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
index 4f44e489c9b1..6fb6f4f13f3a 100644
--- a/dev-libs/json-c/json-c-0.17.ebuild
+++ b/dev-libs/json-c/json-c-0.17.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,6 +19,9 @@ MULTILIB_WRAPPED_HEADERS=(
)
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
diff --git a/dev-libs/json-c/json-c-9999.ebuild b/dev-libs/json-c/json-c-9999.ebuild
index 57cba100cf9c..2ee46fcafda5 100644
--- a/dev-libs/json-c/json-c-9999.ebuild
+++ b/dev-libs/json-c/json-c-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
@@ -13,13 +13,16 @@ 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
)
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
diff --git a/dev-libs/json-c/metadata.xml b/dev-libs/json-c/metadata.xml
index 0bb1a4787f74..109ee5b54057 100644
--- a/dev-libs/json-c/metadata.xml
+++ b/dev-libs/json-c/metadata.xml
@@ -1,18 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>luka.perkov@sartura.hr</email>
- <name>Luka Perkov</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
JSON-C is a JSON implementation written in C. It implements a
reference counting object model that allows you to easily
diff --git a/dev-libs/json-glib/Manifest b/dev-libs/json-glib/Manifest
index 09e85bb0bbdd..d0d6ff42a81d 100644
--- a/dev-libs/json-glib/Manifest
+++ b/dev-libs/json-glib/Manifest
@@ -1,2 +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 d27eba521ff9..000000000000
--- a/dev-libs/json-glib/json-glib-1.6.6-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 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 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)
-
- # TODO: implement in next release
- #$(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/json-glib-1.8.0.ebuild b/dev-libs/json-glib/json-glib-1.8.0.ebuild
index 08ef50b661fc..b08e122f0bc6 100644
--- a/dev-libs/json-glib/json-glib-1.8.0.ebuild
+++ b/dev-libs/json-glib/json-glib-1.8.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
@@ -9,7 +9,7 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="gtk-doc +introspection nls test"
RESTRICT="!test? ( test )"
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 373278214033..184acdce391c 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-2023 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..13} )
inherit distutils-r1 edo toolchain-funcs
@@ -23,8 +24,7 @@ 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/jsoncpp/jsoncpp-1.9.5.ebuild b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
index ba865aa3d9e4..308182dcfcfd 100644
--- a/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
+++ b/dev-libs/jsoncpp/jsoncpp-1.9.5.ebuild
@@ -1,16 +1,18 @@
-# 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"
@@ -20,8 +22,8 @@ RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
- doc? ( app-doc/doxygen )"
-RDEPEND=""
+ doc? ( app-text/doxygen )
+"
src_configure() {
local emesonargs=(
diff --git a/dev-libs/judy/judy-1.0.5-r4.ebuild b/dev-libs/judy/judy-1.0.5-r4.ebuild
index 6dc71de7e895..d217b2269f7d 100644
--- a/dev-libs/judy/judy-1.0.5-r4.ebuild
+++ b/dev-libs/judy/judy-1.0.5-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
@@ -6,8 +6,8 @@ EAPI=8
inherit autotools
DESCRIPTION="A C library that implements a dynamic array"
-HOMEPAGE="http://judy.sourceforge.net/"
-SRC_URI="mirror://sourceforge/judy/Judy-${PV}.tar.gz"
+HOMEPAGE="https://judy.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/judy/Judy-${PV}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
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..df252d171184
--- /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 ~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/kdsingleapplication/Manifest b/dev-libs/kdsingleapplication/Manifest
new file mode 100644
index 000000000000..934377590f4f
--- /dev/null
+++ b/dev-libs/kdsingleapplication/Manifest
@@ -0,0 +1 @@
+DIST kdsingleapplication-1.1.0.tar.gz 73558 BLAKE2B 26eda1d7a9a48f6167db9d2d7cd143ab45a08e96eef277cf1099c1ed24528f56ec54e8ab44671e7584937dc21d3437b15c033991e48fafd8b9fab10473e07864 SHA512 61b34a36b05c58ede881f38d78c767726f8e23dc230e292568013fa428f50ff674f7eb12bc4d76ceaa9ef444264b2e86d95ab14cc41c6a275bf917edb8832c1f
diff --git a/dev-libs/kdsingleapplication/kdsingleapplication-1.1.0-r1.ebuild b/dev-libs/kdsingleapplication/kdsingleapplication-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..e8956a2e22ba
--- /dev/null
+++ b/dev-libs/kdsingleapplication/kdsingleapplication-1.1.0-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake qmake-utils
+
+DESCRIPTION="KDAB's helper class for single-instance policy applications"
+HOMEPAGE="https://github.com/KDAB/KDSingleApplication"
+SRC_URI="https://github.com/KDAB/KDSingleApplication/releases/download/v${PV}/kdsingleapplication-${PV}.tar.gz"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-qt/qtbase:6[network,widgets]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ dev-qt/qttools:6[assistant]
+ )
+ examples? ( dev-util/patchelf )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DKDSingleApplication_QT6=ON
+ -DKDSingleApplication_DOCS=$(usex doc)
+ -DKDSingleApplication_EXAMPLES=$(usex examples)
+ -DKDSingleApplication_TESTS=$(usex test)
+ )
+ use examples && mycmakeargs+=(
+ -DQHELPGEN_EXECUTABLE="$(qt6_get_bindir)/../libexec/qhelpgenerator"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ if use doc; then
+ if use examples; then
+ rm -r "${BUILD_DIR}"/docs/api/html/examples || die
+ fi
+ local HTML_DOCS=( "${BUILD_DIR}"/docs/api/html/. )
+ fi
+ if use examples; then
+ patchelf --remove-rpath "${BUILD_DIR}"/bin/widgetsingleapplication || die
+ dobin "${BUILD_DIR}"/bin/widgetsingleapplication
+ fi
+ cmake_src_install
+}
diff --git a/dev-libs/kdsingleapplication/metadata.xml b/dev-libs/kdsingleapplication/metadata.xml
new file mode 100644
index 000000000000..a67b9dc76920
--- /dev/null
+++ b/dev-libs/kdsingleapplication/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>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">KDAB/KDSingleApplication</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch b/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch
new file mode 100644
index 000000000000..6f41ba1841b4
--- /dev/null
+++ b/dev-libs/keystone/files/keystone-0.9.2-strict-prototypes.patch
@@ -0,0 +1,156 @@
+commit 3717a45601835ddce9f0c21c6552aef5b4a6383b
+Upstream: https://github.com/keystone-engine/keystone/pull/563
+Author: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
+Date: Sun Oct 8 13:59:08 2023 +0200
+
+ use full prototypes for functions without parameters
+
+--- a/bindings/ruby/keystone_gem/ext/keystone.c
++++ b/bindings/ruby/keystone_gem/ext/keystone.c
+@@ -27,7 +27,7 @@ VALUE KsClass = Qnil;
+ VALUE KsError = Qnil;
+
+
+-void Init_keystone() {
++void Init_keystone(void) {
+ rb_require("keystone/keystone_const");
+ KeystoneModule = rb_define_module("Keystone");
+ KsError = rb_define_class_under(KeystoneModule, "KsError", rb_eStandardError);
+--- a/llvm/cmake/config-ix.cmake
++++ b/llvm/cmake/config-ix.cmake
+@@ -35,7 +35,7 @@ function(check_type_exists type files variable)
+ add_cxx_include(includes "${files}")
+ CHECK_CXX_SOURCE_COMPILES("
+ ${includes} ${type} typeVar;
+- int main() {
++ int main(void) {
+ return 0;
+ }
+ " ${variable})
+@@ -83,7 +83,7 @@ check_include_file(histedit.h HAVE_HISTEDIT_H)
+ check_cxx_source_compiles("
+ #include <stddef.h>
+ #include <cxxabi.h>
+-int main() { return 0; }
++int main(void) { return 0; }
+ " HAVE_CXXABI_H)
+
+ # library checks
+@@ -414,7 +414,7 @@ if( PURE_WINDOWS )
+ #include <imagehlp.h>
+ extern \"C\" void foo(PENUMLOADED_MODULES_CALLBACK);
+ extern \"C\" void foo(BOOL(CALLBACK*)(PCSTR,ULONG_PTR,ULONG,PVOID));
+- int main(){return 0;}"
++ int main(void){return 0;}"
+ HAVE_ELMCB_PCSTR)
+ if( HAVE_ELMCB_PCSTR )
+ set(WIN32_ELMCB_PCSTR "PCSTR")
+--- a/llvm/cmake/config.guess
++++ b/llvm/cmake/config.guess
+@@ -539,7 +539,7 @@ EOF
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+- main()
++ int main(void)
+ {
+ if (!__power_pc())
+ exit(1);
+@@ -622,7 +622,7 @@ EOF
+ #include <stdlib.h>
+ #include <unistd.h>
+
+- int main ()
++ int main (void)
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+@@ -684,8 +684,8 @@ EOF
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+- int
+- main ()
++
++ int main (void)
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+@@ -1338,7 +1338,7 @@ cat >$dummy.c <<EOF
+ # include <sys/types.h>
+ # include <sys/utsname.h>
+ #endif
+-main ()
++int main (void)
+ {
+ #if defined (sony)
+ #if defined (MIPSEB)
+--- a/llvm/cmake/modules/CheckAtomic.cmake
++++ b/llvm/cmake/modules/CheckAtomic.cmake
+@@ -11,7 +11,7 @@ function(check_working_cxx_atomics varname)
+ CHECK_CXX_SOURCE_COMPILES("
+ #include <atomic>
+ std::atomic<int> x;
+-int main() {
++int main(void) {
+ return x;
+ }
+ " ${varname})
+@@ -46,7 +46,7 @@ CHECK_CXX_SOURCE_COMPILES("
+ #include <Intrin.h> /* Workaround for PR19898. */
+ #include <windows.h>
+ #endif
+-int main() {
++int main(void) {
+ #ifdef _MSC_VER
+ volatile LONG val = 1;
+ MemoryBarrier();
+--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
++++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
+@@ -37,7 +37,7 @@ if(NOT LLVM_FORCE_USE_OLD_TOOLCHAIN)
+ check_cxx_source_compiles("
+ #include <atomic>
+ std::atomic<float> x(0.0f);
+-int main() { return (float)x; }"
++int main(void) { return (float)x; }"
+ LLVM_NO_OLD_LIBSTDCXX)
+ if(NOT LLVM_NO_OLD_LIBSTDCXX)
+ message(FATAL_ERROR "Host Clang must be able to find libstdc++4.7 or newer!")
+@@ -457,7 +457,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11 -Werror=non-virtual-dtor")
+ CHECK_CXX_SOURCE_COMPILES("class base {public: virtual void anchor();protected: ~base();};
+ class derived final : public base { public: ~derived();};
+- int main() { return 0; }"
++ int main(void) { return 0; }"
+ CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ append_if(CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR
+@@ -471,7 +471,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ # line is also a // comment.
+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror -Wcomment")
+- CHECK_C_SOURCE_COMPILES("// \\\\\\n//\\nint main() {return 0;}"
++ CHECK_C_SOURCE_COMPILES("// \\\\\\n//\\nint main(void) {return 0;}"
+ C_WCOMMENT_ALLOWS_LINE_WRAP)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ if (NOT C_WCOMMENT_ALLOWS_LINE_WRAP)
+@@ -508,7 +508,7 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE )
+ #include <cassert>
+ #define NDEBUG
+ #include <cassert>
+- int main() { assert(this code is not compiled); }"
++ int main(void) { assert(this code is not compiled); }"
+ CXX_SUPPORTS_MODULES)
+ set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+ if (CXX_SUPPORTS_MODULES)
+--- a/samples/sample.c
++++ b/samples/sample.c
+@@ -61,7 +61,7 @@ static bool sym_resolver(const char *symbol, uint64_t *value)
+ }
+
+ // test symbol resolver to handle missing symbols
+-static int test_sym_resolver()
++static int test_sym_resolver(void)
+ {
+ ks_engine *ks;
+ ks_err err;
diff --git a/dev-libs/keystone/keystone-0.9.2-r2.ebuild b/dev-libs/keystone/keystone-0.9.2-r2.ebuild
index 87eec63b08e6..1ca6a8f4b3fe 100644
--- a/dev-libs/keystone/keystone-0.9.2-r2.ebuild
+++ b/dev-libs/keystone/keystone-0.9.2-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
@@ -28,7 +28,7 @@ SLOT="0"
# Keep in sync with llvm/CMakeLists.txt
KEYSTONE_TARGETS="AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86"
-IUSE="debug python"
+IUSE="python"
RDEPEND="
python? ( ${PYTHON_DEPS} )
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 39bfca3c6387..c1e7b73fa5d4 100644
--- a/dev-libs/keystone/keystone-9999.ebuild
+++ b/dev-libs/keystone/keystone-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
@@ -8,7 +8,7 @@ DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake distutils-r1
+inherit cmake distutils-r1 flag-o-matic
DESCRIPTION="assembly/assembler framework + bindings"
HOMEPAGE="https://www.keystone-engine.org/"
@@ -28,7 +28,7 @@ SLOT="0"
# Keep in sync with llvm/CMakeLists.txt
KEYSTONE_TARGETS="AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86"
-IUSE="debug python"
+IUSE="python"
RDEPEND="
python? ( ${PYTHON_DEPS} )
@@ -64,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
@@ -73,6 +71,9 @@ src_prepare() {
}
src_configure() {
+ # ODR violations in bundled LLVM (bug #924866)
+ filter-lto
+
local libdir="$(get_libdir)"
local mycmakeargs=(
-DCMAKE_CONFIGURATION_TYPES="Gentoo"
diff --git a/dev-libs/kirigami-addons/Manifest b/dev-libs/kirigami-addons/Manifest
index e6315b4e9672..4a0216dfb6cb 100644
--- a/dev-libs/kirigami-addons/Manifest
+++ b/dev-libs/kirigami-addons/Manifest
@@ -1 +1,3 @@
DIST kirigami-addons-0.11.0.tar.xz 136692 BLAKE2B 26301176ddeaea3aec351207e82dc28a56e465aa6bc6d3bfd23b1feaa5d14cc0821a4c39fdf5eee3d134a8ed9bbcb5e503ee31d3864185c57bb0fcb788744f2d SHA512 f5a721eee6d0ebd37e67cdb5f89aba81136eb4ac23bc042b7d9bedd6a33f96f913353e1d83ec91e6997a8eea5e2834d9203eb7cd286eed1157149ecedeab6b89
+DIST kirigami-addons-1.3.0.tar.xz 1287344 BLAKE2B 18303139a015fb5ad131c877bd20524ca8b7751fba17d4cb5b73ad95df0fc525b7ee8456a0d271d0c79788f3ddbdfac0d147a2c2b95b66508db2f3cb4ab864b0 SHA512 e80fb311b169d8c6344e1b1c5a7fc1ae284bc39db5132d285863889e359cfadec656802b436da4b69c7f7efb420e99bbd267dfd6d8488cffcaf3b158e1e1e206
+DIST kirigami-addons-1.4.0.tar.xz 1377508 BLAKE2B 2db4c7d704e30ad68d180ac97b8c1f4f005fddf4d52e9f4a82a460e3e0b267b6a7e018b198e4a628889aea1b38ca5a72e20a02a918e06f8b9a23277328d20d18 SHA512 f9c44436c0b5360fba702cb3ef0a5445d96f4fef023ad74db1ff07cdb362c41e8ab7bfd779cf021bae9578f9d07245ab56c80e243d1b6af70c5d12c5afcbc8b2
diff --git a/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-0.11.0-r1.ebuild
index b50294cd36ab..3615b596cac7 100644
--- a/dev-libs/kirigami-addons/kirigami-addons-0.11.0.ebuild
+++ b/dev-libs/kirigami-addons/kirigami-addons-0.11.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -34,6 +34,7 @@ COMMON_DEPEND="
"
RDEPEND="${COMMON_DEPEND}
>=dev-qt/qtgraphicaleffects-${QTMIN}:5
+ >=dev-qt/qtmultimedia-${QTMIN}:5[qml]
>=kde-plasma/libplasma-${KFMIN}:5
>=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
"
diff --git a/dev-libs/kirigami-addons/kirigami-addons-1.3.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.3.0.ebuild
new file mode 100644
index 000000000000..91d542835fc5
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-1.3.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.3.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 ~arm64 ~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="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/qtmultimedia-${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/kirigami-addons-1.4.0.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.4.0.ebuild
new file mode 100644
index 000000000000..87b191f14ac2
--- /dev/null
+++ b/dev-libs/kirigami-addons/kirigami-addons-1.4.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.3.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 ~arm64 ~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="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/qtmultimedia-${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 1348b359083f..5f4a01594175 100644
--- a/dev-libs/kopeninghours/Manifest
+++ b/dev-libs/kopeninghours/Manifest
@@ -1,3 +1,2 @@
-DIST kopeninghours-23.04.3.tar.xz 71808 BLAKE2B 734d938145fd386b6314f0e861a1b148e4a5dfac83f8b0263f8840e07f629c528f4945be16e3c6d8240b72b2be442a28071dc86982ee42b6faa60780ae15c0ee SHA512 6faddbf3da09fb4d3616abbc230c269f0ccb827f081ca3b2bf40874d7878efe69ea197ccf54f1b4db0e997eee11cca41891d64196b77062763d62e286ce4aa4c
-DIST kopeninghours-23.08.3.tar.xz 71932 BLAKE2B 368f75ef0884a909b916497d9e5578a19288cebb1d12bf073938633a37a53a00c7f34256ee03a8ca2bd73759f72a16aa1b677c8a75305865446c2e5d935026a1 SHA512 e62794d4405321ef7c81b3981e2610e3a5f91a0a65a1899fd1e24681f4bb6296e8ad26532bb039e0fa3f47a0c33269a8c46c87658e407c87b77619ea0a09f155
-DIST kopeninghours-23.08.4.tar.xz 72316 BLAKE2B 041df496387bf6e128419decc6529c380c4ddee8bc22f6f052c8e621aac644442f739ecc563ed4e18fadcb05ebbd275f58a13e8418ec6cb4f18b1e260c2bcfd7 SHA512 76b4b46fc9bc0541636bf53aefc85bd24ecdbd243baafafc13da847281293a780410e1000930d805b710b3828234ab35b91369c5b70f86e7bdc21dff7d8c70d7
+DIST kopeninghours-23.08.5.tar.xz 72568 BLAKE2B 84e418d95f4a7261786a101882000bed0ca721931cc419e0330edb0f659e38459063d49c75ca643d169e9326ed66694130cfeebef51183c89e02efd02f6f3133 SHA512 a95cd3c446699d8bd95f2f746cb8b4187c7d2027067e5c731afe371a3313a5569780110e8acbf52d125da673aff4b2567da9f2b8c07a4412cf1d7540baad7a14
+DIST kopeninghours-24.05.2.tar.xz 74584 BLAKE2B 54ec52b2f59f714794f35d2e4b131beeb931b4a9d248afbcc49b0d0708c98c91501e782433cd4bcffd61b81a4d0bfd551b216c4886f8ec72cf79321840b7b5d2 SHA512 72f2276d9e48836dda32320695ab35e333336c8204d8bc84f8c777a81ebf5ff0a4a83e87375b5af9458ab46755a2456a54451fd2f50cfe4ff3d7d4067d30297a
diff --git a/dev-libs/kopeninghours/kopeninghours-23.04.3.ebuild b/dev-libs/kopeninghours/kopeninghours-23.04.3.ebuild
deleted file mode 100644
index 14890beac8eb..000000000000
--- a/dev-libs/kopeninghours/kopeninghours-23.04.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.106.0
-QTMIN=5.15.9
-PYTHON_COMPAT=( python3_{10..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.3.ebuild b/dev-libs/kopeninghours/kopeninghours-23.08.5.ebuild
index 14890beac8eb..0ced49ce9bd3 100644
--- a/dev-libs/kopeninghours/kopeninghours-23.08.3.ebuild
+++ b/dev-libs/kopeninghours/kopeninghours-23.08.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
@@ -8,7 +8,7 @@ ECM_TEST="true"
PVCUT=$(ver_cut 1-3)
KFMIN=5.106.0
QTMIN=5.15.9
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit ecm gear.kde.org python-single-r1
DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
@@ -39,8 +39,8 @@ RDEPEND="${DEPEND}
>=dev-qt/qtquickcontrols2-${QTMIN}:5
"
BDEPEND="
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/lex
+ app-alternatives/yacc
"
PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
diff --git a/dev-libs/kopeninghours/kopeninghours-23.08.4.ebuild b/dev-libs/kopeninghours/kopeninghours-24.05.2.ebuild
index 14890beac8eb..4e0fba0806c9 100644
--- a/dev-libs/kopeninghours/kopeninghours-23.08.4.ebuild
+++ b/dev-libs/kopeninghours/kopeninghours-24.05.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,9 +6,9 @@ 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..11} )
+KFMIN=6.3.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"
@@ -16,17 +16,17 @@ HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
https://invent.kde.org/libraries/kopeninghours"
LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
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
+ >=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 '
@@ -36,11 +36,10 @@ DEPEND="
"
RDEPEND="${DEPEND}
${PYTHON_DEPS}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
"
BDEPEND="
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/lex
+ app-alternatives/yacc
"
PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
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 367aca0f3496..42f5c5949e32 100644
--- a/dev-libs/kosmindoormap/Manifest
+++ b/dev-libs/kosmindoormap/Manifest
@@ -1,3 +1,2 @@
-DIST kosmindoormap-23.04.3.tar.xz 375680 BLAKE2B 306336b33c7b03e67531f11163c579dab5b68614f4fd582eb14858a7c80e601e848aaf933c846a144d07e59c215b59f3a0021429f675a76750903144e02829d1 SHA512 1ad5acc7143842005cc02c146e90090d57d8fbafbac6a4401ab94ec966c709f66f7f832169982a808ab21911b16e6f837137c2fd9cf284c540ce03e6647c3405
-DIST kosmindoormap-23.08.3.tar.xz 379980 BLAKE2B 5dae843d121543c5bd7fc3021f436b0d5ea4f7554c5f186479036af191946f57c67b95d41fef3b2ea74c71a315be159f49aab1f89afd03cd21bf326d605be1f6 SHA512 5a5d158eb6f231b6975ff24db73eaf4a1969606999fca7b3944a5bbb77393612bc2df3591b320ad8b9c42b0fca751b7f50e990636c22c3748141c20fcfb0c78e
-DIST kosmindoormap-23.08.4.tar.xz 380016 BLAKE2B d7e6d940ccdac8a17404dc40e5948fed1674d789ba2796e704c71d9b8cae4e79bcc385bd4a245a5b85301f51c37517bc19c17977556e6c4d83bc9f2cd03cc82d SHA512 ea27d24c1623c40b39a8681bc5b119187d463575b3e888aed0c0b2c0549b5997809ebc74e2e08427238586b9f2ee77350d34874862c6084c91245a6040dbfd2a
+DIST kosmindoormap-23.08.5.tar.xz 384948 BLAKE2B 0936fe42b0c370dc0c57d475aa771784c75e8350e2d563140c027d047514840f99d6697e36fde027da11e22a92239b6403cf1b18a37aa8e09a3f8814cb6931c8 SHA512 9128cccbd56f51b1e8ad7f7151db0de8952a8348fb74afe3eefeb085979b26d95d1699f260d744c4f3ea5d815109f998829625db480194a8539e782e8c32537c
+DIST kosmindoormap-24.05.2.tar.xz 647752 BLAKE2B 9464b424669a412b4b32958ced91c0dae9980e9387cc97b823bcdaecffca850d29f25e9b437fc1d3b4d8b0d8022c6fc7b0a8e176a20f72ee2714da1691207838 SHA512 2bf2998be61893d651dbd1a9a0e509c6cf83a122e9ee95c265bf0507706c77b20b7e64d462840d76c7b1aa6f9d884305812e32dc4058c09a0f724994d2e073b1
diff --git a/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-1.patch b/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-1.patch
deleted file mode 100644
index 427abde08a81..000000000000
--- a/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-1.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From eac8c57528b5ef8e694df4072ed7a60be799c270 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Wed, 5 Jul 2023 16:16:02 +0200
-Subject: [PATCH] Use protobuf's cmake config if available
-
----
- CMakeLists.txt | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 466c9add..da9881cd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -73,7 +73,13 @@ find_package(BISON REQUIRED)
- set_package_properties(BISON PROPERTIES PURPOSE "MapCSS parser for indoor map rendering.")
-
- if (NOT WIN32)
-- find_package(Protobuf)
-+ # try upstream cmake config first
-+ set(protobuf_MODULE_COMPATIBLE ON)
-+ find_package(Protobuf CONFIG)
-+ if(NOT Protobuf_FOUND)
-+ # fall back to cmake's protobuf module
-+ find_package(Protobuf)
-+ endif()
- set_package_properties(Protobuf PROPERTIES TYPE OPTIONAL PURPOSE "Parsing of OSM PBF files.")
- endif()
-
---
-GitLab
-
diff --git a/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-2.patch b/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-2.patch
deleted file mode 100644
index 965a8a9d82de..000000000000
--- a/dev-libs/kosmindoormap/files/kosmindoormap-23.04.3-protobuf-23-2.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 6dfceab2bacef67ea27b4d1045100b6e0d2be430 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Wed, 5 Jul 2023 14:00:29 +0200
-Subject: [PATCH] Use protobuf cmake targets instead of variables
-
-Makes it compatible with protobuf's upstream cmake config, which is required for protobuf>=22 as the cmake provided module is broken with it.
----
- src/osm/io/CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/osm/io/CMakeLists.txt b/src/osm/io/CMakeLists.txt
-index bf1d02c9..ec95f7e5 100644
---- a/src/osm/io/CMakeLists.txt
-+++ b/src/osm/io/CMakeLists.txt
-@@ -1,7 +1,7 @@
- # SPDX-FileCopyrightText: 2020-2022 Volker Krause <vkrause@kde.org>
- # SPDX-License-Identifier: BSD-2-Clause
-
--if (Protobuf_FOUND AND Protobuf_PROTOC_EXECUTABLE)
-+if (Protobuf_FOUND AND TARGET protobuf::protoc)
- PROTOBUF_GENERATE_CPP(pbf_srcs pbf_hdrs
- ../pbf/fileformat.proto
- ../pbf/osmformat.proto
-@@ -19,7 +19,7 @@ if (Protobuf_FOUND AND Protobuf_PROTOC_EXECUTABLE)
- set_target_properties(KOSM_pbfioplugin PROPERTIES POSITION_INDEPENDENT_CODE ON)
- target_link_libraries(KOSM_pbfioplugin
- PUBLIC KOSM
-- PRIVATE ${Protobuf_LIBRARIES} ZLIB::ZLIB
-+ PRIVATE protobuf::libprotobuf ZLIB::ZLIB
- )
- endif()
-
---
-GitLab
-
diff --git a/dev-libs/kosmindoormap/files/kosmindoormap-24.05.1-cmake.patch b/dev-libs/kosmindoormap/files/kosmindoormap-24.05.1-cmake.patch
new file mode 100644
index 000000000000..77d51d1da9be
--- /dev/null
+++ b/dev-libs/kosmindoormap/files/kosmindoormap-24.05.1-cmake.patch
@@ -0,0 +1,82 @@
+From 88cdec4c0bc40f4e98105a0b69c968fdd94ac7f4 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 30 Jun 2024 23:17:00 +0200
+Subject: [PATCH 1/3] Fix/simplify BUILD_STANDALONE_APP decisionmaking
+
+BUILD_STANDALONE_APP=ON guarantees Qt::Widgets so no need for this check.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 79f07df..cdd99e1 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -10,7 +10,7 @@ if (TARGET Qt::Quick)
+ add_subdirectory(map-quick)
+ add_subdirectory(map-publictransport-integration)
+ endif()
+-if ((NOT ANDROID AND TARGET Qt::Widgets) OR BUILD_STANDALONE_APP)
++if (BUILD_STANDALONE_APP)
+ add_subdirectory(app)
+ endif()
+ if (NOT CROSS_COMPILING)
+--
+2.45.2
+
+
+From 09d0bda83e6de957ad8883926d8b9f9b3adfe762 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 30 Jun 2024 23:23:22 +0200
+Subject: [PATCH 2/3] Use more QT_MIN_VERSION
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bbf417f..6da25de 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,7 +54,7 @@ if (NOT BUILD_TOOLS_ONLY)
+ endif()
+
+ if (BUILD_TESTING)
+- find_package(Qt6 6.5 REQUIRED COMPONENTS Test Widgets)
++ find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Test Widgets)
+ endif()
+
+ if (BUILD_STANDALONE_APP)
+--
+2.45.2
+
+
+From 74c3516e698a4fc53e45585a5846a170a8f25e2f Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 30 Jun 2024 23:25:46 +0200
+Subject: [PATCH 3/3] Add missing KF6I18n dependency for BUILD_STANDALONE_APP
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6da25de..dd55077 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -61,7 +61,7 @@ if (BUILD_STANDALONE_APP)
+ if (NOT ANDROID)
+ find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Widgets)
+ else()
+- find_package(KF6 REQUIRED COMPONENTS Kirigami2)
++ find_package(KF6 6.3 REQUIRED COMPONENTS I18n Kirigami)
+ find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS QuickControls2 Svg)
+ find_package(OpenSSL REQUIRED)
+ if (NOT DEFINED BREEZEICONS_DIR AND EXISTS ${CMAKE_SOURCE_DIR}/../breeze-icons)
+--
+2.45.2
+
diff --git a/dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild b/dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild
deleted file mode 100644
index a6f7915d7011..000000000000
--- a/dev-libs/kosmindoormap/kosmindoormap-23.04.3.ebuild
+++ /dev/null
@@ -1,49 +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.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="
- sys-devel/bison
- sys-devel/flex
-"
-
-PATCHES=( "${FILESDIR}"/${P}-protobuf-23-{1,2}.patch ) # bug 909081, in 23.08.0
-
-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.4.ebuild b/dev-libs/kosmindoormap/kosmindoormap-23.08.4.ebuild
deleted file mode 100644
index 7d84056f235e..000000000000
--- a/dev-libs/kosmindoormap/kosmindoormap-23.08.4.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.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="
- 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.3.ebuild b/dev-libs/kosmindoormap/kosmindoormap-23.08.5.ebuild
index 7d84056f235e..132e337c3522 100644
--- a/dev-libs/kosmindoormap/kosmindoormap-23.08.3.ebuild
+++ b/dev-libs/kosmindoormap/kosmindoormap-23.08.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
@@ -34,8 +34,8 @@ RDEPEND="${COMMON_DEPEND}
>=dev-qt/qtquickcontrols2-${QTMIN}:5
"
BDEPEND="
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/lex
+ app-alternatives/yacc
"
src_configure() {
diff --git a/dev-libs/kosmindoormap/kosmindoormap-24.05.2.ebuild b/dev-libs/kosmindoormap/kosmindoormap-24.05.2.ebuild
new file mode 100644
index 000000000000..5dc6d3d36d64
--- /dev/null
+++ b/dev-libs/kosmindoormap/kosmindoormap-24.05.2.ebuild
@@ -0,0 +1,51 @@
+# 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.3.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 ~arm64"
+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
+"
+
+# Pending: https://invent.kde.org/libraries/kosmindoormap/-/merge_requests/40
+PATCHES=( "${FILESDIR}/${PN}-24.05.1-cmake.patch" )
+
+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 e848216c3fca..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -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..791ca151307a
--- /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 b2c520aacb1f..3c8a8873e825 100644
--- a/dev-libs/kpublictransport/Manifest
+++ b/dev-libs/kpublictransport/Manifest
@@ -1,3 +1,2 @@
-DIST kpublictransport-23.04.3.tar.xz 537716 BLAKE2B ee477dba15626a66cab15be59a1438c03d378df1e6686e5345211fa2139f0bec49ce3138f5e6cbdbd7ffb3ff6a58bd8ec1fcaa87c235af7aee7a23e926648953 SHA512 41597bf9e7c3366575a9a6698cace1f127f8c69094de906d0ab662cc563b0a440ae89c074909083d82c8d94e1cd5f2442470f45369663252b5cf6dd8f6ae7e47
-DIST kpublictransport-23.08.3.tar.xz 570316 BLAKE2B 9b98fdb1039273468becbe018a2904d12dcb7489e58b7354b25c79e72286917462ebff3807b14d2d5c71ee4ee2d48a223d19988329b66a23c63ef1d970321622 SHA512 278912f30881c46aa516e73f4be27e47a07fc97b6769ce120e9649c69e9cc68087bca58c1565bd66967559303caedd8c3d46b9ec4b26f481ecc12f1db58629a3
-DIST kpublictransport-23.08.4.tar.xz 571292 BLAKE2B 952829fc61b9b52938407e75b80396a3e3669b124883cb7c53b65dbbef69200ef2f5b39b2e4e03620e35dd235cd9ee22f588ecdf272bb9a84400265493515638 SHA512 bea032b8032cd99f8dddbbfb02cd52935062f204bde450b5da70d70dfdf3dab90acbf4148c45a3c9aed02e56e4ebce3811dcda8bd4bd92038896c2f9a8238869
+DIST kpublictransport-23.08.5.tar.xz 572952 BLAKE2B 9628dfba5f73b76594b3bb97b7e4996267f9bb7f9acc024de003e28dd9754bf1c7226eb85aeae27784752356688abe28ec85b93b028c863f2c8edf9d645fd54d SHA512 43c58c14ee5827579ffcf97c42c4ac844f49c05f5e68f441c6d3d2a32bf074de08f7daf14b3ca32b25101215943601204837e5ad4e7841cd9984745769b4008f
+DIST kpublictransport-24.05.2.tar.xz 662684 BLAKE2B eb331cfa35f41992182df54e051de18608ccb6b6650f83c5c2ed8382dc5f945579b237a6c64bc1ba820d1906715b42493258f8f7f2006bd49734a9aa303c5561 SHA512 5bb89da0039e372ae8b6b6dfb33850517ca9d71bc32540e5b4dc19ce89b5910a57aff6f4f7182544f90ad89da4eceaad0bc9438bc1958887158fe8f0afabaf59
diff --git a/dev-libs/kpublictransport/kpublictransport-23.04.3.ebuild b/dev-libs/kpublictransport/kpublictransport-23.04.3.ebuild
deleted file mode 100644
index f0f684b8dbb9..000000000000
--- a/dev-libs/kpublictransport/kpublictransport-23.04.3.ebuild
+++ /dev/null
@@ -1,40 +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.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-23.08.4.ebuild b/dev-libs/kpublictransport/kpublictransport-23.08.5.ebuild
index f0f684b8dbb9..b769c4eea8e6 100644
--- a/dev-libs/kpublictransport/kpublictransport-23.08.4.ebuild
+++ b/dev-libs/kpublictransport/kpublictransport-23.08.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
diff --git a/dev-libs/kpublictransport/kpublictransport-23.08.3.ebuild b/dev-libs/kpublictransport/kpublictransport-24.05.2.ebuild
index f0f684b8dbb9..4a96d36d5103 100644
--- a/dev-libs/kpublictransport/kpublictransport-23.08.3.ebuild
+++ b/dev-libs/kpublictransport/kpublictransport-24.05.2.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
ECM_QTHELP="true"
ECM_TEST="true"
-KFMIN=5.106.0
-QTMIN=5.15.9
+KFMIN=6.3.0
+QTMIN=6.6.2
inherit ecm gear.kde.org
DESCRIPTION="Library for accessing public transport timetables and other information"
@@ -14,27 +14,26 @@ HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
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
+ >=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}:5 )
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
"
DEPEND="${RDEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
+ 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 KF5NetworkManagerQt)
+ $(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
index 68b828532976..a4c0d979b06f 100644
--- a/dev-libs/ktextaddons/Manifest
+++ b/dev-libs/ktextaddons/Manifest
@@ -1,2 +1,2 @@
DIST ktextaddons-1.2.1.tar.xz 392132 BLAKE2B 63a3dcbca0e49fab246f6a76266529e90ec73209e5dd2464884b9b0071867d10ff017b91faa321a8738e63c90c6bd6c4c8ad708a4a944595eba4a7f0aa4934d2 SHA512 44a0aa56a92594031576d2e37e7bc526444f64cebd9b5add8bd382e72fc30b222075bee4d61cc358da61f4db266cd0a339717bd9d90b21e38993371cb1408db9
-DIST ktextaddons-1.3.0.tar.xz 393324 BLAKE2B 446cebcc278a60e3697893afee2bff91fbe6ef15413e4bbaf17aa8466a344437bb48d667cf4e6709de56339deeefb3969ae4a5d55ab73d7085feedb67bfae072 SHA512 0fb2c523547087a8732e40158318a5984729d56faf25318878f059c1dfb7b12fdb45e165e61fe259ee5379d40c24cd79464aac8af39802e25390d22a3a77eca4
+DIST ktextaddons-1.5.4.tar.xz 471052 BLAKE2B 9f2730d0e1f71606b60c2469bd06790a8a1fadd7e30526ed94125d8eb897a08be549ac05bd9af9651dadf5ef95fa71249c5802e40fce43f28c82c2cd8f121e04 SHA512 76829c265c68e374fc7012c270a0328bb9d724d78165f0bda8da126994a5eb692af0b66b93e1151af3fc3e1755bbedfabcae73b60bb47c871181d2d50530e243
diff --git a/dev-libs/ktextaddons/files/ktextaddons-1.3.0-fix-qch.patch b/dev-libs/ktextaddons/files/ktextaddons-1.3.0-fix-qch.patch
deleted file mode 100644
index 7cf1a1ecea98..000000000000
--- a/dev-libs/ktextaddons/files/ktextaddons-1.3.0-fix-qch.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d87f5f136a7af6bbeb033cacbd97136d89a76b51 Mon Sep 17 00:00:00 2001
-From: Laurent Montel <montel@kde.org>
-Date: Thu, 27 Apr 2023 07:48:40 +0200
-Subject: [PATCH] Fix Bug 469020: Building with QCH=ON fails
-
-FIXED-IN: 1.3.1
-BUG: 469020
----
- textautocorrection/core/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/textautocorrection/core/CMakeLists.txt b/textautocorrection/core/CMakeLists.txt
-index 4c562d7..68d28fa 100644
---- a/textautocorrection/core/CMakeLists.txt
-+++ b/textautocorrection/core/CMakeLists.txt
-@@ -163,7 +163,7 @@ if (BUILD_QCH)
- KF${KF_MAJOR_VERSION}TextAutoCorrectionCore_QCH
- NAME KF${KF_MAJOR_VERSION}TextAutoCorrectionCore
- BASE_NAME KF${KF_MAJOR_VERSION}TextAutoCorrectionCore
-- VERSION ${TEXTAUTOCORRECTION_VERSION}
-+ VERSION ${TEXTAUTOCORRECTIONCORE_VERSION}
- ORG_DOMAIN org.kde
- SOURCES # using only public headers, to cover only public API
- ${TextAutoCorrectionCore_autocorrection_HEADERS}
---
-GitLab
-
diff --git a/dev-libs/ktextaddons/ktextaddons-1.3.0.ebuild b/dev-libs/ktextaddons/ktextaddons-1.3.0.ebuild
deleted file mode 100644
index 691becce3bfc..000000000000
--- a/dev-libs/ktextaddons/ktextaddons-1.3.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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}"
-
-PATCHES=( "${FILESDIR}/${P}-fix-qch.patch" ) # bug 905361
-
-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..91e82c8d59c3
--- /dev/null
+++ b/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild
@@ -0,0 +1,51 @@
+# 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 ~arm64"
+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/kwidgetsaddons-${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
index 35297b0e4483..fe672f377cfd 100644
--- a/dev-libs/ktextaddons/metadata.xml
+++ b/dev-libs/ktextaddons/metadata.xml
@@ -11,6 +11,5 @@
</upstream>
<use>
<flag name="designer">Build plugins for <pkg>dev-qt/designer</pkg></flag>
- <flag name="speech">Enable text-to-speech support</flag>
</use>
</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 05ef902e19e9..fd35ee38a65c 100644
--- a/dev-libs/kweathercore/kweathercore-0.7.ebuild
+++ b/dev-libs/kweathercore/kweathercore-0.7.ebuild
@@ -27,9 +27,8 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-src_test() {
- local myctestargs=(
- -E "locationquerytest"
- )
- ecm_src_test
-}
+CMAKE_SKIP_TESTS=(
+ locationquerytest
+ # bug 906392
+ metnoparsertest
+)
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..fb2484d8731c
--- /dev/null
+++ b/dev-libs/kweathercore/kweathercore-0.8.0.ebuild
@@ -0,0 +1,34 @@
+# 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 ~arm64 ~x86"
+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}"
+
+CMAKE_SKIP_TESTS=(
+ locationquerytest
+ # bug 906392
+ metnoparsertest
+)
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/lager/Manifest b/dev-libs/lager/Manifest
new file mode 100644
index 000000000000..50e2f6b3144a
--- /dev/null
+++ b/dev-libs/lager/Manifest
@@ -0,0 +1 @@
+DIST lager-0.1.1.tar.gz 874540 BLAKE2B d2ab1dcd7b94a9251f6b0c55a41dd94d47d8d11715f44f694e129031bb698843144deb4c70d1b86c1c4fc6be108d6ccdd24d79af89e08815686b72ff8b8278ba SHA512 f88f22dbe1d0e099b1c1f0d8b165c155c44db61a51297ca445d82db8ed4efb918016678a5d6977147214540c69b72f7364d0d14ddc7f300625c19553c88a4e39
diff --git a/dev-libs/lager/lager-0.1.1-r1.ebuild b/dev-libs/lager/lager-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..720534be9154
--- /dev/null
+++ b/dev-libs/lager/lager-0.1.1-r1.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
+
+DESCRIPTION="Library to assist value-oriented design"
+HOMEPAGE="https://sinusoid.es/lager/"
+SRC_URI="https://github.com/arximboldi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/zug
+ dev-libs/immer
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3:0
+ dev-libs/cereal
+ dev-qt/qtcore:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtdeclarative:5
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCCACHE=no
+ -Dlager_BUILD_DEBUGGER_EXAMPLES=OFF
+ -Dlager_BUILD_DOCS=OFF # Check if docs are more complete on version bumps
+ -Dlager_BUILD_EXAMPLES=OFF
+ -Dlager_BUILD_FAILURE_TESTS=OFF
+ -Dlager_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use test; then
+ cmake_build tests
+ fi
+}
diff --git a/dev-libs/lager/lager-0.1.1.ebuild b/dev-libs/lager/lager-0.1.1.ebuild
new file mode 100644
index 000000000000..26ba73298361
--- /dev/null
+++ b/dev-libs/lager/lager-0.1.1.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="Library to assist value-oriented design"
+HOMEPAGE="https://sinusoid.es/lager/"
+SRC_URI="https://github.com/arximboldi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/zug
+ dev-libs/immer
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3:0
+ dev-libs/cereal
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCCACHE=no
+ -Dlager_BUILD_DEBUGGER_EXAMPLES=OFF
+ -Dlager_BUILD_DOCS=OFF # Check if docs are more complete on version bumps
+ -Dlager_BUILD_EXAMPLES=OFF
+ -Dlager_BUILD_FAILURE_TESTS=OFF
+ -Dlager_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use test; then
+ cmake_build tests
+ fi
+}
diff --git a/dev-libs/lager/metadata.xml b/dev-libs/lager/metadata.xml
new file mode 100644
index 000000000000..023a12be6661
--- /dev/null
+++ b/dev-libs/lager/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>darkdefende@gmail.com</email>
+ <name>Sebastian Parborg</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">arximboldi/lager</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/leatherman/Manifest b/dev-libs/leatherman/Manifest
index 0d02d26c40c2..57951b826a30 100644
--- a/dev-libs/leatherman/Manifest
+++ b/dev-libs/leatherman/Manifest
@@ -1,3 +1 @@
-DIST leatherman-1.12.10.tar.gz 816708 BLAKE2B 65c606c548a0394b6a1619d26f1814ea9a9ab2a3b40346ed9a1805291a9df90227f9f7cb37758fcb7f778a1f28e56fd8bf395c335125e1ede7e1455b1c70c0e5 SHA512 c9882553906287c27d79e9f3df8af96a77fdf9a0fc0fdadc26105eed3fd6da3f598344a9a0671cc0a1c70cea29402fb0ca76deff1a1a4b9fd9979815917c62fc
-DIST leatherman-1.12.11.tar.gz 816707 BLAKE2B 7e94c24b541efb9a8f879897eb13cbb7fbce7e87fd7543625e0c88717a79ccdcd1bc8d06268582ee4445a2628a71ef6ffd64b38f93ad0fbdd811e686623ac4f6 SHA512 26fb96a2f8bb34efe4df1220db18f9816ecd3b34d3ef1e84ecfda8833318f7e4f3dcd93535034669110e62fa69bbf9c43599d84739321c6d0075475cd2de7671
-DIST leatherman-1.12.9.tar.gz 816107 BLAKE2B 1c2e50767585a30da40fdacde0aa8655cefc2a41cadd24a7689be5da0afcbe8627293d37780442873907996f01401b46340a3d7be5d9b2a65b2f87191daca6c3 SHA512 e69f2b0c04a1cbd20e097abcc020e7b27fb74f168207fcbcffce9fd0edd1760acc75d5c5f645d3a798f106e129ce73e512f0c11699733475b290dfc876de0565
+DIST leatherman-1.12.13.tar.gz 818810 BLAKE2B 3caf99e7a266703e4c84797ecdb5f4006474c5bc7014dee2dddcbf51ec38c0337027c8ee49c52a54d68450abf57605a8482b52d6a63a0fe5f4eeb554adea90c7 SHA512 5d45036839270690f8f6649ea82d3800eec89a6fff92416a2e9831a177a1ddd6b42a33bc8af94a410c65c768c962b5fafc696f579f3de411b41cb5ae88b1372f
diff --git a/dev-libs/leatherman/leatherman-1.12.10.ebuild b/dev-libs/leatherman/leatherman-1.12.10.ebuild
deleted file mode 100644
index 3e6c8de60a0f..000000000000
--- a/dev-libs/leatherman/leatherman-1.12.10.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 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.11.ebuild b/dev-libs/leatherman/leatherman-1.12.13.ebuild
index 3e6c8de60a0f..8f059cdc447e 100644
--- a/dev-libs/leatherman/leatherman-1.12.11.ebuild
+++ b/dev-libs/leatherman/leatherman-1.12.13.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
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 c81deb3ac00c..e815255d25cc 100644
--- a/dev-libs/level-zero/Manifest
+++ b/dev-libs/level-zero/Manifest
@@ -1,2 +1,2 @@
-DIST level-zero-1.14.0.tar.gz 927330 BLAKE2B d025d7b6315037e9ae7fa037d3f86781ccb4f5a2736f5f2c8a8aa250eb0fa313c33b481a0a703781f17d0b3162c87b7f4a83d5d4668e79e82ef9a8aa1087f739 SHA512 6eb862492fb25fdebb5c2b93a24c02608f2a5e91a746e49ecdb8f5fa8f5c680644282ff4933fc7f6d15cb1d7db1f55534e5696b70d2553f0f59bfdf5f6ee1788
-DIST level-zero-1.15.1.tar.gz 935483 BLAKE2B 3478698f1976ea10557c28a44618417f4d2e65da328787210cd0da481ebcdf2a507ce738ac1d01101540ee6653c72254521afe7069f13219d7c8a4d5a5aec822 SHA512 594fc39f971fd06be9eb63f894ac9c720ee5ee110963c25f7861c348c4484793a529e39aec12f8aeb02b91666c41eacb3cebc2ebaac4c9e67d2c6ee66f682963
+DIST level-zero-1.17.19.tar.gz 1150799 BLAKE2B 6c6077424c503b194b93801f0c1a4cab10e53d845ef88d75fae22d8c4ebd91387e03b1e9b37f6dfa43603216f64f20095b43b6b8331e282470c7c7ab1e49204e SHA512 bc5f65180c399a0fb9504db2f3db65c04e32e9fbedd6b0c4ae9eabd77c3586eb5116e553e2a6eab85f738d7a95a2f976062d2f7216fa0c239efb6661c2b6dd2c
+DIST level-zero-1.17.6.tar.gz 1136720 BLAKE2B 89aae9aad33f2aaebb1231dd0cd6aadde692f390fbbfd59933e8df06dc1c5bdd190cdf2887f1f43915f68da130e80e9451359269f8bec6f546f6004214552c13 SHA512 bb412e875d97d1c80a0e67087e6dac1a6ffb91fa50e22deb7649ee3250c0937679d225419b52bfd7938f71a66ac15742a6a215cee7714c27e0f935e04df5b88e
diff --git a/dev-libs/level-zero/level-zero-1.15.1.ebuild b/dev-libs/level-zero/level-zero-1.17.19.ebuild
index 5fb383635c28..4034c8711d28 100644
--- a/dev-libs/level-zero/level-zero-1.15.1.ebuild
+++ b/dev-libs/level-zero/level-zero-1.17.19.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,6 +13,9 @@ LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64"
+RDEPEND="dev-libs/spdlog:="
+DEPEND="${RDEPEND}"
+
src_prepare() {
# Don't hardcore -Werror
sed -e 's/-Werror//g' -i CMakeLists.txt || die
@@ -23,3 +26,11 @@ src_prepare() {
# some of them do not. Fortunately it is trivial to make one ourselves.
echo "$(ver_cut 3)" > "${S}"/VERSION_PATCH || die
}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSYSTEM_SPDLOG="ON"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/level-zero/level-zero-1.14.0.ebuild b/dev-libs/level-zero/level-zero-1.17.6.ebuild
index 0ba55ed2d1c0..7b8d9c05924c 100644
--- a/dev-libs/level-zero/level-zero-1.14.0.ebuild
+++ b/dev-libs/level-zero/level-zero-1.17.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,6 +13,8 @@ LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="amd64"
+DEPEND="${RDEPEND}"
+
src_prepare() {
# Don't hardcore -Werror
sed -e 's/-Werror//g' -i CMakeLists.txt || die
diff --git a/dev-libs/leveldb/leveldb-1.23-r5.ebuild b/dev-libs/leveldb/leveldb-1.23-r6.ebuild
index b484578cd53d..c963638d5fd9 100644
--- a/dev-libs/leveldb/leveldb-1.23-r5.ebuild
+++ b/dev-libs/leveldb/leveldb-1.23-r6.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
@@ -41,6 +41,7 @@ src_configure() {
-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
}
diff --git a/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild b/dev-libs/libIDL/libIDL-0.8.14-r4.ebuild
index 5f9f9ce63dbd..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
@@ -16,6 +16,6 @@ KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-l
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/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/libassuan/Manifest b/dev-libs/libassuan/Manifest
index d376244fb158..5ca54566b765 100644
--- a/dev-libs/libassuan/Manifest
+++ b/dev-libs/libassuan/Manifest
@@ -1,3 +1,8 @@
-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
+DIST libassuan-3.0.1.tar.bz2 592430 BLAKE2B 5d6a7e4e9ce1b196bc7d126786716d95896de6145b8d753e2289bd36cbc96efa216360ac127fadb7be2d577e7fa203c8c8695d4aa11afcca6ed5397dd40209cb SHA512 6914a02c20053bae0fc4c29c5c40655f1cec711983d57fa85e46df34e90b10e33d31256dd50ae7c7faa8d8d750a529bf9072da0cda3bdd77ebfedbc0e26e5e16
+DIST libassuan-3.0.1.tar.bz2.sig 119 BLAKE2B ce246ca64be1cb185d7e69e3de959bf3268ccf764117cec19a460ddeb2cd56259bd8312e6644a385626449bfcd63c194d83bcfe0c48e830e208c242e174f3273 SHA512 c87cd1690d138f21974c4f7331ccfaf9a1ae57e726699c14f8a81e2e15c5d1ff9a880c428d78d378007cb91bae613432ce25fcfc6e496686d18ff0e6438e4e84
+DIST libassuan-3.0.0.tar.bz2 592353 BLAKE2B c86f7d62413c6f7a228deb47abe0388790a7c0e3c89b5ee7a7a72f72bea6502d5cbe199b10f06efc885af6fefab358dbe0e61a6f798493dcfcc63df0cfacdb55 SHA512 7c5c95c1b85bef2d4890c068a5a8ea8a1fe0d8def6ab09e5f34fc2746d8808bbb0fc168e3bd66d52ee5ed799dcf9f258f4125cda98c8384f6411bcad8d8b3139
+DIST libassuan-3.0.0.tar.bz2.sig 119 BLAKE2B 0717d97dcc5746fced7e7be4e17beb51ac5856722577d58151d802d34dd2d05436da9fcc1d54c132486755f6a241ebb85e95534533e874303b0103786e4e579a SHA512 32ea59e2ccd4b0d35d098bd93a2193f6857a47ebeffd8cd884ea5e0a1abf057e23f0f4ca120e0c74b7369301566a9adc217ec444a2d90a5c5106ec4a4c8df099
diff --git a/dev-libs/libassuan/libassuan-2.5.5.ebuild b/dev-libs/libassuan/libassuan-2.5.7.ebuild
index 6129e90c2427..563357cfc0cd 100644
--- a/dev-libs/libassuan/libassuan-2.5.5.ebuild
+++ b/dev-libs/libassuan/libassuan-2.5.7.ebuild
@@ -1,22 +1,30 @@
-# 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 libtool
+# 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!
-# We need >= 1.28 for gpgrt_malloc
-RDEPEND=">=dev-libs/libgpg-error-1.28"
+RDEPEND=">=dev-libs/libgpg-error-1.33"
DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gnupg )"
src_prepare() {
default
@@ -35,7 +43,6 @@ src_prepare() {
src_configure() {
local myeconfargs=(
- --disable-static
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
)
diff --git a/dev-libs/libassuan/libassuan-3.0.0.ebuild b/dev-libs/libassuan/libassuan-3.0.0.ebuild
new file mode 100644
index 000000000000..e4a7ca4da130
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-3.0.0.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/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# 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-3.0.1.ebuild b/dev-libs/libassuan/libassuan-3.0.1.ebuild
new file mode 100644
index 000000000000..e4a7ca4da130
--- /dev/null
+++ b/dev-libs/libassuan/libassuan-3.0.1.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/$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# 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 f86921143643..4de74f9694cb 100644
--- a/dev-libs/libatomic_ops/Manifest
+++ b/dev-libs/libatomic_ops/Manifest
@@ -1 +1 @@
-DIST libatomic_ops-7.8.0.tar.gz 526300 BLAKE2B 3b2545c8eac8d1fcc75f5431a3f1ce1f3976c6a3e0af94779b90c9f36f0b833c66e74e596072901fbb49465d6d2b24ecf4d232c91bdc3dddc51df042ee69f49e SHA512 b0d2b3c6f8672d599e05087688e7793a3c648c1728f48b27bffecc95b70afd5921ed36ec016985b2e22b82de7b7013bf5ebbb8b434a736d3fd680310b7af903d
+DIST libatomic_ops-7.8.2.tar.gz 524637 BLAKE2B 1faaedc52106b9d240085beb364a257de28ba5dba4141d2b6a7660a93c59ed7b4e1371ea4a8212b32a11805a15992c7b5ba4e748b2d194e8cc06fe20d91d5e14 SHA512 0559087c99b941990f189ea4ed5b3b371faf086bc1d517da6b878ba609c200eef24358768fd4361900101cdb474e28cea8408eb0b0222d23ef3154ce77f6acc0
diff --git a/dev-libs/libatomic_ops/libatomic_ops-7.8.0.ebuild b/dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild
index 24db3ba02174..594b3890a0dd 100644
--- a/dev-libs/libatomic_ops/libatomic_ops-7.8.0.ebuild
+++ b/dev-libs/libatomic_ops/libatomic_ops-7.8.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit multilib-minimal
+inherit libtool multilib-minimal
DESCRIPTION="Implementation for atomic memory update operations"
HOMEPAGE="https://github.com/ivmai/libatomic_ops"
@@ -14,6 +14,12 @@ 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
}
diff --git a/dev-libs/libayatana-appindicator/Manifest b/dev-libs/libayatana-appindicator/Manifest
index 79449f152a58..1ea72ff4a0f0 100644
--- a/dev-libs/libayatana-appindicator/Manifest
+++ b/dev-libs/libayatana-appindicator/Manifest
@@ -1,2 +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
+DIST libayatana-appindicator-0.5.93.tar.gz 162627 BLAKE2B 323853db4253d9d9b5d094dc21e731d6a9420dd6dcdcc93de73ef41d8d71e9819171e790be37f634864ee2372b0519008d1f81714b178fb2ae383f3f644d9440 SHA512 0477555de74d98a52d6415f5a5a2550aede1db0b54e9df3e761a0ad697b753b5b81827324df860c5ef0fd38c903b07dd8f4bf3129a2bb764d77f9028b03570b4
diff --git a/dev-libs/libayatana-appindicator/files/libayatana-appindicator-0.5.93-correct-symbols-in-version-script.patch b/dev-libs/libayatana-appindicator/files/libayatana-appindicator-0.5.93-correct-symbols-in-version-script.patch
new file mode 100644
index 000000000000..8a0ceea3c070
--- /dev/null
+++ b/dev-libs/libayatana-appindicator/files/libayatana-appindicator-0.5.93-correct-symbols-in-version-script.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/934481
+https://github.com/AyatanaIndicators/libayatana-appindicator/pull/79
+https://github.com/AyatanaIndicators/libayatana-appindicator/commit/6e29dc3814da0a425424b8ed4ccb2e3769bb2de2
+
+From 6e29dc3814da0a425424b8ed4ccb2e3769bb2de2 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Tue, 2 Jul 2024 00:08:27 +0300
+Subject: [PATCH 1/1] Correct symbols in version script file
+
+LLVM lld checks for nonexistent symbols in version scripts files.
+Correct symbols names to what appears to be the desired results.
+
+Bug: https://bugs.gentoo.org/934481
+Fixes: 4d97676bb5ba1a7612aed36d219cbaa978adc90e
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/src/app-indicator.symbols
++++ b/src/app-indicator.symbols
+@@ -1,6 +1,6 @@
+ {
+ global: app_indicator_*;
+ local: _notification_*;
+- _generate_;
+- _application_;
++ _generate_id;
++ _application_service_marshal_*;
+ };
+--
+2.45.2
+
diff --git a/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.91.ebuild b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.93.ebuild
index f3da2257bf37..0173fcfafe1a 100644
--- a/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.91.ebuild
+++ b/dev-libs/libayatana-appindicator/libayatana-appindicator-0.5.93.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/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}
LICENSE="GPL-3 LGPL-2 LGPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -23,11 +23,14 @@ RDEPEND="
>=dev-libs/libayatana-indicator-0.8.4
"
DEPEND="${RDEPEND}"
-BDEPEND="
- $(vala_depend)
+BDEPEND="$(vala_depend)
test? ( dev-util/dbus-test-runner )
"
+PATCHES=(
+ "${FILESDIR}"/libayatana-appindicator-0.5.93-correct-symbols-in-version-script.patch
+)
+
src_prepare() {
vala_setup
cmake_src_prepare
diff --git a/dev-libs/libayatana-indicator/Manifest b/dev-libs/libayatana-indicator/Manifest
index ddfbc4da30ca..352677874fff 100644
--- a/dev-libs/libayatana-indicator/Manifest
+++ b/dev-libs/libayatana-indicator/Manifest
@@ -1 +1,2 @@
DIST libayatana-indicator-0.9.3.tar.gz 149890 BLAKE2B c15ec72218814d9a33ab8cf654222ff7e05980de5cb175904041973d1ef9506c56a89e5fa8d41c1eaa2367f93a57e056010e23b87c2533cc7e731fbdfb23ef85 SHA512 cc2dd1e304e657cd8497d3107e7993122db6bbcf28c25dc1b41b250831cb76507226b5673abbd65bc954cbd5c3851df5528135df45d1cbb3de85c0c87c279452
+DIST libayatana-indicator-0.9.4.tar.gz 150030 BLAKE2B 742b42ec930f2e3ae116b2be7dbd63169bc8fe0cc97b1425c16324e00ae68901f4132ea72ef97e2a36a1aecf61ca87185bb2ff2bb24ad5756004a3a60a9437f2 SHA512 56efbe0eb14abf38cb7e270ae093b5fb41dab652eab6fa0d3f7972b09b0f2404e3ec7fbb3059c0b26802fffc628f5ace16a33db306f97a65ae42cf65494a56dc
diff --git a/dev-libs/libayatana-indicator/libayatana-indicator-0.9.4.ebuild b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.4.ebuild
new file mode 100644
index 000000000000..861050f48658
--- /dev/null
+++ b/dev-libs/libayatana-indicator/libayatana-indicator-0.9.4.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+VALA_USE_DEPEND="vapigen"
+
+inherit cmake vala virtualx
+
+DESCRIPTION="Ayatana Application Indicators (Shared Library)"
+HOMEPAGE="https://github.com/AyatanaIndicators/libayatana-indicator"
+SRC_URI="https://github.com/AyatanaIndicators/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/dbus-glib
+ >=dev-libs/glib-2.58:2
+ >=x11-libs/gtk+-3.24:3[introspection]
+ >=dev-libs/ayatana-ido-0.8.2
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(vala_depend)
+ test? ( dev-util/dbus-test-runner )
+"
+
+src_prepare() {
+ cmake_src_prepare
+ vala_setup
+}
+
+src_configure() {
+ local mycmakeargs+=(
+ -DFLAVOUR_GTK2=OFF
+ -DFLAVOUR_GTK3=ON
+ -DENABLE_IDO=ON
+ -DENABLE_LOADER=ON
+ -DENABLE_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ virtx cmake_src_test
+}
diff --git a/dev-libs/libbpf/Manifest b/dev-libs/libbpf/Manifest
index dfa0a293c4f9..04946922acc3 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.2.0.tar.gz 999623 BLAKE2B cd10fd9133f01d3f8dbd5ed4585e5605c3b9fb0d9f6ee76a49dcb61a0555edfeb85e333f7b8eb069f47a65d0ab24dcdc33502bd660378cd662a366f10de627a4 SHA512 b5291e807a3c83cb80a47e3518a3ab5ad0b0e6157842117c0684c32e525dce0cca199c3c9028390b94a73ff968391aa023312d3b8bd7472aff1c9ee5206c424e
-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.3.2.tar.gz 999726 BLAKE2B 1e8bf6275b5542acebd021c1594f8b069e786b091099111bfa01efbc9975e014c3cd5fac680ffa6467cacf293890449cd857b6127a857711d42b7f8326b7d965 SHA512 0817c144ecdc9b02866e8d70fd87b103fc4909430417388930ccf9b6f8e9abef0ae2783bfd5a85830dd909459087642e987d2627f9d0f571f2279c64a29fc791
+DIST libbpf-1.4.5.tar.gz 1016457 BLAKE2B 4aa57b67a184938cfb9e24afced63c816715a1f38f1446320bb7c9b59ca446fdd5addda63b05c880499df9ed7820e02764c5299c7609164cf22bcd5512467a6d SHA512 c5ed459e89a8897ef7c892723c61efb2f2fdb0e7bea63eaff1c9936d368d2cc9e63b8c093207eef0df3109c021156c52ddb570757f69c54e713909e866dbb2f5
diff --git a/dev-libs/libbpf/libbpf-1.3.0.ebuild b/dev-libs/libbpf/libbpf-1.3.0.ebuild
index fd81a789eb1e..bc00c0ee5ab7 100644
--- a/dev-libs/libbpf/libbpf-1.3.0.ebuild
+++ b/dev-libs/libbpf/libbpf-1.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then
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"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
S="${WORKDIR}/${P}/src"
diff --git a/dev-libs/libbpf/libbpf-1.2.0.ebuild b/dev-libs/libbpf/libbpf-1.3.2.ebuild
index a82b4169cdc1..6cd9245fc9a6 100644
--- a/dev-libs/libbpf/libbpf-1.2.0.ebuild
+++ b/dev-libs/libbpf/libbpf-1.3.2.ebuild
@@ -1,31 +1,40 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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"
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)"
+SLOT="0/$(ver_cut 1-2 ${PV})"
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/libbpf/libbpf-1.2.2.ebuild b/dev-libs/libbpf/libbpf-1.4.5.ebuild
index a82b4169cdc1..6cd9245fc9a6 100644
--- a/dev-libs/libbpf/libbpf-1.2.2.ebuild
+++ b/dev-libs/libbpf/libbpf-1.4.5.ebuild
@@ -1,31 +1,40 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
else
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~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"
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)"
+SLOT="0/$(ver_cut 1-2 ${PV})"
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/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/libbpf/metadata.xml b/dev-libs/libbpf/metadata.xml
index 74bcfa4911ec..3ce8f10931c3 100644
--- a/dev-libs/libbpf/metadata.xml
+++ b/dev-libs/libbpf/metadata.xml
@@ -4,10 +4,6 @@
<maintainer type="person">
<email>chutzpah@gentoo.org</email>
</maintainer>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
<upstream>
<remote-id type="github">libbpf/libbpf</remote-id>
</upstream>
diff --git a/dev-libs/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/files/libbsd-0.11.7-musl-lfs.patch b/dev-libs/libbsd/files/libbsd-0.11.7-musl-lfs.patch
deleted file mode 100644
index 41cc27e75237..000000000000
--- a/dev-libs/libbsd/files/libbsd-0.11.7-musl-lfs.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugs.gentoo.org/905912
-https://gitlab.freedesktop.org/libbsd/libbsd/-/merge_requests/24
-
-From c36c29f014b0ef56a3aef984fa40b0e100b6f419 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 15 Dec 2022 09:02:22 -0800
-Subject: [PATCH] funopen: Replace off64_t with off_t in funopen_seek
-
-AC_SYS_LARGEFILE in configure.ac is setting needed defines to make
-64bit off_t on relevant platforms.
-
-Fixes build on musl
-
-| ../../../../../../../../workspace/sources/libbsd/src/funopen.c:68:28: error: unknown type name 'off64_t'; did you mean 'off_t'?
-| funopen_seek(void *cookie, off64_t *offset, int whence)
-| ^~~~~~~
-| off_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/funopen.c
-+++ b/src/funopen.c
-@@ -65,7 +65,7 @@ funopen_write(void *cookie, const char *buf, size_t size)
- }
-
- static int
--funopen_seek(void *cookie, off64_t *offset, int whence)
-+funopen_seek(void *cookie, off_t *offset, int whence)
- {
- struct funopen_cookie *cookiewrap = cookie;
- off_t soff = *offset;
---
-GitLab
diff --git a/dev-libs/libbsd/files/libbsd-build-Fix-version-script-linker-support-detection.patch b/dev-libs/libbsd/files/libbsd-build-Fix-version-script-linker-support-detection.patch
deleted file mode 100644
index 2e45429021ff..000000000000
--- a/dev-libs/libbsd/files/libbsd-build-Fix-version-script-linker-support-detection.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From dec783dce5a7131e232a06e63a544645b5463dd8 Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@hadrons.org>
-Date: Sun, 12 Feb 2023 23:55:09 +0100
-Subject: [PATCH] build: Fix version script linker support detection
-
-When the linker uses --no-undefined-version either specified by the user
-or as the default behavior (such as with newer clang >= 16 releases),
-a missing symbol definition will cause a linker error if that symbol is
-listed in the version script.
-
-Upstream commit: https://gitlab.freedesktop.org/libbsd/libbsd/-/commit/dec783dce5a7131e232a06e63a544645b5463dd8
-
----
- configure.ac | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 17d113c..7d17a93 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -33,7 +33,11 @@ AC_CACHE_CHECK([if ld supports --version-script flag],
- save_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
- AC_LINK_IFELSE([
-- AC_LANG_PROGRAM([], [])
-+ AC_LANG_PROGRAM([[
-+extern int symbol(void);
-+int symbol(void) { return 0; }
-+]], [[
-+]])
- ], [
- libbsd_cv_version_script=yes
- ], [
---
-2.39.1.615.ga0422de7ea.dirty
-
diff --git a/dev-libs/libbsd/libbsd-0.11.7-r2.ebuild b/dev-libs/libbsd/libbsd-0.11.8.ebuild
index f90a90c9b119..80ccbf78eae3 100644
--- a/dev-libs/libbsd/libbsd-0.11.7-r2.ebuild
+++ b/dev-libs/libbsd/libbsd-0.11.8.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/guillemjover.asc
-inherit autotools multilib multilib-minimal verify-sig flag-o-matic
+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"
@@ -17,25 +17,17 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
IUSE="static-libs"
RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
>=sys-kernel/linux-headers-3.17
"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-guillemjover )"
-PATCHES=(
- "${FILESDIR}/libbsd-build-Fix-version-script-linker-support-detection.patch"
- "${FILESDIR}/libbsd-0.11.7-musl-lfs.patch"
-)
-
-src_prepare() {
- default
-
- # Drop on next release, only needed for lld patch
- eautoreconf
-}
-
multilib_src_configure() {
- # bug 911726, https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/26
+ # 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"
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/libburn/libburn-1.5.6.ebuild b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
index a8308ab1fbb3..eb026ac0af78 100644
--- a/dev-libs/libburn/libburn-1.5.6.ebuild
+++ b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
@@ -1,11 +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
+inherit autotools
+
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"
+SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
@@ -15,16 +17,22 @@ IUSE="debug static-libs"
BDEPEND="
virtual/pkgconfig
"
-RDEPEND=""
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)
+ $(use_enable static-libs static) \
+ --disable-ldconfig-at-install \
+ $(use_enable debug)
}
src_install() {
diff --git a/dev-libs/libbytesize/libbytesize-2.10.ebuild b/dev-libs/libbytesize/libbytesize-2.10.ebuild
index 71349cef2a83..e0ffbc9de484 100644
--- a/dev-libs/libbytesize/libbytesize-2.10.ebuild
+++ b/dev-libs/libbytesize/libbytesize-2.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
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/storaged-project/libbytesize/releases/download/${PV}
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="doc python test tools"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libcbor/Manifest b/dev-libs/libcbor/Manifest
index 1fa282b57312..2e079000a927 100644
--- a/dev-libs/libcbor/Manifest
+++ b/dev-libs/libcbor/Manifest
@@ -1 +1,2 @@
DIST libcbor-0.10.2.tar.gz 289450 BLAKE2B 3ef2d7fd7942ff32acbe59db6a4b68ad72dde3af4675ef2ee3c93666360554d6e9a29392dbc4fb3029f9ff821f536b90bfd1c522c9c9c2298ab511322fb53d37 SHA512 23c6177443778d4b4833ec7ed0d0e639a0d4863372e3a38d772fdce2673eae6d5cb2a31a2a021d1a699082ea53494977c907fd0e94149b97cb23a4b6d039228a
+DIST libcbor-0.11.0.tar.gz 293563 BLAKE2B 6ac400ee9cabb0ec68355c35f762ea61222152059e70bcf9dc3cf4e06a6599bb6a392197ee979821a0e50c22a5c9e94e5d11458178ed7e26b049c410fddfa24f SHA512 c14aaa55c0c82e09b9eb2cc6847951d1bac8a081a247776c507d5450367da5717b1056bad09fb0f0178311de8754e8f89c060e0fc0f400fafdc42de441421e66
diff --git a/dev-libs/libcbor/libcbor-0.11.0.ebuild b/dev-libs/libcbor/libcbor-0.11.0.ebuild
new file mode 100644
index 000000000000..b95c8a94c22b
--- /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/libcdada/Manifest b/dev-libs/libcdada/Manifest
index 14182df179d9..ec2b763c904d 100644
--- a/dev-libs/libcdada/Manifest
+++ b/dev-libs/libcdada/Manifest
@@ -1 +1,2 @@
DIST libcdada-0.4.0.tar.gz 1777257 BLAKE2B 26e24fa513ab4a290a7632b4f56c102dc45cd9d34d4a7b7464f58aaee596b5ac3c8172080144d3f3c5cbcf5790f29e74b020f11cea943223e5933c2a7db66f8b SHA512 370a40a070df6783b5f44373bd09751660d51698095fa0ace38943a0331f90a55d131de50180b9ca9597361b7712dbcb350fde77a0e0489c47e4358fec61458b
+DIST libcdada-0.6.0.tar.gz 1780008 BLAKE2B c4644663c5a86229b98d52c017a3204032bb6ca0f83ca8c41e498e20b3ba58eaf9777082ed57c9871be708a117e6e4a4e39eeaa6b6736eb98b3ded9d7511d3e3 SHA512 83e69fea60fc35845bf44bf443c0161ed90a233ac699e7f26a54578bd67016740f4cef42595087b05177f4e33e203352bb52abb4fd909979ec2f9c57e77dc0fa
diff --git a/dev-libs/libcdada/files/libcdada-0.6.0-test-fixes.patch b/dev-libs/libcdada/files/libcdada-0.6.0-test-fixes.patch
new file mode 100644
index 000000000000..a1b8d64d48bf
--- /dev/null
+++ b/dev-libs/libcdada/files/libcdada-0.6.0-test-fixes.patch
@@ -0,0 +1,30 @@
+From b9b7c37980a2d4cdf85ecd764cf2f6987d54835c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
+Date: Thu, 25 Jul 2024 14:21:15 +0200
+Subject: [PATCH] str: use correct cdada comparison function for a regular C
+ string
+
+The cdada_str_ncmp_c function must be used for comparison with regular C
+string, otherwise str_test aborts.
+
+Fixes: be47ae8cb148 ("str: add cdada_str_ncmp/cdada_str_ncmp_c")
+
+Upstream-PR: https://github.com/msune/libcdada/pull/18
+
+diff --git a/test/str_test.c b/test/str_test.c
+index 5805a87..01d7b6c 100644
+--- a/test/str_test.c
++++ b/test/str_test.c
+@@ -408,9 +408,9 @@ int test_cmp(){
+ == strncmp(s1, s2, overlen_avoid_compiler_warn));
+
+ TEST_ASSERT(cdada_str_ncmp_c(c1, s2, 7) == strncmp(s1, s2, 7));
+- TEST_ASSERT(cdada_str_ncmp(c1, s2, 10) == strncmp(s1, s2, 10));
+- TEST_ASSERT(cdada_str_ncmp(c1, s2, 12) == strncmp(s1, s2, 12));
+- TEST_ASSERT(cdada_str_ncmp(c1, s2, overlen_avoid_compiler_warn)
++ TEST_ASSERT(cdada_str_ncmp_c(c1, s2, 10) == strncmp(s1, s2, 10));
++ TEST_ASSERT(cdada_str_ncmp_c(c1, s2, 12) == strncmp(s1, s2, 12));
++ TEST_ASSERT(cdada_str_ncmp_c(c1, s2, overlen_avoid_compiler_warn)
+ == strncmp(s1, s2, overlen_avoid_compiler_warn));
+
+ rv = cdada_str_destroy(c1);
diff --git a/dev-libs/libcdada/libcdada-0.6.0.ebuild b/dev-libs/libcdada/libcdada-0.6.0.ebuild
new file mode 100644
index 000000000000..c665163b1281
--- /dev/null
+++ b/dev-libs/libcdada/libcdada-0.6.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools python-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
+ "${FILESDIR}"/${PN}-0.6.0-test-fixes.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/files/libcdio-2.1.0-no-lfs-shims.patch b/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch
new file mode 100644
index 000000000000..473c54d9b1ee
--- /dev/null
+++ b/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch
@@ -0,0 +1,75 @@
+From https://bugs.gentoo.org/918988
+From: Alfred Wingate <parona@protonmail.com>
+Date: Mon, 20 May 2024 22:02:08 +0300
+Subject: [PATCH] Do not use LFS shims, rely on _FILE_OFFSET_BITS=64
+
+See https://savannah.gnu.org/bugs/?65751 and https://bugs.gentoo.org/918988
+
+Setting _FILE_OFFSET_BITS=64 is enough to get the LFS interface,
+using LFS shims is unnecessary on 64-bit systems and they may
+not be available on 32-bit systems on glibc.
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -547,10 +547,10 @@ AC_DEFINE_UNQUOTED(LIBCDIO_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH",
+ [Full path to libcdio top_sourcedir.])
+ AC_SUBST(LIBCDIO_SOURCE_PATH)
+
+-AC_CHECK_FUNCS( [chdir drand48 fseeko fseeko64 ftruncate geteuid getgid \
+- getuid getpwuid gettimeofday lseek64 lstat memcpy memset mkstemp rand \
+- seteuid setegid snprintf setenv strndup unsetenv tzset sleep \
+- _stati64 usleep vsnprintf readlink realpath gmtime_r localtime_r] )
++AC_CHECK_FUNCS( [chdir drand48 fseeko ftruncate geteuid getgid getuid \
++ getpwuid gettimeofday lstat memcpy memset mkstemp rand seteuid \
++ setegid snprintf setenv strndup unsetenv tzset sleep _stati64 \
++ usleep vsnprintf readlink realpath gmtime_r localtime_r] )
+
+ # check for timegm() support
+ AC_CHECK_FUNC(timegm, AC_DEFINE(HAVE_TIMEGM,1,
+--- a/lib/driver/_cdio_generic.c
++++ b/lib/driver/_cdio_generic.c
+@@ -55,16 +55,6 @@
+ #define PATH_MAX 4096
+ #endif
+
+-/* If available and LFS is enabled, try to use lseek64 */
+-#if defined(HAVE_LSEEK64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
+-#if defined(_MSC_VER)
+-#include <io.h>
+-#endif
+-#define CDIO_LSEEK lseek64
+-#else
+-#define CDIO_LSEEK lseek
+-#endif
+-
+ /*!
+ Eject media -- there's nothing to do here. We always return -2.
+ Should we also free resources?
+@@ -170,7 +160,7 @@ off_t
+ cdio_generic_lseek (void *user_data, off_t offset, int whence)
+ {
+ generic_img_private_t *p_env = user_data;
+- return CDIO_LSEEK(p_env->fd, offset, whence);
++ return lseek(p_env->fd, offset, whence);
+ }
+
+ /*!
+--- a/lib/driver/_cdio_stdio.c
++++ b/lib/driver/_cdio_stdio.c
+@@ -47,11 +47,7 @@
+ #include "_cdio_stdio.h"
+ #include "cdio_assert.h"
+
+-/* On 32 bit platforms, fseek can only access streams of 2 GB or less.
+- Prefer fseeko/fseeko64, that take a 64 bit offset when LFS is enabled */
+-#if defined(HAVE_FSEEKO64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
+-#define CDIO_FSEEK fseeko64
+-#elif defined(HAVE_FSEEKO)
++#if defined(HAVE_FSEEKO)
+ #define CDIO_FSEEK fseeko
+ #else
+ #define CDIO_FSEEK fseek
+--
+2.45.1
+
diff --git a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.1.0-r2.ebuild
index 122dfa96d536..5e75f78459fc 100644
--- a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
+++ b/dev-libs/libcdio/libcdio-2.1.0-r2.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
-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/"
@@ -39,17 +39,25 @@ MULTILIB_WRAPPED_HEADERS=(
PATCHES=(
"${FILESDIR}/${PN}-2.1.0-ncurses_pkgconfig.patch"
"${FILESDIR}/${P}-realpath-test-fix.patch"
+ "${FILESDIR}/${P}-no-lfs-shims.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-r2.ebuild b/dev-libs/libcec/libcec-6.0.2-r2.ebuild
new file mode 100644
index 000000000000..eb9dc1969acd
--- /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/libcgroup/libcgroup-0.41-r6.ebuild b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
index 10cbd06156f4..623f41b99e99 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-2023 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 flag-o-matic linux-info pam systemd
DESCRIPTION="Tools and libraries to configure and manage kernel control groups"
HOMEPAGE="http://libcg.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/libcg/${PN}/v${PV}/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/project/libcg/${PN}/v${PV}/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
@@ -20,8 +20,8 @@ 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 )"
diff --git a/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild b/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild
index 426a7f3a4804..980bb7d03807 100644
--- a/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild
+++ b/dev-libs/libcgroup/libcgroup-3.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -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.0.0.ebuild b/dev-libs/libcgroup/libcgroup-3.0.0.ebuild
index bcd109be15c0..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -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/libclc/Manifest b/dev-libs/libclc/Manifest
index 1dff6636ab84..da1a21ae2420 100644
--- a/dev-libs/libclc/Manifest
+++ b/dev-libs/libclc/Manifest
@@ -1,10 +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-0b9f2847da79298ed09c29493245113f02b32d9f.tar.gz 216399453 BLAKE2B ed13e6639d40bdda6dbd09eba0cc8e4f82f4f53ce3cff9742e902af1c306c60dcb6d5fb008057829d46bbbde391697726cba2096c52cf1592c00faf1e37430e4 SHA512 a5b0bf59fa228a41f0c904a42b4b96740fc5e5caa63248c546eb4a810e86d5d8d1d8df663051ed4444cc0389ffa6ec12ee5dbf7d94d6211a253319550d7fac1c
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
+DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
+DIST llvm-project-1bad7024561bc64ed4bfda0772b16376b475eba5.tar.gz 216657623 BLAKE2B 99c48a95c427e8fae5568e5f59ab9bec8b2d8bec0c5d3cf453c261a738fe1c295b34e2e10e6b08d2b02cae43e3b0cd4c8eb025d19a83ee51f47a49afadd56d3f SHA512 08fc904122ab346edbfc3903cafae4f50ba57e146b2d821a568f8378c0f3ab4d413e07c5df2bf061374f9db4634b5f6b27f204fc4f2f68984303ceec9c963c0c
diff --git a/dev-libs/libclc/libclc-17.0.6.ebuild b/dev-libs/libclc/libclc-17.0.6.ebuild
index 08fac3e3b1df..650f9f41f61d 100644
--- a/dev-libs/libclc/libclc-17.0.6.ebuild
+++ b/dev-libs/libclc/libclc-17.0.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
@@ -11,7 +11,7 @@ HOMEPAGE="https://libclc.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
LLVM_MAX_SLOT=17
diff --git a/dev-libs/libclc/libclc-14.0.6.ebuild b/dev-libs/libclc/libclc-18.1.8.ebuild
index 5464d123288a..6d2ef7c20876 100644
--- a/dev-libs/libclc/libclc-14.0.6.ebuild
+++ b/dev-libs/libclc/libclc-18.1.8.ebuild
@@ -1,45 +1,43 @@
-# 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} )
-inherit cmake llvm llvm.org python-any-r1
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
+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 x86"
-IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_r600 video_cards_radeonsi"
-IUSE="${IUSE_VIDEO_CARDS}"
-REQUIRED_USE="|| ( ${IUSE_VIDEO_CARDS} )"
+KEYWORDS="amd64 arm64 ~riscv x86"
+IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
-LLVM_MAX_SLOT=14
BDEPEND="
${PYTHON_DEPS}
- || (
- sys-devel/clang:14
- sys-devel/clang:13
- )
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
"
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
+ 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--"
@@ -54,13 +52,11 @@ src_configure() {
"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-18.0.0.9999.ebuild b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
index 33b0826b8285..2b8c5e63c257 100644
--- a/dev-libs/libclc/libclc-18.0.0.9999.ebuild
+++ b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
@@ -1,10 +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_{10..12} )
-inherit cmake llvm llvm.org python-any-r1
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
HOMEPAGE="https://libclc.llvm.org/"
@@ -13,46 +14,19 @@ LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
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_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
"
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
+ llvm-r1_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/dev-libs/libclc/libclc-18.0.0_pre20231129.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240706.ebuild
index 33b0826b8285..2b8c5e63c257 100644
--- a/dev-libs/libclc/libclc-18.0.0_pre20231129.ebuild
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240706.ebuild
@@ -1,10 +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_{10..12} )
-inherit cmake llvm llvm.org python-any-r1
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
HOMEPAGE="https://libclc.llvm.org/"
@@ -13,46 +14,19 @@ LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
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_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
"
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
+ llvm-r1_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/dev-libs/libclc/libclc-18.0.0_pre20231119.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240712.ebuild
index 33b0826b8285..2b8c5e63c257 100644
--- a/dev-libs/libclc/libclc-18.0.0_pre20231119.ebuild
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240712.ebuild
@@ -1,10 +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_{10..12} )
-inherit cmake llvm llvm.org python-any-r1
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
HOMEPAGE="https://libclc.llvm.org/"
@@ -13,46 +14,19 @@ LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
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_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ spirv? ( dev-util/spirv-llvm-translator:${LLVM_SLOT} )
+ ')
"
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
+ llvm-r1_pkg_setup
python-any-r1_pkg_setup
}
diff --git a/dev-libs/libclc/libclc-20.0.0.9999.ebuild b/dev-libs/libclc/libclc-20.0.0.9999.ebuild
new file mode 100644
index 000000000000..2b8c5e63c257
--- /dev/null
+++ b/dev-libs/libclc/libclc-20.0.0.9999.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
+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 12eef715344b..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-2023 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"
@@ -20,8 +20,8 @@ RESTRICT="!test? ( test )"
DEPEND="
sys-apps/texinfo
- sys-devel/bison
- sys-devel/libtool
+ app-alternatives/yacc
+ dev-build/libtool
"
src_prepare() {
diff --git a/dev-libs/libcpuid/Manifest b/dev-libs/libcpuid/Manifest
index 48df6d7ae716..5963ebd2359d 100644
--- a/dev-libs/libcpuid/Manifest
+++ b/dev-libs/libcpuid/Manifest
@@ -1 +1,2 @@
DIST libcpuid-0.6.4.tar.gz 338722 BLAKE2B ad23c13c48b0244f401a60d07fb569712f24b4d1f2bcd16f8d0240c6a39f8afae8944c9d3b4f486d3e1727157d642915c794fc89f9af315a2c4daf64625fdf25 SHA512 5396301d2a5485c6cf15a2fa8eab0ce28d967fe0dcf0776fec3618b963bc786499032150037f6b9123738e094d41583a331bcea25e502b5025ec6f03d318f77e
+DIST libcpuid-0.6.5.tar.gz 370297 BLAKE2B 56394c0f99ee514bad115e614a27e3771e3ab0a27c7e980ed50419f6b22c268461db97aed8c879a66894ea34c788ed7a154ea403ec07a552fb524e321aa931e0 SHA512 c38381e0f768a2cd2a5df601cbcc50d1cb93a276c477bc09e69ff61de01aef30c0b3163f4a0c8e7641caa3cf692d468410ebc90a3cad93e0476cddeb0c444d7b
diff --git a/dev-libs/libcpuid/libcpuid-0.6.4.ebuild b/dev-libs/libcpuid/libcpuid-0.6.4.ebuild
index 75cb5bcb7074..b50a14f5886c 100644
--- a/dev-libs/libcpuid/libcpuid-0.6.4.ebuild
+++ b/dev-libs/libcpuid/libcpuid-0.6.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..11})
+PYTHON_COMPAT=(python3_{9..12})
inherit autotools python-any-r1
diff --git a/dev-libs/libcpuid/libcpuid-0.6.5.ebuild b/dev-libs/libcpuid/libcpuid-0.6.5.ebuild
new file mode 100644
index 000000000000..b50a14f5886c
--- /dev/null
+++ b/dev-libs/libcpuid/libcpuid-0.6.5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=(python3_{9..12})
+
+inherit autotools python-any-r1
+
+DESCRIPTION="A small C library for x86 (and x86_64) CPU detection and feature extraction"
+HOMEPAGE="http://libcpuid.sourceforge.net/"
+SRC_URI="https://github.com/anrieff/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="BSD-2"
+SLOT="0/16"
+KEYWORDS="~amd64"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( ${PYTHON_DEPS} )"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf "$(use_enable static-libs static)"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
index 96edb3ed9717..e3da950d913c 100644
--- a/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
+++ b/dev-libs/libcroco/libcroco-0.6.13-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 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"
@@ -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.2.ebuild
index dd714b5212c8..36b6fd1f2d52 100644
--- a/dev-libs/libcss/libcss-0.9.1-r1.ebuild
+++ b/dev-libs/libcss/libcss-0.9.2.ebuild
@@ -1,17 +1,17 @@
-# 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 netsurf
DESCRIPTION="CSS parser and selection engine, written in C"
-HOMEPAGE="http://www.netsurf-browser.org/projects/libcss/"
+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"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -22,17 +22,9 @@ RDEPEND="
DEPEND="${RDEPEND}
test? ( dev-lang/perl )"
BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1
+ dev-build/netsurf-buildsystem
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 $@
diff --git a/dev-libs/libcss/libcss-9999.ebuild b/dev-libs/libcss/libcss-9999.ebuild
index ec34203d945b..55df25e380a3 100644
--- a/dev-libs/libcss/libcss-9999.ebuild
+++ b/dev-libs/libcss/libcss-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
@@ -11,7 +11,6 @@ HOMEPAGE="https://www.netsurf-browser.org/projects/libcss/"
EGIT_REPO_URI="https://git.netsurf-browser.org/${PN}.git"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS=""
IUSE="test"
RESTRICT="!test? ( test )"
@@ -22,7 +21,7 @@ RDEPEND="
DEPEND="${RDEPEND}
test? ( dev-lang/perl )"
BDEPEND="
- dev-util/netsurf-buildsystem
+ dev-build/netsurf-buildsystem
virtual/pkgconfig"
src_prepare() {
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 9919327246a8..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-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="
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..b78825346032 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
@@ -9,14 +9,14 @@ MY_P=${PN}2-${PV}
DESCRIPTION="A small library to create and manage 64-bit disk based hash tables"
HOMEPAGE="https://www.gnu.org/software/libdbh/"
-SRC_URI="mirror://sourceforge/dbh/dbh/${PV}/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/dbh/dbh/${PV}/${MY_P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 x86"
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..b73abc7975a2
--- /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 ~arm64 ~riscv"
+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/zthread/metadata.xml b/dev-libs/libdbusmenu-lxqt/metadata.xml
index 7f7a727d1d59..75d62d0c9377 100644
--- a/dev-libs/zthread/metadata.xml
+++ b/dev-libs/libdbusmenu-lxqt/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>lxqt@gentoo.org</email>
+ <name>LXQt</name>
+ </maintainer>
<upstream>
- <remote-id type="sourceforge">zthread</remote-id>
+ <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/libdex/Manifest b/dev-libs/libdex/Manifest
index f57edae3a51b..cfaf8a8ff39f 100644
--- a/dev-libs/libdex/Manifest
+++ b/dev-libs/libdex/Manifest
@@ -1,3 +1,2 @@
-DIST libdex-0.2.0.tar.xz 91648 BLAKE2B 258193b29082024cce30d5e20903f1ba6a3c8e566652d341845178797126796fcc1cf628636de02ba9776cb9d8ff5d38c24f10f269fcd9acbc0cdbb1c0918d8b SHA512 db54fa974af97e59e7a21c19be73db8fec6565377ce313a3532435845d3571216d6617f9a8db500019390d85677ca6f30be3f9a36c60240c8130ae0834826a65
-DIST libdex-0.4.0.tar.xz 95468 BLAKE2B d45760dd826835cb2e5bffe1a69b7fcfb4b20fcfb55c119fc3175ae80e2c9b6d34d3df5c653075ed2832183f2c76b3dcaf2509977fe9b79f1dabbb59a3301602 SHA512 806d0c6cb7fe9cd0bdf4e85cf93b9bc67ee11bce0e18ba6c5eb8b075e2a3d22359cf58374b6f07e558f8595b24093c052f4e05763104163b46bec0371efbb295
-DIST libdex-0.4.1.tar.xz 95492 BLAKE2B 73e660cd5876f41f7e02bdb35cc460888eaf40a62c7431e7fcd2337a2eb953f975a8f6719c0726672be71ab507561413257c140a31cfdcab09491d4228362796 SHA512 80a80c6fcf936da903a64339dff1d6f802f028bfd6e2815bf3b2a3ac6bd0e9fafe3f81b66dd1ee0a6bbd6303cc31fc73b528829e587142a7d269b1b98377ca25
+DIST libdex-0.4.3.tar.xz 96820 BLAKE2B 51f6c9a209d8ff19d7e97f4d8cbc9065739f08c555712076c9b6f4d345d56522f31afa1b8dffe8da2cfc128d368d7dc5f6a93757f0fe5cfd0a55de17587d776e SHA512 26691373d560d20cefa3a23e31677259b234cdf623b17b8fb2b6976b03768e86e458d2670aa3b260638b595994f278240e972bf3ff5b765013fb6d3114f46cef
+DIST libdex-0.6.1.tar.xz 99056 BLAKE2B 3899f89ac652c2790c93e2799a5b0d066c45ee314c6f773bb586e49c89a8a78e6a09ebf08263b88b25900a15ac736d2bd37590720e0ac0e074581342534eaba3 SHA512 36be15d2da9edeae195abcb6f97639dd7fdea74463cdfdf752293007e44ab41a5e5350a7005883f202d70f96047567fba6370f1a2c45a0f898c242bebc88e847
diff --git a/dev-libs/libdex/libdex-0.2.0.ebuild b/dev-libs/libdex/libdex-0.2.0.ebuild
deleted file mode 100644
index 703f06878503..000000000000
--- a/dev-libs/libdex/libdex-0.2.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome.org 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 ~x86"
-
-IUSE="gtk-doc +introspection sysprof test vala"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.68:2
- >=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 )
-"
-
-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)
- -Dsysprof=false
- $(meson_use test 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}-1 "${ED}"/usr/share/gtk-doc/html/ || die
- fi
-}
diff --git a/dev-libs/libdex/libdex-0.4.0.ebuild b/dev-libs/libdex/libdex-0.4.3.ebuild
index 71b799ea6e23..93a7becd291c 100644
--- a/dev-libs/libdex/libdex-0.4.0.ebuild
+++ b/dev-libs/libdex/libdex-0.4.3.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit gnome.org meson vala
+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 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="gtk-doc +introspection sysprof test vala"
+IUSE="+eventfd gtk-doc +introspection +liburing sysprof test vala"
REQUIRED_USE="
gtk-doc? ( introspection )
vala? ( introspection )
@@ -21,7 +21,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/glib-2.68:2
- >=sys-libs/liburing-0.7:=
+ liburing? ( >=sys-libs/liburing-0.7:= )
introspection? ( dev-libs/gobject-introspection:= )
sysprof? ( dev-util/sysprof-capture:4 )
"
@@ -33,6 +33,14 @@ BDEPEND="
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
@@ -46,6 +54,8 @@ src_configure() {
$(meson_feature introspection)
$(meson_use sysprof)
$(meson_use test tests)
+ $(meson_feature liburing)
+ $(meson_feature eventfd)
)
meson_src_configure
}
diff --git a/dev-libs/libdex/libdex-0.4.1.ebuild b/dev-libs/libdex/libdex-0.6.1.ebuild
index a59cc7756e76..8da02332bd2d 100644
--- a/dev-libs/libdex/libdex-0.4.1.ebuild
+++ b/dev-libs/libdex/libdex-0.6.1.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit gnome.org meson vala
+inherit gnome.org linux-info meson vala
-DESCRIPTION="Deferred Execution library for GNOME and GTK"
+DESCRIPTION="Dex provides Future-based programming for GLib-based applications"
HOMEPAGE="https://gitlab.gnome.org/GNOME/libdex"
LICENSE="LGPL-2.1+"
SLOT="0/1"
KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="gtk-doc +introspection sysprof test vala"
+IUSE="+eventfd gtk-doc +introspection +liburing sysprof test vala"
REQUIRED_USE="
gtk-doc? ( introspection )
vala? ( introspection )
@@ -21,7 +21,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/glib-2.68:2
- >=sys-libs/liburing-0.7:=
+ liburing? ( >=sys-libs/liburing-0.7:= )
introspection? ( dev-libs/gobject-introspection:= )
sysprof? ( dev-util/sysprof-capture:4 )
"
@@ -33,6 +33,14 @@ BDEPEND="
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
@@ -46,6 +54,8 @@ src_configure() {
$(meson_feature introspection)
$(meson_use sysprof)
$(meson_use test tests)
+ $(meson_feature liburing)
+ $(meson_feature eventfd)
)
meson_src_configure
}
diff --git a/dev-libs/libdex/metadata.xml b/dev-libs/libdex/metadata.xml
index 64509955e2ba..e9adc4891c7f 100644
--- a/dev-libs/libdex/metadata.xml
+++ b/dev-libs/libdex/metadata.xml
@@ -17,6 +17,8 @@
<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/libdispatch-5.8.ebuild b/dev-libs/libdispatch/libdispatch-5.8.ebuild
index da9e6411f534..7ccdb7491b88 100644
--- a/dev-libs/libdispatch/libdispatch-5.8.ebuild
+++ b/dev-libs/libdispatch/libdispatch-5.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/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 ~loong ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libdnet/Manifest b/dev-libs/libdnet/Manifest
index 295d6a35d501..28153e6d5415 100644
--- a/dev-libs/libdnet/Manifest
+++ b/dev-libs/libdnet/Manifest
@@ -1,5 +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.16.2.ebuild b/dev-libs/libdnet/libdnet-1.16.2.ebuild
index bac97522127b..8ed52eca9704 100644
--- a/dev-libs/libdnet/libdnet-1.16.2.ebuild
+++ b/dev-libs/libdnet/libdnet-1.16.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1
@@ -15,16 +15,14 @@ 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 )"
+IUSE="python"
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 )"
+BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )"
DOCS=( README.md THANKS )
@@ -55,7 +53,7 @@ src_prepare() {
src_configure() {
econf \
$(use_with python) \
- $(use_with test check "${ESYSROOT}/usr")
+ --without-check
}
src_compile() {
diff --git a/dev-libs/libdnet/libdnet-1.16.4.ebuild b/dev-libs/libdnet/libdnet-1.16.4.ebuild
index 5c7bf03fe257..08f0bd6dfacb 100644
--- a/dev-libs/libdnet/libdnet-1.16.4.ebuild
+++ b/dev-libs/libdnet/libdnet-1.16.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
IUSE="python test"
RESTRICT="!test? ( test )"
@@ -36,6 +36,9 @@ src_prepare() {
-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 \
@@ -56,7 +59,7 @@ src_prepare() {
src_configure() {
econf \
$(use_with python) \
- $(use_with test check "${ESYSROOT}/usr")
+ $(use_enable test check)
}
src_compile() {
@@ -67,6 +70,12 @@ 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
diff --git a/dev-libs/libdnet/libdnet-1.17.0.ebuild b/dev-libs/libdnet/libdnet-1.17.0.ebuild
index 9114d6529375..fd47d46e0186 100644
--- a/dev-libs/libdnet/libdnet-1.17.0.ebuild
+++ b/dev-libs/libdnet/libdnet-1.17.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
@@ -17,8 +17,7 @@ LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="python test"
-# Tests fail in sandbox
-RESTRICT="!test? ( test ) test"
+RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
DEPEND="
@@ -40,6 +39,9 @@ src_prepare() {
-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 \
@@ -72,6 +74,12 @@ 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
diff --git a/dev-libs/libdnet/libdnet-1.14-r2.ebuild b/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild
index 90dbdead4409..b7c86a6585cc 100644
--- a/dev-libs/libdnet/libdnet-1.14-r2.ebuild
+++ b/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild
@@ -1,14 +1,16 @@
-# 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
-AT_M4DIR="config"
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+
inherit autotools distutils-r1
-DESCRIPTION="simplified, portable interface to several low-level networking routines"
+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}"
@@ -17,30 +19,32 @@ 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 )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-DEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
RDEPEND="${DEPEND}"
BDEPEND="
python? (
+ ${DISTUTILS_DEPS}
dev-python/cython[${PYTHON_USEDEP}]
)
+ test? ( dev-libs/check )
"
DOCS=( README.md THANKS )
-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/lib\/libcheck/$(get_libdir)\/libcheck/g" \
configure.ac || die
sed -i \
-e 's|-L$libdir ||g' \
@@ -49,7 +53,10 @@ src_prepare() {
-e '/^SUBDIRS/s|python||g' \
Makefile.am || die
- eautoreconf
+ # 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
@@ -59,18 +66,25 @@ src_prepare() {
src_configure() {
econf \
- --disable-static \
- $(use_with python)
+ $(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
diff --git a/dev-libs/libdnet/libdnet-1.16.1.ebuild b/dev-libs/libdnet/libdnet-1.18.0.ebuild
index ae421db27101..06d3ec217130 100644
--- a/dev-libs/libdnet/libdnet-1.16.1.ebuild
+++ b/dev-libs/libdnet/libdnet-1.18.0.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1
@@ -17,14 +18,17 @@ 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} )"
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
RDEPEND="${DEPEND}"
-BDEPEND="python? ( dev-python/cython[${PYTHON_USEDEP}] )
- test? ( dev-libs/check )"
+BDEPEND="
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )
+"
DOCS=( README.md THANKS )
@@ -35,6 +39,9 @@ src_prepare() {
-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 \
@@ -55,17 +62,24 @@ src_prepare() {
src_configure() {
econf \
$(use_with python) \
- $(use_with test check "${ESYSROOT}/usr")
+ $(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
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/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..0ed1e1d610a5
--- /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/libei/Manifest b/dev-libs/libei/Manifest
index f1890e5f34a6..14d671e41b99 100644
--- a/dev-libs/libei/Manifest
+++ b/dev-libs/libei/Manifest
@@ -1,2 +1,2 @@
-DIST libei-1.1.0.tar.bz2 169197 BLAKE2B 3f33b21a9876da533a6f52ecc2478065f4f3083f72880cf09f1bbeadcdcaed843e681e5d9fc8692ff667fe7262195caa272712b755997ca74a1b90f24492c08d SHA512 93525215cf896213e5f28581a1701cfccaf1ea07ae85744c01b6152ff29c2c9d6fd3afeeb8de5850cde915b540d3452bfe32c8c56bf780dd401da9947e28044b
+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.1.0.ebuild b/dev-libs/libei/libei-1.2.1.ebuild
index 2baef82f12b5..74c5bdf82a84 100644
--- a/dev-libs/libei/libei-1.1.0.ebuild
+++ b/dev-libs/libei/libei-1.2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -88,6 +88,11 @@ src_configure() {
meson_src_configure
}
+src_test() {
+ # bug #916777
+ meson_src_test --no-suite sigalrm --timeout-multiplier 10
+}
+
src_install() {
meson_src_install
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..a71ebbaaca7d
--- /dev/null
+++ b/dev-libs/libelf/libelf-0.8.13-r4.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools 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 2892eb9d590c..2e3e4325cba5 100644
--- a/dev-libs/libevdev/Manifest
+++ b/dev-libs/libevdev/Manifest
@@ -1 +1,2 @@
DIST libevdev-1.13.1.tar.xz 455484 BLAKE2B 063eefeebebf5253ce23666e31d67d7268ad97e09f84e0e3a02b1024a92f68e1a4f1fc2508304abf49ab05dba4961b49463b640a18c79ea38ca0c5a9d8bf3e9c SHA512 9b75bad4bc13948854c8dff7a7a46aca6c06d1410ccb000f881bf76055ccac040595c3b24fb1a574be875b5c262eb86820b9ec3383752641bc2047135e5a412f
+DIST libevdev-1.13.2.tar.xz 460456 BLAKE2B bdb71525600e2aa3aa264da322e1d7e93270790a48b62baf3df51cf23a6ddf7371cb9de157dd430e632514d1cb3d3b076f8710c43fac4f99e42e7ca503061bee SHA512 558267df0e45d8641a58dddb9fe30e2235ce247d96710189b09512d19d691afbd25189d188bb26bb5092fbbe249fbc7ca60a9e6af4fab535a946d5a3e030a21f
diff --git a/dev-libs/libevdev/libevdev-1.13.1.ebuild b/dev-libs/libevdev/libevdev-1.13.1-r1.ebuild
index fd6b49953e4b..300b0dba54e8 100644
--- a/dev-libs/libevdev/libevdev-1.13.1.ebuild
+++ b/dev-libs/libevdev/libevdev-1.13.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-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/libevdev/libevdev-1.13.2.ebuild b/dev-libs/libevdev/libevdev-1.13.2.ebuild
new file mode 100644
index 000000000000..02e52e0d2c65
--- /dev/null
+++ b/dev-libs/libevdev/libevdev-1.13.2.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..13} )
+
+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..c29d77531fd3 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..13} )
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/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-r2.ebuild b/dev-libs/libezV24/libezV24-0.1.1-r2.ebuild
index e17e282ea685..21e1bcb0b753 100644
--- a/dev-libs/libezV24/libezV24-0.1.1-r2.ebuild
+++ b/dev-libs/libezV24/libezV24-0.1.1-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
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="library that provides an easy API to Linux serial ports"
HOMEPAGE="http://ezv24.sourceforge.net"
-SRC_URI="mirror://sourceforge/ezv24/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/ezv24/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild b/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
new file mode 100644
index 000000000000..155857191831
--- /dev/null
+++ b/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Library that provides an easy API to Linux serial ports"
+HOMEPAGE="https://ezv24.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/ezv24/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+
+HTML_DOCS=( api-html/. )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-build.patch
+ "${FILESDIR}"/${P}-test.patch
+ "${FILESDIR}"/${P}-clang16-build-fix.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export AR CC RANLIB
+ sed -i -e 's:__LINUX__:__linux__:' *.c *.h || die
+}
+
+src_install() {
+ export NO_LDCONFIG="stupid"
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" install
+ einstalldocs
+
+ find "${ED}" -name '*.a' -delete || die
+}
diff --git a/dev-libs/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/libfastjson-1.2304.0.ebuild b/dev-libs/libfastjson/libfastjson-1.2304.0.ebuild
index 7a6bae3ec5d1..d5089721f711 100644
--- a/dev-libs/libfastjson/libfastjson-1.2304.0.ebuild
+++ b/dev-libs/libfastjson/libfastjson-1.2304.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
@@ -14,7 +14,7 @@ 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"
+BDEPEND=">=dev-build/autoconf-archive-2015.02.04"
DOCS=( AUTHORS ChangeLog )
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-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-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-r1.ebuild b/dev-libs/libffi/libffi-3.4.4-r4.ebuild
index cf7d47ca43ca..a80f5a73f9d6 100644
--- a/dev-libs/libffi/libffi-3.4.4-r1.ebuild
+++ b/dev-libs/libffi/libffi-3.4.4-r4.ebuild
@@ -1,14 +1,14 @@
-# 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 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"
+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}
@@ -29,6 +29,9 @@ 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() {
@@ -62,6 +65,10 @@ multilib_src_configure() {
$(use_enable debug)
}
+multilib_src_test() {
+ emake -Onone check
+}
+
multilib_src_install_all() {
einstalldocs
find "${ED}" -name "*.la" -delete || die
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 5401d0f8a977..000000000000
--- a/dev-libs/libffi/libffi-3.4.4.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2023 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 ~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_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-r2.ebuild b/dev-libs/libffi/libffi-3.4.6.ebuild
index 63367bd2fe39..999a90fa9eaa 100644
--- a/dev-libs/libffi/libffi-3.4.4-r2.ebuild
+++ b/dev-libs/libffi/libffi-3.4.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
@@ -14,10 +14,9 @@ SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.ta
S="${WORKDIR}"/${MY_P}
LICENSE="MIT"
-# This is a core package which is depended on by e.g. Python
+# 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.
+# 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"
@@ -25,13 +24,6 @@ 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}"/${PN}-3.4.4-sparc-float-typo.patch
-)
-
src_prepare() {
default
@@ -63,6 +55,10 @@ multilib_src_configure() {
$(use_enable debug)
}
+multilib_src_test() {
+ emake -Onone check
+}
+
multilib_src_install_all() {
einstalldocs
find "${ED}" -name "*.la" -delete || die
diff --git a/dev-libs/libfilezilla/Manifest b/dev-libs/libfilezilla/Manifest
index 7ac39117b650..84fda602da06 100644
--- a/dev-libs/libfilezilla/Manifest
+++ b/dev-libs/libfilezilla/Manifest
@@ -1,2 +1,2 @@
-DIST libfilezilla-0.44.0.tar.xz 541136 BLAKE2B 73344ef8cebdfb6334204baf37e9cb9ab4171fe7307fc186b77139e912aa7a8dd9d9970f765a1c7059d146cdae69ce81571749052cc4b981841229058225badc SHA512 44547cfce1c2b33cbddbd3c7150613d050c9d6f1130e7969b0ad26e96d4e18a0a7251ca045e1dba1442a1d9c7f19e463b5eab7985a0cc98e652caf79809d291f
-DIST libfilezilla-0.45.0.tar.xz 543340 BLAKE2B c85c07d23381d63c6f959e9721fa898982c692cafcd863cd15da7fce7e486bf2031b0d0e1fb18efeb271d1aa497eabe0dff4c14f8ff89fbe3ed880a737fc8f6e SHA512 304838e8cf6e644378c0727bc8b9d2f87287a646db4cb765a04d156717f8c233b8a34085049e4893ec345a1a1d576f0ba33df705dee022e16ff433cddd926ce0
+DIST libfilezilla-0.47.0.tar.xz 551484 BLAKE2B ba35bd990889a779f4c14c5c76c29dc5fed1bb97168e8dec75a59984133d6dbd56850208c55d6549c80dc2069ea007e0a26d7b604dbf9752c6ac018493a96627 SHA512 28af8aeacc5b6b188613c2afebb23477aa0c6908cd2bfe7dc39ba4b69fa67f2d18a64cdefe52968f429b18545fe03c031363b3aa9ed07b2ecb9faa56b1275282
+DIST libfilezilla-0.48.1.tar.xz 552864 BLAKE2B fd08bbe3279cb1eec21c864e1b1547ee562d9fca970fed4dc3f78740bb9131b98410cc5ba317a05a5218b100dd498107dd2caed3ff3453b1516405c1075bbb62 SHA512 44881abbed985eabe0b5a19c6a2fc5f39c5258b49633eae79c7498c5c96583b24883ddce66b9ab7fafdaab7657092edc5da8e5d3b604897b76c02038fa4cd482
diff --git a/dev-libs/libfilezilla/libfilezilla-0.44.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild
index c17d1a81f8f7..6808d9713afc 100644
--- a/dev-libs/libfilezilla/libfilezilla-0.44.0.ebuild
+++ b/dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild
@@ -1,15 +1,16 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit flag-o-matic
+
+inherit autotools 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/40" # libfilezilla.so version
+SLOT="0/43" # libfilezilla.so version
KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 ~riscv x86"
IUSE="test"
@@ -22,6 +23,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}
test? ( dev-util/cppunit )"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-0.37.1-pthread.patch
@@ -39,6 +41,12 @@ pkg_pretend() {
fi
}
+src_prepare() {
+ default
+ # we patch configure.ac
+ eautoreconf
+}
+
src_configure() {
if use ppc || use arm || use hppa; then
# bug 727652
diff --git a/dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild
index f905c8446f3f..c4bb2a3f579e 100644
--- a/dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild
+++ b/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ 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
+SLOT="0/45" # libfilezilla.so version
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
@@ -41,6 +41,12 @@ pkg_pretend() {
fi
}
+src_prepare() {
+ default
+ # we patch configure.ac
+ eautoreconf
+}
+
src_configure() {
if use ppc || use arm || use hppa; then
# bug 727652
diff --git a/dev-libs/libfmt/Manifest b/dev-libs/libfmt/Manifest
index c89d89fef4de..f4d87e697313 100644
--- a/dev-libs/libfmt/Manifest
+++ b/dev-libs/libfmt/Manifest
@@ -1,4 +1,9 @@
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-11.0.0.tar.gz 698193 BLAKE2B 406feb6acb4800de7f2528dde307351c47e248d5e255645c6beb32cfe284063ca47ef2319b44fc5c83871390a7877de9dc12c7dadefa1dc32db9790b56f9c492 SHA512 ec9a989298a63233b939ee14372a9cd39902619e895800427629de835de95e4e0e637b4ba3834bc961e1573b7d214543286d7c7791b6ad61da8cff1830b4df8f
+DIST libfmt-11.0.1.tar.gz 698903 BLAKE2B 96f3205afb6ac61549ca57b2ba1c8dca5ab523eebd08663ae9b352784fba7994ffa9ffc9be8a37977962175861a43082d4127a293a2e3d4219b5532b57d32693 SHA512 1db6bea592323a3a52adad91d416925a3d86e150ee1a73a31be0ff0e901aba5b0a1aeab39785ff7303694175dd27ae0984d4921759d7b09159c30d8e9d3491e3
+DIST libfmt-11.0.2.tar.gz 700956 BLAKE2B c1f7998e68770bbb93ab7211a18b4930727699b340b2f2e15dedc83e55ff02400cfd363abaec1bf63a0165f8c21cc515a4aa23c4f3bc2e65b6fbc041781f0379 SHA512 47ff6d289dcc22681eea6da465b0348172921e7cafff8fd57a1540d3232cc6b53250a4625c954ee0944c87963b17680ecbc3ea123e43c2c822efe0dc6fa6cef3
DIST libfmt-9.1.0.tar.gz 837901 BLAKE2B ff1daa43140615b63aeb1ecd0aa1c32d24decfd5006805080293ef3db04d544c0445a30e8da0d985a6f5a25ad48ce4f6ae61e52da5ea4a4d3b031c212da38b18 SHA512 a18442042722dd48e20714ec034a12fcc0576c9af7be5188586970e2edf47529825bdc99af366b1d5891630c8dbf6f63bfa9f012e77ab3d3ed80d1a118e3b2be
diff --git a/dev-libs/libfmt/libfmt-10.0.0.ebuild b/dev-libs/libfmt/libfmt-10.0.0-r1.ebuild
index 90083087d20e..21279049b837 100644
--- a/dev-libs/libfmt/libfmt-10.0.0.ebuild
+++ b/dev-libs/libfmt/libfmt-10.0.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake-multilib
DESCRIPTION="Small, safe and fast formatting library"
HOMEPAGE="https://github.com/fmtlib/fmt"
@@ -22,7 +22,7 @@ SLOT="0/${PV}"
IUSE="test"
RESTRICT="!test? ( test )"
-src_configure() {
+multilib_src_configure() {
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
-DFMT_LIB_DIR="$(get_libdir)"
diff --git a/dev-libs/libfmt/libfmt-10.1.1.ebuild b/dev-libs/libfmt/libfmt-10.1.0-r1.ebuild
index 90083087d20e..21279049b837 100644
--- a/dev-libs/libfmt/libfmt-10.1.1.ebuild
+++ b/dev-libs/libfmt/libfmt-10.1.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake-multilib
DESCRIPTION="Small, safe and fast formatting library"
HOMEPAGE="https://github.com/fmtlib/fmt"
@@ -22,7 +22,7 @@ SLOT="0/${PV}"
IUSE="test"
RESTRICT="!test? ( test )"
-src_configure() {
+multilib_src_configure() {
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
-DFMT_LIB_DIR="$(get_libdir)"
diff --git a/dev-libs/libfmt/libfmt-10.1.0.ebuild b/dev-libs/libfmt/libfmt-10.1.1-r1.ebuild
index 90083087d20e..21279049b837 100644
--- a/dev-libs/libfmt/libfmt-10.1.0.ebuild
+++ b/dev-libs/libfmt/libfmt-10.1.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake-multilib
DESCRIPTION="Small, safe and fast formatting library"
HOMEPAGE="https://github.com/fmtlib/fmt"
@@ -22,7 +22,7 @@ SLOT="0/${PV}"
IUSE="test"
RESTRICT="!test? ( test )"
-src_configure() {
+multilib_src_configure() {
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
-DFMT_LIB_DIR="$(get_libdir)"
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.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-11.0.0.ebuild b/dev-libs/libfmt/libfmt-11.0.0.ebuild
new file mode 100644
index 000000000000..da45c0e71554
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-11.0.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-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-11.0.1.ebuild b/dev-libs/libfmt/libfmt-11.0.1.ebuild
new file mode 100644
index 000000000000..da45c0e71554
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-11.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
+
+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-11.0.2.ebuild b/dev-libs/libfmt/libfmt-11.0.2.ebuild
new file mode 100644
index 000000000000..da45c0e71554
--- /dev/null
+++ b/dev-libs/libfmt/libfmt-11.0.2.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-9.1.0-r1.ebuild b/dev-libs/libfmt/libfmt-9.1.0-r1.ebuild
index 736a4a35c2e9..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="~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"
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 90083087d20e..da45c0e71554 100644
--- a/dev-libs/libfmt/libfmt-9999.ebuild
+++ b/dev-libs/libfmt/libfmt-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=8
-inherit cmake
+inherit cmake-multilib flag-o-matic
DESCRIPTION="Small, safe and fast formatting library"
HOMEPAGE="https://github.com/fmtlib/fmt"
@@ -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/libg15/libg15-1.2.7-r1.ebuild b/dev-libs/libg15/libg15-1.2.7-r1.ebuild
index 638cbaf73401..90ad1f3e5434 100644
--- a/dev-libs/libg15/libg15-1.2.7-r1.ebuild
+++ b/dev-libs/libg15/libg15-1.2.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ if [[ ${PV} == *9999 ]]; then
ESVN_REPO_URI="https://svn.code.sf.net/p/g15tools/code/trunk/${PN}"
else
KEYWORDS="amd64 ppc ppc64 x86"
- SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+ SRC_URI="https://downloads.sourceforge.net/g15tools/${P}.tar.bz2"
fi
DESCRIPTION="The libg15 library gives low-level access to the Logitech G15 keyboard"
diff --git a/dev-libs/libg15/metadata.xml b/dev-libs/libg15/metadata.xml
index 947c62c9e342..215d63df9cf8 100644
--- a/dev-libs/libg15/metadata.xml
+++ b/dev-libs/libg15/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>robbat2@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">g15tools</remote-id>
</upstream>
diff --git a/dev-libs/libg15render/files/libg15render-3.0.4-missing-include.patch b/dev-libs/libg15render/files/libg15render-3.0.4-missing-include.patch
new file mode 100644
index 000000000000..eeb70bc2c9c6
--- /dev/null
+++ b/dev-libs/libg15render/files/libg15render-3.0.4-missing-include.patch
@@ -0,0 +1,11 @@
+https://gitlab.com/menelkir/libg15render/-/commit/ea940d38ca5c17685e4c13dcdcde43bbd6ec1fea
+--- a/pixel.c
++++ b/pixel.c
+@@ -19,6 +19,7 @@
+ #include <fcntl.h>
+ #include <stdlib.h>
+ #include <math.h>
++#include <unistd.h>
+ #include "libg15render.h"
+
+ void swap (int *x, int *y){
diff --git a/dev-libs/libg15render/libg15render-1.2-r2.ebuild b/dev-libs/libg15render/libg15render-1.2-r2.ebuild
index 8b6133f70f2b..4ee417b73703 100644
--- a/dev-libs/libg15render/libg15render-1.2-r2.ebuild
+++ b/dev-libs/libg15render/libg15render-1.2-r2.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
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
HOMEPAGE="https://sourceforge.net/projects/g15tools/"
-SRC_URI="mirror://sourceforge/g15tools/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/g15tools/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
diff --git a/dev-libs/libg15render/libg15render-3.0.4-r1.ebuild b/dev-libs/libg15render/libg15render-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..bdf4d4d973fc
--- /dev/null
+++ b/dev-libs/libg15render/libg15render-3.0.4-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Small library for display text and graphics on a Logitech G15 keyboard"
+HOMEPAGE="https://gitlab.com/menelkir/libg15render"
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/menelkir/libg15render.git"
+else
+ SRC_URI="https://gitlab.com/menelkir/${PN}/-/archive/${PV}/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="truetype"
+
+RDEPEND="
+ >=dev-libs/libg15-3.0
+ truetype? ( media-libs/freetype )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ truetype? ( virtual/pkgconfig )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-freetype_pkgconfig.patch"
+ "${FILESDIR}/${PN}-3.0.4-docdir.patch"
+ "${FILESDIR}/${P}-missing-include.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ $(use_enable truetype ttf)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libg15render/metadata.xml b/dev-libs/libg15render/metadata.xml
index 947c62c9e342..00a0a854f2cd 100644
--- a/dev-libs/libg15render/metadata.xml
+++ b/dev-libs/libg15render/metadata.xml
@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>robbat2@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">g15tools</remote-id>
+ <remote-id type="gitlab">menelkir/libg15render</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
index ce3a15b5e160..88de87fe6595 100644
--- a/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
+++ b/dev-libs/libgamin/files/libgamin-0.1.10-crosscompile-fix.patch
@@ -1,5 +1,5 @@
---- configure.in.orig 2009-04-26 23:00:43.445135823 +0300
-+++ configure.in 2009-04-26 23:25:04.042489243 +0300
+--- gamin-0.1.10/configure.in
++++ gamin-0.1.10/configure.in
@@ -389,8 +389,7 @@
AC_MSG_CHECKING(abstract socket namespace)
diff --git a/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild b/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild
index 86fcb2f3bb8d..3e16d85b0e95 100644
--- a/dev-libs/libgamin/libgamin-0.1.10-r6.ebuild
+++ b/dev-libs/libgamin/libgamin-0.1.10-r7.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
GNOME_ORG_MODULE="gamin"
GNOME_TARBALL_SUFFIX="bz2"
-inherit autotools epatch gnome.org multilib-minimal
+inherit autotools gnome.org multilib-minimal
DESCRIPTION="Library providing the FAM File Alteration Monitor API"
HOMEPAGE="https://www.gnome.org/~veillard/gamin/"
@@ -32,35 +32,35 @@ src_prepare() {
mv "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
# Fix QA warnings, bug #257281, upstream #466791
- epatch "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
+ eapply "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
if [[ ${CHOST} != *-solaris* ]] ; then
# Fix compile warnings; bug #188923
- epatch "${DISTDIR}"/gamin-0.1.9-freebsd.patch.bz2
+ 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.
- epatch "${DISTDIR}"/${P}-opensolaris.patch.bz2
+ eapply -p0 "${WORKDIR}"/${P}-opensolaris.patch
fi
# Fix collision problem due to intermediate library, upstream bug #530635
- epatch "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
+ eapply "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
# Fix compilation with latest glib, bug #382783
- epatch "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
+ eapply "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
# Fix crosscompilation issues, bug #267604
- epatch "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
+ eapply "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
# Enable linux specific features on armel, upstream bug #588338
- epatch "${FILESDIR}/${P}-armel-features.patch"
+ eapply "${FILESDIR}/${P}-armel-features.patch"
# Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
- epatch "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
+ eapply "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
# Fix musl build, upstream bug #588337
- epatch "${FILESDIR}/${PN}-0.1.10-musl-pthread.patch"
+ 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
diff --git a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild b/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
index 4a116a176f55..9c844d7032db 100644
--- a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
+++ b/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ inherit cmake xdg
DESCRIPTION="Provides functionality for gaming input devices"
HOMEPAGE="https://sourceforge.net/projects/libgaminggear/"
-SRC_URI="mirror://sourceforge/libgaminggear/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/libgaminggear/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
@@ -30,7 +30,7 @@ DEPEND="${RDEPEND}
"
BDEPEND="
dev-util/glib-utils
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
PATCHES=(
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index 3160e534cd66..8f6a1788ff24 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -1,8 +1,6 @@
-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.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
-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.11.0.tar.bz2 4180345 BLAKE2B fe3f42480c0b9a0c50c24f4c54197404b4e1056d8baa9c0c07c671c9c05b90777580b4cbcde931b50ecb4dd93f5ddad89cea99aa36a35f86f796a003e3816f7d SHA512 8e093e69e3c45d30838625ca008e995556f0d5b272de1c003d44ef94633bcc0d0ef5d95e8725eb531bfafb4490ac273488633e0c801200d4666194f86c3e270e
+DIST libgcrypt-1.11.0.tar.bz2.sig 119 BLAKE2B e64d59dae5556e2826f6d297988a3300c36d05aeecfe19544c5092b5f7b777b9b3f37c5ddcfcba5a916ae237cf981efdd9e3bdec482f7c36b12ac5c70f9d4c52 SHA512 8c5ceb50d70ccdedcc1ff4b31a65a07198567b85f582e3e67699cc3e5d012bebf7b1d4903652d11905a9cd845976ad7d3642474804777d0bdc46c6847d92fe38
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch b/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch
deleted file mode 100644
index c54499e15dba..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.10-build-Allow-build-with-Oz.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-https://bugs.gentoo.org/902765
-https://dev.gnupg.org/T6432
-https://dev.gnupg.org/rC7edf1abb9a0d892a80cbf7ab42f64b2720671ee9
-
-From 7edf1abb9a0d892a80cbf7ab42f64b2720671ee9 Mon Sep 17 00:00:00 2001
-From: NIIBE Yutaka <gniibe@fsij.org>
-Date: Mon, 3 Apr 2023 14:00:15 +0900
-Subject: [PATCH] build: Allow build with -Oz.
-
-* cipher/Makefile.am [ENABLE_O_FLAG_MUNGING]: Support -Oz.
-* random/Makefile.am [ENABLE_O_FLAG_MUNGING]: Support -Oz.
-
---
-
-GnuPG-bug-id: 6432
-Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
----
- cipher/Makefile.am | 2 +-
- random/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cipher/Makefile.am b/cipher/Makefile.am
-index cf1fbe85..e67b1ee2 100644
---- a/cipher/Makefile.am
-+++ b/cipher/Makefile.am
-@@ -165,7 +165,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c
-
-
- if ENABLE_O_FLAG_MUNGING
--o_flag_munging = sed -e 's/-O\([2-9sg][2-9sg]*\)/-O1/' -e 's/-Ofast/-O1/g'
-+o_flag_munging = sed -e 's/-O\([2-9sgz][2-9sgz]*\)/-O1/' -e 's/-Ofast/-O1/g'
- else
- o_flag_munging = cat
- endif
-diff --git a/random/Makefile.am b/random/Makefile.am
-index af978570..0c935a05 100644
---- a/random/Makefile.am
-+++ b/random/Makefile.am
-@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h
-
- # The rndjent module needs to be compiled without optimization. */
- if ENABLE_O_FLAG_MUNGING
--o_flag_munging = sed -e 's/-O\([1-9sg][1-9sg]*\)/-O0/g' -e 's/-Ofast/-O0/g'
-+o_flag_munging = sed -e 's/-O\([1-9sgz][1-9sgz]*\)/-O0/g' -e 's/-Ofast/-O0/g'
- else
- o_flag_munging = cat
- endif
---
-2.40.0
-
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.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.11.0-o-flag-munging.patch b/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch
new file mode 100644
index 000000000000..161e4ad5c132
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.11.0-o-flag-munging.patch
@@ -0,0 +1,53 @@
+https://bugs.gentoo.org/934801
+https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=patch;h=e96df0c
+
+From e96df0c82e086bf348753d2d0fa37fa6191b4b14 Mon Sep 17 00:00:00 2001
+From: "simit.ghane" <simit.ghane@lge.com>
+Date: Tue, 11 Jun 2024 07:22:28 +0530
+Subject: [PATCH] random:cipher: handle substitution in sed command
+
+* cipher/Makefile.am (o_flag_munging): Add 'g' flag for first sed
+expression.
+* random/Makefile.am (o_flag_munging): Likewise.
+--
+
+It was there earlier and accidentally removed from
+Makefile.am of cipher and random
+
+Signed-off-by: simit.ghane <simit.ghane@lge.com>
+[jk: add changelog to commit message]
+Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+---
+ cipher/Makefile.am | 2 +-
+ random/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cipher/Makefile.am b/cipher/Makefile.am
+index ea9014cc..149c9f21 100644
+--- a/cipher/Makefile.am
++++ b/cipher/Makefile.am
+@@ -169,7 +169,7 @@ gost-s-box$(EXEEXT_FOR_BUILD): gost-s-box.c
+
+
+ if ENABLE_O_FLAG_MUNGING
+-o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /' -e 's/[[:blank:]]-Ofast/ -O1 /g'
++o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /g' -e 's/[[:blank:]]-Ofast/ -O1 /g'
+ else
+ o_flag_munging = cat
+ endif
+diff --git a/random/Makefile.am b/random/Makefile.am
+index c7100ef8..a42e4306 100644
+--- a/random/Makefile.am
++++ b/random/Makefile.am
+@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h jitterentropy-base-user.h
+
+ # The rndjent module needs to be compiled without optimization. */
+ if ENABLE_O_FLAG_MUNGING
+-o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /' -e 's/[[:blank:]]-Ofast/ -O0 /g'
++o_flag_munging = sed -e 's/[[:blank:]]-O\([1-9sgz][1-9sgz]*\)/ -O0 /g' -e 's/[[:blank:]]-Ofast/ -O0 /g'
+ else
+ o_flag_munging = cat
+ endif
+--
+2.30.2
+
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch b/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch
new file mode 100644
index 000000000000..6d306423df51
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.11.0-s390x.patch
@@ -0,0 +1,59 @@
+https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=2486d9b5ae015c1786cb84466a751da4bc0d7122
+
+From 2486d9b5ae015c1786cb84466a751da4bc0d7122 Mon Sep 17 00:00:00 2001
+From: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+Date: Thu, 20 Jun 2024 20:10:09 +0300
+Subject: [PATCH] Disable SHA3 s390x acceleration for CSHAKE
+
+* cipher/keccak.c (keccak_final_s390x): Add assert check for
+expected SHAKE suffix.
+(_gcry_cshake_customize, cshake_hash_buffers): Disable s390x
+acceleration when selecting CSHAKE suffix.
+--
+
+Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
+--- a/cipher/keccak.c
++++ b/cipher/keccak.c
+@@ -745,6 +745,8 @@ keccak_final_s390x (void *context)
+ }
+ else
+ {
++ gcry_assert(ctx->suffix == SHAKE_DELIMITED_SUFFIX);
++
+ klmd_shake_execute (ctx->kimd_func, &ctx->state, NULL, 0, ctx->buf,
+ ctx->count);
+ ctx->count = 0;
+@@ -1497,9 +1499,14 @@ _gcry_cshake_customize (void *context, struct gcry_cshake_customization *p)
+ /* No customization */
+ return 0;
+
++ ctx->suffix = CSHAKE_DELIMITED_SUFFIX;
++#ifdef USE_S390X_CRYPTO
++ /* CSHAKE suffix is not supported by s390x/kimd. */
++ ctx->kimd_func = 0;
++#endif
++
+ len_written = cshake_input_n (ctx, p->n, p->n_len);
+ cshake_input_s (ctx, p->s, p->s_len, len_written);
+- ctx->suffix = CSHAKE_DELIMITED_SUFFIX;
+ return 0;
+ }
+
+@@ -1536,9 +1543,14 @@ cshake_hash_buffers (const gcry_md_spec_t *spec, void *outbuf, size_t nbytes,
+ size_t s_len = iov[1].len;
+ size_t len;
+
++ ctx.suffix = CSHAKE_DELIMITED_SUFFIX;
++#ifdef USE_S390X_CRYPTO
++ /* CSHAKE suffix is not supported by s390x/kimd. */
++ ctx.kimd_func = 0;
++#endif
++
+ len = cshake_input_n (&ctx, n, n_len);
+ cshake_input_s (&ctx, s, s_len, len);
+- ctx.suffix = CSHAKE_DELIMITED_SUFFIX;
+ }
+ iovcnt -= 2;
+ iov += 2;
+--
+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.2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
index 1f99ec03e9d3..6d72a68b8514 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,9 +11,9 @@ 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"
+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"
+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
@@ -78,6 +78,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
@@ -134,9 +142,6 @@ multilib_src_configure() {
# 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"
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
index d2dccd75aed5..ae0b0501998f 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r3.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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
@@ -11,9 +11,9 @@ 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"
+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 ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~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
@@ -30,24 +30,25 @@ REQUIRED_USE="
cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
"
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
+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 )"
+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
- "${FILESDIR}"/libgcrypt-1.10-build-Allow-build-with-Oz.patch
)
MULTILIB_CHOST_TOOLS=(
@@ -80,6 +81,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
@@ -108,12 +117,7 @@ multilib_src_configure() {
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
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
local myeconfargs=(
CC_FOR_BUILD="$(tc-getBUILD_CC)"
@@ -136,9 +140,6 @@ multilib_src_configure() {
# 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"
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
index 2761d93ca698..38eb6264d7e6 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.3.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.3-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,9 +11,9 @@ 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"
+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"
+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
@@ -49,6 +49,9 @@ 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=(
@@ -81,6 +84,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
@@ -109,12 +120,7 @@ multilib_src_configure() {
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
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
local myeconfargs=(
CC_FOR_BUILD="$(tc-getBUILD_CC)"
diff --git a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild
index 8e315d592a7f..3afe6a467f90 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.1-r2.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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
@@ -11,10 +11,13 @@ 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"
+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 ~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"
+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 +getentropy static-libs"
+IUSE+=" cpu_flags_arm_neon cpu_flags_arm_aes cpu_flags_arm_sha1 cpu_flags_arm_sha2 cpu_flags_arm_sve"
+IUSE+=" cpu_flags_ppc_altivec cpu_flags_ppc_vsx2 cpu_flags_ppc_vsx3"
+IUSE+=" cpu_flags_x86_aes cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_padlock cpu_flags_x86_sha cpu_flags_x86_sse4_1"
# Build system only has --disable-arm-crypto-support right now
# If changing this, update src_configure logic too.
@@ -30,22 +33,26 @@ REQUIRED_USE="
cpu_flags_ppc_vsx2? ( cpu_flags_ppc_altivec )
"
-RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]
+RDEPEND="
+ >=dev-libs/libgpg-error-1.49[${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 )"
+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}"/${P}-s390x.patch
+ "${FILESDIR}"/${P}-o-flag-munging.patch
)
MULTILIB_CHOST_TOOLS=(
@@ -78,6 +85,14 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # Sensitive to optimisation; parts of the codebase are built with
+ # -O0 already. Don't risk it with UB.
+ strip-flags
+
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
if [[ ${CHOST} == *86*-solaris* ]] ; then
# ASM code uses GNU ELF syntax, divide in particular, we need to
@@ -101,16 +116,12 @@ multilib_src_configure() {
# 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
+ 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
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
local myeconfargs=(
CC_FOR_BUILD="$(tc-getBUILD_CC)"
@@ -119,10 +130,12 @@ multilib_src_configure() {
$(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_arm_sve sve-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_avx512f avx512-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)
@@ -133,9 +146,6 @@ multilib_src_configure() {
# 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"
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 040fad866c53..000000000000
--- a/dev-libs/libgcrypt/libgcrypt-1.9.4-r2.ebuild
+++ /dev/null
@@ -1,142 +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=/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 ~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 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")
-
- $(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_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/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.ebuild b/dev-libs/libgee/libgee-0.20.6-r1.ebuild
index 31ae5bb1cead..758097a11ff8 100644
--- a/dev-libs/libgee/libgee-0.20.6.ebuild
+++ b/dev-libs/libgee/libgee-0.20.6-r1.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit gnome2
+inherit gnome2 vala
DESCRIPTION="GObject-based interfaces and classes for commonly used data structures"
HOMEPAGE="https://wiki.gnome.org/Projects/Libgee"
@@ -18,11 +18,26 @@ RDEPEND="
>=dev-libs/glib-2.36:2
introspection? ( >=dev-libs/gobject-introspection-0.9.6:= )
"
-DEPEND="${RDEPEND}"
+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) \
- VALAC="$(type -P false)"
+ $(use_enable introspection)
}
diff --git a/dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild b/dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild
index b1572974d3dc..ecf161614762 100644
--- a/dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild
+++ b/dev-libs/libgit2-glib/libgit2-glib-1.2.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
@@ -16,10 +16,12 @@ 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}]
diff --git a/dev-libs/libgit2/Manifest b/dev-libs/libgit2/Manifest
index 3e75daddc105..46d4115673c0 100644
--- a/dev-libs/libgit2/Manifest
+++ b/dev-libs/libgit2/Manifest
@@ -1 +1,2 @@
-DIST libgit2-1.7.1.tar.gz 7548081 BLAKE2B 9c50d3c25d1cc58e5fab60b4c438c91479dd57138a14a48a8b692bb6b43733f59759172043c94198df63fa1e4eb40c548bb78c94bc57fb99682059be57a5c3e2 SHA512 08e60dde0cdf57006cf0c5f27a82220aba8d701bf7d6d709ffe312975ffa5dbef009ccb1e7cbe570b9502f4361d06ace44dbfd9a5f5f8ad08e9b0ca05bef765e
+DIST libgit2-1.7.2.tar.gz 7548186 BLAKE2B c27870124c7e63a37794014a802a6fce46c577313f3b6081580f920fa842a65305b5bc56aa6ab02cf87c533d6052afdc37317f96aa1fd67387b07f52415ccbe3 SHA512 825737e4a1991fba50ea535f15b0e560ebe76ead752e04aeba36925b944d0da77fe9826a70980a1aa3d0bf9afbedfab79dd92e799c9252931384c89ebec9b012
+DIST libgit2-1.8.1.tar.gz 7608949 BLAKE2B 14558400d092dd963becfd3d4966a8d0799811be15fea8c5bc1e91be24f14bb81d33d82b2fb8dd8895e167f634a5d532d62a4609167bcb1d93143275207bbf6d SHA512 7429fbdc46ae44fd359e9260cbe33d9ce9276db810c096f12c43e5d302d01011463cdfd98d604e59780187e020e216e839823a77479dc12f952a37628516af78
diff --git a/dev-libs/libgit2/libgit2-1.7.1.ebuild b/dev-libs/libgit2/libgit2-1.7.2.ebuild
index 390e34381522..e6996dbfbafa 100644
--- a/dev-libs/libgit2/libgit2-1.7.1.ebuild
+++ b/dev-libs/libgit2/libgit2-1.7.2.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_{10..12} )
-inherit cmake python-any-r1
+inherit cmake flag-o-matic python-any-r1
DESCRIPTION="A linkable library for Git"
HOMEPAGE="https://libgit2.org/"
@@ -44,6 +44,11 @@ src_configure() {
-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
}
diff --git a/dev-libs/libgit2/libgit2-1.8.1.ebuild b/dev-libs/libgit2/libgit2-1.8.1.ebuild
new file mode 100644
index 000000000000..d2b9098cf1c3
--- /dev/null
+++ b/dev-libs/libgit2/libgit2-1.8.1.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..13} )
+
+inherit cmake flag-o-matic python-any-r1
+
+DESCRIPTION="A linkable library for Git"
+HOMEPAGE="https://libgit2.org/"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+S=${WORKDIR}/${P/_/-}
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos"
+IUSE="examples gssapi +ssh test +threads trace"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libpcre2:=
+ net-libs/http-parser:=
+ sys-libs/zlib
+ dev-libs/openssl:0=
+ gssapi? ( virtual/krb5 )
+ ssh? ( net-libs/libssh2 )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DUSE_SSH=$(usex ssh ON OFF)
+ -DUSE_GSSAPI=$(usex gssapi ON OFF)
+ -DUSE_HTTP_PARSER=system
+ -DREGEX_BACKEND=pcre2
+ )
+ # https://bugs.gentoo.org/927821
+ append-flags -fno-strict-aliasing
+ filter-lto
+ # https://bugs.gentoo.org/925207
+ append-lfs-flags
+ cmake_src_configure
+}
+
+src_test() {
+ if [[ ${EUID} -eq 0 ]] ; then
+ # repo::iterator::fs_preserves_error fails if run as root
+ # since root can still access dirs with 0000 perms
+ ewarn "Skipping tests: non-root privileges are required for all tests to pass"
+ else
+ local TEST_VERBOSE=1
+ cmake_src_test -R offline
+ fi
+}
+
+src_install() {
+ cmake_src_install
+ dodoc docs/*.{md,txt}
+
+ if use examples ; then
+ find examples -name '.gitignore' -delete || die
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-libs/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.2.ebuild b/dev-libs/libgnt/libgnt-2.14.2.ebuild
index 27ad8d8bb10c..b5bce4a12ebd 100644
--- a/dev-libs/libgnt/libgnt-2.14.2.ebuild
+++ b/dev-libs/libgnt/libgnt-2.14.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
@@ -7,7 +7,7 @@ inherit meson
DESCRIPTION="Pidgin's GLib Ncurses Toolkit"
HOMEPAGE="https://keep.imfreedom.org/libgnt/libgnt"
-SRC_URI="mirror://sourceforge/pidgin/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/pidgin/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/dev-libs/libgnt/libgnt-2.14.3.ebuild b/dev-libs/libgnt/libgnt-2.14.3.ebuild
index e69ee9d06634..c5d27eca7bd3 100644
--- a/dev-libs/libgnt/libgnt-2.14.3.ebuild
+++ b/dev-libs/libgnt/libgnt-2.14.3.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=8
-inherit meson
+inherit flag-o-matic meson
DESCRIPTION="Pidgin's GLib Ncurses Toolkit"
HOMEPAGE="https://keep.imfreedom.org/libgnt/libgnt"
-SRC_URI="mirror://sourceforge/pidgin/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/pidgin/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
@@ -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 d4f01bcd4f1b..ebb2837e3317 100644
--- a/dev-libs/libgpg-error/Manifest
+++ b/dev-libs/libgpg-error/Manifest
@@ -1,2 +1,8 @@
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 238 BLAKE2B ff9b3adbbd587afc09e4b7bc58bfa63446f92b7a42baa541e564ee52d88434bca621686f6db6312e8cd8b81f458ce9ee6307c0e6700ab3dc7d7a46d003c934cc SHA512 39d45939c17755e3dd126506d758a1a86f66827616f270c5b663df50e55692e2ef4f27e6e12a7eb1dbe44afc03b415f1fcb3160990b75980cafe6d9cd5a55ed2
+DIST libgpg-error-1.50.tar.bz2 1082003 BLAKE2B 621d9a604585daa1fbd08aaa94f3b177f6265046ccf452317e126e73079c567c555cbb8ab8b63e09b76bdf4f11a1aad7effd118651fe9e9cbcf01229f20ab297 SHA512 96e466d892a50843af6d7c08c0da602518bc6a28836bfc35f0a28cde74d368f57c5c70c65f0f41edb4fc1ca5ebd00f2ece531d8b3eb1bd6db566adbb29bc61ff
+DIST libgpg-error-1.50.tar.bz2.sig 119 BLAKE2B ee3a8e9221d4df8b37ceef70240ecf79efef045cfbde67f6a8bbc0f58dfa4955ed5a75e3cd31de7644707049919b154c1d9607e370dec7e8f2b0b6cb1b997beb SHA512 02e29838be3225f4894bcebd2c53355a98f5857baa4e9f8a78227a03f849677c35b1d2d009610badd6540dcfe5378b5365abcae77d29ba2d95dd252e9c93c893
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/files/libgpg-error-1.50-environ.patch b/dev-libs/libgpg-error/files/libgpg-error-1.50-environ.patch
new file mode 100644
index 000000000000..761e884aa806
--- /dev/null
+++ b/dev-libs/libgpg-error/files/libgpg-error-1.50-environ.patch
@@ -0,0 +1,31 @@
+https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commit;h=a59e902b887fd92337c9728f668cf9c89da3957a
+
+From a59e902b887fd92337c9728f668cf9c89da3957a Mon Sep 17 00:00:00 2001
+From: Werner Koch <wk@gnupg.org>
+Date: Thu, 20 Jun 2024 12:05:15 +0200
+Subject: [PATCH] core: Declare environ for macOS and others.
+
+* src/spawn-posix.c (environ): Declare.
+--
+
+GnuPG-bug-id: 7169
+---
+ src/spawn-posix.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/spawn-posix.c b/src/spawn-posix.c
+index 7de02a9..96f1536 100644
+--- a/src/spawn-posix.c
++++ b/src/spawn-posix.c
+@@ -57,6 +57,9 @@
+
+ #include "gpgrt-int.h"
+
++/* (Only glibc's unistd.h declares this iff _GNU_SOURCE is used.) */
++extern char **environ;
++
+
+ /* Definition for the gpgrt_spawn_actions_t. Note that there is a
+ * different one for Windows. */
+--
+2.30.2
diff --git a/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild b/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild
index 1bb236621a91..34bcbed599b4 100644
--- a/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild
+++ b/dev-libs/libgpg-error/libgpg-error-1.47-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ EAPI=8
# 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
+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"
@@ -19,7 +19,7 @@ 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"
+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 )"
diff --git a/dev-libs/libgpg-error/libgpg-error-1.47.ebuild b/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
index 16e9fc190261..63ea4f058787 100644
--- a/dev-libs/libgpg-error/libgpg-error-1.47.ebuild
+++ b/dev-libs/libgpg-error/libgpg-error-1.48.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 @@ EAPI=8
# 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
+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"
@@ -41,7 +41,7 @@ MULTILIB_CHOST_TOOLS=(
)
PATCHES=(
- "${FILESDIR}/${PN}-1.44-remove_broken_check.patch"
+ "${FILESDIR}/${PN}-1.48-remove_broken_check.patch"
)
src_prepare() {
@@ -55,7 +55,7 @@ src_prepare() {
# 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
+ sed -i -e "1s:.*:#\!${BASH}:" autogen.sh || die
eautoreconf
}
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..d548590a1de7
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.49.ebuild
@@ -0,0 +1,89 @@
+# 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 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
+)
+
+src_prepare() {
+ default
+ elibtoolize
+
+ if use prefix ; then
+ # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
+ sed -i -e 's:INSTALLSHELLPATH=/usr/xpg4/bin/sh:INSTALLSHELLPATH=/bin/sh:g' configure.ac configure || die
+ fi
+
+ # This check breaks multilib
+ cat <<-EOF > src/gpg-error-config-test.sh.in || die
+ #!@INSTALLSHELLPATH@
+ exit 0
+ EOF
+
+ # 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.50.ebuild b/dev-libs/libgpg-error/libgpg-error-1.50.ebuild
new file mode 100644
index 000000000000..d4e25d29aa8c
--- /dev/null
+++ b/dev-libs/libgpg-error/libgpg-error-1.50.ebuild
@@ -0,0 +1,93 @@
+# 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 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}"/${P}-environ.patch
+)
+
+src_prepare() {
+ default
+ elibtoolize
+
+ if use prefix ; then
+ # don't hardcode /usr/xpg4/bin/sh as shell on Solaris
+ sed -i -e 's:INSTALLSHELLPATH=/usr/xpg4/bin/sh:INSTALLSHELLPATH=/bin/sh:g' configure.ac configure || die
+ fi
+
+ # This check breaks multilib
+ cat <<-EOF > src/gpg-error-config-test.sh.in || die
+ #!@INSTALLSHELLPATH@
+ exit 0
+ EOF
+
+ # 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 05f90b582be0..42766fc08d6a 100644
--- a/dev-libs/libgpiod/Manifest
+++ b/dev-libs/libgpiod/Manifest
@@ -1,4 +1,3 @@
-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.0.2.tar.xz 408672 BLAKE2B aa63edc12ad4a473dcf753160d4c6d8b1ebe7b99afe6fa60b968975e10f943d57bd75ff039732d3c26be6ff5e044ce8e0638ea3e21625e4d298b6005bf442a3a SHA512 3e92fe8b52da20abc89dd857a10f0e7fef77663a7a6cbcd7471f49843d54e9a053fa150a3f5b200f220a1a40c2ded010c271deba796fbc0775010d980a7083f1
-DIST libgpiod-2.1.tar.xz 421132 BLAKE2B 97f43854070f19b37f4041c08d33c8156d69a3acd73845849f843223d159602ad8aa59096e1c8a3428bf16488272353a5747c6c95b9f729cb11e53ceeb6b29c2 SHA512 1c20a93fb2a6cf66f4690a5784ac1aeb077ca3da23c1942448f045972092468480e13b13174f327b3b7252bef5f23ffd226c990f11529b1151ba2dc318a47e52
+DIST libgpiod-2.1.1.tar.xz 421164 BLAKE2B 940f2af832a0fc39accecd9cf76864d05f961c0d2e4899d09dc07670bb2a8d8c2704fa43e29e2163f2b486ba65cadce2114f96cf0e7637afece99c543852305f SHA512 d396f1b8f632c3592b2be37e23e5052f4050ab5c1a9de77de5f97ce50fa3115c119dd69b0bbcf59621e92b775bfc81f18a65cca1e57e022752d28c0e01baff6f
+DIST libgpiod-2.1.2.tar.xz 419964 BLAKE2B 62b1df3af28d0ab4988101f6bcbce750fd5bd7db874a34c196630bc8badaefc8e3c5c60bbf3c4dfff074d4d2f681d3339fc32c9eeecf395b595b91e5727572e5 SHA512 e921ac34692d5ae92a29592e2103229a8b0afcdcfa750e30fbd292554cd2e59fd51aefc8fa2ad1c9ad5ea4a93bb3443e8f6e8f4f1537109b263aba33317106f3
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.3-r4.ebuild b/dev-libs/libgpiod/libgpiod-1.6.3-r4.ebuild
deleted file mode 100644
index edd9c253a6f3..000000000000
--- a/dev-libs/libgpiod/libgpiod-1.6.3-r4.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 linux-info
-
-DESCRIPTION="C library and tools for interacting with the linux GPIO character device"
-HOMEPAGE="https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/"
-SRC_URI="https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-# Reflects the ABI of libgpiod.so
-SLOT="0/2"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-IUSE="+tools cxx python test"
-RESTRICT="!test? ( test )"
-
-# --enable-tests enable libgpiod tests [default=no]
-# --enable-bindings-cxx enable C++ bindings [default=no]
-# --enable-bindings-python
-DEPEND="
- test? (
- >=dev-libs/glib-2.50
- >=sys-apps/kmod-18
- >=sys-apps/util-linux-2.33.1
- >=virtual/libudev-215
- )
-"
-
-pkg_setup() {
- CONFIG_CHECK="~GPIO_CDEV_V1"
- linux-info_pkg_setup
-}
-
-src_configure() {
- local myconf=(
- $(use_enable tools)
- $(use_enable cxx bindings-cxx)
- $(use_enable test tests)
- $(use_enable python bindings-python)
- )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
-
- find "${D}" -name '*.la' -type f -delete || die
- find "${D}" -name "*.a" -delete || die
-}
diff --git a/dev-libs/libgpiod/libgpiod-1.6.4.ebuild b/dev-libs/libgpiod/libgpiod-1.6.4.ebuild
index 89067dc6f4b6..cab36b424ecb 100644
--- a/dev-libs/libgpiod/libgpiod-1.6.4.ebuild
+++ b/dev-libs/libgpiod/libgpiod-1.6.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ 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"
+KEYWORDS="amd64 arm arm64 ~riscv x86"
IUSE="+tools cxx python test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libgpiod/libgpiod-2.1.ebuild b/dev-libs/libgpiod/libgpiod-2.1.1.ebuild
index 94df11b5ec4b..f9552379a641 100644
--- a/dev-libs/libgpiod/libgpiod-2.1.ebuild
+++ b/dev-libs/libgpiod/libgpiod-2.1.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit linux-info
+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/"
@@ -26,14 +26,25 @@ DEPEND="
>=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)
diff --git a/dev-libs/libgpiod/libgpiod-2.0.2.ebuild b/dev-libs/libgpiod/libgpiod-2.1.2.ebuild
index 94df11b5ec4b..63f9fafa352e 100644
--- a/dev-libs/libgpiod/libgpiod-2.0.2.ebuild
+++ b/dev-libs/libgpiod/libgpiod-2.1.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit linux-info
+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/"
@@ -26,6 +26,7 @@ DEPEND="
>=sys-apps/kmod-18
>=sys-apps/util-linux-2.33.1
>=virtual/libudev-215
+ cxx? ( <dev-cpp/catch-3.5:0 )
)
"
@@ -34,6 +35,11 @@ pkg_setup() {
linux-info_pkg_setup
}
+src_prepare() {
+ default
+ eautoreconf
+}
+
src_configure() {
local myconf=(
$(use_enable tools)
diff --git a/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild b/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
index bbdd40983f99..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-2023 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"
diff --git a/dev-libs/libgudev/files/238-clang18-export-dynamic.patch b/dev-libs/libgudev/files/238-clang18-export-dynamic.patch
new file mode 100644
index 000000000000..8894f0116ed0
--- /dev/null
+++ b/dev-libs/libgudev/files/238-clang18-export-dynamic.patch
@@ -0,0 +1,37 @@
+From a354fcbb911220965f737d38fefe700f7b941cf8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 Jan 2024 12:02:46 -0800
+Subject: [PATCH] meson: Pass --export-dynamic option to linker
+
+Bypass the compiler driver trying to comprehend and translate it for
+linker, since its not clear what the right behavior should be, gcc seems
+to translate it into --export-dynamic but clang 18+ rejects it
+
+| x86_64-yoe-linux-clang: error: unknown argument: '-export-dynamic'
+
+also see [1]
+
+This makes it work as intended across gcc and clang
+
+[1] https://discourse.llvm.org/t/clang-option-export-dynamic-parse-to-e-xport-dynamic-error/72454
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gudev/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gudev/meson.build b/gudev/meson.build
+index e904203..3ed580b 100644
+--- a/gudev/meson.build
++++ b/gudev/meson.build
+@@ -33,7 +33,7 @@ libgudev_c_args = [
+ ]
+
+ libgudev_link_args = [
+- '-export-dynamic',
++ '-Wl,--export-dynamic',
+ '-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir),
+ ]
+
+--
+GitLab
+
diff --git a/dev-libs/libgudev/libgudev-238-r2.ebuild b/dev-libs/libgudev/libgudev-238-r2.ebuild
new file mode 100644
index 000000000000..7e9eb935f5a6
--- /dev/null
+++ b/dev-libs/libgudev/libgudev-238-r2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2015-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson-multilib
+
+DESCRIPTION="GObject bindings for libudev"
+HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
+SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="introspection test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
+ >=virtual/libudev-251:=[sticky-tags(+),${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-util/umockdev[${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ dev-util/glib-utils
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-clang18-export-dynamic.patch #926350
+)
+
+multilib_src_configure() {
+ local emesonargs=(
+ $(meson_native_use_feature introspection)
+ -Dgtk_doc=false
+ $(meson_feature test tests)
+ -Dvapi=disabled
+ )
+ meson_src_configure
+}
+
+src_test() {
+ # libsandbox interferes somehow.
+ # There are no access violations, but tests fail.
+ # https://bugs.gentoo.org/805449
+ local -x SANDBOX_ON=0
+ meson-multilib_src_test
+}
diff --git a/dev-libs/libgusb/Manifest b/dev-libs/libgusb/Manifest
index e5d062aefbc4..3fd71e68eff3 100644
--- a/dev-libs/libgusb/Manifest
+++ b/dev-libs/libgusb/Manifest
@@ -1,2 +1 @@
-DIST libgusb-0.4.6.tar.xz 50660 BLAKE2B 4a2d0f502609f487ca84d970a157cb35c5fc1676a074a868ecb269f2028c39d2ad581a156054987095eb869d7edd7572921b188005262dce12ae3b83271f14dc SHA512 586650f1694cdac50d08f53b117686c38a1be19468ebbf56baa7fc13482f07e0f67c854807b827b6410b094409e117e46afd8cf2706f1390076ad34978b871c1
-DIST libgusb-0.4.7.tar.xz 51448 BLAKE2B 126d7723e7f47cf1ee4780aaf627c15e8e04a95a765f5c68578d6a31ec1d69578af05b6687224399e657dfaf2f983bad5415b05c19c3334cfc7fc06a58f0a27e SHA512 38f8d4989e3adc46013a9e8ca42511c5de9bbaf23a11654eb47d7c9a9c64b90f0213b77916f8ebd1e6c246aaafa0e1574bb72a19170ae9efa2af9e3f86a4e210
+DIST libgusb-0.4.8.tar.xz 51632 BLAKE2B f904bb8a0766a61b0e7d6e5e80d7f0eed5c44537065db2b9bf33cd694fcaa58d93a7cdec37802fd278c2eb7ad2e4de79cd492baa1ead373e31e4d75488999e1e SHA512 b6446761ba4a19b8e7b7fc2bcf26064c89a574c328b794eb3f1723ef71b4100447c5b024bd8163c4e42af935ce0b7e11b93b722871061f7115da0003cc14b001
diff --git a/dev-libs/libgusb/libgusb-0.4.7.ebuild b/dev-libs/libgusb/libgusb-0.4.7.ebuild
deleted file mode 100644
index 6dd274c99bd4..000000000000
--- a/dev-libs/libgusb/libgusb-0.4.7.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_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit meson-multilib python-any-r1 vala
-
-DESCRIPTION="GObject wrapper for libusb"
-HOMEPAGE="https://github.com/hughsie/libgusb"
-SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-IUSE="gtk-doc +introspection test +vala"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- sys-apps/hwdata
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- gtk-doc? ( dev-util/gi-docgen )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
- use vala && vala_setup
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=shared
- $(meson_use test tests)
- $(meson_native_use_bool vala vapi)
- -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
- $(meson_feature test umockdev)
-
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
- fi
-}
diff --git a/dev-libs/libgusb/libgusb-0.4.6.ebuild b/dev-libs/libgusb/libgusb-0.4.8.ebuild
index 46b3e0a83456..986ca1a121f6 100644
--- a/dev-libs/libgusb/libgusb-0.4.6.ebuild
+++ b/dev-libs/libgusb/libgusb-0.4.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-libs/libgweather/Manifest b/dev-libs/libgweather/Manifest
index cd10129a8c4f..9a4ea496fc79 100644
--- a/dev-libs/libgweather/Manifest
+++ b/dev-libs/libgweather/Manifest
@@ -1,2 +1 @@
-DIST libgweather-4.2.0.tar.xz 2752164 BLAKE2B 9cc51363d6a2a09497269760701e0e0c1beb68c0096262fb6e2885414f838b41c151df7b057def457fdd49f9036d853ab624a9683a5cf57bbdefaed5376fe69f SHA512 cd95c6714575c0afc52455bb99c9116af27716868648debe0e5309904cfaf7516cf2379e415b3d9dd57b5dd223bae8e8acbaf705a3867dad8f75aec22eea908e
-DIST libgweather-4.4.0.tar.xz 2808680 BLAKE2B d3bfabd7936a5dc5f6f77cbb5acb3a7b80cebe1f08ff48582e1609cad04051ce8b84959c27576c928233e4625db8831c99d049378908cbe562b48221b6f37392 SHA512 dd232d36b168132a7c7cf06ffff16e88eb6e3e9e003e39b975df3d294ada401ab7d34de386dcc53452de6b0f8c68ff7f0cf6a94492e353828e00d4a1204b5d00
+DIST libgweather-4.4.2.tar.xz 2827456 BLAKE2B de53257f15b5b0e38bd41ccf69665e701065db85d144853831f409cd1a7116482bb374a858b022f9fb5eb167203bb393fa4a9087ab2c2272ba1b83dec3efcbb0 SHA512 66012af9bc50dfbb8cdb3d8b1ad7c72b5e8e012d8bbaa5a8d7a841f4bd5b2ebe0a490cc7ea256ea5e1d218f328da8826fb2345aa848fd961da271e64cdf330ad
diff --git a/dev-libs/libgweather/libgweather-4.4.0.ebuild b/dev-libs/libgweather/libgweather-4.4.0.ebuild
deleted file mode 100644
index ceccb46337ad..000000000000
--- a/dev-libs/libgweather/libgweather-4.4.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_{10..12} )
-
-inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
-
-DESCRIPTION="Location and timezone database and weather-lookup library"
-HOMEPAGE="https://wiki.gnome.org/Projects/LibGWeather"
-
-LICENSE="GPL-2+"
-SLOT="4/4-0" # subslot = 4-(libgweather-4 soname suffix)
-
-IUSE="gtk-doc +introspection test +vala"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- vala? ( introspection )
- gtk-doc? ( introspection )
-"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-libs/glib-2.68.0:2
- >=net-libs/libsoup-2.99.2:3.0
- sci-geosciences/geocode-glib:2
- >=dev-libs/libxml2-2.6.0:2
- dev-libs/json-glib
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? ( >=dev-util/gi-docgen-2021.6 )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/pygobject[${PYTHON_USEDEP}]')
- vala? ( $(vala_depend) )
-"
-
-python_check_deps() {
- python_has_version -b "dev-python/pygobject[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- gnome2_environment_reset
- use vala && vala_setup
- # The metar test requires network access
- if has network-sandbox ${FEATURES}; then
- sed -i -e '/metar/d' libgweather/tests/meson.build || die
- fi
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use vala enable_vala)
- $(meson_use gtk-doc gtk_doc)
- $(meson_use introspection)
- $(meson_use test tests)
- -Dsoup2=false
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/doc/libgweather-4.0 "${ED}"/usr/share/gtk-doc/ || die
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/dev-libs/libgweather/libgweather-4.2.0.ebuild b/dev-libs/libgweather/libgweather-4.4.2.ebuild
index d5bde73424fe..9df29f888f84 100644
--- a/dev-libs/libgweather/libgweather-4.2.0.ebuild
+++ b/dev-libs/libgweather/libgweather-4.4.2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
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 6ef45a335433..3cd57c8e58d1 100644
--- a/dev-libs/libical/Manifest
+++ b/dev-libs/libical/Manifest
@@ -1,2 +1 @@
-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/files/libical-3.0.4-tests.patch b/dev-libs/libical/files/libical-3.0.4-tests.patch
deleted file mode 100644
index 7ecf6e1f2d76..000000000000
--- a/dev-libs/libical/files/libical-3.0.4-tests.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3066463eb407853626277442eba725ddde58b843 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 6 Jan 2019 17:41:10 +0100
-Subject: [PATCH] Try to fix test dir path
-
----
- src/test/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt
-index b1179c2c..af7ce3fc 100644
---- a/src/test/CMakeLists.txt
-+++ b/src/test/CMakeLists.txt
-@@ -27,7 +27,7 @@ add_definitions(-DTEST_DATADIR=${TEST_DATADIR})
- macro(setprops _name)
- if(UNIX)
- set_tests_properties(${_name} PROPERTIES
-- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
-+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/src/test"
- )
- endif()
- if(WIN32)
---
-2.20.1
-
diff --git a/dev-libs/libical/libical-3.0.17.ebuild b/dev-libs/libical/libical-3.0.17.ebuild
deleted file mode 100644
index 118c158f3a0a..000000000000
--- a/dev-libs/libical/libical-3.0.17.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"
-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.18.ebuild
index a94709642f56..9570b50ca486 100644
--- a/dev-libs/libical/libical-3.0.16.ebuild
+++ b/dev-libs/libical/libical-3.0.18.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
VALA_USE_DEPEND="vapigen"
inherit cmake python-any-r1 vala
@@ -34,7 +34,7 @@ BDEPEND="
dev-lang/perl
virtual/pkgconfig
doc? (
- app-doc/doxygen[dot]
+ app-text/doxygen[dot]
glib? ( dev-util/gtk-doc )
)
introspection? ( dev-libs/gobject-introspection )
@@ -50,10 +50,7 @@ DOCS=(
doc/{AddingOrModifyingComponents.txt,UsingLibical.md}
)
-PATCHES=(
- "${FILESDIR}/${PN}-3.0.4-tests.patch"
- "${FILESDIR}/${PN}-3.0.11-pkgconfig-libdir.patch"
-)
+PATCHES=( "${FILESDIR}/${PN}-3.0.11-pkgconfig-libdir.patch" )
python_check_deps() {
python_has_version "dev-python/pygobject:3[${PYTHON_USEDEP}]"
@@ -65,8 +62,6 @@ pkg_setup() {
src_prepare() {
cmake_src_prepare
-
- use examples || cmake_comment_add_subdirectory examples
use vala && vala_setup
}
@@ -74,6 +69,7 @@ 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)
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 72e73e641e18..ff29a4109c4d 100644
--- a/dev-libs/libinput/Manifest
+++ b/dev-libs/libinput/Manifest
@@ -1 +1,2 @@
-DIST libinput-1.24.0.tar.bz2 810034 BLAKE2B 41c9f5d47153ed5a885ec95a7e1032ea3783ced1dd94b89c688dee0c09dd849185acec8c16841257b05b8a7e3a7857acc74140745a8de1eb7c171b6fb1ca4eac SHA512 924554d62d232f99851db51386653e67083b8f3b8203b5d848294c08880e1ba153f80699900210d1b5b31566a2ef6bd4aa0662f107a2dcaed1fe0f7e1fb784db
+DIST libinput-1.25.0.tar.bz2 812020 BLAKE2B 03034b6315c281d7eee6a7bc1f4c799c2c7f74add7a195501de75feb6b98fa8dc601b7573da5586b2b2882c3cfaddfad62f5c1b836402dce1f463bdb2884945d SHA512 b9dc3f3b5f34c82399dfb7ccb5f65d19a596c415f0198b39e3f360f5b87c42124a5355c8d9f6f42cc9ae2d4f9a90fe5da6260136fa83d278048392f93381a84b
+DIST libinput-1.26.1.tar.bz2 823409 BLAKE2B c9b807d40bb247330c31769cbcff1a2a506504ac952841463e5fb67717b5d002de204caa8be3298d3920c20a85c55b453a6d63a8940a6b0f088cb474f4fe73c0 SHA512 d4611fc75ee6091f3139134f348db79d710560c27a936c7a8c0dc50657d6e1bdbdb1b44fb4c2c668a5b45934d91d3aef336d4096806807354472b25e298cdab6
diff --git a/dev-libs/libinput/libinput-1.24.0.ebuild b/dev-libs/libinput/libinput-1.25.0.ebuild
index c55c0647e30c..00fdfcb82be1 100644
--- a/dev-libs/libinput/libinput-1.24.0.ebuild
+++ b/dev-libs/libinput/libinput-1.25.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2014-2023 Gentoo Authors
+# Copyright 2014-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson optfeature python-any-r1 udev
DESCRIPTION="Library to handle input devices in Wayland"
@@ -38,16 +38,17 @@ BDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
>=dev-python/sphinx-rtd-theme-0.2.4[${PYTHON_USEDEP}]
')
- >=app-doc/doxygen-1.8.3
+ >=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-util/valgrind )
+# test? ( dev-debug/valgrind )
python_check_deps() {
if use doc; then
@@ -61,6 +62,7 @@ python_check_deps() {
if use test; then
python_has_version \
"dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]" \
|| return
fi
}
diff --git a/dev-libs/libinput/libinput-1.26.1.ebuild b/dev-libs/libinput/libinput-1.26.1.ebuild
new file mode 100644
index 000000000000..bb8f414e33ec
--- /dev/null
+++ b/dev-libs/libinput/libinput-1.26.1.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 65aab49491be..fe3a242e1a81 100644
--- a/dev-libs/libintl/Manifest
+++ b/dev-libs/libintl/Manifest
@@ -1,10 +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.2.tar.xz 10238092 BLAKE2B 337597432af11ba082354e968fa7dd95aa6b568344b464d6bfb606d9f9bbe88fee035d39f29fdce62e28a9ece7da29cbde23093ca2af0cdd1955f26abd854036 SHA512 c5c24eca1c7e8e242e6b993a39068dc281b84fda7f06e5020dc7fc10ac7de5bfcc476b7e94711723a7f82cc7f5a0845616ddd553078ee69690e3a146fc3f8ae5
-DIST gettext-0.22.2.tar.xz.sig 833 BLAKE2B 47a3480c6ec5b379e2262588a358e69560477c5e8cdc13d82f879bf1c2381c4b176060e6e1d482b0a9b17d497ff5e7c1642646489f3829c879340b939d51de5c SHA512 b40f233d64001b13ab5d5b85bc87424bc873cbbd6e59e797997ed39404325a5a2dc945f7b6a3dfc25becaff788d5dd644779bf505d5141bfa437882931dcf22c
-DIST gettext-0.22.3.tar.xz 10236340 BLAKE2B 567945a9554f14729835b63587d0ae1e8c1a4538ec039243b525abe4bff9a30cd02d0ddb12f3475f27c6a2a0c6647e52201f2ea34ba60d1867c063c653718785 SHA512 ccfd17d664f02da58b91623845fde23b9763442cb988be979d814aff66d774db87ed7d8b27dcce84bf8f118d85d34f4782ce451c5d3cb5a9484161ba2c3f4209
-DIST gettext-0.22.3.tar.xz.sig 833 BLAKE2B a329a9b6d9bc8e7dfc4bda748624649f1a4d66fbe5ab4e61038e0e931d5838448bfd93a093b5f4fff8e86f446683ca660f47d8bfd2a0dc27f52f575daaa116ef SHA512 fd3fdbd78e5f86dd1e5d149cac7e7f1ee6c553e1c703bb141906116cb6e8603042128aa64a9dfc06c51841c5748c532219337735911e55c7c99306099fd5d719
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.tar.xz 10008808 BLAKE2B e91c82eb793897bd7ed727503e9d6e72a47027adf51ca76cf5c936437c434e910508814b1d03b12694c5e87156018683cb2c8cc51637b121313ed41155bcd3e5 SHA512 c6368344aa4e0f6fd7c4a93023a5f7b377c7bb97b8ea688fd54f4c385c069d9ff27611d8763b1aed6328b6d3c4db7b34bd89bfbf6525ecaef11eb58434a4d4fa
-DIST gettext-0.22.tar.xz.sig 833 BLAKE2B d1718f02100abc2c7c67e5c6a49000baee5244030fcef33f099fac255562211332b0c7838d329e2cdd2c99c5b4e5d4bfed6da81cdddd86a4adf9f24f626c8704 SHA512 2d4f0ea68150aa9f7da315545bd782f0c74d581ec89f60ca5138d069cc6ef0296f85df6e05f0c7f030dc8660a8db32529d237497473f6cef7c72034adcc58a9b
+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.22-r1.ebuild b/dev-libs/libintl/libintl-0.22-r1.ebuild
deleted file mode 100644
index 1a3e04b6ac49..000000000000
--- a/dev-libs/libintl/libintl-0.22-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: Keep version bumps in sync with sys-devel/gettext.
-
-EAPI=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"
-SRC_URI+=" verify-sig? ( mirror://gnu/gettext/${MY_P}.tar.xz.sig )"
-S="${WORKDIR}/${MY_P}/gettext-runtime"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs +threads"
-
-DEPEND=">=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]"
-# Block C libraries known to provide libintl.
-RDEPEND="
- ${DEPEND}
- !sys-libs/glibc
- !sys-libs/musl
- !<sys-devel/gettext-0.19.6-r1
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gettext )"
-
-src_prepare() {
- default
-
- cd "${WORKDIR}/${MY_P}" || die
-
- # 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)
- )
-
- # macOS linker/libtool seems to automatically hide all the symbols.
- # libintl only works with a symbol list and without -fvisibility=hidden.
- [[ ${CHOST} == *-darwin* ]] && export gl_cv_cc_visibility=no
-
- 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.2.ebuild b/dev-libs/libintl/libintl-0.22.2.ebuild
deleted file mode 100644
index 522df942dae7..000000000000
--- a/dev-libs/libintl/libintl-0.22.2.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Note: Keep version bumps in sync with sys-devel/gettext.
-
-EAPI=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.4.ebuild b/dev-libs/libintl/libintl-0.22.4.ebuild
index 522df942dae7..04a709a15046 100644
--- a/dev-libs/libintl/libintl-0.22.4.ebuild
+++ b/dev-libs/libintl/libintl-0.22.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Note: Keep version bumps in sync with sys-devel/gettext.
@@ -19,7 +19,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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+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.3.ebuild b/dev-libs/libintl/libintl-0.22.5.ebuild
index 522df942dae7..f3330a38b3c0 100644
--- a/dev-libs/libintl/libintl-0.22.3.ebuild
+++ b/dev-libs/libintl/libintl-0.22.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
# Note: Keep version bumps in sync with sys-devel/gettext.
@@ -32,6 +32,14 @@ RDEPEND="
"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gettext )"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # bug #898570
+ unreachable
+ MIN
+ alignof
+ static_assert
+)
+
src_prepare() {
default
diff --git a/dev-libs/libisoburn/libisoburn-1.5.6.ebuild b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
index e979b942b932..9da120f44b7a 100644
--- a/dev-libs/libisoburn/libisoburn-1.5.6.ebuild
+++ b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
@@ -1,15 +1,17 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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="http://files.libburnia-project.org/releases/${P}.tar.gz"
+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"
+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"
@@ -22,34 +24,49 @@ RDEPEND="
>=dev-libs/libburn-1.5.6
>=dev-libs/libisofs-1.5.6
readline? ( sys-libs/readline:0= )
- !readline? ( libedit? ( dev-libs/libedit ) )
+ !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 )
+ 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)
+ $(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() {
diff --git a/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild b/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
index 6f21bd00da7b..8a18790d28c3 100644
--- a/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild
+++ b/dev-libs/libisofs/libisofs-1.5.6_p1-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
@@ -6,9 +6,13 @@ 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="http://files.libburnia-project.org/releases/${MY_P}.tar.gz"
+SRC_URI="https://files.libburnia-project.org/releases/${MY_P}.tar.gz"
+
+S="${WORKDIR}/${MY_PF}"
LICENSE="GPL-2"
SLOT="0"
@@ -27,18 +31,23 @@ 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
+ $(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() {
diff --git a/dev-libs/libite/Manifest b/dev-libs/libite/Manifest
index 8f1da05be98d..d4e8a05c5d24 100644
--- a/dev-libs/libite/Manifest
+++ b/dev-libs/libite/Manifest
@@ -1 +1 @@
-DIST libite-2.5.3.tar.xz 315960 BLAKE2B 1edced83f353526b85bd121ae68b234880de35ffb96c12699ddc10bda22db1b8189fdfd43d0e0578ce913be4d4cdf5bf02b5175bbfcbb8299dfe6a1c391dfe18 SHA512 fe0c2168c2dfd87a8e68a50260467dae090fde82c9266f14c57630206216d880323a4dc1ec15cb0ca401dfe3d1ba71daa97caa0d9be9971af8b7ca5e7607e889
+DIST libite-2.6.1.tar.xz 318552 BLAKE2B 36716ef4224513ed175c272724f927b03de63587ea611a14ab80ecbe012db4982ed8f96089c0336960de6f1ff57e5a6d1a64db895a613a2b59021bcf0e896b08 SHA512 37320cc7093aad756b574e9415a3a2aed9d76a147720f2b6493a173943b4f2875723c6f4f1d79868e3bd5e312fd545349c7dbcd66a675cee4ee1fa9889bfc2ee
diff --git a/dev-libs/libite/libite-2.5.3.ebuild b/dev-libs/libite/libite-2.6.1.ebuild
index 91c25c54e4c0..91c25c54e4c0 100644
--- a/dev-libs/libite/libite-2.5.3.ebuild
+++ b/dev-libs/libite/libite-2.6.1.ebuild
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-r1.ebuild b/dev-libs/libixion/libixion-0.19.0.ebuild
index c80480a0bc02..13874bfc6440 100644
--- a/dev-libs/libixion/libixion-0.17.0-r1.ebuild
+++ b/dev-libs/libixion/libixion-0.19.0.ebuild
@@ -1,26 +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 python-single-r1
DESCRIPTION="General purpose formula parser & interpreter"
HOMEPAGE="https://gitlab.com/ixion/ixion"
if [[ ${PV} == *9999* ]]; then
- MDDS_SLOT="1/9999"
+ 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 ~riscv x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
LICENSE="MIT"
-SLOT="0/0.17" # based on SONAME of libixion.so
+SLOT="0/0.18" # based on SONAME of libixion.so
IUSE="debug python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/dev-libs/libixion/libixion-9999.ebuild b/dev-libs/libixion/libixion-9999.ebuild
index 274322f24718..ec4bffd84edf 100644
--- a/dev-libs/libixion/libixion-9999.ebuild
+++ b/dev-libs/libixion/libixion-9999.ebuild
@@ -1,26 +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 python-single-r1
DESCRIPTION="General purpose formula parser & interpreter"
HOMEPAGE="https://gitlab.com/ixion/ixion"
if [[ ${PV} == *9999* ]]; then
- MDDS_SLOT="1/2.1"
+ 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} )"
diff --git a/dev-libs/libjcat/Manifest b/dev-libs/libjcat/Manifest
index bec0d8663d85..6331f7ea2ef2 100644
--- a/dev-libs/libjcat/Manifest
+++ b/dev-libs/libjcat/Manifest
@@ -1 +1,2 @@
DIST libjcat-0.1.14.tar.gz 70018 BLAKE2B 71329e6fc04ef37e5af215c88b4a5a03fbd65143604da57b0357d4bd07896a22a98b9028d8529234655adb37e5cefe226d09d987e798bce17b47fef1e1142d1f SHA512 837a50ad31a736a36bd9df26b151c198e18873df0e7444502b7a6e26a86df15f1df970112f2dd22658960389fdfb78a2c601274e2b5c46ec82fceef5aad778c1
+DIST libjcat-0.2.1.tar.gz 76698 BLAKE2B 62f77c993e47843dddacc9a67b9daac9bd29bef7363ce62125ecd22f9649b8a5ce2de07d74ea6900e9a45feb141caa19761bcffd337530d86a31b6ed94cab164 SHA512 e29fdaae38ade2960ffa7ac3cd41224ccab5fdb351d2ae420ffe0cf0ddb948bba37e9e040cc3046c8593be4622bf018779dfa80f173873b79582061f12c02373
diff --git a/dev-libs/libjcat/libjcat-0.1.14.ebuild b/dev-libs/libjcat/libjcat-0.1.14.ebuild
index a607cdb3a6f5..6ea7c2221b23 100644
--- a/dev-libs/libjcat/libjcat-0.1.14.ebuild
+++ b/dev-libs/libjcat/libjcat-0.1.14.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 @@ 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"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ppc64 ~riscv x86"
IUSE="+gpg gtk-doc +introspection +man +pkcs7 test vala"
RDEPEND="dev-libs/glib:2
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 aa3846c8eacb..8df9436ac8e7 100644
--- a/dev-libs/libjcat/metadata.xml
+++ b/dev-libs/libjcat/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<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.
@@ -13,6 +10,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/libjodycode-3.1.ebuild b/dev-libs/libjodycode/libjodycode-3.1.ebuild
index 76fa041c7d71..81c3ce112d88 100644
--- a/dev-libs/libjodycode/libjodycode-3.1.ebuild
+++ b/dev-libs/libjodycode/libjodycode-3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/jbruchon/libjodycode/archive/refs/tags/v${PV}.tar.gz
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~arm64 ~riscv"
# missing test script
# https://github.com/jbruchon/jdupes/issues/191
diff --git a/dev-libs/libjwt/Manifest b/dev-libs/libjwt/Manifest
new file mode 100644
index 000000000000..c8e0cd1b9089
--- /dev/null
+++ b/dev-libs/libjwt/Manifest
@@ -0,0 +1 @@
+DIST libjwt-1.15.3.tar.gz 108461 BLAKE2B 76b113ba189b23cf254906f85aa16df0a3243554c1930ea8471942072aaa1539814df444e5f1d48693ff5147489b444505358f6bdd84a88928a8ab5f3e036110 SHA512 111052e4a424f3960383ee533503c633b7284e4283e5b50cb8d5ba1fae6012b6f142d58e7230af0ff731329822abc7c3ab551b635b81d1341d3d5025b32dfd9f
diff --git a/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch
new file mode 100644
index 000000000000..1217eb86c4e2
--- /dev/null
+++ b/dev-libs/libjwt/files/libjwt-1.15.3_multi_ssl_atools.patch
@@ -0,0 +1,342 @@
+From: https://github.com/dekeonus/libjwt/tree/feat-multi-ssl
+
+Enables multiple ssl implemtations to be installed at the same time
+default libjwt will default to linking to openssl (if openssl enabled)
+
+
+diff --git a/configure.ac b/configure.ac
+index be848df..3b61e2a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,27 +6,105 @@ LT_INIT([])
+ AC_CONFIG_MACRO_DIR([m4])
+ AC_CONFIG_HEADERS([libjwt/config.h])
+
++AC_SUBST([LIBJWT_LTVERSION], [11:0:9])
+ AC_SUBST([AM_CFLAGS], [-Wall])
+
+-dnl Prefer OpenSSL unless asked to ignore it
++dnl Build with OpenSSL when asked
+ AC_ARG_WITH([openssl],
+- AS_HELP_STRING([--without-openssl], [Ignore presence of OpenSSL libraries and use GnuTLS]))
+-
+-AS_IF([test "x$with_openssl" != "xno"], [
+- PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8])
+- AM_CONDITIONAL([HAVE_OPENSSL], [true])
+-], [
+- PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8])
+- AM_CONDITIONAL([HAVE_OPENSSL], [false])
++ AS_HELP_STRING([--with-openssl], [Build using OpenSSL library]),
++ [with_openssl=$withval],
++ [blank_openssl=yes])
++
++dnl Build with GnutLS when asked
++AC_ARG_WITH([gnutls],
++ AS_HELP_STRING([--with-gnutls], [Build using GnuTLS library]),
++ [with_gnutls=$withval],
++ [blank_gnutls=yes])
++
++dnl If no with[out]-'ssl' default to openssl
++AS_IF([test "x$blank_openssl" = "xyes" -a "x$blank_gnutls" = "xyes"], [
++ with_openssl=yes
++])
++
++dnl emulate previous build, without-openssl means build with gnutls
++AS_IF([test "x$with_openssl" = "xno" -a "x$blank_gnutls" = "xyes"], [
++ with_gnutls=yes
++])
++
++AC_ARG_ENABLE([multi-ssl], AS_HELP_STRING([--enable-multi-ssl],
++ [Enable multiple ssl library implementations]),
++ [enable_multi_ssl=$enableval],
++ [enable_multi_ssl=no])
++
++AS_IF([test "x$enable_multi_ssl" = "xno"], [
++ AS_IF([test "x$with_openssl" = "xyes" -a "x$with_gnutls" = "xyes"], [
++AC_MSG_ERROR([You need to enable multi-ssl to support multiple ssl implementations concurrently])
++ ])
++])
++AM_CONDITIONAL([MULTI_SSL], [test "x$enable_multi_ssl" = "xyes"])
++
++AS_IF([test "x$with_openssl" = "xyes"], [
++ PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8], [found_openssl=yes])
++])
++AM_CONDITIONAL([HAVE_OPENSSL], [test "x$found_openssl" = "xyes"])
++
++AS_IF([test "x$with_gnutls" = "xyes"], [
++ PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.5.8], [found_gnutls=yes])
++])
++AM_CONDITIONAL([HAVE_GNUTLS], [test "x$found_gnutls" = "xyes"])
++
++AS_IF([test "x$found_openssl" != "xyes" -a "x$found_gnutls" != "xyes"], [
++ AC_MSG_ERROR([Neither openssl nor gnutls was found])
+ ])
+
++dnl work out default, or only, ssl library
++AC_MSG_CHECKING([which ssl library to use as default])
++AC_ARG_WITH([default-ssl], AS_HELP_STRING([--with-default-ssl@<:@=Lib@:>@],
++ [set default ssl library [openssl|gnutls] for multi-ssl]),
++ [with_default_ssl=$withval],
++ [with_default_ssl=yes])
++dnl note, yes/blank case will require further nesting, if additional ssl lib support added
++AS_CASE([$with_default_ssl],
++ [openssl], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl],
++ [AC_MSG_ERROR([requested default ssl lib openssl, but openssl not found])]
++ )],
++ [gnutls], [AS_IF([test "x$found_gnutls" = "xyes"], [ssl_impl=gnutls],
++ [AC_MSG_ERROR([requested default ssl lib gnutls, but gnutls not found])]
++ )],
++ [no], [AC_MSG_ERROR([unsupported configuration --without-default-ssl])],
++ [yes], [AS_IF([test "x$found_openssl" = "xyes"], [ssl_impl=openssl],
++ [ssl_impl=gnutls])],
++ [AC_MSG_ERROR([Unknown ssl library $with_default_ssl])]
++)
++AC_MSG_RESULT([$ssl_impl])
++
+ AC_ARG_WITH([examples],
+ AS_HELP_STRING([--without-examples], [do not build example programs]),
+- [],
++ [with_examples=$withval],
+ [with_examples=yes])
+
+ AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$with_examples" != "xno"])
+
++dnl should not reach default case, bail out if it triggers
++AS_CASE([$ssl_impl],
++ [openssl], [
++ AC_SUBST([SSL_DEF_LDFLAGS], [$OPENSSL_LDFLAGS])
++ AC_SUBST([SSL_DEF_INCLUDES], [$OPENSSL_INCLUDES])
++ AC_SUBST([SSL_DEF_CFLAGS], [$OPENSSL_CFLAGS])
++ AC_SUBST([SSL_DEF_LIBS], [$OPENSSL_LIBS])
++ ],
++ [gnutls], [
++ AC_SUBST([SSL_DEF_LDFLAGS], [$GNUTLS_LDFLAGS])
++ AC_SUBST([SSL_DEF_INCLUDES], [$GNUTLS_INCLUDES])
++ AC_SUBST([SSL_DEF_CFLAGS], [$GNUTLS_CFLAGS])
++ AC_SUBST([SSL_DEF_LIBS], [$GNUTLS_LIBS])
++ ],
++ [AC_MSG_ERROR([unable to set default ssl library])]
++)
++AM_CONDITIONAL([SSL_DEF_OPENSSL], [test "x$ssl_impl" = "xopenssl"])
++dnl currently unused, for additional ssl implementations
++dnl AM_CONDITIONAL([SSL_DEF_GNUTLS], [test "x$ssl_impl" = "xgnutls"])
++
+ PKG_CHECK_MODULES([JANSSON], [jansson >= 2.0])
+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [true], [true])
+
+@@ -44,6 +122,13 @@ DX_PDF_FEATURE(OFF)
+ DX_PS_FEATURE(OFF)
+ DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.cfg)
+
++
++AM_COND_IF([MULTI_SSL], [
++ AM_COND_IF([HAVE_OPENSSL],
++ [AC_CONFIG_FILES([libjwt/libjwt-ossl.pc])])
++ AM_COND_IF([HAVE_GNUTLS],
++ [AC_CONFIG_FILES([libjwt/libjwt-gnutls.pc])])
++ ])
+ AC_CONFIG_FILES([
+ Makefile
+ include/Makefile
+diff --git a/libjwt/Makefile.am b/libjwt/Makefile.am
+index 7621428..b837d53 100644
+--- a/libjwt/Makefile.am
++++ b/libjwt/Makefile.am
+@@ -4,17 +4,51 @@ lib_LTLIBRARIES = libjwt.la
+
+ libjwt_la_SOURCES = jwt.c base64.c
+
+-if HAVE_OPENSSL
++if SSL_DEF_OPENSSL
+ libjwt_la_SOURCES += jwt-openssl.c
+ else
++## SSL_DEF_GNUTLS
+ libjwt_la_SOURCES += jwt-gnutls.c
+ endif
+
++if MULTI_SSL
++if HAVE_OPENSSL
++lib_LTLIBRARIES += libjwt-ossl.la
++libjwt_ossl_la_SOURCES = jwt.c base64.c jwt-openssl.c
++endif
++if HAVE_GNUTLS
++lib_LTLIBRARIES += libjwt-gnutls.la
++libjwt_gnutls_la_SOURCES = jwt.c base64.c jwt-gnutls.c
++endif
++endif
++
+ # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+-libjwt_la_LDFLAGS = -version-info 11:0:9 $(OPENSSL_LDFLAGS) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
+-libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
+-libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
+-libjwt_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS)
++libjwt_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(SSL_DEF_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_la_CPPFLAGS = -I$(top_srcdir)/include $(SSL_DEF_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_la_CFLAGS = $(JANSSON_CFLAGS) $(SSL_DEF_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_la_LIBADD = $(JANSSON_LIBS) $(SSL_DEF_LIBS) $(CODE_COVERAGE_LDFLAGS)
++if MULTI_SSL
++if HAVE_OPENSSL
++libjwt_ossl_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(OPENSSL_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_ossl_la_CPPFLAGS = -I$(top_srcdir)/include $(OPENSSL_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_ossl_la_CFLAGS = $(JANSSON_CFLAGS) $(OPENSSL_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_ossl_la_LIBADD = $(JANSSON_LIBS) $(OPENSSL_LIBS) $(CODE_COVERAGE_LDFLAGS)
++endif
++if HAVE_GNUTLS
++libjwt_gnutls_la_LDFLAGS = -version-info $(LIBJWT_LTVERSION) $(GNUTLS_LDFLAGS) $(JANSSON_LDFLAGS) -no-undefined
++libjwt_gnutls_la_CPPFLAGS = -I$(top_srcdir)/include $(GNUTLS_INCLUDES) $(CODE_COVERAGE_CPPFLAGS) -Wall
++libjwt_gnutls_la_CFLAGS = $(JANSSON_CFLAGS) $(GNUTLS_CFLAGS) $(CODE_COVERAGE_CFLAGS) -D_GNU_SOURCE
++libjwt_gnutls_la_LIBADD = $(JANSSON_LIBS) $(GNUTLS_LIBS) $(CODE_COVERAGE_LDFLAGS)
++endif
++endif
+
+ pkgconfiglibdir = $(libdir)/pkgconfig
+ pkgconfiglib_DATA = libjwt.pc
++if MULTI_SSL
++if HAVE_OPENSSL
++pkgconfiglib_DATA += libjwt-ossl.pc
++endif
++if HAVE_GNUTLS
++pkgconfiglib_DATA += libjwt-gnutls.pc
++endif
++endif
+diff --git a/libjwt/libjwt-gnutls.pc.in b/libjwt/libjwt-gnutls.pc.in
+new file mode 100644
+index 0000000..63962ee
+--- /dev/null
++++ b/libjwt/libjwt-gnutls.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: JWT C Library
++Version: @PACKAGE_VERSION@
++
++Cflags: -I${includedir}
++Libs: -L${libdir} -ljwt-gnutls
++Libs.private: @JANSSON_LIBS@ @GNUTLS_LIBS@
+diff --git a/libjwt/libjwt-ossl.pc.in b/libjwt/libjwt-ossl.pc.in
+new file mode 100644
+index 0000000..98c0ebe
+--- /dev/null
++++ b/libjwt/libjwt-ossl.pc.in
+@@ -0,0 +1,12 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: JWT C Library
++Version: @PACKAGE_VERSION@
++
++Cflags: -I${includedir}
++Libs: -L${libdir} -ljwt-ossl
++Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@
+diff --git a/libjwt/libjwt.pc.in b/libjwt/libjwt.pc.in
+index 0c81d36..0bb64f4 100644
+--- a/libjwt/libjwt.pc.in
++++ b/libjwt/libjwt.pc.in
+@@ -9,4 +9,4 @@ Version: @PACKAGE_VERSION@
+
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -ljwt
+-Libs.private: @JANSSON_LIBS@ @OPENSSL_LIBS@
++Libs.private: @JANSSON_LIBS@ @SSL_DEF_LIBS@
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 58860ac..57a6444 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -10,6 +10,14 @@ TESTS = \
+ jwt_ec \
+ jwt_validate
+
++if MULTI_SSL
++if HAVE_OPENSSL
++include ossl_tests.mk
++endif
++if HAVE_GNUTLS
++include gnutls_tests.mk
++endif
++endif
+ check_PROGRAMS = $(TESTS)
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+diff --git a/tests/gnutls_tests.mk b/tests/gnutls_tests.mk
+new file mode 100644
+index 0000000..b16b8ef
+--- /dev/null
++++ b/tests/gnutls_tests.mk
+@@ -0,0 +1,32 @@
++## for jwttest in $(jwttests)
++## do
++## TESTS += $(sslimpl)_$(jwttest)
++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c
++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS)
++## done
++
++TESTS += gnutls_jwt_new
++gnutls_jwt_new_SOURCES = jwt_new.c
++gnutls_jwt_new_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_grant
++gnutls_jwt_grant_SOURCES = jwt_grant.c
++gnutls_jwt_grant_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_header
++gnutls_jwt_header_SOURCES = jwt_header.c
++gnutls_jwt_header_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_dump
++gnutls_jwt_dump_SOURCES = jwt_dump.c
++gnutls_jwt_dump_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_encode
++gnutls_jwt_encode_SOURCES = jwt_encode.c
++gnutls_jwt_encode_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_rsa
++gnutls_jwt_rsa_SOURCES = jwt_rsa.c
++gnutls_jwt_rsa_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_ec
++gnutls_jwt_ec_SOURCES = jwt_ec.c
++gnutls_jwt_ec_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++TESTS += gnutls_jwt_validate
++gnutls_jwt_validate_SOURCES = jwt_validate.c
++gnutls_jwt_validate_LDADD = -ljwt-gnutls $(CHECK_LIBS)
++
+diff --git a/tests/ossl_tests.mk b/tests/ossl_tests.mk
+new file mode 100644
+index 0000000..5c360c4
+--- /dev/null
++++ b/tests/ossl_tests.mk
+@@ -0,0 +1,32 @@
++## for jwttest in $(jwttests)
++## do
++## TESTS += $(sslimpl)_$(jwttest)
++## $(sslimpl)_$(jwttest)_SOURCES = $(jwttest).c
++## $(sslimpl)_$(jwttest)_LDADD = -ljwt-$(sslimpl) $(CHECK_LIBS)
++## done
++
++TESTS += ossl_jwt_new
++ossl_jwt_new_SOURCES = jwt_new.c
++ossl_jwt_new_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_grant
++ossl_jwt_grant_SOURCES = jwt_grant.c
++ossl_jwt_grant_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_header
++ossl_jwt_header_SOURCES = jwt_header.c
++ossl_jwt_header_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_dump
++ossl_jwt_dump_SOURCES = jwt_dump.c
++ossl_jwt_dump_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_encode
++ossl_jwt_encode_SOURCES = jwt_encode.c
++ossl_jwt_encode_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_rsa
++ossl_jwt_rsa_SOURCES = jwt_rsa.c
++ossl_jwt_rsa_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_ec
++ossl_jwt_ec_SOURCES = jwt_ec.c
++ossl_jwt_ec_LDADD = -ljwt-ossl $(CHECK_LIBS)
++TESTS += ossl_jwt_validate
++ossl_jwt_validate_SOURCES = jwt_validate.c
++ossl_jwt_validate_LDADD = -ljwt-ossl $(CHECK_LIBS)
++
diff --git a/dev-libs/libjwt/libjwt-1.15.3.ebuild b/dev-libs/libjwt/libjwt-1.15.3.ebuild
new file mode 100644
index 000000000000..35757c174d8b
--- /dev/null
+++ b/dev-libs/libjwt/libjwt-1.15.3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="JWT C Library"
+HOMEPAGE="https://github.com/benmcollins/libjwt"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/benmcollins/libjwt"
+else
+ SRC_URI="https://github.com/benmcollins/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MPL-2.0"
+SLOT="0"
+# openssl / gnutls set which ssl implementations to use (build libjwt-ossl.so / libjwt-gnutls.so)
+# IF openssl is enabled it will be the implementation used for libjwt.so
+# gnutls will only be used for libjwt.so if openssl is disabled
+IUSE="gnutls +openssl test"
+
+REQUIRED_USE="
+ || ( gnutls openssl )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/jansson
+ gnutls? (
+ net-libs/gnutls:=
+ )
+ openssl? (
+ dev-libs/openssl:=
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-libs/check )
+"
+
+PATCHES=(
+ "${FILESDIR}/libjwt-1.15.3_multi_ssl_atools.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-multi-ssl
+ $(use_with gnutls)
+ $(use_with openssl)
+ --with-default-ssl=$(usex openssl openssl gnutls)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libjwt/metadata.xml b/dev-libs/libjwt/metadata.xml
new file mode 100644
index 000000000000..b06eda457275
--- /dev/null
+++ b/dev-libs/libjwt/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>jaco@uls.co.za</email>
+ <name>Jaco Kroon</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>dek.devel@baisenvar.info</email>
+ <name>Bill Prendergast</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>nic@boet.cc</email>
+ <name>Nic Boet</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="openssl">Use openssl libs for crypto functions</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">benmcollins/libjwt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libkpass/libkpass-6-r2.ebuild b/dev-libs/libkpass/libkpass-6-r2.ebuild
index a1d6d59750cc..aa9235147b08 100644
--- a/dev-libs/libkpass/libkpass-6-r2.ebuild
+++ b/dev-libs/libkpass/libkpass-6-r2.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=8
DESCRIPTION="Libkpass is a C implementation to access KeePass 1.x format password databases"
HOMEPAGE="https://sourceforge.net/projects/libkpass/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
diff --git a/dev-libs/libksba/Manifest b/dev-libs/libksba/Manifest
index 34635a34e795..287f14a52a75 100644
--- a/dev-libs/libksba/Manifest
+++ b/dev-libs/libksba/Manifest
@@ -1,6 +1,6 @@
-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.4.tar.bz2 668445 BLAKE2B 639be954727e2c3a74e075c52090bc2d9998a149f168ede376520d83a7dfd776212ba2948270096b303803e9f41381747f73c8ec97117a4d743b8df49defef9a SHA512 07bc26584d1901b2975a02012d90084e3c247a7aeab56d7bcc7197ef0210ece0c4ffd5cb468b998ef696deadfcfdc5fa5dc367077863926503e8f7a8d06856a5
-DIST libksba-1.6.4.tar.bz2.sig 119 BLAKE2B 5b9edcf65eb7b46182144a8d17a1656ada93a8a7ce3106ea5f525ab3e892b078f9c723544c13702d6d3b40fefd2bff78dc0cfbc3b1a3c156ba18740ecfc42ce6 SHA512 fbf75e03b9e0e771027acfef8cc702744a0d1fe37ef285fcf6475d4a58f7936d3bc890ee3ffe923195152bbcede807ba721ac3fdfdd6d05a1a523416f64ff8c1
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
+DIST libksba-1.6.7.tar.bz2 706437 BLAKE2B 95f51bc9a0a7ee14b91089aded3a420cf2f986a1599e39e36dc46fd0b71bef465af9c6576c19516d0aadae67399eca69ae0448239216ba486812884ebefa1ae7 SHA512 60cb9df9f502ca479818f45b78c4bc2b78f6f359be2b8da489ea98f8896a43ab2c20cf97526b79a3220fb32f1701e62a6481fe61e91e567186ecf4f33d8e64d3
+DIST libksba-1.6.7.tar.bz2.sig 119 BLAKE2B 74b3fd7682ae526c7430fe3792f873838c366ec0de1d80b699370a8cefdfdfc386f883b1d45df8df62e64d9de992f4bbfa7f74cfbb38419694f1a11ff1d3110a SHA512 97df523f0640f8fed0c3c7603218058021475d5b0e47a36610aa88312a6bb5f302e1e2016f5721a9077d0d27b35b28c7c96d9843866c957c965b2c580d3ee60b
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 0f9d54de3559..000000000000
--- a/dev-libs/libksba/libksba-1.6.3.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
-
-# 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 toolchain-funcs 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.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_prepare() {
- default
-
- elibtoolize # necessary on Solaris for shared lib support
-}
-
-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[@]}"
-}
-
-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
index bf2dd08153c9..59e606b3c1d1 100644
--- a/dev-libs/libksba/libksba-1.6.5.ebuild
+++ b/dev-libs/libksba/libksba-1.6.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
@@ -20,13 +20,13 @@ 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"
+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="
- sys-devel/bison
+ app-alternatives/yacc
verify-sig? ( sec-keys/openpgp-keys-gnupg )
"
diff --git a/dev-libs/libksba/libksba-1.6.4-r1.ebuild b/dev-libs/libksba/libksba-1.6.6.ebuild
index a48064d35f08..59e606b3c1d1 100644
--- a/dev-libs/libksba/libksba-1.6.4-r1.ebuild
+++ b/dev-libs/libksba/libksba-1.6.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
@@ -26,7 +26,7 @@ IUSE="static-libs"
RDEPEND=">=dev-libs/libgpg-error-1.33"
DEPEND="${RDEPEND}"
BDEPEND="
- sys-devel/bison
+ app-alternatives/yacc
verify-sig? ( sec-keys/openpgp-keys-gnupg )
"
diff --git a/dev-libs/libksba/libksba-1.6.4.ebuild b/dev-libs/libksba/libksba-1.6.7.ebuild
index 5433aee2179c..b02777ead934 100644
--- a/dev-libs/libksba/libksba-1.6.4.ebuild
+++ b/dev-libs/libksba/libksba-1.6.7.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,8 @@ EAPI=8
# any subsequent ones linked within so you're covered for a while.)
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
-inherit toolchain-funcs verify-sig libtool
+# 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"
@@ -19,13 +20,13 @@ 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"
+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="
- sys-devel/bison
+ app-alternatives/yacc
verify-sig? ( sec-keys/openpgp-keys-gnupg )
"
@@ -39,7 +40,7 @@ src_prepare() {
elibtoolize # necessary on Solaris for shared lib support
}
-src_configure() {
+my_src_configure() {
export CC_FOR_BUILD="$(tc-getBUILD_CC)"
local myeconfargs=(
@@ -53,7 +54,7 @@ src_configure() {
econf "${myeconfargs[@]}"
}
-src_install() {
+my_src_install() {
default
# People need to use ksba-config for --cflags and --libs
diff --git a/dev-libs/libliftoff/Manifest b/dev-libs/libliftoff/Manifest
index a8c10dec1933..0411a11032dc 100644
--- a/dev-libs/libliftoff/Manifest
+++ b/dev-libs/libliftoff/Manifest
@@ -1,2 +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
+DIST libliftoff-0.5.0.tar.gz 39076 BLAKE2B a5c35c734a5ba4049661ce336401bd88d393001d7c49786d486146998d39530c364f7752b53968f5ab48f5eb774fa9c4245087bdb016f459a729991377023f61 SHA512 ce808f6a087f1f629cfebef95bfc7e216a09fb409b96b3c9f6b84d9d986ce50c5d7bf5b45c68e8baa99566b3627d754c269855b6f4ec3be63ae7b9f5109d5f08
diff --git a/dev-libs/libliftoff/libliftoff-0.4.1.ebuild b/dev-libs/libliftoff/libliftoff-0.4.1.ebuild
index c70338fb9a4c..a43a4dde8bfe 100644
--- a/dev-libs/libliftoff/libliftoff-0.4.1.ebuild
+++ b/dev-libs/libliftoff/libliftoff-0.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ 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 ~riscv"
+KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-libs/libliftoff/libliftoff-0.3.0.ebuild b/dev-libs/libliftoff/libliftoff-0.5.0.ebuild
index bb61df9cef3f..7056705fe1a1 100644
--- a/dev-libs/libliftoff/libliftoff-0.3.0.ebuild
+++ b/dev-libs/libliftoff/libliftoff-0.5.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
@@ -8,9 +8,9 @@ inherit meson
DESCRIPTION="Lightweight KMS plane library"
HOMEPAGE="https://gitlab.freedesktop.org/emersion/libliftoff"
SRC_URI="https://gitlab.freedesktop.org/emersion/${PN}/-/releases/v${PV}/downloads/${P}.tar.gz"
-KEYWORDS="~amd64"
LICENSE="MIT"
SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
RDEPEND="
x11-libs/libdrm
diff --git a/dev-libs/libliftoff/metadata.xml b/dev-libs/libliftoff/metadata.xml
index 96b4fdc27920..f1762d449434 100644
--- a/dev-libs/libliftoff/metadata.xml
+++ b/dev-libs/libliftoff/metadata.xml
@@ -5,4 +5,7 @@
<email>chewi@gentoo.org</email>
<name>James Le Cuirot</name>
</maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">emersion/libliftoff</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-libs/liblist/Manifest b/dev-libs/liblist/Manifest
deleted file mode 100644
index 66420c8739c8..000000000000
--- a/dev-libs/liblist/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST liblist-2.4.tar.bz2 275234 BLAKE2B 2f18d8b85476bd9369ef597553a546450fd33b3f3b4486ca371e6efd810a51b23ca3880300e0ecf826e9a9e8591f2b90a6a0006d224b34552f77416a83f7175e SHA512 814a02e4e47de8d234e592b87156533c30563c64c3a7515712fb9b75119bcee21796232b2a5abf7e4ab892932fa256890ad175aecb75aad8fb4614c6f4fbe3dd
diff --git a/dev-libs/liblist/liblist-2.4-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 1f385d6b1315..30f47c85c63e 100644
--- a/dev-libs/liblouis/Manifest
+++ b/dev-libs/liblouis/Manifest
@@ -1,2 +1,3 @@
DIST liblouis-3.23.0.tar.gz 16738612 BLAKE2B b4508d27eaa9669bb2a1fbaac55edb3a85d3d2df18a8b26f4c9c396579b04614da3b3bcd6af45459d9129d2b81a920262dcb8fef7bee4290752174411fd66109 SHA512 25819758fc987ed378c439c5d40efd2692247a6020a40e5909320021e518e0518f5b022dda4ea5c7006a0f1ce2a4225d4ee1404560987bb2dd83504d58aa09db
DIST liblouis-3.25.0.tar.gz 16939419 BLAKE2B f67dc1ee3aa9eb32fcf0693b3a31d40c56f048b393785011ec2b4c61611a3ab67d181d1e76148c489e443e3b0c4d5f7846ac1b4810ffa2c6a6e1d081cceab6ae SHA512 4e6456f30e845b955e98346cb94bdd4eaa6aff30f3e29fbd4e91c5bb58d1182c679fbf8afa27d7031c80d5755ae8567b830fa57c175522a038ef18d1bdc0707d
+DIST liblouis-3.29.0.tar.gz 17073843 BLAKE2B b7735f4c59c46cef55f4748b54395b95f4f3623be37bd42bbed4249232d5ab4ad966e4f08945f91516be30f19735ed774411cfe4bc8e1c7822f04af2d0b0db27 SHA512 c2f51686e869921658a95a58102799ebcf45da9b73f7d81912462451236134be7c148b78f35a1e0586cd349bbcb62238218c9ae547092bed9303238c22963589
diff --git a/dev-libs/liblouis/liblouis-3.29.0.ebuild b/dev-libs/liblouis/liblouis-3.29.0.ebuild
new file mode 100644
index 000000000000..2392affc6e35
--- /dev/null
+++ b/dev-libs/liblouis/liblouis-3.29.0.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..13} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+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" # follows LIBLOUIS_CURRENT in configure.ac
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+# texlive-core for patgen which is required by lou_maketable
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-text/texlive-core
+ test? ( dev-libs/libyaml )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ sys-apps/help2man
+"
+
+src_prepare() {
+ default
+
+ #1. bug #913705
+ #2. Use correct python version
+ sed -i \
+ -e "s|\$CURDIR/lou_maketable.d|${EPREFIX}/usr/libexec/lou_maketable|" \
+ -e "s|python3|${EPYTHON}|" \
+ tools/lou_maketable.d/lou_maketable.in || die
+
+ pushd python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+}
+
+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
+
+ econf --enable-ucs4 $(use_with test yaml)
+}
+
+src_compile() {
+ default
+
+ 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
+}
+
+src_test() {
+ default
+
+ pushd python > /dev/null || die
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_test
+ popd > /dev/null || die
+}
+
+python_test() {
+ local -x LOUIS_TABLEPATH="${S}"/tables
+ "${EPYTHON}" tests/test_louis.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_scriptinto /usr/libexec/lou_maketable
+ python_doexe ../tools/lou_maketable.d/*.py
+}
+
+src_install() {
+ pushd python > /dev/null || die
+ LD_PRELOAD+=":${S}/liblouis/.libs/liblouis.so" distutils-r1_src_install
+ popd > /dev/null || die
+
+ # 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
+
+ # bug #913705
+ mkdir -p "${ED}"/usr/libexec/lou_maketable || die
+ mv "${ED}"/usr/bin/lou_maketable.d/*.{mk,pl,sh} "${ED}"/usr/libexec/lou_maketable/ || die
+ rm -r "${ED}"/usr/bin/lou_maketable.d || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libltdl/Manifest b/dev-libs/libltdl/Manifest
index d36ba6c57618..1fd702479965 100644
--- a/dev-libs/libltdl/Manifest
+++ b/dev-libs/libltdl/Manifest
@@ -1 +1,2 @@
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
+DIST libtool-2.5.0.tar.xz 1032148 BLAKE2B a166423dae1000eb0a8d17f3872ed55b3338444ac61f51752f43a5886bc22fd233e060c7f4c8c7fa093bf50e589f03b755c628199534ef7b8a41935e1bf9d887 SHA512 7b426fe9550a7899de93c372d2c355867be02f7bb39f2b1de06ff30cb34c81bf89759c835bdb23081cef60bfeb39b786ed90bac43e7300956fd8ee1f7dc0a609
diff --git a/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild b/dev-libs/libltdl/libltdl-2.4.7-r1.ebuild
index 9aa655f9c73e..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
@@ -18,7 +18,8 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
-# libltdl doesn't have a testsuite.
+# 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.5.0.ebuild
index 1569cce64211..0dc5df4fd2b2 100644
--- a/dev-libs/libltdl/libltdl-2.4.7.ebuild
+++ b/dev-libs/libltdl/libltdl-2.5.0.ebuild
@@ -1,29 +1,40 @@
-# 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
-# Please bump with sys-devel/libtool.
+# Please bump with dev-build/libtool.
-inherit multilib-minimal
+inherit multilib-minimal flag-o-matic
MY_P="libtool-${PV}"
DESCRIPTION="A shared library tool for developers"
HOMEPAGE="https://www.gnu.org/software/libtool/"
-SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
+if ! [[ $(( $(ver_cut 2) % 2 )) -eq 0 ]] ; then
+ SRC_URI="https://alpha.gnu.org/gnu/libtool/${MY_P}.tar.xz"
+else
+ SRC_URI="mirror://gnu/libtool/${MY_P}.tar.xz"
+ 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
+
S="${WORKDIR}"/${MY_P}/libltdl
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
-# libltdl doesn't have a testsuite.
+# libltdl doesn't have a testsuite. Don't bother trying.
+RESTRICT="test"
BDEPEND="app-arch/xz-utils"
multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
+ # bug #907427
+ filter-lto
+
+ append-lfs-flags
+ ECONF_SOURCE="${S}" \
+ econf \
--enable-ltdl-install \
$(use_enable static-libs static)
}
diff --git a/dev-libs/liblzw/liblzw-0.2-r1.ebuild b/dev-libs/liblzw/liblzw-0.2-r1.ebuild
index 199a30521694..0ee10d1aacfb 100644
--- a/dev-libs/liblzw/liblzw-0.2-r1.ebuild
+++ b/dev-libs/liblzw/liblzw-0.2-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="small C library for reading LZW compressed files (.Z)"
HOMEPAGE="https://github.com/vapier/liblzw"
-SRC_URI="mirror://sourceforge/freestdf/${P}.tar.lzma"
+SRC_URI="https://downloads.sourceforge.net/freestdf/${P}.tar.lzma"
LICENSE="public-domain"
SLOT="0"
diff --git a/dev-libs/liblzw/liblzw-0.3.ebuild b/dev-libs/liblzw/liblzw-0.3.ebuild
index 2526a2476407..0d1adf033737 100644
--- a/dev-libs/liblzw/liblzw-0.3.ebuild
+++ b/dev-libs/liblzw/liblzw-0.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"
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/vapier/liblzw/releases/download/v${PV}/${P}.tar.xz"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~m68k ~s390 ~x86"
+KEYWORDS="amd64 arm ~hppa ~ia64 ~m68k ~s390 x86"
IUSE="static-libs"
src_configure() {
diff --git a/dev-libs/liblzw/metadata.xml b/dev-libs/liblzw/metadata.xml
index a2512173cc43..53ca0eb36bd7 100644
--- a/dev-libs/liblzw/metadata.xml
+++ b/dev-libs/liblzw/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <name>Mike Frysinger</name>
- <email>vapier@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">freestdf</remote-id>
<remote-id type="github">vapier/liblzw</remote-id>
diff --git a/dev-libs/libmaa/libmaa-1.3.2-r1.ebuild b/dev-libs/libmaa/libmaa-1.3.2-r1.ebuild
index 6e6b092c09bb..af041142ac46 100644
--- a/dev-libs/libmaa/libmaa-1.3.2-r1.ebuild
+++ b/dev-libs/libmaa/libmaa-1.3.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,8 +6,8 @@ EAPI=7
inherit autotools
DESCRIPTION="Library with low-level data structures which are helpful for writing compilers"
-HOMEPAGE="http://www.dict.org/"
-SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
+HOMEPAGE="https://dict.org/"
+SRC_URI="https://downloads.sourceforge.net/dict/${P}.tar.gz"
LICENSE="LGPL-2"
SLOT="0"
diff --git a/dev-libs/libmaa/libmaa-1.4.7.ebuild b/dev-libs/libmaa/libmaa-1.4.7.ebuild
index 12297d2c986b..88b73f7bd877 100644
--- a/dev-libs/libmaa/libmaa-1.4.7.ebuild
+++ b/dev-libs/libmaa/libmaa-1.4.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,12 +6,12 @@ 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"
+HOMEPAGE="https://dict.org/"
+SRC_URI="https://downloads.sourceforge.net/dict/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/4"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~riscv ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
BDEPEND="dev-util/mk-configure"
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.7.ebuild
index f60d2061f5df..10c2fcc7c933 100644
--- a/dev-libs/libmanette/libmanette-0.2.6.ebuild
+++ b/dev-libs/libmanette/libmanette-0.2.7.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
diff --git a/dev-libs/libmateweather/Manifest b/dev-libs/libmateweather/Manifest
index 15f23c0ac215..14b9402f2110 100644
--- a/dev-libs/libmateweather/Manifest
+++ b/dev-libs/libmateweather/Manifest
@@ -1,2 +1,2 @@
-DIST libmateweather-1.26.0.tar.xz 2213064 BLAKE2B ae6670f60694627491890e3ff35550937f9b30431e3d6c48780e38c15a13d2a5812129e13c228f6a81004787e078ccc6c7410b75e17112f3afe993e5a7e061bd SHA512 e786071d8c9393abc6d8f0733bd213305ace50698066ba7913ac254d8944e6db94296de5ecf91c0d5a8babd38f0cc35cb3bcee046f1eb0339ec5429a66d062d1
-DIST libmateweather-1.26.1.tar.xz 2207404 BLAKE2B 5a5f9804193a50209d3aedc34ba5e605a286445bff624a36db03b94a2c05bd89dbd5c1dc076a694004e90a6c37739ec6a923712504c3ed683480acde0efd6511 SHA512 98cf2363c0bc75341d206d8848484e44665a35e3f01e7f75510555ab341fe06a3c96ea8e1844b17d5da7bc5a172cb18b594c8edfeb28ca8e25a82149ae508748
+DIST libmateweather-1.26.3.tar.xz 2211104 BLAKE2B b395d05ff462c1d175beba2e143889e771bf98008af724ab648b8aeb3f4760a753d4349d8b66d748242ef2d057811344d8493e12b61d0b2e56e5b3c2067d0eef SHA512 e9285e615e013b7371e738b74647652f5b0abf029f32ba02299e632d882e7d0ff3c41dcac834ddb5b2a4fc93782d67f9764f9abc99a7eb4a26ac07ae12d9cafd
+DIST libmateweather-1.28.0.tar.xz 2221808 BLAKE2B edd5a00e020a0dcb1edaee08720a70ac3d1c1e6e08d5a0fc8247f1cb3e44bc1c47b350a1bcaf23db23994ac9b0a077cc489b94f82c9922e407edea1fe7c2722c SHA512 ee89bd159beba2893b334fb603de2b852d97c382670628d8892eb2a74907950afe485455218ae4c6dc41338218b67dc78003da8ace61d1952451ae55e7e5e6d0
diff --git a/dev-libs/libmateweather/libmateweather-1.26.1.ebuild b/dev-libs/libmateweather/libmateweather-1.26.3.ebuild
index 4ed8428a156c..6150436bf89e 100644
--- a/dev-libs/libmateweather/libmateweather-1.26.1.ebuild
+++ b/dev-libs/libmateweather/libmateweather-1.26.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,8 @@ MATE_LA_PUNT="yes"
inherit mate
-if [[ ${PV} != 9999 ]]; then
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
fi
@@ -33,9 +34,9 @@ DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gtk-doc
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
>=sys-devel/gettext-0.19.8
- >=sys-devel/libtool-2.2.6:2
+ >=dev-build/libtool-2.2.6:2
virtual/pkgconfig
"
diff --git a/dev-libs/libmateweather/libmateweather-1.26.0.ebuild b/dev-libs/libmateweather/libmateweather-1.28.0.ebuild
index ab585932f04d..6150436bf89e 100644
--- a/dev-libs/libmateweather/libmateweather-1.26.0.ebuild
+++ b/dev-libs/libmateweather/libmateweather-1.28.0.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=7
+EAPI=8
MATE_LA_PUNT="yes"
inherit mate
-if [[ ${PV} != 9999 ]]; then
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
fi
@@ -33,9 +34,9 @@ DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gtk-doc
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
>=sys-devel/gettext-0.19.8
- >=sys-devel/libtool-2.2.6:2
+ >=dev-build/libtool-2.2.6:2
virtual/pkgconfig
"
diff --git a/dev-libs/libmateweather/metadata.xml b/dev-libs/libmateweather/metadata.xml
index c791169d4f89..bf554ceb7f0f 100644
--- a/dev-libs/libmateweather/metadata.xml
+++ b/dev-libs/libmateweather/metadata.xml
@@ -1,7 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>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>
</upstream>
diff --git a/dev-libs/libmaxminddb/Manifest b/dev-libs/libmaxminddb/Manifest
index 185e4596b630..881e4e8f4865 100644
--- a/dev-libs/libmaxminddb/Manifest
+++ b/dev-libs/libmaxminddb/Manifest
@@ -1,3 +1,4 @@
+DIST libmaxminddb-1.10.0.tar.gz 727713 BLAKE2B 72ea9ad9d87ffb61a2b85a16c0184a3eafa9aa5c9fb082982d13340cf113aa7f022dac20307ee52db826f4b5893e8033dd60c3e961899ce275f9c26f29e6f41e SHA512 5441310e96970a5dc7510eaf1261f890728c3f0e7435e245196bc29b2c6c511c3b2677d265825e1e011e291a94efe0fa8f7d69dbe003b3bfd032497da1fba38b
DIST libmaxminddb-1.5.2.tar.gz 604683 BLAKE2B 4dea7413be59169104adf3dc5dfe3e4f3bdb4639bbb4a0c6365d93216e279d505f01e32f737bf66d9f5b98f65f3eaefa46f630458bd6032a32be8c74acf12a1b SHA512 074ef6b62a74cede7be332eaeff5aa7442f43de92d39ea65b38430f0e1b65a5515f4343894ca5c28a7d50181eaec44e8db7083461b9e12e7014d2d1e0ff033b8
DIST libmaxminddb-1.6.0.tar.gz 605099 BLAKE2B 6868e42b8a166d75f6fa3a1da0fc2bd47a381ff960496ec9348b88c72b1bae180e3c0ce8989149e60d7d9c795d6baedb8e9d984098914064db985f2d201983c2 SHA512 9394e8dd959982d4ef5d15a928d32700722ed9d6c9988d9cc1bf2f4e67de0a53cc6987e90aaef3a6926c9ff36ac378f7a1fe47818fda4f5a3a22539210b2d004
DIST libmaxminddb-1.7.1.tar.gz 609542 BLAKE2B d67e09aecb1b250bae59c4165571e1ffdbea36e10a9994c5f26b5139fffab35b5e31dbe105b4f60eca3ed694177f623f471231d0b8b9d2777dd0daeb27596f17 SHA512 5ad6e5f20dd0fd094d2e44b950256e3e705f6b7d1a5ffcc08f46d92917a540ac23796c670fdd7292b040fd78d2fe0dc10b16cc07ae941b00140e6301d8c2ac30
diff --git a/dev-libs/libmaxminddb/libmaxminddb-1.10.0.ebuild b/dev-libs/libmaxminddb/libmaxminddb-1.10.0.ebuild
new file mode 100644
index 000000000000..4806b4c82d5e
--- /dev/null
+++ b/dev-libs/libmaxminddb/libmaxminddb-1.10.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="C library for the MaxMind DB file format"
+HOMEPAGE="https://github.com/maxmind/libmaxminddb"
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/maxmind/libmaxminddb.git"
+ inherit autotools git-r3
+else
+ SRC_URI="https://github.com/maxmind/libmaxminddb/releases/download/${PV}/${P}.tar.gz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/0.0.7"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-perl/IPC-Run3 )"
+
+DOCS=( Changes.md )
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == *9999 ]] ; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ tc-export AR CC
+
+ default
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libmaxminddb/libmaxminddb-9999.ebuild b/dev-libs/libmaxminddb/libmaxminddb-9999.ebuild
index 0b83ce40a0f6..4806b4c82d5e 100644
--- a/dev-libs/libmaxminddb/libmaxminddb-9999.ebuild
+++ b/dev-libs/libmaxminddb/libmaxminddb-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
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]] ; then
else
SRC_URI="https://github.com/maxmind/libmaxminddb/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~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-r5.ebuild
index df4485f0ce4b..e5e334234cd0 100644
--- a/dev-libs/libmba/libmba-0.9.1-r4.ebuild
+++ b/dev-libs/libmba/libmba-0.9.1-r5.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
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"
+HOMEPAGE="https://www.ioplex.com/~miallen/libmba/"
+SRC_URI="https://www.ioplex.com/~miallen/libmba/dl/${P}.tar.gz"
SLOT="0"
KEYWORDS="amd64 x86"
@@ -16,6 +16,7 @@ KEYWORDS="amd64 x86"
PATCHES=(
"${FILESDIR}"/${P}-qa.patch
"${FILESDIR}"/${P}-glibc-2.20.patch
+ "${FILESDIR}"/${P}-clang16-build-fix.patch
)
src_prepare() {
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/libmcrypt-2.5.8-r6.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild
index 040220a1d88a..811df19604d7 100644
--- a/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.ebuild
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r6.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
-inherit autotools
+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"
+SRC_URI="https://downloads.sourceforge.net/mcrypt/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
@@ -36,6 +36,14 @@ src_prepare() {
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-r4.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
index e7a928f6bc34..70f48ed9e326 100644
--- a/dev-libs/libmcrypt/libmcrypt-2.5.8-r4.ebuild
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.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=7
+EAPI=8
-inherit autotools
+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"
+SRC_URI="https://downloads.sourceforge.net/mcrypt/${P}.tar.gz"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
@@ -22,12 +22,32 @@ DOCS=(
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
- mv libltdl/configure.in libltdl/configure.ac
+
+ 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/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild b/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild
index c0bdd3b2fc42..ef402d87eff8 100644
--- a/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild
+++ b/dev-libs/libmemcached-awesome/libmemcached-awesome-1.1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,8 +22,8 @@ RDEPEND="!app-forensics/memdump
sasl? ( dev-libs/cyrus-sasl:2 )"
DEPEND="${RDEPEND}
test? ( net-misc/memcached )"
-BDEPEND="sys-devel/bison
- sys-devel/flex
+BDEPEND="app-alternatives/yacc
+ app-alternatives/lex
virtual/pkgconfig"
src_configure() {
diff --git a/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild b/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild
index 241101bc2743..5bb04c1d12a9 100644
--- a/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild
+++ b/dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://launchpad.net/${PN}/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="debug hsieh +libevent sasl"
# https://bugs.gentoo.org/498250
# https://bugs.launchpad.net/gentoo/+bug/1278023
diff --git a/dev-libs/libmirage/Manifest b/dev-libs/libmirage/Manifest
index b17cfb6fb590..35a009c5cc05 100644
--- a/dev-libs/libmirage/Manifest
+++ b/dev-libs/libmirage/Manifest
@@ -1,2 +1,2 @@
-DIST libmirage-3.2.6.tar.xz 229408 BLAKE2B 38402e37acf42e58fc896621cfb0f253a53b23eb8c783a900521fa8fb297fd3df8397b2f8d341e33fd7e0edcae9ac1a4e178cc9414498f27399b8e5f2a1984c5 SHA512 085ca774c047f845a61e9c1015f4b249073e72239c55dbb84c335799815cfe93b0c883c6e56cac3c0c11db009f44a6b48680c6fe6793dde63a5006cdbb627197
DIST libmirage-3.2.7.tar.xz 229564 BLAKE2B e1e02526fcd8daec8716e0457e38be68df9e13f8609e29772c2bee080ace7e5e76112c6ffb57719144a8c9acddc942dd44e827371ffe90673cd34b0ba0f74b08 SHA512 cbb2e98dca93009c9395d1d29dc529cf4cf912b64f166c0652ee4193c83f3e93ee1f4af623f8f0903ad1d77634fe89e5c3076d138678bcb84641880e1a1d1f76
+DIST libmirage-3.2.8.tar.xz 229616 BLAKE2B 37b662bbeff84144ee2ff2e6225af022cd031ef7db7734d22510cef6b1b9599c603c009c603fdb43fa13877858fc5871cd8c7fa68739f06dab60d910c9577db6 SHA512 ab4f099dd3a0a7705d7ee828cf023ab61185e3d5fbf324823a55ee604a008b66a206b8f666c0482b0eac6ac144a2421f04badd2e3e11dbc5e7bd2b211dcb2716
diff --git a/dev-libs/libmirage/libmirage-3.2.7.ebuild b/dev-libs/libmirage/libmirage-3.2.7.ebuild
index 140e2f693518..a634e95fadf5 100644
--- a/dev-libs/libmirage/libmirage-3.2.7.ebuild
+++ b/dev-libs/libmirage/libmirage-3.2.7.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0/11" # subslot = libmirage soname version
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="doc +introspection"
RDEPEND=">=app-arch/bzip2-1:=
diff --git a/dev-libs/libmirage/libmirage-3.2.6.ebuild b/dev-libs/libmirage/libmirage-3.2.8.ebuild
index 27a87fac9425..ec9d1a2848d6 100644
--- a/dev-libs/libmirage/libmirage-3.2.6.ebuild
+++ b/dev-libs/libmirage/libmirage-3.2.8.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 cmake xdg-utils
@@ -10,25 +10,30 @@ 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"
+SLOT="0/11"
+KEYWORDS="~amd64 ~x86"
IUSE="doc +introspection"
-RDEPEND=">=app-arch/bzip2-1:=
+DEPEND="
+ >=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}"
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )
+"
+RDEPEND="
+ ${DEPEND}
+"
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 )"
+ introspection? ( >=dev-libs/gobject-introspection-1.30 )
+"
DOCS=( AUTHORS README )
diff --git a/dev-libs/libmirage/metadata.xml b/dev-libs/libmirage/metadata.xml
index 503cdce610da..9ca78d7c3f4b 100644
--- a/dev-libs/libmirage/metadata.xml
+++ b/dev-libs/libmirage/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">cdemu</remote-id>
+ <remote-id type="github">cdemu/cdemu</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libmix/libmix-2.05-r7.ebuild b/dev-libs/libmix/libmix-2.05-r7.ebuild
index 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 926f07d48453..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 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~riscv x86"
IUSE="static-libs test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
index 38ae77d2aa73..d6fde3e9c93e 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
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="library to smooth charset/localization issues"
HOMEPAGE="http://natspec.sourceforge.net/"
-SRC_URI="mirror://sourceforge/natspec/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/natspec/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
@@ -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/libnfc/libnfc-1.8.0-r1.ebuild b/dev-libs/libnfc/libnfc-1.8.0-r1.ebuild
index afe0ceeb6565..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
@@ -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 c3489a869e4a..b5d2df84aae5 100644
--- a/dev-libs/libnl/Manifest
+++ b/dev-libs/libnl/Manifest
@@ -1,3 +1,4 @@
+DIST libnl-3.10.0.tar.gz 1116186 BLAKE2B 13383c4ef49be3bcf89122b24d1d5dc9834353aa7128f04f50993203add14aa7f97a4500164982ddcb82f481f7324a26efc2375036d5a23bfa62b15c4fe07473 SHA512 c95e79fba69308c63a08d0c576503b4398710ea9cd1d0097851500a7fbc5fbe87fb32ac281cf42bbfe57eab07b110055e6bc9b95d82244bba3df8a31fe562962
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/libnl-3.10.0.ebuild b/dev-libs/libnl/libnl-3.10.0.ebuild
new file mode 100644
index 000000000000..1c7d4454ac9e
--- /dev/null
+++ b/dev-libs/libnl/libnl-3.10.0.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Make sure to test USE=utils on bumps and update MULTILIB_WRAPPED_HEADERS if needed
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+inherit autotools distutils-r1 multilib-minimal
+
+LIBNL_P=${P/_/-}
+LIBNL_DIR=${PV/_/}
+LIBNL_DIR=${LIBNL_DIR//./_}
+
+DESCRIPTION="Libraries providing APIs to netlink protocol based Linux kernel interfaces"
+HOMEPAGE="https://www.infradead.org/~tgr/libnl/ https://github.com/thom311/libnl"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/thom311/libnl"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/thom311/${PN}/releases/download/${PN}${LIBNL_DIR}/${P/_rc/-rc}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ S="${WORKDIR}/${LIBNL_P}"
+fi
+
+LICENSE="LGPL-2.1 utils? ( GPL-2 )"
+SLOT="3"
+IUSE="+debug python test utils"
+# Tests fail w/ sandboxes
+# https://github.com/thom311/libnl/issues/361
+RESTRICT="!test? ( 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_test() {
+ CK_VERBOSITY=verbose emake check VERBOSE=1
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ # TODO: run python/tests/test-create-bridge.py
+ distutils-r1_src_test
+ 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.7.0.ebuild b/dev-libs/libnl/libnl-3.7.0.ebuild
index dc16175b64ac..c4bd28210037 100644
--- a/dev-libs/libnl/libnl-3.7.0.ebuild
+++ b/dev-libs/libnl/libnl-3.7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -27,7 +27,9 @@ fi
LICENSE="LGPL-2.1 utils? ( GPL-2 )"
SLOT="3"
IUSE="+debug python test utils"
-RESTRICT="!test? ( test )"
+# Tests fail w/ sandboxes
+# https://github.com/thom311/libnl/issues/361
+RESTRICT="!test? ( test ) test"
RDEPEND="python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
diff --git a/dev-libs/libnl/libnl-3.8.0.ebuild b/dev-libs/libnl/libnl-3.8.0.ebuild
index c72e4b01c347..c258b57d08bd 100644
--- a/dev-libs/libnl/libnl-3.8.0.ebuild
+++ b/dev-libs/libnl/libnl-3.8.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
@@ -22,7 +22,7 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ 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
@@ -30,7 +30,9 @@ fi
LICENSE="LGPL-2.1 utils? ( GPL-2 )"
SLOT="3"
IUSE="+debug python test utils"
-RESTRICT="!test? ( test )"
+# Tests fail w/ sandboxes
+# https://github.com/thom311/libnl/issues/361
+RESTRICT="!test? ( test ) test"
RDEPEND="python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
diff --git a/dev-libs/libnl/libnl-3.9.0.ebuild b/dev-libs/libnl/libnl-3.9.0.ebuild
index b80abc5153fd..157fe4e901fc 100644
--- a/dev-libs/libnl/libnl-3.9.0.ebuild
+++ b/dev-libs/libnl/libnl-3.9.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
@@ -8,7 +8,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools distutils-r1 multilib-minimal
LIBNL_P=${P/_/-}
@@ -22,7 +22,7 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ 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
@@ -30,7 +30,9 @@ fi
LICENSE="LGPL-2.1 utils? ( GPL-2 )"
SLOT="3"
IUSE="+debug python test utils"
-RESTRICT="!test? ( test )"
+# Tests fail w/ sandboxes
+# https://github.com/thom311/libnl/issues/361
+RESTRICT="!test? ( test ) test"
RDEPEND="python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
@@ -96,6 +98,17 @@ multilib_src_compile() {
fi
}
+multilib_src_test() {
+ CK_VERBOSITY=verbose emake check VERBOSE=1
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ # TODO: run python/tests/test-create-bridge.py
+ distutils-r1_src_test
+ popd > /dev/null || die
+ fi
+}
+
multilib_src_install() {
default
diff --git a/dev-libs/libnl/libnl-9999.ebuild b/dev-libs/libnl/libnl-9999.ebuild
index b80abc5153fd..1c7d4454ac9e 100644
--- a/dev-libs/libnl/libnl-9999.ebuild
+++ b/dev-libs/libnl/libnl-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
@@ -8,7 +8,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools distutils-r1 multilib-minimal
LIBNL_P=${P/_/-}
@@ -30,7 +30,9 @@ fi
LICENSE="LGPL-2.1 utils? ( GPL-2 )"
SLOT="3"
IUSE="+debug python test utils"
-RESTRICT="!test? ( test )"
+# Tests fail w/ sandboxes
+# https://github.com/thom311/libnl/issues/361
+RESTRICT="!test? ( test ) test"
RDEPEND="python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}"
@@ -96,6 +98,17 @@ multilib_src_compile() {
fi
}
+multilib_src_test() {
+ CK_VERBOSITY=verbose emake check VERBOSE=1
+
+ if multilib_is_native_abi && use python ; then
+ pushd python > /dev/null || die
+ # TODO: run python/tests/test-create-bridge.py
+ distutils-r1_src_test
+ popd > /dev/null || die
+ fi
+}
+
multilib_src_install() {
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.1.ebuild
index 38f54257b76b..4e8dfe5cdd78 100644
--- a/dev-libs/libnsutils/libnsutils-0.1.0-r1.ebuild
+++ b/dev-libs/libnsutils/libnsutils-0.1.1.ebuild
@@ -1,20 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit netsurf
-DESCRIPTION="C library for base64 and time"
-HOMEPAGE="http://www.netsurf-browser.org/"
+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"
-IUSE=""
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-BDEPEND="dev-util/netsurf-buildsystem"
+BDEPEND="dev-build/netsurf-buildsystem"
_emake() {
netsurf_define_makeconf
diff --git a/dev-libs/libnsutils/libnsutils-9999.ebuild b/dev-libs/libnsutils/libnsutils-9999.ebuild
index 6a87e0aecff0..b8854e0a0627 100644
--- a/dev-libs/libnsutils/libnsutils-9999.ebuild
+++ b/dev-libs/libnsutils/libnsutils-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
@@ -11,10 +11,8 @@ HOMEPAGE="https://www.netsurf-browser.org/"
EGIT_REPO_URI="https://git.netsurf-browser.org/${PN}.git"
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS=""
-IUSE=""
-BDEPEND="dev-util/netsurf-buildsystem"
+BDEPEND="dev-build/netsurf-buildsystem"
_emake() {
netsurf_define_makeconf
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/files/liboil-0.3.17-c99-configure.patch b/dev-libs/liboil/files/liboil-0.3.17-c99-configure.patch
new file mode 100644
index 000000000000..7feba8a24d99
--- /dev/null
+++ b/dev-libs/liboil/files/liboil-0.3.17-c99-configure.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/906533
+--- a/m4/as-unaligned-access.m4
++++ b/m4/as-unaligned-access.m4
+@@ -19,6 +19,7 @@ AC_DEFUN([AS_UNALIGNED_ACCESS], [
+ fi
+ if test x"$as_cv_unaligned_access" = x ; then
+ AC_TRY_RUN([
++#include <string.h>
+ int main(int argc, char **argv)
+ {
+ char array[] = "ABCDEFGH";
+--- a/configure
++++ b/configure
+@@ -12022,6 +12022,7 @@ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
++#include <string.h>
+ int main(int argc, char **argv)
+ {
+ char array[] = "ABCDEFGH";
diff --git a/dev-libs/liboil/liboil-0.3.17-r4.ebuild b/dev-libs/liboil/liboil-0.3.17-r5.ebuild
index 787cafe5a88e..cc494faf3d93 100644
--- a/dev-libs/liboil/liboil-0.3.17-r4.ebuild
+++ b/dev-libs/liboil/liboil-0.3.17-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
@@ -18,10 +18,13 @@ 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 )
+PATCHES=(
+ "${FILESDIR}"/${P}-amd64-cpuid.patch
+ "${FILESDIR}"/${P}-c99-configure.patch
+)
src_prepare() {
[[ ${CHOST} == *x32 ]] && PATCHES+=( "${FILESDIR}"/${PN}-0.3.17-x32.patch )
@@ -43,6 +46,8 @@ src_configure() {
strip-flags
filter-flags -O?
append-flags -O2
+ # bug #931004
+ filter-lto
# For use with Clang, which is the only compiler on OSX, bug #576646
[[ ${CHOST} == *-darwin* ]] && append-flags -fheinous-gnu-extensions
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/files/liborcus-0.17.2-gcc-14.patch b/dev-libs/liborcus/files/liborcus-0.17.2-gcc-14.patch
deleted file mode 100644
index a8455c9dff71..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.17.2-gcc-14.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://gitlab.com/orcus/orcus/-/commit/f5dca3b4f7c6ffda4b71e0ba9f7081ab2eec3405
-https://gitlab.com/orcus/orcus/-/issues/192
-https://bugs.gentoo.org/916582
-
-From f5dca3b4f7c6ffda4b71e0ba9f7081ab2eec3405 Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yoshida@gmail.com>
-Date: Thu, 26 Oct 2023 22:09:30 -0400
-Subject: [PATCH] Attempt to fix a build failure with GCC 14 as reported in #192
-
-diff --git a/src/spreadsheet/document.cpp b/src/spreadsheet/document.cpp
-index 1cf240a..562be32 100644
---- a/src/spreadsheet/document.cpp
-+++ b/src/spreadsheet/document.cpp
-@@ -32,6 +32,7 @@
- #include <fstream>
- #include <sstream>
- #include <map>
-+#include <algorithm>
-
- using namespace std;
- namespace fs = boost::filesystem;
diff --git a/dev-libs/liborcus/files/liborcus-0.17.2-python-optional.patch b/dev-libs/liborcus/files/liborcus-0.17.2-python-optional.patch
deleted file mode 100644
index 9473958c196a..000000000000
--- a/dev-libs/liborcus/files/liborcus-0.17.2-python-optional.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 14d15bf331b5cc3ca2c1cdb8097dfe918173cba1 Mon Sep 17 00:00:00 2001
-From: matoro <11910244-matoro3@users.noreply.gitlab.com>
-Date: Wed, 24 Aug 2022 13:42:27 -0400
-Subject: [PATCH] Only recurse into src/python when BUILD_PYTHON is set
-
----
- src/Makefile.am | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index d586299c..7e44aed8 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,4 +1,8 @@
--SUBDIRS = include test parser mso liborcus spreadsheet python
-+SUBDIRS = include test parser mso liborcus spreadsheet
-+
-+if BUILD_PYTHON
-+SUBDIRS += python
-+endif
-
- AM_CPPFLAGS = \
- -I$(top_srcdir)/include \
---
-GitLab
-
diff --git a/dev-libs/liborcus/liborcus-0.17.2-r1.ebuild b/dev-libs/liborcus/liborcus-0.19.2.ebuild
index bd813219cc60..8a3e66a9fe84 100644
--- a/dev-libs/liborcus/liborcus-0.17.2-r1.ebuild
+++ b/dev-libs/liborcus/liborcus-0.19.2.ebuild
@@ -1,26 +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"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
LICENSE="MIT"
-SLOT="0/0.17" # based on SONAME of liborcus.so
+SLOT="0/0.18" # based on SONAME of liborcus.so
IUSE="python +spreadsheet-model test tools"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -36,21 +36,11 @@ DEPEND="${RDEPEND}
dev-util/mdds:${MDDS_SLOT}
"
-PATCHES=(
- "${FILESDIR}"/${P}-clang.patch
- "${FILESDIR}"/${P}-gcc-13.patch
- "${FILESDIR}"/${P}-gcc-14.patch
- "${FILESDIR}"/${P}-python-optional.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
}
@@ -67,5 +57,6 @@ src_configure() {
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 53b0600bb160..3aecf4036ad7 100644
--- a/dev-libs/liborcus/liborcus-9999.ebuild
+++ b/dev-libs/liborcus/liborcus-9999.ebuild
@@ -1,26 +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.1"
+ 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"
- 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 liborcus.so
+SLOT="0/0.20" # based on SONAME of liborcus.so
IUSE="python +spreadsheet-model test tools"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -41,15 +41,13 @@ pkg_setup() {
}
src_prepare() {
- # bug 713586
- use test && eapply "${FILESDIR}/${P}-test-fix.patch"
-
default
eautoreconf
}
src_configure() {
local myeconfargs=(
+ --without-benchmark
--disable-werror
$(use_enable python)
$(use_enable spreadsheet-model)
@@ -60,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.ebuild b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
index c73b79eb6f4f..4ea3d257b157 100644
--- a/dev-libs/libotf/libotf-0.9.16.ebuild
+++ b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
@@ -1,16 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit autotools
DESCRIPTION="Library for handling OpenType fonts (OTF)"
-HOMEPAGE="http://www.nongnu.org/m17n/"
+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 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
@@ -20,14 +21,12 @@ RDEPEND=">=media-libs/freetype-2.4.9
x11-libs/libXt
)"
DEPEND="${RDEPEND}
- virtual/pkgconfig
X? (
x11-base/xorg-proto
x11-libs/libICE
x11-libs/libXmu
)"
-
-DOCS="AUTHORS ChangeLog NEWS README"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-0.9.13-build.patch
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/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-r4.ebuild b/dev-libs/libp11/libp11-0.4.12-r7.ebuild
index 309c9ed49b57..fb5a4c7faf18 100644
--- a/dev-libs/libp11/libp11-0.4.12-r4.ebuild
+++ b/dev-libs/libp11/libp11-0.4.12-r7.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,19 +11,24 @@ SRC_URI="https://github.com/OpenSC/${PN}/releases/download/${P}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc static-libs test"
RESTRICT="!test? ( test )"
RDEPEND="
- <dev-libs/openssl-3.1.4:=[bindist(+)]
+ >=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-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( >=dev-libs/opensc-0.23.0-r2 )
"
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.5.ebuild
index 5f78d9e4177c..79cdf371104a 100644
--- a/dev-libs/libparserutils/libparserutils-0.2.4-r3.ebuild
+++ b/dev-libs/libparserutils/libparserutils-0.2.5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic netsurf
@@ -16,7 +16,7 @@ IUSE="iconv test"
RESTRICT="!test? ( test )"
BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1
+ dev-build/netsurf-buildsystem
test? ( dev-lang/perl )
"
diff --git a/dev-libs/libpcre-debian/libpcre-debian-8-r2.ebuild b/dev-libs/libpcre-debian/libpcre-debian-8-r3.ebuild
index 01cd18656c14..ecc28e2f0357 100644
--- a/dev-libs/libpcre-debian/libpcre-debian-8-r2.ebuild
+++ b/dev-libs/libpcre-debian/libpcre-debian-8-r3.ebuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit multilib-minimal
DESCRIPTION="libpcre(posix).so.3 symlinks for compatibility with Debian"
-HOMEPAGE="http://www.pcre.org/"
+HOMEPAGE="https://www.pcre.org/"
+S="${WORKDIR}"
LICENSE="BSD"
SLOT="3"
@@ -14,8 +15,6 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="dev-libs/libpcre:${SLOT}[${MULTILIB_USEDEP}]"
-S="${WORKDIR}"
-
multilib_src_install() {
dosym ../$(multilib_is_native_abi && echo ../../$(get_libdir)/)libpcre.so.1 \
/usr/$(get_libdir)/debiancompat/libpcre.so.3
diff --git a/dev-libs/libpcre/libpcre-8.45-r1.ebuild b/dev-libs/libpcre/libpcre-8.45-r1.ebuild
index aacb5dc0edab..7705ae51633c 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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ HOMEPAGE="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
+ SRC_URI="https://downloads.sourceforge.net/pcre/${MY_P}.tar.bz2
https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
else
@@ -36,7 +36,7 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
BDEPEND="virtual/pkgconfig"
diff --git a/dev-libs/libpcre/libpcre-8.45-r2.ebuild b/dev-libs/libpcre/libpcre-8.45-r2.ebuild
index 2064f9bd6621..8c710120137f 100644
--- a/dev-libs/libpcre/libpcre-8.45-r2.ebuild
+++ b/dev-libs/libpcre/libpcre-8.45-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 @@ 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://downloads.sourceforge.net/pcre/${MY_P}.tar.bz2
https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
"
@@ -38,7 +38,7 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
BDEPEND="virtual/pkgconfig"
diff --git a/dev-libs/libpcre/libpcre-8.45-r3.ebuild b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
new file mode 100644
index 000000000000..e528590ffb70
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal preserve-libs
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://www.pcre.org/"
+MY_P="pcre-${PV/_rc/-RC}"
+if [[ ${PV} != *_rc* ]] ; then
+ # Only the final releases are available here.
+ SRC_URI="
+ https://downloads.sourceforge.net/pcre/${MY_P}.tar.bz2
+ https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
+ ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
+ "
+else
+ SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib"
+REQUIRED_USE="
+ readline? ( !libedit )
+ libedit? ( !readline )
+"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+BDEPEND="virtual/pkgconfig"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.45-fix-stack-size-detection.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+
+ # We do a full autoreconf because:
+ # - the software is end of life and never getting new dist tarballs
+ # - it uses a frankensteined "2.4.6.42-b88ce-dirty" libtool, which
+ # means elibtoolize can't find patches to apply
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(multilib_native_use_enable bzip2 pcregrep-libbz2)
+ $(use_enable cxx cpp)
+ $(use_enable jit)
+ $(use_enable jit pcregrep-jit)
+ $(use_enable pcre16)
+ $(use_enable pcre32)
+ $(multilib_native_use_enable libedit pcretest-libedit)
+ $(multilib_native_use_enable readline pcretest-libreadline)
+ $(use_enable static-libs static)
+ $(use_enable unicode utf)
+ $(use_enable unicode unicode-properties)
+ $(multilib_native_use_enable valgrind)
+ $(multilib_native_use_enable zlib pcregrep-libz)
+
+ --enable-pcre8
+ --enable-shared
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
+}
+
+multilib_src_install() {
+ emake \
+ DESTDIR="${D}" \
+ $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
+ install
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
diff --git a/dev-libs/libpcre2/Manifest b/dev-libs/libpcre2/Manifest
index f7ea84a4872d..44e0ea377ae5 100644
--- a/dev-libs/libpcre2/Manifest
+++ b/dev-libs/libpcre2/Manifest
@@ -1,2 +1,7 @@
+DIST libpcre2-10.44-32bit-tests.patch.xz 7024 BLAKE2B d8de8443a9ec165aa3b57384518c8bba06ded1c3d07d03d1451db07f4df13ee2514d055d4a4771162923a9845ac4694dd588ccdc773f0f3d013d7377581fe8b4 SHA512 bf8724db31b8cbdc631904cfdbcd1b2e66efa31f958a8919de0f3f03e129410e64e1274d28d0406c70b8a8ef49c3ed47712368bf9fd9ba2d3203afe4d4b104b7
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
+DIST pcre2-10.44.tar.bz2 1928086 BLAKE2B fb06228f8bdc5906ef4f19d7d677f1009070855149d9ad3f807cfcd164f5cb6165f96e074fedc3942226d4b29edf4b29fab6cde2f2ba58bf6da282730941412b SHA512 ee91cc10a2962bc7818b03d368df3dd31f42ea9a7260ae51483ea8cd331b7431e36e63256b0adc213cc6d6741e7c90414fd420622308c0ae3fcb5dd878591be2
+DIST pcre2-10.44.tar.bz2.sig 310 BLAKE2B a03943d4b04af319ca18992188c9fdd089fc20ef35207b09f2c859ab0090401a9bc140c653ee68a542984d26c0ec59f3ba72b0f9a9d6b3ae322b0823a440a21c SHA512 12dca6fb6ac3dbbe9e3625214b333d20d4ece4c2efa73ada292b178b17ea3640b4f068f2b4da2bea15f5368213e123837dea4e988170d1c6bf5b7afe04b3f8bc
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.42-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild
index 9d03f3ad4586..759b7d987085 100644
--- a/dev-libs/libpcre2/libpcre2-10.42-r1.ebuild
+++ b/dev-libs/libpcre2/libpcre2-10.42-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
@@ -35,7 +35,7 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
BDEPEND="
virtual/pkgconfig
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..1b77aa920e69
--- /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/libpcre2-10.44-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild
new file mode 100644
index 000000000000..720feb445c04
--- /dev/null
+++ b/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild
@@ -0,0 +1,117 @@
+# 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 multilib-minimal toolchain-funcs 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 )
+"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-32bit-tests.patch.xz"
+
+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
+ "${WORKDIR}"/${P}-32bit-tests.patch
+)
+
+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() {
+ default
+
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Workaround for bug #934977 (libtool-2.5.0), drop when dist tarball
+ # uses newer libtool with the fix.
+ export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file'
+
+ 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
+
+ # bug #934977
+ if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/libpcre2-8$(get_libname)" ]] ; then
+ eerror "Sanity check for libpcre2-8$(get_libname) failed."
+ eerror "Shared library wasn't built, possible libtool bug"
+ [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "libpcre2-8$(get_libname) not found in build, aborting"
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libpfm/Manifest b/dev-libs/libpfm/Manifest
index c28fc8a712d5..5bc7edb2faf3 100644
--- a/dev-libs/libpfm/Manifest
+++ b/dev-libs/libpfm/Manifest
@@ -1,2 +1,3 @@
DIST libpfm-4.11.0.tar.gz 1043686 BLAKE2B 99b4f1a5156316139603cf50cf42c13c548a0b196435bfc92bc26ebd3f8d7ec9584255978d4f3fbff45cddc937269961e9d2b65d065632ae635e9ca45c179a54 SHA512 633035b8a7b35973437572095cdc80d422b2a1a61e74e14f106db95fa8e44e4518e591699cc457f828b8f2fb63f60eef6d0c7535c6b4c9a6c3a70d4550b3c3c7
DIST libpfm-4.12.0.tar.gz 1109288 BLAKE2B 035133d98305317b8331de9f3d986bf37b290cc80d2b944e9bac1c48a8659984ac190a0af1abe64bd9e0fee465f31ca11e3a35702f8a8da8a8a480a1aa625ac7 SHA512 dc47d862d619241db4a077a98b3f71a68f04be1be41e10c7b7dd2e596e6c79e9e0ff1d1028798dfb280553f98296b4b57339b4e6675749e1497dc1c9de06d9f8
+DIST libpfm-4.13.0.tar.gz 1128221 BLAKE2B 71fddec8993acec5c14d140d80804d41a12ae2fe22368b74bf94f10f95f51946bf9150b4329ca481756228366fc86b1ff5f795a97de181d211dc175c374a5653 SHA512 e61b210aa2ce80f0e47603c88eee2e4f2fe30ca2c0e194a5472b6a8de3bf9dc1085e5261bbb9ddbe5b6531c4b391fb34f20d038e5ebd8e6f4c14c2112aee508f
diff --git a/dev-libs/libpfm/libpfm-4.11.0.ebuild b/dev-libs/libpfm/libpfm-4.11.0.ebuild
index feb30cf33428..3c2d5ee9c217 100644
--- a/dev-libs/libpfm/libpfm-4.11.0.ebuild
+++ b/dev-libs/libpfm/libpfm-4.11.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
@@ -6,8 +6,8 @@ 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"
+HOMEPAGE="https://perfmon2.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/perfmon2/${PN}4/${P}.tar.gz"
LICENSE="GPL-2 MIT"
SLOT="0/4"
diff --git a/dev-libs/libpfm/libpfm-4.12.0.ebuild b/dev-libs/libpfm/libpfm-4.12.0.ebuild
index 4f5bc4f0d9cd..9d276743e6f5 100644
--- a/dev-libs/libpfm/libpfm-4.12.0.ebuild
+++ b/dev-libs/libpfm/libpfm-4.12.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,12 +6,12 @@ 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"
+HOMEPAGE="https://perfmon2.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/perfmon2/${PN}4/${P}.tar.gz"
LICENSE="GPL-2 MIT"
SLOT="0/4"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="static-libs"
src_prepare() {
diff --git a/dev-libs/libpfm/libpfm-4.13.0.ebuild b/dev-libs/libpfm/libpfm-4.13.0.ebuild
new file mode 100644
index 000000000000..b6fa60319c8d
--- /dev/null
+++ b/dev-libs/libpfm/libpfm-4.13.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 toolchain-funcs
+
+DESCRIPTION="Hardware-based performance monitoring interface for Linux"
+HOMEPAGE="https://perfmon2.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/perfmon2/${PN}4/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0/4"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~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_test() {
+ cd tests || die
+ ./validate || die
+}
+
+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/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/libportal/Manifest b/dev-libs/libportal/Manifest
index b1d905f79160..26fb14475215 100644
--- a/dev-libs/libportal/Manifest
+++ b/dev-libs/libportal/Manifest
@@ -1,2 +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 e3eb4c6eb7ee..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="~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 )
- )
- 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
index 873af4b69fc7..38a05311150b 100644
--- a/dev-libs/libportal/libportal-0.7.1.ebuild
+++ b/dev-libs/libportal/libportal-0.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/flatpak/libportal/releases/download/${PV}/${P}.tar.x
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"
+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="
diff --git a/dev-libs/libpqxx/libpqxx-7.7.5.ebuild b/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
index c8e11d38610b..1778b09b128b 100644
--- a/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
+++ b/dev-libs/libpqxx/libpqxx-7.7.5.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..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-any-r1
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
-
DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
+HOMEPAGE="https://pqxx.org/development/libpqxx/"
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)"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
IUSE="doc static-libs"
RDEPEND="dev-db/postgresql:="
DEPEND="${RDEPEND}"
BDEPEND="${PYTHON_DEPS}
doc? (
- app-doc/doxygen[dot]
+ app-text/doxygen[dot]
app-text/xmlto
)
"
diff --git a/dev-libs/libpsl-native/Manifest b/dev-libs/libpsl-native/Manifest
index 60ff7aec2d55..71a6e7de2338 100644
--- a/dev-libs/libpsl-native/Manifest
+++ b/dev-libs/libpsl-native/Manifest
@@ -1,2 +1 @@
-DIST libpsl-native-7.3.2.tar.gz 288949 BLAKE2B 9547d0144ec1bd48d4f9272ae7c7237fbc052a852908a535047f2f9a41a7a0f7c36868fe697c77ec37d4705a119ac3f4f6961f7ff8ad7c80f8ec176839e34dd3 SHA512 5ff7c730c000e1d8ccbf48e01a1233889df3ddda3c280cbf37298a1731354dde30f0637b62567a8679dec4ea27a2184d9559026c3a86c793c6c8c12ec629c90d
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-cmake.patch b/dev-libs/libpsl-native/files/libpsl-native-7.3.2-cmake.patch
deleted file mode 100644
index a8222f074713..000000000000
--- a/dev-libs/libpsl-native/files/libpsl-native-7.3.2-cmake.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,9 +1,7 @@
- cmake_minimum_required(VERSION 2.8.11)
- 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 -DFORTIFY_SOURCE=2 -O2")
-+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-
- if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now")
-@@ -11,15 +9,11 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl")
- endif()
-
--set(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/../powershell-unix")
-+option(TESTING "Enable tests" OFF)
-
--if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
-- message(STATUS "Building for ARM, no tests")
-- add_subdirectory(src)
--else ()
-- # test in BUILD_DIR
-- message(STATUS "Tests enabled")
-- enable_testing()
-- add_subdirectory(src)
-- add_subdirectory(test)
--endif ()
-+add_subdirectory(src)
-+
-+if(TESTING)
-+ enable_testing()
-+ add_subdirectory(test)
-+endif()
diff --git a/dev-libs/libpsl-native/libpsl-native-7.3.2.ebuild b/dev-libs/libpsl-native/libpsl-native-7.3.2.ebuild
deleted file mode 100644
index db376c436a36..000000000000
--- a/dev-libs/libpsl-native/libpsl-native-7.3.2.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
-
-MY_PN="PowerShell-Native"
-
-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)"
-RESTRICT="test" # Fails.
-
-PATCHES=(
- "${FILESDIR}/${PN}-7.3.2-cmake.patch"
- "${FILESDIR}/${PN}-7.3.2-test-cmake.patch"
-)
-
-src_install() {
- dolib.so "${BUILD_DIR}/src/${PN}.so"
-
- einstalldocs
-}
diff --git a/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild b/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild
index 41a8ae927cc9..0fb2de0c2006 100644
--- a/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild
+++ b/dev-libs/libpsl-native/libpsl-native-7.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,7 +21,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${MY_PN}-${PV}/src/${PN}"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="amd64 arm arm64 ~x86"
fi
LICENSE="MIT"
diff --git a/dev-libs/libpthread-stubs/Manifest b/dev-libs/libpthread-stubs/Manifest
index b56c3f887397..bb862f00ea73 100644
--- a/dev-libs/libpthread-stubs/Manifest
+++ b/dev-libs/libpthread-stubs/Manifest
@@ -1,2 +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 3342ddc2b07b..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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-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/libptytty/metadata.xml b/dev-libs/libptytty/metadata.xml
index beac02a9af14..115e9d64a669 100644
--- a/dev-libs/libptytty/metadata.xml
+++ b/dev-libs/libptytty/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch b/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch
deleted file mode 100644
index 2ed638c1e34a..000000000000
--- a/dev-libs/libpwquality/files/libpwquality-1.4.4-pam_pwquality-include.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://github.com/libpwquality/libpwquality/pull/62
-
-From 27057c6cbf528108c35df934280c7dd83e8d5ce9 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 7 Sep 2022 05:42:17 +0100
-Subject: [PATCH] pam_pwquality: add include for
- pam_modutil_check_user_in_passwd
-
-After 9084c1b032161cdb53d5f66132a91bdc207faecf, one gets:
-```
-pam_pwquality.c: In function 'check_local_user':
-pam_pwquality.c:102:16: error: implicit declaration of function 'pam_modutil_check_user_in_passwd' [-Werror=implicit-function-declaration]
- 102 | return pam_modutil_check_user_in_passwd(pamh, user, NULL) == PAM_SUCCESS;
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-cc1: some warnings being treated as errors
-make[2]: *** [Makefile:634: pam_pwquality.lo] Error 1
-make[2]: *** Waiting for unfinished jobs....
-```
-
-We need to include security/pam_modutil.h when appropriate.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/src/pam_pwquality.c
-+++ b/src/pam_pwquality.c
-@@ -34,6 +34,10 @@
- #include <security/_pam_macros.h>
- #include <security/pam_ext.h>
-
-+#ifdef HAVE_PAM_CHECK_USER_IN_PASSWD
-+#include <security/pam_modutil.h>
-+#endif
-+
- /* argument parsing */
- #define PAM_DEBUG_ARG 0x0001
-
diff --git a/dev-libs/libpwquality/libpwquality-1.4.5.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
index 87db7e77e81e..6d3790bc64a6 100644
--- a/dev-libs/libpwquality/libpwquality-1.4.5.ebuild
+++ b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit pam python-r1 usr-ldscript
+inherit libtool pam python-r1
DESCRIPTION="Library for password quality checking and generating random passwords"
HOMEPAGE="https://github.com/libpwquality/libpwquality"
@@ -27,15 +27,9 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.4-pam_pwquality-include.patch
-)
-
src_prepare() {
default
- # ensure pkgconfig files go in /usr
- sed -e "s:\(pkgconfigdir *=\).*:\1 ${EPREFIX}/usr/$(get_libdir)/pkgconfig:" \
- -i src/Makefile.{am,in} || die "sed failed"
+ elibtoolize
if use python ; then
# bug #830397
@@ -49,7 +43,7 @@ src_configure() {
configuring() {
local sitedir
econf \
- --libdir="${EPREFIX}/$(get_libdir)" \
+ --libdir="${EPREFIX}/usr/$(get_libdir)" \
$(use_enable pam) \
--with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
$(use_enable python python-bindings) \
@@ -69,12 +63,6 @@ src_test() {
src_install() {
if_use_python_python_foreach_impl default
- if use static-libs; then
- # Do not install static libs in /lib
- mkdir -p "${ED}/usr/$(get_libdir)"
- mv "${ED}/$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die
- gen_usr_ldscript libpwquality.so
- fi
find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild
new file mode 100644
index 000000000000..55249fc59c66
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+inherit libtool pam distutils-r1
+
+DESCRIPTION="Library for password quality checking and generating random passwords"
+HOMEPAGE="https://github.com/libpwquality/libpwquality"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="pam python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND="
+ >=sys-devel/gettext-0.18.2
+ virtual/pkgconfig
+ python? (
+ ${DISTUTILS_DEPS}
+ ${PYTHON_DEPS}
+ )
+"
+RDEPEND="
+ >=sys-libs/cracklib-2.8:=[static-libs(+)?]
+ pam? ( sys-libs/pam )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ elibtoolize
+
+ if use python ; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ # Install library in /lib for pam
+ local myeconfargs=(
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ $(use_enable pam)
+ --with-securedir="${EPREFIX}/$(getpam_mod_dir)"
+ --disable-python-bindings
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_configure
+ fi
+}
+
+src_compile() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ default
+ if use python; then
+ cd python || die
+ distutils-r1_src_test
+ fi
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libpy/libpy-0.2.5-r2.ebuild b/dev-libs/libpy/libpy-0.2.5-r3.ebuild
index e11055754550..285956b05a94 100644
--- a/dev-libs/libpy/libpy-0.2.5-r2.ebuild
+++ b/dev-libs/libpy/libpy-0.2.5-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-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} )
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
inherit flag-o-matic distutils-r1
diff --git a/dev-libs/libqt5pas/Manifest b/dev-libs/libqt5pas/Manifest
index ee7b671dbf1f..23f36037eb4a 100644
--- a/dev-libs/libqt5pas/Manifest
+++ b/dev-libs/libqt5pas/Manifest
@@ -1 +1,2 @@
-DIST libqt5pas-1.2.9.tar.gz 77272959 BLAKE2B 2d7b2872a7399eb1a3a7d9fb20fed209900603ae433db75ac2c4244edf5e5981314ed3d8e39143ff30764e7ccbf1286edace9c38505df1cd28b44250bdd07224 SHA512 1a2fbc8451f1954df1d0071c586662ebc3cd0e9a7db5d910e0af86a3095252a5796d4c7abcf3861ad723af26974ac416c5bf919cd77ad5f406295ad7cdf47eb1
+DIST lazarus-2.2.4-0.tar.gz 77272959 BLAKE2B 2d7b2872a7399eb1a3a7d9fb20fed209900603ae433db75ac2c4244edf5e5981314ed3d8e39143ff30764e7ccbf1286edace9c38505df1cd28b44250bdd07224 SHA512 1a2fbc8451f1954df1d0071c586662ebc3cd0e9a7db5d910e0af86a3095252a5796d4c7abcf3861ad723af26974ac416c5bf919cd77ad5f406295ad7cdf47eb1
+DIST lazarus-3.0-0.tar.gz 87513233 BLAKE2B 26e8492194541453230832591445b97827e65b61531078cb4bd1c9f549bcd0aa531fef036f701de885e96f9e56476b0dd1c9465e2388ea43080ba418acbd097e SHA512 85cb3548fab017f2fd97f5fb141d59a0d0ec1412a161f98fea726ad5d6ed32ee2eb6ef6573e058d4df7dfcc067256e842acf994b73c9a50ebfb064657db33881
diff --git a/dev-libs/libqt5pas/libqt5pas-1.2.15.ebuild b/dev-libs/libqt5pas/libqt5pas-1.2.15.ebuild
new file mode 100644
index 000000000000..b6d25452b1e2
--- /dev/null
+++ b/dev-libs/libqt5pas/libqt5pas-1.2.15.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Get PV from lcl/interfaces/qt6/cbindings/Qt6Pas.pro
+inherit qmake-utils
+
+LAZARUS_PV=3.0
+
+# We want to keep the version here in correspondence with dev-lang/lazarus
+# so dev-lang/lazarus can use the bindings.
+MY_P="lazarus-${LAZARUS_PV}-0"
+
+DESCRIPTION="Free Pascal Qt5 bindings library updated by lazarus IDE"
+HOMEPAGE="https://gitlab.com/freepascal.org/lazarus/lazarus"
+SRC_URI="https://downloads.sourceforge.net/lazarus/${MY_P}.tar.gz"
+S="${WORKDIR}/lazarus/lcl/interfaces/qt5/cbindings"
+
+LICENSE="LGPL-3"
+SLOT="0/${LAZARUS_PV}"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ eqmake5 "QT += x11extras" Qt5Pas.pro
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+}
diff --git a/dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild b/dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild
index cd2b7135bb7c..974c623460a3 100644
--- a/dev-libs/libqt5pas/libqt5pas-1.2.9.ebuild
+++ b/dev-libs/libqt5pas/libqt5pas-1.2.9.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
@@ -9,7 +9,7 @@ MY_P="lazarus-2.2.4-0"
DESCRIPTION="Free Pascal Qt5 bindings library updated by lazarus IDE."
HOMEPAGE="https://gitlab.com/freepascal.org/lazarus/lazarus"
-SRC_URI="mirror://sourceforge/lazarus/${MY_P}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/lazarus/${MY_P}.tar.gz"
KEYWORDS="~amd64 ~x86"
LICENSE="LGPL-3"
diff --git a/dev-libs/libqt6pas/Manifest b/dev-libs/libqt6pas/Manifest
new file mode 100644
index 000000000000..bafdbea1a0b3
--- /dev/null
+++ b/dev-libs/libqt6pas/Manifest
@@ -0,0 +1 @@
+DIST lazarus-3.0-0.tar.gz 87513233 BLAKE2B 26e8492194541453230832591445b97827e65b61531078cb4bd1c9f549bcd0aa531fef036f701de885e96f9e56476b0dd1c9465e2388ea43080ba418acbd097e SHA512 85cb3548fab017f2fd97f5fb141d59a0d0ec1412a161f98fea726ad5d6ed32ee2eb6ef6573e058d4df7dfcc067256e842acf994b73c9a50ebfb064657db33881
diff --git a/dev-libs/libqt6pas/files/libqt6pas-1.0.0-remove-wrapper-of-undefined-method.patch b/dev-libs/libqt6pas/files/libqt6pas-1.0.0-remove-wrapper-of-undefined-method.patch
new file mode 100644
index 000000000000..a1fad05aa7c7
--- /dev/null
+++ b/dev-libs/libqt6pas/files/libqt6pas-1.0.0-remove-wrapper-of-undefined-method.patch
@@ -0,0 +1,29 @@
+Author: Denis Pronin <dannftk@yandex.ru>
+
+Description: the patch is required to make the libqt6pas project compile since
+QT6 does not have QString::isSimpleText() method any longer
+
+--- a/src/qstring_c.cpp
++++ b/src/qstring_c.cpp
+@@ -1073,11 +1073,6 @@
+ return (bool) ((QString *)handle)->isNull();
+ }
+
+-bool QString_isSimpleText(QStringH handle)
+-{
+- return (bool) ((QString *)handle)->isSimpleText();
+-}
+-
+ bool QString_isRightToLeft(QStringH handle)
+ {
+ return (bool) ((QString *)handle)->isRightToLeft();
+--- a/src/qstring_c.h
++++ b/src/qstring_c.h
+@@ -166,7 +166,6 @@
+ C_EXPORT void QString_push_front(QStringH handle, PWideChar c);
+ C_EXPORT void QString_push_front2(QStringH handle, PWideString s);
+ C_EXPORT bool QString_isNull(QStringH handle);
+-C_EXPORT bool QString_isSimpleText(QStringH handle);
+ C_EXPORT bool QString_isRightToLeft(QStringH handle);
+ C_EXPORT void QString_chopped(QStringH handle, int len, PWideString retval);
+ C_EXPORT void QString_first(QStringH handle, int n, PWideString retval);
diff --git a/dev-libs/libqt6pas/libqt6pas-6.2.7.ebuild b/dev-libs/libqt6pas/libqt6pas-6.2.7.ebuild
new file mode 100644
index 000000000000..7d80f173c527
--- /dev/null
+++ b/dev-libs/libqt6pas/libqt6pas-6.2.7.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Get PV from lcl/interfaces/qt6/cbindings/Qt6Pas.pro
+inherit qmake-utils
+
+LAZARUS_PV=3.0
+
+# We want to keep the version here in correspondence with dev-lang/lazarus
+# so dev-lang/lazarus can use the bindings.
+MY_P="lazarus-${LAZARUS_PV}-0"
+
+DESCRIPTION="Free Pascal Qt6 bindings library updated by lazarus IDE"
+HOMEPAGE="https://gitlab.com/freepascal.org/lazarus/lazarus"
+SRC_URI="https://downloads.sourceforge.net/lazarus/${MY_P}.tar.gz"
+S="${WORKDIR}/lazarus/lcl/interfaces/qt6/cbindings"
+
+LICENSE="LGPL-3"
+SLOT="0/${LAZARUS_PV}"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-qt/qtbase:6
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.0-remove-wrapper-of-undefined-method.patch"
+)
+
+src_configure() {
+ eqmake6 Qt6Pas.pro
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+}
diff --git a/dev-libs/libqt6pas/metadata.xml b/dev-libs/libqt6pas/metadata.xml
new file mode 100644
index 000000000000..6fb99b74aaf9
--- /dev/null
+++ b/dev-libs/libqt6pas/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>amynka@gentoo.org</email>
+ <name>Amy Liffey</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gitlab">freepascal.org/lazarus</remote-id>
+ <remote-id type="sourceforge">lazarus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libqtxdg/Manifest b/dev-libs/libqtxdg/Manifest
index f1f0c4a1822b..83eb94bc78da 100644
--- a/dev-libs/libqtxdg/Manifest
+++ b/dev-libs/libqtxdg/Manifest
@@ -1,2 +1,3 @@
DIST libqtxdg-3.11.0.tar.xz 71688 BLAKE2B df5f9ebe6d964a23c89402419e4b6e27812a25d96d065e64c05348fe833e2c27c06e11260c8c58999b232eaf154404549100b81325e02ec7c10eaa40d68ff4cd SHA512 494140fa35e184c128c851f06501b5c62324a796d3f61ed47b750dbdffff756c1a42240d4458797e2f2f01c9b06b997f0fbfc76fe7f99866f7cad084ac1342f7
DIST libqtxdg-3.12.0.tar.xz 71684 BLAKE2B 909fe97ccd8815d9d923d440abef9f0e9cf28fa8e18220f6998e69ff17a1bbb28b37c734758c01cb0a9537464fb0dd2f38b1f61640fd8468c30f8aac57e62106 SHA512 9db46b0dddb027a24e1c19a2e3679014735cc246f15d32bc5fb9e778cd7d8fb57c9b105f819091308002f0a2eff8269920ecc0d7bd5ce8a01fbaf0b37e61a76e
+DIST libqtxdg-4.0.0.tar.xz 71508 BLAKE2B 823bfaba4ea1beb88b064d4935e7c660569b9215aa9f40b7ad6e3ffab965259467d968cd6b5f0c42c2912478d2766d52d52f0296d9eb3586c45ac5ddd7b97ed7 SHA512 4a8a32968e74ed54d700cf65c9cfb238001f58d93a9e374e18d60023615d6277f80459dd8477205ce31a6d8caf798cde70b91681df80b1bff3b754e0586868d2
diff --git a/dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild b/dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild
index 1e3e0e22e3c1..a865ecebc6cd 100644
--- a/dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild
+++ b/dev-libs/libqtxdg/libqtxdg-3.12.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then
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"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
fi
LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
diff --git a/dev-libs/libqtxdg/libqtxdg-4.0.0.ebuild b/dev-libs/libqtxdg/libqtxdg-4.0.0.ebuild
new file mode 100644
index 000000000000..8bbdaa0cc5d6
--- /dev/null
+++ b/dev-libs/libqtxdg/libqtxdg-4.0.0.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 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 ~arm64 ~riscv"
+fi
+
+LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ >=dev-util/lxqt-build-tools-2.0.0
+ virtual/pkgconfig
+"
+RDEPEND="
+ dev-libs/glib:2
+ >=dev-qt/qtbase-6.6:6=[dbus,gui,widgets,xml]
+ >=dev-qt/qtsvg-6.6:6
+ x11-misc/xdg-utils
+"
+DEPEND="${RDEPEND}"
+
+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/metadata.xml b/dev-libs/libqtxdg/metadata.xml
index 6e916dfc3d4d..fdcb4167d5e0 100644
--- a/dev-libs/libqtxdg/metadata.xml
+++ b/dev-libs/libqtxdg/metadata.xml
@@ -5,10 +5,6 @@
<email>lxqt@gentoo.org</email>
<name>LXQt</name>
</maintainer>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
<upstream>
<remote-id type="github">lxqt/libqtxdg</remote-id>
</upstream>
diff --git a/dev-libs/libratbag/Manifest b/dev-libs/libratbag/Manifest
index 9c0909368ccd..619b6ab36a94 100644
--- a/dev-libs/libratbag/Manifest
+++ b/dev-libs/libratbag/Manifest
@@ -1,3 +1 @@
-DIST libratbag-0.15.tar.gz 249492 BLAKE2B 0f5b35800cb9f82cb892dacd5e3b041843cf5513507ee4882ec5b3f8c8aec8a24594736f2eb1c8e373a0ee38ace1e6328cbd4816d6e5b2cd1f2154ebd803a5fa SHA512 add47a6b3d771de77c6307e128a549f5295e216059b5a2375aa6b2b6bbebcf9a93d7bf148181b3f39f855976e9b6f57072dd9198d07828bebe85409f4ad994aa
-DIST libratbag-0.16.tar.gz 253080 BLAKE2B ede56838c822519b4fe4c6846f5d6d237104fc06f96fb17aa62b4c712965f00827973ebe732ee5ac9a16f101baf0b63eb445fbb97746df3b8ed24d6e085b34e1 SHA512 b3f2fee39ec85c0e08d257753241fb0e553de53eb7409a3b95f93a0fac3989a9411c53c915e72bef19bcfc5682fe9cdafaeb1f41f2718ab02766859f565415e3
DIST libratbag-0.17.tar.gz 279273 BLAKE2B 7252afc8bca5d95c24d61dbd68c4e486550df7d6d9fa74a8c9d2a58c6363ed2ee289c0d02cdd72c968618f5c08a0687c97836dd2c47b457ba4228f4716b50cb9 SHA512 80ab5c895d83e28b6b6adcd0669854944d7932ef037c8d64b923a7362399e861475e9d81c5ee2cf814f654d7796b00a81314cc177f34e13c8684d525974068c8
diff --git a/dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch b/dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch
deleted file mode 100644
index a3b0b187c154..000000000000
--- a/dev-libs/libratbag/files/libratbag-0.16-musl-error.h.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-# Since musl doesn't provide error.h we need to check before adding it. If
-# error.h is present in system only then we include it else we use err.h.
-# Already there exists a bug report for this upstream [1]. The devs are open to
-# a custom implementation of error but for now this patch for do it.
-#
-# [1]: https://github.com/libratbag/libratbag/issues/1253
-#
-# Closes: https://bugs.gentoo.org/830557
---- a/meson.build
-+++ b/meson.build
-@@ -74,8 +74,13 @@ dep_libevdev = dependency('libevdev')
- dep_glib = dependency('glib-2.0')
- dep_json_glib = dependency('json-glib-1.0')
- dep_lm = cc.find_library('m')
-+error_exists = cc.has_header('error.h')
- dep_unistring = cc.find_library('unistring')
-
-+if error_exists
-+ add_global_arguments('-DHAVE_ERROR_H', language : 'c')
-+endif
-+
- if get_option('logind-provider') == 'elogind'
- dep_logind = dependency('libelogind', version : '>=227')
- else
---- a/tools/hidpp10-dump-page.c
-+++ b/tools/hidpp10-dump-page.c
-@@ -23,7 +23,12 @@
-
- #include <config.h>
- #include <errno.h>
-+#ifdef HAVE_ERROR_H
- #include <error.h>
-+#else
-+#include <err.h>
-+#define error(status, errno, ...) err(status, __VA_ARGS__)
-+#endif
- #include <fcntl.h>
-
- #include <hidpp10.h>
---- a/tools/hidpp20-dump-page.c
-+++ b/tools/hidpp20-dump-page.c
-@@ -23,7 +23,12 @@
-
- #include <config.h>
- #include <errno.h>
-+#ifdef HAVE_ERROR_H
- #include <error.h>
-+#else
-+#include <err.h>
-+#define error(status, errno, ...) err(status, __VA_ARGS__)
-+#endif
- #include <fcntl.h>
-
- #include <hidpp20.h>
---- a/tools/hidpp20-reset.c
-+++ b/tools/hidpp20-reset.c
-@@ -23,7 +23,12 @@
-
- #include <config.h>
- #include <errno.h>
-+#ifdef HAVE_ERROR_H
- #include <error.h>
-+#else
-+#include <err.h>
-+#define error(status, errno, ...) err(status, __VA_ARGS__)
-+#endif
- #include <fcntl.h>
-
- #include <hidpp20.h>
diff --git a/dev-libs/libratbag/files/libratbag-0.17-python3.12-imp.patch b/dev-libs/libratbag/files/libratbag-0.17-python3.12-imp.patch
new file mode 100644
index 000000000000..6ded679b1bad
--- /dev/null
+++ b/dev-libs/libratbag/files/libratbag-0.17-python3.12-imp.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/929423
+https://github.com/libratbag/libratbag/pull/1569
+https://github.com/libratbag/libratbag/commit/27b0d4a2d9cd21fa9f11a0770d94c578db6324d1
+--- a/tools/toolbox.py
++++ b/tools/toolbox.py
+@@ -21,7 +21,8 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ # DEALINGS IN THE SOFTWARE.
+
+-import imp
++import importlib.util
++import importlib.machinery
+ import os
+ import subprocess
+ import sys
+@@ -45,8 +46,11 @@ def import_non_standard_path(name, path):
+ # If any of the following calls raises an exception,
+ # there's a problem we can't handle -- let the caller handle it.
+
+- with open(path, 'rb') as fp:
+- module = imp.load_module(name, fp, os.path.basename(path), ('.py', 'rb', imp.PY_SOURCE))
++ loader = importlib.machinery.SourceFileLoader(name, path)
++ spec = importlib.util.spec_from_file_location(name, path, loader=loader)
++ module = importlib.util.module_from_spec(spec)
++ sys.modules[name] = module
++ loader.exec_module(module)
+
+ return module
+
+@@ -107,7 +111,7 @@ def sync_dbus():
+ main_context.iteration(False)
+
+
+-ratbagctl = import_non_standard_path(RATBAGCTL_NAME, RATBAGCTL_PATH)
++import_non_standard_path(RATBAGCTL_NAME, RATBAGCTL_PATH)
+
+ from ratbagctl import open_ratbagd, get_parser, RatbagError, RatbagErrorCapability # NOQA
+
diff --git a/dev-libs/libratbag/libratbag-0.17.ebuild b/dev-libs/libratbag/libratbag-0.17-r1.ebuild
index 4bd9976cf218..e1cf833f0ff6 100644
--- a/dev-libs/libratbag/libratbag-0.17.ebuild
+++ b/dev-libs/libratbag/libratbag-0.17-r1.ebuild
@@ -1,19 +1,25 @@
-# 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..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"
+
+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"
-KEYWORDS="~amd64 ~x86"
IUSE="doc elogind systemd test"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -34,10 +40,10 @@ BDEPEND="
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 +57,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.15.ebuild b/dev-libs/libratbag/libratbag-0.17-r2.ebuild
index 8289d78b4171..7620f30d382d 100644
--- a/dev-libs/libratbag/libratbag-0.15.ebuild
+++ b/dev-libs/libratbag/libratbag-0.17-r2.ebuild
@@ -1,19 +1,25 @@
-# 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 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"
+
+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"
-KEYWORDS="~amd64 ~x86"
IUSE="doc elogind systemd test"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -34,10 +40,10 @@ BDEPEND="
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 +57,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 )
@@ -61,6 +67,10 @@ DEPEND="
dev-libs/gobject-introspection
"
+PATCHES=(
+ "${FILESDIR}"/libratbag-0.17-python3.12-imp.patch
+)
+
src_prepare() {
default
@@ -98,4 +108,5 @@ pkg_postinst() {
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.16.ebuild b/dev-libs/libratbag/libratbag-9999.ebuild
index 88ff3a11ccd1..47fc210ab543 100644
--- a/dev-libs/libratbag/libratbag-0.16.ebuild
+++ b/dev-libs/libratbag/libratbag-9999.ebuild
@@ -1,19 +1,25 @@
-# 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 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"
+
+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"
-KEYWORDS="~amd64 ~x86"
IUSE="doc elogind systemd test"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -34,10 +40,10 @@ BDEPEND="
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 +57,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 )
@@ -61,10 +67,6 @@ DEPEND="
dev-libs/gobject-introspection
"
-PATCHES=(
- "${FILESDIR}"/${PN}-0.16-musl-error.h.patch
-)
-
src_prepare() {
default
@@ -102,4 +104,5 @@ pkg_postinst() {
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 3a72062c282c..e53816e500da 100644
--- a/dev-libs/librdkafka/Manifest
+++ b/dev-libs/librdkafka/Manifest
@@ -1,3 +1 @@
-DIST librdkafka-1.8.2.tar.gz 4097028 BLAKE2B 37a3190417e973ea4629012e358ff61cda45eb0134448dd0054fd1f1cac57f3543b133331b0b0d518f219f30f79f7665a214c75084d6a8474687b7e686395724 SHA512 8c8ae291129b78e3b8367307ad1b1715af1438cd76d7160d64d13a58adf84c7c9f51efeba4656f55e101c25e4cb744db0d8bb5c01a2decb229e4567d16bdcb22
-DIST librdkafka-2.1.1.tar.gz 4281061 BLAKE2B 8200c2aee0d04109cb78f13b186cf907f3260ee6a17a2fffc4f7706ed9cbea9436eb31d17167e9af783495ef2365f7401bbdc671d5a8d7e7f2ecb9b5c7d57fbb SHA512 6bf1761e7ed1820b587fda24277f6606ec046da281064df13c4380f49a92f3e2b165614b9c622d46b27078ec024a4dc211610e500e597265e8219f8869c4d203
DIST librdkafka-2.2.0.tar.gz 4340164 BLAKE2B 394c9fd25db0a3a02b16fec3d5d5acc4808b4c8a6c8e025e71f15a91c6311206bf4d7c863860be36483c150bb10955cdc98ba0f088fa493b20ae52154e2a83d0 SHA512 1a85b5864efdeece1327e461b62a378f24b73eb7174168f630aeff01d4a5074d6b2f15744bc267665fcfc6384e804df00c20b7271ecd85a98dca84746b86b4d9
diff --git a/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch b/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
new file mode 100644
index 000000000000..cc6b57ea72d2
--- /dev/null
+++ b/dev-libs/librdkafka/files/librdkafka-2.2.0-backport-pr4449.patch
@@ -0,0 +1,285 @@
+https://bugs.gentoo.org/915433
+https://github.com/confluentinc/librdkafka/pull/4449
+
+From 8b311b8a850805f4ec9bb068c0edb31492ad03fe Mon Sep 17 00:00:00 2001
+From: Emanuele Sabellico <esabellico@confluent.io>
+Date: Wed, 27 Sep 2023 11:08:33 +0200
+Subject: [PATCH 1/3] tmpabuf refactor and fix for insufficient buffer
+ allocation
+
+---
+ CHANGELOG.md | 10 ++++++
+ src/rdkafka_buf.h | 25 ++++++++++++---
+ src/rdkafka_metadata.c | 59 +++++++++++++++++++-----------------
+ src/rdkafka_metadata_cache.c | 38 +++++++++++------------
+ src/rdkafka_topic.c | 36 +++++++++++++---------
+ 5 files changed, 100 insertions(+), 68 deletions(-)
+
+diff --git a/src/rdkafka_buf.h b/src/rdkafka_buf.h
+index ccd563cc6..623ec49ae 100644
+--- a/src/rdkafka_buf.h
++++ b/src/rdkafka_buf.h
+@@ -49,21 +49,36 @@ typedef struct rd_tmpabuf_s {
+ size_t of;
+ char *buf;
+ int failed;
+- int assert_on_fail;
++ rd_bool_t assert_on_fail;
+ } rd_tmpabuf_t;
+
+ /**
+- * @brief Allocate new tmpabuf with \p size bytes pre-allocated.
++ * @brief Initialize new tmpabuf of non-final \p size bytes.
+ */
+ static RD_UNUSED void
+-rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, int assert_on_fail) {
+- tab->buf = rd_malloc(size);
+- tab->size = size;
++rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, rd_bool_t assert_on_fail) {
++ tab->buf = NULL;
++ tab->size = RD_ROUNDUP(size, 8);
+ tab->of = 0;
+ tab->failed = 0;
+ tab->assert_on_fail = assert_on_fail;
+ }
+
++/**
++ * @brief Add a new allocation of \p _size bytes,
++ * rounded up to maximum word size,
++ * for \p _times times.
++ */
++#define rd_tmpabuf_add_alloc_times(_tab, _size, _times) \
++ (_tab)->size += RD_ROUNDUP(_size, 8) * _times
++
++#define rd_tmpabuf_add_alloc(_tab, _size) \
++ rd_tmpabuf_add_alloc_times(_tab, _size, 1)
++/**
++ * @brief Finalize tmpabuf pre-allocating tab->size bytes.
++ */
++#define rd_tmpabuf_finalize(_tab) (_tab)->buf = rd_malloc((_tab)->size)
++
+ /**
+ * @brief Free memory allocated by tmpabuf
+ */
+diff --git a/src/rdkafka_metadata.c b/src/rdkafka_metadata.c
+index f96edf658..6c2f60ae3 100644
+--- a/src/rdkafka_metadata.c
++++ b/src/rdkafka_metadata.c
+@@ -164,7 +164,8 @@ static rd_kafka_metadata_internal_t *rd_kafka_metadata_copy_internal(
+ * Because of this we copy all the structs verbatim but
+ * any pointer fields needs to be copied explicitly to update
+ * the pointer address. */
+- rd_tmpabuf_new(&tbuf, size, 1 /*assert on fail*/);
++ rd_tmpabuf_new(&tbuf, size, rd_true /*assert on fail*/);
++ rd_tmpabuf_finalize(&tbuf);
+ mdi = rd_tmpabuf_write(&tbuf, src, sizeof(*mdi));
+ md = &mdi->metadata;
+
+@@ -506,11 +507,13 @@ rd_kafka_parse_Metadata(rd_kafka_broker_t *rkb,
+ * no more than 4 times larger than the wire representation.
+ * This is increased to 5 times in case if we want to compute partition
+ * to rack mapping. */
+- rd_tmpabuf_new(&tbuf,
+- sizeof(*mdi) + rkb_namelen +
+- (rkbuf->rkbuf_totlen * 4 +
+- (compute_racks ? rkbuf->rkbuf_totlen : 0)),
+- 0 /*dont assert on fail*/);
++ rd_tmpabuf_new(&tbuf, 0, rd_false /*dont assert on fail*/);
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*mdi));
++ rd_tmpabuf_add_alloc(&tbuf, rkb_namelen);
++ rd_tmpabuf_add_alloc(&tbuf, rkbuf->rkbuf_totlen *
++ (4 + (compute_racks ? 1 : 0)));
++
++ rd_tmpabuf_finalize(&tbuf);
+
+ if (!(mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi)))) {
+ rd_kafka_broker_unlock(rkb);
+@@ -1603,35 +1606,37 @@ rd_kafka_metadata_new_topic_mock(const rd_kafka_metadata_topic_t *topics,
+ rd_kafka_metadata_internal_t *mdi;
+ rd_kafka_metadata_t *md;
+ rd_tmpabuf_t tbuf;
+- size_t topic_names_size = 0;
+- int total_partition_cnt = 0;
+ size_t i;
+ int curr_broker = 0;
+
+- /* Calculate total partition count and topic names size before
+- * allocating memory. */
+- for (i = 0; i < topic_cnt; i++) {
+- topic_names_size += 1 + strlen(topics[i].topic);
+- total_partition_cnt += topics[i].partition_cnt;
+- }
+-
+ /* If the replication factor is given, num_brokers must also be given */
+ rd_assert(replication_factor <= 0 || num_brokers > 0);
+
+ /* Allocate contiguous buffer which will back all the memory
+ * needed by the final metadata_t object */
+- rd_tmpabuf_new(
+- &tbuf,
+- sizeof(*mdi) + (sizeof(*md->topics) * topic_cnt) +
+- topic_names_size + (64 /*topic name size..*/ * topic_cnt) +
+- (sizeof(*md->topics[0].partitions) * total_partition_cnt) +
+- (sizeof(*mdi->topics) * topic_cnt) +
+- (sizeof(*mdi->topics[0].partitions) * total_partition_cnt) +
+- (sizeof(*mdi->brokers) * RD_ROUNDUP(num_brokers, 8)) +
+- (replication_factor > 0 ? RD_ROUNDUP(replication_factor, 8) *
+- total_partition_cnt * sizeof(int)
+- : 0),
+- 1 /*assert on fail*/);
++ rd_tmpabuf_new(&tbuf, sizeof(*mdi), rd_true /*assert on fail*/);
++
++ rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*md->topics));
++ rd_tmpabuf_add_alloc(&tbuf, topic_cnt * sizeof(*mdi->topics));
++ rd_tmpabuf_add_alloc(&tbuf, num_brokers * sizeof(*md->brokers));
++
++ /* Calculate total partition count and topic names size before
++ * allocating memory. */
++ for (i = 0; i < topic_cnt; i++) {
++ rd_tmpabuf_add_alloc(&tbuf, 1 + strlen(topics[i].topic));
++ rd_tmpabuf_add_alloc(&tbuf,
++ topics[i].partition_cnt *
++ sizeof(*md->topics[i].partitions));
++ rd_tmpabuf_add_alloc(&tbuf,
++ topics[i].partition_cnt *
++ sizeof(*mdi->topics[i].partitions));
++ if (replication_factor > 0)
++ rd_tmpabuf_add_alloc_times(
++ &tbuf, replication_factor * sizeof(int),
++ topics[i].partition_cnt);
++ }
++
++ rd_tmpabuf_finalize(&tbuf);
+
+ mdi = rd_tmpabuf_alloc(&tbuf, sizeof(*mdi));
+ memset(mdi, 0, sizeof(*mdi));
+diff --git a/src/rdkafka_metadata_cache.c b/src/rdkafka_metadata_cache.c
+index 18f19a4d0..1530e699e 100644
+--- a/src/rdkafka_metadata_cache.c
++++ b/src/rdkafka_metadata_cache.c
+@@ -249,8 +249,6 @@ static struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_insert(
+ rd_kafka_metadata_broker_internal_t *brokers_internal,
+ size_t broker_cnt) {
+ struct rd_kafka_metadata_cache_entry *rkmce, *old;
+- size_t topic_len;
+- size_t racks_size = 0;
+ rd_tmpabuf_t tbuf;
+ int i;
+
+@@ -261,34 +259,32 @@ static struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_insert(
+ * any pointer fields needs to be copied explicitly to update
+ * the pointer address.
+ * See also rd_kafka_metadata_cache_delete which frees this. */
+- topic_len = strlen(mtopic->topic) + 1;
++ rd_tmpabuf_new(&tbuf, 0, rd_true /*assert on fail*/);
++
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*rkmce));
++ rd_tmpabuf_add_alloc(&tbuf, strlen(mtopic->topic) + 1);
++ rd_tmpabuf_add_alloc(&tbuf, mtopic->partition_cnt *
++ sizeof(*mtopic->partitions));
++ rd_tmpabuf_add_alloc(&tbuf,
++ mtopic->partition_cnt *
++ sizeof(*metadata_internal_topic->partitions));
+
+ for (i = 0; include_racks && i < mtopic->partition_cnt; i++) {
+ size_t j;
+- racks_size += RD_ROUNDUP(
+- metadata_internal_topic->partitions[i].racks_cnt *
+- sizeof(char *),
+- 8);
++ rd_tmpabuf_add_alloc(
++ &tbuf, metadata_internal_topic->partitions[i].racks_cnt *
++ sizeof(char *));
+ for (j = 0;
+ j < metadata_internal_topic->partitions[i].racks_cnt;
+ j++) {
+- racks_size += RD_ROUNDUP(
+- strlen(metadata_internal_topic->partitions[i]
+- .racks[j]) +
+- 1,
+- 8);
++ rd_tmpabuf_add_alloc(
++ &tbuf, strlen(metadata_internal_topic->partitions[i]
++ .racks[j]) +
++ 1);
+ }
+ }
+
+- rd_tmpabuf_new(
+- &tbuf,
+- RD_ROUNDUP(sizeof(*rkmce), 8) + RD_ROUNDUP(topic_len, 8) +
+- (mtopic->partition_cnt *
+- RD_ROUNDUP(sizeof(*mtopic->partitions), 8)) +
+- (mtopic->partition_cnt *
+- RD_ROUNDUP(sizeof(*metadata_internal_topic->partitions), 8)) +
+- racks_size,
+- 1 /*assert on fail*/);
++ rd_tmpabuf_finalize(&tbuf);
+
+ rkmce = rd_tmpabuf_alloc(&tbuf, sizeof(*rkmce));
+
+diff --git a/src/rdkafka_topic.c b/src/rdkafka_topic.c
+index 3b3986d43..b63a0bbea 100644
+--- a/src/rdkafka_topic.c
++++ b/src/rdkafka_topic.c
+@@ -1831,38 +1831,44 @@ rd_kafka_topic_info_t *rd_kafka_topic_info_new_with_rack(
+ const rd_kafka_metadata_partition_internal_t *mdpi) {
+ rd_kafka_topic_info_t *ti;
+ rd_tmpabuf_t tbuf;
+- size_t tlen = RD_ROUNDUP(strlen(topic) + 1, 8);
+- size_t total_racks_size = 0;
+ int i;
++ rd_bool_t has_racks = rd_false;
+
++ rd_tmpabuf_new(&tbuf, 0, rd_true /* assert on fail */);
++
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(*ti));
++ rd_tmpabuf_add_alloc(&tbuf, strlen(topic) + 1);
+ for (i = 0; i < partition_cnt; i++) {
+ size_t j;
+ if (!mdpi[i].racks)
+ continue;
+
++ if (unlikely(!has_racks))
++ has_racks = rd_true;
++
+ for (j = 0; j < mdpi[i].racks_cnt; j++) {
+- total_racks_size +=
+- RD_ROUNDUP(strlen(mdpi[i].racks[j]) + 1, 8);
++ rd_tmpabuf_add_alloc(&tbuf,
++ strlen(mdpi[i].racks[j]) + 1);
+ }
+- total_racks_size +=
+- RD_ROUNDUP(sizeof(char *) * mdpi[i].racks_cnt, 8);
++ rd_tmpabuf_add_alloc(&tbuf, sizeof(char *) * mdpi[i].racks_cnt);
++ }
++
++ /* Only bother allocating this if at least one
++ * rack is there. */
++ if (has_racks) {
++ rd_tmpabuf_add_alloc(
++ &tbuf, sizeof(rd_kafka_metadata_partition_internal_t) *
++ partition_cnt);
+ }
+
+- if (total_racks_size) /* Only bother allocating this if at least one
+- rack is there. */
+- total_racks_size +=
+- RD_ROUNDUP(sizeof(rd_kafka_metadata_partition_internal_t) *
+- partition_cnt,
+- 8);
++ rd_tmpabuf_finalize(&tbuf);
+
+- rd_tmpabuf_new(&tbuf, sizeof(*ti) + tlen + total_racks_size,
+- 1 /* assert on fail */);
+ ti = rd_tmpabuf_alloc(&tbuf, sizeof(*ti));
+ ti->topic = rd_tmpabuf_write_str(&tbuf, topic);
+ ti->partition_cnt = partition_cnt;
+ ti->partitions_internal = NULL;
+
+- if (total_racks_size) {
++ if (has_racks) {
+ ti->partitions_internal = rd_tmpabuf_alloc(
+ &tbuf, sizeof(*ti->partitions_internal) * partition_cnt);
+
+
diff --git a/dev-libs/librdkafka/librdkafka-1.8.2.ebuild b/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
deleted file mode 100644
index d5b761b1d74b..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..11} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/confluentinc/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-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/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-2.1.1.ebuild b/dev-libs/librdkafka/librdkafka-2.1.1.ebuild
deleted file mode 100644
index d5b761b1d74b..000000000000
--- a/dev-libs/librdkafka/librdkafka-2.1.1.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..11} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/confluentinc/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-
-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/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-2.2.0.ebuild b/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild
index 97719958e5ba..86c99f805fc2 100644
--- a/dev-libs/librdkafka/librdkafka-2.2.0.ebuild
+++ b/dev-libs/librdkafka/librdkafka-2.2.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"
@@ -16,7 +16,7 @@ if [[ ${PV} == "9999" ]]; then
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"
+ KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
fi
LICENSE="BSD-2"
@@ -33,8 +33,9 @@ LIB_DEPEND="
zstd? ( app-arch/zstd:=[static-libs(+)] )
sys-libs/zlib:=[static-libs(+)]
"
-
+# which: https://github.com/confluentinc/librdkafka/pull/4353
BDEPEND="
+ sys-apps/which
virtual/pkgconfig
${PYTHON_DEPS}
"
@@ -44,9 +45,12 @@ RDEPEND="net-misc/curl
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
}
diff --git a/dev-libs/libretls/libretls-3.8.1.ebuild b/dev-libs/libretls/libretls-3.8.1.ebuild
index 43546c20d021..8dd27de640a8 100644
--- a/dev-libs/libretls/libretls-3.8.1.ebuild
+++ b/dev-libs/libretls/libretls-3.8.1.ebuild
@@ -1,15 +1,17 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+inherit libtool
+
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"
+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:=
@@ -21,6 +23,18 @@ BDEPEND="
virtual/pkgconfig
"
+QA_CONFIG_IMPL_DECL_SKIP+=(
+ # checks for va_copy and __va_copy as a fallback, ignores result of
+ # latter if former exists. The latter is private and doesn't exist
+ # on musl; ignore it since it doesn't even matter. bug #906534
+ __va_copy
+)
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
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 c3f24b3439cc..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
diff --git a/dev-libs/librevenge/librevenge-9999.ebuild b/dev-libs/librevenge/librevenge-9999.ebuild
index 9d45c17d7403..be80365ea20e 100644
--- a/dev-libs/librevenge/librevenge-9999.ebuild
+++ b/dev-libs/librevenge/librevenge-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
@@ -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
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.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/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/yascreen/metadata.xml b/dev-libs/libscfg/metadata.xml
index a08688b11e34..acfe503566cd 100644
--- a/dev-libs/yascreen/metadata.xml
+++ b/dev-libs/libscfg/metadata.xml
@@ -6,6 +6,6 @@
<name>Arthur Zamarin</name>
</maintainer>
<upstream>
- <remote-id type="github">bbonev/yascreen</remote-id>
+ <remote-id type="sourcehut">~emersion/libscfg</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/libsecp256k1/Manifest b/dev-libs/libsecp256k1/Manifest
index e17591fb9c54..d00b8ba77df6 100644
--- a/dev-libs/libsecp256k1/Manifest
+++ b/dev-libs/libsecp256k1/Manifest
@@ -2,5 +2,7 @@ DIST libsecp256k1-0.3.0.tar.gz 2475682 BLAKE2B a531a87da63abc67a55e756852cde41cd
DIST libsecp256k1-0.3.1.tar.gz 2560292 BLAKE2B 70ff57e222dd47d0e63a40653d4e7b4e727f6bcb5abf005f15c94cf70e7d11843281d7406d2640b06a0f6a2c2f79cc66ea544cca761d1587973d57006ca39daf SHA512 58ec679625ef4663c94c7198ee953283106c1e027623c3de341277fa757265b822ad3c0e98019f9e425f0e9e414b03e6b62853a1581611813cce753e81845d0f
DIST libsecp256k1-0.3.2.tar.gz 2566680 BLAKE2B bf0a5ac1edbc115247148912822a2cefe798651f6c6a480422eee90eba96ebbfba772d561e321ac2bf7a0f8261f8ccd9f3af0e66e196f1e861aa550ee1303f27 SHA512 18104b72dd5d1f5e776d72c31c36247e450736437b453b59cf6ec86f84fedeafcf231e266c1ddad727befd9864c65a779000d01e6cef4b9a6485850afebc8a81
DIST libsecp256k1-0.4.0.tar.gz 2607093 BLAKE2B abbd68580e5e35478d74cad13e0e55a175d2000a0a071dc0812655a47ee262572c1e6944d2d5c8f3dd2b798a72e90be7b64d76f7be25e85ba2471e03254a8fb0 SHA512 84cc115a74d39bc4173012f321ae13195ae92bb96f1dcdcb01fe8392fd5b2437addfa63a1654d07f70e67f0ea6e27978134196442b9ae25bc6f9159ee9ef6527
+DIST libsecp256k1-0.4.1.tar.gz 2614189 BLAKE2B 50de3e2699afa6b80aa64b9c593a6eff98d779706fde3cbb9b54ae0b596c584538abfc9f6d03cdcfd92e6df46db287049a83609e4f5dbb197fd067202f728810 SHA512 68d057d6820ca77006a16d6997c1e8240480b2d6e8d6a4d68188c699c476b71a46850dd3bc217e53a2ebd518b4db37d669058d2104d89cb2a356ba54892ad447
+DIST libsecp256k1-0.5.0.tar.gz 1960832 BLAKE2B 118e3bb1d8e0a4493debae3b1feb68ff5a93348bbed32486779416cc2359dd65d8cfaa7bb47afca8b4ddb214b7ce05c9997896fd256ad73df35ec51a8966fe69 SHA512 b8511b0d8b581d371ee48f2c8a5a72930e7a0686a860200e56e83e2f58a63f2d781af75829d922e98f6648d361e20efde29abcf52c086b77647457c6c3586e78
DIST libsecp256k1-v0.1_pre20190401.tgz 166663 BLAKE2B 68c9fc3fda6af56452f32edeae5dcb5a92f68bc3fb39a397c532951c6392347df14ea0347bbe05cab43158512e0d9f5ea87bd8f69bece1b04440860ebb8065ee SHA512 8c4945e93cb5ff241482ba4426b25162a7ae3b26860edc10c91d06b1c396887202ad971f4d38e035828352531b87fc29087a12b675e43da44f23c9ea3b6c0cc8
DIST libsecp256k1-v0.1_pre20201028.tgz 200051 BLAKE2B 90d636049b411e02703feb2661006900a55f952f60e76e2b7147a5afe8e391a06a80d6ae1489b1e7f2382176c7ea831526465a85bca09156dc6d37b417fcb33b SHA512 54a0fa21b64dd6836e4227de51f3539afe06e0e2f352683397d6adb5dd0508af443d2e25f91e90e1ae366b261965fe7d438292314705baee799cf37421644958
diff --git a/dev-libs/libsecp256k1/files/0.2.0-fix-cross-compile.patch b/dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch
index a1db0826ebe2..1aec78d36589 100644
--- a/dev-libs/libsecp256k1/files/0.2.0-fix-cross-compile.patch
+++ b/dev-libs/libsecp256k1/files/0.3.0-fix-cross-compile.patch
@@ -1,6 +1,6 @@
https://github.com/bitcoin-core/secp256k1/pull/1159
-From 772e747bd9104d80fe531bed61f23f75342d7d63 Mon Sep 17 00:00:00 2001
+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
@@ -11,24 +11,26 @@ 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
+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 | 30 ++++++++++++++++++++++++------
+ Makefile.am | 35 +++++++++++++++++++++++++++--------
configure.ac | 1 +
- 2 files changed, 25 insertions(+), 6 deletions(-)
+ 2 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index 30b6a794d0..e929300298 100644
+index e3fdf4da..5e859c91 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -180,8 +180,26 @@ endif
+@@ -186,15 +186,34 @@ endif
endif
### Precomputed tables
@@ -36,9 +38,6 @@ index 30b6a794d0..e929300298 100644
-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
@@ -56,8 +55,21 @@ index 30b6a794d0..e929300298 100644
+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)
+-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:
@@ -74,10 +86,10 @@ index 30b6a794d0..e929300298 100644
PRECOMP = src/precomputed_ecmult_gen.c src/precomputed_ecmult.c
precomp: $(PRECOMP)
diff --git a/configure.ac b/configure.ac
-index a2a15d2b82..013964f5ff 100644
+index a46a0a7b..3b88d0d0 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -35,6 +35,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+@@ -32,6 +32,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_PROG_CC
AM_PROG_AS
AM_PROG_AR
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.3.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
index 41fde96356df..61e3902587f1 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,13 +21,13 @@ REQUIRED_USE="
schnorr? ( extrakeys )
"
BDEPEND="
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
virtual/pkgconfig
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
PATCHES=(
- "${FILESDIR}/0.2.0-fix-cross-compile.patch"
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
)
S="${WORKDIR}/${MyPN}-${PV}"
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
index 41fde96356df..61e3902587f1 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,13 +21,13 @@ REQUIRED_USE="
schnorr? ( extrakeys )
"
BDEPEND="
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
virtual/pkgconfig
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
PATCHES=(
- "${FILESDIR}/0.2.0-fix-cross-compile.patch"
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
)
S="${WORKDIR}/${MyPN}-${PV}"
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
index 429b2f2fcc17..8a347f00c909 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,13 +21,13 @@ REQUIRED_USE="
schnorr? ( extrakeys )
"
BDEPEND="
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
virtual/pkgconfig
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
PATCHES=(
- "${FILESDIR}/0.2.0-fix-cross-compile.patch"
+ "${FILESDIR}/0.3.0-fix-cross-compile.patch"
)
S="${WORKDIR}/${MyPN}-${PV}"
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
index b5d23954a912..a5459332d0dc 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,13 +21,13 @@ REQUIRED_USE="
schnorr? ( extrakeys )
"
BDEPEND="
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
virtual/pkgconfig
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
PATCHES=(
- "${FILESDIR}/0.2.0-fix-cross-compile.patch"
+ "${FILESDIR}/0.4.0-fix-cross-compile.patch"
)
S="${WORKDIR}/${MyPN}-${PV}"
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
new file mode 100644
index 000000000000..fcf78c907148
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh +ellswift experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.4.0-fix-cross-compile.patch"
+)
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}ellswift)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(use_with asm asm "$(usex arm arm32 auto)")
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-precision=2')
+ $(use_with valgrind)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/libsecp256k1-0.5.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.5.0.ebuild
new file mode 100644
index 000000000000..8552fa52421f
--- /dev/null
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.5.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MyPN=secp256k1
+
+DESCRIPTION="Optimized C library for EC operations on curve secp256k1"
+HOMEPAGE="https://github.com/bitcoin-core/secp256k1"
+SRC_URI="https://github.com/bitcoin-core/secp256k1/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${MyPN}-${PV}"
+
+LICENSE="MIT"
+SLOT="0/2" # subslot is "$((_LIB_VERSION_CURRENT-_LIB_VERSION_AGE))" from configure.ac
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+asm +ecdh +ellswift experimental +extrakeys lowmem +recovery +schnorr test valgrind"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ asm? ( || ( amd64 arm ) arm? ( experimental ) )
+ schnorr? ( extrakeys )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ valgrind? ( dev-debug/valgrind )
+"
+
+PATCHES=(
+ "${FILESDIR}/0.4.0-fix-cross-compile.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # Generate during build
+ rm -f src/precomputed_ecmult.c src/precomputed_ecmult_gen.c || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-benchmark
+ $(use_enable experimental)
+ $(use_enable test tests)
+ $(use_enable test exhaustive-tests)
+ $(use_enable {,module-}ecdh)
+ $(use_enable {,module-}ellswift)
+ $(use_enable {,module-}extrakeys)
+ $(use_enable {,module-}recovery)
+ $(use_enable schnorr module-schnorrsig)
+ $(use_with asm asm "$(usex arm arm32 auto)")
+ $(usev lowmem '--with-ecmult-window=4 --with-ecmult-gen-kb=2')
+ $(use_with valgrind)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libsecp256k1/metadata.xml b/dev-libs/libsecp256k1/metadata.xml
index a4e62efff1ff..24f2a54f77f1 100644
--- a/dev-libs/libsecp256k1/metadata.xml
+++ b/dev-libs/libsecp256k1/metadata.xml
@@ -10,7 +10,6 @@
<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>
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/libsigc++/Manifest b/dev-libs/libsigc++/Manifest
index 7e682adae929..399171deb23e 100644
--- a/dev-libs/libsigc++/Manifest
+++ b/dev-libs/libsigc++/Manifest
@@ -1,3 +1,2 @@
DIST libsigc++-2.12.0.tar.xz 5002560 BLAKE2B f4d42dfbac95be974a5e49a7bcfd4c97fb0423f5bcc9d0bda79e6cee6bab54ae77969a3e5c58094264068c38212a0ff66b3dae2a519c4101bdfa170e94767641 SHA512 88e382e274a574a4b6129e23916054642e1696c663a4bb84f05e14a401f0cb56d0a0bf8c3a6273aec36ce121ce18a338b6d491fb213bcdf5a627bd382719e021
-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.12.0.ebuild b/dev-libs/libsigc++/libsigc++-2.12.0.ebuild
index 79093484ceae..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ 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.4.0.ebuild b/dev-libs/libsigc++/libsigc++-3.4.0.ebuild
deleted file mode 100644
index c5f561819737..000000000000
--- a/dev-libs/libsigc++/libsigc++-3.4.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 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-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
index bb9a2911122d..38c4be7f1d0c 100644
--- a/dev-libs/libsigc++/libsigc++-3.6.0.ebuild
+++ b/dev-libs/libsigc++/libsigc++-3.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
@@ -10,13 +10,13 @@ HOMEPAGE="https://libsigcplusplus.github.io/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"
+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-doc/doxygen[dot]
+ app-text/doxygen[dot]
dev-lang/perl
dev-libs/libxslt
)
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.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/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 35b788ea8cb1..4d9f70e54033 100644
--- a/dev-libs/libsodium/Manifest
+++ b/dev-libs/libsodium/Manifest
@@ -1,4 +1,4 @@
-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
+DIST libsodium-1.0.20.tar.gz 1925167 BLAKE2B 2f1d8b2dc8a65f95433132b12bdccb7e0e4750326b05c4f42ddd3a74bf568faa2515384bfe94bba2ef420aff35c515d3d44945ea5a68f72e6a73b3a9b5bb234c SHA512 7ea165f3c1b1609790e30a16348b9dfdc5731302da00c07c65e125c8ab115c75419a5631876973600f8a4b560ca2c8267001770b68f2eb3eebc9ba095d312702
+DIST libsodium-1.0.20.tar.gz.minisig 318 BLAKE2B b5939a9ca9b25332c39484b3ef02ced54aa75b2dc732d384d4f42daa0b6bd276f0c3359a8cbe8c97d8ab76b8c49e9f66959dcf350e3cf00fae10a279826109ae SHA512 fc5a4282093d58eb42559f88ccf75ea3788449afda9d882d313714e448e78ef11c22ff1e52091af026f6bf3ba01917d606040b1dca240dd1a32278c901b4affb
diff --git a/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch b/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch
index e03a703d7fae..a2fa6a42df38 100644
--- a/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch
+++ b/dev-libs/libsodium/files/libsodium-1.0.19-cpuflags.patch
@@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -344,6 +344,10 @@
+@@ -524,6 +524,10 @@ AS_IF([test "x$EMSCRIPTEN" = "x"], [
[AC_MSG_RESULT(no)])
CFLAGS="$oldcflags"
@@ -11,7 +11,7 @@
oldcflags="$CFLAGS"
AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"])
AC_MSG_CHECKING(for SSE4.1 instructions set)
-@@ -356,6 +360,7 @@
+@@ -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"
@@ -19,8 +19,8 @@
oldcflags="$CFLAGS"
AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"])
-@@ -393,6 +398,10 @@
- [AC_MSG_RESULT(no)])
+@@ -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)],
@@ -30,7 +30,7 @@
oldcflags="$CFLAGS"
AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"])
AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"])
-@@ -410,6 +419,7 @@
+@@ -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.19_p20240117.ebuild
index bcd05ad21ed0..3654a117b23e 100644
--- a/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
+++ b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -30,17 +30,21 @@ fi
S="${WORKDIR}"/${PN}-stable
LICENSE="ISC"
-SLOT="0/23"
+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"
+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.10-cpuflags.patch
+ "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch
)
src_prepare() {
@@ -54,7 +58,6 @@ multilib_src_configure() {
$(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)
)
diff --git a/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild b/dev-libs/libsodium/libsodium-1.0.20.ebuild
index 79f1225f2022..35a5bc16739b 100644
--- a/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild
+++ b/dev-libs/libsodium/libsodium-1.0.20.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
@@ -20,6 +20,7 @@ if [[ ${PV} == *_p* ]] ; then
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 )
"
+ S="${WORKDIR}"/${PN}-stable
else
SRC_URI="
https://download.libsodium.org/${PN}/releases/${P}.tar.gz
@@ -27,20 +28,22 @@ else
"
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"
+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.10-cpuflags.patch
+ "${FILESDIR}"/${PN}-1.0.19-cpuflags.patch
)
src_prepare() {
@@ -54,7 +57,6 @@ multilib_src_configure() {
$(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)
)
diff --git a/dev-libs/libsodium/metadata.xml b/dev-libs/libsodium/metadata.xml
index 0b0b71123240..2b16ac29aaae 100644
--- a/dev-libs/libsodium/metadata.xml
+++ b/dev-libs/libsodium/metadata.xml
@@ -14,7 +14,6 @@
packageable fork of NaCl, with a compatible API.
</longdescription>
<use>
- <flag name="asm">Enables assembly implementations</flag>
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
</use>
<upstream>
diff --git a/dev-libs/libspnav/libspnav-0.2.3-r1.ebuild b/dev-libs/libspnav/libspnav-0.2.3-r1.ebuild
index 34350b98da4a..b10f9ecccbb6 100644
--- a/dev-libs/libspnav/libspnav-0.2.3-r1.ebuild
+++ b/dev-libs/libspnav/libspnav-0.2.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -8,7 +8,7 @@ inherit toolchain-funcs
MY_PN='spacenav'
DESCRIPTION="libspnav is a replacement for the magellan library with a cleaner API"
HOMEPAGE="http://spacenav.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/${MY_PN}/${MY_PN}%20library%20%28SDK%29/${PN}%20${PV}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/project/${MY_PN}/${MY_PN}%20library%20%28SDK%29/${PN}%20${PV}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv x86"
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 fd74dd5d1a75..12475731329b 100644
--- a/dev-libs/libstrophe/Manifest
+++ b/dev-libs/libstrophe/Manifest
@@ -1,3 +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/libstrophe-0.12.2.ebuild b/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
index 1e4a8b48e633..304dae8e12ed 100644
--- a/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
+++ b/dev-libs/libstrophe/libstrophe-0.12.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,7 +27,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
DOCS=( ChangeLog )
diff --git a/dev-libs/libstrophe/libstrophe-0.12.3.ebuild b/dev-libs/libstrophe/libstrophe-0.12.3.ebuild
index 91a9e0077adc..f195859a711c 100644
--- a/dev-libs/libstrophe/libstrophe-0.12.3.ebuild
+++ b/dev-libs/libstrophe/libstrophe-0.12.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -25,7 +25,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
"
DOCS=( ChangeLog )
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/libtecla/libtecla-1.6.3-r1.ebuild b/dev-libs/libtecla/libtecla-1.6.3-r1.ebuild
index d0214a052aab..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -33,6 +33,20 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # ld: <artificial>:(.text.startup+0x6c): undefined reference to `libtecla_version'
+ #
+ # For some mysterious reason this is running $LD directly to link the
+ # shared library rather than use the compiler as the linker driver. As a
+ # result -flto is effectively a no-op *at link time* and the shared library
+ # contains... nothing. Because it didn't process the bytecode. Of course,
+ # nothing can then link to it.
+ #
+ # https://bugs.gentoo.org/772014
+ filter-lto
+ default
+}
+
src_compile() {
emake \
OPT="" \
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/libtermkey-0.22-r1.ebuild b/dev-libs/libtermkey/libtermkey-0.22-r1.ebuild
index 43f3b466ee2f..007a700a66e2 100644
--- a/dev-libs/libtermkey/libtermkey-0.22-r1.ebuild
+++ b/dev-libs/libtermkey/libtermkey-0.22-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
@@ -19,7 +19,7 @@ DEPEND="
${RDEPEND}
"
BDEPEND="
- sys-devel/libtool
+ dev-build/libtool
virtual/pkgconfig
demos? ( dev-libs/glib:2 )
"
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/libthreadar/libthreadar-1.4.0.ebuild b/dev-libs/libthreadar/libthreadar-1.4.0-r1.ebuild
index 6fd22b2a4b63..33b93bcbee7e 100644
--- a/dev-libs/libthreadar/libthreadar-1.4.0.ebuild
+++ b/dev-libs/libthreadar/libthreadar-1.4.0-r1.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
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Threading library used by dar archiver"
HOMEPAGE="https://sourceforge.net/projects/libthreadar/"
-SRC_URI="mirror://sourceforge/libthreadar/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/libthreadar/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
@@ -16,17 +16,20 @@ KEYWORDS="amd64 ppc sparc x86"
src_prepare() {
default
- # this is an example binary that is not installed
- # the original Makefile tries to compile it statically,
- # no longer supported
- sed -i -e '/^test_barrier_LDFLAGS/d' doc/examples/Makefile.am || die
+ # don't build examples, they are not installed
+ sed -i -e '/^SUBDIRS =/d' doc/Makefile.am || die
eautoreconf
}
+src_configure() {
+ econf --disable-build-html
+}
+
src_install() {
emake DESTDIR="${D}" pkgdatadir="${EPREFIX}"/usr/share/doc/${PF}/html install
einstalldocs
+ rm -r "${ED}"/usr/share/doc/${PF}/html || die
find "${ED}" -name '*.la' -delete || die
}
diff --git a/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild b/dev-libs/libtomcrypt/libtomcrypt-1.18.2-r4.ebuild
index da71154a8a6b..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -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 701ebd802e6a..433619a4f62c 100644
--- a/dev-libs/libtommath/Manifest
+++ b/dev-libs/libtommath/Manifest
@@ -1,2 +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 b2a350766738..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 ~arm64-macos ~ppc-macos ~x64-macos ~x64-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
index b912b8045eae..4c2227c298fa 100644
--- a/dev-libs/libtommath/libtommath-1.2.1.ebuild
+++ b/dev-libs/libtommath/libtommath-1.2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ 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="sys-devel/libtool"
+BDEPEND="dev-build/libtool"
PATCHES=(
"${FILESDIR}"/${PN}-1.2.0-sparc.patch
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 195d6b5bee98..268f70c14099 100644
--- a/dev-libs/libtraceevent/Manifest
+++ b/dev-libs/libtraceevent/Manifest
@@ -1,3 +1,2 @@
-DIST libtraceevent-1.6.3.tar.gz 140072 BLAKE2B 416fa68e2604c3cc71323171b084261e38f08f630a03afda0e2ecc4860c8b08dae10b2abaa2afae54d2b4e382720b43a6616a9ab8599759de102af918eeb24fc SHA512 8064eb18dda6fdbff020759ed92e785b87d34be9ebc30cb6085785edeb8d7252cabf8d33d8738a3ec407672a3d891884d0f0b4c551fce26c76fa8eaf61b9e2f5
-DIST libtraceevent-1.7.2.tar.gz 148242 BLAKE2B 03eae9ea7a8cdf6b015af95031d6fbe8638361f8b0db836f48e9ef47c814465fad583440f80f0103e08758712bd24f7562e1a8678ab24d4a1749a0b88efa7a85 SHA512 aa6d14e6d2e8e64c7d53ba9f93d47331d5f1b5a5a624891ec18a08b0d4e3e82f7845d29957bb3fe4360151bb5870a67c69d5cb1f758bb2956d946221f186546e
DIST libtraceevent-1.7.3.tar.gz 152363 BLAKE2B dcbca01f2246045f4f2377f91118e2468bca4344686b9e0349d04270543fea5648d5c227bdaf6e716d623bab8d03cec7a869bf67d03ca6a7836014854bbe40b8 SHA512 81302cb24a3fc71e8bd6a0ba975a2699eaa629ac0e90837bf8fc8e23e04156827d19b25544cdb506b0bf76d5f08699264c9ecb979f9218bdee6b0b0e7339b1e0
+DIST libtraceevent-1.8.2.tar.gz 155682 BLAKE2B afadd9f559bdc071b3741ce42b8bf0c320523f2b39c437bcf4180f277eb804c33b2feac447fae15a869164475fb5f019ef171b69be32c46b74e5f22a3ed3808b SHA512 52b7a23e8bf04feaa568199c99c98217fcb8df1b99d46197ef9edcea19b42e71ff9d2e6c45ebf5335ec782d636ad3d14be4acae5a9e5158650f5f62813081fa2
diff --git a/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild b/dev-libs/libtraceevent/libtraceevent-1.6.3.ebuild
deleted file mode 100644
index 4be481f862ec..000000000000
--- a/dev-libs/libtraceevent/libtraceevent-1.6.3.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 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
deleted file mode 100644
index 7e83bab0bd27..000000000000
--- a/dev-libs/libtraceevent/libtraceevent-1.7.2.ebuild
+++ /dev/null
@@ -1,59 +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 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
index a7e867c7ad0e..e19e80f863c1 100644
--- a/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild
+++ b/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -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 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
fi
LICENSE="LGPL-2.1"
diff --git a/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild b/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild
new file mode 100644
index 000000000000..4fa3852012cb
--- /dev/null
+++ b/dev-libs/libtraceevent/libtraceevent-1.8.2.ebuild
@@ -0,0 +1,48 @@
+# 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
+ -Ddoc=$(usex doc true 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 234705e75a8f..fcc9ea55ab68 100644
--- a/dev-libs/libtracefs/Manifest
+++ b/dev-libs/libtracefs/Manifest
@@ -1,4 +1,2 @@
-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
+DIST libtracefs-1.8.0.tar.gz 224662 BLAKE2B 06ee6872ec5cd6c671ee2ddd3de19356ffa560b3ae20318e36be6a95bfe37bf61233841e32c530ab0a3463d13dd57ff1b09bba296663b25d76da2a2ea3e89f51 SHA512 2d9728186de63f03a2222d56efe6b373c038519ad1e81dd10d97640c296696df6b0661743dcd9e851edda5225342ea10a8746434439f7ad878e26780b797eb6c
diff --git a/dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch b/dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch
new file mode 100644
index 000000000000..15000318863d
--- /dev/null
+++ b/dev-libs/libtracefs/files/libtracefs-1.8.0-mmap.patch
@@ -0,0 +1,25 @@
+Subject: [PATCH] libtracefs meson: build tracefs-mmap by default
+
+Accordingly to Makefile let's add tracefs-mmap.c to build, this is needed
+for linking by other object files.
+
+Link: https://lore.kernel.org/linux-trace-devel/20240110203925.266999-1-giulio.benetti@benettiengineering.com
+---
+ src/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/meson.build b/src/meson.build
+index 5b76554..f7a98b9 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -11,6 +11,7 @@ sources= [
+ 'tracefs-instance.c',
+ 'tracefs-kprobes.c',
+ 'tracefs-marker.c',
++ 'tracefs-mmap.c',
+ 'tracefs-record.c',
+ 'tracefs-sqlhist.c',
+ 'tracefs-tools.c',
+--
+2.43.0
+
diff --git a/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild b/dev-libs/libtracefs/libtracefs-1.6.1-r2.ebuild
deleted file mode 100644
index e5a02ff37b52..000000000000
--- a/dev-libs/libtracefs/libtracefs-1.6.1-r2.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 ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="doc"
-
-RDEPEND="
- !<dev-util/trace-cmd-3.1.4-r2
- >=dev-libs/libtraceevent-1.3.0
-"
-DEPEND="${RDEPEND}"
-# source-highlight is needed, see bug https://bugs.gentoo.org/865469
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight )
-"
-
-src_configure() {
- EMAKE_FLAGS=(
- "prefix=${EPREFIX}/usr"
- "libdir=${EPREFIX}/usr/$(get_libdir)"
- "CC=$(tc-getCC)"
- "AR=$(tc-getAR)"
- VERBOSE=1
- )
-}
-
-src_compile() {
- emake "${EMAKE_FLAGS[@]}"
- use doc && emake doc
-}
-
-src_install() {
- emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install
- # can't prevent installation of the static lib with parameters
- rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die
- # install-doc is wrong target, see https://bugs.gentoo.org/865465
- use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc
-}
diff --git a/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild b/dev-libs/libtracefs/libtracefs-1.6.3-r2.ebuild
deleted file mode 100644
index 8586159db3f2..000000000000
--- a/dev-libs/libtracefs/libtracefs-1.6.3-r2.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.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
index b2e0b6f71a60..4102ebe264f6 100644
--- a/dev-libs/libtracefs/libtracefs-1.7.0.ebuild
+++ b/dev-libs/libtracefs/libtracefs-1.7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
else
SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
fi
LICENSE="LGPL-2.1"
@@ -30,8 +30,8 @@ BDEPEND="
app-text/asciidoc
app-text/xmlto
dev-util/source-highlight
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/yacc
+ app-alternatives/lex
virtual/pkgconfig
"
diff --git a/dev-libs/libtracefs/libtracefs-1.8.0.ebuild b/dev-libs/libtracefs/libtracefs-1.8.0.ebuild
new file mode 100644
index 000000000000..b1d311a9f1cc
--- /dev/null
+++ b/dev-libs/libtracefs/libtracefs-1.8.0.ebuild
@@ -0,0 +1,53 @@
+# 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-libs/libtraceevent-1.8.1
+"
+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
+"
+
+PATCHES=( "${FILESDIR}/${P}-mmap.patch" )
+
+src_configure() {
+ local emesonargs=(
+ -Dasciidoctor=false
+ -Ddoc=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/files/libtsm-clang16-static_assert-fix.patch b/dev-libs/libtsm/files/libtsm-clang16-static_assert-fix.patch
new file mode 100644
index 000000000000..702ae5faaa4d
--- /dev/null
+++ b/dev-libs/libtsm/files/libtsm-clang16-static_assert-fix.patch
@@ -0,0 +1,10 @@
+Bug: https://bugs.gentoo.org/895052
+--- a/cmake/CompileOptions.cmake
++++ b/cmake/CompileOptions.cmake
+@@ -1,5 +1,5 @@
+ # Set compiler flags
+-set(CMAKE_C_STANDARD 99)
++set(CMAKE_C_STANDARD 11)
+ set(CMAKE_C_STANDARD_REQUIRED ON)
+
+ # analogous to AC_USE_SYSTEM_EXTENSIONS in configure.ac
diff --git a/dev-libs/libtsm/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..c61a7f827c19
--- /dev/null
+++ b/dev-libs/libtsm/libtsm-4.0.2_p20231223.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="69922bde02c7af83b4d48a414cc6036af7388626"
+
+DESCRIPTION="Terminal Emulator State Machine"
+HOMEPAGE="https://github.com/Aetf/libtsm"
+SRC_URI="https://github.com/Aetf/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-${COMMIT}
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/4"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-cmake.patch"
+ "${FILESDIR}/${PN}-clang16-static_assert-fix.patch"
+)
diff --git a/dev-libs/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/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 ebde696ff28f..dd5efae43147 100644
--- a/dev-libs/libunibreak/Manifest
+++ b/dev-libs/libunibreak/Manifest
@@ -1,4 +1,5 @@
DIST libunibreak-5.1.tar.gz 658914 BLAKE2B 005cd37102f4f55616ef0f2273bcb546331f67156c24a003bbb101dc0db091bcb514bffb7cc879f809f6cc71a61674fb722d711d50e55dd8074b01d2d6774d18 SHA512 c7762c0a5212a69de69fde7dcb3281e0d642a27da881337a6b0f71fac84fd097940dc92059d3daaf91dd21ae8b77d835432da058371958d0eb15af30077e2fba
+DIST libunibreak-6.1.tar.gz 855733 BLAKE2B 05963c0131c73e7064dc34a2db88ea121f3ec8a7dbd83adaccbcea61a02af8de6b5a26b39df46f6295a5f6572db20a7c3bf83e882fa99a7a2bbe42b378b26488 SHA512 8ffde29a9b90ddcbfabb61d7302ffe3b17473cd6d30fe1a4403d857e6191291d7e7a6f23bde58654155ed95f4a0f31e082cdf424a82da46722a811291ef38c2f
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-5.1.ebuild b/dev-libs/libunibreak/libunibreak-5.1.ebuild
index 3373480cfa3b..c596121919ed 100644
--- a/dev-libs/libunibreak/libunibreak-5.1.ebuild
+++ b/dev-libs/libunibreak/libunibreak-5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
IUSE="doc +man static-libs test"
RESTRICT="!test? ( test )"
-BDEPEND="man? ( app-doc/doxygen )"
+BDEPEND="man? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/libunibreak/libunibreak-6.1.ebuild b/dev-libs/libunibreak/libunibreak-6.1.ebuild
new file mode 100644
index 000000000000..27788c50f109
--- /dev/null
+++ b/dev-libs/libunibreak/libunibreak-6.1.ebuild
@@ -0,0 +1,53 @@
+# 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"
+
+LICENSE="ZLIB"
+SLOT="0/6"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~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
+}
+
+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/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-r2.ebuild b/dev-libs/libuninum/libuninum-2.7-r3.ebuild
index e908d0c3b217..1721edb6fe32 100644
--- a/dev-libs/libuninum/libuninum-2.7-r2.ebuild
+++ b/dev-libs/libuninum/libuninum-2.7-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,6 +13,14 @@ 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
diff --git a/dev-libs/libunique/libunique-1.1.6-r2.ebuild b/dev-libs/libunique/libunique-1.1.6-r3.ebuild
index 5b975f5b0fa5..ed73d65d71df 100644
--- a/dev-libs/libunique/libunique-1.1.6-r2.ebuild
+++ b/dev-libs/libunique/libunique-1.1.6-r3.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
GNOME2_LA_PUNT="yes"
GNOME_TARBALL_SUFFIX="bz2"
@@ -21,17 +22,18 @@ RDEPEND="
x11-libs/libX11
dbus? (
>=dev-libs/dbus-glib-0.70
- sys-apps/dbus[X] )
+ sys-apps/dbus[X]
+ )
introspection? ( >=dev-libs/gobject-introspection-0.6.3:= )
"
DEPEND="${RDEPEND}
dev-util/glib-utils
- >=dev-util/gtk-doc-am-1.11
+ >=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()
@@ -50,7 +52,6 @@ PATCHES=(
src_configure() {
gnome2_src_configure \
--disable-maintainer-flags \
- --disable-static \
--enable-bacon \
$(use_enable introspection) \
$(usex debug --enable-debug=yes ' ') \
@@ -58,7 +59,7 @@ src_configure() {
}
src_test() {
- cd "${S}/tests"
+ 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-r2.ebuild
index 224fb3f7ce2c..8d2bab6fbd94 100644
--- a/dev-libs/libunique/libunique-3.0.2-r1.ebuild
+++ b/dev-libs/libunique/libunique-3.0.2-r2.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
GNOME2_LA_PUNT="yes"
inherit gnome2 virtualx
@@ -11,7 +12,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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="debug +introspection"
RDEPEND="
@@ -23,16 +24,15 @@ 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
gnome2_src_configure \
- --disable-static \
--disable-maintainer-flags \
--disable-dbus \
$(usex debug --enable-debug=yes ' ') \
@@ -40,7 +40,7 @@ src_configure() {
}
src_test() {
- cd "${S}/tests"
+ 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 6a6a1774cab7..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ 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 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc static-libs"
diff --git a/dev-libs/libunistring/libunistring-1.1-r1.ebuild b/dev-libs/libunistring/libunistring-1.1-r1.ebuild
index 70aecb4e8b93..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-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="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"
+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..46e9e200aa8d
--- /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/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..9586c4d8b9df
--- /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/libutf8proc/Manifest b/dev-libs/libutf8proc/Manifest
index a564bb2b646f..29cd3c50b814 100644
--- a/dev-libs/libutf8proc/Manifest
+++ b/dev-libs/libutf8proc/Manifest
@@ -1,4 +1,2 @@
-DIST libutf8proc-2.8.0.tar.gz 190310 BLAKE2B 61b5af770ad65f959136eb9f5c03862f8d6edab32dc66fa663f6f76009c7481200fcba632d41efdf116f0f56f62fc237cd65e1038ab058fc127358d31ed3ee6d SHA512 4b9853fc95db38bee1d7435bef219907e25b249e0c2ec26f7096b8506ab2a139a8d4b71f7133b7550bff59d8f997fe01c2957d362cad18d890ad82bcf158aa06
DIST libutf8proc-2.9.0.tar.gz 190190 BLAKE2B 9f259bb4eea31c95f586f8f7711cc69959d5c1aaa15b940327d6e2cc909e3a7a46dd864fa1c1fe606cd7176f7fbcfaafbb54dcbf3f2ea6d285346d96f628b72b SHA512 fef52e9fabd77efdd42c31a96a80c792cb912ad3158354cec6b260c81062444e35dd0c9c8ff311fe6a540f0022dc2f26f007afd2578e86a31a0ac74ecfc3456f
-DIST libutf8proc-EastAsianWidth-15.0.0.xz 71296 BLAKE2B 701451cd6576d62ad4bc9c2d140ba78743b3fa5b062b40c2aaf47c02f5c3dc520a89fd51de4b46718c319c0ff2520e09cb39719cf73c044a14aa882b704cba12 SHA512 8b7a3b6cf56a98147ff5f64066a17c71247ae829bbdc10f758991aadf13b38a242a7f72ce13fdd4816117a0db98c084f0f9f32228817c9c2f31599955bb1e8fc
DIST libutf8proc-EastAsianWidth-15.1.0.xz 71448 BLAKE2B 4f4bc996c4fc316b7f48b59c38e2b515ecdc7c1cf0a06db093d3ae8255cb03fd380d3f28f629140b3dbbb202bdc522f3593388ff917c76388ea5f2143527ab81 SHA512 d269cd963a2e3326881a127b368b17638775ba581f36cac5de29f99a4971cc4bd21801bacb0a7958bab75fe5b075e69dd38a3ebedab8d02ed2c9feeff28e3b58
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 cc65212252a6..000000000000
--- a/dev-libs/libutf8proc/libutf8proc-2.8.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"
-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}/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 ~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
index 8ef86f7679c1..7b01fcb92ad9 100644
--- a/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild
+++ b/dev-libs/libutf8proc/libutf8proc-2.9.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"
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/JuliaStrings/${PN#lib}/releases/download/v${PV}/${P#
LICENSE="MIT"
SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+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 )"
diff --git a/dev-libs/libuv/Manifest b/dev-libs/libuv/Manifest
index e84f057fa9c9..1c5d46d282d2 100644
--- a/dev-libs/libuv/Manifest
+++ b/dev-libs/libuv/Manifest
@@ -1,4 +1,2 @@
-DIST libuv-1.44.2.tar.gz 1309062 BLAKE2B 883a1fbffcd8f55bf28ea5a79ed18aa3e2f2fac126285e8aca2ef9370eafc62f69f95ddb8bf27d4159e038bfb0a01abafdf0dadbc4309e5d31f0e77057ee84ac SHA512 d21c890787b0b364fafa5fc0cbbff296bc2ca269e1991d2f7f35fcb37b8634da377466f5af5a4245425fcf876ae6870d100ab32b12bce64f8e0b01fd25a1bc83
-DIST libuv-1.45.0.tar.gz 1307245 BLAKE2B fcd9aad052cf641e5e974b1e3c47bef7968474f4b0e38363559719a164867ce6e67630c1d0fd0386da22ba5b82e35c6ca946b7509a8a08f08f972388e70a40b9 SHA512 a156dd0ed06bc7c50515f46ef6e5636d870288636f442ce9ec46716e22fdaa664ce49e432f4737c81e9c6013b34ed150e7420ab9fc316ed23281096954359774
-DIST libuv-1.46.0.tar.gz 1311065 BLAKE2B fd492b6ca873a08ad4df7561b9d83a09d9bd2cbc10c17265c02982a231edb5c6d71698aecc9a14d455ea230f9e791807f42561d8b3c96e37edb4a709860859b0 SHA512 e3a7c10ffd909f9b128fb2316e09b8456e87278107178b49368f31ba30e7f62d64e7eba650cc59ef2d7eb178199c7a2c5b5c99b333849200492235116d7aee7a
-DIST libuv-1.47.0.tar.gz 1316016 BLAKE2B 6c530f8625366a9bf3f99ac4eb6b3bf3d4f6a05f98848e08cdab884934d79862cf8e79dd2d506ec734d701faab517eba2215063dce4b4216add5cfd6bfebd82e SHA512 3d0e76c4e29c5de14fddda07409f8db30dc64261d1c0bdfce7f70eb8f5ac911707fe662e81c4f117e4068cb0728158fc2b8255f8aa497c0f688e46c7fb93a5b3
+DIST libuv-1.48.0.tar.gz 1314877 BLAKE2B 7595797ab732109516ce280fa2efa3474e82e78890087408c7f5b1457ce8f44e53878581bb8d473795e298d7390dd8a269dd2e8970e10b50a2c0bbe1cce187cc SHA512 7ae3a4c02f654a26056db1541e52ccc4c54aaea39c33585f0cf6949af997d0a0a29f30a294c8df6e92f6f6af7ce64c2766b1a2cc67f342e3e139cd55b7326c94
+DIST libuv-1.48.0.tar.gz.sig 833 BLAKE2B f0982f7723fa81afe3fe668fc4497fb182a6093f38b185aba4f7359a3248062e7953acaba3f7fd739c9ff5b590664e4b7b81ee138442ffccd46c989c0a10345b SHA512 3a6441bb250badb7bb54a102dd7a1cf47ee4e0ed93ff0369c5b6a4b1e5440e613d85530f19c9ebdc586a97dfe1e06af09e2f90c13448e875dbaee1c703efa955
diff --git a/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch b/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch
deleted file mode 100644
index 1871ae221395..000000000000
--- a/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://github.com/libuv/libuv/commit/f1444293652cf5478a67b9305271d73ad6d36232
-
-From f1444293652cf5478a67b9305271d73ad6d36232 Mon Sep 17 00:00:00 2001
-From: matoro <12038583+matoro@users.noreply.github.com>
-Date: Wed, 15 Nov 2023 17:57:06 -0500
-Subject: [PATCH] linux: disable io_uring on hppa below kernel 6.1.51 (#4224)
-
-First kernel with support is 6.1, was only fully functional from .51
-onwards: https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/
-
-Co-authored-by: matoro <matoro@users.noreply.github.com>
---- a/src/unix/linux.c
-+++ b/src/unix/linux.c
-@@ -487,8 +487,16 @@ static int uv__use_io_uring(void) {
- use = atomic_load_explicit(&use_io_uring, memory_order_relaxed);
-
- if (use == 0) {
-+ use = uv__kernel_version() >=
-+#if defined(__hppa__)
-+ /* io_uring first supported on parisc in 6.1, functional in .51 */
-+ /* https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ */
-+ /* 6.1.51 */ 0x060133
-+#else
- /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */
-- use = uv__kernel_version() >= /* 5.10.186 */ 0x050ABA ? 1 : -1;
-+ /* 5.10.186 */ 0x050ABA
-+#endif
-+ ? 1 : -1;
-
- /* But users can still enable it if they so desire. */
- val = getenv("UV_USE_IO_URING");
-
diff --git a/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch b/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch
deleted file mode 100644
index 20176dc7aba0..000000000000
--- a/dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-https://github.com/libuv/libuv/issues/4211
-https://github.com/libuv/libuv/pull/4220
-https://github.com/libuv/libuv/commit/54d8364c2406758b572621af381f1d83e01ae46c
-
-From 54d8364c2406758b572621af381f1d83e01ae46c Mon Sep 17 00:00:00 2001
-From: Ben Noordhuis <info@bnoordhuis.nl>
-Date: Tue, 14 Nov 2023 22:09:30 +0100
-Subject: [PATCH] test: check if ipv6 link-local traffic is routable (#4220)
-
-Fixes: https://github.com/libuv/libuv/issues/4211
---- a/test/test-tcp-connect6-error.c
-+++ b/test/test-tcp-connect6-error.c
-@@ -23,6 +23,7 @@
- #include "task.h"
- #include <stdio.h>
- #include <stdlib.h>
-+#include <string.h>
-
-
- static int connect_cb_called = 0;
-@@ -75,9 +76,13 @@ TEST_IMPL(tcp_connect6_error_fault) {
-
-
- TEST_IMPL(tcp_connect6_link_local) {
-+ uv_interface_address_t* ifs;
-+ uv_interface_address_t* p;
- struct sockaddr_in6 addr;
- uv_connect_t req;
- uv_tcp_t server;
-+ int ok;
-+ int n;
-
- if (!can_ipv6())
- RETURN_SKIP("IPv6 not supported");
-@@ -90,6 +95,18 @@ TEST_IMPL(tcp_connect6_link_local) {
- RETURN_SKIP("Test does not currently work in QEMU");
- #endif /* defined(__QEMU__) */
-
-+ /* Check there's an interface that routes link-local (fe80::/10) traffic. */
-+ ASSERT_OK(uv_interface_addresses(&ifs, &n));
-+ for (p = ifs; p < &ifs[n]; p++)
-+ if (p->address.address6.sin6_family == AF_INET6)
-+ if (!memcmp(&p->address.address6.sin6_addr, "\xfe\x80", 2))
-+ break;
-+ ok = (p < &ifs[n]);
-+ uv_free_interface_addresses(ifs, n);
-+
-+ if (!ok)
-+ RETURN_SKIP("IPv6 link-local traffic not supported");
-+
- ASSERT_OK(uv_ip6_addr("fe80::0bad:babe", 1337, &addr));
- ASSERT_OK(uv_tcp_init(uv_default_loop(), &server));
-
-
diff --git a/dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch b/dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch
new file mode 100644
index 000000000000..6cefebacf2af
--- /dev/null
+++ b/dev-libs/libuv/files/libuv-1.48.0-test-thread-priority-portage.patch
@@ -0,0 +1,21 @@
+This test fails in Portage with aggressive PORTAGE_NICENESS, PORTAGE_IONICE_COMMAND,
+and PORTAGE_SCHEDULING_POLICY.
+
+Bug: https://bugs.gentoo.org/924653
+--- a/test/test-thread-priority.c
++++ b/test/test-thread-priority.c
+@@ -92,7 +92,6 @@ TEST_IMPL(thread_priority) {
+ ASSERT_EQ(priority, 0);
+ ASSERT_OK(uv_thread_setpriority(pthread_self(), UV_THREAD_PRIORITY_LOWEST));
+ ASSERT_OK(uv_thread_getpriority(pthread_self(), &priority));
+- ASSERT_EQ(priority, (0 - UV_THREAD_PRIORITY_LOWEST * 2));
+ #endif
+
+ uv_sem_post(&sem);
+@@ -102,4 +101,4 @@ TEST_IMPL(thread_priority) {
+ uv_sem_destroy(&sem);
+
+ return 0;
+-}
+\ No newline at end of file
++}
diff --git a/dev-libs/libuv/libuv-1.45.0.ebuild b/dev-libs/libuv/libuv-1.45.0.ebuild
deleted file mode 100644
index 56efb6584553..000000000000
--- a/dev-libs/libuv/libuv-1.45.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Cross-platform asychronous I/O"
-HOMEPAGE="https://github.com/libuv/libuv"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/libuv/libuv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-
-BDEPEND="
- 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.46.0.ebuild b/dev-libs/libuv/libuv-1.46.0.ebuild
deleted file mode 100644
index ebc3bbc84897..000000000000
--- a/dev-libs/libuv/libuv-1.46.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Cross-platform asychronous I/O"
-HOMEPAGE="https://github.com/libuv/libuv"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/libuv/libuv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 -hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-
-BDEPEND="
- 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.47.0-r1.ebuild b/dev-libs/libuv/libuv-1.47.0-r1.ebuild
deleted file mode 100644
index 879df48c159f..000000000000
--- a/dev-libs/libuv/libuv-1.47.0-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Cross-platform asychronous I/O"
-HOMEPAGE="https://github.com/libuv/libuv"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/libuv/libuv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-
-BDEPEND="
- sys-devel/libtool
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-ipv6-tests.patch
- "${FILESDIR}"/${P}-hppa-kernel.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
- 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.44.2-r1.ebuild b/dev-libs/libuv/libuv-1.48.0.ebuild
index e7750477946a..d4e41aef83bb 100644
--- a/dev-libs/libuv/libuv-1.44.2-r1.ebuild
+++ b/dev-libs/libuv/libuv-1.48.0.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 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-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/libuv/libuv-9999.ebuild b/dev-libs/libuv/libuv-9999.ebuild
index 0028ef084a43..056ed6900a01 100644
--- a/dev-libs/libuv/libuv-9999.ebuild
+++ b/dev-libs/libuv/libuv-9999.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-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"
+ 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/libvoikko-4.3.2.ebuild b/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
index 68c754b90cb5..4543636f21ce 100644
--- a/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
+++ b/dev-libs/libvoikko/libvoikko-4.3.2.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..12} )
+PYTHON_COMPAT=( python3_{10..13} )
-inherit autotools python-r1 verify-sig
+inherit python-r1 verify-sig
DESCRIPTION="Spell checking, hyphenation and morphological analysis tool for Finnish language"
HOMEPAGE="https://voikko.puimula.org/"
@@ -26,7 +26,7 @@ DEPEND="${PYTHON_DEPS}
hfst? ( >=dev-util/hfstospell-0.5.0 )"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig
- >=sys-devel/autoconf-2.71
+ >=dev-build/autoconf-2.71
verify-sig? ( sec-keys/openpgp-keys-voikko )"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/voikko.asc
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
index 25cc462c9ff5..3e8a3397345c 100644
--- a/dev-libs/libvterm/libvterm-0.3.1.ebuild
+++ b/dev-libs/libvterm/libvterm-0.3.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ 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/libvterm/libvterm-0.3.2.ebuild b/dev-libs/libvterm/libvterm-0.3.2.ebuild
index 6c5819812387..66667c0c8839 100644
--- a/dev-libs/libvterm/libvterm-0.3.2.ebuild
+++ b/dev-libs/libvterm/libvterm-0.3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ 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/libvterm/libvterm-0.3.ebuild b/dev-libs/libvterm/libvterm-0.3.ebuild
index 5e50fd76b546..3d18f7eb2f0c 100644
--- a/dev-libs/libvterm/libvterm-0.3.ebuild
+++ b/dev-libs/libvterm/libvterm-0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ 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 64162a0122bc..4758c64292ed 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -1,3 +1,3 @@
-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
+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.12.2.tar.xz 153600 BLAKE2B f2a965d1990e8d2aa248d9d81f31f50e2602c66e3cbc41dd0638994c955b30a5e4be445041e8ac5240b336611f6fb3217779142e95fc3c5265860ebc4f918c41 SHA512 34f80f6c5bdb62938874978b2761d71a1da4629969550ac87b08eb132e88bfb67b56a4f5fcd687e4607a18ef8b34262ba9c4cfc0fcf6a1a6bb98c1a05ded0b08
diff --git a/dev-libs/libwacom/libwacom-2.8.0.ebuild b/dev-libs/libwacom/libwacom-2.10.0.ebuild
index cd9511b52344..4b992460e769 100644
--- a/dev-libs/libwacom/libwacom-2.8.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.10.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_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson python-any-r1 udev
DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
@@ -12,19 +12,20 @@ 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 )"
RDEPEND="
dev-libs/glib:2
+ dev-libs/libevdev
dev-libs/libgudev:=
"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
virtual/pkgconfig
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? (
$(python_gen_any_dep '
dev-python/libevdev[${PYTHON_USEDEP}]
diff --git a/dev-libs/libwacom/libwacom-2.7.0.ebuild b/dev-libs/libwacom/libwacom-2.11.0.ebuild
index a571572b82ff..ef7e7831e546 100644
--- a/dev-libs/libwacom/libwacom-2.7.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.11.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..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson python-any-r1 udev
DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
@@ -12,20 +12,21 @@ 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 ~riscv ~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-doc/doxygen )
+ doc? ( app-text/doxygen )
test? (
- ${PYTHON_DEPS}
$(python_gen_any_dep '
dev-python/libevdev[${PYTHON_USEDEP}]
dev-python/pyudev[${PYTHON_USEDEP}]
@@ -35,15 +36,11 @@ BDEPEND="
"
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
+ use test || return 0
+ python_has_version \
+ "dev-python/libevdev[${PYTHON_USEDEP}]" \
+ "dev-python/pyudev[${PYTHON_USEDEP}]" \
+ "dev-python/pytest[${PYTHON_USEDEP}]"
}
src_prepare() {
diff --git a/dev-libs/libwacom/libwacom-2.6.0.ebuild b/dev-libs/libwacom/libwacom-2.12.2.ebuild
index a571572b82ff..ef7e7831e546 100644
--- a/dev-libs/libwacom/libwacom-2.6.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.12.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson python-any-r1 udev
DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
@@ -12,20 +12,21 @@ 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 ~riscv ~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-doc/doxygen )
+ doc? ( app-text/doxygen )
test? (
- ${PYTHON_DEPS}
$(python_gen_any_dep '
dev-python/libevdev[${PYTHON_USEDEP}]
dev-python/pyudev[${PYTHON_USEDEP}]
@@ -35,15 +36,11 @@ BDEPEND="
"
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
+ use test || return 0
+ python_has_version \
+ "dev-python/libevdev[${PYTHON_USEDEP}]" \
+ "dev-python/pyudev[${PYTHON_USEDEP}]" \
+ "dev-python/pytest[${PYTHON_USEDEP}]"
}
src_prepare() {
diff --git a/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild b/dev-libs/libwapcaplet/libwapcaplet-0.4.3-r1.ebuild
index 62fc2b8c9a4f..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-2023 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://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,7 +19,7 @@ RESTRICT="!test? ( test )"
DEPEND="
test? ( >=dev-libs/check-0.9.11 )"
BDEPEND="
- >=dev-util/netsurf-buildsystem-1.7-r1"
+ >=dev-build/netsurf-buildsystem-1.7-r1"
_emake() {
netsurf_define_makeconf
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..fccee762e710
--- /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/libxdg-basedir/libxdg-basedir-1.2.3.ebuild b/dev-libs/libxdg-basedir/libxdg-basedir-1.2.3.ebuild
index b04cfebe75bc..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
@@ -15,7 +15,7 @@ SLOT="0"
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/libxls-1.6.2-r1.ebuild b/dev-libs/libxls/libxls-1.6.2-r1.ebuild
index 0ba177446fdc..228ecb9ef798 100644
--- a/dev-libs/libxls/libxls-1.6.2-r1.ebuild
+++ b/dev-libs/libxls/libxls-1.6.2-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
@@ -9,7 +9,7 @@ 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"
+KEYWORDS="amd64 ~arm arm64 x86"
BDEPEND="
app-arch/unzip
diff --git a/dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild b/dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild
index f44d42e85df8..87003f54128f 100644
--- a/dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild
+++ b/dev-libs/libxlsxwriter/libxlsxwriter-1.1.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}-RELEASE_${PV}"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~x86"
IUSE="openssl"
DEPEND="
diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest
index b96c88f0c5c7..3b8132a4cb86 100644
--- a/dev-libs/libxml2/Manifest
+++ b/dev-libs/libxml2/Manifest
@@ -1,8 +1,10 @@
-DIST libxml2-2.10.4.tar.xz 2643600 BLAKE2B 5bbb63c6e58accf434513aeb974fed7349e5458de642ef89db77768c8d1383532614254e0e3f1d9471e2274c6b81a04a0a3afcb602707ce79550c2bd8e9028d9 SHA512 792c1dceb098cd353a7eca4c46d31cce6310b2553d97fd3918cf0b94d93b2480759202036511bde36c24166236bd4616f57e79959eea9afe3f60614bdfe13094
-DIST libxml2-2.11.4.tar.xz 2626756 BLAKE2B 5d7e6388291a8473195131f5cb22aee9a4182f28fd8eed468c449b762d363cfb1713a7466c1f98e96cf819ed8f78e13a6ba930c2fadd8d63869b6efe8e8be8a8 SHA512 c1df7441c729430bdd2de52e9da69b171afc4b776e4a2eb43acbc71ada7a3814a465247fb5fca4c83ecf1c281f7745069ec3d051a7964cb7cc119a3d983f93ba
-DIST libxml2-2.11.5.tar.xz 2628132 BLAKE2B 4af53ef7c19cfcddcf3de5c694a1b03cf4212f8e4c4cb3d873a897fddd8a89d7a52d049a8b85e96c6cdb471689aa385512d87b9710074e90583bf7ad46319172 SHA512 8f087cdaf61957567f04280facc70211c09ca131a532fd13ed4bfc38ddec50e44b1f842b108e635bd4205232036a3e1097904ac016f1fd135bacd17aebb04272
-DIST libxml2-2.11.6.tar.xz 2628652 BLAKE2B 0a1776ca44b21143c538665b6cf7a50962bb1bda6c85f45e4fd4fb7c36ecb4d592d1f5a8d38015bac06a3acb6f7adb1d4afa10fe95987197509f4c1f45b15962 SHA512 43d244450b494c7dbd3521287b87cba0c11267be8d7940a1ecd49dbf0ebefdd052c4c3472c3f267b0d8c431d9b5b964b05067af9e38bc4b0e4f46bc0445b6201
-DIST libxml2-2.12.2.tar.xz 2642336 BLAKE2B 3ea65b6f6d634899d8a8accbf29c61c18de9291bc0c837b3b0410d05f61e37a6838b71aa407bbb3983bf5e4f5e4e15b1f068b918e012179d5d4f95302a731b1f SHA512 4511e03dfd08ffad6a633d79828a6049e75769a2ad9fb93ef0f553b3668e517863b648c0923c71d9b58ff7452530fdf789e611720aed8dea60bbdfe476cde1d2
+DIST libxml2-2.11.7.tar.xz 2628860 BLAKE2B 9aa553b09ec20fe01272ceafb59bf76b480f3cfc57084a527d09797dc39987e59635f8f7b1591060ef6a27adfcc07d8c8e8a907ee7ed04da0a108aae1517cd52 SHA512 202b0523d982eb5269dcb4644d8ab2ea31404771069462cdd6c5cd7e6672e0e50371ceb334133bb8f2c0a42f133e8f40c3f582bba5fc71ab168a2b18d4cfd81d
+DIST libxml2-2.11.8.tar.xz 2628212 BLAKE2B 7a9f62b9e6628e71462b0ae2a43947e398c8b948d57280ee5ac64a7cd0a13d39aa4cc55148421f999e5a04e19ca1ae2cb84884f85f3e22559cb45d8a7fca7d45 SHA512 b8c38365172b9f46e2da4dd696f5df4f917d05cc33456079d3d042578543c0f951da207361958ba8699a9f7256889f063737ba80dba8bb9720c8434be1ca723f
+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 libxml2-2.12.7.tar.xz 2641980 BLAKE2B 19abc2a7824212b1de3ceb1e8e3bbb39cb5feb31f8f6e1b1701a8255f34aadbbd01631e8011fd1207d2e711372a893034a99cb4aaa779a1df22d49d339dbfc76 SHA512 88b5f3e0a7c6704926e662a46ba0606d901efbcd70a36bd39fe034e29ee42d66d7296358761e04272c9696192a1380bda55852b2a0b14a05a7a083a08e125f5f
+DIST libxml2-2.12.8.tar.xz 2643728 BLAKE2B d26fe61e913e73c923eb8140a9080d6b70078ce45e94fe61d1ca1b8919d5b86feb7f14156f5a8b06ea06a03a96a242ce3a32e8d61169cfa8bde587888438627b SHA512 59baac9a82a734045112be6da12bbbe80a71575145424c2225e4bd9f8d54e53c674dcbc9576eb55f646632335702e7f0b1928f96a851159ace9b26f677fd3d77
+DIST libxml2-2.13.1.tar.xz 2579424 BLAKE2B 93cbd3943b0a7a7a07036a3ce01740c37049b44c20f43aaee96ef9a36e86bc108914950d7532740be87995b8eb5c1e6fbb4464c6af0a20233c8a1a206b9a5b83 SHA512 28d280eb5e2f3af9df5adcccced730602e6951fd181b8d00256dbb2138abfe32a4b145fdc00ed8c77a6d322e0929bcb3d5128ad4622877d7f8a059d4b6e011a6
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/libxml2-2.10.4.ebuild b/dev-libs/libxml2/libxml2-2.10.4.ebuild
deleted file mode 100644
index 3fbcc2e9cd97..000000000000
--- a/dev-libs/libxml2/libxml2-2.10.4.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="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=">=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.5-r1.ebuild b/dev-libs/libxml2/libxml2-2.11.7.ebuild
index ad027676e475..f11bd3c8ebe7 100644
--- a/dev-libs/libxml2/libxml2-2.11.5-r1.ebuild
+++ b/dev-libs/libxml2/libxml2-2.11.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ 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+="
@@ -53,7 +53,7 @@ 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=(
diff --git a/dev-libs/libxml2/libxml2-2.11.6.ebuild b/dev-libs/libxml2/libxml2-2.11.8.ebuild
index ad027676e475..f11bd3c8ebe7 100644
--- a/dev-libs/libxml2/libxml2-2.11.6.ebuild
+++ b/dev-libs/libxml2/libxml2-2.11.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ 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+="
@@ -53,7 +53,7 @@ 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=(
diff --git a/dev-libs/libxml2/libxml2-2.11.5.ebuild b/dev-libs/libxml2/libxml2-2.12.5.ebuild
index 1fec7822bc94..3d915e2ccc5b 100644
--- a/dev-libs/libxml2/libxml2-2.11.5.ebuild
+++ b/dev-libs/libxml2/libxml2-2.12.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
@@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ 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+="
@@ -53,7 +53,7 @@ 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=(
@@ -71,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
diff --git a/dev-libs/libxml2/libxml2-2.11.4.ebuild b/dev-libs/libxml2/libxml2-2.12.6.ebuild
index 7826c2f32ad7..3d915e2ccc5b 100644
--- a/dev-libs/libxml2/libxml2-2.11.4.ebuild
+++ b/dev-libs/libxml2/libxml2-2.12.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
@@ -53,7 +53,7 @@ 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=(
@@ -71,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
@@ -102,12 +102,6 @@ multilib_src_configure() {
# Filter seemingly problematic CFLAGS (bug #26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
- # Workaround for too simplistic iconv check already addressed
- # upstream (bug #907065), should be dropped on next release.
- if [[ ${CHOST} == *-solaris* ]] ; then
- append-libs iconv
- 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/libxml2/libxml2-2.12.7.ebuild b/dev-libs/libxml2/libxml2-2.12.7.ebuild
new file mode 100644
index 000000000000..3d915e2ccc5b
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.12.7.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.2.ebuild b/dev-libs/libxml2/libxml2-2.12.8.ebuild
index 7a65290535a9..3ac81e4938ea 100644
--- a/dev-libs/libxml2/libxml2-2.12.2.ebuild
+++ b/dev-libs/libxml2/libxml2-2.12.8.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
# Note: Please bump in sync with dev-libs/libxslt
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit flag-o-matic python-r1 multilib-minimal
@@ -53,7 +53,7 @@ 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=(
diff --git a/dev-libs/libxml2/libxml2-2.13.1.ebuild b/dev-libs/libxml2/libxml2-2.13.1.ebuild
new file mode 100644
index 000000000000..92dfc0a46781
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.13.1.ebuild
@@ -0,0 +1,187 @@
+# 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..13} )
+PYTHON_REQ_USE="xml(+)"
+inherit 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="examples 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() {
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(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 7a65290535a9..92dfc0a46781 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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
-inherit flag-o-matic python-r1 multilib-minimal
+inherit python-r1 multilib-minimal
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
XSTS_NAME_1="xmlschema2002-01-16"
@@ -37,7 +37,7 @@ S="${WORKDIR}/${PN}-${PV%_rc*}"
LICENSE="MIT"
SLOT="2"
-IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+IUSE="examples icu lzma +python readline static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
@@ -53,7 +53,7 @@ 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=(
@@ -99,17 +99,8 @@ src_prepare() {
}
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) \
diff --git a/dev-libs/libxmlb/Manifest b/dev-libs/libxmlb/Manifest
index 4194e64753f0..fcb0d2199be7 100644
--- a/dev-libs/libxmlb/Manifest
+++ b/dev-libs/libxmlb/Manifest
@@ -1 +1,3 @@
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/libxmlb-0.3.14.ebuild b/dev-libs/libxmlb/libxmlb-0.3.14.ebuild
index 79ea4d4847b0..bd6eb5bb0c8f 100644
--- a/dev-libs/libxmlb/libxmlb-0.3.14.ebuild
+++ b/dev-libs/libxmlb/libxmlb-0.3.14.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 @@ 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"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="doc introspection stemmer test +zstd"
RESTRICT="!test? ( test )"
@@ -34,7 +34,7 @@ DEPEND="
BDEPEND="
${PYTHON_DEPS}
- >=dev-util/meson-0.47.0
+ >=dev-build/meson-0.47.0
virtual/pkgconfig
introspection? (
$(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
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 cb44de14664d..3a9fb808862a 100644
--- a/dev-libs/libxmlb/metadata.xml
+++ b/dev-libs/libxmlb/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="stemmer">Enable language stemming support</flag>
</use>
diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index 4e57e45ee7c3..b10e3d3f68d3 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1,3 +1,2 @@
-DIST libxslt-1.1.37.tar.xz 1588572 BLAKE2B 096d93dd7178bf4483207514b1435f5bf426eea4952ffab7cc00c3e85aa736534c4acb5377af9647aa77a0cd793205194509d997a7bb5cae692f65e326566cd8 SHA512 a4e477d2bb918b7d01945e2c7491c3a4aae799dc1602bbd13de55c8a5052e210a20bc45115347eae44473c8b1d03dbc5e4a2aa18c2218f1fdfd376d87cd501ca
-DIST libxslt-1.1.38.tar.xz 1576676 BLAKE2B 9397be8b223bd68b326b954fe6a749a269e969b4669747678715728f553916c23475232fc2894a5e4230e15b031981423adeb8f83407f4db8075a784c7e6a55b SHA512 2836bd2990b95680db0960ac4c465d0c6c28a293ad095a224c05021a1c8d2576a45e41da8947a31f4ef3e6ef368cbda65243661e311c9886c19694be5a7c9a8e
DIST libxslt-1.1.39.tar.xz 1578216 BLAKE2B 7c87b769d345fc99a966bea6b4e94533fa211dc3a987ce013a03eefb05dde73ef75526bdecf7d32d8c77112232096fb22d8ec4f0a781b9f59d0422a2db75df01 SHA512 c0c99dc63f8b2acb6cc3ad7ad684ffa2a427ee8d1740495cbf8a7c9b9c8679f96351b4b676c73ccc191014db4cb4ab42b9a0070f6295565f39dbc665c5c16f89
+DIST libxslt-1.1.41.tar.xz 1573868 BLAKE2B 2228a4074f257edd4fa0ebb2a713b035b780b19398ba9208dedb0d0cec6777129c9bb08a80494b657a4238bea228bd752761118a0022f56d71cc1302838b1733 SHA512 b9f94d1c00dfb9f731c6c424a0d3f07fb0a37935048b26618e5405c3890d1d40c832420117de4d5363a90ab4809f77f6e566013ce7858cc88e0905709ca0f6fe
diff --git a/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch b/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch
new file mode 100644
index 000000000000..86c779c3c7cf
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.41-deprecated-xmlCharEncodingHandler.patch
@@ -0,0 +1,93 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7
+
+From 8d456f03b6b6661edfb0a3f1bc5abdc9597f60e7 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Tue, 2 Jul 2024 22:27:02 +0200
+Subject: [PATCH] utils: Don't use deprecated xmlCharEncodingHandler member
+
+---
+ libxslt/xsltutils.c | 44 ++++++++++++++++++++------------------------
+ 1 file changed, 20 insertions(+), 24 deletions(-)
+
+diff --git a/libxslt/xsltutils.c b/libxslt/xsltutils.c
+index 3705d28f..d493905b 100644
+--- a/libxslt/xsltutils.c
++++ b/libxslt/xsltutils.c
+@@ -1750,13 +1750,12 @@ xsltSaveResultToFilename(const char *URL, xmlDocPtr result,
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlOutputBufferCreateFilename(URL, encoder, compression);
+ } else {
+ buf = xmlOutputBufferCreateFilename(URL, NULL, compression);
+@@ -1793,13 +1792,12 @@ xsltSaveResultToFile(FILE *file, xmlDocPtr result, xsltStylesheetPtr style) {
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlOutputBufferCreateFile(file, encoder);
+ } else {
+ buf = xmlOutputBufferCreateFile(file, NULL);
+@@ -1837,13 +1835,12 @@ xsltSaveResultToFd(int fd, xmlDocPtr result, xsltStylesheetPtr style) {
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlOutputBufferCreateFd(fd, encoder);
+ } else {
+ buf = xmlOutputBufferCreateFd(fd, NULL);
+@@ -1880,13 +1877,12 @@ xsltSaveResultToString(xmlChar **doc_txt_ptr, int * doc_txt_len,
+
+ XSLT_GET_IMPORT_PTR(encoding, style, encoding)
+ if (encoding != NULL) {
+- xmlCharEncodingHandlerPtr encoder;
++ xmlCharEncodingHandlerPtr encoder = NULL;
+
+- encoder = xmlFindCharEncodingHandler((char *)encoding);
+- if ((encoder != NULL) &&
+- (xmlStrEqual((const xmlChar *)encoder->name,
+- (const xmlChar *) "UTF-8")))
+- encoder = NULL;
++ /* Don't use UTF-8 dummy encoder */
++ if ((xmlStrcasecmp(encoding, BAD_CAST "UTF-8") != 0) &&
++ (xmlStrcasecmp(encoding, BAD_CAST "UTF8") != 0))
++ encoder = xmlFindCharEncodingHandler((char *) encoding);
+ buf = xmlAllocOutputBuffer(encoder);
+ if (buf == NULL)
+ xmlCharEncCloseFunc(encoder);
+--
+GitLab
diff --git a/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch b/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch
new file mode 100644
index 000000000000..bdf39460af2a
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.41-extensions-xmlCheckFilename-older-libxml2.patch
@@ -0,0 +1,40 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/a85bd17ec52793b33074f0f785c3d989feb20170
+
+From a85bd17ec52793b33074f0f785c3d989feb20170 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Fri, 21 Jun 2024 15:07:18 +0200
+Subject: [PATCH] extensions: Readd call to xmlCheckFilename with older libxml2
+
+Fix spurious warning with libxml2 before 2.13.0 caused by 014b2892.
+
+Fixes #113.
+---
+ libxslt/extensions.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/libxslt/extensions.c b/libxslt/extensions.c
+index 05cdf354..d3d61543 100644
+--- a/libxslt/extensions.c
++++ b/libxslt/extensions.c
+@@ -415,6 +415,19 @@ xsltExtModuleRegisterDynamic(const xmlChar * URI)
+ module_filename, URI);
+ #endif
+
++#if LIBXML_VERSION < 21300
++ if (1 != xmlCheckFilename(module_filename)) {
++
++#ifdef WITH_XSLT_DEBUG_EXTENSIONS
++ xsltGenericDebug(xsltGenericDebugContext,
++ "xmlCheckFilename failed for plugin: %s\n", module_filename);
++#endif
++
++ xmlFree(ext_name);
++ return (-1);
++ }
++#endif
++
+ /* attempt to open the module */
+ m = xmlModuleOpen(module_filename, 0);
+ if (NULL == m) {
+--
+GitLab
diff --git a/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch b/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch
new file mode 100644
index 000000000000..99b89ae08f74
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.41-libxml2-2.13.patch
@@ -0,0 +1,171 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/issues/116
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/081cd6e97a620d035ed7df35e998e2d288bc7862
+
+From 081cd6e97a620d035ed7df35e998e2d288bc7862 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Mon, 1 Jul 2024 13:21:14 +0200
+Subject: [PATCH] transform: Handle filesystem paths after libxml2 changes
+
+After changes in libxml2 2.13, base URIs and resolved URIs can be
+filesystem paths.
+
+Check for invalid URIs and remove fragment before resolving URI in
+xsltDocumentFunction.
+
+Handle filesystem paths in xsltCheckRead.
+
+Should fix #116.
+---
+ libxslt/functions.c | 64 ++++++++++++++++++++++++++-------------------
+ libxslt/security.c | 13 +++++++++
+ 2 files changed, 50 insertions(+), 27 deletions(-)
+
+diff --git a/libxslt/functions.c b/libxslt/functions.c
+index 0c9dec43..d54f8f48 100644
+--- a/libxslt/functions.c
++++ b/libxslt/functions.c
+@@ -96,11 +96,10 @@ xsltXPathFunctionLookup (void *vctxt,
+ ************************************************************************/
+
+ static void
+-xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
++xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt,
++ const xmlChar* URI, const xmlChar *fragment)
+ {
+ xsltTransformContextPtr tctxt;
+- xmlURIPtr uri;
+- xmlChar *fragment = NULL;
+ xsltDocumentPtr idoc; /* document info */
+ xmlDocPtr doc;
+ xmlXPathContextPtr xptrctxt = NULL;
+@@ -115,26 +114,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
+ goto out_fragment;
+ }
+
+- uri = xmlParseURI((const char *) URI);
+- if (uri == NULL) {
+- xsltTransformError(tctxt, NULL, NULL,
+- "document() : failed to parse URI\n");
+- goto out_fragment;
+- }
+-
+- /*
+- * check for and remove fragment identifier
+- */
+- fragment = (xmlChar *)uri->fragment;
+- if (fragment != NULL) {
+- xmlChar *newURI;
+- uri->fragment = NULL;
+- newURI = xmlSaveUri(uri);
+- idoc = xsltLoadDocument(tctxt, newURI);
+- xmlFree(newURI);
+- } else
+- idoc = xsltLoadDocument(tctxt, URI);
+- xmlFreeURI(uri);
++ idoc = xsltLoadDocument(tctxt, URI);
+
+ if (idoc == NULL) {
+ if ((URI == NULL) ||
+@@ -194,7 +174,6 @@ out_fragment:
+ if (resObj == NULL)
+ resObj = xmlXPathNewNodeSet(NULL);
+ valuePush(ctxt, resObj);
+- xmlFree(fragment);
+ }
+
+ /**
+@@ -210,7 +189,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ {
+ xmlXPathObjectPtr obj, obj2 = NULL;
+ xmlChar *base = NULL, *URI;
+-
++ xmlChar *newURI = NULL;
++ xmlChar *fragment = NULL;
+
+ if ((nargs < 1) || (nargs > 2)) {
+ xsltTransformError(xsltXPathGetTransformContext(ctxt), NULL, NULL,
+@@ -292,7 +272,32 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ valuePush(ctxt, xmlXPathNewNodeSet(NULL));
+ } else {
+ xsltTransformContextPtr tctxt;
++ xmlURIPtr uri;
++ const xmlChar *url;
++
+ tctxt = xsltXPathGetTransformContext(ctxt);
++
++ url = obj->stringval;
++
++ uri = xmlParseURI((const char *) url);
++ if (uri == NULL) {
++ xsltTransformError(tctxt, NULL, NULL,
++ "document() : failed to parse URI '%s'\n", url);
++ valuePush(ctxt, xmlXPathNewNodeSet(NULL));
++ goto error;
++ }
++
++ /*
++ * check for and remove fragment identifier
++ */
++ fragment = (xmlChar *)uri->fragment;
++ if (fragment != NULL) {
++ uri->fragment = NULL;
++ newURI = xmlSaveUri(uri);
++ url = newURI;
++ }
++ xmlFreeURI(uri);
++
+ if ((obj2 != NULL) && (obj2->nodesetval != NULL) &&
+ (obj2->nodesetval->nodeNr > 0) &&
+ IS_XSLT_REAL_NODE(obj2->nodesetval->nodeTab[0])) {
+@@ -313,7 +318,8 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ (xmlNodePtr) tctxt->style->doc);
+ }
+ }
+- URI = xmlBuildURI(obj->stringval, base);
++
++ URI = xmlBuildURI(url, base);
+ if (base != NULL)
+ xmlFree(base);
+ if (URI == NULL) {
+@@ -326,10 +332,14 @@ xsltDocumentFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ valuePush(ctxt, xmlXPathNewNodeSet(NULL));
+ }
+ } else {
+- xsltDocumentFunctionLoadDocument( ctxt, URI );
++ xsltDocumentFunctionLoadDocument(ctxt, URI, fragment);
+ xmlFree(URI);
+ }
+ }
++
++error:
++ xmlFree(newURI);
++ xmlFree(fragment);
+ xmlXPathFreeObject(obj);
+ if (obj2 != NULL)
+ xmlXPathFreeObject(obj2);
+diff --git a/libxslt/security.c b/libxslt/security.c
+index 001ee6e4..3a66594f 100644
+--- a/libxslt/security.c
++++ b/libxslt/security.c
+@@ -422,6 +422,19 @@ xsltCheckRead(xsltSecurityPrefsPtr sec,
+ xmlURIPtr uri;
+ xsltSecurityCheck check;
+
++ if (xmlStrstr(URL, BAD_CAST "://") == NULL) {
++ check = xsltGetSecurityPrefs(sec, XSLT_SECPREF_READ_FILE);
++ if (check != NULL) {
++ ret = check(sec, ctxt, (const char *) URL);
++ if (ret == 0) {
++ xsltTransformError(ctxt, NULL, NULL,
++ "Local file read for %s refused\n", URL);
++ return(0);
++ }
++ }
++ return(1);
++ }
++
+ uri = xmlParseURI((const char *)URL);
+ if (uri == NULL) {
+ xsltTransformError(ctxt, NULL, NULL,
+--
+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 33fcae0a7d41..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 ~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
-)
-
-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
index 45105b23a089..1bcad69eab52 100644
--- a/dev-libs/libxslt/libxslt-1.1.39.ebuild
+++ b/dev-libs/libxslt/libxslt-1.1.39.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
# Note: Please bump this in sync with dev-libs/libxml2.
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic python-r1 multilib-minimal
DESCRIPTION="XSLT libraries and tools"
@@ -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 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="MIT"
@@ -64,7 +64,6 @@ multilib_src_configure() {
--without-python \
$(use_with crypt crypto) \
$(use_with debug) \
- $(use_with debug mem-debug) \
$(use_enable static-libs static) \
"$@"
}
diff --git a/dev-libs/libxslt/libxslt-1.1.38.ebuild b/dev-libs/libxslt/libxslt-1.1.41.ebuild
index 5950529c7bb5..f712581ff266 100644
--- a/dev-libs/libxslt/libxslt-1.1.38.ebuild
+++ b/dev-libs/libxslt/libxslt-1.1.41.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_{10..12} )
-inherit flag-o-matic python-r1 multilib-minimal
+PYTHON_COMPAT=( python3_{10..13} )
+inherit 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 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
LICENSE="MIT"
@@ -25,9 +25,12 @@ 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} )
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}]
+ )
"
DEPEND="${RDEPEND}"
@@ -39,6 +42,12 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/libxslt/xsltconfig.h
)
+PATCHES=(
+ "${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch
+ "${FILESDIR}"/${P}-libxml2-2.13.patch
+ "${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch
+)
+
src_prepare() {
default
@@ -51,16 +60,11 @@ 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) \
"$@"
}
diff --git a/dev-libs/libxslt/libxslt-9999.ebuild b/dev-libs/libxslt/libxslt-9999.ebuild
index e7d5b131b6cb..f712581ff266 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_{10..12} )
-inherit flag-o-matic python-r1 multilib-minimal
+PYTHON_COMPAT=( python3_{10..13} )
+inherit python-r1 multilib-minimal
DESCRIPTION="XSLT libraries and tools"
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
@@ -25,9 +25,12 @@ 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} )
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ >=dev-libs/libxml2-2.13:2[${MULTILIB_USEDEP},python,${PYTHON_USEDEP}]
+ )
"
DEPEND="${RDEPEND}"
@@ -39,6 +42,12 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/libxslt/xsltconfig.h
)
+PATCHES=(
+ "${FILESDIR}"/${P}-extensions-xmlCheckFilename-older-libxml2.patch
+ "${FILESDIR}"/${P}-libxml2-2.13.patch
+ "${FILESDIR}"/${P}-deprecated-xmlCharEncodingHandler.patch
+)
+
src_prepare() {
default
@@ -51,16 +60,11 @@ 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) \
"$@"
}
diff --git a/dev-libs/libyaml/libyaml-0.2.2.ebuild b/dev-libs/libyaml/libyaml-0.2.2.ebuild
index 931407e8268a..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
@@ -15,7 +15,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 s
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 966371f62b97..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
@@ -15,7 +15,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
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 b22f4f3be83d..2ef03f67555e 100644
--- a/dev-libs/libzia/Manifest
+++ b/dev-libs/libzia/Manifest
@@ -1,3 +1,2 @@
-DIST libzia-4.46.tar.gz 642261 BLAKE2B cf8a4fc32599d77114dbfb6684196f4b0fb4715af1e8bf5f647d8b383130030c0d9c62aa94b8f12f72653dcba019f57ea75adb699646b6f27ed2f6c6f410c2e9 SHA512 11242683133c094c61b55824f35c399daf187b82b33620e938c47ff09f60dc3b4bf644623ce2ad551d60e75694c4afa1747a3168df98ada245dd1e9500e52c16
-DIST libzia-4.49.tar.gz 641558 BLAKE2B 045c6edc95d95cf4180209c20f8fb4de1ee0854f93fcab59ac9e47d1c76b73b5a6be8b453c96114ba53b7ff1f7d0e06228881920096bbd0aaf8029409f155424 SHA512 7dc8e8ea2984a5aca8db01af82adf7e824d264da061616658c184694c3fb1565e90f84008d92ad4ff07dfdd8633b17366e1ca32e71e2671172453c40da87cb9f
-DIST libzia-4.52.tar.gz 641867 BLAKE2B 106ec4ad8be1fd32dfc887b2bc57fcb506f3f4a4e25cd054228ddf2ebbd5c8d3df8f5e79f8e77fd8198c16acb55796c875dd3759bd1ec57c69ab51528bd9363a SHA512 d18b7a5ea168276f6f90429be271dd2807000fa7fef938d11cd55349475afe4343b54a7bcd0222606a4d51ea74e10aeede38dd9b80ec0c44fa5ce392ce79c59b
+DIST libzia-4.59.tar.gz 647238 BLAKE2B 5e7d5eef5a316d3580789f4054652c533301d5737b01a125eb5387d6b444f2e3c3e1097f2f9738c7271dd569728e6eb3eb4d4d9bbd39c612991a72dddf6a58f3 SHA512 b9204d51d9901938b8f0e9a5ce1edb656ea90f3cb495d5885f2c5f3f440a9601ce77acb1ef7b44fe1dcf11b3251b7564bcc2c3987cb9b469c4aed2fe2f503bfd
+DIST libzia-4.60.tar.gz 649512 BLAKE2B 22b67d33c20c924185223ac623036854915e621642d66da40777615d0ab9d1f1732e51c9d28fbce950859818dcbdd8a6177675a6a1ef771a61c43f5bc996412d SHA512 992ab75cd43969438fc4c9effb1ca64408f074dd40ade0bf36d4d9e28779645d66e4a6ff6097e0bb6c4b3eae88f4c4071dfd856a4a3482265e0eb4e06a2e4593
diff --git a/dev-libs/libzia/libzia-4.49.ebuild b/dev-libs/libzia/libzia-4.49.ebuild
deleted file mode 100644
index 9c39a847c882..000000000000
--- a/dev-libs/libzia/libzia-4.49.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.46.ebuild b/dev-libs/libzia/libzia-4.59.ebuild
index d2bf5df52022..6d812e180441 100644
--- a/dev-libs/libzia/libzia-4.46.ebuild
+++ b/dev-libs/libzia/libzia-4.59.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
@@ -17,6 +17,7 @@ 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 )"
@@ -30,11 +31,9 @@ src_prepare() {
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)
+ # fix build for MUSL (bugs #832235, 935544)
if use elibc_musl ; then
+ sed -i -e "s/zstr.h>/zstr.h>\\n#include <libunwind.h>/" src/zbfd.c || die
sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
fi
eautoreconf
diff --git a/dev-libs/libzia/libzia-4.52.ebuild b/dev-libs/libzia/libzia-4.60.ebuild
index 3d027d0bbd8b..67650de1be5b 100644
--- a/dev-libs/libzia/libzia-4.52.ebuild
+++ b/dev-libs/libzia/libzia-4.60.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
@@ -17,6 +17,7 @@ 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 )"
@@ -30,8 +31,9 @@ src_prepare() {
sed -i -e "s/docsdir/#docsdir/g" \
-e "s/docs_/#docs_/g" Makefile.am || die
- # fix build for MUSL (bug #832235)
+ # fix build for MUSL (bugs #832235, 935544)
if use elibc_musl ; then
+ sed -i -e "s/zstr.h>/zstr.h>\\n#include <libunwind.h>/" src/zbfd.c || die
sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
fi
eautoreconf
diff --git a/dev-libs/link-grammar/Manifest b/dev-libs/link-grammar/Manifest
index 19aff333d5ec..219d8767dc3d 100644
--- a/dev-libs/link-grammar/Manifest
+++ b/dev-libs/link-grammar/Manifest
@@ -1 +1,2 @@
-DIST link-grammar-5.12.3.tar.gz 4704751 BLAKE2B a7f0fe39c51ed26ea764d583b38b21cfce6e596c6cd94db6ba47b3606a2b6cd9e56bd6fedeb104dbb345baedae3e144af96999739dda9daa9a9e5886bd98d2f4 SHA512 e0fdb78ec03042119011afea005a62829317fd0bc20afcd94e3f234c9c5252ed9c57d717b75368ac4a63dd8493bd86f551870299925f3b9b95b11915f48d8abe
+DIST link-grammar-5.12.4.tar.gz 4720724 BLAKE2B 6573895298128165d7f840a13aad124418dbd1b9c70436dbe2bd65b3fd1883777e72da13f5196031696edb7cdc6c9d86acd5fdd4d1aa8fb295a136b2ba0568cf SHA512 fd5318c21202c17902de996882fd8630c7e95622b8ebe6877a334df22ff678a6040e0519bdabfa1138aaefdf3a7c20cbfe9e65bdce4dfe568729c9ba5a2d6fe5
+DIST link-grammar-5.12.5.tar.gz 4727809 BLAKE2B 76654a94bb1222761bc9107f2e129d6c7606e4cc0fa03b4564705714c8ac35f9562c28d66924b24143c8bbd6365f77714ad233f163f8f83de1da73ac66213f07 SHA512 2637d6b571ae027d8813da188a555a8b91afa0a216921842b43e4cf6aa4d799ea5342fe17081c13346c6bbecc46032765b6f5d978b53cee570e329b6b141094b
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
deleted file mode 100644
index 55ca89c09b94..000000000000
--- a/dev-libs/link-grammar/files/link-grammar-5.12.3-Wimplicit-function-declaration.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-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.12.3.ebuild b/dev-libs/link-grammar/link-grammar-5.12.4.ebuild
index 918c993bbb98..a78bbab12177 100644
--- a/dev-libs/link-grammar/link-grammar-5.12.3.ebuild
+++ b/dev-libs/link-grammar/link-grammar-5.12.4.ebuild
@@ -1,15 +1,15 @@
-# 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..13} )
inherit autotools python-r1 out-of-source
DESCRIPTION="A Syntactic English parser"
HOMEPAGE="https://www.abisource.com/projects/link-grammar/ https://www.link.cs.cmu.edu/link/"
-SRC_URI="https://www.abisource.com/downloads/${PN}/${PV}/${P}.tar.gz"
+SRC_URI="https://www.gnucash.org/link-grammar/downloads/${PV}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0/5"
@@ -28,12 +28,13 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-lang/swig:0
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
+ sys-devel/flex
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() {
@@ -61,6 +62,8 @@ my_src_configure() {
$(use_enable aspell)
$(use_enable hunspell)
$(usev hunspell --with-hunspell-dictdir="${EPREFIX}"/usr/share/myspell)
+ # requires flex, since reflex support is flaky, #890158
+ LEX="flex"
)
econf \
diff --git a/dev-libs/link-grammar/link-grammar-5.12.5.ebuild b/dev-libs/link-grammar/link-grammar-5.12.5.ebuild
new file mode 100644
index 000000000000..8de336d90754
--- /dev/null
+++ b/dev-libs/link-grammar/link-grammar-5.12.5.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_{10..13} )
+
+inherit autotools python-r1 out-of-source
+
+DESCRIPTION="A Syntactic English parser"
+HOMEPAGE="https://www.abisource.com/projects/link-grammar/ https://www.link.cs.cmu.edu/link/"
+SRC_URI="https://www.gnucash.org/link-grammar/downloads/${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="aspell +hunspell python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# XXX: sqlite is automagic
+# Does not build with >=sci-mathematics/minisat-2, bug #593662
+RDEPEND="
+ dev-db/sqlite:3
+ dev-libs/libpcre2:=
+ aspell? ( app-text/aspell )
+ hunspell? ( app-text/hunspell )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-lang/swig:0
+ dev-build/autoconf-archive
+ sys-devel/flex
+ virtual/pkgconfig"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # _AC_UNDECLARED_BUILTIN false positive
+ strchr
+ typeof
+)
+
+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)
+ # requires flex, since reflex support is flaky, #890158
+ LEX="flex"
+ )
+
+ 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 4e644ec1eb20..83bb995a3864 100644
--- a/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
+++ b/dev-libs/log4cplus/log4cplus-2.0.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ 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="https://downloads.sourceforge.net/project/${PN}/${PN}-stable/${PV}/${P}.tar.xz"
LICENSE="|| ( Apache-2.0 BSD-2 )"
SLOT="0/3"
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.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..e73fe69e5d42 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
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
HOMEPAGE="http://log4cpp.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
S="${WORKDIR}/${PN}"
LICENSE="LGPL-2.1"
@@ -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
index 6cea9ad6facb..4f5b087204d6 100644
--- a/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
+++ b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ 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"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
S="${WORKDIR}/${PN}"
LICENSE="LGPL-2.1"
@@ -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.4.ebuild b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
new file mode 100644
index 000000000000..a3223acb40bc
--- /dev/null
+++ b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="C++ classes for flexible logging to files, syslog and other destinations"
+HOMEPAGE="https://log4cpp.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="LGPL-2.1"
+SLOT="0/5"
+KEYWORDS="~amd64 ~arm ~ppc ~riscv ~s390 ~x86"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/1.0-doc_install_path.patch
+ "${FILESDIR}"/1.0-asneeded.patch
+ "${FILESDIR}"/${PN}-1.1-cmath-fix.patch
+ "${FILESDIR}"/${PN}-1.1-automake-1.13.patch
+ "${FILESDIR}"/${PN}-1.1.3-fix-version.patch
+ "${FILESDIR}"/${PN}-1.1.4-fix-implicit-func-in-configure.patch
+ "${FILESDIR}"/${PN}-1.1.4-gcc43.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.{in,ac} || die
+
+ # Build tests conditionally
+ if ! use test; then
+ sed -i -e '/^SUBDIRS/s/ tests//' Makefile.am || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cxxflags -Wno-register # https://bugs.gentoo.org/895054
+ # Bashisms call configure tests to malfunction / config.h to be misgenerated
+ # which then causes a build failure later on in the package (w/ GCC 12,
+ # anyway).
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ --without-idsa \
+ $(use_enable doc doxygen)
+}
+
+src_install() {
+ default
+
+ # Package installs .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/log4cxx/Manifest b/dev-libs/log4cxx/Manifest
index 36dd4b448efa..3edaca4bd2f9 100644
--- a/dev-libs/log4cxx/Manifest
+++ b/dev-libs/log4cxx/Manifest
@@ -1,2 +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.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/log4sh/log4sh-1.4.2.ebuild b/dev-libs/log4sh/log4sh-1.4.2.ebuild
index 09caddd99216..9464b3d9655c 100644
--- a/dev-libs/log4sh/log4sh-1.4.2.ebuild
+++ b/dev-libs/log4sh/log4sh-1.4.2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A flexible logging framework for shell scripts"
HOMEPAGE="https://sourceforge.net/projects/log4sh"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tgz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
LICENSE="LGPL-2.1"
SLOT="0"
diff --git a/dev-libs/m17n-lib/Manifest b/dev-libs/m17n-lib/Manifest
index 3cda17fa644a..6546802fbd52 100644
--- a/dev-libs/m17n-lib/Manifest
+++ b/dev-libs/m17n-lib/Manifest
@@ -1 +1,2 @@
DIST m17n-lib-1.8.0.tar.gz 1091731 BLAKE2B a4b55fbc3246fe0865dcf1647e91d03de6ead06fb4349ba207613cdea6bb079c0e7623510a6fb046dce4bfefd262f68c41c9174d29a2b4a6f673da298642e1cb SHA512 8aba862888393232172c03cdf52531e29ea969c4327e6f69879ecf7438eafee32782f509ec292b3e1b7cd3202e2764984d7a59e85cdb87a7c8bfcbac5b0ee6fd
+DIST m17n-lib-1.8.4.tar.gz 1119271 BLAKE2B 790a002e0abd66d7db0d61ab0240712b2810e698c73d507a5054ad83d4a7a7258c4407d5167ce92fc4c1f3acdfc9f8d3244634af801cde2a00762f09d5e1d823 SHA512 7e322788aed8a758a8c289112433aabccd12dacf14b247ba9060503bcc44930c9251f0c4e718987b9a151de097e72bc1e07c8096f7f4ad83a7d7183a549721d6
diff --git a/dev-libs/m17n-lib/files/m17n-lib-1.8.0-configure.patch b/dev-libs/m17n-lib/files/m17n-lib-1.8.0-configure.patch
new file mode 100644
index 000000000000..04ffc7749a5b
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-1.8.0-configure.patch
@@ -0,0 +1,91 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -97,8 +97,8 @@
+
+ dnl Checks which levels of APIs should be compiled.
+
+-AC_ARG_ENABLE(gui,
+- AS_HELP_STRING([--enable-gui],[enable GUI level APIs (default is YES)]))
++AC_ARG_WITH(gui,
++ AS_HELP_STRING([--with-gui],[enable GUI level APIs (default is YES)]))
+
+ AM_CONDITIONAL(WITH_GUI, test x$with_gui != xno)
+
+@@ -125,7 +125,9 @@
+ X11_LD_FLAGS="-lXt -lX11"
+ M17N_EXT_LIBS="$M17N_EXT_LIBS X11"
+
+- if test "x$HAVE_XAW" = "xyes"; then
++ AC_ARG_WITH(athena,
++ AS_HELP_STRING([--with-athena],[with MIT Athena widget suport]))
++ if test "x$with_athena" != "xno" -a "x$HAVE_XAW" = "xyes"; then
+ AC_DEFINE(HAVE_X11_XAW_COMMAND_H, 1,
+ [Define to 1 if you have the Xaw header files.])
+ XAW_LD_FLAGS="-lXaw -lXmu"
+@@ -149,7 +151,9 @@
+ fi
+ AC_CHECK_LIB(fribidi, fribidi_set_mirroring, HAVE_FRIBIDI=yes, HAVE_FRIBIDI=no)
+ AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no)
+-if test "x$HAVE_FRIBIDI" = "xyes"; then
++AC_ARG_WITH(fribidi,
++ AS_HELP_STRING([--with-fribidi],[with fribidi suport]))
++if test "x$with_fribidi" != "xno" -a "x$HAVE_FRIBIDI" = "xyes"; then
+ AC_DEFINE(HAVE_FRIBIDI, 1,
+ [Define to 1 if you have Fribidi library and header file.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS fribidi"
+@@ -202,8 +206,10 @@
+ AC_SUBST(OTF_LD_FLAGS)
+
+ dnl Check for Freetype2 usability.
++AC_ARG_WITH(freetype,
++ AS_HELP_STRING([--with-freetype],[enable Freetype support]))
+ AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
+-if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
++if test "x$with_freetype" != "xno" -a "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
+ FREETYPE_INC=`freetype-config --cflags`
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
+@@ -255,7 +261,9 @@
+ #else
+ Version too old. Compiling this line should fail.
+ #endif])
+-if test "x$HAVE_XFT2" = "xyes"; then
++AC_ARG_WITH(xft,
++ AS_HELP_STRING([--with-xft],[enable Xft2 support]))
++if test "x$with_xft" != "xno" -a "x$HAVE_XFT2" = "xyes"; then
+ AC_DEFINE(HAVE_XFT2, 1,
+ [Define to 1 if you have Xft2 library and header file.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS xft2"
+@@ -330,7 +338,9 @@
+ fi
+ AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no)
+ AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/)
+-if test "x$HAVE_XML2" = "xyes"; then
++AC_ARG_WITH(libxml2,
++ AS_HELP_STRING([--with-libxml2],[with libxml2 suport]))
++if test "x$with_libxml2" != "xno" -a "x$HAVE_XML2" = "xyes"; then
+ AC_DEFINE(HAVE_XML2, 1,
+ [Define to 1 if you have libxml2 library and header file])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS xml2"
+@@ -344,7 +354,9 @@
+ dnl Check for Anthy usability.
+
+ PKG_CHECK_MODULES(ANTHY, anthy, HAVE_ANTHY=yes, HAVE_ANTHY=no)
+-if test "x$HAVE_ANTHY" = "xyes"; then
++AC_ARG_WITH(anthy,
++ AS_HELP_STRING([--with-anthy],[with anthy suport]))
++if test "x$with_anthy" != "xno" -a "x$HAVE_ANTHY" = "xyes"; then
+ AC_DEFINE(HAVE_ANTHY, 1,
+ [Define to 1 if you have Anthy library and header file])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS anthy"
+@@ -355,7 +367,9 @@
+
+ dnl Check for Ispell usability.
+ AC_CHECK_PROG(HAVE_ISPELL, ispell, yes)
+-if test "x$HAVE_ISPELL" = "xyes"; then
++AC_ARG_WITH(ispell,
++ AS_HELP_STRING([--with-ispell],[with ispell suport]))
++if test "x$with_ispell" != "xno" -a "x$HAVE_ISPELL" = "xyes"; then
+ AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS ispell"
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_ISPELL"
diff --git a/dev-libs/m17n-lib/files/m17n-lib-clang.patch b/dev-libs/m17n-lib/files/m17n-lib-clang.patch
new file mode 100644
index 000000000000..fb5d303d01b9
--- /dev/null
+++ b/dev-libs/m17n-lib/files/m17n-lib-clang.patch
@@ -0,0 +1,21 @@
+https://git.savannah.nongnu.org/cgit/m17n/m17n-lib.git/commit/?id=624b987e7b252e223de0bdbe148cd56aef0da28f
+
+From 624b987e7b252e223de0bdbe148cd56aef0da28f Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 4 May 2023 13:57:49 +0200
+Subject: Add missing int in example/medit.c
+
+Resolves: https://savannah.nongnu.org/bugs/index.php?64106
+
+--- a/example/medit.c
++++ b/example/medit.c
+@@ -662,7 +662,7 @@ static void MenuHelpProc (Widget, XEvent *, String *, Cardinal *);
+ off the current input method, otherwide turn on the input method
+ input_method_table[$IDX]. */
+ void
+-select_input_method (idx)
++select_input_method (int idx)
+ {
+ int previous_input_method = current_input_method;
+
+
diff --git a/dev-libs/m17n-lib/files/m17n-lib-configure.patch b/dev-libs/m17n-lib/files/m17n-lib-configure.patch
index 04ffc7749a5b..12e571bd086b 100644
--- a/dev-libs/m17n-lib/files/m17n-lib-configure.patch
+++ b/dev-libs/m17n-lib/files/m17n-lib-configure.patch
@@ -1,91 +1,142 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -97,8 +97,8 @@
+@@ -96,8 +96,11 @@
dnl Checks which levels of APIs should be compiled.
-AC_ARG_ENABLE(gui,
- AS_HELP_STRING([--enable-gui],[enable GUI level APIs (default is YES)]))
++PKG_PROG_PKG_CONFIG
++AM_CONDITIONAL([HAVE_PKG_CONFIG], [test "x$PKG_CONFIG" != x])
++
+AC_ARG_WITH(gui,
-+ AS_HELP_STRING([--with-gui],[enable GUI level APIs (default is YES)]))
++ AS_HELP_STRING([--with-gui],[enable GUI level APIs (default is YES)]))
AM_CONDITIONAL(WITH_GUI, test x$with_gui != xno)
-@@ -125,7 +125,9 @@
+@@ -117,14 +120,14 @@
+
+ M17N_EXT_LIBS=
+
+-PKG_PROG_PKG_CONFIG
+-AM_CONDITIONAL([HAVE_PKG_CONFIG], [test "x$PKG_CONFIG" != x])
+-
+ if test "x$no_x" != "xyes"; then
+ AC_DEFINE(HAVE_X11, 1, [Define to 1 if you have X11.])
X11_LD_FLAGS="-lXt -lX11"
M17N_EXT_LIBS="$M17N_EXT_LIBS X11"
-- if test "x$HAVE_XAW" = "xyes"; then
-+ AC_ARG_WITH(athena,
-+ AS_HELP_STRING([--with-athena],[with MIT Athena widget suport]))
-+ if test "x$with_athena" != "xno" -a "x$HAVE_XAW" = "xyes"; then
++ AC_ARG_WITH(athena,
++ AS_HELP_STRING([--with-athena],[with X Athena Widget suport]))
++ if test "x$with_athena" != "xno"; then
+ if test "x$HAVE_XAW" = "xyes"; then
AC_DEFINE(HAVE_X11_XAW_COMMAND_H, 1,
[Define to 1 if you have the Xaw header files.])
- XAW_LD_FLAGS="-lXaw -lXmu"
-@@ -149,7 +151,9 @@
+@@ -132,11 +135,15 @@
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_X11_XAW_COMMAND_H"
+ M17N_EXT_LIBS="$M17N_EXT_LIBS Xaw"
+ fi
++ fi
+ fi
+ AC_SUBST(X11_LD_FLAGS)
+ AC_SUBST(XAW_LD_FLAGS)
+
+ dnl Check for fribidi library.
++AC_ARG_WITH(fribidi,
++ AS_HELP_STRING([--with-fribidi],[with FriBidi suport]))
++if test "x$with_fribidi" != "xno"; then
+ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS"
+ AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes)
+@@ -158,6 +165,7 @@
+ FRIBIDI_LD_FLAGS=
fi
- AC_CHECK_LIB(fribidi, fribidi_set_mirroring, HAVE_FRIBIDI=yes, HAVE_FRIBIDI=no)
- AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no)
--if test "x$HAVE_FRIBIDI" = "xyes"; then
-+AC_ARG_WITH(fribidi,
-+ AS_HELP_STRING([--with-fribidi],[with fribidi suport]))
-+if test "x$with_fribidi" != "xno" -a "x$HAVE_FRIBIDI" = "xyes"; then
- AC_DEFINE(HAVE_FRIBIDI, 1,
- [Define to 1 if you have Fribidi library and header file.])
- M17N_EXT_LIBS="$M17N_EXT_LIBS fribidi"
-@@ -202,8 +206,10 @@
+ LIBS="$save_LIBS"
++fi
+ AC_SUBST(FRIBIDI_LD_FLAGS)
+
+ dnl Check for otflib usability.
+@@ -201,11 +209,14 @@
AC_SUBST(OTF_LD_FLAGS)
dnl Check for Freetype2 usability.
+AC_ARG_WITH(freetype,
-+ AS_HELP_STRING([--with-freetype],[enable Freetype support]))
- AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
--if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
-+if test "x$with_freetype" != "xno" -a "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
- FREETYPE_INC=`freetype-config --cflags`
- save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
-@@ -255,7 +261,9 @@
- #else
- Version too old. Compiling this line should fail.
- #endif])
--if test "x$HAVE_XFT2" = "xyes"; then
++ AS_HELP_STRING([--with-freetype],[with FreeType support]))
++if test "x$with_freetype" != "xno"; then
+ PKG_CHECK_MODULES([FREETYPE], [freetype2], [HAVE_FREETYPE=yes],
+ [HAVE_FREETYPE=no])
+ AS_IF([test "x$HAVE_FREETYPE" = "xyes"],
+ [CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS";
+- FREETYPE_LD_FLAGS=FREETYPE_LIBS;
++ FREETYPE_LD_FLAGS=$FREETYPE_LIBS;
+ AC_DEFINE([HAVE_FREETYPE], [1],
+ [Define to 1 if you have FreeType library and header file.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS freetype";
+@@ -220,9 +231,13 @@
+ ],
+ []
+ )
++fi
+ AC_SUBST([FREETYPE_LD_FLAGS])
+
+ dnl Check for Xft2 usability.
+AC_ARG_WITH(xft,
-+ AS_HELP_STRING([--with-xft],[enable Xft2 support]))
-+if test "x$with_xft" != "xno" -a "x$HAVE_XFT2" = "xyes"; then
- AC_DEFINE(HAVE_XFT2, 1,
- [Define to 1 if you have Xft2 library and header file.])
- M17N_EXT_LIBS="$M17N_EXT_LIBS xft2"
-@@ -330,7 +338,9 @@
++ AS_HELP_STRING([--with-xft],[with Xft support]))
++if test "x$with_xft" != "xno"; then
+ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS"
+ XFT2_LD_FLAGS="-lXft -lfreetype -lfontconfig -lXrender -lX11"
+@@ -253,6 +268,7 @@
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+ LIBS="$save_LIBS"
++fi
+ AC_SUBST(XFT2_LD_FLAGS)
+
+ dnl Check for fontconfig usability.
+@@ -306,6 +322,9 @@
fi
- AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no)
- AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/)
--if test "x$HAVE_XML2" = "xyes"; then
-+AC_ARG_WITH(libxml2,
+
+ dnl Check for libxml2 usability.
++AC_ARG_WITH(libxml2,
+ AS_HELP_STRING([--with-libxml2],[with libxml2 suport]))
-+if test "x$with_libxml2" != "xno" -a "x$HAVE_XML2" = "xyes"; then
- AC_DEFINE(HAVE_XML2, 1,
- [Define to 1 if you have libxml2 library and header file])
- M17N_EXT_LIBS="$M17N_EXT_LIBS xml2"
-@@ -344,7 +354,9 @@
- dnl Check for Anthy usability.
++if test "x$with_libxml2" != "xno"; then
+ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS"
+ AC_CHECK_PROG(HAVE_XML2_CONFIG, xml2-config, yes)
+@@ -328,10 +347,13 @@
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+ LIBS="$save_LIBS"
++fi
+ AC_SUBST(XML2_LD_FLAGS)
+ dnl Check for Anthy usability.
+-
++AC_ARG_WITH(anthy,
++ AS_HELP_STRING([--with-anthy],[with Anthy suport]))
++if test "x$with_anthy" != "xno"; then
PKG_CHECK_MODULES(ANTHY, anthy, HAVE_ANTHY=yes, HAVE_ANTHY=no)
--if test "x$HAVE_ANTHY" = "xyes"; then
-+AC_ARG_WITH(anthy,
-+ AS_HELP_STRING([--with-anthy],[with anthy suport]))
-+if test "x$with_anthy" != "xno" -a "x$HAVE_ANTHY" = "xyes"; then
+ if test "x$HAVE_ANTHY" = "xyes"; then
AC_DEFINE(HAVE_ANTHY, 1,
- [Define to 1 if you have Anthy library and header file])
- M17N_EXT_LIBS="$M17N_EXT_LIBS anthy"
-@@ -355,7 +367,9 @@
+@@ -340,15 +362,20 @@
+ ANTHY_LD_FLAGS="$ANTHY_LIBS"
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_ANTHY"
+ fi
++fi
+ AC_SUBST(ANTHY_LD_FLAGS)
dnl Check for Ispell usability.
++AC_ARG_WITH(ispell,
++ AS_HELP_STRING([--with-ispell],[with Ispell suport]))
++if test "x$with_ispell" != "xno"; then
AC_CHECK_PROG(HAVE_ISPELL, ispell, yes)
--if test "x$HAVE_ISPELL" = "xyes"; then
-+AC_ARG_WITH(ispell,
-+ AS_HELP_STRING([--with-ispell],[with ispell suport]))
-+if test "x$with_ispell" != "xno" -a "x$HAVE_ISPELL" = "xyes"; then
+ if test "x$HAVE_ISPELL" = "xyes"; then
AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
M17N_EXT_LIBS="$M17N_EXT_LIBS ispell"
CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_ISPELL"
+ fi
++fi
+
+ dnl Check for Thai word-segmentation library.
+ dnl If we have one, define HAVE_THAI_WORDSEG and one of these:
diff --git a/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild b/dev-libs/m17n-lib/m17n-lib-1.8.0-r1.ebuild
index 615e6f7a9300..e3a2db9f3487 100644
--- a/dev-libs/m17n-lib/m17n-lib-1.8.0.ebuild
+++ b/dev-libs/m17n-lib/m17n-lib-1.8.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -6,17 +6,18 @@ EAPI="8"
inherit autotools
DESCRIPTION="Multilingual Library for Unix/Linux"
-HOMEPAGE="https://savannah.nongnu.org/projects/m17n https://git.savannah.nongnu.org/cgit/m17n/m17n-lib.git"
+HOMEPAGE="https://www.nongnu.org/m17n/"
SRC_URI="mirror://nongnu/m17n/${P}.tar.gz"
-LICENSE="LGPL-2.1"
+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}
X? (
x11-libs/libX11
+ x11-libs/libXt
athena? ( x11-libs/libXaw )
bidi? ( dev-libs/fribidi )
fontconfig? ( media-libs/fontconfig )
@@ -34,7 +35,8 @@ DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}"/${PN}-configure.patch
+ "${FILESDIR}"/${P}-configure.patch
+ "${FILESDIR}"/${PN}-clang.patch
"${FILESDIR}"/${PN}-freetype.patch
"${FILESDIR}"/${PN}-ftconfig.patch
"${FILESDIR}"/${PN}-ispell.patch
@@ -84,3 +86,8 @@ src_configure() {
econf "${myconf[@]}"
}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/m17n-lib/m17n-lib-1.8.4-r1.ebuild b/dev-libs/m17n-lib/m17n-lib-1.8.4-r1.ebuild
new file mode 100644
index 000000000000..9d9d1f79ba11
--- /dev/null
+++ b/dev-libs/m17n-lib/m17n-lib-1.8.4-r1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit autotools
+
+DESCRIPTION="Multilingual Library for Unix/Linux"
+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"
+IUSE="X anthy athena bidi fontconfig gd libotf libxml2 spell xft"
+
+RDEPEND=">=dev-db/m17n-db-${PV}
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ athena? ( x11-libs/libXaw )
+ bidi? ( dev-libs/fribidi )
+ fontconfig? ( media-libs/fontconfig )
+ gd? ( media-libs/gd[png] )
+ libotf? ( dev-libs/libotf )
+ xft? (
+ media-libs/freetype
+ x11-libs/libXft
+ )
+ )
+ anthy? ( app-i18n/anthy )
+ libxml2? ( dev-libs/libxml2 )
+ spell? ( app-text/aspell )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-configure.patch
+ "${FILESDIR}"/${PN}-freetype.patch
+ "${FILESDIR}"/${PN}-ispell.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+ # workaround for parallel install
+ sed -i "/^install-module/s/:/: install-libLTLIBRARIES/" src/Makefile.in
+}
+
+src_configure() {
+ local myconf=(
+ $(use_with anthy)
+ $(use_with libxml2)
+ $(use_with spell ispell)
+ )
+ if use X; then
+ myconf+=(
+ $(use_with athena)
+ $(use_with bidi fribidi)
+ $(use_with fontconfig)
+ $(use_with xft freetype)
+ $(use_with gd)
+ --with-gui
+ $(use_with libotf)
+ --with-x
+ $(use_with xft)
+ )
+ else
+ myconf+=(
+ --without-athena
+ --without-fontconfig
+ --without-freetype
+ --without-fribidi
+ --without-gd
+ --without-gui
+ --without-libotf
+ --without-x
+ --without-xft
+ )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/m17n-lib/metadata.xml b/dev-libs/m17n-lib/metadata.xml
index b4b71f49542e..2803edba8c37 100644
--- a/dev-libs/m17n-lib/metadata.xml
+++ b/dev-libs/m17n-lib/metadata.xml
@@ -13,4 +13,7 @@
<flag name="libotf">Use <pkg>dev-libs/libotf</pkg> to handle OpenType fonts</flag>
<flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML</flag>
</use>
+ <upstream>
+ <remote-id type="savannah-nongnu">m17n</remote-id>
+ </upstream>
</pkgmetadata>
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/metadata.xml b/dev-libs/marisa/metadata.xml
index e8ad4beb2372..b23b7504566c 100644
--- a/dev-libs/marisa/metadata.xml
+++ b/dev-libs/marisa/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
- </maintainer>
<maintainer type="project">
<email>cjk@gentoo.org</email>
<name>Cjk</name>
diff --git a/dev-libs/mathjax/Manifest b/dev-libs/mathjax/Manifest
index 4fcea49fca3c..8779b8b2d315 100644
--- a/dev-libs/mathjax/Manifest
+++ b/dev-libs/mathjax/Manifest
@@ -1,2 +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-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 240f4d431950..d816f6fd3178 100644
--- a/dev-libs/mathjax/metadata.xml
+++ b/dev-libs/mathjax/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>gienah@gentoo.org</email>
- <name>Mark Wright</name>
+ <email>eschwartz@gentoo.org</email>
+ <name>Eli Schwartz</name>
</maintainer>
<stabilize-allarches/>
<longdescription lang="en">
diff --git a/dev-libs/metee/Manifest b/dev-libs/metee/Manifest
index 315be3b90527..62b977767d63 100644
--- a/dev-libs/metee/Manifest
+++ b/dev-libs/metee/Manifest
@@ -1 +1,3 @@
-DIST metee-3.2.3.tar.gz 77077 BLAKE2B 25bec9184dd6080f3705ad6ecff0050e7bb22fad76bfe3e218fd143519d9ecb801d46fd7d31044f9c3f2931217b167275b78456ccb7115edcea1a487ea8fc4ae SHA512 eea6b606cd1b8973531088a3a36612b5ad087c4d184ebc4c8d511151af553c33ee842efd826014ec11e49d223b2594bc4c6b605b4dcd8f1546bdbdf902c1c3c0
+DIST metee-3.2.4.tar.gz 77148 BLAKE2B 9539178deb97465bfcb1c226fadd50a81d5923a5b4b433c60fd35e7f4dd5c6042d281d4bf44c68598bd62f963a893e5b1278fd464055fa7cf7f52d97f3891c6d SHA512 ed611fedbde9719c385b015504798af89ec2f59213573cfdb4b6af01febd0956f2fd7ce3c136481dee5b5e195fbb9c2fc71a2362c87b8b94f31a7d35bc732b96
+DIST metee-4.1.0.tar.gz 84498 BLAKE2B 321c56dff18c649ae171409ee2caa4d2e59a337495b07d540ec2c873d08a002ce006834e0f6c9e6e76d666c67a11d6a5ac04e43f623fde9544cb474972e62e34 SHA512 700c6b4fa40ba88f73b3117b4ba81a5a0856266c25f5b3dcc0d3e1f07f7beede2cf6da543d925b97a49c620d86d837e6793e2bcee32a5c9715ac8f9a10a65fb1
+DIST metee-4.2.0.tar.gz 100680 BLAKE2B 3852ea36f48f3d06bad3154c4089519fad44b991bc4f05870815b1bdad86bef070cdb4033404f63a8a3cb34b815421da846a04838517b31a1c4a090667fd7764 SHA512 0a479a57396ee82eb84836d8d97013bea5c9968be9de506cf378c58121a7c681c742f700ab3241804da17ccb118bd3a6c928893dc4e11cb5be2faad47dfb7dc0
diff --git a/dev-libs/metee/metee-3.2.3.ebuild b/dev-libs/metee/metee-3.2.4.ebuild
index 08c70f405d1f..99ec0b02543e 100644
--- a/dev-libs/metee/metee-3.2.3.ebuild
+++ b/dev-libs/metee/metee-3.2.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SLOT="0/${PV}"
KEYWORDS="amd64"
IUSE="doc"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
default
diff --git a/dev-libs/metee/metee-4.1.0.ebuild b/dev-libs/metee/metee-4.1.0.ebuild
new file mode 100644
index 000000000000..eb83679eaa02
--- /dev/null
+++ b/dev-libs/metee/metee-4.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="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/metee/metee-4.2.0.ebuild b/dev-libs/metee/metee-4.2.0.ebuild
new file mode 100644
index 000000000000..eb83679eaa02
--- /dev/null
+++ b/dev-libs/metee/metee-4.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="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 1570e67ef6a4..38ab22ecce28 100644
--- a/dev-libs/mimalloc/Manifest
+++ b/dev-libs/mimalloc/Manifest
@@ -1 +1,4 @@
DIST mimalloc-2.1.2.tar.gz 1163868 BLAKE2B bba29671fdca81b682edeefe16a1239640ea28fee4e44c97d0422ae81e0b3e7141c733459ccafc6672780157af67ff7d2a10cf4157180e003b458332a79d8481 SHA512 927b046e67783b325a6e41e3a9a6d3d78306fa1c82255defd1f3a7a60a27fd809a601f65b1b27fa38f2064e124f29856d7c0e5ccc33c54c2e4b6ebb9816d74b1
+DIST mimalloc-2.1.4.tar.gz 1133761 BLAKE2B 6271f54b8c0c0397bc0d7fb909009e05b9119c15ad3f926a82f078f3ffa7320503cc679487414d3b8e17bb41b17a43f71982727f80c7288b3b2d473992d706e5 SHA512 cdc43b212b9c67cd50b31bfae875387e3099165260fec995681a4079ca107c275452c2aadc5ee9a177391d1856750e0e2b104191bbb9829aeb5a42406267832e
+DIST mimalloc-2.1.6.tar.gz 1134456 BLAKE2B 1d4d0053e6c6b582d2c82f573b61dba7b3d1d6748999d313493d9db5bfb62e7379b48c72f88afab4e8b609971974488c9d42f96e2486d5905e2a9d78730d3231 SHA512 cbecca799be7a38b291c44ac765aa6ce36c6aeb0f064da942c568da38073350a122e7d1553e7929ee4f72f61ab3b767fa565f252cfd819463d2e1c73c25c5163
+DIST mimalloc-2.1.7.tar.gz 1181422 BLAKE2B 2c4c2d61837ab315e00a5c12d1c74c8f003aa3e9159403194ba61f5dfef2f4c2497b83487f07b20ba506ecde40a6754df6b7048a3818af58168ca90b8ed44470 SHA512 4e30976758015c76a146acc1bfc8501e2e5c61b81db77d253de0d58a8edef987669243f232210667b32ef8da3a33286642acb56ba526fd24c4ba925b44403730
diff --git a/dev-libs/mimalloc/mimalloc-2.1.2.ebuild b/dev-libs/mimalloc/mimalloc-2.1.2.ebuild
index ceb55377cc8d..82790836bf71 100644
--- a/dev-libs/mimalloc/mimalloc-2.1.2.ebuild
+++ b/dev-libs/mimalloc/mimalloc-2.1.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake-multilib
+inherit cmake-multilib flag-o-matic
DESCRIPTION="A compact general purpose allocator with excellent performance"
HOMEPAGE="https://github.com/microsoft/mimalloc"
@@ -15,9 +15,12 @@ KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
IUSE="hardened test valgrind"
RESTRICT="!test? ( test )"
-DEPEND="valgrind? ( dev-util/valgrind )"
+DEPEND="valgrind? ( dev-debug/valgrind )"
src_configure() {
+ # Bug #923177
+ append-atomic-flags
+
local mycmakeargs=(
-DMI_SECURE=$(usex hardened)
-DMI_INSTALL_TOPLEVEL=ON
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..a09a864cbf24
--- /dev/null
+++ b/dev-libs/mimalloc/mimalloc-2.1.4.ebuild
@@ -0,0 +1,36 @@
+# 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() {
+ 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)
+ -DMI_LIBC_MUSL=$(usex elibc_musl)
+ )
+
+ # Bug #923177, #931778: append -latomic if it is available
+ test-flags-CCLD "-latomic" &>/dev/null &&
+ mycmakeargs+=( -DMI_USE_LIBATOMIC=ON )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/mimalloc/mimalloc-2.1.6.ebuild b/dev-libs/mimalloc/mimalloc-2.1.6.ebuild
new file mode 100644
index 000000000000..164388f44adf
--- /dev/null
+++ b/dev-libs/mimalloc/mimalloc-2.1.6.ebuild
@@ -0,0 +1,39 @@
+# 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() {
+ 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)
+ -DMI_LIBC_MUSL=$(usex elibc_musl)
+ )
+
+ # XXX: Should be able to clean this up after 2.1.6
+ # https://github.com/microsoft/mimalloc/pull/898
+ #
+ # Bug #923177, #931778: append -latomic if it is available
+ test-flags-CCLD "-latomic" &>/dev/null &&
+ mycmakeargs+=( -DMI_USE_LIBATOMIC=ON )
+
+ cmake-multilib_src_configure
+}
diff --git a/dev-libs/mimalloc/mimalloc-2.1.7.ebuild b/dev-libs/mimalloc/mimalloc-2.1.7.ebuild
new file mode 100644
index 000000000000..e6f51e9cc89d
--- /dev/null
+++ b/dev-libs/mimalloc/mimalloc-2.1.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-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 ~m68k ~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)
+ -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/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-3.0.1.ebuild b/dev-libs/miniz/miniz-3.0.1.ebuild
index 7ec00b35b06c..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-2023 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 ~arm64 ~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/modsecurity/Manifest b/dev-libs/modsecurity/Manifest
index 979d43cce35c..e0a65901d957 100644
--- a/dev-libs/modsecurity/Manifest
+++ b/dev-libs/modsecurity/Manifest
@@ -1,2 +1,3 @@
+DIST modsecurity-slibtool.patch 6915 BLAKE2B 9d067a4285cf56cbe9c824601724ee9caaf43e1bce653e51c6f66165a96e034125d93c4c998ee27df4d753c5e176b21d1c524dd72710428aaff1e528bddf48dc SHA512 a4c413f376c19bd028f2824f837cfdd5dffa51fcfeb1bcd911ca36a2876372d47f5e225b22cf9416d45cfc65e9e476501917a2b5c6d785f650c918f81164a8be
DIST modsecurity-v3.0.10.tar.gz 3341295 BLAKE2B 9ae4d52ccc77eb7f6a50fb37b07d0c0022e7d4c93bc4c04e7c6cdfabc7b6f6a19a3f0ec1f0151eb1bbd98d9c55de774048bc7636f67e735169b8c628d71fc0fd SHA512 2f51c9bfd2e91d93ddb8c48671dca08f91682745ff6bab6b8153376207d77c40f9afdcab7fa04d2fe925a19343bbfc57e52f0b45b3a50b30de4c1949f5b77ed9
-DIST modsecurity-v3.0.9.tar.gz 3337195 BLAKE2B 5de70546463b9cf167e8e3fd13c55b3856dbe4f23f94a8f83a65890a4e5ea990597a0bb00f4dc24a52a3eb36fe6fa80a8d4a857f86bff3db5808b0d0bdd82b03 SHA512 49790031a82a6cece9cf53a03480490c0bdfd56302ea2e55319a27abdadf1aee060d4a9f847b224a21533d24f6a9fc29b4ad3898b258e6a81934a03c00e32020
+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
index d5718f9161dc..515a441f5f65 100644
--- a/dev-libs/modsecurity/modsecurity-3.0.10.ebuild
+++ b/dev-libs/modsecurity/modsecurity-3.0.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
@@ -32,7 +32,7 @@ RDEPEND="dev-libs/libpcre:=
pcre2? ( dev-libs/libpcre2:= )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )"
+ doc? ( app-text/doxygen[dot] )"
DOCS=( AUTHORS CHANGES README.md modsecurity.conf-recommended unicode.mapping )
diff --git a/dev-libs/modsecurity/modsecurity-3.0.9.ebuild b/dev-libs/modsecurity/modsecurity-3.0.12.ebuild
index d5718f9161dc..88da9c4f2ae1 100644
--- a/dev-libs/modsecurity/modsecurity-3.0.9.ebuild
+++ b/dev-libs/modsecurity/modsecurity-3.0.12.ebuild
@@ -1,17 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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
+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"
+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"
@@ -32,14 +35,24 @@ RDEPEND="dev-libs/libpcre:=
pcre2? ( dev-libs/libpcre2:= )"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig
- doc? ( app-doc/doxygen[dot] )"
+ 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)
diff --git a/dev-libs/mpdecimal/Manifest b/dev-libs/mpdecimal/Manifest
new file mode 100644
index 000000000000..925cbb7e68f4
--- /dev/null
+++ b/dev-libs/mpdecimal/Manifest
@@ -0,0 +1,2 @@
+DIST dectest.zip 791733 BLAKE2B ba74ee96f6687ce34cac8406fd7fd1f743d72647a5f883f1054829d992d4dc0f61c9e3b88e2529f425cc2fbda14dfc372b3fbfafe6553baabb3244172fed712f SHA512 05f9d12aec1ebfc9ca211b01705b41c5cd1bbc54d9aa6c4799b40fb3ab1835433fd1a277735d26d2530c3793c58b107b3abb1c31f64340e5e9d7856d92c821cf
+DIST mpdecimal-4.0.0.tar.gz 315325 BLAKE2B aed5b6d5c03b12017989bbac9a166366e800ce5ee8d2fad5a1b81def48877126233998df306968902c728776616b1c06ce0ef05ea066c07daf841a53541a09f9 SHA512 7610ac53ac79f7a8a33fa7a3e61515810444ec73ebca859df7a9ddc18e96b990c99323172810c9cc7f6d6e1502c0be308cd443d6c2d5d0c871648e4842e05d59
diff --git a/dev-libs/busybee/metadata.xml b/dev-libs/mpdecimal/metadata.xml
index 2ce0e74f9864..076793e3f54b 100644
--- a/dev-libs/busybee/metadata.xml
+++ b/dev-libs/mpdecimal/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
</maintainer>
</pkgmetadata>
diff --git a/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild b/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild
new file mode 100644
index 000000000000..f9c5b4c9a0db
--- /dev/null
+++ b/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Correctly-rounded arbitrary precision decimal floating point arithmetic"
+HOMEPAGE="https://www.bytereef.org/mpdecimal/"
+SRC_URI="
+ https://www.bytereef.org/software/mpdecimal/releases/${P}.tar.gz
+ test? (
+ https://speleotrove.com/decimal/dectest.zip
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="cxx test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-arch/unzip
+ )
+"
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ if use test; then
+ mkdir "${P}/tests/testdata" || die
+ cd "${P}/tests/testdata" || die
+ unpack dectest.zip
+ fi
+}
+
+src_prepare() {
+ default
+
+ # sigh
+ sed -i -e "s:/lib:/$(get_libdir):" lib*/.pc/*.pc.in || die
+}
+
+src_configure() {
+ local myconf=(
+ # just COPYRIGHT.txt
+ --docdir=/removeme
+ $(use_enable cxx)
+ )
+
+ # more sigh
+ # https://bugs.gentoo.org/931599
+ local -x LDXXFLAGS="${LDFLAGS}" LD="${CC}" LDXX="${CXX}"
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+ rm -r "${D}/removeme" || die
+}
diff --git a/dev-libs/mpfr/Manifest b/dev-libs/mpfr/Manifest
index 150f6c7e44e8..8c08820634e9 100644
--- a/dev-libs/mpfr/Manifest
+++ b/dev-libs/mpfr/Manifest
@@ -1,16 +1,2 @@
-DIST mpfr-4.2.0-patch01.patch 2927 BLAKE2B 15f2003b9b423065ea8e7db9191fd56d9832263a87290652b906c0360e1599017659c5650635410825a1ed66eb9ec4c93aefa746dd2505984e07c6ff8b06312c SHA512 a97791ba106cd843e279b913a776f2e1221462978c27ba2e97afa4d3b1763ef87cec991cf337f98897100c5554dd47d7a6342cb51878d351fcc516d951a5cf6b
-DIST mpfr-4.2.0-patch02.patch 8009 BLAKE2B 094ece68c41e4945d3713a919b39cd3d9a574efe2a84202fceaa5067e74ace109e342732a2221165e2e911796e386e47d3360688fc07bb57eb2a1ed90a93b4be SHA512 b5c3f885c086fe13f91fdc411dc4cdcbba93a140563932d46a98e1bbf0714d3c98cc97468eb48cff917527b2c69ac756ad30e4bbec9f4a974f257141741cb1c7
-DIST mpfr-4.2.0-patch03.patch 4678 BLAKE2B 356f4c2dc522dc44deab4f92b27590be8bca38e17c98db07348aae8959ae3314fd5dfe8c08dcfa30c31fddb1b90ec55499ce9fb4853e8b7ecc3aab314ac7a251 SHA512 cc646867498279530e1c593e129361d7f56e81736b2c2f7563c18c53c139698fbff88b48ae5c8f6856ac1abb47fe39e0148cecf8a41771c962b005d2a239835f
-DIST mpfr-4.2.0-patch04.patch 2622 BLAKE2B 42fe01ce698d335070469518c42f8f3d4bbff9b69cb2a6bd9a3e504d4970be562a504cfc7495b5a2bfcc9fea2a35ccd4fa39db829e63b016f627140349b0ca31 SHA512 73b03be27abacf3b845405aca58b5f77a243f2adf3994e5d8eba74c926132b62d2aa55931c4ed70752aaf45fcfa3676c5c597b723d919306aad40675d5ea51b8
-DIST mpfr-4.2.0-patch05.patch 3144 BLAKE2B c5a7320f5c9bf48a00ada82289f0caf903aa1a9a7848fdeb407b91c1cba11a9d85bb802d3d5d3f313a90710da1519a03dd6d2284127a39fda9632dd956335f60 SHA512 fbbeed7e04bb5459144d424502a0a3b94f50b56dff9b9014e222a3b562549ed1382a513dd16c56c143cd04a5ac7f9d697311d9d52a24991e73f558eefbe2c7e7
-DIST mpfr-4.2.0-patch06.patch 13872 BLAKE2B 29f16d7aedf126ea3456e3108bb7d901dd4a8c1072a576c1b3f9eb90c1b243eaa6b9b3453d950513cb205d0f5f74a8fac2bd5cda2b78f2ecca957f6993f6003a SHA512 2f953661d91b36b1a30689d5a4393e02263d82ba07fe91e44857312719cfc1bd59595589c57700541d75bd23b4c8e9e611ee7049e5fdab634808818eb35c8a22
-DIST mpfr-4.2.0-patch07.patch 11610 BLAKE2B 08f91b611505ae7c96c34668343b026b19af4d5d49ef78706faf2329840fe3f1a3cd22af139e82e11e9fc8628d2ec17a04c46b21f6e4562d2c39ec54437afd38 SHA512 889ea03a885807d168e574c41749f86bad162f3c075b76a9e0d62e7a4f4d10af3173a24f179673aadd1bd57af67b2352bf06dc5f80c8e59cdd1a99e8d170eef0
-DIST mpfr-4.2.0-patch08.patch 24051 BLAKE2B 5b4dcfa695e914606113541318630227819052811ef72d519507c2c3dfee5168801060f22aba42ccdf874ea7bd3994eaceb5a93268ab82051eecb8a8aa12c5af SHA512 d0b0212f12f9b7cf55398bd1d1c4d9bb3b368269d280903f8ce42e00c901c9cf10015835b83ab9655c66029070f554fc0e4b461602675495e2dcedea64bdc185
-DIST mpfr-4.2.0-patch09.patch 3854 BLAKE2B b307d5f140069e7b76cdecd09ce86b8e20cb16ca7789716a614e78f9922f677421b055a36faa3552fc5b38925f56c4eed5f27b25240237f0ef75a5d8db00ebb8 SHA512 f0f54208f1fed94f876d3eff35058c54a0f75bb3928b942aab5debf8e7ca0eced5becd6c6ffbe1c6581bf4fb6ceda7693e8d0b22dd7352a1cfb3ddb2c83a9d57
-DIST mpfr-4.2.0-patch10.patch 1830 BLAKE2B 6baf5c7880747175ad5d109b39f54c239cfc7c08989d41b41eb79cf4f6fe5fc49c417c75953a509443fcccdd8115e6402657f2490abe2b1952abdddb5d3aa7ca SHA512 eba8dc76db260b06dc2c18261ba29b89ab6af0fe08e74bc493af56e540b592b734047a735027821491ec0f2a85d00094e751164bb77603c96c4436593f48126c
-DIST mpfr-4.2.0-patch11.patch 2179 BLAKE2B c902fc9f1e29712d415cf859b616b3c038d13ef17f657d4d06859cb4ead8280d69f83fd9eaffc9cacf22c338ee8e45fef0be962933ca2fc9aa78d30668854ffc SHA512 71c8b5243cb598d16816638ceea2147e6d3ac27cb6233b69bcad98f459561e6517248cb0bf22d5e8c4ff74f68e0fd6cb1f7c4cdca00d9dc4df5a6dd79e0692c9
-DIST mpfr-4.2.0-patch12.patch 1809 BLAKE2B 1796b4e539e25e22a22ad9862fd1f641f9d88ee64e7234a9cbc1ef442fc8ba4876b3e6523704c6400ebb2a98f762454f3bf10403913b110011887561cc6d6914 SHA512 81ae9c0a4df9632b5bd3bd60f71a900725dc50773ac0fff6264b18bca2b4560c148fea71806dfe8bd35624aba673effc9dc72fb0448bfd6146bad08e03482445
-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.2.0_p12.ebuild b/dev-libs/mpfr/mpfr-4.2.0_p12.ebuild
deleted file mode 100644
index 33153eb470a0..000000000000
--- a/dev-libs/mpfr/mpfr-4.2.0_p12.ebuild
+++ /dev/null
@@ -1,98 +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=/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/msgpack-5.0.0.ebuild b/dev-libs/msgpack/msgpack-5.0.0.ebuild
index 637e622a758f..73d152b825c0 100644
--- a/dev-libs/msgpack/msgpack-5.0.0.ebuild
+++ b/dev-libs/msgpack/msgpack-5.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ IUSE="doc examples test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen[dot] )
+BDEPEND="doc? ( app-text/doxygen[dot] )
test? (
dev-cpp/gtest[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
diff --git a/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild
index 981a14f7b194..25481bdc6a76 100644
--- a/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild
+++ b/dev-libs/msgpack/msgpack-6.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ IUSE="doc examples test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen[dot] )
+BDEPEND="doc? ( app-text/doxygen[dot] )
test? (
dev-cpp/gtest[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
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-4.0.3.ebuild b/dev-libs/mxml/mxml-4.0.3.ebuild
new file mode 100644
index 000000000000..05352aedb401
--- /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 5cb6a8ece0fd..21d62df6542b 100644
--- a/dev-libs/ncnn/Manifest
+++ b/dev-libs/ncnn/Manifest
@@ -1 +1 @@
-DIST ncnn-20231027.tar.gz 12722960 BLAKE2B 15fffe7ca640d4a7c42e9a2f80cc40d85ed1dfd06602eaf7b8ca9943ea30ca5c436ef44acf027587fd3006c7dceed92937151dd6f5f8cf17501fbe3e79d6f70c SHA512 722966b3b30c5a4df81c6d45237b1821acc69db0c78350a41e3bc60e3f40c3dc64587ae0ab223635c468314c665e477ee7e0c2d3d4cccbc72bb15aeb56dcda6c
+DIST ncnn-20240410.tar.gz 12835689 BLAKE2B b4c2ffdf525719dca81d020695f03cd963c3a1f1a0ecc61b6e08c75da212d280210bf1be9b54343a771661fef747675e7f08d0dd9e3ea942adfda1e07d1f6868 SHA512 61865af26aecc6b0eccdfd46c5b3f6e4dd06d7409298051c91d141e64b8c15690f2f982c0aeb3a11d3a575061ab7606710cb0e710f4cb6539c7a14ff440aaaf7
diff --git a/dev-libs/ncnn/ncnn-20231027.ebuild b/dev-libs/ncnn/ncnn-20240410.ebuild
index 6ff890c5c71e..3ca6898ed9c5 100644
--- a/dev-libs/ncnn/ncnn-20231027.ebuild
+++ b/dev-libs/ncnn/ncnn-20240410.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake toolchain-funcs
DESCRIPTION="High-performance neural network inference framework"
HOMEPAGE="https://github.com/Tencent/ncnn/"
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="BSD ZLIB"
SLOT="0/${PV}" # currently has unstable ABI that often requires rebuilds
KEYWORDS="amd64 ~x86"
-IUSE="tools +vulkan"
+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
@@ -38,17 +38,31 @@ DEPEND="
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=OFF
+ -DNCNN_BUILD_EXAMPLES=no
-DNCNN_BUILD_TOOLS=$(usex tools)
- -DNCNN_PYTHON=OFF # todo if something needs it
- -DNCNN_SHARED_LIB=ON
- -DNCNN_SYSTEM_GLSLANG=ON
+ -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 80fa221ca4ae..66e8fbf0537d 100644
--- a/dev-libs/nettle/Manifest
+++ b/dev-libs/nettle/Manifest
@@ -1,6 +1,6 @@
+DIST nettle-3.10.tar.gz 2640485 BLAKE2B edf0ba6375f06e2dd4b1e3ed4bab5f592ac04a36f748ce0461bbec32622eb3d5f96f89350926c24b5bbbf37dbe14a1ad64bba5df7cb7ad5987ec634573aabbb5 SHA512 18d5b904ce60514aa81b57bff2945e5f7f4366d4775e6a5ffc227b85be2def72b3d2159b983b75ac95a56d3167a2ef1a25b5dfc2fb6193f16a012935c36a7b34
+DIST nettle-3.10.tar.gz.sig 374 BLAKE2B 9edebae1bc1941dfc19c3c3653f80ebf66e8aed974c99673a294ff6835145ca8265f5466829e27c5d0352e88a73e9a58fb017cdbad678705ae29cd27dd80fefe SHA512 a56d46bfd545b0dff47ee6426e019afea024ebf40698018b8a4b7a25168ce615bbfe773894dc01ab246f7010ef6a7f1c248cf1f9c693f0f0dbaf27c33c7d216f
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.9.ebuild b/dev-libs/nettle/nettle-3.10.ebuild
index 2d307d66cb40..08c8eb463c22 100644
--- a/dev-libs/nettle/nettle-3.9.ebuild
+++ b/dev-libs/nettle/nettle-3.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
@@ -15,7 +15,7 @@ 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"
+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 )
@@ -54,6 +54,11 @@ src_prepare() {
}
multilib_src_configure() {
+ # We don't want to run Valgrind within ebuilds, it often gets
+ # confused by sandbox, etc.
+ export nettle_cv_prog_valgrind=no
+
+ # TODO: USE=debug w/ --enable-extra-asserts?
local myeconfargs=(
CC_FOR_BUILD="$(tc-getBUILD_CC)"
@@ -63,13 +68,11 @@ multilib_src_configure() {
$(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)
- # 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
@@ -85,5 +88,12 @@ multilib_src_configure() {
--disable-openssl
)
+ # https://git.lysator.liu.se/nettle/nettle/-/issues/7
+ if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then
+ ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
+ ewarn "Disabling, sorry! See bug #920234."
+ myeconfargs+=( --disable-power-altivec )
+ fi
+
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
diff --git a/dev-libs/nettle/nettle-3.9.1.ebuild b/dev-libs/nettle/nettle-3.9.1-r1.ebuild
index f2e77b0432af..55e95a1e59f5 100644
--- a/dev-libs/nettle/nettle-3.9.1.ebuild
+++ b/dev-libs/nettle/nettle-3.9.1-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
@@ -83,5 +83,12 @@ multilib_src_configure() {
--disable-openssl
)
+ # https://git.lysator.liu.se/nettle/nettle/-/issues/7
+ if use cpu_flags_ppc_altivec && ! tc-cpp-is-true "defined(__VSX__) && __VSX__ == 1" ${CPPFLAGS} ${CFLAGS} ; then
+ ewarn "cpu_flags_ppc_altivec is enabled, but nettle's asm requires >=P7."
+ ewarn "Disabling, sorry! See bug #920234."
+ myeconfargs+=( --disable-power-altivec )
+ fi
+
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
}
diff --git a/dev-libs/newt/Manifest b/dev-libs/newt/Manifest
index 78e8d9dbbf42..397932fcbcff 100644
--- a/dev-libs/newt/Manifest
+++ b/dev-libs/newt/Manifest
@@ -1,2 +1 @@
-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.14-tcl.patch b/dev-libs/newt/files/newt-0.52.14-tcl.patch
deleted file mode 100644
index 4e10d2baae9e..000000000000
--- a/dev-libs/newt/files/newt-0.52.14-tcl.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-diff --git a/whiptcl.c b/whiptcl.c
-index 8688780..7219911 100644
---- a/whiptcl.c
-+++ b/whiptcl.c
-@@ -137,45 +137,45 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
-
- if (arg < -1) {
- /* this could buffer oveflow, bug we're not setuid so I don't care */
-- interp->result = malloc(200);
-- interp->freeProc = TCL_DYNAMIC;
-- sprintf(interp->result, "%s: %s\n",
-+ char *tmp = malloc(200);
-+ sprintf(tmp, "%s: %s\n",
- poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
- poptStrerror(arg));
-+ Tcl_SetResult(interp, tmp, TCL_DYNAMIC);
-
- return TCL_ERROR;
- }
-
- if (mode == MODE_NONE) {
-- interp->result = "no dialog mode was specified";
-+ Tcl_SetResultString(interp, "no dialog mode was specified");
- return TCL_ERROR;
- } else if (rc) {
-- interp->result = "multiple modes were specified";
-+ Tcl_SetResultString(interp, "multiple modes were specified");
- return TCL_ERROR;
- }
-
- if (!(text = poptGetArg(optCon))) {
-- interp->result = "missing text parameter";
-+ Tcl_SetResultString(interp, "missing text parameter");
- return TCL_ERROR;
- }
-
- if (!(nextArg = poptGetArg(optCon))) {
-- interp->result = "height missing";
-+ Tcl_SetResultString(interp, "height missing");
- return TCL_ERROR;
- }
- height = strtoul(nextArg, &end, 10);
- if (*end) {
-- interp->result = "height is not a number";
-+ Tcl_SetResultString(interp, "height is not a number");
- return TCL_ERROR;
- }
-
- if (!(nextArg = poptGetArg(optCon))) {
-- interp->result = "width missing";
-+ Tcl_SetResultString(interp, "width missing");
- return TCL_ERROR;
- }
- width = strtoul(nextArg, &end, 10);
- if (*end) {
-- interp->result = "width is not a number";
-+ Tcl_SetResultString(interp, "width is not a number");
- return TCL_ERROR;
- }
-
-@@ -196,33 +196,30 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
- case MODE_YESNO:
- rc = messageBox(text, height, width, MSGBOX_YESNO, flags);
- if (rc == DLG_OKAY)
-- interp->result = "yes";
-+ Tcl_SetResultString(interp, "yes");
- else
-- interp->result = "no";
-+ Tcl_SetResultString(interp, "no");
- if (rc == DLG_ERROR) rc = 0;
- break;
-
- case MODE_INPUTBOX:
- rc = inputBox(text, height, width, optCon, flags, &result);
- if (rc ==DLG_OKAY) {
-- interp->result = result;
-- interp->freeProc = TCL_DYNAMIC;
-+ Tcl_SetResult(interp, result, TCL_DYNAMIC);
- }
- break;
-
- case MODE_MENU:
- rc = listBox(text, height, width, optCon, flags, default_item, &result);
- if (rc==DLG_OKAY) {
-- interp->result = result;
-- interp->freeProc = TCL_DYNAMIC;
-+ Tcl_SetResult(interp, result, TCL_DYNAMIC);
- }
- break;
-
- case MODE_RADIOLIST:
- rc = checkList(text, height, width, optCon, 1, flags, &selections);
- if (rc==DLG_OKAY) {
-- interp->result = selections[0];
-- interp->freeProc = TCL_DYNAMIC;
-+ Tcl_SetResult(interp, selections[0], TCL_DYNAMIC);
-
- free(selections);
- }
-@@ -247,7 +244,7 @@ static int wtCmd(ClientData clientData, Tcl_Interp * interp, int argc,
- newtPopWindow();
-
- if (rc == DLG_ERROR) {
-- interp->result = "bad paramter for whiptcl dialog box";
-+ Tcl_SetResultString(interp, "bad paramter for whiptcl dialog box");
- return TCL_ERROR;
- }
-
diff --git a/dev-libs/newt/files/newt-0.52.22-gold.patch b/dev-libs/newt/files/newt-0.52.22-gold.patch
deleted file mode 100644
index add9ce872dfd..000000000000
--- a/dev-libs/newt/files/newt-0.52.22-gold.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur a/configure.ac b/configure.ac
---- a/configure.ac 2022-11-21 07:58:11.000000000 -0600
-+++ b/configure.ac 2022-11-21 20:56:42.211913050 -0600
-@@ -24,7 +24,8 @@
- AC_MSG_CHECKING([for GNU ld])
- LD=$($CC -print-prog-name=ld 2>&5)
-
--if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0; then
-+if test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld") = 0 -a \
-+ test $($LD -v 2>&1 | $ac_cv_path_GREP -c "GNU gold") = 0; then
- # Not
- GNU_LD=""
- AC_MSG_RESULT([no])
diff --git a/dev-libs/newt/newt-0.52.23-r1.ebuild b/dev-libs/newt/newt-0.52.23-r1.ebuild
deleted file mode 100644
index 14380493db38..000000000000
--- a/dev-libs/newt/newt-0.52.23-r1.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 autotools python-r1 toolchain-funcs
-
-MY_PV="r$(ver_rs 1- -)"
-
-DESCRIPTION="Redhat's Newt windowing toolkit development files"
-HOMEPAGE="https://pagure.io/newt"
-SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="gpm nls tcl"
-RESTRICT="test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/popt-1.6
- =sys-libs/slang-2*
- gpm? ( sys-libs/gpm )
- tcl? ( >=dev-lang/tcl-8.5:0 )
- "
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/gettext"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.52.23-gold.patch
- "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
-)
-
-S=${WORKDIR}/${PN}-${MY_PV}
-
-src_prepare() {
- sed -i Makefile.in \
- -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
- -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
- -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
- -e 's|instroot|DESTDIR|g' \
- -e 's| make | $(MAKE) |g' \
- -e "s| ar | $(tc-getAR) |g" \
- || die "sed Makefile.in"
-
- if [[ -n ${LINGUAS} ]]; then
- local lang langs
- for lang in ${LINGUAS}; do
- test -r po/${lang}.po && langs="${langs} ${lang}.po"
- done
- sed -i po/Makefile \
- -e "/^CATALOGS = /cCATALOGS = ${langs}" \
- || die "sed po/Makefile"
- fi
-
- default
- eautoreconf
-
- # can't build out-of-source
- python_copy_sources
-}
-
-src_configure() {
- configuring() {
- econf \
- PYTHONVERS="${PYTHON}" \
- $(use_with gpm gpm-support) \
- $(use_with tcl) \
- $(use_enable nls)
- }
- python_foreach_impl run_in_build_dir configuring
-}
-
-src_compile() {
- building() {
- emake PYTHONVERS="${EPYTHON}"
- }
- python_foreach_impl run_in_build_dir building
-}
-
-src_install() {
- installit() {
- emake \
- DESTDIR="${D}" \
- PYTHON_SITEDIR="$(python_get_sitedir)" \
- PYTHONVERS="${EPYTHON}" \
- install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installit
- dodoc peanuts.py popcorn.py tutorial.sgml
- doman whiptail.1
- einstalldocs
-
- # don't want static archives
- rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
-}
diff --git a/dev-libs/newt/newt-0.52.23.ebuild b/dev-libs/newt/newt-0.52.23.ebuild
deleted file mode 100644
index f4565ff37ed1..000000000000
--- a/dev-libs/newt/newt-0.52.23.ebuild
+++ /dev/null
@@ -1,103 +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 toolchain-funcs
-
-MY_PV="r$(ver_rs 1- -)"
-
-DESCRIPTION="Redhat's Newt windowing toolkit development files"
-HOMEPAGE="https://pagure.io/newt"
-SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="gpm nls tcl"
-RESTRICT="test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/popt-1.6
- =sys-libs/slang-2*
- gpm? ( sys-libs/gpm )
- tcl? ( >=dev-lang/tcl-8.5:0 )
- "
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/gettext"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.52.22-gold.patch
-# "${FILESDIR}"/${PN}-0.52.14-tcl.patch
- "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
-)
-
-S=${WORKDIR}/${PN}-${MY_PV}
-
-src_prepare() {
- sed -i Makefile.in \
- -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
- -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
- -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
- -e 's|instroot|DESTDIR|g' \
- -e 's| make | $(MAKE) |g' \
- -e "s| ar | $(tc-getAR) |g" \
- || die "sed Makefile.in"
-
- if [[ -n ${LINGUAS} ]]; then
- local lang langs
- for lang in ${LINGUAS}; do
- test -r po/${lang}.po && langs="${langs} ${lang}.po"
- done
- sed -i po/Makefile \
- -e "/^CATALOGS = /cCATALOGS = ${langs}" \
- || die "sed po/Makefile"
- fi
-
- default
- eautoreconf
-
- # can't build out-of-source
- python_copy_sources
-}
-
-src_configure() {
- configuring() {
- econf \
- PYTHONVERS="${PYTHON}" \
- $(use_with gpm gpm-support) \
- $(use_with tcl) \
- $(use_enable nls)
- }
- python_foreach_impl run_in_build_dir configuring
-}
-
-src_compile() {
- building() {
- emake PYTHONVERS="${EPYTHON}"
- }
- python_foreach_impl run_in_build_dir building
-}
-
-src_install() {
- installit() {
- emake \
- DESTDIR="${D}" \
- PYTHON_SITEDIR="$(python_get_sitedir)" \
- PYTHONVERS="${EPYTHON}" \
- install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installit
- dodoc peanuts.py popcorn.py tutorial.sgml
- doman whiptail.1
- einstalldocs
-
- # don't want static archives
- rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
-}
diff --git a/dev-libs/newt/newt-0.52.24.ebuild b/dev-libs/newt/newt-0.52.24.ebuild
index c5cadd071212..35ed84283890 100644
--- a/dev-libs/newt/newt-0.52.24.ebuild
+++ b/dev-libs/newt/newt-0.52.24.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit autotools python-r1 toolchain-funcs
@@ -15,7 +15,7 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="gpm nls tcl"
RESTRICT="test"
diff --git a/dev-libs/nmeap/nmeap-0.3-r2.ebuild b/dev-libs/nmeap/nmeap-0.3-r2.ebuild
index 7a9a57bd5f27..98901544f3dc 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
@@ -7,14 +7,14 @@ inherit toolchain-funcs
DESCRIPTION="Extensible NMEA-0183 (GPS) data parser in standard C"
HOMEPAGE="http://nmeap.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD"
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-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/nsgenbind-0.8-r1.ebuild b/dev-libs/nsgenbind/nsgenbind-0.9.ebuild
index 3bd8f993ec54..d24a7942178f 100644
--- a/dev-libs/nsgenbind/nsgenbind-0.8-r1.ebuild
+++ b/dev-libs/nsgenbind/nsgenbind-0.9.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 netsurf
@@ -11,11 +11,10 @@ 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=""
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
BDEPEND="
- dev-util/netsurf-buildsystem
+ dev-build/netsurf-buildsystem
app-alternatives/yacc"
_emake() {
diff --git a/dev-libs/nspr/nspr-4.35-r2.ebuild b/dev-libs/nspr/nspr-4.35-r2.ebuild
index efca76733c93..01df06b9ec19 100644
--- a/dev-libs/nspr/nspr-4.35-r2.ebuild
+++ b/dev-libs/nspr/nspr-4.35-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
@@ -62,9 +62,20 @@ src_prepare() {
}
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}
@@ -96,9 +107,10 @@ multilib_src_configure() {
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} -c "${T}"/test.c -o "${T}"/test.o || die
- case $(file "${T}"/test.o) in
+ ${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*) ;;
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index ed33c3a2398a..e0a6b6ec4cf7 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -1,8 +1,6 @@
-DIST nss-3.79.4.tar.gz 84826326 BLAKE2B c34b1ba2c24891bd316af27828dbcc6b193b7298fe6a965cfd42d6a37aa3c25ecb80c9b8c2195ba89d2ea395739def47ff5269f7964235c2883e5b33d67889e9 SHA512 194c7595871ada65c03dcea8f2ec75ea9d6da3ce270c956e8abb2d72b6465e14c7be7892532548b9ca6f319f557353b98facb6f3d620a3a3825d889170b02fa2
-DIST nss-3.91-fixed-certs.tar.xz 11300 BLAKE2B 85f191b85c7caf1ee24f92a2ff76f7660a1afd64d6c8d9da84f521aea18cb12bdf3d08426c47302a4b444b0e4b4ed2f2251ed8234d5bc0006b00cd4b97aacc51 SHA512 88d2a47ba160f93f2f2c88a1e2a591c516d19209bd77cc18111c8538d9cf86498cbfd57c7e36478819bde307d90ba31e0a12a9c17320ae5dc736d02959a32a3a
-DIST nss-3.91.tar.gz 72267945 BLAKE2B 7dcd680311a5503007c0bb738ec24b50e40841470592c2d8dd542b3bdf085a6e4816f1fab4cb6b86220ff3e39a828f57a0a9172e3d1c2c82537eab6558a50226 SHA512 65258a4ea0b8c06ec49dd411eabe860ad5d7c3873beb27f8f43e10ef6be020b1522112df9deaeed27f23fd72f13cc7554e9c1854cd97e4716de419f722aff020
-DIST nss-3.92.tar.gz 72133646 BLAKE2B 251daae56ccf8b8f4fd0b4287fea2049b6e72d1fc57fe02fb3d4f0b8a083aaf00046844145721a1e7620ecfbdbbb93206591e47386c12662765c09cf99db42bc SHA512 dc317ec909433c9026f108b466bc436110b3c77edc3f73aef3d6dc6782f584c205053a368e4a134715bfdf63d2c1ae2185fc23238e5c2dca8f88ec185b1fec2a
-DIST nss-3.93.tar.gz 72281331 BLAKE2B 99e50f450a451f2b0bc0aad9b0fba405c987d88546d4aad6c490cb43dc274f23eb99d03d5fa8cf7ef16585abebfdae942fe1092d3f1c86816ba35e16ed3d490f SHA512 d96f13a70e825b39efadfe7c973c24c1e5ad43319bd813599010383e2b8434181f53489672f68fe79e2cb0c4d4ea0088499e588c3524eccf9298aafc57b94951
-DIST nss-3.94.tar.gz 76580364 BLAKE2B ad7d4fb7c8ddb063100b70717642677fcea177e46f04cf1a172eb4a7d565f99fdf0fca8b431498d83948f88aa89d4d53fbbc871cd8d64fb95242990eae203852 SHA512 3a839a6cc7267e45749f769621c3e8823f92cb654ee40460187e59b50825bb0f84ca278cd61881a3e0e7d95f95e0ffcd266a10c780cdcf8a08a2f0a9bb71892f
-DIST nss-3.95.tar.gz 76571130 BLAKE2B 9d40b09c0c58901781abfad609dd45f44c2f4d1ce9d4f1592748cb64a9eb29b1ac84be54ebb19fa528d8b9fd08911f769a80f72d9e6dbb22e82e5b3581a30af1 SHA512 54567c063fc72bf1a29898bc8cc405e54aa086269021d864b10a3640e6b4ae0d632834db87766257fdb43740d9bc71e362d69cfe6924f5c72a6e1a99a91f8c3a
+DIST nss-3.101-cacert-class1-class3.patch 21925 BLAKE2B 2b37f6b69e0541f31087ff0401b195c035f4b607865c4d29976e4ad2c8143321d65b41b996e922362e076aa8259304ed67b0c4a1f8df2fdfdb1d893319f5d5e7 SHA512 19438aefbb361881c1b4620d8b1b5e7d2bf5afb44900858d3728ff6999a792bf6fe073a11f591ab70461bee8c54fdfb097e4084b402842bc49d2139897de304d
+DIST nss-3.101.1.tar.gz 76462490 BLAKE2B 578a5ce6c9157c25db801a3fe37e094d8005130967ecf1cca19f52a69dfd43195cc8a0c5310dce48936aab4faae424b4e8f24bae6e4f6ac02ea4914e5af4e2be SHA512 0752ad801d00db0180fa72c06d40ee62f88fff220b88880c26f181ba5b9380e785486faa15f8799aaf7145afa47fdd10a27554ec23605a98fbe258951654822d
+DIST nss-3.102.1.tar.gz 76460182 BLAKE2B 47e61d13bf4d6615ecc830d7c745a7a736fe5f1b4de7375f4cf9274db8f42b5ea7cd737e03f6a83e26579cfec1ff1b349e24e548a57fd2d0950b955bfd208851 SHA512 1df10aab1f37c1d00dc3b81aaa341f99c2bac22997aae412ee639e0959ffa37e35cbc21b0f90c2612401aadb119bab4202209186f54fb8d58cf7c3123456e90f
+DIST nss-3.102.tar.gz 76455599 BLAKE2B 78eb95279640dcc46c29decd35fc4c2a2a591c5a39b8dbfcb232d72a08d1ee44d836ce8ee06fff2fe677d3ea19a8b6219a1fe9296f9b56ebfbab7295583e71fe SHA512 2706f15447afd6c26f6784e56c01e8328456523b464a2df2b054f230b6e6b5db2fdeccac74f4f4f0d683d7d4471a8ec1321102082d8a22d91887153a60ffac5b
+DIST nss-3.90.2.tar.gz 72215444 BLAKE2B 74b8eebf5f053dcebd9c6e6ef17c6113ac42a01f910f4ba621dadb09739d5a6090d022800d2c3a4bc0c58413f03512ca611ead1098488d303f1ee1e4bca5c222 SHA512 048a0c0a06fef8cd9c363ac511b9d6125ec131a306c5e093525a937f9e8740f1a2163f274c9a3907ed38331b2fb99b22b528b5e89da1e186c9ba9473d959ef4a
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.90-remove-support-of-curve25519.patch b/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch
new file mode 100644
index 000000000000..d883db8181d1
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90-remove-support-of-curve25519.patch
@@ -0,0 +1,78 @@
+# HG changeset patch
+# User Natalia Kulatova <nkulatova@mozilla.com>
+# Date 1687519432 0
+# Fri Jun 23 11:23:52 2023 +0000
+# Node ID 653f4c1b58425219c0e9c005d555994a3fe1fa72
+# Parent f095bf91ffaa273ea38ca6df34c905e5442de012
+Bug 1836925 - Removing the support of Curve25519 r=bbeurdouche,nss-reviewers
+
+Differential Revision: https://phabricator.services.mozilla.com/D180068
+
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/Makefile
+--- a/lib/freebl/Makefile Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/Makefile Fri Jun 23 11:23:52 2023 +0000
+@@ -568,9 +568,6 @@
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ else ifeq (1,$(CC_IS_GCC))
+- ifeq ($(CPU_ARCH),x86_64)
+- SUPPORTS_VALE_CURVE25519 = 1
+- endif
+ ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+@@ -595,11 +592,6 @@
+ DEFINES += -DKRML_VERIFIED_UINT128
+ endif
+
+-ifdef SUPPORTS_VALE_CURVE25519
+- VERIFIED_SRCS += Hacl_Curve25519_64.c
+- DEFINES += -DHACL_CAN_COMPILE_INLINE_ASM
+-endif
+-
+ ifndef NSS_DISABLE_CHACHAPOLY
+ ifeq ($(CPU_ARCH),x86_64)
+ ifndef NSS_DISABLE_AVX2
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/freebl.gyp
+--- a/lib/freebl/freebl.gyp Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/freebl.gyp Fri Jun 23 11:23:52 2023 +0000
+@@ -866,12 +866,6 @@
+ }],
+ ],
+ }],
+- [ 'supports_vale_curve25519==1', {
+- 'defines': [
+- # The Makefile does version-tests on GCC, but we're not doing that here.
+- 'HACL_CAN_COMPILE_INLINE_ASM',
+- ],
+- }],
+ [ 'OS=="linux" or OS=="android"', {
+ 'conditions': [
+ [ 'target_arch=="x64"', {
+@@ -934,11 +928,6 @@
+ 'variables': {
+ 'module': 'nss',
+ 'conditions': [
+- [ 'target_arch=="x64" and cc_is_gcc==1', {
+- 'supports_vale_curve25519%': 1,
+- }, {
+- 'supports_vale_curve25519%': 0,
+- }],
+ [ 'target_arch=="x64" or target_arch=="arm64" or target_arch=="aarch64"', {
+ 'have_int128_support%': 1,
+ }, {
+diff -r f095bf91ffaa -r 653f4c1b5842 lib/freebl/freebl_base.gypi
+--- a/lib/freebl/freebl_base.gypi Fri Jun 23 08:56:27 2023 +0000
++++ b/lib/freebl/freebl_base.gypi Fri Jun 23 11:23:52 2023 +0000
+@@ -154,11 +154,6 @@
+ 'ecl/curve25519_32.c',
+ ],
+ }],
+- ['supports_vale_curve25519==1', {
+- 'sources': [
+- 'verified/Hacl_Curve25519_64.c',
+- ],
+- }],
+ ['(target_arch!="ppc64" and target_arch!="ppc64le") or disable_altivec==1', {
+ 'sources': [
+ # Gyp does not support per-file cflags, so working around like this.
diff --git a/dev-libs/nss/files/nss-3.90.2-backport-D180718.patch b/dev-libs/nss/files/nss-3.90.2-backport-D180718.patch
new file mode 100644
index 000000000000..102ed5227488
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90.2-backport-D180718.patch
@@ -0,0 +1,35 @@
+https://github.com/nss-dev/nss/commit/6ab861ba652985ce5985a3fb1ddc87a15aac5027
+https://bugzilla.mozilla.org/show_bug.cgi?id=1835357
+https://phabricator.services.mozilla.com/D180718
+
+From 6ab861ba652985ce5985a3fb1ddc87a15aac5027 Mon Sep 17 00:00:00 2001
+From: Robert Relyea <rrelyea@redhat.com>
+Date: Mon, 12 Jun 2023 11:18:03 -0700
+Subject: [PATCH] Bug 1835357 dbtests.sh failure in "certutil dump keys with
+ explicit default trust flags" r=jschanck
+
+ Fix the time value so we don't fail on slower or overloaded platforms.
+
+ bob
+
+Differential Revision: https://phabricator.services.mozilla.com/D180718
+
+--HG--
+extra : rebase_source : 3fb50de29dbf5f635cae10e962eb995c25cd108a
+---
+ tests/dbtests/dbtests.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/dbtests/dbtests.sh b/tests/dbtests/dbtests.sh
+index b0b195d4d0..c82ea85caf 100755
+--- a/tests/dbtests/dbtests.sh
++++ b/tests/dbtests/dbtests.sh
+@@ -366,7 +366,7 @@ dbtest_main()
+ RARRAY=($dtime)
+ TIMEARRAY=(${RARRAY[1]//./ })
+ echo "${TIMEARRAY[0]} seconds"
+- test ${TIMEARRAY[0]} -lt 2
++ test ${TIMEARRAY[0]} -lt 5
+ ret=$?
+ html_msg ${ret} 0 "certutil dump keys with explicit default trust flags"
+ fi
diff --git a/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch b/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
new file mode 100644
index 000000000000..e5769308144c
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
@@ -0,0 +1,35 @@
+
+# HG changeset patch
+# User Natalia Kulatova <nkulatova@mozilla.com>
+# Date 1685981398 0
+# Node ID 52a5d8fe37410d940e7d3ca244146ebc46a7d52a
+# Parent 52969cff7db635e0ee10fad66eed2c0cfdcf999b
+Bug 1836781 - Disabling ASM C25519 for A but X86_64 r=bbeurdouche,nss-reviewers
+
+Differential Revision: https://phabricator.services.mozilla.com/D179969
+
+diff --git a/lib/freebl/Makefile b/lib/freebl/Makefile
+--- a/lib/freebl/Makefile
++++ b/lib/freebl/Makefile
+@@ -563,17 +563,19 @@ endif # target == SunO
+ ifdef USE_64
+ # no __int128 at least up to lcc 1.23 (pretending to be gcc5)
+ # NB: CC_NAME is not defined here
+ ifneq ($(shell $(CC) -? 2>&1 >/dev/null </dev/null | sed -e 's/:.*//;1q'),lcc)
+ ifdef CC_IS_CLANG
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ else ifeq (1,$(CC_IS_GCC))
+- SUPPORTS_VALE_CURVE25519 = 1
++ ifeq ($(CPU_ARCH),x86_64)
++ SUPPORTS_VALE_CURVE25519 = 1
++ endif
+ ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION))))
+ HAVE_INT128_SUPPORT = 1
+ DEFINES += -DHAVE_INT128_SUPPORT
+ endif
+ ifneq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
+ NSS_DISABLE_AVX2 = 1
+ endif
+ ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION))))
+
diff --git a/dev-libs/nss/nss-3.95.ebuild b/dev-libs/nss/nss-3.101.1.ebuild
index ef59d94cde49..84a8b5aed29e 100644
--- a/dev-libs/nss/nss-3.95.ebuild
+++ b/dev-libs/nss/nss-3.101.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ 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 )"
+ cacert? ( https://dev.gentoo.org/~juippis/mozilla/patchsets/nss-3.101-cacert-class1-class3.patch )"
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
@@ -44,7 +44,7 @@ src_prepare() {
default
if use cacert ; then
- eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ eapply -p2 "${DISTDIR}"/nss-3.101-cacert-class1-class3.patch
fi
pushd coreconf >/dev/null || die
@@ -111,9 +111,10 @@ nssbits() {
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} -c "${T}"/test.c -o "${T}/${1}test.o" || die
- case $(file "${T}/${1}test.o") in
+ ${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*) ;;
diff --git a/dev-libs/nss/nss-3.94.ebuild b/dev-libs/nss/nss-3.102.1.ebuild
index ef59d94cde49..84a8b5aed29e 100644
--- a/dev-libs/nss/nss-3.94.ebuild
+++ b/dev-libs/nss/nss-3.102.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ 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 )"
+ cacert? ( https://dev.gentoo.org/~juippis/mozilla/patchsets/nss-3.101-cacert-class1-class3.patch )"
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
@@ -44,7 +44,7 @@ src_prepare() {
default
if use cacert ; then
- eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ eapply -p2 "${DISTDIR}"/nss-3.101-cacert-class1-class3.patch
fi
pushd coreconf >/dev/null || die
@@ -111,9 +111,10 @@ nssbits() {
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} -c "${T}"/test.c -o "${T}/${1}test.o" || die
- case $(file "${T}/${1}test.o") in
+ ${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*) ;;
diff --git a/dev-libs/nss/nss-3.92.ebuild b/dev-libs/nss/nss-3.102.ebuild
index 051c4682bcae..84a8b5aed29e 100644
--- a/dev-libs/nss/nss-3.92.ebuild
+++ b/dev-libs/nss/nss-3.102.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 @@ 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 )"
+ cacert? ( https://dev.gentoo.org/~juippis/mozilla/patchsets/nss-3.101-cacert-class1-class3.patch )"
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
@@ -44,7 +44,7 @@ src_prepare() {
default
if use cacert ; then
- eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
+ eapply -p2 "${DISTDIR}"/nss-3.101-cacert-class1-class3.patch
fi
pushd coreconf >/dev/null || die
@@ -111,9 +111,10 @@ nssbits() {
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} -c "${T}"/test.c -o "${T}/${1}test.o" || die
- case $(file "${T}/${1}test.o") in
+ ${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*) ;;
@@ -238,6 +239,10 @@ multilib_src_test() {
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
diff --git a/dev-libs/nss/nss-3.79.4.ebuild b/dev-libs/nss/nss-3.79.4.ebuild
deleted file mode 100644
index 674f9a0934b3..000000000000
--- a/dev-libs/nss/nss-3.79.4.ebuild
+++ /dev/null
@@ -1,395 +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.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"
-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"
- "${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 || die
-
- # 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}
- )
-
- # 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.91.ebuild b/dev-libs/nss/nss-3.90.2-r1.ebuild
index dc4d953a74ad..ea65793eebdb 100644
--- a/dev-libs/nss/nss-3.91.ebuild
+++ b/dev-libs/nss/nss-3.90.2-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
@@ -8,13 +8,10 @@ inherit flag-o-matic multilib toolchain-funcs multilib-minimal
NSPR_VER="4.35"
RTM_NAME="NSS_${PV//./_}_RTM"
-# nss-3.91-fixed-certs.tar.xz is a workaround for older NSS versions to
-# fix tests for bug #914837.
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 )
- test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.91-fixed-certs.tar.xz )"
+ cacert? ( mirror://gentoo/d1/nss-cacert-class1-class3-r2.patch )"
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
@@ -40,8 +37,10 @@ MULTILIB_CHOST_TOOLS=(
PATCHES=(
"${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
- "${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
"${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+ "${FILESDIR}"/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
+ "${FILESDIR}"/nss-3.90-remove-support-of-curve25519.patch
+ "${FILESDIR}/${PN}-3.90.2-backport-D180718.patch"
)
src_prepare() {
@@ -85,10 +84,6 @@ src_prepare() {
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
cmd/platlibs.mk || die
- if use test ; then
- cp "${WORKDIR}"/${PN}-3.91-fixed-certs/* tests/libpkix/certs/ || die
- fi
-
multilib_copy_sources
strip-flags
@@ -119,9 +114,10 @@ nssbits() {
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} -c "${T}"/test.c -o "${T}/${1}test.o" || die
- case $(file "${T}/${1}test.o") in
+ ${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*) ;;
@@ -245,8 +241,10 @@ multilib_src_test() {
export DOMSUF="localdomain"
export USE_IP=TRUE
export IP_ADDRESS="127.0.0.1"
- # Per README, this is recommended to make run tests quicker.
- export NSS_CYCLES="standard"
+
+ # 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)"
diff --git a/dev-libs/nss/nss-3.93.ebuild b/dev-libs/nss/nss-3.93.ebuild
deleted file mode 100644
index e5b28698782c..000000000000
--- a/dev-libs/nss/nss-3.93.ebuild
+++ /dev/null
@@ -1,415 +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"
-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
- 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)
-
- # 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"
- # Per README, this is recommended to make run tests quicker.
- 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.25.0.ebuild b/dev-libs/nsync/nsync-1.25.0.ebuild
index c43efc9cedf9..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/google/nsync/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/nsync/nsync-1.24.0-r1.ebuild b/dev-libs/nsync/nsync-1.26.0.ebuild
index b707bd898d59..96bcbc528df3 100644
--- a/dev-libs/nsync/nsync-1.24.0-r1.ebuild
+++ b/dev-libs/nsync/nsync-1.26.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/nwjs/Manifest b/dev-libs/nwjs/Manifest
index aea5d6b23a80..7ef3c1240507 100644
--- a/dev-libs/nwjs/Manifest
+++ b/dev-libs/nwjs/Manifest
@@ -1 +1 @@
-DIST nwjs-v0.80.0-linux-x64.tar.gz 153808583 BLAKE2B da76bb81ca89acb3731ca893edc3b388ec84d056fcc836b8581852c0ab88a6546f50c606f3680948ee370fed6d6d643cf8f3da7a70cd97fd1afa433fdd04a365 SHA512 e2b5eacfbb4f60fa17f12e5ab5568df23e2adf881ebe95dfde856ac12898805ae9d6c719da848d1d4c8b4c055cfbd227559fc0e7220efe6b35f1f0702069c197
+DIST nwjs-v0.88.0-linux-x64.tar.gz 157322957 BLAKE2B 97005011c1b673a24440dad82d055071889302a32e6673bcf05a7fdedbb08c83e3dbc86ad54876d9d6216494a3a9189499a5ab6db171e6c48067f79a38048d86 SHA512 03a0e9d7c857ba055152deb226a7bed1e6d968ab70e629cc1539dd9f34e9d67127241047e897f0509ca9c3eccd5aecd3142e384a86e7607fe20b220567564cb2
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.80.0.ebuild b/dev-libs/nwjs/nwjs-0.88.0.ebuild
index 2ec491742853..0c5964775a09 100644
--- a/dev-libs/nwjs/nwjs-0.80.0.ebuild
+++ b/dev-libs/nwjs/nwjs-0.88.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
-CHROMIUM_VERSION="114"
+CHROMIUM_VERSION="125"
CHROMIUM_LANGS="
af
am
@@ -68,10 +68,12 @@ 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 )"
+S="${WORKDIR}/${MY_P}-linux-x64"
LICENSE="MIT"
SLOT="0"
KEYWORDS="-* ~amd64"
+IUSE="ffmpeg-chromium"
RDEPEND="
app-accessibility/at-spi2-core:2
@@ -82,7 +84,6 @@ RDEPEND="
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
@@ -105,9 +106,10 @@ RDEPEND="
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}/${A%.tar.gz}"
DIR="/opt/${PN}"
QA_PREBUILT="${DIR#/}/*"
@@ -135,7 +137,7 @@ src_install() {
exeinto "${DIR}"/lib
doexe lib/*.so*
- dosym ../../../usr/$(get_libdir)/chromium/libffmpeg.so.${CHROMIUM_VERSION} \
+ 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
index 75abd2e0c681..f5e4eb869158 100644
--- a/dev-libs/olm/Manifest
+++ b/dev-libs/olm/Manifest
@@ -1 +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.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/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..91135bddafbb
--- /dev/null
+++ b/dev-libs/oneDNN/Manifest
@@ -0,0 +1,4 @@
+DIST oneDNN-3.3.6.tar.gz 11579147 BLAKE2B 280103e99a90ee450ff1077bac6408f25f1ed32d86f908210b7e6a897692478a766e8d709dc3a42b06d90659aa9396a537708ea34c03c2da229c8e7a119d2c1e SHA512 02f51f61823300fb6beba833b4644c9eae5e3f7741453cf0a09d55f7cad9fc86d63e4bb1f17cbf92c37e8ecf1af109f300e110ff6191c1d26cd1350fe1f8d14f
+DIST oneDNN-3.4.3.tar.gz 12866333 BLAKE2B c1fe1d485ed174e08e6eada6d26eb1c94a99667343fc47a8492e34c66ee85e576ae71308805b76e87774446d2fa7c9496dd16546a5d592c654a9e10db0a1e582 SHA512 eb60137ee0196cd82e1e0300ba1c58afbedb342d9619c474d399946c7dcb34f8ca1211fad1070cd531189340b2ac1f3926ec4a95f72be8aef485e5f54a795bda
+DIST oneDNN-3.4.tar.gz 12858442 BLAKE2B 56af66755b133d8f6590d3712b4d8c7e331c5b6e4d92f99c7773a6be64331fa2a03159cf96ab4d979d0586c2bf060757895393eca5a2b06af2cfe80b80642aff SHA512 8a4ae6251e12ee641a432011da8360e08866ac005a5930d3a6278ce470d8b4a88afbd5538504274ca5e0bf053845efb41c834acaab83121d9d986a41f31ff718
+DIST oneDNN-3.5.tar.gz 13189199 BLAKE2B 3e7df5feb6c95cb60a65352bfe606fddd17f4dae322762ca0682e8afab27dce9018252bfac7b06f0154bc79a66c6ce3adb387f94c2fcd561fe695d43b732d6c5 SHA512 3acb935c8e826586b54e573650ac842e7bcd5a44d2578241c169a31cf9f56d9e5bc0fd6f9de4617d5dc497e5626f88e6d00f06be2161ba2b0af94569dfdcae94
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.6.ebuild b/dev-libs/oneDNN/oneDNN-3.3.6.ebuild
new file mode 100644
index 000000000000..f67b93c73e22
--- /dev/null
+++ b/dev-libs/oneDNN/oneDNN-3.3.6.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.3.ebuild b/dev-libs/oneDNN/oneDNN-3.4.3.ebuild
new file mode 100644
index 000000000000..f63e938f040c
--- /dev/null
+++ b/dev-libs/oneDNN/oneDNN-3.4.3.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/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/oneDNN/oneDNN-3.5.ebuild b/dev-libs/oneDNN/oneDNN-3.5.ebuild
new file mode 100644
index 000000000000..f63e938f040c
--- /dev/null
+++ b/dev-libs/oneDNN/oneDNN-3.5.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/metadata.xml b/dev-libs/oniguruma/metadata.xml
index 9525dd0504d6..31f46b9f96ba 100644
--- a/dev-libs/oniguruma/metadata.xml
+++ b/dev-libs/oniguruma/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
- </maintainer>
<maintainer type="project">
<email>cjk@gentoo.org</email>
<name>Cjk</name>
diff --git a/dev-libs/opencl-clang/Manifest b/dev-libs/opencl-clang/Manifest
index adacd90a7844..ed5300a0cf88 100644
--- a/dev-libs/opencl-clang/Manifest
+++ b/dev-libs/opencl-clang/Manifest
@@ -1,3 +1,4 @@
-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
+DIST opencl-clang-18.1.0.tar.gz 29006 BLAKE2B 7e115220a34f77a0291e8bfdb20850baebb17b61a69f4be8f4b3befafab6537daed3d0433916a0b6fa1a2b991eff40e3258ed11685375755ee2d9db14383304e SHA512 ce14b706b3624302008595e3104f299ef58d93a56ef95628f0f56c2e53a3a7ca1b1e5a989c41a33839fa5d4e126cca8537f2155113fd9781a43ac07f28b52ca4
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-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-15.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.ebuild
index 7436266e2cb8..3f15a5cc35a3 100644
--- a/dev-libs/opencl-clang/opencl-clang-15.0.0.ebuild
+++ b/dev-libs/opencl-clang/opencl-clang-15.0.0-r1.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
-LLVM_MAX_SLOT="15"
+LLVM_COMPAT=( 15 )
-inherit cmake llvm
+inherit cmake llvm-r1
DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
HOMEPAGE="https://github.com/intel/opencl-clang"
@@ -18,8 +18,10 @@ KEYWORDS="amd64 ~riscv"
RDEPEND="
dev-util/spirv-llvm-translator:${SLOT}=
- sys-devel/clang:${SLOT}=[static-analyzer]
- sys-devel/llvm:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
"
DEPEND="${RDEPEND}"
@@ -28,7 +30,7 @@ PATCHES=( "${FILESDIR}"/${PN}-8.0.0-clang_library_dir.patch )
src_configure() {
local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
-DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib/clang
-Wno-dev
)
diff --git a/dev-libs/opencl-clang/opencl-clang-16.0.0-r1.ebuild b/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.ebuild
index ef8366ddbd2b..55691f305c43 100644
--- a/dev-libs/opencl-clang/opencl-clang-16.0.0-r1.ebuild
+++ b/dev-libs/opencl-clang/opencl-clang-16.0.0-r2.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
-LLVM_MAX_SLOT="16"
+LLVM_COMPAT=( 16 )
-inherit cmake llvm
+inherit cmake llvm-r1
DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
HOMEPAGE="https://github.com/intel/opencl-clang"
@@ -18,8 +18,10 @@ KEYWORDS="amd64 ~riscv"
RDEPEND="
dev-util/spirv-llvm-translator:${SLOT}=
- sys-devel/clang:${SLOT}=[static-analyzer]
- sys-devel/llvm:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
"
DEPEND="${RDEPEND}"
@@ -34,7 +36,7 @@ PATCHES=(
src_configure() {
local mycmakeargs=(
-DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
- -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
-Wno-dev
)
diff --git a/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild
new file mode 100644
index 000000000000..d28584d7b154
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-17.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 17 )
+
+inherit cmake llvm-r1
+
+DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
+HOMEPAGE="https://github.com/intel/opencl-clang"
+SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="UoI-NCSA"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ dev-util/spirv-llvm-translator:${SLOT}=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=[static-analyzer]
+ sys-devel/llvm:${LLVM_SLOT}=
+ ')
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}"/${PN}-17.0.0-clang_library_dir.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
+ -DLLVM_VERSION_MAJOR="${LLVM_SLOT}"
+ -DPREFERRED_LLVM_VERSION="${LLVM_SLOT}"
+ -DUSE_PREBUILT_LLVM="ON"
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-clang/opencl-clang-14.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-18.1.0.ebuild
index 321c419f1a1f..ad5c515de9aa 100644
--- a/dev-libs/opencl-clang/opencl-clang-14.0.0.ebuild
+++ b/dev-libs/opencl-clang/opencl-clang-18.1.0.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=8
-LLVM_MAX_SLOT="14"
+LLVM_COMPAT=( 18 )
-inherit cmake llvm
+inherit cmake llvm-r1
DESCRIPTION="OpenCL-oriented thin wrapper library around clang"
HOMEPAGE="https://github.com/intel/opencl-clang"
@@ -13,26 +13,27 @@ SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.
S="${WORKDIR}/${PN}-${PV}"
LICENSE="UoI-NCSA"
-SLOT="14"
-KEYWORDS="amd64"
+SLOT="$(ver_cut 1)"
+KEYWORDS="amd64 ~riscv"
RDEPEND="
dev-util/spirv-llvm-translator:${SLOT}=
- sys-devel/clang:${SLOT}=[static-analyzer]
- sys-devel/llvm:${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
- "${FILESDIR}"/${PN}-10.0.0.1_find-llvm-tblgen.patch
-)
+PATCHES=( "${FILESDIR}"/${PN}-17.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
+ -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
+ -DCLANG_LIBRARY_DIRS="${EPREFIX}"/usr/lib
+ -DLLVM_VERSION_MAJOR="${LLVM_SLOT}"
+ -DUSE_PREBUILT_LLVM="ON"
-Wno-dev
)
diff --git a/dev-libs/opencl-icd-loader/Manifest b/dev-libs/opencl-icd-loader/Manifest
index db24e61cb285..82aeff71685a 100644
--- a/dev-libs/opencl-icd-loader/Manifest
+++ b/dev-libs/opencl-icd-loader/Manifest
@@ -1 +1,2 @@
-DIST opencl-icd-loader-2023.04.17.tar.gz 93179 BLAKE2B 056213043095029cdc721d87fc9fb5023f6c593e975b4b069037c8db278317e68517227d2ccea444469baf15412e435de3dd8418f1d010c72a6c1dc252742b87 SHA512 55d1f5ac62da1294bfe4814f2370db0a11636f18afa7da06f04b84b9c1e6ef546846420d27094aaa838eb6cc87197cf6e120a38af0b7ce71297be646a58ecb7b
+DIST opencl-icd-loader-2023.12.14.tar.gz 93193 BLAKE2B 13b0e085dddfd1d3d493dac40984b18b839a58c2a72a8a0684a353391d9fa80888567d97e7de06caa4f0f8255bb9747b88c218ead112dca3c1df971339aded5b SHA512 b30aa0b856e6c73450fc23f768201ac01d3c5519a14305c79127debc6407be656b68ae2bd527bb7225d4268865f7bdf0b384279eb78b2806725d37ab940bf56e
+DIST opencl-icd-loader-2024.05.08.tar.gz 93262 BLAKE2B eb7ac8783a96d1fc4756527f0fe46657fbd57486b2e49c56ddcd67162cf850d652108d31f32b21f9eb24488f2dac8a5891af04bb905d65fb495637167f10ea8a SHA512 12d62183e49c5a1f813807291744d816008afca55b09f5acf2eef1bce50a453bf35a8dfbeb5f433022b0c5517f0a210d7123a3bac7a15ea63cc10f3bc71510f0
diff --git a/dev-libs/opencl-icd-loader/metadata.xml b/dev-libs/opencl-icd-loader/metadata.xml
index 7f8ede0aa2fd..64c3815ddc61 100644
--- a/dev-libs/opencl-icd-loader/metadata.xml
+++ b/dev-libs/opencl-icd-loader/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">KhronosGroup/OpenCL-ICD-Loader</remote-id>
</upstream>
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.12.14.ebuild
index 4db8dbf965d6..abed85a0a6dc 100644
--- a/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild
+++ b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.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 @@ SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ppc64 ~riscv x86"
+KEYWORDS="amd64 ~loong ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/opencl-icd-loader/opencl-icd-loader-2024.05.08.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2024.05.08.ebuild
new file mode 100644
index 000000000000..f63c047141e9
--- /dev/null
+++ b/dev-libs/opencl-icd-loader/opencl-icd-loader-2024.05.08.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 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"
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="!dev-libs/ocl-icd"
+DEPEND="${RDEPEND}
+ >=dev-util/opencl-headers-${PV}"
+
+src_prepare() {
+ hprefixify loader/icd_platform.h
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ )
+ cmake_src_configure
+}
+
+multilib_src_test() {
+ local -x OCL_ICD_FILENAMES="${BUILD_DIR}/test/driver_stub/libOpenCLDriverStub.so"
+ local -x OCL_ICD_VENDORS="/dev/null"
+ cmake_src_test
+}
diff --git a/dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild b/dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild
index 069fc5eb73bc..5ab79025d6a4 100644
--- a/dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild
+++ b/dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit autotools flag-o-matic
DESCRIPTION="PKCS#11 provider cryptographic hardware"
HOMEPAGE="https://sourceforge.net/projects/opencryptoki"
-SRC_URI="mirror://sourceforge/opencryptoki/${PV}/${P}.tgz"
+SRC_URI="https://downloads.sourceforge.net/opencryptoki/${PV}/${P}.tgz"
S="${WORKDIR}/${PN}"
# Upstream is looking into relicensing it into CPL-1.0 entirely; the CCA
diff --git a/dev-libs/openct/openct-0.6.20-r5.ebuild b/dev-libs/openct/openct-0.6.20-r5.ebuild
index c619ba444c4d..c9552d7c8680 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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,11 +7,11 @@ inherit 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"
+SRC_URI="https://downloads.sourceforge.net/opensc/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc debug pcsc-lite selinux usb"
DEPEND="
@@ -25,7 +25,7 @@ RDEPEND="
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..db4db851aa64 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
@@ -7,7 +7,7 @@ inherit cmake udev
DESCRIPTION="Implementation of the OBEX protocol used for transferring data to mobile devices"
HOMEPAGE="https://sourceforge.net/projects/openobex/"
-SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}-Source.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PV}/${P}-Source.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0/2"
@@ -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/openpace-1.1.3.ebuild b/dev-libs/openpace/openpace-1.1.3.ebuild
index 6c9b15731b77..42d9ad5495d6 100644
--- a/dev-libs/openpace/openpace-1.1.3.ebuild
+++ b/dev-libs/openpace/openpace-1.1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/frankmorgner/openpace/releases/download/${PV}/${P}.t
LICENSE="GPL-3"
SLOT="0/3"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-util/gengetopt
diff --git a/dev-libs/opensc/Manifest b/dev-libs/opensc/Manifest
index 5d4728329fbe..d29912a059a4 100644
--- a/dev-libs/opensc/Manifest
+++ b/dev-libs/opensc/Manifest
@@ -1 +1 @@
-DIST opensc-0.23.0.tar.gz 2366469 BLAKE2B c0f74379a70347a58be27684ae2cf833e6f35328b566af2c6daa8276174864406fa176acf7ba84931970fe07e3dd8d6eccf7884f079cb0110c4d6ff9a76792dc SHA512 cd102cd64e719c59153960a4921b7525055045f16e6f6ffa8c9def6ce999a9c5098267b41f8753b41107f626bea20c34561002f5d38eddb4ce6b371913a17a1b
+DIST opensc-0.25.1.tar.gz 2395579 BLAKE2B cc7994cad78083c8eeafc947e90c06178209edc825cb14b54bc4281d37c6dae1006ab2c9b9566823ef90626a4134bce96a9806bebc455a389216d7953da6b873 SHA512 6277abb31f903af68b4c19f549fc881b69d7aa9a55ba39936386118eadde86b62853ba2906cd165d9b1ad9090e1aa4d2b236bf19650aa228ed776b3f4d9f8805
diff --git a/dev-libs/opensc/files/opensc-0.23.0-CVE-2023-2977.patch b/dev-libs/opensc/files/opensc-0.23.0-CVE-2023-2977.patch
deleted file mode 100644
index ad3bc1fadc93..000000000000
--- a/dev-libs/opensc/files/opensc-0.23.0-CVE-2023-2977.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 81944d1529202bd28359bede57c0a15deb65ba8a Mon Sep 17 00:00:00 2001
-From: fullwaywang <fullwaywang@tencent.com>
-Date: Mon, 29 May 2023 10:38:48 +0800
-Subject: [PATCH] pkcs15init: correct left length calculation to fix buffer
- overrun bug. Fixes #2785
-
----
- src/pkcs15init/pkcs15-cardos.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/pkcs15init/pkcs15-cardos.c b/src/pkcs15init/pkcs15-cardos.c
-index 9715cf390f..f41f73c349 100644
---- a/src/pkcs15init/pkcs15-cardos.c
-+++ b/src/pkcs15init/pkcs15-cardos.c
-@@ -872,7 +872,7 @@ static int cardos_have_verifyrc_package(sc_card_t *card)
- sc_apdu_t apdu;
- u8 rbuf[SC_MAX_APDU_BUFFER_SIZE];
- int r;
-- const u8 *p = rbuf, *q;
-+ const u8 *p = rbuf, *q, *pp;
- size_t len, tlen = 0, ilen = 0;
-
- sc_format_apdu(card, &apdu, SC_APDU_CASE_2_SHORT, 0xca, 0x01, 0x88);
-@@ -888,13 +888,13 @@ static int cardos_have_verifyrc_package(sc_card_t *card)
- return 0;
-
- while (len != 0) {
-- p = sc_asn1_find_tag(card->ctx, p, len, 0xe1, &tlen);
-- if (p == NULL)
-+ pp = sc_asn1_find_tag(card->ctx, p, len, 0xe1, &tlen);
-+ if (pp == NULL)
- return 0;
- if (card->type == SC_CARD_TYPE_CARDOS_M4_3) {
- /* the verifyRC package on CardOS 4.3B use Manufacturer ID 0x01 */
- /* and Package Number 0x07 */
-- q = sc_asn1_find_tag(card->ctx, p, tlen, 0x01, &ilen);
-+ q = sc_asn1_find_tag(card->ctx, pp, tlen, 0x01, &ilen);
- if (q == NULL || ilen != 4)
- return 0;
- if (q[0] == 0x07)
-@@ -902,7 +902,7 @@ static int cardos_have_verifyrc_package(sc_card_t *card)
- } else if (card->type == SC_CARD_TYPE_CARDOS_M4_4) {
- /* the verifyRC package on CardOS 4.4 use Manufacturer ID 0x03 */
- /* and Package Number 0x02 */
-- q = sc_asn1_find_tag(card->ctx, p, tlen, 0x03, &ilen);
-+ q = sc_asn1_find_tag(card->ctx, pp, tlen, 0x03, &ilen);
- if (q == NULL || ilen != 4)
- return 0;
- if (q[0] == 0x02)
diff --git a/dev-libs/opensc/files/opensc-0.23.0-backport-pr2656.patch b/dev-libs/opensc/files/opensc-0.23.0-backport-pr2656.patch
deleted file mode 100644
index f9ce72d31776..000000000000
--- a/dev-libs/opensc/files/opensc-0.23.0-backport-pr2656.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-https://bugs.gentoo.org/909781
-https://github.com/OpenSC/libp11/issues/478
-https://github.com/OpenSC/OpenSC/pull/2656
-
-From 99f7b82f187ca3512ceae6270c391243d018fdac Mon Sep 17 00:00:00 2001
-From: Jakub Jelen <jjelen@redhat.com>
-Date: Thu, 1 Dec 2022 20:08:53 +0100
-Subject: [PATCH 1/4] pkcs11-tool: Fix private key import
-
----
- src/tools/pkcs11-tool.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c
-index aae205fe2c..cfee8526d5 100644
---- a/src/tools/pkcs11-tool.c
-+++ b/src/tools/pkcs11-tool.c
-@@ -3669,13 +3669,13 @@ parse_rsa_pkey(EVP_PKEY *pkey, int private, struct rsakey_info *rsa)
- RSA_get0_factors(r, &r_p, &r_q);
- RSA_get0_crt_params(r, &r_dmp1, &r_dmq1, &r_iqmp);
- #else
-- if (EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_FACTOR1, &r_d) != 1 ||
-+ if (EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_D, &r_d) != 1 ||
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_FACTOR1, &r_p) != 1 ||
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_FACTOR2, &r_q) != 1 ||
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_EXPONENT1, &r_dmp1) != 1 ||
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_EXPONENT2, &r_dmq1) != 1 ||
-- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_EXPONENT3, &r_iqmp) != 1) {
- util_fatal("OpenSSL error during RSA private key parsing");
-+ EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_COEFFICIENT1, &r_iqmp) != 1) {
- }
- #endif
- RSA_GET_BN(rsa, private_exponent, r_d);
-
-From 4a6e1d1dcd18757502027b1c5d2fb2cbaca28407 Mon Sep 17 00:00:00 2001
-From: Jakub Jelen <jjelen@redhat.com>
-Date: Thu, 1 Dec 2022 20:11:41 +0100
-Subject: [PATCH 2/4] pkcs11-tool: Log more information on OpenSSL errors
-
----
- src/tools/pkcs11-tool.c | 15 ++++++---------
- 1 file changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c
-index cfee8526d5..f2e6b1dd91 100644
---- a/src/tools/pkcs11-tool.c
-+++ b/src/tools/pkcs11-tool.c
-@@ -3641,10 +3641,8 @@ parse_rsa_pkey(EVP_PKEY *pkey, int private, struct rsakey_info *rsa)
- const BIGNUM *r_dmp1, *r_dmq1, *r_iqmp;
- r = EVP_PKEY_get1_RSA(pkey);
- if (!r) {
-- if (private)
-- util_fatal("OpenSSL error during RSA private key parsing");
-- else
-- util_fatal("OpenSSL error during RSA public key parsing");
-+ util_fatal("OpenSSL error during RSA %s key parsing: %s", private ? "private" : "public",
-+ ERR_error_string(ERR_peek_last_error(), NULL));
- }
-
- RSA_get0_key(r, &r_n, &r_e, NULL);
-@@ -3654,10 +3652,8 @@ parse_rsa_pkey(EVP_PKEY *pkey, int private, struct rsakey_info *rsa)
- BIGNUM *r_dmp1 = NULL, *r_dmq1 = NULL, *r_iqmp = NULL;
- if (EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_N, &r_n) != 1 ||
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_E, &r_e) != 1) {
-- if (private)
-- util_fatal("OpenSSL error during RSA private key parsing");
-- else
-- util_fatal("OpenSSL error during RSA public key parsing");
-+ util_fatal("OpenSSL error during RSA %s key parsing: %s", private ? "private" : "public",
-+ ERR_error_string(ERR_peek_last_error(), NULL));
- }
- #endif
- RSA_GET_BN(rsa, modulus, r_n);
-@@ -3674,8 +3670,9 @@ parse_rsa_pkey(EVP_PKEY *pkey, int private, struct rsakey_info *rsa)
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_FACTOR2, &r_q) != 1 ||
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_EXPONENT1, &r_dmp1) != 1 ||
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_EXPONENT2, &r_dmq1) != 1 ||
-- util_fatal("OpenSSL error during RSA private key parsing");
- EVP_PKEY_get_bn_param(pkey, OSSL_PKEY_PARAM_RSA_COEFFICIENT1, &r_iqmp) != 1) {
-+ util_fatal("OpenSSL error during RSA private key parsing: %s",
-+ ERR_error_string(ERR_peek_last_error(), NULL));
- }
- #endif
- RSA_GET_BN(rsa, private_exponent, r_d);
-
-From 267da3e81f1fc23a9ccce1462ab5deb1a4d4aec5 Mon Sep 17 00:00:00 2001
-From: Jakub Jelen <jjelen@redhat.com>
-Date: Thu, 1 Dec 2022 20:38:31 +0100
-Subject: [PATCH 3/4] Reproducer for broken pkcs11-tool key import
-
----
- tests/Makefile.am | 10 ++++---
- tests/test-pkcs11-tool-import.sh | 48 ++++++++++++++++++++++++++++++++
- 2 files changed, 54 insertions(+), 4 deletions(-)
- create mode 100755 tests/test-pkcs11-tool-import.sh
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index d378e2ee00..9d8a24c321 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -14,8 +14,9 @@ dist_noinst_SCRIPTS = common.sh \
- test-pkcs11-tool-test-threads.sh \
- test-pkcs11-tool-sign-verify.sh \
- test-pkcs11-tool-allowed-mechanisms.sh \
-- test-pkcs11-tool-sym-crypt-test.sh\
-- test-pkcs11-tool-unwrap-wrap-test.sh
-+ test-pkcs11-tool-sym-crypt-test.sh \
-+ test-pkcs11-tool-unwrap-wrap-test.sh \
-+ test-pkcs11-tool-import.sh
-
- .NOTPARALLEL:
- TESTS = \
-@@ -25,8 +26,9 @@ TESTS = \
- test-pkcs11-tool-test.sh \
- test-pkcs11-tool-test-threads.sh \
- test-pkcs11-tool-allowed-mechanisms.sh \
-- test-pkcs11-tool-sym-crypt-test.sh\
-- test-pkcs11-tool-unwrap-wrap-test.sh
-+ test-pkcs11-tool-sym-crypt-test.sh \
-+ test-pkcs11-tool-unwrap-wrap-test.sh \
-+ test-pkcs11-tool-import.sh
- XFAIL_TESTS = \
- test-pkcs11-tool-test-threads.sh \
- test-pkcs11-tool-test.sh
-diff --git a/tests/test-pkcs11-tool-import.sh b/tests/test-pkcs11-tool-import.sh
-new file mode 100755
-index 0000000000..76ff8e51be
---- /dev/null
-+++ b/tests/test-pkcs11-tool-import.sh
-@@ -0,0 +1,48 @@
-+#!/bin/bash
-+SOURCE_PATH=${SOURCE_PATH:-..}
-+
-+source $SOURCE_PATH/tests/common.sh
-+
-+echo "======================================================="
-+echo "Setup SoftHSM"
-+echo "======================================================="
-+if [[ ! -f $P11LIB ]]; then
-+ echo "WARNING: The SoftHSM is not installed. Can not run this test"
-+ exit 77;
-+fi
-+card_setup
-+
-+ID="0100"
-+OPTS=""
-+for KEYTYPE in "RSA" "EC"; do
-+ echo "======================================================="
-+ echo "Generate and import $KEYTYPE keys"
-+ echo "======================================================="
-+ if [ "$KEYTYPE" == "RSA" ]; then
-+ ID="0100"
-+ elif [ "$KEYTYPE" == "EC" ]; then
-+ ID="0200"
-+ OPTS="-pkeyopt ec_paramgen_curve:P-521"
-+ fi
-+ openssl genpkey -out "${KEYTYPE}_private.der" -outform DER -algorithm $KEYTYPE $OPTS
-+ assert $? "Failed to generate private $KEYTYPE key"
-+ $PKCS11_TOOL --write-object "${KEYTYPE}_private.der" --id "$ID" --type privkey \
-+ --label "$KEYTYPE" -p "$PIN" --module "$P11LIB"
-+ assert $? "Failed to write private $KEYTYPE key"
-+
-+ openssl pkey -in "${KEYTYPE}_private.der" -out "${KEYTYPE}_public.der" -pubout -inform DER -outform DER
-+ assert $? "Failed to convert private $KEYTYPE key to public"
-+ $PKCS11_TOOL --write-object "${KEYTYPE}_public.der" --id "$ID" --type pubkey --label "$KEYTYPE" \
-+ -p $PIN --module $P11LIB
-+ assert $? "Failed to write public $KEYTYPE key"
-+ # certificate import already tested in all other tests
-+
-+ rm "${KEYTYPE}_private.der" "${KEYTYPE}_public.der"
-+done
-+
-+echo "======================================================="
-+echo "Cleanup"
-+echo "======================================================="
-+card_cleanup
-+
-+exit $ERRORS
-
-From 63a7bceeca43ece1eee201ef7a974b20b294ba4e Mon Sep 17 00:00:00 2001
-From: Jakub Jelen <jakuje@gmail.com>
-Date: Fri, 2 Dec 2022 18:07:43 +0100
-Subject: [PATCH 4/4] Simplify the new test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Co-authored-by: Veronika Hanulíková <61348757+xhanulik@users.noreply.github.com>
----
- tests/test-pkcs11-tool-import.sh | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/tests/test-pkcs11-tool-import.sh b/tests/test-pkcs11-tool-import.sh
-index 76ff8e51be..c90b3b4926 100755
---- a/tests/test-pkcs11-tool-import.sh
-+++ b/tests/test-pkcs11-tool-import.sh
-@@ -12,15 +12,13 @@ if [[ ! -f $P11LIB ]]; then
- fi
- card_setup
-
--ID="0100"
--OPTS=""
- for KEYTYPE in "RSA" "EC"; do
- echo "======================================================="
- echo "Generate and import $KEYTYPE keys"
- echo "======================================================="
-- if [ "$KEYTYPE" == "RSA" ]; then
-- ID="0100"
-- elif [ "$KEYTYPE" == "EC" ]; then
-+ ID="0100"
-+ OPTS=""
-+ if [ "$KEYTYPE" == "EC" ]; then
- ID="0200"
- OPTS="-pkeyopt ec_paramgen_curve:P-521"
- fi
diff --git a/dev-libs/opensc/files/opensc-0.23.0-backport-pr2765.patch b/dev-libs/opensc/files/opensc-0.23.0-backport-pr2765.patch
deleted file mode 100644
index 72572c598ac8..000000000000
--- a/dev-libs/opensc/files/opensc-0.23.0-backport-pr2765.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://bugs.gentoo.org/909781
-https://github.com/OpenSC/OpenSC/pull/2765
-
-From 36178c8188521f2627d2eea428a7e53d149eed58 Mon Sep 17 00:00:00 2001
-From: Peter Popovec <popovec.peter@gmail.com>
-Date: Fri, 28 Apr 2023 10:50:25 +0200
-Subject: [PATCH] Fix pkcs11-tool unwrap / incorrect CKA_ID
-
-"object_id[]" and "id_len" must be allocated so that it is not deallocated
-or overwritten (on the stack) at the time of the C_UnwrapKey() call.
-
- modified: src/tools/pkcs11-tool.c
----
- src/tools/pkcs11-tool.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/tools/pkcs11-tool.c b/src/tools/pkcs11-tool.c
-index 890ca27060..f3a01ab4cf 100644
---- a/src/tools/pkcs11-tool.c
-+++ b/src/tools/pkcs11-tool.c
-@@ -3347,6 +3347,8 @@ unwrap_key(CK_SESSION_HANDLE session)
- {CKA_CLASS, &secret_key_class, sizeof(secret_key_class)},
- {CKA_TOKEN, &_true, sizeof(_true)},
- };
-+ CK_BYTE object_id[100];
-+ size_t id_len;
- CK_OBJECT_HANDLE hSecretKey;
- int n_attr = 2;
- CK_RV rv;
-@@ -3450,9 +3452,6 @@ unwrap_key(CK_SESSION_HANDLE session)
- }
-
- if (opt_application_id != NULL) {
-- CK_BYTE object_id[100];
-- size_t id_len;
--
- id_len = sizeof(object_id);
- if (!sc_hex_to_bin(opt_application_id, object_id, &id_len)) {
- FILL_ATTR(keyTemplate[n_attr], CKA_ID, object_id, id_len);
diff --git a/dev-libs/opensc/opensc-0.23.0-r3.ebuild b/dev-libs/opensc/opensc-0.23.0-r3.ebuild
deleted file mode 100644
index dce614bde327..000000000000
--- a/dev-libs/opensc/opensc-0.23.0-r3.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 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 )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-CVE-2023-2977.patch
- "${FILESDIR}"/${P}-backport-pr2656.patch
- "${FILESDIR}"/${P}-backport-pr2765.patch
-)
-
-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.23.0-r2.ebuild b/dev-libs/opensc/opensc-0.25.1.ebuild
index f372e3e254a1..98f3d13a9b10 100644
--- a/dev-libs/opensc/opensc-0.23.0-r2.ebuild
+++ b/dev-libs/opensc/opensc-0.25.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,11 +13,11 @@ if [[ ${PV} == *9999 ]]; then
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 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
LICENSE="LGPL-2.1"
-SLOT="0"
+SLOT="0/11"
IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib"
RESTRICT="!test? ( test )"
@@ -31,7 +31,10 @@ RDEPEND="zlib? ( sys-libs/zlib )
DEPEND="${RDEPEND}
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
- test? ( dev-util/cmocka )"
+ test? (
+ dev-util/cmocka
+ dev-libs/softhsm
+ )"
BDEPEND="virtual/pkgconfig"
REQUIRED_USE="
@@ -40,12 +43,11 @@ REQUIRED_USE="
ctapi? ( !pcsc-lite !openct )
|| ( pcsc-lite openct ctapi )"
-PATCHES=(
- "${FILESDIR}"/${P}-CVE-2023-2977.patch
- "${FILESDIR}"/${P}-backport-pr2656.patch
-)
-
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
}
@@ -71,6 +73,10 @@ src_configure() {
$(use_enable zlib)
}
+src_test() {
+ P11LIB="${ESYSROOT}/usr/$(get_libdir)/softhsm/libsofthsm2.so" default
+}
+
src_install() {
default
diff --git a/dev-libs/opensc/opensc-9999.ebuild b/dev-libs/opensc/opensc-9999.ebuild
index a470c4913c37..7646bcd741c3 100644
--- a/dev-libs/opensc/opensc-9999.ebuild
+++ b/dev-libs/opensc/opensc-9999.ebuild
@@ -1,23 +1,23 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit bash-completion-r1 libtool
+inherit autotools bash-completion-r1
DESCRIPTION="Libraries and applications to access smartcards"
HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
if [[ ${PV} == *9999 ]]; then
- inherit autotools git-r3
+ 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 ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
LICENSE="LGPL-2.1"
-SLOT="0"
+SLOT="0/11"
IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib"
RESTRICT="!test? ( test )"
@@ -31,7 +31,10 @@ RDEPEND="zlib? ( sys-libs/zlib )
DEPEND="${RDEPEND}
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
- test? ( dev-util/cmocka )"
+ test? (
+ dev-util/cmocka
+ dev-libs/softhsm
+ )"
BDEPEND="virtual/pkgconfig"
REQUIRED_USE="
@@ -41,13 +44,12 @@ REQUIRED_USE="
|| ( 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
-
- if [[ ${PV} == *9999 ]]; then
- eautoreconf
- else
- elibtoolize
- fi
+ eautoreconf
}
src_configure() {
@@ -71,6 +73,10 @@ src_configure() {
$(use_enable zlib)
}
+src_test() {
+ P11LIB="${ESYSROOT}/usr/$(get_libdir)/softhsm/libsofthsm2.so" default
+}
+
src_install() {
default
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..97604a0d3850 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"
@@ -25,20 +25,16 @@ DESCRIPTION="full-strength general purpose cryptography library (including SSL a
HOMEPAGE="https://www.openssl.org/"
SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
bindist? (
- mirror://gentoo/${BINDIST_PATCH_SET}
- https://dev.gentoo.org/~whissi/dist/openssl/${BINDIST_PATCH_SET}
+ mirror://gentoo/bb/${BINDIST_PATCH_SET}
)
!vanilla? (
- mirror://gentoo/${PATCH_SET}.tar.xz
https://dev.gentoo.org/~chutzpah/dist/openssl/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~whissi/dist/openssl/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
)
- https://dev.gentoo.org/~whissi/dist/openssl/openssl-compat-1.0.2u-versioned-symbols.patch.gz"
+ mirror://gentoo/ec/openssl-compat-1.0.2u-versioned-symbols.patch.gz"
LICENSE="openssl"
SLOT="1.0.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
+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 +51,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
)"
# Do not install any docs
diff --git a/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild b/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild
index 5818c3537d88..49b04530e1d4 100644
--- a/dev-libs/openssl-compat/openssl-compat-1.1.1u.ebuild
+++ b/dev-libs/openssl-compat/openssl-compat-1.1.1u.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
@@ -31,7 +31,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
kernel_linux? ( sys-process/procps )
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230207 )"
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
index 8ef4a82b3d3a..143561033212 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -1,23 +1,21 @@
DIST openssl-1.0.2-patches-1.5.tar.xz 12404 BLAKE2B 6c1b8c28f339f539b2ab8643379502a24cf62bffde00041dce54d5dd9e8d2620b181362ee5464b0ab32ba4948e209697bfabadbea2944a409a1009100d298f24 SHA512 5725e2d9d1ee8cc074bcef3bed61c71bdab2ff1c114362110c3fb8da11ad5bc8f2ff28e90a293f5f3a5cf96ecda54dffdb7ab3fb3f8b23ef6472250dc3037659
DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1c838de945903fcf959c62cc29ddcd1a0cb360fc5db234df86860a6a4c096f5ecc237611e4c2946b986a5500c24ba93c208ef4 SHA512 a48a7efb9b973b865bcc5009d450b428ed6b4b95e4cefe70c51056e47392c8a7bec58215168d8b07712419dc74646c2bd2fd23bcfbba2031376e292249a6b1b6
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
-DIST openssl-1.1.1u.tar.gz 9892176 BLAKE2B 5de9cb856e497596ecba008bad6515eefd093849b9c66dd7447031723996f3ba66ac37a323a5f7d01b1d42df4daaceb523372f5897d5c53b935ffab91c566594 SHA512 d00aeb0b4c4676deff06ff95af7ac33dd683b92f972b4a8ae55cf384bb37c7ec30ab83c6c0745daf87cf1743a745fced6a347fd11fed4c548aa0953610ed4919
-DIST openssl-1.1.1u.tar.gz.asc 833 BLAKE2B 7a978a94264a14be04372fea39868e9177e8a0b0f24344267702022e19ee0f52e91ad141d7c54da870f7ec0df9b2e43b80939f1d274dd0b44d36da2670e3a468 SHA512 40245d65ace95b2002bf64bcba184c92fec3420b08d9f61f3a709c4842e9478595105d8adce33a08eb98d351d2a0989ec342b08cdd9104498ea0543b6e592d28
DIST openssl-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.10.tar.gz 15194904 BLAKE2B 8bb3bd02b8dc64441ebfea98c4778d3ee0794540186904371a5aed81cb4f6d6903809bf97faafbc2a719617353234484f0d610f2806621229131fdad343f7231 SHA512 fc12f3beed5e2d2f4767aeb772ceb6ba26f6cbfabc247765854108266b27a1223134f0e81735867a9069bc9c07a14b9816e85903cef91bd1b90f781f0b98b61a
-DIST openssl-3.0.10.tar.gz.asc 833 BLAKE2B e1a8fa7c95d5dffdce9fa1824cecc5c81a03228d21c983f23ed4c6c459f085e7406f53337cad41f82506b2a8614497b4eb4cbe261ff4db3c002f1470b90100ba SHA512 3d91e763dcb0bb37cf6586b75c5310c824b5ca75e59a206d759081a67bc016add501648a365aa479dc621f33b86e7aac26d1deb528b43a37187d91eb194b2bdc
-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.9.tar.gz 15181285 BLAKE2B cc1df41fa12ba4443e15e94f6ebdc5e103b9dab5eab2e1c8f74e6a74fa2c38207817921b65d7293cb241c190a910191c7163600bb75243adde0e2f9ec31cc885 SHA512 86c99146b37236419b110db77dd3ac3992e6bed78c258f0cc3434ca233460b4e17c0ac81d7058547fe9cb72a9fd80ee56d4b4916bb731dbe2bbcf1c3d46bf31a
-DIST openssl-3.0.9.tar.gz.asc 833 BLAKE2B 9943ac65f83f48465cae83b37a1d004f6be4622e53c3025166d42954abe9215f1a6c2af58d4aa2b45fa51182fee5019e740969f694655b6c592bb278c68aacef SHA512 9949de6b57d5aa21da1d4b68a29eb37e302403c983bd7d2d8769b320aac4268a9f9091c5fb182862a4f89a9099660939fe609df87c66991b75f7695faf357caf
-DIST openssl-3.1.2.tar.gz 15560427 BLAKE2B 7b4ba35df7d5680c5f13a1986e4c6abaf4592690647dcfa84d7f14c196326355e8ad0ea62f81f8269f0605f0d29f18e9def9c2158fcbe00baefabf819f82374d SHA512 9f41113e5537aee4c3f92711ff85fa12da080363fef0c8b8b34e5b3fc608473c6e4cadd9d8c78f2fcbe97462e51f26a0bb6781656a69ad40226e68af2cf2c762
-DIST openssl-3.1.2.tar.gz.asc 833 BLAKE2B aba3207c5eafaafc34bea078a9684612f7d9b4c5a888a27781cfe2421d27de6c2af3539abfc6efdac81ab0b923b7044a9b764902aa76edfd44ce5979f871a8b9 SHA512 fe143d2d90de1d3d30590ef9801185f8d2837668474ef3879d409bd4eb9417a127dee6c2a4e45076aa3ae3e443bfedd24de434ba4cf3ea0589c113990345a9ce
-DIST openssl-3.1.3.tar.gz 15561739 BLAKE2B a279a5c80191b95ca735aed20beb56ab899ee302258ce3529c377820739bf55075537cd900b06b3ca07b85efdce95cb081bcad1dfd4d33f81695c7ef0cefdf03 SHA512 2388eaa8e99acf1e8af4691a645b9b9af456900c74959e82d4cb02808301e11dcfecc86954a922262b16fa4b664b459894d133ab7d35ec82e1633a33194b7b20
-DIST openssl-3.1.3.tar.gz.asc 833 BLAKE2B 27427a4523c9fa9f9ffc0e00d6492e4bab4cd0d24ebf903fee05197c5089c4d201a76ef0073e856bedd86abf54ae01491e78d259eedf21a4797eee6c9cbd8fcf SHA512 0b8f12dd8623160f7358c24a8f36edb5d8c3460d1f7d711e1367051b172d9ac90c2c7c4980da1aa9f9c89d72384a034fe888b109650156fa197c363a14337127
-DIST openssl-3.1.4.tar.gz 15569450 BLAKE2B bd6a3ef458f86dd5173e87b10432bd81c1570e1848da3c4d7a06eb021d2f67e4075421885c402f6ea792e383e756d78757c17ef060094e840ed5df6faf3d7f9e SHA512 a69df4a018f57dee7d8a57c8003a6869eba11f1eaa394518976642a993780d0de3326019e92dea4c679c6c581fef568ea616ec541afc0792800359c606dffcd2
-DIST openssl-3.1.4.tar.gz.asc 833 BLAKE2B 9f4c2365617b3ea21c8d4f4281befe584e8d39d5f0546fb17d151b21b20615e5d20ed9105881ee981948e866a7629930a7544263c124dce66a9df4f19e16708e SHA512 fc5fa55a54e3da5d48229f25073186613ddf6bb3907999b53ed61832cce9acef00c79d45357bc8590eeeeffb04a829d45921d982924300da16d84eb5333c1512
-DIST openssl-3.2.0.tar.gz 17698352 BLAKE2B 776123929796d2eb0f3974bf6ee3a55df9187231632837576bf5ded7b5917f052683cdfc756693c1bee6fe1ffc7c3cb1ebcf833018d3caf51886f4f4e7a495f1 SHA512 ba3ac38365fd0c50f1eaf1693b6200a0d66f01ff53c2d3bb0358643cd83fc0c61fc3b84c0658cf74b6ae91d7d8a9da7291697bd9be3063ada8a9df879e58ed52
-DIST openssl-3.2.0.tar.gz.asc 833 BLAKE2B b73fd622276e9c8c592b49853c4aec04a9a84bab296aedf1489866ea6e0b5bfe0f299eadbd6e8eecb54e350958f253308f197ed5998cebf0512ca058bf48fdac SHA512 636ed26fc3e9ad63f0666407f254be885c3e8e5db15e5d95f13207099853bac5dbb4e682113a9339f795630396fda78a735aa04b72098d34d5c65ae3c2ed7a33
+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.0.14.tar.gz 15305497 BLAKE2B 7426aea63d5495775c4a0440658cc9c46c4aa31c31473cd5519c2b1ca158e122634e0bbc275237d3eb124fc8bed3d58808d8ac1d228f24f7281d2630ff7813e0 SHA512 1c59c01e60da902a20780d71f1fa5055d4037f38c4bc3fb27ed5b91f211b36a6018055409441ad4df58b5e9232b2528240d02067272c3c9ccb8c221449ca9ac0
+DIST openssl-3.0.14.tar.gz.asc 833 BLAKE2B 8a700452f6f698fbfa206469888fd72706f1798be212e712fd8a4c1ae87f0d98d54820974c64a3db3b5ac69d7beda665f462e83182337391212c0e72e1feb72e SHA512 003d17a2b71176517f5bfba6699c18b271111e5fec3effc275b965286140d1281fa6f5f5e6bcf63feca89dfa035ab776bda8d2af4b71ae921ca9e7a936581fb4
+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.1.6.tar.gz 15672690 BLAKE2B 70112a7ece66bb6faf1a262c503c1df08924b8c1b9b08a1395856f903b1d1b4a38956b485e83415c29fafbf990ae8aced9b2fb0a2af84863b5c0a2a6581282cf SHA512 18ca07ee6a98d5fe46accfa0156e0354ad770d78bbbbe8e4bb92b316a0e4404f17a34eb700f17ed355d826a4b2166894aa46d8dd81fedbcb16aa1aad0926a390
+DIST openssl-3.1.6.tar.gz.asc 833 BLAKE2B 24fbb26ccf60ede99b9ea6ef6a2a8f1ae89c7881c21eafafeae7a498332dbaf7e52c94b2c52247e34511cc4bd204e71a68aa1a6dab133376e1f15bf676ef58be SHA512 ef3ca59527ca7b00430c251df399ea2cbe47ef0deebf4158250baac8e575ea26582756228f12dd0f7009b55199b0134e77ec47ade9835f1785c74703aa84987e
+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.2.2.tar.gz 17744472 BLAKE2B f42d44f31dc9ccf26ffe1fdd4a0119506a211808f92e860a34118109eae2ee7bcb5b0f43cbdf9eb811cd185cb53e092e62d652f7c0c0ce55b13289f7489073c9 SHA512 ebc945065f62a8a2ea4e2f136a2afaea4d38a03bb07a148f7fb73c34a64475a4069de122ebee11a66e421dbd58756ad7ab2d3f905dc90acee72d62757d8c0a2d
+DIST openssl-3.2.2.tar.gz.asc 833 BLAKE2B 09ef1766e771e1d7aac675a09bd9588ee9d76a1fe39794826fd5d9057ae41366a7e92fe81a40bc2fe19a309be612687d8ff760da3f3c44115e3b21b0342b5f46 SHA512 7a798e9c02d25510f4ec49b8956ebf4288760e1272bf327f36b253045ab2f50ac8042071f78984d1b463f07aa2b027f26ad2fbc31deacaac5658fc35437ddc66
+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
+DIST openssl-3.3.1.tar.gz 18055752 BLAKE2B b09bbe94f49c33015fbcee5f578a20c0da33c289791bf33292170d5d3de44ea2e22144ee11067947aef2733e979c0fded875a4ec92d81468285837053447e68e SHA512 d3682a5ae0721748c6b9ec2f1b74d2b1ba61ee6e4c0d42387b5037a56ef34312833b6abb522d19400b45d807dd65cc834156f5e891cb07fbaf69fcf67e1c595d
+DIST openssl-3.3.1.tar.gz.asc 833 BLAKE2B e22c068dfcd0205f1cd27f965b76dcaf59bed61181523f198e40d61a4867b20a7636c853c427497559362a92766f430807f02b693821ac38daaa898946f2dba2 SHA512 ae2db74829b71a68e1fc86229396d76f60a9a98e6bba9adc62bdcf2581b60fb0e29ecde2b53a5686c452e754801568e05d3c4f47e8faf02219ac1aae78283338
diff --git a/dev-libs/openssl/files/gentoo.config-1.0.4 b/dev-libs/openssl/files/gentoo.config-1.0.4
index 5f205781ae3e..d32ce877a34a 100644
--- a/dev-libs/openssl/files/gentoo.config-1.0.4
+++ b/dev-libs/openssl/files/gentoo.config-1.0.4
@@ -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" \
@@ -155,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.9-CVE-2023-2975.patch b/dev-libs/openssl/files/openssl-3.0.9-CVE-2023-2975.patch
deleted file mode 100644
index 908e57251cb9..000000000000
--- a/dev-libs/openssl/files/openssl-3.0.9-CVE-2023-2975.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-https://github.com/openssl/openssl/commit/00e2f5eea29994d19293ec4e8c8775ba73678598
-https://github.com/openssl/openssl/commit/96318a8d21bed334d78797eca5b32790775d5f05
-
-From 00e2f5eea29994d19293ec4e8c8775ba73678598 Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tomas@openssl.org>
-Date: Tue, 4 Jul 2023 17:30:35 +0200
-Subject: [PATCH] Do not ignore empty associated data with AES-SIV mode
-
-The AES-SIV mode allows for multiple associated data items
-authenticated separately with any of these being 0 length.
-
-The provided implementation ignores such empty associated data
-which is incorrect in regards to the RFC 5297 and is also
-a security issue because such empty associated data then become
-unauthenticated if an application expects to authenticate them.
-
-Fixes CVE-2023-2975
-
-Reviewed-by: Matt Caswell <matt@openssl.org>
-Reviewed-by: Paul Dale <pauli@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/21384)
-
-(cherry picked from commit c426c281cfc23ab182f7d7d7a35229e7db1494d9)
---- a/providers/implementations/ciphers/cipher_aes_siv.c
-+++ b/providers/implementations/ciphers/cipher_aes_siv.c
-@@ -120,14 +120,18 @@ static int siv_cipher(void *vctx, unsigned char *out, size_t *outl,
- if (!ossl_prov_is_running())
- return 0;
-
-- if (inl == 0) {
-- *outl = 0;
-- return 1;
-- }
-+ /* Ignore just empty encryption/decryption call and not AAD. */
-+ if (out != NULL) {
-+ if (inl == 0) {
-+ if (outl != NULL)
-+ *outl = 0;
-+ return 1;
-+ }
-
-- if (outsize < inl) {
-- ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL);
-- return 0;
-+ if (outsize < inl) {
-+ ERR_raise(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL);
-+ return 0;
-+ }
- }
-
- if (ctx->hw->cipher(ctx, out, in, inl) <= 0)
-
-From 96318a8d21bed334d78797eca5b32790775d5f05 Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tomas@openssl.org>
-Date: Tue, 4 Jul 2023 17:50:37 +0200
-Subject: [PATCH] Add testcases for empty associated data entries with AES-SIV
-
-Reviewed-by: Matt Caswell <matt@openssl.org>
-Reviewed-by: Paul Dale <pauli@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/21384)
-
-(cherry picked from commit 3993bb0c0c87e3ed0ab4274e4688aa814e164cfc)
---- a/test/recipes/30-test_evp_data/evpciph_aes_siv.txt
-+++ b/test/recipes/30-test_evp_data/evpciph_aes_siv.txt
-@@ -20,6 +20,19 @@ Tag = 85632d07c6e8f37f950acd320a2ecc93
- Plaintext = 112233445566778899aabbccddee
- Ciphertext = 40c02b9690c4dc04daef7f6afe5c
-
-+Cipher = aes-128-siv
-+Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
-+Tag = f1c5fdeac1f15a26779c1501f9fb7588
-+Plaintext = 112233445566778899aabbccddee
-+Ciphertext = 27e946c669088ab06da58c5c831c
-+
-+Cipher = aes-128-siv
-+Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
-+AAD =
-+Tag = d1022f5b3664e5a4dfaf90f85be6f28a
-+Plaintext = 112233445566778899aabbccddee
-+Ciphertext = b66cff6b8eca0b79f083b39a0901
-+
- Cipher = aes-128-siv
- Key = 7f7e7d7c7b7a79787776757473727170404142434445464748494a4b4c4d4e4f
- AAD = 00112233445566778899aabbccddeeffdeaddadadeaddadaffeeddccbbaa99887766554433221100
-@@ -29,6 +42,24 @@ Tag = 7bdb6e3b432667eb06f4d14bff2fbd0f
- Plaintext = 7468697320697320736f6d6520706c61696e7465787420746f20656e6372797074207573696e67205349562d414553
- Ciphertext = cb900f2fddbe404326601965c889bf17dba77ceb094fa663b7a3f748ba8af829ea64ad544a272e9c485b62a3fd5c0d
-
-+Cipher = aes-128-siv
-+Key = 7f7e7d7c7b7a79787776757473727170404142434445464748494a4b4c4d4e4f
-+AAD = 00112233445566778899aabbccddeeffdeaddadadeaddadaffeeddccbbaa99887766554433221100
-+AAD =
-+AAD = 09f911029d74e35bd84156c5635688c0
-+Tag = 83ce6593a8fa67eb6fcd2819cedfc011
-+Plaintext = 7468697320697320736f6d6520706c61696e7465787420746f20656e6372797074207573696e67205349562d414553
-+Ciphertext = 30d937b42f71f71f93fc2d8d702d3eac8dc7651eefcd81120081ff29d626f97f3de17f2969b691c91b69b652bf3a6d
-+
-+Cipher = aes-128-siv
-+Key = 7f7e7d7c7b7a79787776757473727170404142434445464748494a4b4c4d4e4f
-+AAD =
-+AAD = 00112233445566778899aabbccddeeffdeaddadadeaddadaffeeddccbbaa99887766554433221100
-+AAD = 09f911029d74e35bd84156c5635688c0
-+Tag = 77dd4a44f5a6b41302121ee7f378de25
-+Plaintext = 7468697320697320736f6d6520706c61696e7465787420746f20656e6372797074207573696e67205349562d414553
-+Ciphertext = 0fcd664c922464c88939d71fad7aefb864e501b0848a07d39201c1067a7288f3dadf0131a823a0bc3d588e8564a5fe
-+
- Cipher = aes-192-siv
- Key = fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0f0f1f2f3f4f5f6f7f8f9fafbfcfdfefffffefdfcfbfaf9f8f7f6f5f4f3f2f1f0
- AAD = 101112131415161718191a1b1c1d1e1f2021222324252627
diff --git a/dev-libs/openssl/files/openssl-3.0.9-CVE-2023-3446.patch b/dev-libs/openssl/files/openssl-3.0.9-CVE-2023-3446.patch
deleted file mode 100644
index 1a1be6a8af51..000000000000
--- a/dev-libs/openssl/files/openssl-3.0.9-CVE-2023-3446.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-https://github.com/openssl/openssl/commit/1fa20cf2f506113c761777127a38bce5068740eb
-https://github.com/openssl/openssl/commit/8a62fd996cb1c22383ec75b4155d54dec4a1b0ee
-
-From 1fa20cf2f506113c761777127a38bce5068740eb Mon Sep 17 00:00:00 2001
-From: Matt Caswell <matt@openssl.org>
-Date: Thu, 6 Jul 2023 16:36:35 +0100
-Subject: [PATCH] Fix DH_check() excessive time with over sized modulus
-
-The DH_check() function checks numerous aspects of the key or parameters
-that have been supplied. Some of those checks use the supplied modulus
-value even if it is excessively large.
-
-There is already a maximum DH modulus size (10,000 bits) over which
-OpenSSL will not generate or derive keys. DH_check() will however still
-perform various tests for validity on such a large modulus. We introduce a
-new maximum (32,768) over which DH_check() will just fail.
-
-An application that calls DH_check() and supplies a key or parameters
-obtained from an untrusted source could be vulnerable to a Denial of
-Service attack.
-
-The function DH_check() is itself called by a number of other OpenSSL
-functions. An application calling any of those other functions may
-similarly be affected. The other functions affected by this are
-DH_check_ex() and EVP_PKEY_param_check().
-
-CVE-2023-3446
-
-Reviewed-by: Paul Dale <pauli@openssl.org>
-Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
-Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
-Reviewed-by: Tomas Mraz <tomas@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/21451)
-
-(cherry picked from commit 9e0094e2aa1b3428a12d5095132f133c078d3c3d)
---- a/crypto/dh/dh_check.c
-+++ b/crypto/dh/dh_check.c
-@@ -152,6 +152,12 @@ int DH_check(const DH *dh, int *ret)
- if (nid != NID_undef)
- return 1;
-
-+ /* Don't do any checks at all with an excessively large modulus */
-+ if (BN_num_bits(dh->params.p) > OPENSSL_DH_CHECK_MAX_MODULUS_BITS) {
-+ ERR_raise(ERR_LIB_DH, DH_R_MODULUS_TOO_LARGE);
-+ return 0;
-+ }
-+
- if (!DH_check_params(dh, ret))
- return 0;
-
---- a/include/openssl/dh.h
-+++ b/include/openssl/dh.h
-@@ -89,7 +89,11 @@ int EVP_PKEY_CTX_get0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **ukm);
- # include <openssl/dherr.h>
-
- # ifndef OPENSSL_DH_MAX_MODULUS_BITS
--# define OPENSSL_DH_MAX_MODULUS_BITS 10000
-+# define OPENSSL_DH_MAX_MODULUS_BITS 10000
-+# endif
-+
-+# ifndef OPENSSL_DH_CHECK_MAX_MODULUS_BITS
-+# define OPENSSL_DH_CHECK_MAX_MODULUS_BITS 32768
- # endif
-
- # define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024
-
-From 8a62fd996cb1c22383ec75b4155d54dec4a1b0ee Mon Sep 17 00:00:00 2001
-From: Matt Caswell <matt@openssl.org>
-Date: Fri, 7 Jul 2023 14:39:48 +0100
-Subject: [PATCH] Add a test for CVE-2023-3446
-
-Confirm that the only errors DH_check() finds with DH parameters with an
-excessively long modulus is that the modulus is too large. We should not
-be performing time consuming checks using that modulus.
-
-Reviewed-by: Paul Dale <pauli@openssl.org>
-Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
-Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
-Reviewed-by: Tomas Mraz <tomas@openssl.org>
-(Merged from https://github.com/openssl/openssl/pull/21451)
-
-(cherry picked from commit ede782b4c8868d1f09c9cd237f82b6f35b7dba8b)
---- a/test/dhtest.c
-+++ b/test/dhtest.c
-@@ -73,7 +73,7 @@ static int dh_test(void)
- goto err1;
-
- /* check fails, because p is way too small */
-- if (!DH_check(dh, &i))
-+ if (!TEST_true(DH_check(dh, &i)))
- goto err2;
- i ^= DH_MODULUS_TOO_SMALL;
- if (!TEST_false(i & DH_CHECK_P_NOT_PRIME)
-@@ -124,6 +124,17 @@ static int dh_test(void)
- /* We'll have a stale error on the queue from the above test so clear it */
- ERR_clear_error();
-
-+ /* Modulus of size: dh check max modulus bits + 1 */
-+ if (!TEST_true(BN_set_word(p, 1))
-+ || !TEST_true(BN_lshift(p, p, OPENSSL_DH_CHECK_MAX_MODULUS_BITS)))
-+ goto err3;
-+
-+ /*
-+ * We expect no checks at all for an excessively large modulus
-+ */
-+ if (!TEST_false(DH_check(dh, &i)))
-+ goto err3;
-+
- /*
- * II) key generation
- */
-@@ -138,7 +149,7 @@ static int dh_test(void)
- goto err3;
-
- /* ... and check whether it is valid */
-- if (!DH_check(a, &i))
-+ if (!TEST_true(DH_check(a, &i)))
- goto err3;
- if (!TEST_false(i & DH_CHECK_P_NOT_PRIME)
- || !TEST_false(i & DH_CHECK_P_NOT_SAFE_PRIME)
diff --git a/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch b/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch
new file mode 100644
index 000000000000..c5b7dfe449f7
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.1.5-CVE-2024-2511.patch
@@ -0,0 +1,137 @@
+https://www.openssl.org/news/secadv/20240408.txt
+https://bugs.gentoo.org/930047
+https://github.com/openssl/openssl/commit/7e4d731b1c07201ad9374c1cd9ac5263bdf35bce
+https://github.com/openssl/openssl/commit/c342f4b8bd2d0b375b0e22337057c2eab47d9b96
+
+From 7e4d731b1c07201ad9374c1cd9ac5263bdf35bce Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2024 15:43:53 +0000
+Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
+
+In TLSv1.3 we create a new session object for each ticket that we send.
+We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
+use then the new session will be added to the session cache. However, if
+early data is not in use (and therefore anti-replay protection is being
+used), then multiple threads could be resuming from the same session
+simultaneously. If this happens and a problem occurs on one of the threads,
+then the original session object could be marked as not_resumable. When we
+duplicate the session object this not_resumable status gets copied into the
+new session object. The new session object is then added to the session
+cache even though it is not_resumable.
+
+Subsequently, another bug means that the session_id_length is set to 0 for
+sessions that are marked as not_resumable - even though that session is
+still in the cache. Once this happens the session can never be removed from
+the cache. When that object gets to be the session cache tail object the
+cache never shrinks again and grows indefinitely.
+
+CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+--- a/ssl/ssl_lib.c
++++ b/ssl/ssl_lib.c
+@@ -3737,9 +3737,10 @@ void ssl_update_cache(SSL *s, int mode)
+
+ /*
+ * If the session_id_length is 0, we are not supposed to cache it, and it
+- * would be rather hard to do anyway :-)
++ * would be rather hard to do anyway :-). Also if the session has already
++ * been marked as not_resumable we should not cache it for later reuse.
+ */
+- if (s->session->session_id_length == 0)
++ if (s->session->session_id_length == 0 || s->session->not_resumable)
+ return;
+
+ /*
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -154,16 +154,11 @@ SSL_SESSION *SSL_SESSION_new(void)
+ return ss;
+ }
+
+-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
+-{
+- return ssl_session_dup(src, 1);
+-}
+-
+ /*
+ * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
+ * ticket == 0 then no ticket information is duplicated, otherwise it is.
+ */
+-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
+ {
+ SSL_SESSION *dest;
+
+@@ -287,6 +282,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
+ return NULL;
+ }
+
++SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
++{
++ return ssl_session_dup_intern(src, 1);
++}
++
++/*
++ * Used internally when duplicating a session which might be already shared.
++ * We will have resumed the original session. Subsequently we might have marked
++ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
++ * resume from.
++ */
++SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++{
++ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
++
++ if (sess != NULL)
++ sess->not_resumable = 0;
++
++ return sess;
++}
++
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
+ {
+ if (len)
+--- a/ssl/statem/statem_srvr.c
++++ b/ssl/statem/statem_srvr.c
+@@ -2338,9 +2338,8 @@ int tls_construct_server_hello(SSL *s, WPACKET *pkt)
+ * so the following won't overwrite an ID that we're supposed
+ * to send back.
+ */
+- if (s->session->not_resumable ||
+- (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
+- && !s->hit))
++ if (!(s->ctx->session_cache_mode & SSL_SESS_CACHE_SERVER)
++ && !s->hit)
+ s->session->session_id_length = 0;
+
+ if (usetls13) {
+
+From c342f4b8bd2d0b375b0e22337057c2eab47d9b96 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 15 Mar 2024 17:58:42 +0000
+Subject: [PATCH] Hardening around not_resumable sessions
+
+Make sure we can't inadvertently use a not_resumable session
+
+Related to CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24044)
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -533,6 +533,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL *s, const unsigned char *sess_id,
+ ret = s->session_ctx->get_session_cb(s, sess_id, sess_id_len, &copy);
+
+ if (ret != NULL) {
++ if (ret->not_resumable) {
++ /* If its not resumable then ignore this session */
++ if (!copy)
++ SSL_SESSION_free(ret);
++ return NULL;
++ }
+ ssl_tsan_counter(s->session_ctx,
+ &s->session_ctx->stats.sess_cb_hit);
+
diff --git a/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch b/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch
new file mode 100644
index 000000000000..50bc63ef2d14
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.1.5-p11-segfault.patch
@@ -0,0 +1,78 @@
+https://bugs.gentoo.org/916328
+https://github.com/opendnssec/SoftHSMv2/issues/729
+https://github.com/openssl/openssl/issues/22508
+https://github.com/openssl/openssl/commit/0058a55407d824d5b55ecc0a1cbf8931803dc238
+
+From 0058a55407d824d5b55ecc0a1cbf8931803dc238 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Fri, 15 Dec 2023 13:45:50 +0100
+Subject: [PATCH] Revert "Improved detection of engine-provided private
+ "classic" keys"
+
+This reverts commit 2b74e75331a27fc89cad9c8ea6a26c70019300b5.
+
+The commit was wrong. With 3.x versions the engines must be themselves
+responsible for creating their EVP_PKEYs in a way that they are treated
+as legacy - either by using the respective set1 calls or by setting
+non-default EVP_PKEY_METHOD.
+
+The workaround has caused more problems than it solved.
+
+Fixes #22945
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23063)
+
+(cherry picked from commit 39ea78379826fa98e8dc8c0d2b07e2c17cd68380)
+--- a/crypto/engine/eng_pkey.c
++++ b/crypto/engine/eng_pkey.c
+@@ -79,48 +79,6 @@ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+ ERR_raise(ERR_LIB_ENGINE, ENGINE_R_FAILED_LOADING_PRIVATE_KEY);
+ return NULL;
+ }
+- /* We enforce check for legacy key */
+- switch (EVP_PKEY_get_id(pkey)) {
+- case EVP_PKEY_RSA:
+- {
+- RSA *rsa = EVP_PKEY_get1_RSA(pkey);
+- EVP_PKEY_set1_RSA(pkey, rsa);
+- RSA_free(rsa);
+- }
+- break;
+-# ifndef OPENSSL_NO_EC
+- case EVP_PKEY_SM2:
+- case EVP_PKEY_EC:
+- {
+- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(pkey);
+- EVP_PKEY_set1_EC_KEY(pkey, ec);
+- EC_KEY_free(ec);
+- }
+- break;
+-# endif
+-# ifndef OPENSSL_NO_DSA
+- case EVP_PKEY_DSA:
+- {
+- DSA *dsa = EVP_PKEY_get1_DSA(pkey);
+- EVP_PKEY_set1_DSA(pkey, dsa);
+- DSA_free(dsa);
+- }
+- break;
+-#endif
+-# ifndef OPENSSL_NO_DH
+- case EVP_PKEY_DH:
+- {
+- DH *dh = EVP_PKEY_get1_DH(pkey);
+- EVP_PKEY_set1_DH(pkey, dh);
+- DH_free(dh);
+- }
+- break;
+-#endif
+- default:
+- /*Do nothing */
+- break;
+- }
+-
+ return pkey;
+ }
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch b/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch
new file mode 100644
index 000000000000..d5b40447d745
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-CVE-2024-2511.patch
@@ -0,0 +1,137 @@
+https://www.openssl.org/news/secadv/20240408.txt
+https://bugs.gentoo.org/930047
+https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08
+https://github.com/openssl/openssl/commit/4d67109432646c113887b0aa8091fb0d1b3057e6
+
+From e9d7083e241670332e0443da0f0d4ffb52829f08 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Tue, 5 Mar 2024 15:43:53 +0000
+Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3
+
+In TLSv1.3 we create a new session object for each ticket that we send.
+We do this by duplicating the original session. If SSL_OP_NO_TICKET is in
+use then the new session will be added to the session cache. However, if
+early data is not in use (and therefore anti-replay protection is being
+used), then multiple threads could be resuming from the same session
+simultaneously. If this happens and a problem occurs on one of the threads,
+then the original session object could be marked as not_resumable. When we
+duplicate the session object this not_resumable status gets copied into the
+new session object. The new session object is then added to the session
+cache even though it is not_resumable.
+
+Subsequently, another bug means that the session_id_length is set to 0 for
+sessions that are marked as not_resumable - even though that session is
+still in the cache. Once this happens the session can never be removed from
+the cache. When that object gets to be the session cache tail object the
+cache never shrinks again and grows indefinitely.
+
+CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24043)
+--- a/ssl/ssl_lib.c
++++ b/ssl/ssl_lib.c
+@@ -4457,9 +4457,10 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode)
+
+ /*
+ * If the session_id_length is 0, we are not supposed to cache it, and it
+- * would be rather hard to do anyway :-)
++ * would be rather hard to do anyway :-). Also if the session has already
++ * been marked as not_resumable we should not cache it for later reuse.
+ */
+- if (s->session->session_id_length == 0)
++ if (s->session->session_id_length == 0 || s->session->not_resumable)
+ return;
+
+ /*
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -127,16 +127,11 @@ SSL_SESSION *SSL_SESSION_new(void)
+ return ss;
+ }
+
+-SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
+-{
+- return ssl_session_dup(src, 1);
+-}
+-
+ /*
+ * Create a new SSL_SESSION and duplicate the contents of |src| into it. If
+ * ticket == 0 then no ticket information is duplicated, otherwise it is.
+ */
+-SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
+ {
+ SSL_SESSION *dest;
+
+@@ -265,6 +260,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
+ return NULL;
+ }
+
++SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
++{
++ return ssl_session_dup_intern(src, 1);
++}
++
++/*
++ * Used internally when duplicating a session which might be already shared.
++ * We will have resumed the original session. Subsequently we might have marked
++ * it as non-resumable (e.g. in another thread) - but this copy should be ok to
++ * resume from.
++ */
++SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
++{
++ SSL_SESSION *sess = ssl_session_dup_intern(src, ticket);
++
++ if (sess != NULL)
++ sess->not_resumable = 0;
++
++ return sess;
++}
++
+ const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len)
+ {
+ if (len)
+--- a/ssl/statem/statem_srvr.c
++++ b/ssl/statem/statem_srvr.c
+@@ -2445,9 +2445,8 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt)
+ * so the following won't overwrite an ID that we're supposed
+ * to send back.
+ */
+- if (s->session->not_resumable ||
+- (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
+- && !s->hit))
++ if (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER)
++ && !s->hit)
+ s->session->session_id_length = 0;
+
+ if (usetls13) {
+
+From 4d67109432646c113887b0aa8091fb0d1b3057e6 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Fri, 15 Mar 2024 17:58:42 +0000
+Subject: [PATCH] Hardening around not_resumable sessions
+
+Make sure we can't inadvertently use a not_resumable session
+
+Related to CVE-2024-2511
+
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/24043)
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -519,6 +519,12 @@ SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,
+ sess_id, sess_id_len, &copy);
+
+ if (ret != NULL) {
++ if (ret->not_resumable) {
++ /* If its not resumable then ignore this session */
++ if (!copy)
++ SSL_SESSION_free(ret);
++ return NULL;
++ }
+ ssl_tsan_counter(s->session_ctx,
+ &s->session_ctx->stats.sess_cb_hit);
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch b/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch
new file mode 100644
index 000000000000..59e785caac7c
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-p11-segfault.patch
@@ -0,0 +1,79 @@
+https://bugs.gentoo.org/916328
+https://github.com/opendnssec/SoftHSMv2/issues/729
+https://github.com/openssl/openssl/issues/22508
+https://github.com/openssl/openssl/commit/934943281267259fa928f4a5814b176525461a65
+
+From 934943281267259fa928f4a5814b176525461a65 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Fri, 15 Dec 2023 13:45:50 +0100
+Subject: [PATCH] Revert "Improved detection of engine-provided private
+ "classic" keys"
+
+This reverts commit 2b74e75331a27fc89cad9c8ea6a26c70019300b5.
+
+The commit was wrong. With 3.x versions the engines must be themselves
+responsible for creating their EVP_PKEYs in a way that they are treated
+as legacy - either by using the respective set1 calls or by setting
+non-default EVP_PKEY_METHOD.
+
+The workaround has caused more problems than it solved.
+
+Fixes #22945
+
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+Reviewed-by: Neil Horman <nhorman@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23063)
+
+(cherry picked from commit 39ea78379826fa98e8dc8c0d2b07e2c17cd68380)
+--- a/crypto/engine/eng_pkey.c
++++ b/crypto/engine/eng_pkey.c
+@@ -79,48 +79,6 @@ EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,
+ ERR_raise(ERR_LIB_ENGINE, ENGINE_R_FAILED_LOADING_PRIVATE_KEY);
+ return NULL;
+ }
+- /* We enforce check for legacy key */
+- switch (EVP_PKEY_get_id(pkey)) {
+- case EVP_PKEY_RSA:
+- {
+- RSA *rsa = EVP_PKEY_get1_RSA(pkey);
+- EVP_PKEY_set1_RSA(pkey, rsa);
+- RSA_free(rsa);
+- }
+- break;
+-# ifndef OPENSSL_NO_EC
+- case EVP_PKEY_SM2:
+- case EVP_PKEY_EC:
+- {
+- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(pkey);
+- EVP_PKEY_set1_EC_KEY(pkey, ec);
+- EC_KEY_free(ec);
+- }
+- break;
+-# endif
+-# ifndef OPENSSL_NO_DSA
+- case EVP_PKEY_DSA:
+- {
+- DSA *dsa = EVP_PKEY_get1_DSA(pkey);
+- EVP_PKEY_set1_DSA(pkey, dsa);
+- DSA_free(dsa);
+- }
+- break;
+-#endif
+-# ifndef OPENSSL_NO_DH
+- case EVP_PKEY_DH:
+- {
+- DH *dh = EVP_PKEY_get1_DH(pkey);
+- EVP_PKEY_set1_DH(pkey, dh);
+- DH_free(dh);
+- }
+- break;
+-#endif
+- default:
+- /*Do nothing */
+- break;
+- }
+-
+ return pkey;
+ }
+
+
diff --git a/dev-libs/openssl/files/openssl-3.2.1-riscv.patch b/dev-libs/openssl/files/openssl-3.2.1-riscv.patch
new file mode 100644
index 000000000000..51256cf434e2
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-riscv.patch
@@ -0,0 +1,70 @@
+# Bug: https://bugs.gentoo.org/923956
+# Upstream PR: https://github.com/openssl/openssl/pull/23752
+--- a/providers/implementations/ciphers/cipher_aes_gcm_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_gcm_hw.c
+@@ -142,9 +142,9 @@ static const PROV_GCM_HW aes_gcm = {
+ # include "cipher_aes_gcm_hw_armv8.inc"
+ #elif defined(PPC_AES_GCM_CAPABLE) && defined(_ARCH_PPC64)
+ # include "cipher_aes_gcm_hw_ppc.inc"
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_aes_gcm_hw_rv64i.inc"
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+ # include "cipher_aes_gcm_hw_rv32i.inc"
+ #else
+ const PROV_GCM_HW *ossl_prov_aes_hw_gcm(size_t keybits)
+--- a/providers/implementations/ciphers/cipher_aes_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_hw.c
+@@ -142,9 +142,9 @@ const PROV_CIPHER_HW *ossl_prov_cipher_hw_aes_##mode(size_t keybits) \
+ # include "cipher_aes_hw_t4.inc"
+ #elif defined(S390X_aes_128_CAPABLE)
+ # include "cipher_aes_hw_s390x.inc"
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_aes_hw_rv64i.inc"
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+ # include "cipher_aes_hw_rv32i.inc"
+ #else
+ /* The generic case */
+--- a/providers/implementations/ciphers/cipher_aes_ocb_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_ocb_hw.c
+@@ -104,7 +104,7 @@ static const PROV_CIPHER_HW aes_t4_ocb = { \
+ if (SPARC_AES_CAPABLE) \
+ return &aes_t4_ocb;
+
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+
+ static int cipher_hw_aes_ocb_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,
+ const unsigned char *key,
+@@ -126,7 +126,7 @@ static const PROV_CIPHER_HW aes_rv64i_zknd_zkne_ocb = { \
+ if (RISCV_HAS_ZKND_AND_ZKNE()) \
+ return &aes_rv64i_zknd_zkne_ocb;
+
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+
+ static int cipher_hw_aes_ocb_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,
+ const unsigned char *key,
+--- a/providers/implementations/ciphers/cipher_aes_xts_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_xts_hw.c
+@@ -159,7 +159,7 @@ static const PROV_CIPHER_HW aes_xts_t4 = { \
+ if (SPARC_AES_CAPABLE) \
+ return &aes_xts_t4;
+
+-#elif defined(__riscv) && __riscv_xlen == 64
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+
+ static int cipher_hw_aes_xts_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,
+ const unsigned char *key,
+@@ -185,7 +185,7 @@ static const PROV_CIPHER_HW aes_xts_rv64i_zknd_zkne = { \
+ if (RISCV_HAS_ZKND_AND_ZKNE()) \
+ return &aes_xts_rv64i_zknd_zkne;
+
+-#elif defined(__riscv) && __riscv_xlen == 32
++#elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 32
+
+ static int cipher_hw_aes_xts_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,
+ const unsigned char *key,
diff --git a/dev-libs/openssl/files/openssl-3.2.1-s390x.patch b/dev-libs/openssl/files/openssl-3.2.1-s390x.patch
new file mode 100644
index 000000000000..3cbf4854e12e
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.2.1-s390x.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/923957
+https://github.com/openssl/openssl/pull/23458
+https://github.com/openssl/openssl/commit/5fa5d59750db9df00f4871949a66020ac44f4f9c
+
+From 5fa5d59750db9df00f4871949a66020ac44f4f9c Mon Sep 17 00:00:00 2001
+From: Ingo Franzki <ifranzki@linux.ibm.com>
+Date: Fri, 2 Feb 2024 10:20:55 +0100
+Subject: [PATCH] s390x: Fix build on s390x with 'disable-asm'
+
+Do not define S390X_MOD_EXP for a NO_ASM build, this would result in
+unresolved externals for s390x_mod_exp and s390x_crt.
+
+Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
+
+Reviewed-by: Hugo Landau <hlandau@openssl.org>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/23458)
+
+(cherry picked from commit a5b0c568dbefddd154f99011d7ce76cfbfadb67a)
+--- a/include/crypto/bn.h
++++ b/include/crypto/bn.h
+@@ -116,7 +116,8 @@ OSSL_LIB_CTX *ossl_bn_get_libctx(BN_CTX *ctx);
+
+ extern const BIGNUM ossl_bn_inv_sqrt_2;
+
+-#if defined(OPENSSL_SYS_LINUX) && !defined(FIPS_MODULE) && defined (__s390x__)
++#if defined(OPENSSL_SYS_LINUX) && !defined(FIPS_MODULE) && defined (__s390x__) \
++ && !defined (OPENSSL_NO_ASM)
+ # define S390X_MOD_EXP
+ #endif
+
diff --git a/dev-libs/openssl/files/openssl-3.3.1-riscv.patch b/dev-libs/openssl/files/openssl-3.3.1-riscv.patch
new file mode 100644
index 000000000000..90cad6d92a00
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.3.1-riscv.patch
@@ -0,0 +1,96 @@
+# https://bugs.gentoo.org/936311
+# Taken from https://github.com/openssl/openssl/pull/24486
+
+From b1dd4a8005cf172053d986c0dd85fd104f005307 Mon Sep 17 00:00:00 2001
+From: Hongren Zheng <i@zenithal.me>
+Date: Fri, 24 May 2024 14:12:47 +0800
+Subject: [PATCH] riscv: Fix cpuid_obj asm checks for sm4/sm3
+
+Similar to #22881 / #23752
+---
+ crypto/sm3/sm3_local.h | 2 +-
+ include/crypto/sm4_platform.h | 2 +-
+ providers/implementations/ciphers/cipher_sm4_ccm_hw.c | 2 +-
+ providers/implementations/ciphers/cipher_sm4_gcm_hw.c | 2 +-
+ providers/implementations/ciphers/cipher_sm4_hw.c | 2 +-
+ providers/implementations/ciphers/cipher_sm4_xts_hw.c | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/crypto/sm3/sm3_local.h b/crypto/sm3/sm3_local.h
+index d2845f9678967..a467cc98eb13e 100644
+--- a/crypto/sm3/sm3_local.h
++++ b/crypto/sm3/sm3_local.h
+@@ -39,7 +39,7 @@
+ # define HWSM3_CAPABLE (OPENSSL_armcap_P & ARMV8_SM3)
+ void ossl_hwsm3_block_data_order(SM3_CTX *c, const void *p, size_t num);
+ # endif
+-# if defined(__riscv) && __riscv_xlen == 64
++# if defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "crypto/riscv_arch.h"
+ # define HWSM3_CAPABLE 1
+ void ossl_hwsm3_block_data_order(SM3_CTX *c, const void *p, size_t num);
+diff --git a/include/crypto/sm4_platform.h b/include/crypto/sm4_platform.h
+index 928dc17ff0838..4d70d291450a1 100644
+--- a/include/crypto/sm4_platform.h
++++ b/include/crypto/sm4_platform.h
+@@ -38,7 +38,7 @@ static inline int vpsm4_ex_capable(void)
+ # define HWSM4_cbc_encrypt sm4_v8_cbc_encrypt
+ # define HWSM4_ecb_encrypt sm4_v8_ecb_encrypt
+ # define HWSM4_ctr32_encrypt_blocks sm4_v8_ctr32_encrypt_blocks
+-# elif defined(__riscv) && __riscv_xlen == 64
++# elif defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ /* RV64 support */
+ # include "riscv_arch.h"
+ /* Zvksed extension (vector crypto SM4). */
+diff --git a/providers/implementations/ciphers/cipher_sm4_ccm_hw.c b/providers/implementations/ciphers/cipher_sm4_ccm_hw.c
+index 34f0e751e007d..293bb69d64272 100644
+--- a/providers/implementations/ciphers/cipher_sm4_ccm_hw.c
++++ b/providers/implementations/ciphers/cipher_sm4_ccm_hw.c
+@@ -59,7 +59,7 @@ static const PROV_CCM_HW ccm_sm4 = {
+ ossl_ccm_generic_gettag
+ };
+
+-#if defined(__riscv) && __riscv_xlen == 64
++#if defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_sm4_ccm_hw_rv64i.inc"
+ #else
+ const PROV_CCM_HW *ossl_prov_sm4_hw_ccm(size_t keybits)
+diff --git a/providers/implementations/ciphers/cipher_sm4_gcm_hw.c b/providers/implementations/ciphers/cipher_sm4_gcm_hw.c
+index 06ca450782ff2..e3b4e9f588807 100644
+--- a/providers/implementations/ciphers/cipher_sm4_gcm_hw.c
++++ b/providers/implementations/ciphers/cipher_sm4_gcm_hw.c
+@@ -89,7 +89,7 @@ static const PROV_GCM_HW sm4_gcm = {
+ ossl_gcm_one_shot
+ };
+
+-#if defined(__riscv) && __riscv_xlen == 64
++#if defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_sm4_gcm_hw_rv64i.inc"
+ #else
+ const PROV_GCM_HW *ossl_prov_sm4_hw_gcm(size_t keybits)
+diff --git a/providers/implementations/ciphers/cipher_sm4_hw.c b/providers/implementations/ciphers/cipher_sm4_hw.c
+index c4f2f97cccd8d..70dc66ffae233 100644
+--- a/providers/implementations/ciphers/cipher_sm4_hw.c
++++ b/providers/implementations/ciphers/cipher_sm4_hw.c
+@@ -134,7 +134,7 @@ const PROV_CIPHER_HW *ossl_prov_cipher_hw_sm4_##mode(size_t keybits) \
+ return &sm4_##mode; \
+ }
+
+-#if defined(__riscv) && __riscv_xlen == 64
++#if defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_sm4_hw_rv64i.inc"
+ #else
+ /* The generic case */
+diff --git a/providers/implementations/ciphers/cipher_sm4_xts_hw.c b/providers/implementations/ciphers/cipher_sm4_xts_hw.c
+index 6cf58e851f5d4..423598317d217 100644
+--- a/providers/implementations/ciphers/cipher_sm4_xts_hw.c
++++ b/providers/implementations/ciphers/cipher_sm4_xts_hw.c
+@@ -89,7 +89,7 @@ static const PROV_CIPHER_HW sm4_generic_xts = {
+ cipher_hw_sm4_xts_copyctx
+ };
+
+-#if defined(__riscv) && __riscv_xlen == 64
++#if defined(OPENSSL_CPUID_OBJ) && defined(__riscv) && __riscv_xlen == 64
+ # include "cipher_sm4_xts_hw_rv64i.inc"
+ #else
+ const PROV_CIPHER_HW *ossl_prov_cipher_hw_sm4_xts(size_t keybits)
diff --git a/dev-libs/openssl/metadata.xml b/dev-libs/openssl/metadata.xml
index bb40ddbf82df..a00bd02d7b09 100644
--- a/dev-libs/openssl/metadata.xml
+++ b/dev-libs/openssl/metadata.xml
@@ -6,10 +6,10 @@
<name>Gentoo Base System</name>
</maintainer>
<use>
- <flag name="asm">Support assembly hand optimized crypto functions (i.e. faster run time)</flag>
<flag name="bindist">Disable/Restrict EC algorithms (as they seem to be patented) -- note: changes the ABI</flag>
<flag name="fips">Enable FIPS provider</flag>
<flag name="ktls">Enable support for Kernel implementation of TLS (kTLS)</flag>
+ <flag name="quic">Enable support for QUIC (RFC 9000); a UDP-based protocol intended to replace TCP</flag>
<flag name="rfc3779">Enable support for RFC 3779 (X.509 Extensions for IP Addresses and AS Identifiers)</flag>
<flag name="sslv2">Support for the old/insecure SSLv2 protocol -- note: not required for TLS/https</flag>
<flag name="sslv3">Support for the old/insecure SSLv3 protocol -- note: not required for TLS/https</flag>
diff --git a/dev-libs/openssl/openssl-1.0.2u-r1.ebuild b/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
index a76877972d3a..c2abe15ce890 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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -25,14 +25,10 @@ DESCRIPTION="full-strength general purpose cryptography library (including SSL a
HOMEPAGE="https://www.openssl.org/"
SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
bindist? (
- mirror://gentoo/${BINDIST_PATCH_SET}
- https://dev.gentoo.org/~whissi/dist/openssl/${BINDIST_PATCH_SET}
+ mirror://gentoo/bb/${BINDIST_PATCH_SET}
)
!vanilla? (
- mirror://gentoo/${PATCH_SET}.tar.xz
https://dev.gentoo.org/~chutzpah/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}.tar.xz
- https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}.tar.xz
)"
LICENSE="openssl"
@@ -52,7 +48,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"
diff --git a/dev-libs/openssl/openssl-1.1.1u.ebuild b/dev-libs/openssl/openssl-1.1.1u.ebuild
deleted file mode 100644
index 7c790183c7f3..000000000000
--- a/dev-libs/openssl/openssl-1.1.1u.ebuild
+++ /dev/null
@@ -1,268 +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=/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
- sys-devel/bc
- kernel_linux? ( sys-process/procps )
- )
- verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230207 )"
-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-1.1.1w.ebuild b/dev-libs/openssl/openssl-1.1.1w.ebuild
index 74c0f8812c70..d8ec15eef987 100644
--- a/dev-libs/openssl/openssl-1.1.1w.ebuild
+++ b/dev-libs/openssl/openssl-1.1.1w.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
@@ -16,7 +16,7 @@ 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"
+ 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 )"
@@ -29,7 +29,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
kernel_linux? ( sys-process/procps )
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
diff --git a/dev-libs/openssl/openssl-3.0.11.ebuild b/dev-libs/openssl/openssl-3.0.11.ebuild
deleted file mode 100644
index dbe7e40dd02b..000000000000
--- a/dev-libs/openssl/openssl-3.0.11.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
-
-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
- sys-devel/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.10.ebuild b/dev-libs/openssl/openssl-3.0.13-r2.ebuild
index dbe7e40dd02b..7419ab042851 100644
--- a/dev-libs/openssl/openssl-3.0.10.ebuild
+++ b/dev-libs/openssl/openssl-3.0.13-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
@@ -37,7 +37,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
sys-process/procps
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
@@ -50,6 +50,11 @@ 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
@@ -77,20 +82,10 @@ pkg_setup() {
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
+ rm -f Makefile || die
if ! use vanilla ; then
PATCHES+=(
diff --git a/dev-libs/openssl/openssl-3.0.12.ebuild b/dev-libs/openssl/openssl-3.0.14.ebuild
index 0554f775b981..647c4ee7dbf9 100644
--- a/dev-libs/openssl/openssl-3.0.12.ebuild
+++ b/dev-libs/openssl/openssl-3.0.14.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
@@ -37,7 +37,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
sys-process/procps
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
@@ -77,20 +77,10 @@ pkg_setup() {
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
+ rm -f Makefile || die
if ! use vanilla ; then
PATCHES+=(
diff --git a/dev-libs/openssl/openssl-3.0.9-r1.ebuild b/dev-libs/openssl/openssl-3.0.9-r1.ebuild
deleted file mode 100644
index 3d8f016cea7b..000000000000
--- a/dev-libs/openssl/openssl-3.0.9-r1.ebuild
+++ /dev/null
@@ -1,286 +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=/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"
-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
- sys-devel/bc
- sys-process/procps
- )
- verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230207 )"
-
-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() {
- 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.9-r2.ebuild b/dev-libs/openssl/openssl-3.0.9-r2.ebuild
deleted file mode 100644
index d09869034c8e..000000000000
--- a/dev-libs/openssl/openssl-3.0.9-r2.ebuild
+++ /dev/null
@@ -1,293 +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=/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"
-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
- sys-devel/bc
- sys-process/procps
- )
- verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230207 )"
-
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-PDEPEND="app-misc/ca-certificates"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/openssl/configuration.h
-)
-
-PATCHES=(
- "${FILESDIR}"/${P}-CVE-2023-2975.patch
- "${FILESDIR}"/${P}-CVE-2023-3446.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
- 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.3.ebuild b/dev-libs/openssl/openssl-3.1.5-r2.ebuild
index 0abd2585a656..1c3b048b75a0 100644
--- a/dev-libs/openssl/openssl-3.1.3.ebuild
+++ b/dev-libs/openssl/openssl-3.1.5-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
@@ -40,7 +40,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
sys-process/procps
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
@@ -53,6 +53,11 @@ 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
@@ -80,16 +85,6 @@ pkg_setup() {
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
diff --git a/dev-libs/openssl/openssl-3.1.4.ebuild b/dev-libs/openssl/openssl-3.1.6.ebuild
index 0abd2585a656..a95bf0b407ff 100644
--- a/dev-libs/openssl/openssl-3.1.4.ebuild
+++ b/dev-libs/openssl/openssl-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
@@ -40,7 +40,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
sys-process/procps
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
@@ -80,16 +80,6 @@ pkg_setup() {
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
diff --git a/dev-libs/openssl/openssl-3.1.2.ebuild b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
index 0abd2585a656..fb480821f325 100644
--- a/dev-libs/openssl/openssl-3.1.2.ebuild
+++ b/dev-libs/openssl/openssl-3.2.1-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
@@ -21,7 +21,10 @@ else
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"
+
+ 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}
@@ -40,7 +43,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
sys-process/procps
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
@@ -53,6 +56,14 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/openssl/configuration.h
)
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ # bug 923956 (drop on next version bump)
+ "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
+ "${FILESDIR}"/${P}-s390x.patch
+)
+
pkg_setup() {
if use ktls ; then
if kernel_is -lt 4 18 ; then
@@ -139,8 +150,8 @@ src_configure() {
append-flags $(test-flags-CC -Wa,--noexecstack)
- # bug #895308
- append-atomic-flags
+ # bug #895308 -- check inserts GNU ld-compatible arguments
+ [[ ${CHOST} == *-darwin* ]] || append-atomic-flags
# Configure doesn't respect LIBS
export LDLIBS="${LIBS}"
@@ -219,9 +230,15 @@ multilib_src_compile() {
}
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.
- emake HARNESS_JOBS="$(makeopts_jobs)" -Onone VFP=1 test
+ #
+ # -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() {
diff --git a/dev-libs/openssl/openssl-3.2.0.ebuild b/dev-libs/openssl/openssl-3.2.2.ebuild
index 5e0defcf0ef7..e00a57886dc5 100644
--- a/dev-libs/openssl/openssl-3.2.0.ebuild
+++ b/dev-libs/openssl/openssl-3.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -22,9 +22,9 @@ else
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
+ 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}
@@ -43,7 +43,7 @@ BDEPEND="
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
- sys-devel/bc
+ app-alternatives/bc
sys-process/procps
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
@@ -142,8 +142,8 @@ src_configure() {
append-flags $(test-flags-CC -Wa,--noexecstack)
- # bug #895308
- append-atomic-flags
+ # bug #895308 -- check inserts GNU ld-compatible arguments
+ [[ ${CHOST} == *-darwin* ]] || append-atomic-flags
# Configure doesn't respect LIBS
export LDLIBS="${LIBS}"
@@ -230,9 +230,7 @@ multilib_src_test() {
# -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.
- #
- # test_symbol_presence: https://github.com/openssl/openssl/issues/22837
- emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 TESTS='-test_symbol_presence' test
+ emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test
}
multilib_src_install() {
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..3c59077a40e6
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.3.0.ebuild
@@ -0,0 +1,301 @@
+# 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 quic 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 quic && echo "enable-quic")
+ $(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/openssl/openssl-3.3.1.ebuild b/dev-libs/openssl/openssl-3.3.1.ebuild
new file mode 100644
index 000000000000..18c0067df4fc
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.3.1.ebuild
@@ -0,0 +1,303 @@
+# 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="~amd64 ~arm ~m68k ~mips ~s390 ~sparc ~x86"
+ 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 quic 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=(
+ # bug 936311, 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 || 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 quic && echo "enable-quic")
+ $(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.5.0.ebuild b/dev-libs/optix/optix-7.5.0.ebuild
index 3de080857121..93173c78a603 100644
--- a/dev-libs/optix/optix-7.5.0.ebuild
+++ b/dev-libs/optix/optix-7.5.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
@@ -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-r1.ebuild b/dev-libs/papi/papi-6.0.0.1-r1.ebuild
index a4801fba366c..aa62e602ab7a 100644
--- a/dev-libs/papi/papi-6.0.0.1-r1.ebuild
+++ b/dev-libs/papi/papi-6.0.0.1-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
@@ -6,8 +6,8 @@ EAPI=7
inherit autotools fortran-2 toolchain-funcs
DESCRIPTION="Performance Application Programming Interface"
-HOMEPAGE="http://icl.cs.utk.edu/papi/"
-SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
+HOMEPAGE="https://icl.cs.utk.edu/papi/"
+SRC_URI="https://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
S="${WORKDIR}/${P}/src"
LICENSE="BSD"
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..b9e9db7b2516
--- /dev/null
+++ b/dev-libs/papi/papi-6.0.0.1-r2.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 fortran-2 toolchain-funcs
+
+DESCRIPTION="Performance Application Programming Interface"
+HOMEPAGE="https://icl.cs.utk.edu/papi/"
+SRC_URI="https://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-r2.ebuild
index 626a81d5bfc2..7701362b1af4 100644
--- a/dev-libs/pcl/pcl-1.12-r1.ebuild
+++ b/dev-libs/pcl/pcl-1.12-r2.ebuild
@@ -1,16 +1,20 @@
-# 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
DESCRIPTION="Portable Coroutine Library"
-HOMEPAGE="http://xmailserver.org/libpcl.html"
-SRC_URI="http://xmailserver.org/${P}.tar.gz"
+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
}
diff --git a/dev-libs/pegtl/pegtl-3.2.7.ebuild b/dev-libs/pegtl/pegtl-3.2.7.ebuild
index 88a9c2105f41..579d10e6af54 100644
--- a/dev-libs/pegtl/pegtl-3.2.7.ebuild
+++ b/dev-libs/pegtl/pegtl-3.2.7.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 @@ 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/pfs/Manifest b/dev-libs/pfs/Manifest
new file mode 100644
index 000000000000..53ded16be40e
--- /dev/null
+++ b/dev-libs/pfs/Manifest
@@ -0,0 +1 @@
+DIST pfs-0.10.0.tar.gz 239987 BLAKE2B 60c918e184cd2896da8df35daa5b33fb5a90a776d1297ffc48fa15fc0bab5c852e23418924b7427f6fe3fcce30a21ed7a291b5ab02cdd42d41b2189d5add8b28 SHA512 f8f46e664142f8b52f97f8c5974a8ae0a2002dca1a778f23e23b7d4da4d184c87441928cd5d0b40cc2106b2bb7cb9be330bdda0c4374a66acaf10edff069563f
diff --git a/dev-libs/pfs/files/pfs-0.10.0-Werror.patch b/dev-libs/pfs/files/pfs-0.10.0-Werror.patch
new file mode 100644
index 000000000000..c319d4b6e984
--- /dev/null
+++ b/dev-libs/pfs/files/pfs-0.10.0-Werror.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2024-05-21 20:11:22.098008343 +0200
++++ b/CMakeLists.txt 2024-05-21 20:11:35.538853965 +0200
+@@ -31,7 +31,7 @@
+ # Actual configuration
+ # ------------------------------------------------------------------------
+
+-add_compile_options (-std=c++11 -Wall -Wextra -pedantic -Werror)
++add_compile_options (-std=c++11 -Wall -Wextra -pedantic)
+
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out)
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
diff --git a/dev-libs/hyperscan/metadata.xml b/dev-libs/pfs/metadata.xml
index dc4b2f2b7d54..e8b86cf9074c 100644
--- a/dev-libs/hyperscan/metadata.xml
+++ b/dev-libs/pfs/metadata.xml
@@ -2,10 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>arkamar@gentoo.org</email>
- <name>Petr Vaněk</name>
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
</maintainer>
<upstream>
- <remote-id type="github">intel/hyperscan</remote-id>
+ <remote-id type="github">dtrugman/pfs</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/pfs/pfs-0.10.0.ebuild b/dev-libs/pfs/pfs-0.10.0.ebuild
new file mode 100644
index 000000000000..f40731e44a48
--- /dev/null
+++ b/dev-libs/pfs/pfs-0.10.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Production grade, very easy to use, procfs parsing library in C++"
+HOMEPAGE="https://github.com/dtrugman/pfs"
+SRC_URI="https://github.com/dtrugman/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}"/${P}-Werror.patch )
+
+src_prepare() {
+ rm test/test_proc_stat.cpp | dir
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -Dpfs_BUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/out/unittest || die
+}
diff --git a/dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild b/dev-libs/pkcs11-helper/pkcs11-helper-1.29.0-r1.ebuild
index fa9b65fb42cf..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-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 @@ RDEPEND=">=dev-libs/openssl-0.9.7:=
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"
diff --git a/dev-libs/plasma-wayland-protocols/Manifest b/dev-libs/plasma-wayland-protocols/Manifest
index 9201e7ee505f..41c71f0aadf5 100644
--- a/dev-libs/plasma-wayland-protocols/Manifest
+++ b/dev-libs/plasma-wayland-protocols/Manifest
@@ -1,3 +1 @@
-DIST plasma-wayland-protocols-1.10.0.tar.xz 43268 BLAKE2B 1f0bc6fcd822ed8f010a1e9144b4e423e44de04c429e39a465e2ef5e59553d22db08fc379b84cc93624fa5dd64ca00ddc7d0e788251809036bfd09c8fe6ae0b7 SHA512 ddb09de9b3320f8e10d21c5d201ffe43d7e1f2f6c0d0c1b33aced28d8c324c9439800b4bd1516e7a34e45b1ac94e252c825216378d52b5cd6d671d73baa24c03
-DIST plasma-wayland-protocols-1.11.1.tar.xz 44672 BLAKE2B 036fc1cee22fe277b7ae0ee4c9887dca8f68fcd31a9bad174857e8cdef389ef8122d5c5c169e6ae8447115999905afd55cc19ea877947585b1202dc5b4f325ce SHA512 8a3b887c95c5991320f115911bba2691567c11ef4f9201729d469aa1ec02fc4225f37886f8e674c6953efea51aa24afbe59c613b9013632c918ce24f77f1979a
-DIST plasma-wayland-protocols-1.12.0.tar.xz 44272 BLAKE2B 05f6c7e496d8be7d215ceeed6059230bb609c43c81eba363fc85e49279f2322a5c7c6cedebd9987d1f6d4edefad01eb84039cd949de730607e9ee4bb9a9c2c01 SHA512 4894493e117669d7ab54b385e2a40d69ddce7cb860b68d9a28f9032d63cad6004858f984ad8ece34567e0e806ccb3f973852596b905d2618b60115ccf9c82886
+DIST plasma-wayland-protocols-1.13.0.tar.xz 45016 BLAKE2B 179bc29e79c210008e9f0b54cd50ce6350b0e575f746dbb6d2fe0dc0db4c4c1b98e29cd2b2faa98ce2049b001f2b2e8cbef9cded64db6823f8f56973e92cea8e SHA512 7e335df79a9b614701330d1dd4aa37803a35a5fa409f4d9456f487383c9c3c02414f74551363b22694e7fea9c4c2427ead3213d984c3673c90348e7f890826af
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 427da74f07a3..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.11.1.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.11.1.ebuild
deleted file mode 100644
index 0f65569f83cd..000000000000
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.11.1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_NONGUI=true
-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.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0.ebuild
deleted file mode 100644
index 0f65569f83cd..000000000000
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_NONGUI=true
-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.13.0.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.13.0.ebuild
new file mode 100644
index 000000000000..ad0d538fed5b
--- /dev/null
+++ b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.13.0.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/pocketfft/Manifest b/dev-libs/pocketfft/Manifest
index 21f04969b6f5..6afacd0b6f91 100644
--- a/dev-libs/pocketfft/Manifest
+++ b/dev-libs/pocketfft/Manifest
@@ -1 +1,2 @@
DIST pocketfft-2021.11.23.tar.gz 26769 BLAKE2B 80eb02a2a73d46febf562c3c0b7ad86ee5d9f93b41057c99f9f7f767b7cd2e6b7bc3986e67faaca6e69b9d7e2402febb8d427cb8c57badcafcc5ea0dafd04b20 SHA512 d212cfa34ecde2f38b789d218b5ed4fb9069e41f9d35587dd058b8af89cf22e79a1c8f8ddf2d47d794fa23a7e363cb0631b25461ae3fc9fc5d58e1bdf6356600
+DIST pocketfft-2023.12.30.tar.gz 26923 BLAKE2B 8e4db14899953a210101c63f2766200f96f2f6510dfe27dbc9edd89eea78d53834cc9f749ec37b393e4159be1fd9614745250331d52d417eca365490cbe5b80f SHA512 078f52440bd85107f7a26c2e6d8ad86d6900a178161b5a1b39b694146535915dbd0825bf6d6f187fe1a2ea0f14e5da7a6b32e57d149c9147377eb6bd5ce2394c
diff --git a/dev-libs/pocketfft/pocketfft-2023.12.30.ebuild b/dev-libs/pocketfft/pocketfft-2023.12.30.ebuild
new file mode 100644
index 000000000000..eab264d2972e
--- /dev/null
+++ b/dev-libs/pocketfft/pocketfft-2023.12.30.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CommitId=9d3ab05a7fffbc71a492bc6a17be034e83e8f0fe
+
+DESCRIPTION="PocketFFT for C++"
+HOMEPAGE="https://github.com/mreineck/pocketfft/"
+SRC_URI="https://github.com/mreineck/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.tar.gz"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_install() {
+ doheader pocketfft_hdronly.h
+ default
+}
diff --git a/dev-libs/pocl/Manifest b/dev-libs/pocl/Manifest
index b2eb19f5fd11..3d8203f4e5c7 100644
--- a/dev-libs/pocl/Manifest
+++ b/dev-libs/pocl/Manifest
@@ -1 +1,3 @@
DIST pocl-4.0.tar.gz 2140919 BLAKE2B 1e9dd4de4824dd4a9e2b0d053d1786062c135d3bf7ca99dc884657b89c651fca6c0f3dedb568439802a58b0bfabc10939ca344b0110ae5fdb31be06f596d2a48 SHA512 3835a9e8fc8562d50a91a11b807cf87a096891f5c27675127b66412eacff2e541b6143b49b4155f43a09f4e53faa062ec20f3b20badeca206ece9f45ad50f26a
+DIST pocl-5.0.tar.gz 2361502 BLAKE2B eca07953ff56e7e4ca10f71db12819547bc8ff28da26e569c3544edd802f9ded0a8bd0d9cb260069cfe3788f9bc6c84d6ae96c1148c4e92fe6268a95a60ee5b6 SHA512 c2d6c80cbcba7af1c31dfa794c2aa7be6d1ce2cc9900fbf6e0a1536747440602cdc0f1a84f81f85737818a7ea60b490558ef328b3b156e52c63db3fe4ce490b0
+DIST pocl-6.0.tar.gz 2466652 BLAKE2B e074f35bfe8ccd70038fe05ca01da033849bed83075330f1149597455a5892281d4d09b8db5b4731e7e0c248d1ffdc8e8707c1ebe53d50624294ad92aa886be6 SHA512 a24efadbbb81c810cd5c4bbb8abfa75b9bbdfeca786e8471dd75d40a78024d04c1b5c5a7114e75e1eb70a1b6a3756bb47ba741de0f1c4d1416fbce4688d62cc0
diff --git a/dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch b/dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch
new file mode 100644
index 000000000000..251bdad65bd6
--- /dev/null
+++ b/dev-libs/pocl/files/pocl-5.0-missing-definitions-fix.patch
@@ -0,0 +1,41 @@
+Fixes missing definitions.
+
+FAILED: lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o
+/usr/bin/x86_64-pc-linux-gnu-g++ -DCL_HPP_TARGET_OPENCL_VERSION=300 -DCL_TARGET_OPENCL_VERSION=300 -DCL_USE_DEPRECATED_OPENCL_1_0_APIS -DCL_USE_DEPRECATED_OPENCL_1_1_APIS -DCL_USE_DEPRECATED_OPENCL_1_2_APIS -DCL_USE_DEPRECATED_OPENCL_2_0_APIS -DCL_USE_DEPRECATED_OPENCL_2_1_APIS -DCL_USE_DEPRECATED_OPENCL_2_2_APIS -Dpocl_devices_almaif_EXPORTS -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0_build -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/include -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/include/hpp -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices -I/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/. -O2 -pipe -march=x86-64 -mtune=generic -std=c++11 -fPIC -Wno-ignored-attributes -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o -MF lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o.d -o lib/CL/devices/almaif/CMakeFiles/pocl-devices-almaif.dir/MMAPDevice.cc.o -c /var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/MMAPDevice.cc
+In file included from /var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/MMAPDevice.hh:28,
+ from /var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/MMAPDevice.cc:24:
+/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:45:36: error: ‘cl_kernel’ has not been declared
+ 45 | cl_kernel Kernel, _cl_command_node *Command);
+ | ^~~~~~~~~
+/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:45:54: error: ‘_cl_command_node’ has not been declared
+ 45 | cl_kernel Kernel, _cl_command_node *Command);
+ | ^~~~~~~~~~~~~~~~
+/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:67:34: error: ‘pocl_mem_identifier’ has not been declared
+ 67 | virtual void writeDataToDevice(pocl_mem_identifier *DstMemId,
+ | ^~~~~~~~~~~~~~~~~~~
+/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:71:35: error: ‘pocl_mem_identifier’ has not been declared
+ 71 | pocl_mem_identifier *SrcMemId, size_t Size,
+ | ^~~~~~~~~~~~~~~~~~~
+/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:79:11: error: ‘cl_int’ does not name a type; did you mean ‘u_int’?
+ 79 | virtual cl_int allocateBuffer(pocl_mem_identifier *P, size_t Size);
+ | ^~~~~~
+ | u_int
+/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:81:27: error: ‘pocl_mem_identifier’ has not been declared
+ 81 | virtual void freeBuffer(pocl_mem_identifier *P);
+ | ^~~~~~~~~~~~~~~~~~~
+/var/tmp/portage/dev-libs/pocl-5.0/work/pocl-5.0/lib/CL/devices/almaif/AlmaIFDevice.hh:83:38: error: ‘pocl_mem_identifier’ has not been declared
+ 83 | virtual size_t pointerDeviceOffset(pocl_mem_identifier *P);
+ | ^~~~~~~~~~~~~~~~~~~
+
+diff -Nuar a/lib/CL/devices/almaif/AlmaIFDevice.hh b/lib/CL/devices/almaif/AlmaIFDevice.hh
+--- a/lib/CL/devices/almaif/AlmaIFDevice.hh 2023-12-19 13:24:31.000000000 +0000
++++ b/lib/CL/devices/almaif/AlmaIFDevice.hh 2024-01-13 03:42:12.045091773 +0000
+@@ -34,6 +34,8 @@
+ #include <stdlib.h>
+ #include <string>
+
++#include "pocl_cl.h"
++
+ struct almaif_kernel_data_s;
+
+ class AlmaIFDevice {
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-4.0.ebuild b/dev-libs/pocl/pocl-4.0.ebuild
index 2ffb95bda051..e8e313759963 100644
--- a/dev-libs/pocl/pocl-4.0.ebuild
+++ b/dev-libs/pocl/pocl-4.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
@@ -14,7 +14,7 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc64"
# TODO: hsa tce
-IUSE="accel +conformance cuda debug examples float-conversion hardening +hwloc memmanager lto test"
+IUSE="accel +conformance cuda debug examples float-conversion hardening +hwloc memmanager test"
# Tests not yet passing, fragile in Portage environment(?)
RESTRICT="!test? ( test ) test"
@@ -69,7 +69,8 @@ src_configure() {
-DPOCL_ICD_ABSOLUTE_PATH=ON
-DPOCL_INSTALL_PUBLIC_LIBDIR="${EPREFIX}/usr/$(get_libdir)/OpenCL/vendors/pocl"
- -DENABLE_IPO=$(usex lto)
+ # only appends -flto
+ -DENABLE_IPO=OFF
-DENABLE_POCL_BUILDING=ON
-DKERNELLIB_HOST_CPU_VARIANTS="${host_cpu_variants}"
diff --git a/dev-libs/pocl/pocl-5.0.ebuild b/dev-libs/pocl/pocl-5.0.ebuild
new file mode 100644
index 000000000000..16d02903db69
--- /dev/null
+++ b/dev-libs/pocl/pocl-5.0.ebuild
@@ -0,0 +1,115 @@
+# 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="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
+"
+
+PATCHES=( "${FILESDIR}/${P}-missing-definitions-fix.patch" )
+
+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/pocl/pocl-6.0.ebuild b/dev-libs/pocl/pocl-6.0.ebuild
new file mode 100644
index 000000000000..2ae9dfbe316d
--- /dev/null
+++ b/dev-libs/pocl/pocl-6.0.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+inherit cmake cuda llvm-r1
+
+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"
+
+CLANG_DEPS="
+ $(llvm_gen_dep '
+ !cuda? (
+ sys-devel/clang:${LLVM_SLOT}=
+ sys-devel/llvm:${LLVM_SLOT}=
+ )
+ cuda? (
+ sys-devel/clang:${LLVM_SLOT}=[llvm_targets_NVPTX]
+ sys-devel/llvm:${LLVM_SLOT}=[llvm_targets_NVPTX]
+ )
+ ')
+"
+RDEPEND="
+ ${CLANG_DEPS}
+ dev-libs/libltdl
+ virtual/opencl
+ debug? ( dev-util/lttng-ust:= )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ hwloc? ( sys-apps/hwloc:=[cuda?] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${CLANG_DEPS}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+ cmake_src_prepare
+}
+
+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"
+ elif use riscv; then
+ host_cpu_variants="generic-rv64"
+ 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)/bin/llvm-config
+
+ -DENABLE_ALMAIF_DEVICE=$(usex accel)
+ -DENABLE_CONFORMANCE=$(usex conformance)
+ -DENABLE_CUDA=$(usex cuda)
+ -DENABLE_HWLOC=$(usex hwloc)
+ -DENABLE_POCL_FLOAT_CONVERSION=$(usex float-conversion)
+ -DHARDENING_ENABLE=$(usex hardening)
+ -DPOCL_DEBUG_MESSAGES=$(usex debug)
+ -DUSE_POCL_MEMMANAGER=$(usex memmanager)
+ -DENABLE_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ export POCL_BUILDING=1
+ export POCL_DEVICES=basic
+ export CTEST_OUTPUT_ON_FAILURE=1
+ export TEST_VERBOSE=1
+
+ # Referenced https://github.com/pocl/pocl/blob/master/.drone.yml
+ # But couldn't seem to get tests working yet
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${P}/examples
+ fi
+}
diff --git a/dev-libs/poco/Manifest b/dev-libs/poco/Manifest
index e53e47643ea1..dded174642a2 100644
--- a/dev-libs/poco/Manifest
+++ b/dev-libs/poco/Manifest
@@ -1,3 +1,2 @@
-DIST poco-1.11.2.tar.gz 10935312 BLAKE2B 66b4cdb6cb4b5dd4f5f0eee744e1d147d66e98561ec4286ed09693b638d565fbf084c3e40eff3f6a9a88cff167b1d774da08e8c8424986aefe13d029a540afe2 SHA512 3f9e46dbfb0a85f19389b269725cb6272172d993d8239f13da8110c0c6ce9ed2b6595708d5dba91a027292c74358c87da988e22587a74011e84707816a6a277c
-DIST poco-1.12.2.tar.gz 11268579 BLAKE2B fe23216884d1effb7e93072c5e90d5eabf813c6cf0326af5c4b6d3646d54e5411966485e97d50960df97cd545b3a265eb4b43c1cb041ff97b4457f53f6bd06bc SHA512 86b6b106e9a677397c73139e949a65925e78611cad478fc4206a6a7365613307fc1549b1160faf6ca8f02fb7f7ae58858c3913cb701111b7cbb5ffcbe5363bb3
DIST poco-1.12.4.tar.gz 11296139 BLAKE2B 45e1214616e78041d5ca512cee46621c006fe21f51231f3261dc40ca4941eb3cd4e52db493aa826779784f9d3f35cfd08e3e9d08fb35ebec2d610fb6528c635a SHA512 730700a24b5a00d44aa85914e7d3c9eff76969a123a67315ba5e9b2d18c0ace70d2664d8a611496851f497aa4985d36685a67813a95e814461ae0fffdb460d91
+DIST poco-1.13.3.tar.gz 11332562 BLAKE2B 04380cae92bbd2427873f0ea1a3fcade244ee5168390e26081983ded9faaf22e456bdd4ae87f9c77bafc92155f860ea9f56678ec2204bcd7c51a871e7f00d759 SHA512 084064fb462c9e7993d069ebdf395802af900ed92c5b294465a2c246162bb86caa3505985de329e8110d3e9fb3bc39ae9536d523843729d4ed5ce00c35289d92
diff --git a/dev-libs/poco/metadata.xml b/dev-libs/poco/metadata.xml
index 47052fc34e8a..f73e85906ed1 100644
--- a/dev-libs/poco/metadata.xml
+++ b/dev-libs/poco/metadata.xml
@@ -33,7 +33,6 @@ done quickly and working on the features that make their application unique.
<flag name="7z">Add Support for the 7z archive format</flag>
<flag name="activerecord">Add ActiveRecord support</flag>
<flag name="cppparser">Build and install a minimal C++ parser</flag>
- <flag name="crypto" restrict="&lt;=dev-libs/poco-1.12.2-r1">Encryption and digital signing classes</flag>
<flag name="data">Database abstraction layer to easily send/retrieve data to/from various databases</flag>
<flag name="file2pagecompiler">Utility to convert ordinary files to Page Compiler source files</flag>
<flag name="json">Add JSON support</flag>
@@ -44,6 +43,7 @@ done quickly and working on the features that make their application unique.
<flag name="pagecompiler">Simple compiler translating HTML pages containing embedded C++ code into HTTPRequestHandler classes</flag>
<flag name="pocodoc">POCO documentation generator</flag>
<flag name="prometheus">Add prometheus monitoring system support</flag>
+ <flag name="ssl">Encryption and digital signing classes</flag>
<flag name="util">Several utility classes (like logger, timer, config file parser)</flag>
<flag name="zip">Add support for the zip &amp; gz archive formats</flag>
</use>
diff --git a/dev-libs/poco/poco-1.11.2-r1.ebuild b/dev-libs/poco/poco-1.11.2-r1.ebuild
deleted file mode 100644
index e9754d726988..000000000000
--- a/dev-libs/poco/poco-1.11.2-r1.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
-
-inherit cmake
-
-DESCRIPTION="C++ libraries for building network-based applications"
-HOMEPAGE="https://pocoproject.org/"
-SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}-release"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc64 x86"
-IUSE="7z activerecord cppparser +crypto +data examples +file2pagecompiler iodbc +json mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc sqlite +ssl test +util +xml +zip"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="
- 7z? ( xml )
- file2pagecompiler? ( pagecompiler )
- iodbc? ( odbc )
- mongodb? ( data )
- mysql? ( data )
- odbc? ( data )
- pagecompiler? ( json net util xml )
- pocodoc? ( cppparser util xml )
- sqlite? ( data )
- ssl? ( util )
- test? ( data? ( sqlite ) json util xml )
-"
-
-BDEPEND="virtual/pkgconfig"
-RDEPEND="
- >=dev-libs/libpcre-8.42
- activerecord? ( !app-arch/arc )
- mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= )
- mariadb? ( dev-db/mariadb-connector-c:0= ) )
- odbc? (
- iodbc? ( dev-db/libiodbc )
- !iodbc? ( dev-db/unixODBC )
- )
- sqlite? ( dev-db/sqlite:3 )
- ssl? (
- dev-libs/openssl:0=
- )
- xml? ( dev-libs/expat )
- zip? ( sys-libs/zlib )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" )
-
-src_prepare() {
- cmake_src_prepare
-
- if use test ; then
- # ignore missing tests on experimental library
- # and tests requiring running DB-servers, internet connections, etc.
- sed -i -e '/testsuite/d' \
- {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
- # Poco expands ~ using passwd, which does not match $HOME in the build environment
- sed -i -e '/CppUnit_addTest.*testExpand/d' \
- Foundation/testsuite/src/PathTest.cpp || die
- # ignore failing Crypto test since upstream does not seem to care,
- # see https://github.com/pocoproject/poco/issues/1209
- sed -i -e '/RSATest, testRSACipherLarge/d' \
- Crypto/testsuite/src/RSATest.cpp || die
- fi
-
- if use mariadb ; then
- # Fix MariaDB detection
- sed -i -e 's~/usr/include/mysql~~' \
- -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
- cmake/FindMySQL.cmake || die
- else
- # Fix MySQL detection
- sed -i -e 's/mysqlclient_r/mysqlclient/' \
- -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
- cmake/FindMySQL.cmake || die
- fi
-
- # Add missing directory that breaks the build
- mkdir -p Encodings/testsuite/data || die
-
- if ! use iodbc ; then
- sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
- fi
-}
-
-src_configure() {
- # apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764
- local mycmakeargs=(
- -DPOCO_UNBUNDLED=ON
- -DENABLE_APACHECONNECTOR=OFF
- -DENABLE_ACTIVERECORD="$(usex activerecord)"
- -DENABLE_ACTIVERECORD_COMPILER="$(usex activerecord)"
- -DENABLE_CPPPARSER="$(usex cppparser)"
- -DENABLE_CRYPTO="$(usex ssl)"
- -DENABLE_DATA="$(usex data)"
- -DENABLE_DATA_MYSQL="$(usex mysql)"
- -DENABLE_DATA_ODBC="$(usex odbc)"
- -DENABLE_DATA_SQLITE="$(usex sqlite)"
- -DENABLE_DATA_POSTGRESQL=OFF
- -DENABLE_JSON="$(usex util)"
- -DENABLE_MONGODB="$(usex mongodb)"
- -DENABLE_NET="$(usex net)"
- -DENABLE_NETSSL="$(usex ssl)"
- -DENABLE_NETSSL_WIN=OFF
- -DENABLE_PAGECOMPILER="$(usex pagecompiler)"
- -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)"
- -DENABLE_PDF="$(usex pdf)"
- -DENABLE_POCODOC="$(usex pocodoc)"
- -DENABLE_SEVENZIP="$(usex 7z)"
- -DENABLE_TESTS="$(usex test)"
- -DENABLE_UTIL="$(usex util)"
- -DENABLE_XML="$(usex xml)"
- -DENABLE_ZIP="$(usex zip)"
- )
-
- cmake_src_configure
-}
-
-src_test() {
- POCO_BASE="${S}" cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- if use examples ; then
- for sd in */samples ; do
- docinto examples/${sd%/samples}
- dodoc -r ${sd}
- done
-
- find "${D}/usr/share/doc/${PF}/examples" \
- -iname "*.sln" -or -iname "*.vcproj" -or \
- -iname "*.vmsbuild" -or -iname "*.properties" \
- | xargs rm -v || die
- fi
-}
diff --git a/dev-libs/poco/poco-1.12.4.ebuild b/dev-libs/poco/poco-1.12.4.ebuild
index af3a59a24aee..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-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 @@ 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="
diff --git a/dev-libs/poco/poco-1.12.2-r2.ebuild b/dev-libs/poco/poco-1.13.3.ebuild
index 61de015e64b6..882bf2092c28 100644
--- a/dev-libs/poco/poco-1.12.2-r2.ebuild
+++ b/dev-libs/poco/poco-1.13.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
@@ -11,11 +11,13 @@ SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P
S="${WORKDIR}/${PN}-${P}-release"
LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+# SHARED_LIBRARY_VERSION -> "${S}"/libversion
+SLOT="0/103"
+KEYWORDS="amd64 arm arm64 ppc64 x86"
IUSE="7z activerecord cppparser +data examples +file2pagecompiler iodbc +json jwt mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc postgres prometheus sqlite +ssl test +util +xml +zip"
RESTRICT="!test? ( test )"
REQUIRED_USE="
+ activerecord? ( util xml )
7z? ( xml )
file2pagecompiler? ( pagecompiler )
iodbc? ( odbc )
@@ -28,15 +30,19 @@ REQUIRED_USE="
pocodoc? ( cppparser util xml )
sqlite? ( data )
ssl? ( util )
- test? ( data? ( sqlite ) json util xml )
+ test? ( data? ( sqlite ) activerecord json jwt pdf util xml )
+"
+
+BDEPEND="
+ test? ( dev-util/cppunit )
+ virtual/pkgconfig
"
-BDEPEND="virtual/pkgconfig"
RDEPEND="
>=dev-libs/libpcre2-10.40
activerecord? ( !app-arch/arc )
- mysql? ( dev-db/mysql-connector-c:0= )
- mariadb? ( dev-db/mariadb-connector-c:0= )
+ mysql? ( dev-db/mysql-connector-c:= )
+ mariadb? ( dev-db/mariadb-connector-c:= )
postgres? ( dev-db/postgresql:= )
odbc? (
iodbc? ( dev-db/libiodbc )
@@ -44,30 +50,29 @@ RDEPEND="
)
sqlite? ( dev-db/sqlite:3 )
ssl? (
- dev-libs/openssl:0=
+ dev-libs/openssl:=
)
xml? ( dev-libs/expat )
zip? ( sys-libs/zlib:= )
"
DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" )
-
src_prepare() {
cmake_src_prepare
+ if [[ ${SLOT} != 0/$(< "${S}"/libversion) ]] ; then
+ die "Please update subslot in ebuild to the version in ${S}/libversion!"
+ fi
+
if use test ; then
# ignore missing tests on experimental library
# and tests requiring running DB-servers, internet connections, etc.
sed -i -e '/testsuite/d' \
- {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
+ {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,Redis}/CMakeLists.txt || die
+
# Poco expands ~ using passwd, which does not match $HOME in the build environment
sed -i -e '/CppUnit_addTest.*testExpand/d' \
Foundation/testsuite/src/PathTest.cpp || die
- # ignore failing Crypto test since upstream does not seem to care,
- # see https://github.com/pocoproject/poco/issues/1209
- sed -i -e '/RSATest, testRSACipherLarge/d' \
- Crypto/testsuite/src/RSATest.cpp || die
fi
# Fix MariaDB and MySQL detection
@@ -76,9 +81,6 @@ src_prepare() {
-e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
cmake/FindMySQL.cmake || die
- # Add missing directory that breaks the build
- mkdir -p Encodings/testsuite/data || die
-
if ! use iodbc ; then
sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
fi
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 872cc3e66b91..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 ~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 )"
-
-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.ebuild b/dev-libs/popt/popt-1.19-r1.ebuild
index 7acf9f79f83f..78234070ac50 100644
--- a/dev-libs/popt/popt-1.19.ebuild
+++ b/dev-libs/popt/popt-1.19-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit flag-o-matic multilib-minimal libtool toolchain-funcs
+inherit flag-o-matic multilib-minimal libtool
DESCRIPTION="Parse Options - Command line parser"
HOMEPAGE="https://github.com/rpm-software-management/popt"
@@ -29,12 +29,7 @@ src_prepare() {
}
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
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
local myeconfargs=(
--disable-werror
diff --git a/dev-libs/ppl/ppl-1.2-r5.ebuild b/dev-libs/ppl/ppl-1.2-r5.ebuild
index 2f04e7fb2e50..70d986e738f2 100644
--- a/dev-libs/ppl/ppl-1.2-r5.ebuild
+++ b/dev-libs/ppl/ppl-1.2-r5.ebuild
@@ -1,14 +1,14 @@
-# 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
@@ -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 9e824fc64956..fac581b01b10 100644
--- a/dev-libs/protobuf-c/Manifest
+++ b/dev-libs/protobuf-c/Manifest
@@ -1 +1,2 @@
DIST protobuf-c-1.4.1.tar.gz 513596 BLAKE2B b5e87a3154863581b81790a26b6b522c2b3ad138e966053f20c6264b4a7677d6c5bff8e27faa7c6cfa9e982b72b06e2f518a3def9f6db13241c3cb3ee9afc8f6 SHA512 190a4aa5c607853e6bf860b0974deb21e4f7f6209e810251eaca9612b59ea676779b0ca217fb1572914ffb8de3315a7d24f162b14d447ee671a9adc5b1271e41
+DIST protobuf-c-1.5.0.tar.gz 507251 BLAKE2B 7b428655901f4fd74b67b75419552e7c02065a5291aed4dcc1d55b98c986caa9ccf846eb5e98e0954420c3e5bea559b0078843e00daa7b5c63465eec21e28204 SHA512 175c9fc901cab88308730eea982dd62b1e0decdceb80aa53be163f17a440b4acecb834a784beab5cd71186413a322a323f4539758a8727ca51801cf92f9bd3da
diff --git a/dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch b/dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch
new file mode 100644
index 000000000000..38a36b50cc86
--- /dev/null
+++ b/dev-libs/protobuf-c/files/protobuf-c-1.5.0-Clean-CMake.patch
@@ -0,0 +1,117 @@
+From a6cf1aa386067e26d582cc1d1e327787595c9f13 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 21:48:10 -0400
+Subject: [PATCH 01/11] FileGenerator::GenerateHeader(): Set
+ `min_header_version` unconditionally
+
+Previously, we were conditionally trying to set `min_header_version` to
+the lowest possible value, and relying on a "legacy" Google interface to
+determine the file descriptor's syntax version as part of that
+determination.
+
+Instead, simply bump the minimum version to 1003000 (1.3.0). This
+release was almost 7 years ago. In practice protobuf-c users should not
+be shipping pre-compiled .pb-c.c/.pb-c.h files, anyway.
+---
+ protoc-c/c_file.cc | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index ca0ad34e..c6d8a240 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -117,14 +117,7 @@ FileGenerator::~FileGenerator() {}
+ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ std::string filename_identifier = FilenameIdentifier(file_->name());
+
+- int min_header_version = 1000000;
+-#if GOOGLE_PROTOBUF_VERSION >= 4023000
+- if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+-#else
+- if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
+-#endif
+- min_header_version = 1003000;
+- }
++ const int min_header_version = 1003000;
+
+ // Generate top of header.
+ printer->Print(
+
+From ee3d9e5423c93ee6b828fdda8e7fef13a77634eb Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 22:25:54 -0400
+Subject: [PATCH 02/11] Reimplement FieldSyntax() to maximize compatibility
+ across protobuf versions
+
+Recent versions of Google protobuf have broken the interfaces for
+determining the syntax version of a .proto file. The current protobuf-c
+1.5.0 release does not compile with Google protobuf 26.0 due to the most
+recentage breakage. There is a possible workaround involving the Google
+protobuf `FileDescriptorLegacy` class, which is documented as:
+
+// TODO Remove this deprecated API entirely.
+
+So we probably shouldn't rely on it.
+
+Instead, this commit obtains the `FileDescriptorProto` corresponding
+to the passed in `FieldDescriptor` and interrogates the `syntax` field
+directly. This is a single implementation with no version-specific
+workarounds. Hopefully this won't break in the next Google protobuf
+release.
+
+I tested the `FieldSyntax()` implementation in this commit across a
+number of different Google protobuf releases and found that it worked
+(`make && make check`) on all of them:
+
+- Google protobuf 3.6.1.3 (Ubuntu 20.04)
+- Google protobuf 3.12.4 (Ubuntu 22.04)
+- Google protobuf 3.21.12 (Debian 12 + Debian unstable)
+- Google protobuf 3.25.2 (Debian experimental)
+- Google protobuf 26.1-dev
+---
+ protoc-c/c_helpers.h | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 062d330b..be28b601 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -70,10 +70,6 @@
+ #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 {
+@@ -173,13 +169,21 @@ struct NameIndex
+ int compare_name_indices_by_name(const void*, const void*);
+
+ // Return the syntax version of the file containing the field.
+-// This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+-#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
++ auto proto = FileDescriptorProto();
++ field->file()->CopyTo(&proto);
++
++ if (proto.has_syntax()) {
++ auto syntax = proto.syntax();
++ assert(syntax == "proto2" || syntax == "proto3");
++ if (syntax == "proto2") {
++ return 2;
++ } else if (syntax == "proto3") {
++ return 3;
++ }
++ }
++
++ return 2;
+ }
+
+ // Work around changes in protobuf >= 22.x without breaking compilation against
diff --git a/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild b/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.ebuild
new file mode 100644
index 000000000000..3099c2e6a0ad
--- /dev/null
+++ b/dev-libs/protobuf-c/protobuf-c-1.5.0-r2.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 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 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86"
+IUSE="static-libs"
+
+BDEPEND="
+ >=dev-libs/protobuf-3:0
+ virtual/pkgconfig
+"
+DEPEND="
+ >=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]"
+# NOTE
+# protobuf links to abseil-cpp libraries via it's .pc files.
+# To cause rebuild when the abseil-cpp version changes we add it to RDEPEND only.
+RDEPEND="${DEPEND}
+ dev-cpp/abseil-cpp:=[${MULTILIB_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.5.0-Clean-CMake.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ --enable-year2038
+ )
+
+ 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.5.0.ebuild b/dev-libs/protobuf-c/protobuf-c-1.5.0.ebuild
new file mode 100644
index 000000000000..ee2370a3fa6e
--- /dev/null
+++ b/dev-libs/protobuf-c/protobuf-c-1.5.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 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"
+
+BDEPEND="
+ >=dev-libs/protobuf-3:0
+ virtual/pkgconfig
+"
+DEPEND=">=dev-libs/protobuf-3:0=[${MULTILIB_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ 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 20e1338a9868..af1849aaafc2 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -1,3 +1,9 @@
DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f82c42c70054d47d1899e6bb79f3fdde2666cad5b8eff6e1bc539c3b0cdf9f2b125ce7e5d3a459a69e84d67ab535e SHA512 2dc8f552388438268d8b9f7a9e84c6abf1736be3d5031438c789c317410c9f4b5cedd25bf7da6d67b3ba32ca890869f9ddaab2284d6ac0e734a5b135ffbb1346
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
+DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
+DIST protobuf-23.4.tar.gz 5043507 BLAKE2B bf6a50771eb977ef92b779a32fd909693faae6394254c73e3c9b2729bce643f8cbfb5a1bd18b30abf3003b9fbfd24c074cea4085a6ccf14fdb6a3aeac9efcb89 SHA512 b93a4e0339ecbe085796de5b6c61feae35229d40db9019c043090bcaa483a1cce78a99487c5638482c68832fcede5579a0e5ec731221a88359b80db9bb6dc566
+DIST protobuf-24.4.tar.gz 5180235 BLAKE2B 1c7e9035d9f3810886baaea7d679414c882463c79828c99dd8895a9549638c1ca17f9ab3b38d461019f3e1412d9cb9584b995b1da99866eb6fdbb8bdeb063e6f SHA512 52b6ab5587d03cbd1f35cf3cdc388e1710fa50f3031559ac53cf754965407ded7602cdead56080444ab695588112cc3391a1d7fdd5e565d90d0af7ad08706315
+DIST protobuf-25.3.tar.gz 5878962 BLAKE2B 9268f9bd993a1cfd6d3937a2ad56ba4cfe3d84923756513841cbf13039d4a07acb260468745cb1294f30334cb34b45c6fde272f5c40d9de63ac6a4ce5c263077 SHA512 1f73e237c919082e5423ae9e2ea8813dccf672c059051d1531fe89ffaa45872d3cf3052b8c3af26f674296ec17d7dc861c67b8f0834ed80261ce4a6a14ed7115
+DIST protobuf-26.1.tar.gz 5957903 BLAKE2B 1a7faab2f56aa0995801a80f73a812c7fc38a00af0bf25bdd5eecf7aec27a86a575ea2fb8484787d19c9ac6e46007c9864e79464f529c446f31af732981feed1 SHA512 0363ac09f92d8e040491425d444c8dca0b9b430e02d2dff6e2b28a0c2b2bea0d33a47f50bc9e2e2d4e8e22b65a02009a20c0066fb89c75df93a7b703dda42ed4
+DIST protobuf-27.2.tar.gz 6282174 BLAKE2B 86d12e9f87e8e1c2961ad517115c8689a8dd984722513816d8d626e59a76f5e7a698a90cbf6007daacf66c6053c9ff28108ff113579a442ce61cd221178bda44 SHA512 664c66b62cf1ed0c65d9b910d8e67d4d5d471113697f1b8edf1573cd5c0fc8e850ac53ce984e48e6c6b9cbbefa12f8530058384e7388e65a59c1e46d03772397
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-messages_lite-template-instances.patch b/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch
new file mode 100644
index 000000000000..3869ad95993c
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-23.3-messages_lite-template-instances.patch
@@ -0,0 +1,66 @@
+https://bugs.gentoo.org/917046
+https://github.com/protocolbuffers/protobuf/commit/e6f8b9d1026996f6463d4f014d7760256b757227
+
+From e6f8b9d1026996f6463d4f014d7760256b757227 Mon Sep 17 00:00:00 2001
+From: Protobuf Team Bot <protobuf-github-bot@google.com>
+Date: Wed, 8 Nov 2023 09:20:10 -0800
+Subject: [PATCH] message_lite.h: Use PROTOBUF_EXPORT_TEMPLATE_DECLARE with
+ extern template
+
+Export extern templates in message_lite.h to avoid missing symbols when
+linking protobuf-lite.so.
+
+PiperOrigin-RevId: 580556084
+--- a/src/google/protobuf/message_lite.h
++++ b/src/google/protobuf/message_lite.h
+@@ -616,22 +616,22 @@ namespace internal {
+ template <bool alias>
+ bool MergeFromImpl(absl::string_view input, MessageLite* msg,
+ MessageLite::ParseFlags parse_flags);
+-extern template bool MergeFromImpl<false>(absl::string_view input,
+- MessageLite* msg,
+- MessageLite::ParseFlags parse_flags);
+-extern template bool MergeFromImpl<true>(absl::string_view input,
+- MessageLite* msg,
+- MessageLite::ParseFlags parse_flags);
++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl<false>(
++ absl::string_view input, MessageLite* msg,
++ MessageLite::ParseFlags parse_flags);
++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl<true>(
++ absl::string_view input, MessageLite* msg,
++ MessageLite::ParseFlags parse_flags);
+
+ template <bool alias>
+ bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,
+ MessageLite::ParseFlags parse_flags);
+-extern template bool MergeFromImpl<false>(io::ZeroCopyInputStream* input,
+- MessageLite* msg,
+- MessageLite::ParseFlags parse_flags);
+-extern template bool MergeFromImpl<true>(io::ZeroCopyInputStream* input,
+- MessageLite* msg,
+- MessageLite::ParseFlags parse_flags);
++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl<false>(
++ io::ZeroCopyInputStream* input, MessageLite* msg,
++ MessageLite::ParseFlags parse_flags);
++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl<true>(
++ io::ZeroCopyInputStream* input, MessageLite* msg,
++ MessageLite::ParseFlags parse_flags);
+
+ struct BoundedZCIS {
+ io::ZeroCopyInputStream* zcis;
+@@ -641,10 +641,10 @@ struct BoundedZCIS {
+ template <bool alias>
+ bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,
+ MessageLite::ParseFlags parse_flags);
+-extern template bool MergeFromImpl<false>(BoundedZCIS input, MessageLite* msg,
+- MessageLite::ParseFlags parse_flags);
+-extern template bool MergeFromImpl<true>(BoundedZCIS input, MessageLite* msg,
+- MessageLite::ParseFlags parse_flags);
++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl<false>(
++ BoundedZCIS input, MessageLite* msg, MessageLite::ParseFlags parse_flags);
++extern template PROTOBUF_EXPORT_TEMPLATE_DECLARE bool MergeFromImpl<true>(
++ BoundedZCIS input, MessageLite* msg, MessageLite::ParseFlags parse_flags);
+
+ template <typename T>
+ struct SourceWrapper;
+
diff --git a/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch b/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch
new file mode 100644
index 000000000000..dfbda168d58e
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-26.1-disable-32-bit-tests.patch
@@ -0,0 +1,37 @@
+https://github.com/protocolbuffers/protobuf/issues/8460
+--- a/src/google/protobuf/any_test.cc
++++ b/src/google/protobuf/any_test.cc
+@@ -40,9 +40,8 @@ TEST(AnyTest, TestPackAndUnpack) {
+ }
+
+ TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {
+-#if defined(_MSC_VER) && defined(_M_IX86)
+- GTEST_SKIP() << "This toolchain can't allocate that much memory.";
+-#endif
++ // 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/metadata.xml b/dev-libs/protobuf/metadata.xml
index 4ac93ba8e52d..8d3f48cb805e 100644
--- a/dev-libs/protobuf/metadata.xml
+++ b/dev-libs/protobuf/metadata.xml
@@ -2,12 +2,12 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<slots>
<subslots>Soname version number</subslots>
@@ -16,4 +16,11 @@
<remote-id type="cpe">cpe:/a:google:protobuf</remote-id>
<remote-id type="github">protocolbuffers/protobuf</remote-id>
</upstream>
+ <use>
+ <flag name="conformance">Build conformance tests</flag>
+ <flag name="libprotoc">Build libprotoc</flag>
+ <flag name="libupb">Build libupb</flag>
+ <flag name="protobuf">Build protobuf libraries and protoc compiler</flag>
+ <flag name="protoc">Build libprotoc and protoc compiler</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-libs/protobuf/protobuf-22.5-r1.ebuild b/dev-libs/protobuf/protobuf-22.5-r1.ebuild
new file mode 100644
index 000000000000..ff2783d5e7ce
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-22.5-r1.ebuild
@@ -0,0 +1,124 @@
+# 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-20240116.2:=[${MULTILIB_USEDEP}]
+ >=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-20240116.2:=[${MULTILIB_USEDEP}]
+ >=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
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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-r2.ebuild b/dev-libs/protobuf/protobuf-22.5-r2.ebuild
new file mode 100644
index 000000000000..b8dbe905360c
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-22.5-r2.ebuild
@@ -0,0 +1,133 @@
+# 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
+
+ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+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:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+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=(
+ -Dprotobuf_DISABLE_RTTI="yes" # TODO why?
+ -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
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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-r4.ebuild b/dev-libs/protobuf/protobuf-23.3-r4.ebuild
new file mode 100644
index 000000000000..17092c5a48c6
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-23.3-r4.ebuild
@@ -0,0 +1,116 @@
+# Copyright 2008-2024 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-20240116.2:=[${MULTILIB_USEDEP}]
+ >=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-20240116.2:=[${MULTILIB_USEDEP}]
+ >=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"
+ "${FILESDIR}/${PN}-23.3-messages_lite-template-instances.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
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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.4.ebuild b/dev-libs/protobuf/protobuf-23.4.ebuild
new file mode 100644
index 000000000000..87f127940ad0
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-23.4.ebuild
@@ -0,0 +1,126 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+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:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+ "${FILESDIR}/${PN}-23.3-messages_lite-template-instances.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="yes" # TODO why?
+ -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
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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-24.4.ebuild b/dev-libs/protobuf/protobuf-24.4.ebuild
new file mode 100644
index 000000000000..c3681d98ce72
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-24.4.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_01_25" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+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:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-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="yes" # TODO why?
+ -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
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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-25.3.ebuild b/dev-libs/protobuf/protobuf-25.3.ebuild
new file mode 100644
index 000000000000..422310009a83
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-25.3.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+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:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-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="yes" # TODO why?
+ -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
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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-26.1-r1.ebuild
index c9721bfd61ce..534834edca75 100644
--- a/dev-libs/protobuf/protobuf-23.3-r2.ebuild
+++ b/dev-libs/protobuf/protobuf-26.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2008-2023 Gentoo Authors
+# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -36,7 +36,7 @@ RDEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-23.3-disable-32-bit-tests.patch"
+ "${FILESDIR}/${P}-disable-32-bit-tests.patch"
"${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
)
@@ -72,6 +72,11 @@ src_compile() {
fi
}
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
multilib_src_install_all() {
find "${ED}" -name "*.la" -delete || die
diff --git a/dev-libs/protobuf/protobuf-26.1-r2.ebuild b/dev-libs/protobuf/protobuf-26.1-r2.ebuild
new file mode 100644
index 000000000000..422310009a83
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-26.1-r2.ebuild
@@ -0,0 +1,125 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+
+ inherit git-r3
+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:* )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-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="yes" # TODO why?
+ -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
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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-27.2.ebuild b/dev-libs/protobuf/protobuf-27.2.ebuild
new file mode 100644
index 000000000000..d9b11f9f0d6a
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-27.2.ebuild
@@ -0,0 +1,160 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+ MY_SLOT="27.2"
+
+ inherit git-r3
+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"
+ MY_SLOT=$(ver_cut 1-2)
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/${MY_SLOT}.0"
+IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+
+REQUIRED_USE="
+ || (
+ libprotoc
+ libupb
+ protobuf
+ protoc
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+ !protobuf? (
+ >=dev-libs/protobuf-${PV}
+ )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+# src_prepare() {
+# rm "${S}/third_party/utf8_range/" -rf || die
+# 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=(
+ -Dprotobuf_ABSL_PROVIDER="package"
+ -Dprotobuf_JSONCPP_PROVIDER="package"
+
+ -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
+ -Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
+ -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
+ -Dprotobuf_BUILD_SHARED_LIBS="yes"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+
+ -Dprotobuf_DISABLE_RTTI="no"
+
+ -Dprotobuf_INSTALL="yes"
+ -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
+ -Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
+
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_VERBOSE="yes"
+ )
+ use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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
new file mode 100644
index 000000000000..c2a90ff0480c
--- /dev/null
+++ b/dev-libs/protobuf/protobuf-9999.ebuild
@@ -0,0 +1,160 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib elisp-common toolchain-funcs
+
+ABSEIL_BRANCH="lts_2023_08_02" # NOTE from https://github.com/protocolbuffers/protobuf/blob/main/.gitmodules
+
+ABSEIL_MIN_VER="${ABSEIL_BRANCH//lts_}"
+ABSEIL_MIN_VER="${ABSEIL_MIN_VER//_/}"
+
+if [[ "${PV}" == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=( '-*' )
+ MY_SLOT="28.0"
+
+ inherit git-r3
+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"
+ MY_SLOT=$(ver_cut 1-2)
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
+HOMEPAGE="https://protobuf.dev/"
+
+LICENSE="BSD"
+SLOT="0/${MY_SLOT}.0"
+IUSE="conformance emacs examples +libprotoc libupb +protobuf +protoc test zlib"
+
+REQUIRED_USE="
+ || (
+ libprotoc
+ libupb
+ protobuf
+ protoc
+ )
+"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ emacs? ( app-editors/emacs:* )
+ !protobuf? (
+ >=dev-libs/protobuf-${PV}
+ )
+"
+
+COMMON_DEPEND="
+ dev-libs/jsoncpp
+ >=dev-cpp/abseil-cpp-${ABSEIL_MIN_VER}:=[${MULTILIB_USEDEP}]
+ zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-26.1-disable-32-bit-tests.patch"
+ "${FILESDIR}/${PN}-23.3-static_assert-failure.patch"
+)
+
+DOCS=( CONTRIBUTORS.txt README.md )
+
+# src_prepare() {
+# rm "${S}/third_party/utf8_range/" -rf || die
+# 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=(
+ -Dprotobuf_ABSL_PROVIDER="package"
+ -Dprotobuf_JSONCPP_PROVIDER="package"
+
+ -Dprotobuf_BUILD_CONFORMANCE="$(usex test "$(usex conformance)")"
+ -Dprotobuf_BUILD_EXAMPLES="$(usex examples)"
+ -Dprotobuf_BUILD_LIBPROTOC="$(usex libprotoc)"
+ -Dprotobuf_BUILD_LIBUPB="$(usex libupb)"
+ -Dprotobuf_BUILD_PROTOBUF_BINARIES="$(usex protobuf)"
+ -Dprotobuf_BUILD_PROTOC_BINARIES="$(usex protoc)"
+ -Dprotobuf_BUILD_SHARED_LIBS="yes"
+ -Dprotobuf_BUILD_TESTS="$(usex test)"
+
+ -Dprotobuf_DISABLE_RTTI="no"
+
+ -Dprotobuf_INSTALL="yes"
+ -Dprotobuf_INSTALL_EXAMPLES="$(usex examples)"
+ -Dprotobuf_TEST_XML_OUTDIR="$(usex test)"
+
+ -Dprotobuf_WITH_ZLIB="$(usex zlib)"
+ -Dprotobuf_VERBOSE="yes"
+ )
+ use test && mycmakeargs+=( -Dprotobuf_USE_EXTERNAL_GTEST="yes" )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+
+ if use emacs; then
+ elisp-compile editors/protobuf-mode.el
+ fi
+}
+
+src_test() {
+ local -x srcdir="${S}"/src
+ cmake-multilib_src_test
+}
+
+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/pslib/pslib-0.4.6.ebuild b/dev-libs/pslib/pslib-0.4.6.ebuild
index d99a7f9ba545..d554739c4e28 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-2023 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 autotools
DESCRIPTION="pslib is a C-library to create PostScript files on the fly"
HOMEPAGE="https://pslib.sourceforge.net/"
-SRC_URI="mirror://sourceforge/pslib/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/pslib/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
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.4.3_p20230311.ebuild b/dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild
new file mode 100644
index 000000000000..d052fd017127
--- /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-r1.ebuild b/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild
index 9cfc03ed4564..ba614beea387 100644
--- a/dev-libs/pthreadpool/pthreadpool-2022.05.09-r1.ebuild
+++ b/dev-libs/pthreadpool/pthreadpool-2023.08.29.ebuild
@@ -1,13 +1,13 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
-CommitId=1787867f6183f056420e532eec640cba25efafea
+CommitId=4fe0e1e183925bf8cfa6aae24237e724a96479b8
DESCRIPTION="Portable and efficient thread pool implementation"
HOMEPAGE="https://github.com/Maratyszcza/pthreadpool"
-SRC_URI="https://github.com/Maratyszcza/${PN}/archive/1787867.tar.gz
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
-> ${P}.tar.gz"
LICENSE="BSD-2"
@@ -23,7 +23,7 @@ RESTRICT="!test? ( test )"
S="${WORKDIR}"/${PN}-${CommitId}
PATCHES=(
- "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${PN}-2022.05.09-gentoo.patch
)
src_prepare() {
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..2d6c10b669a2
--- /dev/null
+++ b/dev-libs/qcoro/qcoro-0.10.0-r1.ebuild
@@ -0,0 +1,60 @@
+# 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}"
+else
+ SRC_URI="https://github.com/danvratil/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+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 f2dd06a4fa85..c157c9559060 100644
--- a/dev-libs/qcoro5/Manifest
+++ b/dev-libs/qcoro5/Manifest
@@ -1 +1 @@
-DIST qcoro5-0.9.0.tar.gz 143270 BLAKE2B 0fbd4e606edb3142b440486412889ebbefd3b5ac47eeba12747ea5314acf5d4088463fe0a03c44d787510c1355c9f5f9b060d8f2fd07e668fb2f397c2f139099 SHA512 f708e1a82861c39434d6934172246c3280864e933b333b56c0471f1a629f9da65554d1508af4291ac2257ad8df2040655394ae5525d728710de5bd83cef8fbee
+DIST qcoro5-0.10.0.tar.gz 150114 BLAKE2B 8a552dc3a0e4a5963c7c9fd0638f336e6ad99491a54df3bb8ddaa6b0ee1fe8e4c6b7ffc26c25cef543e796c54bc4c625a0915755f4b538f489bc61fcd8310a6a SHA512 de2e55256d3c9d35fec3ef6dc78128801b70a5e5b8ff0f3a6f235dac17f349ea44207a7c9f35375215dbeea04cb67c3412d505d0a8a95f2b926775f804a02649
diff --git a/dev-libs/qcoro5/qcoro5-0.9.0.ebuild b/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild
index a3e42286cb49..e038bbf9159b 100644
--- a/dev-libs/qcoro5/qcoro5-0.9.0.ebuild
+++ b/dev-libs/qcoro5/qcoro5-0.10.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
@@ -28,7 +28,10 @@ RDEPEND="
dev-qt/qtcore:5
dbus? ( dev-qt/qtdbus:5 )
network? ( dev-qt/qtnetwork:5 )
- qml? ( dev-qt/qtdeclarative:5= )
+ qml? (
+ dev-qt/qtdeclarative:5=
+ dev-qt/qtgui:5
+ )
testlib? ( dev-qt/qttest:5 )
websockets? ( dev-qt/qtwebsockets:5 )
"
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/metadata.xml b/dev-libs/qcustomplot/metadata.xml
index 610d2d8ea120..115e9d64a669 100644
--- a/dev-libs/qcustomplot/metadata.xml
+++ b/dev-libs/qcustomplot/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild b/dev-libs/qcustomplot/qcustomplot-2.1.1.ebuild
index dcd0e02408fe..2f6a8359e81e 100644
--- a/dev-libs/qcustomplot/qcustomplot-2.0.1.ebuild
+++ b/dev-libs/qcustomplot/qcustomplot-2.1.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit qmake-utils
@@ -10,6 +10,7 @@ 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"
@@ -24,8 +25,6 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
-S=${WORKDIR}/${PN}-source
-
src_prepare() {
default
diff --git a/dev-libs/qoauth/metadata.xml b/dev-libs/qoauth/metadata.xml
index 610d2d8ea120..115e9d64a669 100644
--- a/dev-libs/qoauth/metadata.xml
+++ b/dev-libs/qoauth/metadata.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild b/dev-libs/qoauth/qoauth-2.0.1_pre20160315-r3.ebuild
index 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/qr-code-generator/qr-code-generator-1.8.0.ebuild b/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild
index 61a40ffe65b0..4a82614b6f10 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ S="${WORKDIR}/QR-Code-generator-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
src_prepare() {
# Move the CMake files into the project root.
diff --git a/dev-libs/qtkeychain/Manifest b/dev-libs/qtkeychain/Manifest
index 5c08d89f3561..2ce18944064b 100644
--- a/dev-libs/qtkeychain/Manifest
+++ b/dev-libs/qtkeychain/Manifest
@@ -1 +1 @@
-DIST qtkeychain-0.14.1.tar.gz 50743 BLAKE2B 76300eeefc98a40da762a65cdf0a5a406b55cb92e290bb91e643353c3d2efdee1387168805326def60a42196d5cfde4f0d6c36cb2e0c946fc331361891af08f7 SHA512 bf84b19090e667a2946297e63d9813574193d80e4eecbde2fdfca317a66da3f029b3abef326f4ffb32de032a48004f9cf1bc818468af612723d762652dc25eb6
+DIST qtkeychain-0.14.3.tar.gz 50948 BLAKE2B 4f2189b2d6a1faf7b5041baeb1c2f00498d0297a8028799ab646aa92189d569114c76b45528d15a72d7cee8dc6252797bebd3e2849034e703709a3b41f74a805 SHA512 d1d87553db94bf54da1373016a847476e6cd608db6d427ed72532658e2272501daf45d7c9976efdde2f26ab3810ba9dbfec2518d46dee5a76ecaa369bfee2e4a
diff --git a/dev-libs/qtkeychain/qtkeychain-0.14.1-r1.ebuild b/dev-libs/qtkeychain/qtkeychain-0.14.3.ebuild
index 5cf8244bf96a..bedbcc0a9bcf 100644
--- a/dev-libs/qtkeychain/qtkeychain-0.14.1-r1.ebuild
+++ b/dev-libs/qtkeychain/qtkeychain-0.14.3.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
inherit cmake multibuild
-HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
DESCRIPTION="Qt API for storing passwords securely"
+HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
if [[ ${PV} != *9999* ]]; then
SRC_URI="https://github.com/frankosterfeld/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
diff --git a/dev-libs/quazip/quazip-1.4-r1.ebuild b/dev-libs/quazip/quazip-1.4-r1.ebuild
index fc7a353e473e..350a14b240f3 100644
--- a/dev-libs/quazip/quazip-1.4-r1.ebuild
+++ b/dev-libs/quazip/quazip-1.4-r1.ebuild
@@ -12,7 +12,7 @@ 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"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 +qt5 qt6 test"
REQUIRED_USE="|| ( qt5 qt6 )"
diff --git a/dev-libs/qxlsx/Manifest b/dev-libs/qxlsx/Manifest
index e48f449397f6..a90f1bed32f7 100644
--- a/dev-libs/qxlsx/Manifest
+++ b/dev-libs/qxlsx/Manifest
@@ -1,2 +1,2 @@
-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
+DIST qxlsx-1.4.8.tar.gz 4705148 BLAKE2B 5b24716f1aa99233a51b1290e12d51fc532c21b5397cae84bd524d11a977d18d7178cc3e9f6bd66b5d837bafea1872d981ce2cf4724821e2fb40ba10feb152a8 SHA512 309560bde9da6461c52e883466908d493986251b0ef89d74fb3ddcec374f8a4f9d96f61f5be96431f224484e778388be8d78244f4d8ebd7de3250e65ec60edda
diff --git a/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch b/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch
deleted file mode 100644
index 90dd81fb8c88..000000000000
--- a/dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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.5.ebuild b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
index c2013cfde008..328515ace716 100644
--- a/dev-libs/qxlsx/qxlsx-1.4.5.ebuild
+++ b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ LICENSE="MIT"
SLOT="0/0.1.4.4"
KEYWORDS="amd64 ppc ppc64 ~riscv x86"
-IUSE="qt5 qt6"
+IUSE="+qt5 qt6"
REQUIRED_USE="|| ( qt5 qt6 )"
RDEPEND="
diff --git a/dev-libs/qxlsx/qxlsx-1.4.6.ebuild b/dev-libs/qxlsx/qxlsx-1.4.8.ebuild
index b00b67caf83e..6a00e2a091a6 100644
--- a/dev-libs/qxlsx/qxlsx-1.4.6.ebuild
+++ b/dev-libs/qxlsx/qxlsx-1.4.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,16 +6,16 @@ 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"
+S="${WORKDIR}/QXlsx-${PV}/QXlsx"
LICENSE="MIT"
# soversion
SLOT="0/0.1.4.4"
-KEYWORDS="amd64 ppc ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="qt5 qt6"
+IUSE="+qt5 qt6"
REQUIRED_USE="|| ( qt5 qt6 )"
RDEPEND="
@@ -29,12 +29,6 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
-S="${WORKDIR}/QXlsx-${PV}/QXlsx"
-
-PATCHES=(
- "${FILESDIR}/qxlsx-1.4.6-headers.patch"
-)
-
pkg_setup() {
MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
}
diff --git a/dev-libs/raft/Manifest b/dev-libs/raft/Manifest
index 8754e1f65c16..c390ca568bfe 100644
--- a/dev-libs/raft/Manifest
+++ b/dev-libs/raft/Manifest
@@ -1,2 +1 @@
-DIST raft-0.18.0.tar.gz 365558 BLAKE2B 57fc8c144a45eb101f53c8dd3a1eb896c733b7c5c369300852bea1474b8178b46c943c29e81107758bfa527d8fc1a9c80c4ca1bfc599dfc5ace090a18c693f11 SHA512 c6ab125a4841c5241310ea9785bb6ae3860c0a2ff39487499c2caa0b387729f7f7e54fa0de3aad3a99bdf5ec7d4a12c68a69244c6d8b8dcdf846c1cdfeb11b3b
-DIST raft-0.18.2.tar.gz 335089 BLAKE2B 5e6221f3977a28b7c2bbc8b80e047b455b586b0c8dd3cb9dc31f43c48d745d017f8a7220f3b3072a7aabacb86751ea4ad02f7c00d9d9c59a419354416cca65b3 SHA512 bac167aaf02f121f6d5de9103b366591bdb0a40ee08bc20b9f4fadae4606631b1a8dec514009596601a79a91c63373c524ba59710a167a1259f1d3802fb1e341
+DIST raft-0.22.1.tar.gz 362393 BLAKE2B b6fc8f8e9dc6801ac8ad1b9d94f984b249b83def00a08776292500b079bb777330e8a83cf40153bfb1baae921105788d758c9f61a021d5519d5c27048b6be8b9 SHA512 fb4ea98321336daaa605e1c3cd55f672860fc8894d479fdff4e1862a4eb5622dbaf7a943e030dd2bcdaa14cc639e7e11ac43d71f00bdbd27f12c6b67653b70e4
diff --git a/dev-libs/raft/raft-0.18.0.ebuild b/dev-libs/raft/raft-0.18.0.ebuild
deleted file mode 100644
index 814ea73198f5..000000000000
--- a/dev-libs/raft/raft-0.18.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/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
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-uv
-
- --disable-backtrace
- --disable-benchmark
- --disable-debug
- --disable-example
- --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.18.2.ebuild b/dev-libs/raft/raft-0.22.1.ebuild
index d576a08a3ca8..39daa1268bef 100644
--- a/dev-libs/raft/raft-0.18.2.ebuild
+++ b/dev-libs/raft/raft-0.22.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ 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"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="lz4 test zfs"
RESTRICT="!test? ( test )"
@@ -32,13 +32,16 @@ src_prepare() {
}
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
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
index 6f837669b40a..1c16b109ab96 100644
--- a/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
+++ b/dev-libs/rapidjson/rapidjson-1.1.0-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,7 +14,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/miloyip/rapidjson/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86"
+ KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
S="${WORKDIR}/rapidjson-${PV}"
fi
@@ -24,7 +24,7 @@ IUSE="doc examples test"
RESTRICT="!test? ( test )"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( dev-cpp/gtest )
"
diff --git a/dev-libs/rapidjson/rapidjson-9999.ebuild b/dev-libs/rapidjson/rapidjson-9999.ebuild
index a22be37589bc..b98b72a191b7 100644
--- a/dev-libs/rapidjson/rapidjson-9999.ebuild
+++ b/dev-libs/rapidjson/rapidjson-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
@@ -24,7 +24,7 @@ IUSE="doc examples test"
RESTRICT="!test? ( test )"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( dev-cpp/gtest )
"
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-r2.ebuild
index b5ed4341eed6..b19cf66f9a65 100644
--- a/dev-libs/rasqal/rasqal-0.9.33-r1.ebuild
+++ b/dev-libs/rasqal/rasqal-0.9.33-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
@@ -30,7 +30,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
>=sys-devel/bison-3
- >=sys-devel/flex-2.5.36
+ app-alternatives/lex
virtual/pkgconfig
test? ( dev-perl/XML-DOM )
"
@@ -40,6 +40,7 @@ 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() {
diff --git a/dev-libs/rccl/Manifest b/dev-libs/rccl/Manifest
index 50be3ed5b7b8..8ce9b421344b 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
+DIST rccl-6.1.1.tar.gz 1679144 BLAKE2B 371d64691dc74f875c49e14df8f3f2d8b9c607376e6c5a889bd2bdb50607e88715d6d75ffed4ba3184a5b9b241cb37b8501e927a5f495632212909e410102490 SHA512 6c6376dd822182bcf28f573c0f3b5c7e52f94f4b670ee7c88519232f51b443d52cd37cbe6c41b5b6e9cb0b93c1124246a989f6e6a2ae74935134135585118002
diff --git a/dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch b/dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch
deleted file mode 100644
index 11e3fea312de..000000000000
--- a/dev-libs/rccl/files/rccl-5.0.2-change_install_location.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: rccl-rocm-5.0.2/CMakeLists.txt
-===================================================================
---- rccl-rocm-5.0.2.orig/CMakeLists.txt
-+++ rccl-rocm-5.0.2/CMakeLists.txt
-@@ -268,16 +268,12 @@ target_link_libraries(rccl INTERFACE hip
- rocm_set_soversion(rccl "1.0")
-
- rocm_install_targets(TARGETS
-- rccl
-- PREFIX
- rccl)
- rocm_install(FILES ${PROJECT_BINARY_DIR}/rccl.h
-- DESTINATION rccl/${CMAKE_INSTALL_INCLUDEDIR})
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- rocm_export_targets(NAMESPACE
- roc::
-- PREFIX
-- rccl
- TARGETS
- rccl
- DEPENDS
-@@ -329,8 +325,6 @@ rocm_create_package(
- "RCCL Maintainer <rccl-maintainer@amd.com>"
- LDCONFIG)
-
--rocm_install_symlink_subdir(rccl)
--
- if(BUILD_TESTS)
- add_subdirectory(test)
- endif()
diff --git a/dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch b/dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch
deleted file mode 100644
index 26bad572c7d8..000000000000
--- a/dev-libs/rccl/files/rccl-5.1.3-remove-chrpath.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Manually chrpath not needed in CMakeLists since CMAKE_SKIP_RPATH=On
-So chrpath dependency is not needed
-===================================================================
---- rccl-rocm-5.1.3.orig/test/CMakeLists.txt
-+++ rccl-rocm-5.1.3/test/CMakeLists.txt
-@@ -5,11 +5,6 @@ if(BUILD_TESTS)
-
- message("Going to build unit tests (Installed in /test/UnitTests)")
-
-- find_program(CHRPATH chrpath)
-- if(NOT CHRPATH)
-- message(FATAL_ERROR "chrpath is required for UnitTests. Please install (e.g. sudo apt-get install chrpath)")
-- endif()
--
- include_directories(${GTEST_INCLUDE_DIRS})
-
- if(BUILD_ALLREDUCE_ONLY)
-@@ -88,14 +83,6 @@ if(BUILD_TESTS)
- # HIPCC adds /opt/rocm/lib as RPATH, even though the install process is supposed to
- # remove RPATH. It also occurs before any user-specified rpath, which effectively overrides the user rpath.
- # As a work-around, set the correct RPATH for the unit test executable as a post-install step
-- if (CMAKE_INSTALL_PREFIX MATCHES "${ROCM_PATH}")
-- # install_prefix/CMAKE_INSTALL_PREFIX was not explicitly specified, so look in build/release
-- add_custom_command( TARGET UnitTests POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_BINARY_DIR}:${ROCM_PATH}/lib ${CMAKE_BINARY_DIR}/test/UnitTests)
-- add_custom_command( TARGET UnitTestsMultiProcess POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_BINARY_DIR}:${ROCM_PATH}/lib ${CMAKE_BINARY_DIR}/test/UnitTestsMultiProcess)
-- else()
-- add_custom_command( TARGET UnitTests POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_INSTALL_PREFIX}/lib:${ROCM_PATH}/lib ${CMAKE_INSTALL_PREFIX}/test/UnitTests)
-- add_custom_command( TARGET UnitTestsMultiProcess POST_BUILD COMMAND chrpath ARGS -r ${CMAKE_INSTALL_PREFIX}/lib:${ROCM_PATH}/lib ${CMAKE_INSTALL_PREFIX}/test/UnitTestsMultiProcess)
-- endif()
- else()
- message("Not building unit tests")
- endif()
diff --git a/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
new file mode 100644
index 000000000000..a9184f1c7b98
--- /dev/null
+++ b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
@@ -0,0 +1,17 @@
+chrpath is not used in rccl 5.7.1
+
+Upstream fix: https://github.com/ROCmSoftwarePlatform/rccl/pull/811
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -7,11 +7,6 @@ if(BUILD_TESTS)
+
+ message("Building rccl unit tests (Installed in /test/rccl-UnitTests)")
+
+- find_program(CHRPATH chrpath)
+- if(NOT CHRPATH)
+- message(FATAL_ERROR "chrpath is required for rccl-UnitTests. Please install (e.g. sudo apt-get install chrpath)")
+- endif()
+-
+ find_package(hsa-runtime64 PATHS /opt/rocm )
+ if(${hsa-runtime64_FOUND})
+ message("hsa-runtime64 found @ ${hsa-runtime64_DIR} ")
diff --git a/dev-libs/rccl/files/rccl-6.0.2-fix-version-check.patch b/dev-libs/rccl/files/rccl-6.0.2-fix-version-check.patch
new file mode 100644
index 000000000000..feff936129a2
--- /dev/null
+++ b/dev-libs/rccl/files/rccl-6.0.2-fix-version-check.patch
@@ -0,0 +1,15 @@
+There is no /usr/.info/version file in Gentoo
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -120,10 +120,7 @@ execute_process(
+ message(STATUS "hipcc version: ${hipcc_version_string}")
+
+ ## Check for ROCm version
+-execute_process(
+- COMMAND bash "-c" "cat ${ROCM_PATH}/.info/version"
+- OUTPUT_VARIABLE rocm_version_string
+-)
++set(rocm_version_string "@rocm_version@")
+ string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" rocm_version_matches ${rocm_version_string})
+ if (rocm_version_matches)
+ set(ROCM_MAJOR_VERSION ${CMAKE_MATCH_1})
diff --git a/dev-libs/rccl/metadata.xml b/dev-libs/rccl/metadata.xml
index 70bb629584c9..6ce4f3700a3d 100644
--- a/dev-libs/rccl/metadata.xml
+++ b/dev-libs/rccl/metadata.xml
@@ -13,7 +13,11 @@
<email>gentoo@holzke.net</email>
<name>Wilfried Holzke</name>
</maintainer>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
<upstream>
- <remote-id type="github">ROCm-Developer-Tools/rccl</remote-id>
+ <remote-id type="github">ROCm/rccl</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/rccl/rccl-5.1.3.ebuild b/dev-libs/rccl/rccl-5.1.3.ebuild
deleted file mode 100644
index b7256c9d8ed4..000000000000
--- a/dev-libs/rccl/rccl-5.1.3.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
-
-ROCM_VERSION=${PV}
-
-inherit cmake edo rocm
-
-DESCRIPTION="ROCm Communication Collectives Library (RCCL)"
-HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rccl"
-SRC_URI="https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="test"
-
-RDEPEND="dev-util/hip
-dev-util/rocm-smi:${SLOT}"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/cmake-3.22
- >=dev-util/rocm-cmake-5.0.2-r1
- test? ( dev-cpp/gtest )"
-
-RESTRICT="!test? ( test )"
-S="${WORKDIR}/rccl-rocm-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.2-change_install_location.patch"
- "${FILESDIR}/${PN}-5.1.3-remove-chrpath.patch"
-)
-
-src_configure() {
- addpredict /dev/kfd
- addpredict /dev/dri/
-
- local mycmakeargs=(
- -DSKIP_RPATH=On
- -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
- -DBUILD_TESTS=$(usex test ON OFF)
- -Wno-dev
- )
-
- CXX=hipcc cmake_src_configure
-}
-
-src_test() {
- check_amdgpu
- LD_LIBRARY_PATH="${BUILD_DIR}" edob test/UnitTests
-}
diff --git a/dev-libs/rccl/rccl-5.7.1.ebuild b/dev-libs/rccl/rccl-5.7.1.ebuild
new file mode 100644
index 000000000000..846a21c20ca0
--- /dev/null
+++ b/dev-libs/rccl/rccl-5.7.1.ebuild
@@ -0,0 +1,79 @@
+# 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
+ cd "${BUILD_DIR}" || die
+ 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/rccl/rccl-6.1.1.ebuild b/dev-libs/rccl/rccl-6.1.1.ebuild
new file mode 100644
index 000000000000..35783657a50d
--- /dev/null
+++ b/dev-libs/rccl/rccl-6.1.1.ebuild
@@ -0,0 +1,69 @@
+# 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/ROCm/rccl"
+SRC_URI="https://github.com/ROCm/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
+S="${WORKDIR}/rccl-rocm-${PV}"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="
+ =dev-util/hip-6*
+ dev-util/rocm-smi:${SLOT}"
+DEPEND="${RDEPEND}
+ sys-libs/binutils-libs"
+BDEPEND="
+ >=dev-build/cmake-3.22
+ >=dev-build/rocm-cmake-5.7.1
+ dev-util/hipify-clang:${SLOT}
+ test? ( dev-cpp/gtest )"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.0.2-fix-version-check.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # https://reviews.llvm.org/D69582 - clang does not support parallel jobs
+ sed 's/-parallel-jobs=[0-9][0-9]//g' -i CMakeLists.txt || die
+
+ # https://github.com/ROCm/rccl/issues/958 - fix AMDGPU_TARGETS
+ sed '/set(AMDGPU_TARGETS/s/ FORCE//' -i CMakeLists.txt || die
+
+ # complete fix-version-check patch
+ sed "s/@rocm_version@/${PV}/" -i CMakeLists.txt || die
+}
+
+src_configure() {
+ # 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
+ cd "${BUILD_DIR}" || die
+ LD_LIBRARY_PATH="${BUILD_DIR}" edob test/rccl-UnitTests
+}
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/rinutils/Manifest b/dev-libs/rinutils/Manifest
index 2dd7c8337c8c..892e90ffdfd6 100644
--- a/dev-libs/rinutils/Manifest
+++ b/dev-libs/rinutils/Manifest
@@ -1,2 +1 @@
-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.0.ebuild b/dev-libs/rinutils/rinutils-0.10.0.ebuild
deleted file mode 100644
index 090feb7a7fd7..000000000000
--- a/dev-libs/rinutils/rinutils-0.10.0.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Set of C headers containing macros and static functions"
-HOMEPAGE="https://www.shlomifish.org/open-source/projects/ https://github.com/shlomif/rinutils"
-SRC_URI="https://github.com/shlomif/${PN}/releases/download/${PV}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-src_configure() {
- local mycmakeargs=(
- -DDISABLE_APPLYING_RPATH=OFF
- -DWITH_TEST_SUITE=OFF # tests require perl
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild b/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild
index e6ce2cce62ed..9dd5b4dbf5db 100644
--- a/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild
+++ b/dev-libs/rinutils/rinutils-0.10.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc64 ~riscv ~sparc x86"
RESTRICT="!test? ( test )"
BDEPEND="
diff --git a/dev-libs/rlog/rlog-1.4.ebuild b/dev-libs/rlog/rlog-1.4.ebuild
index 37b964e296d2..e32a66b385df 100644
--- a/dev-libs/rlog/rlog-1.4.ebuild
+++ b/dev-libs/rlog/rlog-1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ SLOT="0"
KEYWORDS="amd64 ~arm ~ppc sparc x86"
IUSE="valgrind"
-DEPEND="valgrind? ( dev-util/valgrind )"
+DEPEND="valgrind? ( dev-debug/valgrind )"
PATCHES=(
"${FILESDIR}"/${PN}-1.3.7-gcc-4.3.patch
diff --git a/dev-libs/rocdbgapi/Manifest b/dev-libs/rocdbgapi/Manifest
new file mode 100644
index 000000000000..9153f597bc1b
--- /dev/null
+++ b/dev-libs/rocdbgapi/Manifest
@@ -0,0 +1,2 @@
+DIST rocdbgapi-5.7.1.tar.gz 251913 BLAKE2B 96dc859937fdde75a3d68368b29efdd14711e256c7d3c60cd40b128e9a0c066f108c02f7d47d9d64d7ca485e85e9d56d48cac6c67088fc3fbafe44d1d23a7ce2 SHA512 e30cf6062b07ced7de1660398cd84d104e632907cfaf9bc05d29289a81a977c2272b69ff0810db201675f9d7e8476b4451c988ad9da0a13eee01fffdde839d26
+DIST rocdbgapi-6.1.1.tar.gz 254274 BLAKE2B 1621dc715e2540578126ff2fa6dc30dc9db711689e82b5c750dd203aafa091c00f897425a372d4617bec25eddb7b9a44105e8c9b46eb660e197602ede2beecba SHA512 d613e633e27ad9f582b9612d7d088c3ea465c29d6520e94b4821e0340c736e556dcd4a89f8027701097ee4e2d8b55640a232d484f9fa26f8a9165c648f8af219
diff --git a/dev-libs/rocdbgapi/metadata.xml b/dev-libs/rocdbgapi/metadata.xml
new file mode 100644
index 000000000000..696fb60c236e
--- /dev/null
+++ b/dev-libs/rocdbgapi/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>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>
+ <remote-id type="github">ROCm/ROCdbgapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/rocdbgapi/rocdbgapi-5.7.1.ebuild b/dev-libs/rocdbgapi/rocdbgapi-5.7.1.ebuild
new file mode 100644
index 000000000000..3573342f8b6f
--- /dev/null
+++ b/dev-libs/rocdbgapi/rocdbgapi-5.7.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="AMD Debugger API"
+HOMEPAGE="https://github.com/ROCm/ROCdbgapi"
+SRC_URI="https://github.com/ROCm/ROCdbgapi/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="doc"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+"
+RDEPEND="
+ dev-libs/rocm-comgr:${SLOT}
+ dev-libs/rocr-runtime:${SLOT}
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/ROCdbgapi-rocm-${PV}"
+
+src_prepare() {
+ sed -e "s/-Werror//" \
+ -e "s/if(DOXYGEN_FOUND)/if(WITH_DOCS AND DOXYGEN_FOUND)/" \
+ -e "s:\${CMAKE_INSTALL_DATADIR}/html/amd-dbgapi:\${CMAKE_INSTALL_DOCDIR}/html:" \
+ -i CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_DOCS=$(usex doc ON OFF)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_src_compile doc
+}
+
+src_install() {
+ cmake_src_install
+
+ # remove unneeded copy
+ rm -r "${ED}/usr/share/doc/${PF}-asan" || die
+}
diff --git a/dev-libs/rocdbgapi/rocdbgapi-6.1.1.ebuild b/dev-libs/rocdbgapi/rocdbgapi-6.1.1.ebuild
new file mode 100644
index 000000000000..eff59469418f
--- /dev/null
+++ b/dev-libs/rocdbgapi/rocdbgapi-6.1.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="AMD Debugger API"
+HOMEPAGE="https://github.com/ROCm/ROCdbgapi"
+SRC_URI="https://github.com/ROCm/ROCdbgapi/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/ROCdbgapi-rocm-${PV}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+IUSE="doc"
+
+BDEPEND="
+ doc? (
+ app-text/doxygen[dot]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+"
+RDEPEND="
+ dev-libs/rocm-comgr:${SLOT}
+ dev-libs/rocr-runtime:${SLOT}
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ sed -e "s/-Werror//" \
+ -e "s/if(DOXYGEN_FOUND)/if(WITH_DOCS AND DOXYGEN_FOUND)/" \
+ -e "s:\${CMAKE_INSTALL_DATADIR}/html/amd-dbgapi:\${CMAKE_INSTALL_DOCDIR}/html:" \
+ -i CMakeLists.txt || die
+
+ # Clang 19 detects error
+ # https://github.com/ROCm/ROCdbgapi/issues/12
+ sed -e "s/->n_next/->m_next/g" -i src/utils.h || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_DOCS=$(usex doc ON OFF)
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ use doc && cmake_src_compile doc
+}
+
+src_install() {
+ cmake_src_install
+
+ # remove unneeded copy
+ rm -r "${ED}/usr/share/doc/${PF}-asan" || die
+}
diff --git a/dev-libs/rocksdb/Manifest b/dev-libs/rocksdb/Manifest
index a470a43a76e9..10cd647edfa4 100644
--- a/dev-libs/rocksdb/Manifest
+++ b/dev-libs/rocksdb/Manifest
@@ -1,6 +1,5 @@
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-6.29.5.tar.gz 9508915 BLAKE2B 45d6f48a4db8881ad1f6e027017d7a680dc8f22067ba2270211f8def14b827a0facf0165b71320c530561a5464b7beb94a26664f563552bbba0699b122a1add2 SHA512 f5b33cc8954408d8c37c93a873bb3664637720a94f81f001c63db173e2dda3913029d7c46bc0e80b0c3171d9666ddfa2ee918d3ff7e0c4a575731e41ac3bcb51
DIST rocksdb-7.9.2.tar.gz 12058713 BLAKE2B 76a840565fccdc800eaad055da7698f7a5fc6e217187e078d60420c61cde1236c427cc4ae7d557c69ee5c358cd1ebc7fc4ed52063c04965fcc2c3c35774e9f59 SHA512 9cf2a359cedb21ca70fc921e54f19c406fd9aa2a739ad1627842fad2dec0e7dedbfe52aa8e85fbfbe7005c00ca1e7e7013f728d4d9938f3cebdf794504b431cb
-DIST rocksdb-8.6.7.tar.gz 12806059 BLAKE2B 66d1c4f23f690e2379c59f449833374496ebe924456cf202b021a4f9bc7dd6dde16976afae131540fb8bc02eea45ac4897cb1b31edb5f8469e3f50596aeb03f5 SHA512 a8f55e2d218cbe68196456fcf2a8fc0b10df6e8160d11bb4db3651c3b6e3e83223ed36ffe70b39b295ba8d76698e2120f81060f8b6b26f2086a79dae5d29a1f3
+DIST rocksdb-8.10.0.tar.gz 13316582 BLAKE2B 63f5a13c285dcc830d9d31623435af5d8385a1ecad2b4bbf433cdc9f1e8032218a24f06220199fab4deb385d3964890fc5de6bfdbadd5cd304826aeca600b246 SHA512 524e3e70ed2b1d2e6c61a7b401946e50473cc95684ce4efc6250062f5bc945e443e96f7907fcc3ee1ab98c71179a8b56a654383cf2c0bbe1bb20907ab1ac7523
+DIST rocksdb-8.11.3.tar.gz 13345436 BLAKE2B 8d8069c030ee345090ebec15528342d776d7a74d6b72808a054511aad169acaa89c5fee530e73b3faba9152aadc4d26f1edc4586e31ddf5501d2899b5d6500ec SHA512 df701e8f3a94efe351c5dfec691635b6cff9b5902e8d5bd714caa7389bbbfd8ce7f7e91f1549978b47b934449fb3b77581dfcc2811a7727be049709a330ca71e
+DIST rocksdb-9.3.1.tar.gz 13512627 BLAKE2B 9ab5fca82221a9d8ac2898fb20f1398a61435a6b76632a83f9ab35ffd0e2856f7b6dddc35ef6af5f2eeb6d87d1cd13872110d86effe37a712863d1731aa5b063 SHA512 3d1dbbb8b0dbf94a9780aaf6bc1f02a75d20a403d94602e0adddcba2af72564efa6bc6bd7fcbec0b02083d677c29806359801ca2b5832f916b300a5fdb3af832
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/rocksdb-6.14.6-r2.ebuild b/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild
index 22de4188031f..d7ebe58e23d4 100644
--- a/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild
+++ b/dev-libs/rocksdb/rocksdb-6.14.6-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -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-6.15.5-r1.ebuild b/dev-libs/rocksdb/rocksdb-6.15.5-r1.ebuild
deleted file mode 100644
index 65bcab9dd9d0..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.15.5-r1.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 ~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.14.6-gcc13.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-6.17.3-r1.ebuild b/dev-libs/rocksdb/rocksdb-6.17.3-r1.ebuild
deleted file mode 100644
index 86a2c6f594ad..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.17.3-r1.ebuild
+++ /dev/null
@@ -1,53 +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:=
- app-arch/zstd:=
- dev-cpp/gflags
- sys-libs/zlib:=
- jemalloc? ( dev-libs/jemalloc:= )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.14.6-gcc13.patch
- "${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-8.6.7.ebuild b/dev-libs/rocksdb/rocksdb-8.10.0.ebuild
index 283a918f7c75..c5a5cce5e1d8 100644
--- a/dev-libs/rocksdb/rocksdb-8.6.7.ebuild
+++ b/dev-libs/rocksdb/rocksdb-8.10.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -40,10 +40,18 @@ 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
@@ -52,9 +60,9 @@ src_configure() {
-DWITH_NUMA=$(usex numa)
-DWITH_SNAPPY=ON
-DWITH_TBB=$(usex tbb)
- -DWITH_ALL_TESTS=$(usex test)
- -DWITH_TESTS=$(usex test)
-DWITH_TOOLS=ON
+ -DWITH_TRACE_TOOLS=ON
+ -DWITH_TSAN=OFF
-DWITH_ZLIB=ON
-DWITH_ZSTD=ON
)
diff --git a/dev-libs/rocksdb/rocksdb-6.29.5.ebuild b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
index 7b5279bc8a32..c5a5cce5e1d8 100644
--- a/dev-libs/rocksdb/rocksdb-6.29.5.ebuild
+++ b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,17 +12,16 @@ 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"
+IUSE="jemalloc numa static-libs tbb test"
-# tests fail in this version
-RESTRICT="test"
+RESTRICT="!test? ( test )"
DEPEND="
app-arch/bzip2:=
app-arch/lz4:=
app-arch/snappy:=
app-arch/zstd:=
- dev-cpp/gflags
+ dev-cpp/gflags:=
sys-libs/liburing:=
sys-libs/zlib:=
sys-process/numactl
@@ -31,10 +30,6 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-PATCHES=(
- "${FILESDIR}"/${PN}-6.14.6-gcc13.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
@@ -44,26 +39,30 @@ 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
+ -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_LIBRADOS=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_TRACE_TOOLS=ON
+ -DWITH_TSAN=OFF
-DWITH_ZLIB=ON
-DWITH_ZSTD=ON
)
diff --git a/dev-libs/rocksdb/rocksdb-9.3.1.ebuild b/dev-libs/rocksdb/rocksdb-9.3.1.ebuild
new file mode 100644
index 000000000000..c5a5cce5e1d8
--- /dev/null
+++ b/dev-libs/rocksdb/rocksdb-9.3.1.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 c08baec415db..0b5b9a36741f 100644
--- a/dev-libs/rocm-comgr/Manifest
+++ b/dev-libs/rocm-comgr/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818
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
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-6.0.0-extend-isa-compatibility-check.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch
new file mode 100644
index 000000000000..e65400c792e4
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.0.0-extend-isa-compatibility-check.patch
@@ -0,0 +1,204 @@
+Load kernels when compatible by ISA, e. g. if AMDGPU_TARGETS is set
+to gfx1030 and some application was started on gfx1036, it loads gfx1030 kernel.
+
+Based on Debian patch by Cordell Bloor <cgmb@slerp.xyz>
+https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/master/debian/patches/0026-extend-hip-isa-compatibility-check.patch
+--- comgr.orig/src/comgr-metadata.cpp
++++ comgr/src/comgr-metadata.cpp
+@@ -923,23 +923,86 @@ static constexpr const char *CLANG_OFFLOAD_BUNDLER_MAGIC =
+ static constexpr size_t OffloadBundleMagicLen =
+ strLiteralLength(CLANG_OFFLOAD_BUNDLER_MAGIC);
+
+-bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) {
++struct GfxPattern {
++ std::string root;
++ std::string suffixes;
++};
++
++static bool matches(const GfxPattern& p, StringRef s) {
++ if (p.root.size() + 1 != s.size()) {
++ return false;
++ }
++ if (0 != std::memcmp(p.root.data(), s.data(), p.root.size())) {
++ return false;
++ }
++ return p.suffixes.find(s[p.root.size()]) != std::string::npos;
++}
++
++static bool isGfx900EquivalentProcessor(StringRef processor) {
++ return matches(GfxPattern{"gfx90", "029c"}, processor);
++}
++
++static bool isGfx900SupersetProcessor(StringRef processor) {
++ return matches(GfxPattern{"gfx90", "0269c"}, processor);
++}
++
++static bool isGfx1030EquivalentProcessor(StringRef processor) {
++ return matches(GfxPattern{"gfx103", "0123456"}, processor);
++}
++
++static bool isGfx1010EquivalentProcessor(StringRef processor) {
++ return matches(GfxPattern{"gfx101", "0"}, processor);
++}
++
++static bool isGfx1010SupersetProcessor(StringRef processor) {
++ return matches(GfxPattern{"gfx101", "0123"}, processor);
++}
++
++enum CompatibilityScore {
++ CS_EXACT_MATCH = 1 << 4,
++ CS_PROCESSOR_MATCH = 1 << 3,
++ CS_PROCESSOR_COMPATIBLE = 1 << 2,
++ CS_XNACK_SPECIALIZED = 1 << 1,
++ CS_SRAM_ECC_SPECIALIZED = 1 << 0,
++ CS_INCOMPATIBLE = 0,
++};
++
++static int getProcessorCompatibilityScore(StringRef CodeObjectProcessor,
++ StringRef AgentProcessor) {
++ if (CodeObjectProcessor == AgentProcessor) {
++ return CS_PROCESSOR_MATCH;
++ }
++
++ bool compatible = false;
++ if (isGfx900SupersetProcessor(AgentProcessor)) {
++ compatible = isGfx900EquivalentProcessor(CodeObjectProcessor);
++ } else if (isGfx1010SupersetProcessor(AgentProcessor)) {
++ compatible = isGfx1010EquivalentProcessor(CodeObjectProcessor);
++ } else if (isGfx1030EquivalentProcessor(AgentProcessor)) {
++ compatible = isGfx1030EquivalentProcessor(CodeObjectProcessor);
++ }
++
++ return compatible ? CS_PROCESSOR_COMPATIBLE : CS_INCOMPATIBLE;
++}
++
++static int getCompatiblityScore(StringRef IsaName, StringRef CodeObjectIsaName) {
+ if (IsaName == CodeObjectIsaName) {
+- return true;
++ return CS_EXACT_MATCH;
+ }
+
+ TargetIdentifier CodeObjectIdent;
+ if (parseTargetIdentifier(CodeObjectIsaName, CodeObjectIdent)) {
+- return false;
++ return CS_INCOMPATIBLE;
+ }
+
+ TargetIdentifier IsaIdent;
+ if (parseTargetIdentifier(IsaName, IsaIdent)) {
+- return false;
++ return CS_INCOMPATIBLE;
+ }
+
+- if (CodeObjectIdent.Processor != IsaIdent.Processor) {
+- return false;
++ int ProcessorScore = getProcessorCompatibilityScore(CodeObjectIdent.Processor, IsaIdent.Processor);
++ if (ProcessorScore == CS_INCOMPATIBLE) {
++ return CS_INCOMPATIBLE;
+ }
+
+ char CodeObjectXnack = ' ', CodeObjectSramecc = ' ';
+@@ -963,18 +1026,23 @@ bool isCompatibleIsaName(StringRef IsaName, StringRef CodeObjectIsaName) {
+ }
+ }
+
++ int XnackBonus = 0;
+ if (CodeObjectXnack != ' ') {
+ if (CodeObjectXnack != IsaXnack) {
+- return false;
++ return CS_INCOMPATIBLE;
+ }
++ XnackBonus = CS_XNACK_SPECIALIZED;
+ }
+
++ int SrameccBonus = 0;
+ if (CodeObjectSramecc != ' ') {
+ if (CodeObjectSramecc != IsaSramecc) {
+- return false;
++ return CS_INCOMPATIBLE;
+ }
++ SrameccBonus = CS_SRAM_ECC_SPECIALIZED;
+ }
+- return true;
++
++ return ProcessorScore + XnackBonus + SrameccBonus;
+ }
+
+ amd_comgr_status_t
+@@ -992,14 +1060,21 @@ lookUpCodeObjectInSharedObject(DataObject *DataP,
+ return Status;
+ }
+
++ int MaxScore = 0;
++ unsigned MaxScoreItem;
+ for (unsigned J = 0; J < QueryListSize; J++) {
+- if (isCompatibleIsaName(QueryList[J].isa, IsaName)) {
+- QueryList[J].offset = 0;
+- QueryList[J].size = DataP->Size;
+- break;
++ int Score = getCompatiblityScore(QueryList[J].isa, IsaName);
++ if (Score > MaxScore) {
++ MaxScore = Score;
++ MaxScoreItem = J;
+ }
+ }
+
++ if (MaxScore) {
++ QueryList[MaxScoreItem].offset = 0;
++ QueryList[MaxScoreItem].size = DataP->Size;
++ }
++
+ return AMD_COMGR_STATUS_SUCCESS;
+ }
+
+@@ -1011,7 +1086,6 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
+ return lookUpCodeObjectInSharedObject(DataP, QueryList, QueryListSize);
+ }
+
+- int Seen = 0;
+ BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size),
+ support::little);
+
+@@ -1037,6 +1111,8 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
+ QueryList[I].size = 0;
+ }
+
++ std::vector<int> QueryListScores(QueryListSize);
++
+ // For each code object, extract BundleEntryID information, and check that
+ // against each ISA in the QueryList
+ for (uint64_t I = 0; I < NumOfCodeObjects; I++) {
+@@ -1069,28 +1145,22 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
+ }
+
+ for (unsigned J = 0; J < QueryListSize; J++) {
+- // If this QueryList item has already been found to be compatible with
++ // If this QueryList item has exact match with
+ // another BundleEntryID, no need to check against the current
+ // BundleEntryID
+- if (QueryList[J].size != 0) {
++ if (QueryListScores[J] == CS_EXACT_MATCH) {
+ continue;
+ }
+
+ // If the QueryList Isa is compatible with the BundleEntryID, set the
+ // QueryList offset/size to this BundleEntryID
+- if (isCompatibleIsaName(QueryList[J].isa, OffloadAndTargetId.second)) {
++ int Score = getCompatiblityScore(QueryList[J].isa, OffloadAndTargetId.second);
++ if (Score > QueryListScores[J]) {
++ QueryListScores[J] = Score;
+ QueryList[J].offset = BundleEntryCodeObjectOffset;
+ QueryList[J].size = BundleEntryCodeObjectSize;
+- Seen++;
+- break;
+ }
+ }
+-
+- // Stop iterating over BundleEntryIDs once we have populated the entire
+- // QueryList
+- if (Seen == (int) QueryListSize) {
+- break;
+- }
+ }
+
+ return AMD_COMGR_STATUS_SUCCESS;
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch
new file mode 100644
index 000000000000..526318f5bbd9
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-dont-add-nogpulib.patch
@@ -0,0 +1,31 @@
+From 179ec2e67bf882c6bccb27f81db3d80f7eb9946e Mon Sep 17 00:00:00 2001
+From: Jacob Lambert <jacob.lambert@amd.com>
+Date: Fri, 12 Apr 2024 13:56:42 -0700
+Subject: [PATCH] [Comgr] Don't add -nogpulib option for assembley action
+
+We can omit setting -nogpulib even without a -rocm-path=. option
+when calling the assembly action. This avoids the following warning:
+
+warning: argument unused during compilation: '-nogpulib'
+Change-Id: I66d512befbafd9382f050c45a0d3950985e8ae38
+---
+ amd/comgr/src/comgr-compiler.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/comgr-compiler.cpp b/src/comgr-compiler.cpp
+index 143ab4e4f3db..21b233fa94b2 100644
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -1758,6 +1758,9 @@ amd_comgr_status_t AMDGPUCompiler::assembleToRelocatable() {
+ Args.push_back("-x");
+ Args.push_back("assembler");
+
++ // -nogpulib option not needed for assembling to relocatable
++ NoGpuLib = false;
++
+ return processFiles(AMD_COMGR_DATA_KIND_RELOCATABLE, ".o");
+ }
+
+--
+2.44.0
+
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-enforce-oop-compiler.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-enforce-oop-compiler.patch
new file mode 100644
index 000000000000..99cbf2f22ce6
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-enforce-oop-compiler.patch
@@ -0,0 +1,26 @@
+In-process compilation breaks compile_source_to_executable test, as it attempts to
+build .so as fatbin, and some options does not work with unpatched LLVM.
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -1226,10 +1226,7 @@ amd_comgr_status_t AMDGPUCompiler::compileToFatBin() {
+ return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT;
+ }
+
+- // This is a workaround to support HIP OOP Fatbin Compilation
+- CompileOOP = true;
+ auto Status = processFiles(AMD_COMGR_DATA_KIND_FATBIN, ".fatbin");
+- CompileOOP = false;
+
+ return Status;
+ }
+--- a/src/comgr-compiler.h
++++ b/src/comgr-compiler.h
+@@ -102,7 +102,7 @@ class AMDGPUCompiler {
+ std::string ClangIncludePath;
+ std::string ClangIncludePath2;
+ /// Perform out-of-process compilation.
+- bool CompileOOP = false;
++ bool CompileOOP = true;
+ /// Precompiled header file paths.
+ llvm::SmallVector<llvm::SmallString<128>, 2> PrecompiledHeaders;
+ /// Arguments common to all driver invocations in the current action.
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-fix-comgr-default-flags.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-fix-comgr-default-flags.patch
new file mode 100644
index 000000000000..d885da08ddae
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-fix-comgr-default-flags.patch
@@ -0,0 +1,51 @@
+Remove HIP/ROCM includes ("-isystem /usr/include"), as they break inclusion of <math.h>.
+Add inclusion of Clang resource dir (e.g. /usr/lib/clang/17), as it is used in hip runtime like that.
+Remove hardcoded target to fix HIP on musl.
+
+Issues:
+* https://github.com/ROCm/clr/issues/82
+* https://github.com/ROCm/llvm-project/issues/92
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -1028,9 +1028,8 @@ AMDGPUCompiler::addTargetIdentifierFlags(llvm::StringRef IdentStr,
+ }
+
+ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
+- HIPIncludePath = (Twine(env::getHIPPath()) + "/include").str();
+- // HIP headers depend on hsa.h which is in ROCM_DIR/include.
+- ROCMIncludePath = (Twine(env::getROCMPath()) + "/include").str();
++ // Allow to include <include/cuda_wrappers/algorithm> (used in some hip files)
++ ClangIncludePath = @CLANG_RESOURCE_DIR@;
+
+ Args.push_back("-x");
+
+@@ -1051,13 +1050,9 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
+ case AMD_COMGR_LANGUAGE_HIP:
+ Args.push_back("hip");
+ Args.push_back("-std=c++11");
+- Args.push_back("-target");
+- Args.push_back("x86_64-unknown-linux-gnu");
+ Args.push_back("--cuda-device-only");
+ Args.push_back("-isystem");
+- Args.push_back(ROCMIncludePath.c_str());
+- Args.push_back("-isystem");
+- Args.push_back(HIPIncludePath.c_str());
++ Args.push_back(ClangIncludePath.c_str());
+ break;
+ default:
+ return AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT;
+--- a/src/comgr-compiler.h
++++ b/src/comgr-compiler.h
+@@ -95,12 +95,7 @@ class AMDGPUCompiler {
+ /// User supplied target GPU Arch.
+ std::string GPUArch;
+ std::string OffloadArch;
+- /// ROCM include Path
+- std::string ROCMIncludePath;
+- /// HIP and Clang Include Paths
+- std::string HIPIncludePath;
+ std::string ClangIncludePath;
+- std::string ClangIncludePath2;
+ /// Perform out-of-process compilation.
+ bool CompileOOP = false;
+ /// Precompiled header file paths.
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-llvm-18-compat.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-llvm-18-compat.patch
new file mode 100644
index 000000000000..df008e4230d7
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.1.0-llvm-18-compat.patch
@@ -0,0 +1,79 @@
+ROCm 6.0.0 and 6.0.2 releases use mix between LLVM 17 and 18
+forked as https://github.com/RadeonOpenCompute/llvm-project
+which makes some libraries compatible with LLVM 17,
+while other require LLVM 18.
+
+Backports:
+* https://github.com/ROCm/llvm-project/commit/6cbc4dc91dfeb1cf2295cb350866e0b3a07dfee4
+* https://github.com/ROCm/llvm-project/commit/179ec2e67bf882c6bccb27f81db3d80f7eb9946e
+* https://github.com/ROCm/llvm-project/commit/ee123c3d1706bc4346511b1a9032020782576350
+--- a/src/comgr-compiler.cpp
++++ b/src/comgr-compiler.cpp
+@@ -205,7 +205,11 @@ bool AssemblerInvocation::createFromArgs(AssemblerInvocation &Opts,
+ // Parse the arguments.
+ const OptTable &OptTbl = getDriverOptTable();
+
++#if LLVM_VERSION_MAJOR == 17
+ const unsigned IncludedFlagsBitmask = options::CC1AsOption;
++#else
++ llvm::opt::Visibility IncludedFlagsBitmask(options::CC1AsOption);
++#endif
+ unsigned MissingArgIndex, MissingArgCount;
+ InputArgList Args = OptTbl.ParseArgs(Argv, MissingArgIndex, MissingArgCount,
+ IncludedFlagsBitmask);
+@@ -1041,11 +1045,15 @@ amd_comgr_status_t AMDGPUCompiler::addCompilationFlags() {
+ Args.push_back("cl");
+ Args.push_back("-std=cl1.2");
+ Args.push_back("-cl-no-stdinc");
++ Args.push_back("-mllvm");
++ Args.push_back("-amdgpu-internalize-symbols");
+ break;
+ case AMD_COMGR_LANGUAGE_OPENCL_2_0:
+ Args.push_back("cl");
+ Args.push_back("-std=cl2.0");
+ Args.push_back("-cl-no-stdinc");
++ Args.push_back("-mllvm");
++ Args.push_back("-amdgpu-internalize-symbols");
+ break;
+ case AMD_COMGR_LANGUAGE_HIP:
+ Args.push_back("hip");
+@@ -1605,6 +1613,9 @@ amd_comgr_status_t AMDGPUCompiler::assembleToRelocatable() {
+ Args.push_back("-x");
+ Args.push_back("assembler");
+
++ // -nogpulib option not needed for assembling to relocatable
++ NoGpuLib = false;
++
+ return processFiles(AMD_COMGR_DATA_KIND_RELOCATABLE, ".o");
+ }
+
+--- a/src/comgr-metadata.cpp
++++ b/src/comgr-metadata.cpp
+@@ -1087,7 +1087,12 @@ amd_comgr_status_t lookUpCodeObject(DataObject *DataP,
+ }
+
+ BinaryStreamReader Reader(StringRef(DataP->Data, DataP->Size),
+- support::little);
++#if LLVM_VERSION_MAJOR == 17
++ support::little
++#else
++ llvm::endianness::little
++#endif
++ );
+
+ StringRef Magic;
+ if (auto EC = Reader.readFixedString(Magic, OffloadBundleMagicLen)) {
+--- a/test/compile_log_remarks_test.c
++++ b/test/compile_log_remarks_test.c
+@@ -107,7 +107,11 @@ int main(int argc, char *argv[]) {
+ AMD_COMGR_DATA_KIND_SOURCE, 1);
+
+ checkLogs("AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY", DataSetAsm,
++#if LLVM_VERSION_MAJOR == 17
+ "remark: <unknown>:0:0: 8 stack bytes in function "
++#else
++ "remark: <unknown>:0:0: 8 stack bytes in function 'f' "
++#endif
+ "[-Rpass-analysis=prologepilog]");
+
+ Status = amd_comgr_destroy_data_set(DataSetCl);
diff --git a/dev-libs/rocm-comgr/metadata.xml b/dev-libs/rocm-comgr/metadata.xml
index c0566e4b512e..0fea85b33c9c 100644
--- a/dev-libs/rocm-comgr/metadata.xml
+++ b/dev-libs/rocm-comgr/metadata.xml
@@ -9,7 +9,11 @@
<email>xgreenlandforwyy@gmail.com</email>
<name>Yiyang Wu</name>
</maintainer>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
<upstream>
- <remote-id type="github">RadeonOpenCompute/ROCm-CompilerSupport</remote-id>
+ <remote-id type="github">ROCm/ROCm-CompilerSupport</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild
index ff181f1b4615..1d3b9d14ef38 100644
--- a/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild
+++ b/dev-libs/rocm-comgr/rocm-comgr-5.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -50,6 +50,7 @@ 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
}
diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild
new file mode 100644
index 000000000000..a2492992ceed
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 18 )
+
+inherit cmake llvm-r1 prefix
+
+MY_P=llvm-project-rocm-${PV}
+components=( "amd/comgr" )
+
+DESCRIPTION="Radeon Open Compute Code Object Manager"
+HOMEPAGE="https://github.com/ROCm/ROCm-CompilerSupport"
+SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}/${components[0]}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
+ "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
+ "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch"
+ "${FILESDIR}/${PN}-6.0.0-extend-isa-compatibility-check.patch"
+ "${FILESDIR}/${PN}-6.1.0-llvm-18-compat.patch"
+ "${FILESDIR}/${PN}-6.1.0-enforce-oop-compiler.patch"
+ "${FILESDIR}/${PN}-6.1.0-fix-comgr-default-flags.patch"
+ "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
+)
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ sys-devel/clang-runtime:=
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=
+ sys-devel/lld:${LLVM_SLOT}=
+ ')
+ dev-util/hipcc:${SLOT}
+"
+DEPEND="${RDEPEND}"
+
+CMAKE_BUILD_TYPE=Release
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ git-r3_fetch
+ git-r3_checkout '' . '' "${components[@]}"
+ else
+ archive="${MY_P}.tar.gz"
+ ebegin "Unpacking from ${archive}"
+ tar -x -z -o \
+ -f "${DISTDIR}/${archive}" \
+ "${components[@]/#/${MY_P}/}" || die
+ eend ${?}
+ fi
+}
+
+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)\")," -i src/comgr-env.cpp || die
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
+
+ cmake_src_prepare
+
+ # Replace @CLANG_RESOURCE_DIR@ in patches
+ local CLANG_RESOURCE_DIR="$("$(get_llvm_prefix)"/bin/clang -print-resource-dir)"
+ sed "s,@CLANG_RESOURCE_DIR@,\"${CLANG_RESOURCE_DIR}\"," -i src/comgr-compiler.cpp || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix)"
+ -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
+ -DBUILD_TESTING=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ comgr_nested_kernel_test # See https://github.com/ROCm/llvm-project/issues/35
+ )
+ cmake_src_test
+}
diff --git a/dev-libs/rocm-device-libs/Manifest b/dev-libs/rocm-device-libs/Manifest
index 149717e6ee65..a3682ad63840 100644
--- a/dev-libs/rocm-device-libs/Manifest
+++ b/dev-libs/rocm-device-libs/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818
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
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.0-test-bitcode-dir.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.0-test-bitcode-dir.patch
new file mode 100644
index 000000000000..2a307786edd5
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-5.5.0-test-bitcode-dir.patch
@@ -0,0 +1,37 @@
+`--rocm-device-lib-path` is needed to execute the tests because they are not
+installed to system yet
+===================================================================
+--- ROCm-Device-Libs-rocm-6.0.0.orig/test/compile/CMakeLists.txt
++++ ROCm-Device-Libs-rocm-6.0.0/test/compile/CMakeLists.txt
+@@ -30,6 +30,7 @@ function(add_compile_test test_name func
+ -DFILECHECK_BIN=${FILECHECK_BIN}
+ -DOUTPUT_FILE=output.${name}.${test_cpu}.s
+ -DINPUT_FILE=${CMAKE_CURRENT_SOURCE_DIR}/${func_name}.cl
++ -DAMDGCN_BITCODES=${PROJECT_BINARY_DIR}/lib/amdgcn/bitcode
+ -DTEST_CPU=${test_cpu}
+ -DEXTRA_CHECK_PREFIX=${extra_check_prefixes}
+ -P ${script})
+Index: ROCm-Device-Libs-rocm-6.0.0/test/compile/RunConstantFoldTest.cmake
+===================================================================
+--- ROCm-Device-Libs-rocm-6.0.0.orig/test/compile/RunConstantFoldTest.cmake
++++ ROCm-Device-Libs-rocm-6.0.0/test/compile/RunConstantFoldTest.cmake
+@@ -16,6 +16,7 @@ execute_process(COMMAND
+ -target amdgcn-amd-amdhsa -mcpu=${TEST_CPU}
+ -Xclang -finclude-default-header
+ --rocm-path=${BINARY_DIR}
++ --rocm-device-lib-path=${AMDGCN_BITCODES}
+ -mllvm -amdgpu-simplify-libcall=0
+ -o ${OUTPUT_FILE} ${INPUT_FILE}
+ RESULT_VARIABLE CLANG_RESULT
+Index: ROCm-Device-Libs-rocm-6.0.0/test/compile/RunCompileTest.cmake
+===================================================================
+--- ROCm-Device-Libs-rocm-6.0.0.orig/test/compile/RunCompileTest.cmake
++++ ROCm-Device-Libs-rocm-6.0.0/test/compile/RunCompileTest.cmake
+@@ -16,6 +16,7 @@ execute_process(COMMAND
+ -target amdgcn-amd-amdhsa -mcpu=${TEST_CPU}
+ -Xclang -finclude-default-header
+ --rocm-path=${BINARY_DIR}
++ --rocm-device-lib-path=${AMDGCN_BITCODES}
+ -mllvm -amdgpu-simplify-libcall=0
+ -o ${OUTPUT_FILE} ${INPUT_FILE}
+ RESULT_VARIABLE CLANG_RESULT
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.0.0-add-gws-attribute.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.0.0-add-gws-attribute.patch
new file mode 100644
index 000000000000..1aaecbb0c1e6
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.0.0-add-gws-attribute.patch
@@ -0,0 +1,22 @@
+Fix compatilibity with Clang-18
+https://github.com/ROCm/ROCm-Device-Libs/issues/96
+
+Backports https://github.com/ROCm/llvm-project/commit/688c78d85caf499957db175811f8b00c7c818f83
+--- a/ockl/src/cg.cl
++++ b/ockl/src/cg.cl
+@@ -84,13 +84,13 @@ multi_grid_sync(__global struct mg_sync *s, uint members)
+ }
+ }
+
+-void
++__attribute__((target("gws"))) void
+ __ockl_gws_init(uint nwm1, uint rid)
+ {
+ __builtin_amdgcn_ds_gws_init(nwm1, rid);
+ }
+
+-void
++__attribute__((target("gws"))) void
+ __ockl_gws_barrier(uint nwm1, uint rid)
+ {
+ __builtin_amdgcn_ds_gws_barrier(nwm1, rid); \ No newline at end of file
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-llvm-link.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-llvm-link.patch
new file mode 100644
index 000000000000..7a08dc4a1d0d
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-llvm-link.patch
@@ -0,0 +1,28 @@
+https://github.com/ROCm/llvm-project/pull/68
+From 1c7e7f872980a5b15fb3d85f8780e78ce3b715b1 Mon Sep 17 00:00:00 2001
+From: Selene <lixueying@mail.bnu.edu.cn>
+Date: Wed, 1 May 2024 17:38:33 +0800
+Subject: [PATCH] Allow link to llvm shared library for current distros
+
+---
+ amd/device-libs/utils/prepare-builtins/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/amd/device-libs/utils/prepare-builtins/CMakeLists.txt b/amd/device-libs/utils/prepare-builtins/CMakeLists.txt
+index 63661962860a..079dc08e3419 100644
+--- a/utils/prepare-builtins/CMakeLists.txt
++++ b/utils/prepare-builtins/CMakeLists.txt
+@@ -26,5 +26,9 @@ set_target_properties(prepare-builtins PROPERTIES
+ CXX_STANDARD_REQUIRED Yes
+ CXX_EXTENSIONS No)
+ llvm_update_compile_flags(prepare-builtins)
+-llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter)
++if (LLVM_LINK_LLVM_DYLIB)
++ set(llvm_libs LLVM)
++else()
++ llvm_map_components_to_libnames(llvm_libs support core bitreader bitwriter)
++endif()
+ target_link_libraries(prepare-builtins ${llvm_libs})
+--
+2.44.0
+
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures.patch
new file mode 100644
index 000000000000..856b5cf7e392
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures.patch
@@ -0,0 +1,64 @@
+Modified from https://github.com/ROCm/llvm-project/commit/7c2188cbc193f2b4dd5394f17404b44340001f30.patch
+From 7c2188cbc193f2b4dd5394f17404b44340001f30 Mon Sep 17 00:00:00 2001
+From: Matt Arsenault <Matthew.Arsenault@amd.com>
+Date: Thu, 4 Jan 2024 19:34:47 +0700
+Subject: [PATCH] device-libs: Fix input file path test failures
+
+The test file input paths broke with the move to the mono-repo. Some of
+the constant folding values are host dependent, so update the values to
+what works for me now. Not really sure what else I can do about these.
+
+Change-Id: Ic764f637bb9532fcede9bfb9ce3886a2b7d467d8
+---
+ amd/device-libs/test/compile/frexp.cl | 10 ++++++----
+ amd/device-libs/test/compile/lgamma_r.cl | 2 +-
+ 3 files changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/test/compile/frexp.cl b/test/compile/frexp.cl
+index 780c541500021b..b3181ce87db711 100644
+--- a/test/compile/frexp.cl
++++ b/test/compile/frexp.cl
+@@ -5,11 +5,11 @@
+ // later.
+
+ // GCN-LABEL: {{^}}test_frexp_f32:
+-// GFX600-DAG: s_movk_i32 [[CLASS_MASK:s[0-9]+]], 0x1f8
++// GFX600-DAG: s_mov_b32 [[INF:s[0-9]+]], 0x7f80000
+ // GFX600-DAG: v_frexp_mant_f32{{(_e32)?}} [[MANT:v[0-9]+]], [[SRC:v[0-9]+]]
+ // GFX600-DAG: v_frexp_exp_i32_f32{{(_e32)?}} [[EXP:v[0-9]+]], [[SRC:v[0-9]+]]
+
+-// GFX600-DAG: v_cmp_class_f32{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], [[SRC]], [[CLASS_MASK]]
++// GFX600-DAG: v_cmp_lt_f32{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], |[[SRC]]|, [[INF]]
+
+ // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, [[SRC]], [[MANT]], [[CMP]]
+ // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, 0, [[EXP]], [[CMP]]
+@@ -30,12 +30,14 @@ kernel void test_frexp_f32(global float* restrict out0,
+ }
+
+ // GCN-LABEL: {{^}}test_frexp_f64:
++// GFX600: s_mov_b32 s{{[0-9]+}}, 0{{$}}
+
+-// GFX600-DAG: s_movk_i32 [[CLASS_MASK:s[0-9]+]], 0x1f8
++// GFX600-DAG: s_mov_b32 s[[INF_LO:[0-9]+]], 0{{$}}
++// GFX600-DAG: s_mov_b32 s[[INF_HI:[0-9]+]], 0x7ff00000{{$}}
+ // GFX600-DAG: v_frexp_mant_f64{{(_e32)?}} v{{\[}}[[MANT_LO:[0-9]+]]:[[MANT_HI:[0-9]+]]{{\]}}, [[SRC:v\[[0-9]+:[0-9]+\]]]
+ // GFX600-DAG: v_frexp_exp_i32_f64{{(_e32)?}} [[EXP:v[0-9]+]], [[SRC:v\[[0-9]+:[0-9]+\]]]
+
+-// GFX600-DAG: v_cmp_class_f64{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], [[SRC]], [[CLASS_MASK]]
++// GFX600-DAG: v_cmp_lt_f64{{(_e64)?}} [[CMP:(vcc|s{{\[[0-9]+:[0-9]+\]}})]], |[[SRC]]|, s{{\[}}[[INF_LO]]:[[INF_HI]]{{\]}}
+
+ // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, v{{[0-9]+}}, v[[MANT_LO]], [[CMP]]
+ // GFX600-DAG: v_cndmask_b32{{(_e32)?|(e64)?}} v{{[0-9]+}}, v{{[0-9]+}}, v[[MANT_HI]], [[CMP]]
+diff --git a/test/compile/lgamma_r.cl b/test/compile/lgamma_r.cl
+index 1e1984226cd55c..56d1ba15f761f2 100644
+--- a/test/compile/lgamma_r.cl
++++ b/test/compile/lgamma_r.cl
+@@ -66,7 +66,7 @@ kernel void constant_fold_lgamma_r_f32(volatile global float* out,
+ out[0] = test_lgamma_r(0x1.0p-127f, sign_out);
+
+ // CONSTANTFOLD-NEXT: store volatile i32 1,
+- // CONSTANTFOLD-NEXT: store volatile float 0x419DE28040000000,
++ // CONSTANTFOLD-NEXT: store volatile float 0x419DE28060000000,
+ out[0] = test_lgamma_r(nextafter(0x1.0p+23f, __builtin_inff()), sign_out);
+
+ // CONSTANTFOLD-NEXT: store volatile i32 1,
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures2.patch b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures2.patch
new file mode 100644
index 000000000000..c0559e9468f6
--- /dev/null
+++ b/dev-libs/rocm-device-libs/files/rocm-device-libs-6.1.0-fix-test-failures2.patch
@@ -0,0 +1,44 @@
+Modified from https://github.com/ROCm/llvm-project/commit/794ebeffcafbf6f4d86cb1bfd7a5a0d1d30f1fc7
+From 794ebeffcafbf6f4d86cb1bfd7a5a0d1d30f1fc7 Mon Sep 17 00:00:00 2001
+From: Matt Arsenault <Matthew.Arsenault@amd.com>
+Date: Thu, 4 Jan 2024 20:40:30 +0700
+Subject: [PATCH] device-libs: Fix native_rsqrt test failures for f16-as-f32
+ case
+
+At some point the code quality regressed for these.
+
+Change-Id: Ib5c4c1d093a6056dd6213ed6eaf157ad806101fb
+---
+ amd/device-libs/test/compile/native_rsqrt.cl | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/test/compile/native_rsqrt.cl b/test/compile/native_rsqrt.cl
+index 94ef375e4d522f..291cc6f32c3351 100644
+--- a/test/compile/native_rsqrt.cl
++++ b/test/compile/native_rsqrt.cl
+@@ -6,16 +6,21 @@
+
+ half __ocml_native_rsqrt_f16(half);
+
+-// GCN: {{^}}test_native_rsqrt_f16:
+-// GFX600: v_rsq_f32
+-// GFX700: v_rsq_f32
++// FIXME: Promoted case using full expansion
++// GCN-LABEL: {{^}}test_native_rsqrt_f16:
++// GFX600: v_sqrt_f32
++// GFX600: v_rcp_f32
++
++// GFX700: v_sqrt_f32
++// GFX700: v_rcp_f32
++
+ // GFX803: v_rsq_f16
+ kernel void test_native_rsqrt_f16(global half* restrict out, global half* restrict in) {
+ int id = get_local_id(0);
+ out[id] = __ocml_native_rsqrt_f16(in[id]);
+ }
+
+-// GCN: {{^}}test_native_rsqrt_f32:
++// GCN-LABEL: {{^}}test_native_rsqrt_f32:
+ // GCN: v_rsq_f32
+ kernel void test_native_rsqrt_f32(global float* restrict out, global float* restrict in) {
+ int id = get_local_id(0);
diff --git a/dev-libs/rocm-device-libs/metadata.xml b/dev-libs/rocm-device-libs/metadata.xml
index c47f589544e4..cbbf3a273306 100644
--- a/dev-libs/rocm-device-libs/metadata.xml
+++ b/dev-libs/rocm-device-libs/metadata.xml
@@ -5,7 +5,11 @@
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
<upstream>
- <remote-id type="github">RadeonOpenCompute/ROCm-Device-Libs</remote-id>
+ <remote-id type="github">ROCm/ROCm-Device-Libs</remote-id>
</upstream>
</pkgmetadata>
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
index 56af5a5be6b3..f86b432e076a 100644
--- 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
@@ -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
@@ -47,3 +47,10 @@ src_configure() {
)
cmake_src_configure
}
+
+src_install() {
+ cmake_src_install
+ local CLANG_EXE="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/clang"
+ local bitcodedir="$("${CLANG_EXE}" -print-resource-dir)/$(get_libdir)/amdgcn/bitcode"
+ dosym -r "/usr/lib/amdgcn/bitcode" "${bitcodedir#${EPREFIX}}"
+}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild
new file mode 100644
index 000000000000..04fd989b95cb
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 18 )
+inherit cmake llvm-r1
+
+MY_P=llvm-project-rocm-${PV}
+components=( "amd/device-libs" )
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/llvm-project"
+ inherit git-r3
+ S="${WORKDIR}/${P}/${components[0]}"
+else
+ SRC_URI="https://github.com/ROCm/llvm-project/archive/rocm-${PV}.tar.gz -> ${MY_P}.tar.gz"
+ S="${WORKDIR}/${MY_P}/${components[0]}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Device Libraries"
+HOMEPAGE="https://github.com/ROCm/ROCm-Device-Libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-build/rocm-cmake
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/lld:${LLVM_SLOT}
+ ')
+"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.5.0-test-bitcode-dir.patch"
+ "${FILESDIR}/${PN}-6.1.0-fix-llvm-link.patch"
+ "${FILESDIR}/${PN}-6.0.0-add-gws-attribute.patch"
+ "${FILESDIR}/${PN}-6.1.0-fix-test-failures.patch"
+ "${FILESDIR}/${PN}-6.1.0-fix-test-failures2.patch"
+)
+
+src_unpack() {
+ if [[ ${PV} == *9999 ]] ; then
+ git-r3_fetch
+ git-r3_checkout '' . '' "${components[@]}"
+ else
+ archive="${MY_P}.tar.gz"
+ ebegin "Unpacking from ${archive}"
+ tar -x -z -o \
+ -f "${DISTDIR}/${archive}" \
+ "${components[@]/#/${MY_P}/}" || die
+ eend ${?}
+ fi
+}
+
+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)"
+ )
+ # do not trust CMake with autoselecting Clang, as it autoselects the latest one
+ # producing too modern LLVM bitcode and causing linker errors in other packages
+ CC="$(get_llvm_prefix)/bin/clang" CXX="$(get_llvm_prefix)/bin/clang++" cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ local CLANG_EXE="$(get_llvm_prefix)/bin/clang"
+ # install symlink, so that clang won't ask for "--rocm-device-lib-path" flag anymore
+ local bitcodedir="$("${CLANG_EXE}" -print-resource-dir)/$(get_libdir)/amdgcn/bitcode"
+ dosym -r "/usr/lib/amdgcn/bitcode" "${bitcodedir#${EPREFIX}}"
+}
diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index 73a5ddd285e3..a7f160ad2ad6 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -3,6 +3,7 @@ DIST rocclr-5.3.3.tar.gz 625944 BLAKE2B 0cdbc1415a355e1d56628834846aaa8587c9827e
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.1.1.tar.gz 2031034 BLAKE2B b0485bb015d31986f4988d1db0c029c826856e50b5bb1b58fac2097c14b3966668f1b8d41ec198889e27ac860497a8b3c081ec31d52390d5c9ff5db092bf7cce SHA512 86925e8b9a9e77b06a57daefbc7279887b4ef7c6a79c3717bc2f2d3bf29926281c60063fd17e21c65d7def520d9f579bf88f69051d053a38750ba968f69ca3fc
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
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 62701ea162f0..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ RDEPEND=">=dev-libs/rocr-runtime-${PV}
media-libs/mesa[-opencl]"
DEPEND="${RDEPEND}
dev-util/opencl-headers"
-BDEPEND=">=dev-util/rocm-cmake-${PV}
+BDEPEND=">=dev-build/rocm-cmake-${PV}
media-libs/glew
test? ( >=x11-apps/mesa-progs-8.5.0[X] )
"
@@ -59,6 +59,9 @@ src_prepare() {
}
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
index e4723691eb3b..3e7f3d21381e 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ RDEPEND=">=dev-libs/rocr-runtime-${PV}
media-libs/mesa[-opencl]"
DEPEND="${RDEPEND}
dev-util/opencl-headers"
-BDEPEND=">=dev-util/rocm-cmake-${PV}
+BDEPEND=">=dev-build/rocm-cmake-${PV}
media-libs/glew
test? ( >=x11-apps/mesa-progs-8.5.0[X] )
"
@@ -46,6 +46,9 @@ src_prepare() {
}
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.4.3-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.4.3-r1.ebuild
index d36ece85ae09..fea24ac7dafc 100644
--- 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
@@ -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
@@ -32,7 +32,7 @@ RDEPEND=">=dev-libs/rocr-runtime-5.3
media-libs/mesa[-opencl]"
DEPEND="${RDEPEND}
dev-util/opencl-headers"
-BDEPEND=">=dev-util/rocm-cmake-5.3
+BDEPEND=">=dev-build/rocm-cmake-5.3
test? (
>=x11-apps/mesa-progs-8.5.0[X]
media-libs/glew
@@ -53,6 +53,9 @@ if [[ ${PV} == "9999" ]]; then
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
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
index d1614bfe6c25..c9a0dfc880b7 100644
--- 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
@@ -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
@@ -31,7 +31,7 @@ RDEPEND=">=dev-libs/rocr-runtime-5.3
>=virtual/opencl-3
media-libs/mesa[-opencl]"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-5.3
+BDEPEND=">=dev-build/rocm-cmake-5.3
media-libs/glew
test? ( >=x11-apps/mesa-progs-8.5.0[X] )
"
@@ -61,6 +61,9 @@ src_prepare() {
}
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.7.1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild
index 95b46bd4cf1b..ade2c6f349f6 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake edo flag-o-matic
+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"
@@ -30,7 +31,7 @@ RDEPEND=">=dev-libs/rocr-runtime-5.7
>=virtual/opencl-3
media-libs/mesa[-opencl]"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-util/rocm-cmake-5.3
+BDEPEND=">=dev-build/rocm-cmake-5.3
media-libs/glew
test? ( >=x11-apps/mesa-progs-8.5.0[X] )
"
@@ -47,6 +48,17 @@ OB git-r3_checkout
}
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
@@ -72,24 +84,8 @@ src_install() {
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
+ 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!),"
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.1.ebuild
new file mode 100644
index 000000000000..465e3a2ddc66
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.1.ebuild
@@ -0,0 +1,93 @@
+# 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"
+
+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}/"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+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_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
deleted file mode 100644
index cd765e1df76f..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2023 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-util/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() {
- # 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 6a6341073759..7e2bac505de1 100644
--- a/dev-libs/rocr-runtime/Manifest
+++ b/dev-libs/rocr-runtime/Manifest
@@ -3,3 +3,4 @@ DIST rocr-runtime-5.3.3.tar.gz 809871 BLAKE2B 1a44e88c34fcebcea3351de812f2ac64a7
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.1.1.tar.gz 903611 BLAKE2B 175e7267bfd9d70fb805135e765004cf2b43b2d66354f0cef857d417c8dac4ce7638ec1b90a1088324aa5f90ed8354c66b56846115368d68d622a215350d84dd SHA512 5e6e28dee29ef9df9d617f56038b2e52022738d5510833cd8e1738defe1049d0a957db4d9f63bbf55d8efca3a4ea349b95919dd1b6b35b9814ebba575a67af57
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..f0106abd6652
--- /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, 1> gfx1010_equivalent = { 0 };
++ 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..13d731adb3a2
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-5.7.1-musl.patch
@@ -0,0 +1,117 @@
+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/runtime/hsa.cpp
++++ b/core/runtime/hsa.cpp
+@@ -155,7 +155,7 @@ template <class T> struct ValidityError<const T*> {
+
+ template <class T>
+ static __forceinline bool IsValid(T* ptr) {
+- return (ptr == NULL) ? NULL : ptr->IsValid();
++ return (ptr == NULL) ? false : ptr->IsValid();
+ }
+
+ namespace AMD {
+--- 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/files/rocr-runtime-6.1.0-ld-lld.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-ld-lld.patch
new file mode 100644
index 000000000000..fb5d3d341967
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-ld-lld.patch
@@ -0,0 +1,17 @@
+Fix "symbol not defined" when linking with ld.lld >= 17
+https://github.com/ROCm/ROCR-Runtime/issues/204
+--- a/hsacore.so.def
++++ b/hsacore.so.def
+@@ -246,12 +246,6 @@ global:
+ hsa_amd_vmem_retain_alloc_handle;
+ hsa_amd_vmem_get_alloc_properties_from_handle;
+ hsa_amd_agent_set_async_scratch_limit;
+- hsa_tools_scratch_event_alloc_start;
+- hsa_tools_scratch_event_alloc_end;
+- hsa_tools_scratch_event_free_start;
+- hsa_tools_scratch_event_free_end;
+- hsa_tools_scratch_event_async_reclaim_start;
+- hsa_tools_scratch_event_async_reclaim_end;
+
+ local:
+ *;
diff --git a/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-musl.patch b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-musl.patch
new file mode 100644
index 000000000000..7554c8c79ec1
--- /dev/null
+++ b/dev-libs/rocr-runtime/files/rocr-runtime-6.1.0-musl.patch
@@ -0,0 +1,106 @@
+Fix compilation and symbol search with musl.
+
+Bug: https://github.com/ROCm/ROCR-Runtime/issues/181
+--- src.orig/core/inc/checked.h
++++ src/core/inc/checked.h
+@@ -58,7 +58,7 @@ template <uint64_t code, bool multiProce
+ 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; }
+--- src.orig/core/runtime/default_signal.cpp
++++ src/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() {
+--- src.orig/core/util/lnx/os_linux.cpp
++++ src/core/util/lnx/os_linux.cpp
+@@ -130,9 +130,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;
+@@ -642,11 +645,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);
+--- src.orig/core/util/utils.h
++++ src/core/util/utils.h
+@@ -74,7 +74,7 @@ static __forceinline void* _aligned_mall
+ 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
+--- src.orig/image/util.h
++++ src/image/util.h
+@@ -99,7 +99,7 @@ static __forceinline void* _aligned_mall
+ 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
+ }
+--- src.orig/core/util/lnx/os_linux.cpp
++++ src/core/util/lnx/os_linux.cpp
+@@ -65,6 +65,16 @@
+ #include <cpuid.h>
+ #endif
+
++/*
++ * d_un.d_ptr is relative on non glibc systems
++ * elf(5) documents it this way, glibc diverts from this documentation
++ */
++#ifdef __GLIBC__
++#define ABS_ADDR(base, ptr) (ptr)
++#else
++#define ABS_ADDR(base, ptr) ((base) + (ptr))
++#endif
++
+ namespace rocr {
+ namespace os {
+
+@@ -299,7 +309,7 @@ static int callback(struct dl_phdr_info* info, size_t size, void* data) {
+ for (int j = 0;; j++) {
+ if (dyn_section[j].d_tag == DT_NULL) break;
+
+- if (dyn_section[j].d_tag == DT_STRTAB) strings = (char*)(dyn_section[j].d_un.d_ptr);
++ if (dyn_section[j].d_tag == DT_STRTAB) strings = (char*)ABS_ADDR(info->dlpi_addr, dyn_section[j].d_un.d_ptr);
+
+ if (dyn_section[j].d_tag == DT_STRSZ) limit = dyn_section[j].d_un.d_val;
+ }
diff --git a/dev-libs/rocr-runtime/metadata.xml b/dev-libs/rocr-runtime/metadata.xml
index 0e418bcc9837..5f0e6d6b486e 100644
--- a/dev-libs/rocr-runtime/metadata.xml
+++ b/dev-libs/rocr-runtime/metadata.xml
@@ -9,7 +9,11 @@
<email>gentoo@holzke.net</email>
<name>Wilfried Holzke</name>
</maintainer>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
<upstream>
- <remote-id type="github">RadeonOpenCompute/ROCR-Runtime</remote-id>
+ <remote-id type="github">ROCm/ROCR-Runtime</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild
index e7a6b4f59310..c6ead573fcf6 100644
--- a/dev-libs/rocr-runtime/rocr-runtime-5.1.3-r1.ebuild
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.1.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
@@ -32,6 +32,7 @@ RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
>=dev-libs/roct-thunk-interface-${PV}
>=dev-libs/rocm-device-libs-${PV}
+ <=dev-libs/rocm-device-libs-6.0
sys-devel/clang
sys-devel/lld"
BDEPEND="app-editors/vim-core"
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
index f408d4213314..50f9fd7ddbc1 100644
--- a/dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.3.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,15 +32,13 @@ RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
>=dev-libs/roct-thunk-interface-${PV}
>=dev-libs/rocm-device-libs-${PV}
+ <=dev-libs/rocm-device-libs-6.0
sys-devel/clang
sys-devel/lld"
BDEPEND="app-editors/vim-core"
# vim-core is needed for "xxd"
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
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
index f6a8a5598f2a..7e8bc2bfae70 100644
--- a/dev-libs/rocr-runtime/rocr-runtime-5.4.3-r1.ebuild
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.4.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,15 +32,13 @@ RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
>=dev-libs/roct-thunk-interface-${PV}
>=dev-libs/rocm-device-libs-${PV}
+ <=dev-libs/rocm-device-libs-6.0
sys-devel/clang
sys-devel/lld"
BDEPEND="app-editors/vim-core"
# vim-core is needed for "xxd"
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
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild
index 4d026cf3ce50..2ba50c9ad4d9 100644
--- a/dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.5.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -32,23 +32,16 @@ RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
>=dev-libs/roct-thunk-interface-${PV}
>=dev-libs/rocm-device-libs-${PV}
+ <=dev-libs/rocm-device-libs-6.0
sys-devel/clang
sys-devel/lld"
BDEPEND="app-editors/vim-core"
# vim-core is needed for "xxd"
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
- # 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
}
diff --git a/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r3.ebuild
index b9c8b836cf33..57ea514d66ad 100644
--- a/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r1.ebuild
+++ b/dev-libs/rocr-runtime/rocr-runtime-5.7.1-r3.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
-inherit cmake flag-o-matic llvm
-
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
@@ -21,38 +21,39 @@ 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"
+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
- sys-devel/lld"
+ <=dev-libs/rocm-device-libs-6.0
+ 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() {
- # ... otherwise system llvm/clang is used ...
- sed -e "s:find_package(Clang REQUIRED HINTS \${CMAKE_INSTALL_PREFIX}/llvm \${CMAKE_PREFIX_PATH}/llvm PATHS /opt/rocm/llvm ):find_package(Clang REQUIRED HINTS /usr/lib/llvm/roc ):" -i image/blit_src/CMakeLists.txt || die
-
# Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
sed -e "s:-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() {
+ # -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.1.1.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild
new file mode 100644
index 000000000000..06778711004a
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-6.1.1.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=( 18 )
+
+inherit cmake flag-o-matic llvm-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/ROCm/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/ROCm/ROCR-Runtime"
+PATCHES=(
+ "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+ "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch"
+ "${FILESDIR}/${PN}-6.1.0-musl.patch"
+ "${FILESDIR}/${PN}-6.1.0-ld-lld.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}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}=
+ sys-devel/lld:${LLVM_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"
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/Manifest b/dev-libs/roct-thunk-interface/Manifest
index 1ca10504ee30..823065ec0e21 100644
--- a/dev-libs/roct-thunk-interface/Manifest
+++ b/dev-libs/roct-thunk-interface/Manifest
@@ -3,3 +3,4 @@ DIST roct-thunk-interface-5.3.3.tar.gz 646773 BLAKE2B 48632cad576ceccede0ee62663
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.1.1.tar.gz 666377 BLAKE2B b30d733fb769f7169e97b8a28eaa61c84205aec06b55d662d24f159a3c84190f3252f090413769e56eb621abc789fae521cb7b26d7cdac952ff1e4e120707bc9 SHA512 2c579606d2ced9f8b5e32841db745819771b7d6ce0cef90b818e3710470e30c7715540125d99ed5ea13c4e672d5af6d8ad2dd5975ef76cab7ba993d86cf74eb4
diff --git a/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-libpath.patch b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-libpath.patch
new file mode 100644
index 000000000000..1d7d73ad7a8a
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-libpath.patch
@@ -0,0 +1,13 @@
+The built hsakmt library is right under BUILD_DIR, not BUILD_DIR/lib
+===================================================================
+--- a/tests/kfdtest/CMakeLists.txt
++++ b./tests/kfdtest/CMakeLists.txt
+@@ -117,7 +117,7 @@ else()
+ endif()
+
+ if( DEFINED LIBHSAKMT_PATH )
+- set ( HSAKMT_LIBRARY_DIRS ${LIBHSAKMT_PATH}/lib )
++ set ( HSAKMT_LIBRARY_DIRS ${LIBHSAKMT_PATH}/ )
+ set ( HSAKMT_LIBRARIES hsakmt )
+ endif()
+
diff --git a/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-linklibLLVM.patch b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-linklibLLVM.patch
new file mode 100644
index 000000000000..61d8b99bf335
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-linklibLLVM.patch
@@ -0,0 +1,31 @@
+https://github.com/ROCm/ROCT-Thunk-Interface/pull/102
+From 6d7d48bb6843405aac2777388edf4c7c2a6f9dc3 Mon Sep 17 00:00:00 2001
+From: Yiyang Wu <xgreenlandforwyy@gmail.com>
+Date: Tue, 30 Apr 2024 13:35:08 +0800
+Subject: [PATCH] Allow linking libLLVM dynamic library rather than separate
+ components
+
+---
+ tests/kfdtest/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/tests/kfdtest/CMakeLists.txt b/tests/kfdtest/CMakeLists.txt
+index 9d1172e..ccad7f4 100644
+--- a/tests/kfdtest/CMakeLists.txt
++++ b/tests/kfdtest/CMakeLists.txt
+@@ -154,7 +154,11 @@ include_directories(${LLVM_INCLUDE_DIRS})
+ separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS})
+ add_definitions(${LLVM_DEFINITIONS_LIST})
+
+-llvm_map_components_to_libnames(llvm_libs AMDGPUAsmParser Core Support)
++if (LLVM_LINK_LLVM_DYLIB)
++ set(llvm_libs LLVM)
++else()
++ llvm_map_components_to_libnames(llvm_libs AMDGPUAsmParser Core Support)
++endif()
+
+ include_directories(${PROJECT_SOURCE_DIR}/gtest-1.6.0)
+ include_directories(${PROJECT_SOURCE_DIR}/include)
+--
+2.44.0
+
diff --git a/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-skipIPCtest.patch b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-skipIPCtest.patch
new file mode 100644
index 000000000000..cca728dad601
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/kfdtest-6.1.0-skipIPCtest.patch
@@ -0,0 +1,20 @@
+Issue: https://github.com/ROCm/ROCT-Thunk-Interface/issues/103
+===================================================================
+--- ROCT-Thunk-Interface-rocm-6.1.1.orig/tests/kfdtest/scripts/kfdtest.exclude
++++ ROCT-Thunk-Interface-rocm-6.1.1/tests/kfdtest/scripts/kfdtest.exclude
+@@ -63,6 +63,7 @@ PERMANENT_BLACKLIST_ALL_ASICS=\
+ # failures can be found
+ # NOTE: If you update this alphabetical listing, add the corresponding JIRA ticket for reference
+ #
++# KFDIPCTest.BasicTest are not compatible with upstream amdgpu kernel module
+ # KFDQMTest.GPUDoorbellWrite fails intermittently (KFD-318)
+ # KFDQMTest.mGPUShareBO (KFD-334)
+ # KFDHWSTest.* (SWDEV-193035)
+@@ -72,6 +73,7 @@ PERMANENT_BLACKLIST_ALL_ASICS=\
+ # KFDDBGTest.SuspendQueues (SWDEV-417850)
+ # KFDDBGTest.HitAddressWatch (SWDEV-420281)
+ TEMPORARY_BLACKLIST_ALL_ASICS=\
++"KFDIPCTest.BasicTest:"\
+ "KFDQMTest.GPUDoorbellWrite:"\
+ "KFDQMTest.mGPUShareBO:"\
+ "KFDQMTest.SdmaEventInterrupt:"\
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.1.0-visibility.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.1.0-visibility.patch
new file mode 100644
index 000000000000..d907d2f13e41
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.1.0-visibility.patch
@@ -0,0 +1,26 @@
+https://github.com/ROCm/ROCT-Thunk-Interface/pull/102
+From 8385d8795b994f31e00e651dc4f41e18d82ff968 Mon Sep 17 00:00:00 2001
+From: Yiyang Wu <xgreenlandforwyy@gmail.com>
+Date: Tue, 30 Apr 2024 15:07:12 +0800
+Subject: [PATCH] hsaKmtCheckRuntimeDebugSupport should be visible for kfdtest
+
+---
+ src/debug.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/debug.c b/src/debug.c
+index 932e829..67c32c8 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -268,7 +268,7 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtDbgAddressWatch(HSAuint32 NodeId,
+ #define HSA_RUNTIME_ENABLE_MAX_MAJOR 1
+ #define HSA_RUNTIME_ENABLE_MIN_MINOR 13
+
+-HSAKMT_STATUS hsaKmtCheckRuntimeDebugSupport(void) {
++HSAKMT_STATUS HSAKMTAPI hsaKmtCheckRuntimeDebugSupport(void) {
+ HsaNodeProperties node = {0};
+ HsaSystemProperties props = {0};
+ HsaVersionInfo versionInfo = {0};
+--
+2.44.0
+
diff --git a/dev-libs/roct-thunk-interface/metadata.xml b/dev-libs/roct-thunk-interface/metadata.xml
index 9af2c0cba14b..67fd1c7363cb 100644
--- a/dev-libs/roct-thunk-interface/metadata.xml
+++ b/dev-libs/roct-thunk-interface/metadata.xml
@@ -14,6 +14,6 @@
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
- <remote-id type="github">RadeonOpenCompute/ROCT-Thunk-Interface</remote-id>
+ <remote-id type="github">ROCm/ROCT-Thunk-Interface</remote-id>
</upstream>
</pkgmetadata>
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
index 3f391bf5d5e0..4762213b5164 100644
--- 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
@@ -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
@@ -28,7 +28,6 @@ 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
}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-r1.ebuild
index 2b6233891f0f..7e394b72543b 100644
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1.ebuild
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-5.7.1-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
@@ -26,11 +26,13 @@ BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
CMAKE_BUILD_TYPE=Release
-PATCHES=( "${FILESDIR}/${PN}-5.7.0-functions.patch" )
+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
- sed -e "s:ubuntu:gentoo:" -i CMakeLists.txt || die
cmake_src_prepare
}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.1.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.1.ebuild
new file mode 100644
index 000000000000..8f599ac5ce48
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.1.1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_SKIP_GLOBALS=1
+inherit cmake linux-info rocm
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/ROCT-Thunk-Interface/"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/ROCm/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/ROCm/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
+ x11-libs/libdrm[video_cards_amdgpu]"
+DEPEND="${RDEPEND}
+ test? ( sys-devel/llvm
+ dev-cpp/gtest )"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-musl.patch"
+ "${FILESDIR}/${PN}-6.1.0-visibility.patch"
+ "${FILESDIR}/kfdtest-6.1.0-linklibLLVM.patch"
+ "${FILESDIR}/kfdtest-6.1.0-libpath.patch"
+ "${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch"
+)
+
+test_wrapper() {
+ local S="$1"
+ shift 1
+ local CMAKE_USE_DIR="${S}"
+ local BUILD_DIR="${S}_build"
+ cd "${S}" || die
+ $@
+}
+
+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
+
+ if use test; then
+ export LIBHSAKMT_PATH="${BUILD_DIR}"
+ test_wrapper "${S}/tests/kfdtest" cmake_src_configure
+ fi
+}
+
+src_compile() {
+ cmake_src_compile
+ if use test; then
+ LIBRARY_PATH="${BUILD_DIR}" test_wrapper "${S}/tests/kfdtest" cmake_src_compile
+ fi
+}
+
+src_test() {
+ check_amdgpu
+ TESTDIR="${S}/tests/kfdtest_build/"
+ cd "${TESTDIR}" || die
+ PATH="${PATH}:${TESTDIR}" ./run_kfdtest.sh
+}
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/sentry-native/Manifest b/dev-libs/sentry-native/Manifest
index 824f11070e28..37805d6099e3 100644
--- a/dev-libs/sentry-native/Manifest
+++ b/dev-libs/sentry-native/Manifest
@@ -1,2 +1,2 @@
-DIST sentry-native-0.6.5.tar.gz 325573 BLAKE2B 6308bef5cc194c3eb8f6f30d1ee894f3d7528d31604f26d6d54cfcc1545ef561346f60c9f35e80662431ad6145cf27a4adac70255b01f230551a541fd4dae709 SHA512 0c0be06f72f53277c9a34ca6514dc96ad14b4239ee92ae65e00d45a515ce13bc314982a651c476ddbb453079ea3fc3fa0bb75cc683dce046f69f0fe1d024f32e
-DIST sentry-native-0.6.6.tar.gz 325897 BLAKE2B 0613e41aa1163c9ceb6d0aff2ad5db36d84fc0c86d3ebe9993b5e1a0ed06bcb811f0f58b20c6abfa3abbc3c2a5db655908372d439ec67412f4d152d82111509c SHA512 ee39641ee3138b92e33b29d8bfbb454f61d5ab5621d71e199be8bcbbfc220a3456372e3757a820a69c5f2ad4be474216a6b816d3e1fb483479f39ebd864a09dd
+DIST sentry-native-0.7.2.tar.gz 330431 BLAKE2B f6651d4397075d67cc1069205e38654ba6c98c64adee03c968f45b1ea2441b0954b90543585ae04c75457edbbc05df4ae0aec242e1570e2716bc8505a11f5a67 SHA512 4a086c87dda82a5109681d014f9d33535d43805f4149ad09609b81da001a7e9c9eb6850ea1b0c2c781072d76725a08341dde1e57be20b26a9ff72f4984f51e8a
+DIST sentry-native-0.7.6.tar.gz 468817 BLAKE2B 0106e9b08d12b50fdb9243d204d78cd3e91c0dc94da29d13f60d3187f29d0f29eb7665d2568f52400a9da545086e2b22193e97af2a291422a44ce9b756272ef1 SHA512 2cc24efd85203900082f69ddd2e8f01e4adb06258132f343096f959d234d52bb4da00000bed1fa31e6fc07ba5797b61bd4ae8bf9bb53bb41c4605e3ebf6b3c43
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
deleted file mode 100644
index cd54813c3528..000000000000
--- a/dev-libs/sentry-native/files/sentry-native-0.6.5_cmake-breakpad.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- 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/metadata.xml b/dev-libs/sentry-native/metadata.xml
index aecfa74c176a..5430b056836e 100644
--- a/dev-libs/sentry-native/metadata.xml
+++ b/dev-libs/sentry-native/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>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">getsentry/sentry-native</remote-id>
</upstream>
diff --git a/dev-libs/sentry-native/sentry-native-0.6.6.ebuild b/dev-libs/sentry-native/sentry-native-0.7.2.ebuild
index 1e3a691a642a..debfa4792b27 100644
--- a/dev-libs/sentry-native/sentry-native-0.6.6.ebuild
+++ b/dev-libs/sentry-native/sentry-native-0.7.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,12 +21,14 @@ RDEPEND="
dev-util/breakpad
virtual/pkgconfig
)
- curl? ( net-misc/curl )
+ curl? (
+ net-misc/curl
+ sys-libs/zlib
+ )
"
DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}"/${PN}-0.6.5_cmake-breakpad.patch
"${FILESDIR}"/${PN}-0.6.5_no-fuzz-test.patch
)
@@ -36,6 +38,7 @@ src_configure() {
-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
diff --git a/dev-libs/sentry-native/sentry-native-0.6.5-r1.ebuild b/dev-libs/sentry-native/sentry-native-0.7.6.ebuild
index 1e3a691a642a..df891d8fbfba 100644
--- a/dev-libs/sentry-native/sentry-native-0.6.5-r1.ebuild
+++ b/dev-libs/sentry-native/sentry-native-0.7.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,20 +13,19 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+breakpad +curl test"
-
RESTRICT="!test? ( test )"
RDEPEND="
- breakpad? (
- dev-util/breakpad
- virtual/pkgconfig
+ breakpad? ( dev-util/breakpad )
+ curl? (
+ net-misc/curl
+ sys-libs/zlib
)
- curl? ( net-misc/curl )
"
DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}"/${PN}-0.6.5_cmake-breakpad.patch
"${FILESDIR}"/${PN}-0.6.5_no-fuzz-test.patch
)
@@ -36,6 +35,7 @@ src_configure() {
-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
diff --git a/dev-libs/serd/Manifest b/dev-libs/serd/Manifest
index 7633e3e09524..1b427f83ba8d 100644
--- a/dev-libs/serd/Manifest
+++ b/dev-libs/serd/Manifest
@@ -1,2 +1 @@
-DIST serd-0.30.16.tar.xz 173932 BLAKE2B 0021125505bf23565a1cca24dc83eff3496fc11fe6b38dc07b68d800c7bd6a854923bc7c529161b659bd80cb7aa8c3b45e767f0841b57d4803d820e0016e2ed2 SHA512 1bc2e310027d52ea675aa261b52e89c4c1ccb622fa9fef11c874876de7821fe94672918ff58b9edcc7995daa70fc88b7ceb88fae61dd40f601285de1995b39ff
-DIST serd-0.32.0.tar.xz 168028 BLAKE2B 839440f197a7b9b4082c7a39a7f63ddcc9129aed8968ab5a52780d0b8072743c78d7ccd9d6fc0e810944e3f55661cbd11969ea0f0242d4133d1883098ca4215c SHA512 eefd5e4b371213cc77cff3ca6e67c0c460d7cd1a70e55dbac64948ab77703679ee24a446f51d6bfc229fe0cd8089d32eeaa236136cbd1162f7d2100ed2946cbc
+DIST serd-0.32.2.tar.xz 168840 BLAKE2B 5b2ad72ddced2edcb948d75e795c95dccc50ad5be4bf3100c34ead4ec43944647c4f8ff419cda2b7a005b9b69dbd6fa9a0733b2810ad95a9051df3d4253ddfe9 SHA512 052f0765a9af6883a7ef1a31bd90eea3c57d93747dfb989eeda8c4dabbf2ae7d2e868d437aa2a510243f3a535e366739fe266cf82ef0d280472868c87055d50a
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 fdcb5ebbe984..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 ~mips 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.0.ebuild b/dev-libs/serd/serd-0.32.2.ebuild
index 003085e418aa..059837225d39 100644
--- a/dev-libs/serd/serd-0.32.0.ebuild
+++ b/dev-libs/serd/serd-0.32.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,13 +11,13 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="doc test +tools"
RESTRICT="!test? ( test )"
BDEPEND="
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-python/sphinx
dev-python/sphinx-lv2-theme
dev-python/sphinxygen
diff --git a/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild b/dev-libs/serdisplib/serdisplib-2.02-r2.ebuild
index ba4565132b83..bfa265f1922f 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-2023 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 udev
DESCRIPTION="Library to drive several displays with built-in controllers or display modules"
HOMEPAGE="http://serdisplib.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/dev-libs/sexpp/Manifest b/dev-libs/sexpp/Manifest
index 35a444c64a97..fc9eda76e8ae 100644
--- a/dev-libs/sexpp/Manifest
+++ b/dev-libs/sexpp/Manifest
@@ -1 +1,2 @@
DIST sexpp-0.8.6.tar.gz 46857 BLAKE2B 5ff8eaf3ba81af243e6780604b51b43743ed7f9de6121c1de273bbbd51d42e3feed3c00357c85ccaa5e808d2e5f753f58b5f96fea38f5b50b2b2bd9ee658be74 SHA512 b2698a397ef1b161a722e1834bc62f6d2b27c403faa27d97e1e137cc7315e004252ac75bbaaf817bc705f7830cb89665bb23ba8d18904fedd6c2f01c5f1e6f0f
+DIST sexpp-0.8.8.tar.gz 71705 BLAKE2B 40038e7bc56575da6d95d3b49c87dc5734416da57d3504b7984ec0ca56d735d6380751aa257dba1a3cc4e5cbea10cdf561ddac4f847b4abe2d2294bec46554bf SHA512 27660ebf1516539ab55cfe67d7636f34ce57439626b279f42465638f64791c20debc9c7dd28e5c84afb75377365640eae8cffd9d1b1378946435478adb403fad
diff --git a/dev-libs/sexpp/sexpp-0.8.8.ebuild b/dev-libs/sexpp/sexpp-0.8.8.ebuild
new file mode 100644
index 000000000000..a4cdfb7938f6
--- /dev/null
+++ b/dev-libs/sexpp/sexpp-0.8.8.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 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_ABI_TEST=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..60d9a387258b
--- /dev/null
+++ b/dev-libs/simde/Manifest
@@ -0,0 +1 @@
+DIST simde-0.8.2.tar.gz 7468969 BLAKE2B 55824ac6d525de475285b430e96c91d7e7cdf363cb42742e55cc8b6e44e5d59d2e07d59fe37897d4bc2023fca35bd908772e01ba95681a00c8f9464dccb0f742 SHA512 4e42d7140c0afae507773527c6c0c07e6f0cdad59a1d42ebcf4bd223fc9f71e91a2e3db7746aca3c0c5ad2a13333c2322ce1e384c7d699ddfe33bed6f107aec5
diff --git a/dev-libs/simde/files/simde-0.8.2-musl.patch b/dev-libs/simde/files/simde-0.8.2-musl.patch
new file mode 100644
index 000000000000..fa1c796aec00
--- /dev/null
+++ b/dev-libs/simde/files/simde-0.8.2-musl.patch
@@ -0,0 +1,19 @@
+This workaround patch should be removable when musl implements C23
+functions (technically this isn't a __GLIBC__-only quirk, but used
+due to lack of anything known that's better beside running a build
+test for it).
+
+https://bugs.gentoo.org/926488
+https://github.com/simd-everywhere/simde/issues/1001
+--- a/simde/simde-math.h
++++ b/simde/simde-math.h
+@@ -1268,3 +1268,3 @@
+ #if \
+- ((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
++ (defined(__GLIBC__) && (!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundeven)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
+@@ -1288,3 +1288,3 @@
+ #if \
+- ((!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
++ (defined(__GLIBC__) && (!defined(HEDLEY_EMSCRIPTEN_VERSION) || HEDLEY_EMSCRIPTEN_VERSION_CHECK(3, 1, 43)) && HEDLEY_HAS_BUILTIN(__builtin_roundevenf)) || \
+ HEDLEY_GCC_VERSION_CHECK(10,0,0)
diff --git a/dev-libs/simde/metadata.xml b/dev-libs/simde/metadata.xml
new file mode 100644
index 000000000000..f92dc4d96537
--- /dev/null
+++ b/dev-libs/simde/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">simd-everywhere/simde</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/simde/simde-0.8.2.ebuild b/dev-libs/simde/simde-0.8.2.ebuild
new file mode 100644
index 000000000000..3d57056117ff
--- /dev/null
+++ b/dev-libs/simde/simde-0.8.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="Header-only library providing implementations of SIMD instruction sets"
+HOMEPAGE="https://simd-everywhere.github.io/blog/"
+SRC_URI="
+ https://github.com/simd-everywhere/simde/archive/refs/tags/v${PV/_/-}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.2-musl.patch
+)
+
+src_configure() {
+ # *FLAGS are only used for tests (nothing that is installed), and
+ # upstream tests with specific *FLAGS and is otherwise flaky with
+ # -march=native, -mno-*, and such -- unset to be spared headaches.
+ unset {C,CPP,CXX,LD}FLAGS
+
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ if use x86; then
+ # https://github.com/simd-everywhere/simde/issues/867 (bug #926706)
+ meson_src_test $(meson_src_test --list | grep -Ev '(dbsad|fpclass)')
+ else
+ meson_src_test
+ fi
+}
diff --git a/dev-libs/simdjson/Manifest b/dev-libs/simdjson/Manifest
index 37142d1fa011..718356e50168 100644
--- a/dev-libs/simdjson/Manifest
+++ b/dev-libs/simdjson/Manifest
@@ -1,5 +1,5 @@
-DIST simdjson-3.2.0.gh.tar.gz 1653237 BLAKE2B b1745b2a96d9ff9f7187329191007e63a5f0c7051fb85a97212cf06076740ca01be035858bbb66805d10ba49ff90d05961a8b77750fc0d789e8dfe5865937f0b SHA512 02723d05fe88cfc69c1ec3eef92ae9e7da169a99645992829d4e40a00edecb98e21593dc9e04aeb2959cbcdbb8f40bb464daef9eb26cf3bd344c39271f6add2e
-DIST simdjson-3.2.3.gh.tar.gz 2273010 BLAKE2B 80df73db30ba898c11b143aaf0bb1c7592092306a67690b20979e7bdbbd8b039bc51b2668110d2a6dccfe6f3cce78ef107990b6f945f68ada1ca3e2f49ad121d SHA512 20436bbb7036e1cfdd4f044e767da0b646bfeb0593b22ba2bf6d76d94733cb90a97ebe88e666a5951cb0fea839601346a52fead9562eb25975510fc5ee04c791
-DIST simdjson-3.5.0.gh.tar.gz 2296054 BLAKE2B 1434745a410d12ccf89977295a83f9cfee591f477e04b7bf00da4bce6edb5a025df0e8182514d0b9a46713dec4cc30102a403fae6dad3ee882b6038ce1eaf1d6 SHA512 bd00022fb14a5ce2c738a6363c7569ff6bda13f591376e0241a1452deed5f5ee11500275aa212a5a90b3294beae13b0f86a9a3bc41ae3d7f6099b2d142c9b7e1
DIST simdjson-3.6.3.gh.tar.gz 2302220 BLAKE2B c46eeb8a07460cc5427fc35714fd262069cd3d913732e6037d808281d0fed0e82e0423dfd16abaeb515264559fe4454c42f81211354723eb21b212decfe7834b SHA512 b9fa7e554ded4e6cbe9d70ee29aa5b582e58b8b2ada1a781e58746082bb7d31791a4e2ea8b43d9391d783e61e489554f260448029c0b7e730cc69dc44f4aa86a
+DIST simdjson-3.9.1.gh.tar.gz 2636602 BLAKE2B 82c4956ebc902574ed1b36196097c6c07e9ca0f11384f71b260ae95ff5e7c436ce016da417197f84c21ece0ae2239fc1c4e02cf63672fae98b3fa69831de3adb SHA512 b8c091e7ecce4cdc67f538ab6715ce89bff16e68f6d56bdc37e05ab0b110b90bc6b039d5c76e2dceef9e30f35cb6ace5e4e230d4c70e928329a376f989b23bed
+DIST simdjson-3.9.3.gh.tar.gz 2643869 BLAKE2B f2e0f8d13a234c7ee639a57333b66a464312a20bd67f808688f6456ded7b6bdac75d857b10207adc03e05d89e701efe874d068774a90c3082d9e83792ed784d1 SHA512 893ce0cb380b1418438f5910262325031f8071c4577589a491713f91c980964b4105c1e1aa7f2b9373deed40ecf6b48fe48a1aa243151e424f138f5418e4821c
+DIST simdjson-3.9.4.gh.tar.gz 2646588 BLAKE2B c0f0e5d6af2342d338ea7fbe033af2715e4317cd81818fca9dfcc04cb25ffe1eb08683f04d43162305d317178b14ed5f78e8ffa115ed02c7af41b8646c4eae76 SHA512 6fa940ad60b7560d1865806195428ae17f0daf19de803bdb7bd93b0704490994ec3cddc09c9d91f2e70036c6cb34153cdc5c998e7ebee2e4504f6a23944e25c1
DIST simdjson-data-a5b13babe65c1bba7186b41b43d4cbdc20a5c470.tar.gz 6635706 BLAKE2B 563376147f18d590a176a5a0398365db1a3e677b773c018f335efa7fff05ac22ac5dc37613792082a32e6c9b91a773a590f7dfd15efa5ba660f9142b128b28a7 SHA512 168198404b11b8c76ff4f53645d7b5a88a5c72b4a5b6646b4410859ec3416ae9b37fc59f7d2f014ccc785615ea5c31dc00b145dbb1a7acb701b94029dd4ea1e1
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/simdjson-3.6.3.ebuild b/dev-libs/simdjson/simdjson-3.6.3.ebuild
index b483e60dd686..a169af083a24 100644
--- a/dev-libs/simdjson/simdjson-3.6.3.ebuild
+++ b/dev-libs/simdjson/simdjson-3.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ SRC_URI="
LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
SLOT="0/19"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="+all-impls test tools"
BDEPEND="
@@ -85,7 +85,7 @@ src_configure() {
if use all-impls; then
local -a impls=("fallback")
- if use amd64 || use x86; then
+ if use amd64; then
impls+=("westmere" "haswell" "icelake")
elif use arm64; then
impls+=("arm64")
diff --git a/dev-libs/simdjson/simdjson-3.2.3.ebuild b/dev-libs/simdjson/simdjson-3.9.1.ebuild
index 33a873755541..8dc1810d9226 100644
--- a/dev-libs/simdjson/simdjson-3.2.3.ebuild
+++ b/dev-libs/simdjson/simdjson-3.9.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,8 +17,8 @@ SRC_URI="
"
LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/16"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+SLOT="0/22"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv ~x86"
IUSE="+all-impls test tools"
BDEPEND="
@@ -36,9 +36,9 @@ 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"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
)
DOCS=(
@@ -51,7 +51,8 @@ DOCS=(
src_prepare() {
if use test; then
- mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
+ 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
@@ -85,7 +86,7 @@ src_configure() {
if use all-impls; then
local -a impls=("fallback")
- if use amd64 || use x86; then
+ if use amd64; then
impls+=("westmere" "haswell" "icelake")
elif use arm64; then
impls+=("arm64")
diff --git a/dev-libs/simdjson/simdjson-3.5.0.ebuild b/dev-libs/simdjson/simdjson-3.9.3.ebuild
index fe032f0e5bc0..613f210c0376 100644
--- a/dev-libs/simdjson/simdjson-3.5.0.ebuild
+++ b/dev-libs/simdjson/simdjson-3.9.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,8 +17,8 @@ SRC_URI="
"
LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/18"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+SLOT="0/22"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="+all-impls test tools"
BDEPEND="
@@ -36,9 +36,9 @@ 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"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
)
DOCS=(
@@ -51,7 +51,8 @@ DOCS=(
src_prepare() {
if use test; then
- mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
+ 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
@@ -85,7 +86,7 @@ src_configure() {
if use all-impls; then
local -a impls=("fallback")
- if use amd64 || use x86; then
+ if use amd64; then
impls+=("westmere" "haswell" "icelake")
elif use arm64; then
impls+=("arm64")
diff --git a/dev-libs/simdjson/simdjson-3.2.0.ebuild b/dev-libs/simdjson/simdjson-3.9.4.ebuild
index c12b3fcbb648..613f210c0376 100644
--- a/dev-libs/simdjson/simdjson-3.2.0.ebuild
+++ b/dev-libs/simdjson/simdjson-3.9.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,8 +17,8 @@ SRC_URI="
"
LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/16"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+SLOT="0/22"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="+all-impls test tools"
BDEPEND="
@@ -36,9 +36,9 @@ 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"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
)
DOCS=(
@@ -51,7 +51,8 @@ DOCS=(
src_prepare() {
if use test; then
- mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/${PN}-data" || die
+ 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
@@ -85,7 +86,7 @@ src_configure() {
if use all-impls; then
local -a impls=("fallback")
- if use amd64 || use x86; then
+ if use amd64; then
impls+=("westmere" "haswell" "icelake")
elif use arm64; then
impls+=("arm64")
diff --git a/dev-libs/skalibs/Manifest b/dev-libs/skalibs/Manifest
index c8085cbc02d1..0606edda9cd9 100644
--- a/dev-libs/skalibs/Manifest
+++ b/dev-libs/skalibs/Manifest
@@ -1,3 +1,2 @@
-DIST skalibs-2.13.1.1.tar.gz 229706 BLAKE2B 299beb3136492858e1dcf221e349fde9e3ded96513b7101a55a67acb9ba51cd8ba72139c77c0ccf94948159446d3c869f185666cdc481a4159b0becf7338853a SHA512 9568c78b1a99bb183b89d0a4541fd6b2da6573215d9d58387b2cb7a439d2520f7dbb17999f5338c3e028bd425abd07230b4d12c8e3c70dfe54587b1b82af8e63
-DIST skalibs-2.14.0.0.tar.gz 235916 BLAKE2B b1e444f8afbef5cd529828ae3a31aa763208ddea35bf9f6301e9774f03c4303fa41d6929679e0b471d9ed6225015b919641564c0267d1787eab03275f479e9bb SHA512 45525cf0e573cba8100f7ccc9b6c95aa69509561c3726c95a17264f2d50410893e10ddb719d0e4481a76b7b8b6cbb42e95e68378a9f614e82fb568692a6adf66
-DIST skalibs-2.14.0.1.tar.gz 236327 BLAKE2B 6f95bfbdbb78ebf66f3b1d5bd7be2609194302d201d4e731f99feb1c9aaff459dfa4ddc4eb71e2b950b273547a4d0202cb55b348ef6e8556fe1c13133febe615 SHA512 6236b5a37209fb13fa643faf3fc71b2593168dd32be869f7d4c118b38fb37bc0728eea2bd9e9e4277d37eda81fcc85a43731934da06a7a6cf1e756b7973cd4ab
+DIST skalibs-2.14.1.1.tar.gz 237220 BLAKE2B 880f40a640e7680f847f8d9eb5e90ca472583d0badfbf233707be9bf64e2eb172543fdc9b663c99c3a5839ed58dbf7befebf9aa75820c9be9d70cd0c37959665 SHA512 01b3da7614ee626f838b62aff6fa2d4677ab5c5dfffcb3145232db9ac0b5bf70c063f4d83abdee809139fee721c75550eb997e2c3e265417b9493c98886236f9
+DIST skalibs-2.14.2.0.tar.gz 242763 BLAKE2B 5a172245ae27eeb6a41f943e285f3e40d66324a60a1190afbbb4cdbc3fbbd0cace0feac9666c02c2adddbbac477741e578d2a3d4af707799704ed8050245783b SHA512 b96491e6429cc69bc75f50be99b7b18769cb756c1a82f698994c23aefb16bc68ee5558076993b948a6674203ecd82a454a978c89f450c219cc2728d52b7f5656
diff --git a/dev-libs/skalibs/skalibs-2.13.1.1.ebuild b/dev-libs/skalibs/skalibs-2.13.1.1.ebuild
deleted file mode 100644
index a4654eafaa53..000000000000
--- a/dev-libs/skalibs/skalibs-2.13.1.1.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 ~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=(
- --datadir=/etc
- --dynlibdir="/$(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.0.1.ebuild b/dev-libs/skalibs/skalibs-2.14.1.1.ebuild
index 59cce759fedd..1740c9906c0f 100644
--- a/dev-libs/skalibs/skalibs-2.14.0.1.ebuild
+++ b/dev-libs/skalibs/skalibs-2.14.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ 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"
+KEYWORDS="~alpha amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~riscv x86"
HTML_DOCS=( doc/. )
diff --git a/dev-libs/skalibs/skalibs-2.14.0.0.ebuild b/dev-libs/skalibs/skalibs-2.14.2.0.ebuild
index 02020f97e049..1740c9906c0f 100644
--- a/dev-libs/skalibs/skalibs-2.14.0.0.ebuild
+++ b/dev-libs/skalibs/skalibs-2.14.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~riscv x86"
HTML_DOCS=( doc/. )
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-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 0c7cb8288e4b..06caaaff6513 100644
--- a/dev-libs/sord/Manifest
+++ b/dev-libs/sord/Manifest
@@ -1,2 +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-r2.ebuild b/dev-libs/sord/sord-0.16.14-r2.ebuild
deleted file mode 100644
index 5be46927a78d..000000000000
--- a/dev-libs/sord/sord-0.16.14-r2.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 ~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-doc/doxygen )
-"
-# Take care on bumps to check minimum versions!
-RDEPEND="
- >=dev-libs/serd-0.30.10[${MULTILIB_USEDEP}]
- tools? ( dev-libs/libpcre[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- # fix doc installation path
- sed -i "s/versioned_name/'${PF}'/g" doc/meson.build || die
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_feature doc docs)
- $(meson_feature test tests)
- $(meson_feature tools)
- )
-
- meson_src_configure
-}
-
-multilib_src_install_all() {
- local DOCS=( AUTHORS NEWS README.md )
- einstalldocs
-}
diff --git a/dev-libs/sord/sord-0.16.16-r1.ebuild b/dev-libs/sord/sord-0.16.16-r1.ebuild
index c737fb1e29db..b8de1f60d321 100644
--- a/dev-libs/sord/sord-0.16.16-r1.ebuild
+++ b/dev-libs/sord/sord-0.16.16-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,7 @@ 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 ~mips ~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"
@@ -24,7 +24,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-python/sphinx
dev-python/sphinx-lv2-theme
dev-python/sphinxygen
diff --git a/dev-libs/sord/sord-9999.ebuild b/dev-libs/sord/sord-9999.ebuild
index c737fb1e29db..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
@@ -24,7 +24,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-python/sphinx
dev-python/sphinx-lv2-theme
dev-python/sphinxygen
diff --git a/dev-libs/spdlog/Manifest b/dev-libs/spdlog/Manifest
index f5f8e34fd5a9..7d6b55415abc 100644
--- a/dev-libs/spdlog/Manifest
+++ b/dev-libs/spdlog/Manifest
@@ -1,2 +1,3 @@
-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
+DIST spdlog-1.14.1.tar.gz 270896 BLAKE2B 70ac5142acfd765c649f2e34286bae3b5082db284dd1ca7c3d7424a53dd658f7d308bef0b5e0c89192fc3931f1fe5efdba91e460c7b3df836dffc22b66f821fa SHA512 d8f36a3d65a43d8c64900e46137827aadb05559948b2f5a389bea16ed1bfac07d113ee11cf47970913298d6c37400355fe6895cda8fa6dcf6abd9da0d8f199e9
diff --git a/dev-libs/spdlog/files/spdlog-fmt-10.patch b/dev-libs/spdlog/files/spdlog-fmt-10.patch
deleted file mode 100644
index 5ee44c41ea6a..000000000000
--- a/dev-libs/spdlog/files/spdlog-fmt-10.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-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
deleted file mode 100644
index cd1240d36f46..000000000000
--- a/dev-libs/spdlog/files/spdlog-musl-1.2.4.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://bugs.gentoo.org/906954
-https://github.com/gabime/spdlog/commit/287a00d364990edbb621fe5e392aeb550135fb96
-
-From 287a00d364990edbb621fe5e392aeb550135fb96 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 3 Jan 2023 09:54:50 -0800
-Subject: [PATCH] Do not use LFS64 functions on linux/musl (#2589)
-
-On musl, off_t is 64bit always ( even on 32bit platforms ), therefore
-using LFS64 funcitons is not needed on such platforms. Moreover, musl
-has stopped providing aliases for these functions [1] which means it
-wont compile on newer musl systems. Therefore only use it on 32bit
-glibc/linux platforms and exclude musl like cygwin or OSX
-
-[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/include/spdlog/details/os-inl.h
-+++ b/include/spdlog/details/os-inl.h
-@@ -236,8 +236,8 @@ SPDLOG_INLINE size_t filesize(FILE *f)
- # else
- int fd = ::fileno(f);
- # endif
--// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
--# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
-+// 64 bits(but not in osx, linux/musl or cygwin, where fstat64 is deprecated)
-+# if ((defined(__linux__) && defined(__GLIBC__)) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
- struct stat64 st;
- if (::fstat64(fd, &st) == 0)
- {
-
diff --git a/dev-libs/spdlog/metadata.xml b/dev-libs/spdlog/metadata.xml
index b07153ebc2ef..ad30e5ed64da 100644
--- a/dev-libs/spdlog/metadata.xml
+++ b/dev-libs/spdlog/metadata.xml
@@ -5,6 +5,10 @@
<email>davidroman96@gmail.com</email>
<name>David Roman</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>gonegrier.duarte@gmail.com</email>
+ <name>Gonçalo Negrier Duarte</name>
+ </maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
diff --git a/dev-libs/spdlog/spdlog-1.12.0-r2.ebuild b/dev-libs/spdlog/spdlog-1.12.0-r2.ebuild
index 420571283d0b..7c8d0692cb59 100644
--- a/dev-libs/spdlog/spdlog-1.12.0-r2.ebuild
+++ b/dev-libs/spdlog/spdlog-1.12.0-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
@@ -13,7 +13,7 @@ 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
fi
LICENSE="MIT"
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-r2.ebuild b/dev-libs/spdlog/spdlog-1.13.0-r2.ebuild
new file mode 100644
index 000000000000..3ece901957d2
--- /dev/null
+++ b/dev-libs/spdlog/spdlog-1.13.0-r2.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-9.1.0-r2[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-force_external_fmt.patch"
+)
+
+multilib_src_prepare() {
+ cmake_src_prepare
+ rm -r include/spdlog/fmt/bundled || die "Failed to delete bundled libfmt"
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DSPDLOG_BUILD_BENCH=no
+ -DSPDLOG_BUILD_EXAMPLE=no
+ -DSPDLOG_FMT_EXTERNAL=yes
+ -DSPDLOG_BUILD_SHARED=$(usex static-libs)
+ -DSPDLOG_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/spdlog/spdlog-1.11.0-r3.ebuild b/dev-libs/spdlog/spdlog-1.14.1.ebuild
index a513025d8d54..df8bbe09c730 100644
--- a/dev-libs/spdlog/spdlog-1.11.0-r3.ebuild
+++ b/dev-libs/spdlog/spdlog-1.14.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake-multilib
DESCRIPTION="Fast C++ logging library"
HOMEPAGE="https://github.com/gabime/spdlog"
@@ -13,41 +13,40 @@ 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 ~loong 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
+ dev-libs/libfmt:=[${MULTILIB_USEDEP}]
"
-
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-force_external_fmt.patch"
- "${FILESDIR}/${PN}-fmt-10.patch"
- "${FILESDIR}/${PN}-musl-1.2.4.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/spdlog/spdlog-9999.ebuild b/dev-libs/spdlog/spdlog-9999.ebuild
index 55c4ac137dc1..3ece901957d2 100644
--- a/dev-libs/spdlog/spdlog-9999.ebuild
+++ b/dev-libs/spdlog/spdlog-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=8
-inherit cmake
+inherit cmake-multilib
DESCRIPTION="Fast C++ logging library"
HOMEPAGE="https://github.com/gabime/spdlog"
@@ -13,20 +13,22 @@ 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 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ 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"
+IUSE="test static-libs"
RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
- test? ( dev-cpp/catch:0 )
+ test? (
+ >=dev-cpp/catch-3.4.0
+ )
"
DEPEND="
- >=dev-libs/libfmt-8.0.0:=
+ >=dev-libs/libfmt-9.1.0-r2[${MULTILIB_USEDEP}]
"
RDEPEND="${DEPEND}"
@@ -34,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 e5514e797709..c4545cea9598 100644
--- a/dev-libs/starpu/metadata.xml
+++ b/dev-libs/starpu/metadata.xml
@@ -12,9 +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>
</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 56f8eea1c283..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -30,13 +30,13 @@ RDEPEND="
mpi? ( virtual/mpi )
opencl? ( virtual/opencl )
opengl? ( media-libs/freeglut:0= )
- valgrind? ( dev-util/valgrind )
+ valgrind? ( dev-debug/valgrind )
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen virtual/latex-base )
+ doc? ( app-text/doxygen virtual/latex-base )
test? ( gcc-plugin? ( dev-scheme/guile ) )
"
diff --git a/dev-libs/starpu/starpu-1.3.9.ebuild b/dev-libs/starpu/starpu-1.3.9.ebuild
index 546f827d6087..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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -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-20240201-r1.ebuild
index 17561e11cde8..b69f24538402 100644
--- a/dev-libs/stb/stb-20200713.ebuild
+++ b/dev-libs/stb/stb-20240201-r1.ebuild
@@ -1,34 +1,41 @@
-# 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
# There are no official releases
-CHECKSUM="b42009b3b9d4ca35bc703f5310eedc74f584be58"
+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"
-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
+ 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/template-glib/Manifest b/dev-libs/template-glib/Manifest
index 7ec45bbffbce..f9e0eafff4e0 100644
--- a/dev-libs/template-glib/Manifest
+++ b/dev-libs/template-glib/Manifest
@@ -1 +1 @@
-DIST template-glib-3.36.1.tar.xz 64580 BLAKE2B 3dbedb59c769ec169d469ae6640d9319c8d3ec09aa91cadc4be64290401f36b83e514c0dc8c03fb0eddefef0ddc0a717fdbad12e67c9aaf6d4b291b00b289d02 SHA512 7c00d750f7d58e98f2d6c9baa6fa84efde1cce2eaacfb334ef0ee19d0583373d303d67d43cc290cd1a41239f2ee804077e104bb4799b70cfd6760ac3fb04178e
+DIST template-glib-3.36.2.tar.xz 64832 BLAKE2B 63d413b8474ea641cb8ad3eecc69f4fefbb1b3d5b9a3ec1bc4dd7ddd3526ca3c8599bf811041df6685daa868ff5c302d650b1fc956a441a5d2b80adc069453ae SHA512 226247151c932931a3c5c0f2278929ab6e6e82edbcab10dead5723ee4b8ef5c6d12775491b1aed7e7ccfee8b794be69a8c457e6639a63fdfc2b6e41d7efc2bee
diff --git a/dev-libs/template-glib/template-glib-3.36.1.ebuild b/dev-libs/template-glib/template-glib-3.36.2.ebuild
index 9c669f09e590..52a0c01b99f1 100644
--- a/dev-libs/template-glib/template-glib-3.36.1.ebuild
+++ b/dev-libs/template-glib/template-glib-3.36.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,8 +24,8 @@ DEPEND="${RDEPEND}"
BDEPEND="
vala? ( $(vala_depend) )
dev-util/glib-utils
- sys-devel/bison
- sys-devel/flex
+ app-alternatives/yacc
+ app-alternatives/lex
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
gtk-doc? ( dev-util/gtk-doc )
diff --git a/dev-libs/thrift/Manifest b/dev-libs/thrift/Manifest
index 2d2ae1450f40..88cdbc2d6cce 100644
--- a/dev-libs/thrift/Manifest
+++ b/dev-libs/thrift/Manifest
@@ -1,2 +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/thrift-0.16.0-r2.ebuild b/dev-libs/thrift/thrift-0.16.0-r2.ebuild
index 7bf8c1b1518b..cc8bf3357944 100644
--- a/dev-libs/thrift/thrift-0.16.0-r2.ebuild
+++ b/dev-libs/thrift/thrift-0.16.0-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0/0"
-KEYWORDS="amd64 ~arm64"
+KEYWORDS="amd64 ~arm64 ppc64"
IUSE="libevent lua +ssl test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/thrift/thrift-0.18.1-r1.ebuild b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
index 47609a5fcbe4..e7fbc703524a 100644
--- a/dev-libs/thrift/thrift-0.18.1-r1.ebuild
+++ b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0/0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
IUSE="libevent lua +ssl test"
RESTRICT="!test? ( test )"
@@ -24,8 +24,8 @@ DEPEND="
"
RDEPEND="${DEPEND}"
BDEPEND="
- sys-devel/flex
- sys-devel/bison
+ app-alternatives/lex
+ app-alternatives/yacc
"
REQUIRED_USE="
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/tinyxml-2.6.2-r4.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
index 40b484dd5eac..3c1d6e51237d 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
@@ -7,14 +7,14 @@ 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"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV//./_}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="debug doc static-libs +stl"
-BDEPEND="doc? ( app-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
index 09dba11568e8..4852caef55ee 100644
--- a/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-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
@@ -7,14 +7,14 @@ 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"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV//./_}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="debug doc static-libs +stl"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
S="${WORKDIR}/${PN}"
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/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 628efc0dcde4..4623fa9dfdd3 100644
--- a/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild
+++ b/dev-libs/tinyxml2/tinyxml2-9.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ 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 )"
diff --git a/dev-libs/tllist/tllist-1.1.0.ebuild b/dev-libs/tllist/tllist-1.1.0.ebuild
index c47543aabc54..facaeaaf4c59 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-2023 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/files/tlsh-4.8.2-big-endian.patch b/dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch
new file mode 100644
index 000000000000..0c9b859f2a34
--- /dev/null
+++ b/dev-libs/tlsh/files/tlsh-4.8.2-big-endian.patch
@@ -0,0 +1,15 @@
+__SPARC is defined on big endian platforms to fix bug 861710, but upstream
+disables use of default linkage visibility on SPARC systems. This causes
+symbols to not be exported, causing issues such as bug 934445.
+
+--- tlsh-4.8.2/include/tlsh.h.old 2021-09-09 05:56:28.000000000 +0000
++++ tlsh-4.8.2/include/tlsh.h 2024-06-17 05:48:17.206665205 +0000
+@@ -110,7 +110,7 @@
+ // #include <WinFunctions.h>
+ #define TLSH_API
+ #else
+- #if defined(__SPARC) || defined(_AS_MK_OS_RH73)
++ #if defined(_AS_MK_OS_RH73)
+ #define TLSH_API
+ #else
+ #define TLSH_API __attribute__ ((visibility("default")))
diff --git a/dev-libs/tlsh/tlsh-4.8.2-r2.ebuild b/dev-libs/tlsh/tlsh-4.8.2-r2.ebuild
new file mode 100644
index 000000000000..a6fbd70ae4c4
--- /dev/null
+++ b/dev-libs/tlsh/tlsh-4.8.2-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_IN_SOURCE_BUILD=1
+inherit cmake toolchain-funcs flag-o-matic
+
+DESCRIPTION="Fuzzy matching library"
+HOMEPAGE="https://github.com/trendmicro/tlsh"
+SRC_URI="https://github.com/trendmicro/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-big-endian.patch
+ "${FILESDIR}"/${P}-gnuinstalldirs.patch
+ "${FILESDIR}"/${P}-respect-flags.patch
+)
+
+src_prepare() {
+ # https://github.com/trendmicro/tlsh/issues/131
+ [[ "$(tc-endian)" == "big" ]] && append-flags "-D__SPARC"
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DTLSH_CHECKSUM_1B=1
+ -DTLSH_SHARED_LIBRARY=1
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ find "${ED}" -name '*.a' -delete || die # Remove the static lib
+}
diff --git a/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild
index bbd30e67b8f7..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-2023 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="Unlicense"
SLOT="0/1"
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.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
index 99a530f0613a..e0c1d14df6fc 100644
--- 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-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
@@ -38,6 +38,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PV}-plparser-Fix-uninitialized-variable-error.patch
+ "${FILESDIR}"/${PV}-c99.patch
)
src_prepare() {
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 06fb94e53c49..e3e624a817b4 100644
--- a/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
+++ b/dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild
@@ -1,11 +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
DISTUTILS_USE_PEP517=setuptools
COMMIT="6092368aabdd0dbb0fbceb2766a37b98e0ff6911"
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1
diff --git a/dev-libs/tree-sitter-bash/Manifest b/dev-libs/tree-sitter-bash/Manifest
index b2721476c915..a9d7f4e84baa 100644
--- a/dev-libs/tree-sitter-bash/Manifest
+++ b/dev-libs/tree-sitter-bash/Manifest
@@ -1,4 +1,4 @@
DIST tree-sitter-bash-0.19.0.tar.gz 187286 BLAKE2B 8812a593366a65a9cae3eaac5bb81c71e95f4abe8558a01b908333e471f05714b1c768b71e66d3890d1e63202819290813e499a5e8ba49e72bb466b9b0f245f8 SHA512 62bc8bc25c999f9c79632bd6b236edd21ef15b14365dd1a956237b11a32f5e60a2f420ec67b60d46203699b7841d4bc10978fc0307d0c4013b376c6c024d89ae
-DIST tree-sitter-bash-0.20.3.tar.gz 334446 BLAKE2B e33f841e48458a63e6e084f66a251c6847c004140a1b727752452d031d240756068f5188d1bd90c4194aaf51d040187f3995636673210bc5f93f2ed50ff73a97 SHA512 558a8eef4a04e786c43bef0dd24f022619b77faffdd5788ef47ba28f133d5a55df144169503343cdb46ac4ed66deb36ca483b963e3eb686da30c324c65c9eac3
-DIST tree-sitter-bash-0.20.3_p20230921.tar.gz 442105 BLAKE2B c7755e38488544e4c3f6b02191417e9a1a8be08dcef9391e37e201e8b4d6d10155f3e9f0c67b3ecfbae529a538117ed4e55245144f8f0ed1ac53042accb0bb1c SHA512 c6546e207a4a58acd53407eb3ff67fe4352cbccd8147860c3d679feab709216d6d1d1efe813df2c8fa2d3f2469545a453834d0d319c0584fd8e11589302e4dd5
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 1fffc5c7ee44..235b9835b8f9 100644
--- a/dev-libs/tree-sitter-bash/metadata.xml
+++ b/dev-libs/tree-sitter-bash/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<maintainer type="project">
<email>pkgcore@gentoo.org</email>
<name>Pkgcore</name>
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
index c4ca2d385d57..8d2e42a385d4 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,4 +15,3 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc
# 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"
-S="${WORKDIR}"/${PN}-${PV}/src
diff --git a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.3.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild
index e85879ef93cb..fa2574fde717 100644
--- a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.3.ebuild
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.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
@@ -10,4 +10,4 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
diff --git a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.3_p20230921.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild
index edaa7b13cf13..c9c0cd8e9ce5 100644
--- a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.3_p20230921.ebuild
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-TS_PV="fd4e40dab883d6456da4d847de8321aee9c80805"
+TS_BINDINGS=( python )
inherit tree-sitter-grammar
@@ -12,4 +12,4 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
diff --git a/dev-libs/tree-sitter-c-sharp/Manifest b/dev-libs/tree-sitter-c-sharp/Manifest
index b1da3146b0bb..e8c40083b407 100644
--- a/dev-libs/tree-sitter-c-sharp/Manifest
+++ b/dev-libs/tree-sitter-c-sharp/Manifest
@@ -1,2 +1,3 @@
DIST tree-sitter-c-sharp-0.19.1.tar.gz 842687 BLAKE2B 741a6be6052d739b9aa066adce84b492aa48726653a03e7b58bfc6b5e35d6b928b02deb32b568500a156466d39fd430abe1a452d24213ca4f999d01ddc081bd6 SHA512 74b91086d2aeaba5be7932cc2a479040291db754bdca46bd59cb3af8e42b38e9113d99de3b88d4c1dc41227e2e84ee18715a01709af72c374f0b6c8f36cd94eb
DIST tree-sitter-c-sharp-0.20.0.tar.gz 1050470 BLAKE2B 2ee76331cffcc60729537a72c0e9e9d1fd65ff9292724371354085c1eec03769b1664a09dc75bfd2abdd16b4ef2c12006bec3acfe7b4f31fd59afab1b8167cee SHA512 31530ff57d02b84c8e7e7183abb927c40839500afc225cfdbe685495962c3f129ea459efaf73abbb76951bfc14b890cbdfa9a847b3ae92c8db495d173d0e0e08
+DIST tree-sitter-c-sharp-0.21.1.tar.gz 1576411 BLAKE2B c89cd47c93ff96a01fdcf5d55971bb49326ec4cb4f37438247f0c5a0a7a083e62265f07fdb3a6b7d18f2ac13e8afa5705a5092cf7ff90f92f8fa0b9d9073a3e3 SHA512 43fe2c31ae73efff91af15d40f9b3d4b468c5b118de7b029c5c2338885bc27fedca21fe6361700012a1d5c80ff7426ef9ce2f7226da44be8302d727858e7aebb
diff --git a/dev-libs/tree-sitter-c-sharp/metadata.xml b/dev-libs/tree-sitter-c-sharp/metadata.xml
index 02f666e7b8e9..8c1015811722 100644
--- a/dev-libs/tree-sitter-c-sharp/metadata.xml
+++ b/dev-libs/tree-sitter-c-sharp/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.21.1.ebuild b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.21.1.ebuild
new file mode 100644
index 000000000000..fbd2d6dfe6ac
--- /dev/null
+++ b/dev-libs/tree-sitter-c-sharp/tree-sitter-c-sharp-0.21.1.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="C# grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c-sharp"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-c/Manifest b/dev-libs/tree-sitter-c/Manifest
index 3ace49a61836..bee156c91aa2 100644
--- a/dev-libs/tree-sitter-c/Manifest
+++ b/dev-libs/tree-sitter-c/Manifest
@@ -1,2 +1,5 @@
-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
+DIST tree-sitter-c-0.21.1.tar.gz 367056 BLAKE2B 062bfcc3c5a8a2db00423592186ca8b4d0928bdcd00bcd086386cffa4ce906c3ad098725f2e3632f941c47ddc8a21015ccfc9d5e3547399582d4932c4ae4b640 SHA512 d8eee9ee78434809068f7030e9f5c27d425d746b877d70b0f7680b4349577a155b13a03bdf9e4c37e927af33a0d4e4d14672ab5fd86a27bfe1fc18b300eb5fcd
+DIST tree-sitter-c-0.21.4.tar.gz 362462 BLAKE2B d3c37bc04e344df7b13d06e941cdc3d0dc6fa871ad02c090fb786086cd561429cb439335a7ea2745746b4e0e4ba938ed07e8fccb9313a2af0cee63b18dd89bb4 SHA512 941117c22b2a1dd46b7e8a9a0552fc3d28d21c22c44687dc67487ab7b136f8f5fcb05c8dc1429e4c56f619c52f7496ba6e07280751e49d8c5e2d36e2a807e19b
diff --git a/dev-libs/tree-sitter-c/metadata.xml b/dev-libs/tree-sitter-c/metadata.xml
index fb0cac7dd1c4..059745844900 100644
--- a/dev-libs/tree-sitter-c/metadata.xml
+++ b/dev-libs/tree-sitter-c/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-c</remote-id>
</upstream>
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
index 5aa5533817ab..2a9f71629a50 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-c"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+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.20.2.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild
index 9037756ab61b..7acbae161e6d 100644
--- a/dev-libs/tree-sitter-c/tree-sitter-c-0.20.2.ebuild
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.0.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+TS_BINDINGS=( python )
+
inherit tree-sitter-grammar
DESCRIPTION="C grammar for Tree-sitter"
diff --git a/dev-libs/tree-sitter-c/tree-sitter-c-0.21.1.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.1.ebuild
new file mode 100644
index 000000000000..7acbae161e6d
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.1.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-c/tree-sitter-c-0.21.4.ebuild b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.4.ebuild
new file mode 100644
index 000000000000..f589df316253
--- /dev/null
+++ b/dev-libs/tree-sitter-c/tree-sitter-c-0.21.4.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/tree-sitter-cmake-0.4.1.ebuild b/dev-libs/tree-sitter-cmake/tree-sitter-cmake-0.4.1.ebuild
index 513baef93b10..36381cc394d0 100644
--- 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
@@ -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,4 +11,4 @@ SRC_URI="https://github.com/uyha/tree-sitter-cmake/archive/v${PV}.tar.gz -> ${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-cpp/Manifest b/dev-libs/tree-sitter-cpp/Manifest
index 60fdd43c7ad2..2c0fb8d16747 100644
--- a/dev-libs/tree-sitter-cpp/Manifest
+++ b/dev-libs/tree-sitter-cpp/Manifest
@@ -1,3 +1,5 @@
-DIST tree-sitter-cpp-0.20.0.tar.gz 504679 BLAKE2B 654f72f7a56a66dccf437ba5a2b2b5f627358ae58aeaafe9a507e0876443937d42b244ddb34b8a72a6723c28e6c10c95851b1fdb2775b3080c344426c0386e4d SHA512 c97d02c8250c93721ed5b951c97cdb1cf6558e20cbef353a33c9937f6b3116e328bbdd4e9e7a70a23dba3e144cbd6318e37ebbb9b6345ac085c62100d09ff34d
-DIST tree-sitter-cpp-0.20.0_p20230410.tar.gz 715821 BLAKE2B fa867ce4e16dd1044007cf366bc711a6eb85dd6fee11796aa32d9bcee4ffbec3b83b7cd56333d5d79c3eb5e6f6e966291626d6edbb7660aed4b4e144caa18e60 SHA512 0d48722962909a708eec0c401e08f71f9eb3e742dc6bbdb0cfc9cb2b31c187b222866f279346de68726811db461f12fa6b1453bafe49d64f6c340a94a6a7abe6
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
+DIST tree-sitter-cpp-0.22.2.tar.gz 1064580 BLAKE2B c51d848f27eb7aaee9e23da6ff375eec9da0fc17c0ce6dd7b128003703a37cbdc8e66664558892629da76a5889a60f77988fa1846e45085441da69f6ab62a833 SHA512 33a885e43ad578697087ffc6af35366f9a7ad8d46e9b10fa3190bb02368d978fa432d56a5e1d8e66858fa6c79f5ff614b1cd2bbefd58eef2532bf88988c14373
diff --git a/dev-libs/tree-sitter-cpp/metadata.xml b/dev-libs/tree-sitter-cpp/metadata.xml
index 98219c3cf694..228d9fc8204b 100644
--- a/dev-libs/tree-sitter-cpp/metadata.xml
+++ b/dev-libs/tree-sitter-cpp/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-cpp</remote-id>
</upstream>
diff --git a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0_p20230410.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0_p20230410.ebuild
deleted file mode 100644
index 7b755f216577..000000000000
--- a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0_p20230410.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 tree-sitter-grammar
-
-# Upstream has not created a release in a while, and there have been
-# some changes that fix weirdness with Emacs tree-sitter-mode.
-GIT_COMMIT="0b6d0eb9abdf7cea31961cd903eeed5bbd0aae74"
-
-DESCRIPTION="C++ grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
-SRC_URI="https://github.com/tree-sitter/${PN}/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${GIT_COMMIT}/src
-
-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.3.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.3.ebuild
index 57119f7c66b2..18804881eaed 100644
--- 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
@@ -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 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-cpp"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+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.20.0.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.0.ebuild
index 654df3497df3..18804881eaed 100644
--- a/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.20.0.ebuild
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.21.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://github.com/tree-sitter/tree-sitter-cpp"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+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..40d03e0e7ae2
--- /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-cpp/tree-sitter-cpp-0.22.2.ebuild b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.2.ebuild
new file mode 100644
index 000000000000..011d04ce711e
--- /dev/null
+++ b/dev-libs/tree-sitter-cpp/tree-sitter-cpp-0.22.2.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 013ca3062931..020fecc893b6 100644
--- a/dev-libs/tree-sitter-css/Manifest
+++ b/dev-libs/tree-sitter-css/Manifest
@@ -1,2 +1,2 @@
-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
+DIST tree-sitter-css-0.21.0.tar.gz 114817 BLAKE2B 6a1acfd884e764903155fae31921fccd878ed858f73eae799d25c603c7740aaa908b5d746f66c429940c55818c279bba21ded5638999c7c96229f4adbbfd8d6e SHA512 2f653e74293516d950ced883ece1ed3f6ceb7e895e54207a561c3ae61e63284a4001ae138aaf75afb46fc2efe8e50e3e551c469cd7f675f8cfcc3415e89d07d0
diff --git a/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch b/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch
new file mode 100644
index 000000000000..bbcec7e47e23
--- /dev/null
+++ b/dev-libs/tree-sitter-css/files/tree-sitter-css-0.20.0-test-selector.patch
@@ -0,0 +1,14 @@
+https://bugs.gentoo.org/928010
+https://github.com/tree-sitter/tree-sitter-css/issues/47
+https://github.com/tree-sitter/tree-sitter/issues/3238
+--- a/test/corpus/selectors.txt
++++ b/test/corpus/selectors.txt
+@@ -102,7 +102,7 @@ a::first-line {}
+ (block)))
+
+ =========================
+-::slotted pseudo element
++slotted pseudo element
+ =========================
+
+ ::slotted(button) {}
diff --git a/dev-libs/tree-sitter-css/metadata.xml b/dev-libs/tree-sitter-css/metadata.xml
index 4a2ac735d1ee..c476f44541b9 100644
--- a/dev-libs/tree-sitter-css/metadata.xml
+++ b/dev-libs/tree-sitter-css/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-css</remote-id>
</upstream>
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
index 81609be65207..632f1a55a2fa 100644
--- 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
@@ -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,4 +10,10 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-css"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
+
+PATCHES=(
+ # https://bugs.gentoo.org/928010
+ # Test name beginning with :: is incompatible with tree-sitter >0.22
+ "${FILESDIR}"/${PN}-0.20.0-test-selector.patch
+)
diff --git a/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild b/dev-libs/tree-sitter-css/tree-sitter-css-0.21.0.ebuild
index db311c39a97c..632f1a55a2fa 100644
--- a/dev-libs/tree-sitter-css/tree-sitter-css-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-css/tree-sitter-css-0.21.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,3 +11,9 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-css"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64"
+
+PATCHES=(
+ # https://bugs.gentoo.org/928010
+ # Test name beginning with :: is incompatible with tree-sitter >0.22
+ "${FILESDIR}"/${PN}-0.20.0-test-selector.patch
+)
diff --git a/dev-libs/tree-sitter-embedded-template/metadata.xml b/dev-libs/tree-sitter-embedded-template/metadata.xml
index 95926c8ae18e..f00b76a8a298 100644
--- a/dev-libs/tree-sitter-embedded-template/metadata.xml
+++ b/dev-libs/tree-sitter-embedded-template/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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 5e4d96e64955..939f1d87e1d4 100644
--- a/dev-libs/tree-sitter-go/Manifest
+++ b/dev-libs/tree-sitter-go/Manifest
@@ -1,2 +1,2 @@
-DIST tree-sitter-go-0.19.1.tar.gz 160180 BLAKE2B f92bbb342eae3a7705dbd6f6564a16fdbad1a25c405970bca1e8df01ff6d0c20b45f9849a0d13d53e2f56d95b71db0f7813765f64e0dcdfd9ca617d1f71e688d SHA512 8390dd3e39daa42ec5254b4c6c0b15fec0caa7ae64a9ec3b9116a10f9e9f1b6940cd88c8cf14dc50b28b97ea588ff302ebd16f3c88e0bd6983e76b5526a31b45
DIST tree-sitter-go-0.20.0-2.tar.gz 195753 BLAKE2B eca2965c0d7bba3c639e092845ac98d05936e9d87290dca2a283dcd6afb1151f8d63aba907337fee79e9fd9b0d901edfda62ec936ef948f57dc663c9d906715b SHA512 ff438a6c84454f38cdefe506f5da787007cb50b3d41bcb9c7f26ed7d951a3268e6bf0b32f2e750d0e4233516c1e4a827c24af831020f81f268fe825adcd5f836
+DIST tree-sitter-go-0.21.0.tar.gz 210048 BLAKE2B 3589922c610d6a8f32fb753cb91f2c925a2bd4d63dc5b32cc37bb7723b7b6eb7339135cc2dd1629c6aa42684c4fe376dd1364bd928fc8c48100471203b68b627 SHA512 c12725c85ab6836fc6554edc64bc2f005d62e45c3d69d07811138cd09d29635399f70ba5837ead05f5827a327a1666bb4134475c99e2f8da81bd3412e4946a59
diff --git a/dev-libs/tree-sitter-go/metadata.xml b/dev-libs/tree-sitter-go/metadata.xml
index a57a99683ab0..afdfefc3792c 100644
--- a/dev-libs/tree-sitter-go/metadata.xml
+++ b/dev-libs/tree-sitter-go/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-go</remote-id>
</upstream>
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
index 3aaeb75e3d6d..1d5e61986362 100644
--- 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
@@ -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,9 +10,8 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+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"
-S="${WORKDIR}"/${PN}-${PV}/src
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.21.0.ebuild
index 4193e530e8c5..93b08dfb8456 100644
--- a/dev-libs/tree-sitter-go/tree-sitter-go-0.19.1.ebuild
+++ b/dev-libs/tree-sitter-go/tree-sitter-go-0.21.0.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 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"
@@ -11,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-go"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-haskell/Manifest b/dev-libs/tree-sitter-haskell/Manifest
index 2efa7e45c361..c31f35b4a5f5 100644
--- a/dev-libs/tree-sitter-haskell/Manifest
+++ b/dev-libs/tree-sitter-haskell/Manifest
@@ -1 +1,2 @@
DIST tree-sitter-haskell-0.13.0_p20211114.tar.gz 834925 BLAKE2B d7cadc960ddb49efa6c439dfc13b674d398a4576fb85fd5ef12b4015049fd629722fe0d2788ab4c0052f1a3a6baa9fe5de925d86f7098495429190871340823b SHA512 db3f2ddd20195521a5a03d6ecf1305dc222343ba54ebdabf0cc68db680553908ce6d0ccba4fdcf9073e4f5187b2a6fae6364bda935167ca8d4e421500a86fdfa
+DIST tree-sitter-haskell-0.15.0.tar.gz 1574593 BLAKE2B 47559f768d3c03da63d74b02aba9cb788a1f20223187d2ba67730b3cf2921036ccf9f3df22d82a958adb1b46022f76f148dd251f7fe0483e482bd877d789a9bf SHA512 22368c46cd6e0652ed717c954b55f582125489a410bfe17027b7d0d0d7854789c342140e4908080ad5bd177e14ded928215daf514b7954bc6a31ab7fa19016f0
diff --git a/dev-libs/tree-sitter-haskell/metadata.xml b/dev-libs/tree-sitter-haskell/metadata.xml
index babe5b02aa10..40a6a6b1fa09 100644
--- a/dev-libs/tree-sitter-haskell/metadata.xml
+++ b/dev-libs/tree-sitter-haskell/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild
new file mode 100644
index 000000000000..48de3a1e6531
--- /dev/null
+++ b/dev-libs/tree-sitter-haskell/tree-sitter-haskell-0.15.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Haskell grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-haskell"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-html/Manifest b/dev-libs/tree-sitter-html/Manifest
index db1836e41c70..53427fc68a48 100644
--- a/dev-libs/tree-sitter-html/Manifest
+++ b/dev-libs/tree-sitter-html/Manifest
@@ -1 +1,3 @@
DIST tree-sitter-html-0.19.0.tar.gz 18785 BLAKE2B 40a2f8a1b4d9943ed15003073e8499fb58aea00979359f793c30c4e7d431905620c20f8e77286a56dbc040642081effa61a7ed9fdd3d61d44bfadfb327793ed1 SHA512 7816e5f4e74c7a64a4fb715000123f5350dc3c6ebfbf5d71ea6dd660cd58a7b4327413ef3e8efa8c177c7308f43bb8b4d60fddbcf518a99841148a37aba95b71
+DIST tree-sitter-html-0.20.2.tar.gz 28880 BLAKE2B 0c17bb4a29174535cc0789221b631889122bc89e9a3883d53501acadade7723bafd15aae8373fb9c6135c0fea485202ea68ec45a855e21c2d7b7eda3fe0e0c58 SHA512 4ebdc4cdff525e54d774bde6b53ced5d8d0e2fea5cd54f006c39354544752856c520ce7b53eb268b6ef60185236102b8003b5de389fdb85454126b6ee689bb61
+DIST tree-sitter-html-0.20.3.tar.gz 45084 BLAKE2B fca267fca9ddfb0651b1e596f422d9093852e0b06391f192f9b525df379048d2e74fab472bd4ecfb0fa229ff34546d648a644bfc3f746e8ecb24ad8b4558419c SHA512 572cbdeca6c57d8fc389b8736acfb6a4ac2b3bd8704445ca7a006d75e0a3c37faa9abd75ead54d586e25b5550f72324c407271b451dd5ed94fafb09e8a6ad352
diff --git a/dev-libs/tree-sitter-html/metadata.xml b/dev-libs/tree-sitter-html/metadata.xml
index 3523175e5040..8501ce3aee27 100644
--- a/dev-libs/tree-sitter-html/metadata.xml
+++ b/dev-libs/tree-sitter-html/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-html</remote-id>
</upstream>
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild
index 5b79a06f012a..55a42a78b64c 100644
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# 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"
+DESCRIPTION="HTML grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-html"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-libs/tree-sitter-html/tree-sitter-html-0.20.3.ebuild b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.3.ebuild
new file mode 100644
index 000000000000..a664b1781a07
--- /dev/null
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.3.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="HTML grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-html"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-libs/tree-sitter-java/Manifest b/dev-libs/tree-sitter-java/Manifest
index 3797e2552640..9a93dd4f91c9 100644
--- a/dev-libs/tree-sitter-java/Manifest
+++ b/dev-libs/tree-sitter-java/Manifest
@@ -1,4 +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/metadata.xml b/dev-libs/tree-sitter-java/metadata.xml
index ab4809aa51a7..60e9422b1065 100644
--- a/dev-libs/tree-sitter-java/metadata.xml
+++ b/dev-libs/tree-sitter-java/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild
deleted file mode 100644
index d90c0532fc87..000000000000
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.19.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="Java grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.20.2.ebuild
index 2505c1c9f90e..21de8dbc5b4e 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-java"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+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.21.0.ebuild
index 19ac8915ea50..21de8dbc5b4e 100644
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.1.ebuild
+++ b/dev-libs/tree-sitter-java/tree-sitter-java-0.21.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
diff --git a/dev-libs/tree-sitter-javascript/Manifest b/dev-libs/tree-sitter-javascript/Manifest
index c401cbfbae41..c46994c8c152 100644
--- a/dev-libs/tree-sitter-javascript/Manifest
+++ b/dev-libs/tree-sitter-javascript/Manifest
@@ -1,2 +1,3 @@
-DIST tree-sitter-javascript-0.20.0.tar.gz 278831 BLAKE2B cd66005e7ebdae154a192ff556d4cb35e91d93a2ab645a24b9492217858278adc1f7917a7dc5033bbcfd84ca7ef41a3e7ebb1ff934bb09b79c8923469110e1de SHA512 778e0f2f5bf276d7ffb6eab0fe3f7473b56605de707c8e2f491fbb5826da94067b9f1bc476306013267001b5ecaab11a956e896b78520cdedd27006fac97fe41
DIST tree-sitter-javascript-0.20.1-2.tar.gz 371027 BLAKE2B 5bd9b11f1e10ff37950b2142031bebd3b5f6111818a21bf5a7d97a8a27a5340bd09cd139d76846141ed64a824f82f1e1394b90d8622192524d7db9a02ed95223 SHA512 5341311b419cf763c0a6d23348eba0e38b417ba07c2def341027223347d850c28b86db6add136dbf73cd5296133823a4548493ee649e09247dfbe5bcbaaab76d
+DIST tree-sitter-javascript-0.20.4.tar.gz 396452 BLAKE2B b33c4c44fb59985af7809ef9bd015d12dac185999993570164de4ac87a60cde28cf4c1232a06dd3e312ce256f2b021ef5fa500fd9e0772a3fb657f74256500a4 SHA512 65171e5af35c9c5cc9a6c54792d2194b197e130ec277b35e67e04b654082bcb1b98cb9bbe497bbe1dde69f582e5cdca01cba4f40682b7b587fd19e89b88f3dd6
+DIST tree-sitter-javascript-0.21.0.tar.gz 367344 BLAKE2B 7698b918db7fb49bd73ee03757fa17d5f6c0adc14a279410e2bc924123b1a187e6018b534bc1d2b6cbc41e5f42f7b4b6541c65d4f70d6345dda31c719bf479c6 SHA512 c83d7525e3639e237b9f81cac38d0290a3257aa98dba62f079abfb234f3cbd3de23e0b275da85878d3ab4b8de03384dc4e8a8512641b17ff0aca2e3a722947a6
diff --git a/dev-libs/tree-sitter-javascript/metadata.xml b/dev-libs/tree-sitter-javascript/metadata.xml
index 0846068ba5d8..901f7843d217 100644
--- a/dev-libs/tree-sitter-javascript/metadata.xml
+++ b/dev-libs/tree-sitter-javascript/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-javascript</remote-id>
</upstream>
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
index 22ca247f8a48..e1d5ee9003fe 100644
--- 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
@@ -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,9 +10,8 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+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"
-S="${WORKDIR}"/${PN}-${PV}/src
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.4.ebuild
index a082528027b0..ec9248a60d3d 100644
--- a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 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"
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..8c21d33f4ebb
--- /dev/null
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-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="JavaScript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-libs/tree-sitter-jsdoc/metadata.xml b/dev-libs/tree-sitter-jsdoc/metadata.xml
index 0947bc05e5f0..b21f464856c5 100644
--- a/dev-libs/tree-sitter-jsdoc/metadata.xml
+++ b/dev-libs/tree-sitter-jsdoc/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-json/Manifest b/dev-libs/tree-sitter-json/Manifest
index daf699e4dee5..fccaf007e65b 100644
--- a/dev-libs/tree-sitter-json/Manifest
+++ b/dev-libs/tree-sitter-json/Manifest
@@ -1,2 +1,4 @@
DIST tree-sitter-json-0.19.0.tar.gz 11102 BLAKE2B 8530b53dffa59fcc844501dcbfc9fc8a39a4d4fda6653e02b17261c23da43c8f3dd2bcb1e312a58861ea9af7835d4f2b9208e7960bfaec8ffeecd754e04416d0 SHA512 f4ef90d1ff7cb96093e7b54fb0b4904f7c19256c2e0938c03f81d89f3699f0c0922da54d1d770aa786b9cf10b08f9afa762771a207546a29cf7ff7f1710dadb6
DIST tree-sitter-json-0.20.1.tar.gz 15576 BLAKE2B d6b9d3c931453440c2557814184b629640e4a0dd9b763ba8aec51aeb8322b021d0bfd8e4385445ef527100f67db507d3c934480457a7a5ed60a2d035fda44f13 SHA512 30ae91cec4c9e63acfd2bd0c62b313d48a50ec722ff5c793b8b51910a02a9c6f8697a866ec7bbde3c7f14b2bdcfc12be3650d7a8e6f23fde80527cc235a3768e
+DIST tree-sitter-json-0.20.2.tar.gz 15647 BLAKE2B 524933bf7af4df87d78497912c7865c20b2cc3e9b099401aac612c8c6d382fbc8f8704515abcb1e579fbac7734d23545f91ac7600e978a2924567998e5166834 SHA512 511376b7be02c624bc48b0a46dd937f1a5d6def3d2a15a7b61cf71b846ecf98ef8af93f05f861152270ea0dcacc18940f8c25bfbad69e9d5c520485d25dab7f5
+DIST tree-sitter-json-0.21.0.tar.gz 34737 BLAKE2B 104229cd039b41fb79ccdab3b30e0e59a96a3aa46c060bf50cc093acfe4510150ad5caaf39f49045d478d9f67f863ff6289ba7ab59aaa27871ebb77ffc66a453 SHA512 37ee6a511e15eeb832c7a49d74d977724fecfe24943472047e2100aa18bf4e64f297b1a8e8e37f1d2223614dd9ceec038abd84b5f1fcc00bb67289b70de2ebd2
diff --git a/dev-libs/tree-sitter-json/metadata.xml b/dev-libs/tree-sitter-json/metadata.xml
index 0e1551210dfc..332eb747c02c 100644
--- a/dev-libs/tree-sitter-json/metadata.xml
+++ b/dev-libs/tree-sitter-json/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-json</remote-id>
</upstream>
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
index e4987b7d6ed8..bc7df5806d4d 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild
new file mode 100644
index 000000000000..bc7df5806d4d
--- /dev/null
+++ b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="JSON grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.21.0.ebuild
new file mode 100644
index 000000000000..92a03620255e
--- /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="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-libs/tree-sitter-julia/Manifest b/dev-libs/tree-sitter-julia/Manifest
index 9919ac5ca25d..8f235382ff54 100644
--- a/dev-libs/tree-sitter-julia/Manifest
+++ b/dev-libs/tree-sitter-julia/Manifest
@@ -1,2 +1,3 @@
DIST tree-sitter-julia-0.19.0.tar.gz 591870 BLAKE2B 0a15485ce7eb87f080add5b2dae19004349f3c79a048b77552915ae776860d722d6d6e07422ab82fb932f795285b545fe1b6579824a8f4905fbbdd4b96f16ea4 SHA512 ee3943683413e3d16d60ec1bf1f3cc816011c4d458b5c44d7ce42e5f14c8aa22e35ce07747f0737c9b514fa7ea8b866d4fa6af5c53069b755e0d6d3f7bcc8e2a
DIST tree-sitter-julia-0.20.0.tar.gz 4032821 BLAKE2B eac1ec80509c8dfb75a68f507a615eaf69366e42fdf2ff9a74fb7acc8281f55fa5ba45cd4a1b050e5277614a14b5bd39145115c74de83ffb7669701ed709c04d SHA512 173e990ba6353e8b3f124fb3b1e1e5c281882d7fd6f7d53b3f40304db0f5361c0220017af51dbc569ddc2debf494ae8325877fc3c5de60239da942299a054b3d
+DIST tree-sitter-julia-0.22.0.tar.gz 2792109 BLAKE2B d661b9d84b9d1903d7fae9e4073fcc1fd52030e7a264929cf6eb3aa33745cc51c094beb6e4ddcfd11725989fc82a5e21b20a66b01bc60c8f06c522f732bcff6a SHA512 9687875f641eb0f599a15a5c9ced0a873c81a2d6ad36528f2c29120126a92ca5d6a51c97f736c1c1e46cd8af32e7c5739c694b0372fa62ca840f39f0fbd6a387
diff --git a/dev-libs/tree-sitter-julia/metadata.xml b/dev-libs/tree-sitter-julia/metadata.xml
index 781c30634bf9..2ade1f4fd2f3 100644
--- a/dev-libs/tree-sitter-julia/metadata.xml
+++ b/dev-libs/tree-sitter-julia/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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
index 26fd81493ab4..bdfad03a9860 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-julia"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-julia/tree-sitter-julia-0.22.0.ebuild b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.22.0.ebuild
new file mode 100644
index 000000000000..bdfad03a9860
--- /dev/null
+++ b/dev-libs/tree-sitter-julia/tree-sitter-julia-0.22.0.ebuild
@@ -0,0 +1,13 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Julia grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-julia"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-lua/Manifest b/dev-libs/tree-sitter-lua/Manifest
new file mode 100644
index 000000000000..3d456f185fe0
--- /dev/null
+++ b/dev-libs/tree-sitter-lua/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-lua-0.1.0.tar.gz 56812 BLAKE2B 2a90a84ff824dfa3233cbc5f21c750796872455747d7a8922526ed852eff7d2787c943090e0858b24df90511c48fe054c6a94289ff404fc317e16af5a117d53e SHA512 7eceb729faacffd13328b7778e408219e76e5ae9aac38bdabd13584817633351161bfcc4074f0ce82c07a61054fdfe14ad5235713f2f2acf18bfd0b414b09a7b
diff --git a/dev-libs/tree-sitter-lua/metadata.xml b/dev-libs/tree-sitter-lua/metadata.xml
new file mode 100644
index 000000000000..34e33133c034
--- /dev/null
+++ b/dev-libs/tree-sitter-lua/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter-grammars/tree-sitter-lua</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-lua/tree-sitter-lua-0.1.0.ebuild b/dev-libs/tree-sitter-lua/tree-sitter-lua-0.1.0.ebuild
new file mode 100644
index 000000000000..924ebebbf83d
--- /dev/null
+++ b/dev-libs/tree-sitter-lua/tree-sitter-lua-0.1.0.ebuild
@@ -0,0 +1,16 @@
+# 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="Lua grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter-grammars/tree-sitter-lua"
+SRC_URI="https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-markdown-inline/Manifest b/dev-libs/tree-sitter-markdown-inline/Manifest
new file mode 100644
index 000000000000..5a28acb03ed5
--- /dev/null
+++ b/dev-libs/tree-sitter-markdown-inline/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-markdown-0.2.3.tar.gz 418293 BLAKE2B 803c35b697f19225a887e2839921235155920e7bb7d851406275da436407b3a19a0122ae03ae67722f66f80b4e88099c23f403f4318629224ae3473bfbb29ffe SHA512 8b6849d6dc964c82e45c3d18599d9f3e0ee9656a5085a9ec47f72d0343969e379ce190628a04dae64cb4ecdca2497e6d33ca7175e1f73796742a3ee6ffea743f
diff --git a/dev-libs/tree-sitter-markdown-inline/metadata.xml b/dev-libs/tree-sitter-markdown-inline/metadata.xml
new file mode 100644
index 000000000000..ffc6fcb154bc
--- /dev/null
+++ b/dev-libs/tree-sitter-markdown-inline/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter-grammars/tree-sitter-markdown_inline</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-markdown-inline/tree-sitter-markdown-inline-0.2.3.ebuild b/dev-libs/tree-sitter-markdown-inline/tree-sitter-markdown-inline-0.2.3.ebuild
new file mode 100644
index 000000000000..93acb40275e4
--- /dev/null
+++ b/dev-libs/tree-sitter-markdown-inline/tree-sitter-markdown-inline-0.2.3.ebuild
@@ -0,0 +1,25 @@
+# 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
+
+MY_PN=tree-sitter-markdown
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Markdown-inline grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter-grammars/tree-sitter-markdown"
+SRC_URI="https://github.com/tree-sitter-grammars/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}/${MY_PN}-inline
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Running the tests requires extensions to be enabled, but the parser
+# generated by upstream does not include the extensions.
+# https://github.com/tree-sitter-grammars/tree-sitter-markdown/issues/136
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-markdown/Manifest b/dev-libs/tree-sitter-markdown/Manifest
new file mode 100644
index 000000000000..5a28acb03ed5
--- /dev/null
+++ b/dev-libs/tree-sitter-markdown/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-markdown-0.2.3.tar.gz 418293 BLAKE2B 803c35b697f19225a887e2839921235155920e7bb7d851406275da436407b3a19a0122ae03ae67722f66f80b4e88099c23f403f4318629224ae3473bfbb29ffe SHA512 8b6849d6dc964c82e45c3d18599d9f3e0ee9656a5085a9ec47f72d0343969e379ce190628a04dae64cb4ecdca2497e6d33ca7175e1f73796742a3ee6ffea743f
diff --git a/dev-libs/tree-sitter-markdown/metadata.xml b/dev-libs/tree-sitter-markdown/metadata.xml
new file mode 100644
index 000000000000..dc385cbeca8e
--- /dev/null
+++ b/dev-libs/tree-sitter-markdown/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter-grammars/tree-sitter-markdown</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-markdown/tree-sitter-markdown-0.2.3.ebuild b/dev-libs/tree-sitter-markdown/tree-sitter-markdown-0.2.3.ebuild
new file mode 100644
index 000000000000..2c90f1fc5a4c
--- /dev/null
+++ b/dev-libs/tree-sitter-markdown/tree-sitter-markdown-0.2.3.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="Markdown grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter-grammars/tree-sitter-markdown"
+SRC_URI="https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/${PN}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-meta/metadata.xml b/dev-libs/tree-sitter-meta/metadata.xml
index 6e7f9e7ff033..ba89ea3e711a 100644
--- a/dev-libs/tree-sitter-meta/metadata.xml
+++ b/dev-libs/tree-sitter-meta/metadata.xml
@@ -5,8 +5,12 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
</pkgmetadata>
diff --git a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r3.ebuild b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r4.ebuild
index 773308fe55d6..7f7a837988eb 100644
--- a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r3.ebuild
+++ b/dev-libs/tree-sitter-meta/tree-sitter-meta-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
@@ -8,7 +8,7 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
LICENSE="metapackage"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
RDEPEND="
dev-libs/tree-sitter
@@ -19,6 +19,7 @@ RDEPEND="
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
diff --git a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r5.ebuild
index 58a50eb0a10e..092bfd72b39a 100644
--- a/dev-libs/tree-sitter-meta/tree-sitter-meta-1-r1.ebuild
+++ b/dev-libs/tree-sitter-meta/tree-sitter-meta-1-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
@@ -8,16 +8,18 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
LICENSE="metapackage"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
RDEPEND="
dev-libs/tree-sitter
dev-libs/tree-sitter-bash
dev-libs/tree-sitter-c
- dev-libs/tree-sitter-c-sharp
+ dev-libs/tree-sitter-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
@@ -26,13 +28,21 @@ RDEPEND="
dev-libs/tree-sitter-jsdoc
dev-libs/tree-sitter-json
dev-libs/tree-sitter-julia
+ dev-libs/tree-sitter-lua
+ dev-libs/tree-sitter-markdown
+ dev-libs/tree-sitter-markdown-inline
dev-libs/tree-sitter-ocaml
dev-libs/tree-sitter-php
dev-libs/tree-sitter-python
dev-libs/tree-sitter-ql
+ dev-libs/tree-sitter-query
+ 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-tsx
dev-libs/tree-sitter-typescript
+ dev-libs/tree-sitter-vim
+ dev-libs/tree-sitter-vimdoc
"
diff --git a/dev-libs/tree-sitter-meta/tree-sitter-meta-1.ebuild b/dev-libs/tree-sitter-meta/tree-sitter-meta-1.ebuild
deleted file mode 100644
index c8c6353faa95..000000000000
--- a/dev-libs/tree-sitter-meta/tree-sitter-meta-1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Metapackage for Tree Sitter packages"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-libs/tree-sitter
- dev-libs/tree-sitter-bash
- dev-libs/tree-sitter-c
- dev-libs/tree-sitter-cpp
- dev-libs/tree-sitter-css
- dev-libs/tree-sitter-go
- dev-libs/tree-sitter-html
- dev-libs/tree-sitter-javascript
- dev-libs/tree-sitter-json
- dev-libs/tree-sitter-meta
- dev-libs/tree-sitter-php
- dev-libs/tree-sitter-scala
- dev-libs/tree-sitter-typescript"
diff --git a/dev-libs/tree-sitter-ocaml/metadata.xml b/dev-libs/tree-sitter-ocaml/metadata.xml
index 681978881386..aaf22905e8a7 100644
--- a/dev-libs/tree-sitter-ocaml/metadata.xml
+++ b/dev-libs/tree-sitter-ocaml/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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
index a22d049de4cd..afc9708cb318 100644
--- 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
@@ -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,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.4.ebuild b/dev-libs/tree-sitter-ocaml/tree-sitter-ocaml-0.20.4.ebuild
index ac6d9d2c1590..afc9708cb318 100644
--- 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
@@ -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,6 +10,6 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ocaml"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
-S="${WORKDIR}/${P}/ocaml/src"
+S="${WORKDIR}/${P}/ocaml"
diff --git a/dev-libs/tree-sitter-php/Manifest b/dev-libs/tree-sitter-php/Manifest
index 9a3813ae5fa8..0bffd60882fe 100644
--- a/dev-libs/tree-sitter-php/Manifest
+++ b/dev-libs/tree-sitter-php/Manifest
@@ -1,2 +1,4 @@
-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
+DIST tree-sitter-php-0.22.4.tar.gz 555466 BLAKE2B c95870d3079053cf8ff0ce07ce3019a4c33712f1be21734ddf52b9c47f2721387c4c024c4e53855c7449cff386fd46924a5fccf149437a06263e732378e8b0d7 SHA512 5baf5f454769407789ad2e84065088da2aa4a404ac518ba77078d421c38a08a622884c6c6a8e2e77d38c441de36d6e778a5073cb575fe649ab92e9f7420a32b3
+DIST tree-sitter-php-0.22.5.tar.gz 553995 BLAKE2B 63d786c34d5629181dd3a32a3f76a4fcb0c82f2c104e080e35f6f8241dcb6c35cb782510f0b09d7ef0dae295879675ee3e0a82557dd1ed4271b20aaff14079b9 SHA512 ad8492e9e371d21aa00f0a0cfa3f704042661d7f96e736dbcd44b8a1f738d9de2eed14d5be4c7fdfdea9a82256339f5e0b03bdc3f77cb185dd6c660aa8a394df
diff --git a/dev-libs/tree-sitter-php/metadata.xml b/dev-libs/tree-sitter-php/metadata.xml
index 0f4f3a9a2eeb..d889d5ab3216 100644
--- a/dev-libs/tree-sitter-php/metadata.xml
+++ b/dev-libs/tree-sitter-php/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-php</remote-id>
</upstream>
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
index 1788cdcc7fd4..e331a8f2ea6c 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
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.22.2.ebuild
index dd916334a06c..75450e8ef333 100644
--- a/dev-libs/tree-sitter-php/tree-sitter-php-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.2.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,6 +7,7 @@ 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"
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.22.4.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.4.ebuild
new file mode 100644
index 000000000000..75450e8ef333
--- /dev/null
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.4.ebuild
@@ -0,0 +1,14 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="PHP grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-php"
+S="${WORKDIR}"/${P}/php
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-php/tree-sitter-php-0.22.5.ebuild b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.5.ebuild
new file mode 100644
index 000000000000..13dc08afbb50
--- /dev/null
+++ b/dev-libs/tree-sitter-php/tree-sitter-php-0.22.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="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 404ec0b0fd5c..c0dfa6788d6a 100644
--- a/dev-libs/tree-sitter-python/Manifest
+++ b/dev-libs/tree-sitter-python/Manifest
@@ -1,2 +1,3 @@
DIST tree-sitter-python-0.20.0.tar.gz 155192 BLAKE2B 1b81eb80dc5a69124ba8579f905b83290b233b7aa7f41b13ead293ade576b4c2f4cb4ca52d34f1bd59131e6b0ff2a3058d8119bedc235fe6a8afd49b0856580e SHA512 6eff62f40a0cf95c9acb8bd571ed5d74ab9db7d15104a039273861c28f932c79d5e4d32e3017ed38fe35a8e92660f46bcdab8091a2dd2cc0d9699598a6d46606
DIST tree-sitter-python-0.20.4.tar.gz 249840 BLAKE2B 563895c46ca1de400d51168473cceaed61b3df486cbf9f33ae9f63acc16268b9147917f0bc0f18d3c8cad0ab0684b4c51900a7e1c6b898735621676353630650 SHA512 2cfd327a1c0033ebb5bc1a4efe4f8b7a776ad45da6b12ad3d496fe3500e2a99ac0ecefbc6eec81d724bcdb060a0ebb8a24496dee23c83c7802e0226f495751d3
+DIST tree-sitter-python-0.21.0.tar.gz 275770 BLAKE2B c595476144931fbb08c404fd72d981ad8170333fcbec98cb4b7637932860dea3967abee712ce6afe1c6454ca02cd67e6c84e969ca0b5f593d6822ec1ee623afe SHA512 02410d235473a3e9a108b7820f146cdf8df5794814ff1e2ce8ccac1e38a727fa3e133bcac6718ade2a0d0f0965e879bb3cb9652d1d30f738969f458add53dc50
diff --git a/dev-libs/tree-sitter-python/metadata.xml b/dev-libs/tree-sitter-python/metadata.xml
index 1150500b1da5..a72b87a76bf8 100644
--- a/dev-libs/tree-sitter-python/metadata.xml
+++ b/dev-libs/tree-sitter-python/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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
index 63630cddb34d..5cec91fee1f7 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-python"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64"
+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..89214f52bdcb
--- /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="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-libs/tree-sitter-ql/metadata.xml b/dev-libs/tree-sitter-ql/metadata.xml
index b500ca7f8954..ad866ebf93f9 100644
--- a/dev-libs/tree-sitter-ql/metadata.xml
+++ b/dev-libs/tree-sitter-ql/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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-query/Manifest b/dev-libs/tree-sitter-query/Manifest
new file mode 100644
index 000000000000..5ea8c28570e6
--- /dev/null
+++ b/dev-libs/tree-sitter-query/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-query-0.4.0.tar.gz 42944 BLAKE2B f323ae7a7443dd7deffd08c54e36e542578405ae93a4b028705dd36b33b6fe4e78a519ea6cfc1495fc7c3c89f83105d8b6d47f69ab98176223d4564acd831048 SHA512 e5c771c9e519b2cf3ecf99a5708d2389d63366183d877ad2ddd396ab5cde1b4a2e57837924da3f32fd050bd70f20e2445fbd414b0f82b0a8ce112f8466cbccca
diff --git a/dev-libs/tree-sitter-query/metadata.xml b/dev-libs/tree-sitter-query/metadata.xml
new file mode 100644
index 000000000000..9e685e649cb7
--- /dev/null
+++ b/dev-libs/tree-sitter-query/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter-grammars/tree-sitter-query</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-query/tree-sitter-query-0.4.0.ebuild b/dev-libs/tree-sitter-query/tree-sitter-query-0.4.0.ebuild
new file mode 100644
index 000000000000..50cac920993c
--- /dev/null
+++ b/dev-libs/tree-sitter-query/tree-sitter-query-0.4.0.ebuild
@@ -0,0 +1,16 @@
+# 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="Tree-sitter query grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter-grammars/tree-sitter-query"
+SRC_URI="https://github.com/tree-sitter-grammars/tree-sitter-query/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-regex/metadata.xml b/dev-libs/tree-sitter-regex/metadata.xml
index e052fd0a6b1b..6df26e4fcc9a 100644
--- a/dev-libs/tree-sitter-regex/metadata.xml
+++ b/dev-libs/tree-sitter-regex/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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
index bd636ef0cafb..5bf66e08ddbb 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-regex"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-ruby/Manifest b/dev-libs/tree-sitter-ruby/Manifest
index 621521608fb9..20c1e7a8b49f 100644
--- a/dev-libs/tree-sitter-ruby/Manifest
+++ b/dev-libs/tree-sitter-ruby/Manifest
@@ -1,2 +1,3 @@
-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
+DIST tree-sitter-ruby-0.21.0.tar.gz 618006 BLAKE2B d296dd901e426642383594f9bd45cabb8cff3193b5e83ab17f5c199e954b912da4b398ff57337b9439780bff7565bd4b396cf5bba69587e4714d5563fbcebb02 SHA512 d8f2059f60dde221466b1428bca11aa815129c9247789ba7de79f837050225687699cd9a3316e3bd8b1f28da339b68a4f73c5765710c238d88a213521297e604
diff --git a/dev-libs/tree-sitter-ruby/metadata.xml b/dev-libs/tree-sitter-ruby/metadata.xml
index f1cc3e07c912..1332f5566948 100644
--- a/dev-libs/tree-sitter-ruby/metadata.xml
+++ b/dev-libs/tree-sitter-ruby/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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
index c22308dfb087..c0e7e24609c7 100644
--- 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
@@ -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,8 +11,8 @@ 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}/src
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild
new file mode 100644
index 000000000000..ef5a0db4369b
--- /dev/null
+++ b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.20.1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Ruby grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-ruby"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+# Highlight tests failing in upstream ci too. The parser works, and
+# we do not currently install the highlight queries.
+#
+# https://bugs.gentoo.org/923987
+# https://github.com/tree-sitter/tree-sitter-ruby/issues/253
+RESTRICT="test"
diff --git a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.21.0.ebuild
index 116225a7b7ce..7feca9e60b7a 100644
--- a/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-ruby/tree-sitter-ruby-0.21.0.ebuild
@@ -1,8 +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
+TS_BINDINGS=( python )
+
inherit tree-sitter-grammar
DESCRIPTION="Ruby grammar for Tree-sitter"
diff --git a/dev-libs/tree-sitter-rust/Manifest b/dev-libs/tree-sitter-rust/Manifest
index 7e7b8de3678d..db118c56a1cf 100644
--- a/dev-libs/tree-sitter-rust/Manifest
+++ b/dev-libs/tree-sitter-rust/Manifest
@@ -1,3 +1,5 @@
DIST tree-sitter-rust-0.20.1.tar.gz 308918 BLAKE2B b226bf6eb2c282f62d3eef0598db38dc54d03ed2ea07313fffbb6c9d955cccc71bef5513b8b2c56460989789e9f4293fb27a2db152b5afa56085348427fe9ad5 SHA512 de799d76dbcbc7f68ab8560f747c3df3950dd3e640ac60cd44d65a60b23e118e271370e2b1b84d2d830c2d70341b5714f5f52592709ba15f6b164c05f3798f07
DIST tree-sitter-rust-0.20.3.tar.gz 325621 BLAKE2B b5d2f15df3550e22e380c26a3fa6270a897f4555efb2778e54ef9262145ca919bf933ee739674e02a2086f58d707174c3a2cfb545d879a2c67decf508793af47 SHA512 9732a6e9782538c1a7f7a265e185aece659e164284eac61f65f3d174845aafc697ec2758d6dddb52c8a6ee3856be67493339d680f963ee383894f1d3789d96d5
DIST tree-sitter-rust-0.20.4.tar.gz 358924 BLAKE2B 16c7918d352163ebb866f34865c68f5d9e19bbc3ffcec0f0c61ba38a8c828cee3eb50c97ddaea01d7575e23496bca18dc5161daee8bbdaa075ba75de608be999 SHA512 f1b2e9537286921056eda4e96faa9f61131b9ca5684e7ab8aa7bd07e46d91e5eab18e6e292cfad7cdcb7ba195e80f7f1e35f04992cb8011bbd29dd2d95116f9d
+DIST tree-sitter-rust-0.21.0.tar.gz 448170 BLAKE2B ecf13ff1358a64383feaa973332be7ff7d7551c414fef9bb3773f1ca975db97f6e0e6076ea572094771c25c59641a58aeec70c41fea65533b59fc436fd143938 SHA512 f9cd32e43b544a18eddfc0b6f8210f1fbc3e7a5d6e9b72c482a536df1e215ceadb41545a65f0c6fc791f6063adbe51957d4e20f7c8fa07a5079a4338a0351bf3
+DIST tree-sitter-rust-0.21.2.tar.gz 433742 BLAKE2B d929baa23ef85bdf0b22ea1878699ef8b788ce43ebba93552f473fb695502d6e8bde5f378ef053702ecfaba2e859143d093f3f7b46e302160212eee89f6cbac6 SHA512 304b232683ded9973a94ec872401151a5900e3423c7bff966b3f5ec4a71122405fb3790f71f5fb445b8af72a31176349cb3ea8bc7d1b1a042ee574420472e19e
diff --git a/dev-libs/tree-sitter-rust/metadata.xml b/dev-libs/tree-sitter-rust/metadata.xml
index 78be01dc65ac..d8ea7bd1c5bd 100644
--- a/dev-libs/tree-sitter-rust/metadata.xml
+++ b/dev-libs/tree-sitter-rust/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
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
index 47e15edb0d42..91e3f0de8370 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+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..e602dda97d5d
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.0.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
diff --git a/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.2.ebuild b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.2.ebuild
new file mode 100644
index 000000000000..acbb9f3b8a20
--- /dev/null
+++ b/dev-libs/tree-sitter-rust/tree-sitter-rust-0.21.2.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Rust grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-rust"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-libs/tree-sitter-scala/Manifest b/dev-libs/tree-sitter-scala/Manifest
index e3fa1e3ed14a..5a8367249478 100644
--- a/dev-libs/tree-sitter-scala/Manifest
+++ b/dev-libs/tree-sitter-scala/Manifest
@@ -1,3 +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/metadata.xml b/dev-libs/tree-sitter-scala/metadata.xml
index ea3cfbe901d4..5b032bc3b745 100644
--- a/dev-libs/tree-sitter-scala/metadata.xml
+++ b/dev-libs/tree-sitter-scala/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-scala</remote-id>
</upstream>
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 4b0aec90ae8b..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
index 2d0b96a03729..d19d0d446e2d 100644
--- 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
@@ -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,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-scala"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
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.21.0.ebuild
index d9083f607d6b..d19d0d446e2d 100644
--- a/dev-libs/tree-sitter-scala/tree-sitter-scala-0.19.0.ebuild
+++ b/dev-libs/tree-sitter-scala/tree-sitter-scala-0.21.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
diff --git a/dev-libs/tree-sitter-tsq/metadata.xml b/dev-libs/tree-sitter-tsq/metadata.xml
index 54cdf7d9be5d..091658773e90 100644
--- a/dev-libs/tree-sitter-tsq/metadata.xml
+++ b/dev-libs/tree-sitter-tsq/metadata.xml
@@ -6,10 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
diff --git a/dev-libs/tree-sitter-tsx/Manifest b/dev-libs/tree-sitter-tsx/Manifest
new file mode 100644
index 000000000000..45b368938401
--- /dev/null
+++ b/dev-libs/tree-sitter-tsx/Manifest
@@ -0,0 +1,2 @@
+DIST tree-sitter-tsx-0.20.6.tar.gz 1564217 BLAKE2B bc4d26bd8e4e9ca14ddf4b175cc2a2e7a81dac67e114a6e01f59ff55c5ecd63a0a359e03d78928aa965363e9c4db154a9b1917cf3aafce9fdaca3a58d60bfcc1 SHA512 f30f38aa269302eee5f738422626187111c14c7ba07982d619b200a58a20a08849f8a0e79358cad331d689afd5ab389a88b246bda30031ae354f93433e85b763
+DIST tree-sitter-tsx-0.21.1.tar.gz 1566667 BLAKE2B c6c24a60b97c092189dc54ceb12b75ee28085eb7f2cdd38673b7107db1fb57e6282e7a5254a26f6bd352195a23da43d3a36df756ef78c959e037f9e696a02f4f SHA512 8768b8bd17d90b26de4bc20c3aae34141eec87ace0a4de3a6c39ee9654954fe4ec0d6ef829edddd48ccced5e4f92e3e886870f6bdc50b6ebe6ca568d980b5f97
diff --git a/dev-libs/tree-sitter-tsx/metadata.xml b/dev-libs/tree-sitter-tsx/metadata.xml
new file mode 100644
index 000000000000..7b982a3cd402
--- /dev/null
+++ b/dev-libs/tree-sitter-tsx/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>arsen@gentoo.org</email>
+ <name>Arsen Arsenović</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter/tree-sitter-typescript</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-tsx/tree-sitter-tsx-0.20.6.ebuild b/dev-libs/tree-sitter-tsx/tree-sitter-tsx-0.20.6.ebuild
new file mode 100644
index 000000000000..0eb1d05722cb
--- /dev/null
+++ b/dev-libs/tree-sitter-tsx/tree-sitter-tsx-0.20.6.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit tree-sitter-grammar
+
+MY_P=${P/tsx/typescript}
+MY_PN=${PN/tsx/typescript}
+
+DESCRIPTION="TSX grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+SRC_URI="https://github.com/tree-sitter/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${MY_P}/tsx
+
+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-tsx/tree-sitter-tsx-0.21.1.ebuild b/dev-libs/tree-sitter-tsx/tree-sitter-tsx-0.21.1.ebuild
new file mode 100644
index 000000000000..0eb1d05722cb
--- /dev/null
+++ b/dev-libs/tree-sitter-tsx/tree-sitter-tsx-0.21.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 tree-sitter-grammar
+
+MY_P=${P/tsx/typescript}
+MY_PN=${PN/tsx/typescript}
+
+DESCRIPTION="TSX grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
+SRC_URI="https://github.com/tree-sitter/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${MY_P}/tsx
+
+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-typescript/Manifest b/dev-libs/tree-sitter-typescript/Manifest
index 04da57d1d4ef..c077958053be 100644
--- a/dev-libs/tree-sitter-typescript/Manifest
+++ b/dev-libs/tree-sitter-typescript/Manifest
@@ -1,3 +1,3 @@
-DIST tree-sitter-typescript-0.20.1.tar.gz 767713 BLAKE2B 25921ef20ec82bacf9858fd2bdca5d79f19ee132a48ad523ce4ea9d5141c2d314ec76d81a7d1751a6fab3651c3b3a2e0e2a469fc5168a5961310ee412e22ad4f SHA512 4d57308e84964bbf136868285141c4cd28ae0bbddef7973849679f8b8b85f00cd1bb5a4db7fd7b5cbd6a090b56193c8120bfd134358d33597a60a9145c694de0
-DIST tree-sitter-typescript-0.20.2.tar.gz 826705 BLAKE2B f51e56932676bb16d6439a0513f38cd5970afff47045d3e43ad804c1557c6f93c267934d1cd7804caded6d14b85fb88e6f7c21ea99bc23e99912e6f434d96510 SHA512 0ed78e515ffa3756800e1c3864540b761d734c34efeab4c5ab46ea96ae026bc09f7c6ef51eaa7275cc06ebdccc870961580da1930717d038265c0293fcf1784e
DIST tree-sitter-typescript-0.20.3.tar.gz 843881 BLAKE2B a8b01a6fef435ac089ff716be400e6f55b89256a0b170cef3d6103eeca301f076d909180db61534dcf58bcf703d607871193f0a517d34398d81131c6dcb0e977 SHA512 6dacfe3d329acfbc80dd798bc900798cf3bad06441ece0964adb51117876b8c54be7d88303deb3abf139d7241b60d45c458a66f6079a149c010a3cd55581065b
+DIST tree-sitter-typescript-0.20.5.tar.gz 1556573 BLAKE2B ae4d71cc8e4745a3b6899f3f28fb31f0d31b0b1f749a73485b5f0b9e81257bde1b3338650e72e7c0082386cabb3b04bfc6bf8a603305aa8fa44c1e08e3843aab SHA512 5b0f9b5725766069d1535e39f3a4658b5200a2a33c3b4881f4876b741a6c13f9140429b73621949e2bd1e06ab0ee147893fffcd3c5349df337eb923a649b8867
+DIST tree-sitter-typescript-0.20.6.tar.gz 1564217 BLAKE2B bc4d26bd8e4e9ca14ddf4b175cc2a2e7a81dac67e114a6e01f59ff55c5ecd63a0a359e03d78928aa965363e9c4db154a9b1917cf3aafce9fdaca3a58d60bfcc1 SHA512 f30f38aa269302eee5f738422626187111c14c7ba07982d619b200a58a20a08849f8a0e79358cad331d689afd5ab389a88b246bda30031ae354f93433e85b763
diff --git a/dev-libs/tree-sitter-typescript/metadata.xml b/dev-libs/tree-sitter-typescript/metadata.xml
index 09539cbda1da..266356d67797 100644
--- a/dev-libs/tree-sitter-typescript/metadata.xml
+++ b/dev-libs/tree-sitter-typescript/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
- <maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
<upstream>
<remote-id type="github">tree-sitter/tree-sitter-typescript</remote-id>
</upstream>
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
index 9d07624d1e03..3826613aff5d 100644
--- 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
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,8 +7,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
+S="${WORKDIR}"/${P}/typescript
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
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.5.ebuild
index 91c68ef697e0..3ab5b3028d0d 100644
--- a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.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=8
@@ -7,8 +7,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
+S="${WORKDIR}"/${P}/typescript
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.2.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.6.ebuild
index 5186725e58e9..de54a9cddb67 100644
--- a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.2.ebuild
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.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
@@ -7,8 +7,15 @@ 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
+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-vim/Manifest b/dev-libs/tree-sitter-vim/Manifest
new file mode 100644
index 000000000000..dba151bcbc62
--- /dev/null
+++ b/dev-libs/tree-sitter-vim/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-vim-0.4.0.tar.gz 356704 BLAKE2B f1b2768a1efd6b1051cb4989923ef8d9b874faf24180beb6db1f65d2a2d75189bdd82ae4646c3b3e7c21a98466a510b89447074b2f0fdf2384802990e19f5c9d SHA512 32796cc68227c48ea4d0d2c78640c66710a8f67ab45add1d5a89eec5ade5f74bde6f2fed353a5779f5618ab91567e563449c72b8e134a904d011266303695bda
diff --git a/dev-libs/tree-sitter-vim/metadata.xml b/dev-libs/tree-sitter-vim/metadata.xml
new file mode 100644
index 000000000000..742f2a2d64c2
--- /dev/null
+++ b/dev-libs/tree-sitter-vim/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter-grammars/tree-sitter-vim</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-vim/tree-sitter-vim-0.4.0.ebuild b/dev-libs/tree-sitter-vim/tree-sitter-vim-0.4.0.ebuild
new file mode 100644
index 000000000000..d2fdec3dfb55
--- /dev/null
+++ b/dev-libs/tree-sitter-vim/tree-sitter-vim-0.4.0.ebuild
@@ -0,0 +1,16 @@
+# 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="Vimscript grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter-grammars/tree-sitter-vim"
+SRC_URI="https://github.com/tree-sitter-grammars/tree-sitter-vim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter-vimdoc/Manifest b/dev-libs/tree-sitter-vimdoc/Manifest
new file mode 100644
index 000000000000..d43c794460cb
--- /dev/null
+++ b/dev-libs/tree-sitter-vimdoc/Manifest
@@ -0,0 +1 @@
+DIST tree-sitter-vimdoc-3.0.0.tar.gz 58110 BLAKE2B 21713b7c75e988be0c92f181dc33bd4616346a618f11d34a90e26b39c0a6fd7b97f18154982fb41287258fbe436522e04753f9f19d6e61cdc9405057ae247142 SHA512 2305127de360a34f10706002793ffc52d220b950105dcb1d54afa1f291e86be7a9188390de9b92a1edc8083a8d270a9e8b641b15b43e161f29c1117f93589763
diff --git a/dev-libs/tree-sitter-vimdoc/metadata.xml b/dev-libs/tree-sitter-vimdoc/metadata.xml
new file mode 100644
index 000000000000..4475c0cba5d0
--- /dev/null
+++ b/dev-libs/tree-sitter-vimdoc/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>brahmajit.xyz@gmail.com</email>
+ <name>Brahmajit Das</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tree-sitter-grammars/tree-sitter-vimdoc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/tree-sitter-vimdoc/tree-sitter-vimdoc-3.0.0.ebuild b/dev-libs/tree-sitter-vimdoc/tree-sitter-vimdoc-3.0.0.ebuild
new file mode 100644
index 000000000000..80b5c046b96a
--- /dev/null
+++ b/dev-libs/tree-sitter-vimdoc/tree-sitter-vimdoc-3.0.0.ebuild
@@ -0,0 +1,16 @@
+# 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="Vimdoc grammar for Tree-sitter"
+HOMEPAGE="https://github.com/neovim/tree-sitter-vimdoc"
+SRC_URI="https://github.com/neovim/tree-sitter-vimdoc/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
diff --git a/dev-libs/tree-sitter/Manifest b/dev-libs/tree-sitter/Manifest
index ba37153ef228..0f5e9cfb1dc8 100644
--- a/dev-libs/tree-sitter/Manifest
+++ b/dev-libs/tree-sitter/Manifest
@@ -1,3 +1,4 @@
-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.8.tar.gz 2941223 BLAKE2B 158820a88b20cc96252f8bfdd257e910ca4dc79174bb45ee52623c923b8a634714c65be8f9534411865fb03aaf84bf16bf659567a74cd58141ea687fa89601e5 SHA512 30fa3f97e1a24d469a7565dc91db629accdfbe081b43d951e9751059a0c7f763d727e95efce5806cd9b1689650773bee1106f4f91ba001da57df3b0d83dda967
+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
+DIST tree-sitter-0.22.6.tar.gz 3036954 BLAKE2B f109a738214882e63a721e8db384fa42a624af78d42ceb9ab7a45135b36cf3bbbd2554f470ca5038404365f5b9dbf9979c4d26309e123a9d9533feb1f0a3f724 SHA512 bf0b87bb9ce16b049824e53933986ac451a7b7f432df39ee9d4546627d740ae689af9e838a53cc50e29d66d6d85d51dab7490d66a429a14bcc9d0b8e2935a63a
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.20.8-no-parser-header.patch b/dev-libs/tree-sitter/files/tree-sitter-0.20.8-no-parser-header.patch
deleted file mode 100644
index 1e055a69e00d..000000000000
--- a/dev-libs/tree-sitter/files/tree-sitter-0.20.8-no-parser-header.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://github.com/tree-sitter/tree-sitter-bash/issues/199
-https://github.com/tree-sitter/tree-sitter/pull/2573
-https://github.com/tree-sitter/tree-sitter/pull/2574
-
-From 05b18c2cda9b391efffb4986bf46fa56333d801b Mon Sep 17 00:00:00 2001
-From: Andrew Hlynskyi <ahlincq@gmail.com>
-Date: Sat, 26 Aug 2023 20:50:23 +0300
-Subject: [PATCH] fix: makefile should install only header
-
---- a/Makefile
-+++ b/Makefile
-@@ -57,7 +57,7 @@ install: all
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
- install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter
-- install -m644 lib/include/tree_sitter/*.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/
-+ install -m644 lib/include/tree_sitter/api.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/
- install -d '$(DESTDIR)$(PCLIBDIR)'
- sed -e 's|@LIBDIR@|$(LIBDIR)|;s|@INCLUDEDIR@|$(INCLUDEDIR)|;s|@VERSION@|$(VERSION)|' \
- -e 's|=$(PREFIX)|=$${prefix}|' \
---
-2.42.0
-
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..17bc8472b8c5 100644
--- a/dev-libs/tree-sitter/metadata.xml
+++ b/dev-libs/tree-sitter/metadata.xml
@@ -6,10 +6,6 @@
<name>Ali Abdel-Qader</name>
</maintainer>
<maintainer type="person">
- <email>sarnex@gentoo.org</email>
- <name>Nick Sarnie</name>
- </maintainer>
- <maintainer type="person">
<email>mva@gentoo.org</email>
<name>Vadim Misbakh-Soloviov</name>
</maintainer>
@@ -17,6 +13,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.8.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
index f44668ee69e9..66553bca39a7 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.20.8.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
@@ -1,7 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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"
@@ -17,16 +20,11 @@ fi
LICENSE="MIT"
SLOT="0"
+RESTRICT="test" # tests are for CLI and not the lib
-PATCHES=( "${FILESDIR}/${PN}-No-static-libs-gentoo.patch" )
-
-# see Makefile:1
-QA_PKGCONFIG_VERSION="0.20.9"
-
-# 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
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
src_prepare() {
default
@@ -36,7 +34,9 @@ src_prepare() {
src_compile() {
emake \
PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" \
+ CFLAGS="${CFLAGS}"
}
src_install() {
diff --git a/dev-libs/tree-sitter/tree-sitter-0.20.7.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
index f767d8cc3335..d9718e3f31d5 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.20.7.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.4-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,16 +12,18 @@ if [[ ${PV} == *9999* ]]; then
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"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
fi
LICENSE="MIT"
-SLOT="0"
+# 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}-No-static-libs-gentoo.patch" )
-
-# see Makefile:1
-QA_PKGCONFIG_VERSION="0.6.3"
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
src_prepare() {
default
@@ -31,7 +33,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/tree-sitter/tree-sitter-0.20.6.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.5.ebuild
index a0ea2efaedea..15f132d978a3 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.20.6.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.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=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/tree-sitter/tree-sitter-0.20.8-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild
index 862cc9ee3eb6..c3ae4d33678e 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.20.8-r1.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.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
@@ -12,24 +12,20 @@ if [[ ${PV} == *9999* ]]; then
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"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
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"
- "${FILESDIR}/${PN}-0.20.8-no-parser-header.patch"
+ "${FILESDIR}/${PN}-0.22.2-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.9"
-
src_prepare() {
default
tc-export CC
@@ -38,14 +34,15 @@ src_prepare() {
src_compile() {
emake \
PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" # bug 930020
}
src_install() {
emake DESTDIR="${D}" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- install
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
}
pkg_postinst() {
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/trio-1.17.1.ebuild b/dev-libs/trio/trio-1.17.1.ebuild
index 0b90ebdc9f0f..32604f3aaaf6 100644
--- a/dev-libs/trio/trio-1.17.1.ebuild
+++ b/dev-libs/trio/trio-1.17.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/orbea/trio/releases/download/v${PV}/${P}.tar.gz"
LICENSE="trio"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
src_compile() {
default
diff --git a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
index 17b51a76512c..f31dbeb77343 100644
--- a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
+++ b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Tiny Vector Matrix library using Expression Templates"
HOMEPAGE="http://tvmet.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.bz2"
SLOT="0"
LICENSE="LGPL-2.1"
@@ -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 5ef49a73955d..eae6f0cee99d 100644
--- a/dev-libs/udis86/udis86-1.7.2-r1.ebuild
+++ b/dev-libs/udis86/udis86-1.7.2-r1.ebuild
@@ -1,16 +1,16 @@
-# 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..11} )
+PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="xml(+)"
inherit autotools multilib-minimal python-any-r1
DESCRIPTION="Disassembler library for the x86/-64 architecture sets"
HOMEPAGE="http://udis86.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
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/uriparser/Manifest b/dev-libs/uriparser/Manifest
index 0597d1cbaa0a..61a9f5cc90a2 100644
--- a/dev-libs/uriparser/Manifest
+++ b/dev-libs/uriparser/Manifest
@@ -1 +1,2 @@
DIST uriparser-0.9.7.tar.bz2 179989 BLAKE2B 50d04df0024f2ad926072a06d92066025c12528853e784f28bf311a64eb37b619634fa14265cadf55e514810804adeefb7dea841178f916ccdbd086a897d375b SHA512 7f69c9806665745c1bafe11f818434e27c2da03af387f009ef46c1427af8c008faa45e6f49bece66e0b96fd17b3924ba0af25476e796972c5e4b651f35f74c13
+DIST uriparser-0.9.8.tar.bz2 180690 BLAKE2B 75c115fc6d89ffb44a7ff4899b9a89394fdc6e49e9d374836e548cf75d7aed314406ec9abcc29410a66038aa670636e44cf97305c1ca8b6f472af444ffed9167 SHA512 41377e27f92345442cafa4e443485808c286430fcb5ce2354a683344e744786a170f443425f304bdb5a152edf96a3412f203eabe4fb3345a369e6d69f3d97e40
diff --git a/dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch b/dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch
new file mode 100644
index 000000000000..fbf298e6a7cd
--- /dev/null
+++ b/dev-libs/uriparser/files/uriparser-0.9.8-docs-compilation.patch
@@ -0,0 +1,13 @@
+diff --git a/doc/preprocess.sh b/doc/preprocess.sh
+index c77bb6a..6ee75f2 100755
+--- a/doc/preprocess.sh
++++ b/doc/preprocess.sh
+@@ -1,4 +1,6 @@
+ #! /usr/bin/env bash
+ # Run GCC preprocessor and delete empty lines
+-: ${CPP:=cpp}
+-"${CPP}" -DURI_DOXYGEN -DURI_NO_UNICODE -C -I ../include "$1" | sed -e '/^$/d' -e 's/COMMENT_HACK//g'
++: ${CC:=cc}
++PS4='doc/preprocess.sh|# '
++set -x
++"${CC}" -E -DURI_DOXYGEN -DURI_NO_UNICODE -C -I ../include "$1" | sed -e '/^$/d' -e 's/COMMENT_HACK//g'
diff --git a/dev-libs/uriparser/uriparser-0.9.7.ebuild b/dev-libs/uriparser/uriparser-0.9.7.ebuild
index 564fb66bcab0..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
@@ -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/uriparser/uriparser-0.9.8-r1.ebuild b/dev-libs/uriparser/uriparser-0.9.8-r1.ebuild
new file mode 100644
index 000000000000..984256a19ba3
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.9.8-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Strictly RFC 3986 compliant URI parsing library in C"
+HOMEPAGE="https://uriparser.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="+doc qt5 test unicode" # +doc to address warning RequiredUseDefaults
+
+REQUIRED_USE="qt5? ( doc ) test? ( unicode )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( >=dev-cpp/gtest-1.8.1 )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ >=app-text/doxygen-1.5.8
+ media-gfx/graphviz
+ qt5? ( dev-qt/qthelp:5 )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-docs-compilation.patch
+)
+
+DOCS=( AUTHORS ChangeLog THANKS )
+
+src_configure() {
+ local mycmakeargs=(
+ -DURIPARSER_BUILD_CHAR=ON
+ -DURIPARSER_BUILD_DOCS=$(usex doc ON OFF)
+ -DURIPARSER_BUILD_TESTS=$(usex test ON OFF)
+ -DURIPARSER_BUILD_TOOLS=ON
+ -DURIPARSER_BUILD_WCHAR_T=$(usex unicode ON OFF)
+
+ # The usex wrapper is here to address this warning:
+ # One or more CMake variables were not used by the project:
+ # CMAKE_DISABLE_FIND_PACKAGE_Qt5Help
+ $(usex doc "$(cmake_use_find_package qt5 Qt5Help)")
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc && use qt5; then
+ dodoc "${BUILD_DIR}"/doc/*.qch
+ docompress -x /usr/share/doc/${PF}/${P}.qch
+ fi
+}
diff --git a/dev-libs/uriparser/uriparser-0.9.8.ebuild b/dev-libs/uriparser/uriparser-0.9.8.ebuild
new file mode 100644
index 000000000000..70cd7772c491
--- /dev/null
+++ b/dev-libs/uriparser/uriparser-0.9.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Strictly RFC 3986 compliant URI parsing library in C"
+HOMEPAGE="https://uriparser.github.io/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="+doc qt5 test unicode" # +doc to address warning RequiredUseDefaults
+
+REQUIRED_USE="qt5? ( doc ) test? ( unicode )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( >=dev-cpp/gtest-1.8.1 )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ >=app-text/doxygen-1.5.8
+ media-gfx/graphviz
+ qt5? ( dev-qt/qthelp:5 )
+ )
+"
+
+DOCS=( AUTHORS ChangeLog THANKS )
+
+src_configure() {
+ local mycmakeargs=(
+ -DURIPARSER_BUILD_CHAR=ON
+ -DURIPARSER_BUILD_DOCS=$(usex doc ON OFF)
+ -DURIPARSER_BUILD_TESTS=$(usex test ON OFF)
+ -DURIPARSER_BUILD_TOOLS=ON
+ -DURIPARSER_BUILD_WCHAR_T=$(usex unicode ON OFF)
+
+ # The usex wrapper is here to address this warning:
+ # One or more CMake variables were not used by the project:
+ # CMAKE_DISABLE_FIND_PACKAGE_Qt5Help
+ $(usex doc "$(cmake_use_find_package qt5 Qt5Help)")
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use doc && use qt5; then
+ dodoc "${BUILD_DIR}"/doc/*.qch
+ docompress -x /usr/share/doc/${PF}/${P}.qch
+ fi
+}
diff --git a/dev-libs/utfcpp/metadata.xml b/dev-libs/utfcpp/metadata.xml
index b9907b54a199..30c01c4b01dd 100644
--- a/dev-libs/utfcpp/metadata.xml
+++ b/dev-libs/utfcpp/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
- </maintainer>
<maintainer type="project">
<email>cjk@gentoo.org</email>
<name>Cjk</name>
diff --git a/dev-libs/vala-common/Manifest b/dev-libs/vala-common/Manifest
index 1fbcc38784d6..647b70e51a11 100644
--- a/dev-libs/vala-common/Manifest
+++ b/dev-libs/vala-common/Manifest
@@ -1,3 +1,2 @@
-DIST vala-0.56.13.tar.xz 3999680 BLAKE2B 8ec1003a670f7349196e1f62a645fadf918f6874f99fb0b170568e299b594264c6bc0a464009dbbd22c454d08bb0a889e3602332f2317679f194deb2423c7776 SHA512 1b522f1a9667b535699a89c35e86e7262a9d07dbd742fc5ffda5b1cb0ea4961e88e4a27521e946bf1f564e2fa8b2d9576a7886157fea9a3437c149b4dfdeb3c8
-DIST vala-0.56.14.tar.xz 4003276 BLAKE2B db6ccca635122ff2089cd61fd8335376eed435f15d9bd7c20837829fe5acc8df49a51194e3bc17d0c24567240cf2519348cc2b0a7b177b971dc037ed39e893de SHA512 f13e7916acaba220bf8a0fb8825bf9a125fadcc13011c4e4f426e5d3a5af650543457294bede66dc5e1c742dd9b55f722a65b880e4737a6b480365c9df4c8c8b
-DIST vala-0.56.8.tar.xz 3994328 BLAKE2B 4d68b102838a854b870865c6223dfb6cf56741db2cf918d393a4c279cc63a5e7af3464d256ef9a7c90eb5a8773812613315815c64a1b11e5b3fce86ac52278b6 SHA512 152a7378c42602296c5797d0425e51c2f9d2c65449f035158ef7f8dbf48f3a6a09e7c9028d196c967d8a9dfcdbd5f5deaa09ffcde5e2a335872e9740cd79ba41
+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/vala-common-0.56.14.ebuild b/dev-libs/vala-common/vala-common-0.56.14.ebuild
deleted file mode 100644
index cd0ecf1d538a..000000000000
--- a/dev-libs/vala-common/vala-common-0.56.14.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 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.8.ebuild b/dev-libs/vala-common/vala-common-0.56.16.ebuild
index 2bba314753d4..39e3c39dc4dc 100644
--- a/dev-libs/vala-common/vala-common-0.56.8.ebuild
+++ b/dev-libs/vala-common/vala-common-0.56.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-libs/vala-common/vala-common-0.56.13.ebuild b/dev-libs/vala-common/vala-common-0.56.17.ebuild
index cd0ecf1d538a..e12b06c906ca 100644
--- a/dev-libs/vala-common/vala-common-0.56.13.ebuild
+++ b/dev-libs/vala-common/vala-common-0.56.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-libs/vc/Manifest b/dev-libs/vc/Manifest
index 4feb0a18631f..b9c434c318e8 100644
--- a/dev-libs/vc/Manifest
+++ b/dev-libs/vc/Manifest
@@ -1,2 +1,2 @@
-DIST vc-1.4.3.tar.gz 640398 BLAKE2B 18a5bf346b433c08b565fe4e39395f2126fff47561651d5adba677de40c50e1f1d26cef2ae6ee7f9e18f4334116aa1ad3c0bff923c61494a4ccac4d7ac2d1991 SHA512 7c0c4ccf8c7c4585334482135f2daf1a5bc088114b880093893583bdcea1fbfcec02485da6059304c510c8b1bb1b768ef04fd7ac8ccb21b9ebbad5d0d5babaef
DIST vc-1.4.4.tar.gz 645346 BLAKE2B 0131f6e96d4285b0ff0519206115f431e5dcc336358f045c5260dff62dbeda5a10500cfc0a333abe2ffd4c7dfd2e5b29452a68458dc3dd552a89fce30b7c4b68 SHA512 b8aa0a45637dd1e0cc23f074d023b677aab570dd4a78cff94e4c2d832afb841c1b421077ae9c848a40aa4beb50ed2e31fdf075738496856ff8fe3ea1d0acba07
+DIST vc-1.4.5.tar.gz 645302 BLAKE2B 75b3159d347c4e93e0893b77e0d4bfcc2d28f9f9c5e3cfee6ed42b46d4019e88537d6493b943066e01abc6042e6d454acc7029533c211320d877b13dc836d491 SHA512 6525a72beae5270e31fe288b6b61cb2c3e431354bda3965b5fea5d743a3a76b33baaa28ef6f024353970a5b9e877fdc27a76754201f97cf21284ee1abdf16665
diff --git a/dev-libs/vc/vc-1.4.4.ebuild b/dev-libs/vc/vc-1.4.4.ebuild
index 07cfd7ab2726..7390bfa10fcc 100644
--- a/dev-libs/vc/vc-1.4.4.ebuild
+++ b/dev-libs/vc/vc-1.4.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,4 +12,4 @@ S="${WORKDIR}"/Vc-${PV}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="amd64 arm arm64 x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-libs/vc/vc-1.4.3.ebuild b/dev-libs/vc/vc-1.4.5.ebuild
index fb12d5557435..1cc7ae581263 100644
--- a/dev-libs/vc/vc-1.4.3.ebuild
+++ b/dev-libs/vc/vc-1.4.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=8
@@ -12,4 +12,4 @@ S="${WORKDIR}"/Vc-${PV}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-libs/vectorscan/vectorscan-5.4.11.ebuild b/dev-libs/vectorscan/vectorscan-5.4.11.ebuild
index b047e39dd69f..20ca649f2cfe 100644
--- a/dev-libs/vectorscan/vectorscan-5.4.11.ebuild
+++ b/dev-libs/vectorscan/vectorscan-5.4.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="BSD"
SLOT="0/5"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 x86"
IUSE="cpu_flags_x86_avx2 cpu_flags_x86_sse4_2"
DEPEND="
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 8c392821db09..c9d5db4dd4e2 100644
--- a/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild
+++ b/dev-libs/voikko-fi/voikko-fi-2.5-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit python-any-r1 verify-sig
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 18c154f282ef..f381e4f3979d 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
@@ -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
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit autotools python-single-r1
diff --git a/dev-libs/wayland-protocols/Manifest b/dev-libs/wayland-protocols/Manifest
index 0abf836ffdc9..58bc798ee75b 100644
--- a/dev-libs/wayland-protocols/Manifest
+++ b/dev-libs/wayland-protocols/Manifest
@@ -1 +1 @@
-DIST wayland-protocols-1.32.tar.xz 90452 BLAKE2B 80e38270526c9da13c39263a60e7d2c330a1a4b1dfecec03fadda747f1a2e3dff95b30373aa19e133ae999fa15bdcdd64aa9ebbb54acf571f980a3f6088ea9be SHA512 90bbd52daf342b98823ddeed04e349ae242d2eaf925ab8d603cceb36c980c83b5681bb890961e0d49584cb5c2e60a33abf8821770c6ab87956383630bd5b7966
+DIST wayland-protocols-1.36.tar.xz 95512 BLAKE2B 6c460106a2069ff9ce0b6c8221f85462e74d726ead69f6918417aac0cd24567251873ea05ec111a90f3385f4128e7e8d76aca42c7b1f89a070943c604b87573c SHA512 5448b9aedc953ce6be0f378da900c195c8743cb6001f615823b5fc9cab3e3ee54271132055743278e10decef7f8e9dcdeef31593a2a12062575fb90eb0084be0
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.36.ebuild
index 04d709642ab9..e0d8761901b5 100644
--- a/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.36.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,6 @@ RESTRICT="!test? ( test )"
DEPEND="
test? ( dev-libs/wayland )
"
-RDEPEND=""
BDEPEND="
dev-util/wayland-scanner
virtual/pkgconfig
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 e2de0f2c2836..95b73bb0bdfe 100644
--- a/dev-libs/wayland/Manifest
+++ b/dev-libs/wayland/Manifest
@@ -1 +1,2 @@
DIST wayland-1.22.0.tar.xz 229544 BLAKE2B b0bb366e7f3494813d1574228ae5dd48eccde035120d6dd8709e3a24738681ab9dd9ba6a13924b6a35982d331fa8911fa7346911da9f618be9c9109da0288629 SHA512 fb1974efc8433e97254eb83fe28974198f2b4d8246418eb3d34ce657055461e0c97bc06dd52e5066ae91bbe05bac611dc49a0937ba226ac6388d5a47241efb12
+DIST wayland-1.23.0.tar.xz 237900 BLAKE2B efb80e3c67db7a707a6d2ea66e7a5132173550bc13fdff447925ec3d33bfba8131532f819d5ab0dd80924cb4339b58b7ca83d9e70a436cea8268167476355bd8 SHA512 9c525231a7ea3e68d3178230d476285a960d23e38571ac96d885f86c0588c52ef01460bff6833db5adb9456ce8db7b996613611187aac972736748ba91b8fd81
diff --git a/dev-libs/wayland/wayland-1.22.0.ebuild b/dev-libs/wayland/wayland-1.22.0.ebuild
index 301f299e4f7b..2a397f4586d1 100644
--- a/dev-libs/wayland/wayland-1.22.0.ebuild
+++ b/dev-libs/wayland/wayland-1.22.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
@@ -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/wayland/wayland-1.23.0.ebuild b/dev-libs/wayland/wayland-1.23.0.ebuild
new file mode 100644
index 000000000000..7361890a730d
--- /dev/null
+++ b/dev-libs/wayland/wayland-1.23.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 9fe3f14c9121..7361890a730d 100644
--- a/dev-libs/wayland/wayland-9999.ebuild
+++ b/dev-libs/wayland/wayland-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
@@ -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 9f5974dba152..a95d2f4929c6 100644
--- a/dev-libs/weston/Manifest
+++ b/dev-libs/weston/Manifest
@@ -1,3 +1,2 @@
-DIST weston-11.0.1.tar.xz 1900796 BLAKE2B 33d7d5b3340e7074265885bd54ee039e8b5d448fa9f58f4bf9f823efd2557da9b916d903119565a806ab698382fe185165c8ede8614e983c872dfe15b474b616 SHA512 d451230fc260b45aaaadb5cf0aa360629e45e72e3b3676c6ec040d6c6549dbb57d05683effd962c3b2d61482b47a6c990d12cc736c896b501d982c8c4d34834c
-DIST weston-12.0.91.tar.xz 1986200 BLAKE2B 368fe795bd6121390f14995d8c5ddfcd585e620bcb54f0818b9e9131bb442e79048f82bcd90cfff563c7ad9968cdc9e4f1d859fdd318f4e9b08fec371c4a62e4 SHA512 8e1ceae599344c305e1b65294403d434c4a6ca740f76bdcc67a9f83afe9d352d75ab9cf8bb5091b889ddece43941adf9c4666767098c4c27cb732f8c7f8f738a
DIST weston-13.0.0.tar.xz 1986520 BLAKE2B df0e73e451e39b329ed327c370f42bcae01eb5b8fad67711f069fa8f24900ac0c9a9e69b9a6445b67c76ab0ce441dcd2a5a1a8aa3ac0d89a647b9661d575a917 SHA512 8c656cdf24ec9429c76c64ebd2d58351991f5990a6d4b5900ac913243ad8e2c9c0fb1a748f018d177fbfd7e0a8836d0434d97acec287a8f977d47335ae30eacc
+DIST weston-13.0.3.tar.xz 1986952 BLAKE2B cc3e2be9f1fbcbfd45c9e75a9a34bbb7cd75256d851129e0d29cc0079cbaf4e35eb40b302f557ffe7b89edbc094b1823d667a54d44a9af765945e3ca541068fc SHA512 60e655b57cf418902ec6e4371883354165241d9a99a712aabe2165e11ac190dec22836fd885f5178def5416dc5f00e70042b022c96a8e0aa74827bbd4563f9cb
diff --git a/dev-libs/weston/files/weston-musl-basename.patch b/dev-libs/weston/files/weston-musl-basename.patch
new file mode 100644
index 000000000000..57b91331055f
--- /dev/null
+++ b/dev-libs/weston/files/weston-musl-basename.patch
@@ -0,0 +1,73 @@
+From dbd134ca5a3c639819c6fd503de7e2c72762ada0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Dec 2023 09:13:54 -0800
+Subject: [PATCH] libweston,tools: Include libgen.h for basename signature
+Upstream: https://gitlab.freedesktop.org/wayland/weston/-/commit/dbd134ca5a3c639819c6fd503de7e2c72762ada0
+Upstream-Status: Merged in main branch
+
+Latest musl has removed the declaration from string.h [1] as it only
+implements POSIX version alone and string.h in glibc implements GNU
+version of basename. This now results in compile errors on musl.
+
+This might be a warning with older compilers but it is error with
+Clang-17+ as it treats -Wimplicit-function-declaration as error
+
+Switch the use in backlight_init function to use POSIX version
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libweston/backend-drm/libbacklight.c | 8 +++++---
+ tools/zunitc/src/zunitc_impl.c | 1 +
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/libweston/backend-drm/libbacklight.c b/libweston/backend-drm/libbacklight.c
+index ca7f2d6806..973d15ff8c 100644
+--- a/libweston/backend-drm/libbacklight.c
++++ b/libweston/backend-drm/libbacklight.c
+@@ -41,6 +41,7 @@
+ #include <drm.h>
+ #include <fcntl.h>
+ #include <malloc.h>
++#include <libgen.h>
+ #include <string.h>
+ #include <errno.h>
+
+@@ -167,7 +168,7 @@ struct backlight *backlight_init(struct udev_device *drm_device,
+ DIR *backlights = NULL;
+ struct dirent *entry;
+ enum backlight_type type = 0;
+- char buffer[100];
++ char buffer[100], basename_buffer[100];
+ struct backlight *backlight = NULL;
+ int ret;
+
+@@ -186,9 +187,10 @@ struct backlight *backlight_init(struct udev_device *drm_device,
+ free(path);
+ if (ret < 0)
+ return NULL;
+-
++ strncpy(basename_buffer, buffer, ret);
+ buffer[ret] = '\0';
+- pci_name = basename(buffer);
++ basename_buffer[ret] = '\0';
++ pci_name = basename(basename_buffer);
+
+ if (connector_type <= 0)
+ return NULL;
+diff --git a/tools/zunitc/src/zunitc_impl.c b/tools/zunitc/src/zunitc_impl.c
+index 18f030158e..9b460fa03b 100644
+--- a/tools/zunitc/src/zunitc_impl.c
++++ b/tools/zunitc/src/zunitc_impl.c
+@@ -27,6 +27,7 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+--
+GitLab
+
diff --git a/dev-libs/weston/files/weston-neatvnc-0.8.patch b/dev-libs/weston/files/weston-neatvnc-0.8.patch
new file mode 100644
index 000000000000..03ffab596c3a
--- /dev/null
+++ b/dev-libs/weston/files/weston-neatvnc-0.8.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/930424
+https://gitlab.freedesktop.org/wayland/weston/-/issues/890
+
+diff -Naur a/libweston/backend-vnc/meson.build b/libweston/backend-vnc/meson.build
+--- a/libweston/backend-vnc/meson.build 2023-11-27 18:01:53.000000000 +0000
++++ b/libweston/backend-vnc/meson.build 2024-04-24 23:55:22.262121014 +0100
+@@ -3,7 +3,7 @@
+ endif
+
+ config_h.set('BUILD_VNC_COMPOSITOR', '1')
+-dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.8.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
++dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.9.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
+ if not dep_neatvnc.found()
+ error('VNC backend requires neatvnc which was not found. Or, you can use \'-Dbackend-vnc=false\'.')
+ endif
diff --git a/dev-libs/weston/metadata.xml b/dev-libs/weston/metadata.xml
index c135c4f506a8..a92c370bfe99 100644
--- a/dev-libs/weston/metadata.xml
+++ b/dev-libs/weston/metadata.xml
@@ -13,7 +13,7 @@
<flag name="drm">Enable drm compositor support</flag>
<flag name="editor">Install wayland-editor example application</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>
@@ -22,7 +22,6 @@
<flag name="remoting">Enable plugin to stream output to remote hosts using <pkg>media-libs/gstreamer</pkg></flag>
<flag name="resize-optimization">Increase performance, allocate more RAM. Recommended to disable on Raspberry Pi</flag>
<flag name="screen-sharing">Enable screen-sharing through RDP</flag>
- <flag name="seatd">Enable support for rootless session via <pkg>sys-auth/seatd</pkg></flag>
<flag name="wayland-compositor">Enable Wayland compositor support</flag>
<flag name="xwayland">Enable ability support native X11 applications</flag>
</use>
diff --git a/dev-libs/weston/weston-12.0.91.ebuild b/dev-libs/weston/weston-13.0.0-r3.ebuild
index 074fc45a3ced..2ab5833684f4 100644
--- a/dev-libs/weston/weston-12.0.91.ebuild
+++ b/dev-libs/weston/weston-13.0.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..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 ~riscv ~x86"
+ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
fi
LICENSE="MIT CC-BY-SA-3.0"
@@ -41,6 +41,7 @@ REQUIRED_USE="
RDEPEND="
>=dev-libs/libinput-1.2.0
>=dev-libs/wayland-1.22.0
+ =media-libs/libdisplay-info-0.1*:=
media-libs/libpng:0=
sys-auth/seatd:=
>=x11-libs/cairo-1.11.3
@@ -55,11 +56,11 @@ 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
@@ -67,7 +68,7 @@ RDEPEND="
systemd? ( sys-apps/systemd )
vnc? (
=dev-libs/aml-0.3*
- =gui-libs/neatvnc-0.7*
+ =gui-libs/neatvnc-0.8*
sys-libs/pam
)
webp? ( media-libs/libwebp:0= )
@@ -93,6 +94,10 @@ BDEPEND="
$(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}]"
}
diff --git a/dev-libs/weston/weston-11.0.1.ebuild b/dev-libs/weston/weston-13.0.3-r1.ebuild
index 4dd8288acf95..b03a284e1eac 100644
--- a/dev-libs/weston/weston-11.0.1.ebuild
+++ b/dev-libs/weston/weston-13.0.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
DESCRIPTION="Wayland reference compositor"
@@ -18,14 +18,14 @@ HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/waylan
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"
+ SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~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"
+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="
@@ -35,17 +35,15 @@ REQUIRED_USE="
screen-sharing? ( rdp )
test? ( desktop headless lcms xwayland )
wayland-compositor? ( gles2 )
- || ( drm headless rdp wayland-compositor X )
- || ( seatd systemd )
+ || ( drm headless rdp vnc wayland-compositor X )
"
RDEPEND="
- >=dev-libs/libinput-0.8.0
- >=dev-libs/wayland-1.20.0
- lcms? ( >=media-libs/lcms-2.9:2 )
+ >=dev-libs/libinput-1.2.0
+ >=dev-libs/wayland-1.22.0
+ =media-libs/libdisplay-info-0.1*:=
media-libs/libpng:0=
- webp? ( media-libs/libwebp:0= )
- jpeg? ( media-libs/libjpeg-turbo:0= )
+ sys-auth/seatd:=
>=x11-libs/cairo-1.11.3
>=x11-libs/libdrm-2.4.108
>=x11-libs/libxkbcommon-0.5.0
@@ -58,21 +56,22 @@ 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
)
- seatd? ( sys-auth/seatd:= )
- systemd? (
- sys-auth/pambase[systemd]
- >=sys-apps/dbus-1.6
- >=sys-apps/systemd-209[pam]
+ systemd? ( sys-apps/systemd )
+ vnc? (
+ =dev-libs/aml-0.3*
+ =gui-libs/neatvnc-0.8*
+ sys-libs/pam
)
+ webp? ( media-libs/libwebp:0= )
X? (
>=x11-libs/libxcb-1.9
x11-libs/libX11
@@ -82,6 +81,7 @@ RDEPEND="
x11-libs/cairo[X,xcb(+)]
>=x11-libs/libxcb-1.9
x11-libs/libXcursor
+ >=x11-libs/xcb-util-cursor-0.1.4
)
"
DEPEND="${RDEPEND}
@@ -89,22 +89,34 @@ DEPEND="${RDEPEND}
"
BDEPEND="
${PYTHON_DEPS}
+ dev-util/wayland-scanner
virtual/pkgconfig
+ $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-neatvnc-0.8.patch
+ "${FILESDIR}"/${PN}-musl-basename.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
+}
+
src_configure() {
local emesonargs=(
$(meson_use drm backend-drm)
-Dbackend-drm-screencast-vaapi=false
$(meson_use headless backend-headless)
+ $(meson_use pipewire backend-pipewire)
$(meson_use rdp backend-rdp)
$(meson_use screen-sharing screenshare)
+ $(meson_use vnc backend-vnc)
$(meson_use wayland-compositor backend-wayland)
$(meson_use X backend-x11)
-Dbackend-default=auto
$(meson_use gles2 renderer-gl)
$(meson_use xwayland)
- $(meson_use seatd launcher-libseat)
$(meson_use systemd)
$(meson_use remoting)
$(meson_use pipewire)
@@ -113,7 +125,6 @@ src_configure() {
$(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
diff --git a/dev-libs/weston/weston-13.0.0.ebuild b/dev-libs/weston/weston-13.0.3.ebuild
index 074fc45a3ced..cbc58686914c 100644
--- a/dev-libs/weston/weston-13.0.0.ebuild
+++ b/dev-libs/weston/weston-13.0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..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 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~x86"
fi
LICENSE="MIT CC-BY-SA-3.0"
@@ -55,11 +55,11 @@ 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
@@ -67,7 +67,7 @@ RDEPEND="
systemd? ( sys-apps/systemd )
vnc? (
=dev-libs/aml-0.3*
- =gui-libs/neatvnc-0.7*
+ =gui-libs/neatvnc-0.8*
sys-libs/pam
)
webp? ( media-libs/libwebp:0= )
@@ -93,6 +93,11 @@ BDEPEND="
$(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-neatvnc-0.8.patch
+ "${FILESDIR}"/${PN}-musl-basename.patch
+)
+
python_check_deps() {
python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
}
diff --git a/dev-libs/weston/weston-9999.ebuild b/dev-libs/weston/weston-9999.ebuild
index 074fc45a3ced..84ea1f937e3b 100644
--- a/dev-libs/weston/weston-9999.ebuild
+++ b/dev-libs/weston/weston-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
@@ -9,7 +9,7 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS}
DESCRIPTION="Wayland reference compositor"
@@ -41,6 +41,7 @@ REQUIRED_USE="
RDEPEND="
>=dev-libs/libinput-1.2.0
>=dev-libs/wayland-1.22.0
+ =media-libs/libdisplay-info-0.1*:=
media-libs/libpng:0=
sys-auth/seatd:=
>=x11-libs/cairo-1.11.3
@@ -55,11 +56,11 @@ 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
@@ -67,7 +68,7 @@ RDEPEND="
systemd? ( sys-apps/systemd )
vnc? (
=dev-libs/aml-0.3*
- =gui-libs/neatvnc-0.7*
+ =gui-libs/neatvnc-0.8*
sys-libs/pam
)
webp? ( media-libs/libwebp:0= )
diff --git a/dev-libs/xalan-c/files/xalan-c-1.12-icu-75.patch b/dev-libs/xalan-c/files/xalan-c-1.12-icu-75.patch
new file mode 100644
index 000000000000..0e272187d0e2
--- /dev/null
+++ b/dev-libs/xalan-c/files/xalan-c-1.12-icu-75.patch
@@ -0,0 +1,15 @@
+>= ICU 75 needs C++17, see https://bugs.gentoo.org/934471.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,9 +32,9 @@ if (POLICY CMP0067)
+ cmake_policy(SET CMP0067 NEW)
+ endif(POLICY CMP0067)
+
+-# Try C++14, then fall back to C++11 and C++98. Used for feature tests
++# Try C++17, then fall back to C++14, then C++11, and C++98. Used for feature tests
+ # for optional features.
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+
+ # Use folders (for IDE project grouping)
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
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 778251ef001e..beb96a63de6f 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
@@ -38,12 +38,13 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND+="
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
"
PATCHES=(
"${FILESDIR}"/${P}-fix-lto.patch
"${FILESDIR}"/${P}-fix-threads.patch
+ "${FILESDIR}"/${P}-icu-75.patch
)
src_configure() {
diff --git a/dev-libs/xalan-c/xalan-c-9999.ebuild b/dev-libs/xalan-c/xalan-c-9999.ebuild
index 12a834aca388..13753c18e646 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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ if [[ ${PV} == *9999 ]]; then
else
inherit verify-sig
SRC_URI="
- mirror://apache/xalan/xalan-c/sources/${MY_PN}-${PV}.tar.gz
+ https://dlcdn.apache.org/xalan/xalan-c/sources/${MY_PN}-${PV}.tar.gz
verify-sig? ( https://dlcdn.apache.org/xalan/xalan-c/sources/${MY_PN}-${PV}.tar.gz.asc )
"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/apache-xalan-c.asc
@@ -38,11 +38,12 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND+="
- doc? ( app-doc/doxygen[dot] )
+ doc? ( app-text/doxygen[dot] )
"
PATCHES=(
"${FILESDIR}"/${PN}-1.12-fix-lto.patch
+ "${FILESDIR}"/${PN}-1.12-icu-75.patch
)
src_configure() {
diff --git a/dev-libs/xapian-bindings/Manifest b/dev-libs/xapian-bindings/Manifest
index 122ddf823365..bbd937c2b8d7 100644
--- a/dev-libs/xapian-bindings/Manifest
+++ b/dev-libs/xapian-bindings/Manifest
@@ -1,2 +1 @@
-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.25.tar.xz 1076644 BLAKE2B 190c560d341039c68b35421c1a75e791537f9c2c353a5f0871d45055909e2863cd4ede3062a6b641e1572b74db8c049a0266a6c305e7d41bfb5d5c63057ef3e3 SHA512 119f62b53d487319e33aaf0c473e479a52b3831a46b23724188dada13f341e08facc7b79641c00ba7b0507c22b55c7b700182e65b5a195cd322be2098bcca183
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild
deleted file mode 100644
index bf4caf69874e..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.22.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..11} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php8-0 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.25.ebuild
index b59be4df131d..d99912763f30 100644
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
-USE_PHP="php8-0 php8-1 php8-2"
+USE_PHP="php8-1 php8-2"
PHP_EXT_NAME="xapian"
PHP_EXT_INI="yes"
PHP_EXT_OPTIONAL_USE="php"
-USE_RUBY="ruby30 ruby31 ruby32"
+USE_RUBY="ruby31 ruby32"
RUBY_OPTIONAL="yes"
# mono-env does not support EAPI 8
@@ -23,11 +23,11 @@ inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 pytho
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
+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"
+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 )
@@ -36,8 +36,8 @@ REQUIRED_USE="
ruby? ( || ( $(ruby_get_use_targets) ) )
"
-COMMONDEPEND="
- >=dev-libs/xapian-1.4.23
+COMMON_DEPEND="
+ ~dev-libs/xapian-${PV}
lua? ( ${LUA_DEPS} )
mono? ( dev-lang/mono )
perl? ( dev-lang/perl:= )
@@ -50,12 +50,12 @@ COMMONDEPEND="
tcl? ( dev-lang/tcl:= )
"
DEPEND="
- ${COMMONDEPEND}
+ ${COMMON_DEPEND}
virtual/pkgconfig
java? ( >=virtual/jdk-1.8:* )
"
RDEPEND="
- ${COMMONDEPEND}
+ ${COMMON_DEPEND}
java? ( >=virtual/jre-1.8:* )
"
diff --git a/dev-libs/xapian/Manifest b/dev-libs/xapian/Manifest
index 84d8efdcab8f..ba492762f95a 100644
--- a/dev-libs/xapian/Manifest
+++ b/dev-libs/xapian/Manifest
@@ -1,2 +1 @@
-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.25.tar.xz 3205904 BLAKE2B 7b03a8fabc3c688f58b3451541dedb664de0a02d7c46a4e8eac080c004232575c00428110eaab0ea463df5c3f43f2b4cebfbe6754f897e55f113683c1db43b2b SHA512 e8069f2cb75554978716a99580fb57fc73bbdd607c82394f53d07205d8c78fb59265004be0c676a6806bb2840a3933499dfc867e36a28855278569a0676d469d
diff --git a/dev-libs/xapian/metadata.xml b/dev-libs/xapian/metadata.xml
index 883360ac2aee..0f6e2a741a7e 100644
--- a/dev-libs/xapian/metadata.xml
+++ b/dev-libs/xapian/metadata.xml
@@ -11,8 +11,4 @@
to easily add advanced indexing and search facilities to their own
applications.
</longdescription>
- <use>
- <flag name="inmemory">Enabled inmemory backend db support</flag>
- <flag name="remote">Enabled remote backend db support</flag>
- </use>
</pkgmetadata>
diff --git a/dev-libs/xapian/xapian-1.4.22.ebuild b/dev-libs/xapian/xapian-1.4.22.ebuild
deleted file mode 100644
index bd255b5fb495..000000000000
--- a/dev-libs/xapian/xapian-1.4.22.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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
deleted file mode 100644
index 40a621af6000..000000000000
--- a/dev-libs/xapian/xapian-1.4.23.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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.25.ebuild b/dev-libs/xapian/xapian-1.4.25.ebuild
new file mode 100644
index 000000000000..7f9b48eb845c
--- /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/xerces-c/Manifest b/dev-libs/xerces-c/Manifest
index 7825dbd820ee..44078a794034 100644
--- a/dev-libs/xerces-c/Manifest
+++ b/dev-libs/xerces-c/Manifest
@@ -1 +1,2 @@
DIST xerces-c-3.2.4.tar.xz 4260560 BLAKE2B 5d9fed1e9a461f8b348f3259216c5181bd03d2b5d8790cad88621d601065d0d79f8766ae70ed0aa7afe05005e2bcaf37a88da25b17f0e028bf074a31cea5fe71 SHA512 4d58d25b59b4528ad1f2d60681ddd6d2a4dba945613cee9ce978605f006da03703ea85a1bd89f781eeb3ad4dbdadf485a310f29d4c07036b0322f0755f87fddf
+DIST xerces-c-3.2.5.tar.xz 4274820 BLAKE2B e0926660bf29e35c05843aae683a7a4f2fe5a6f5f68c76ce16fde975a24277c0e50465a02bfa785f96f4ebec3c7d411785793914491f112ce19477b5dd59e351 SHA512 77b80148b0a3dbb61af648e2571855d59040512dd0c739a892e8ac6a6d7ddbb43b49850c87c39fcf374f2c7658a9c795b3e3fcd4785efbc6226f831b938d5300
diff --git a/dev-libs/xerces-c/files/xerces-c-3.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/files/xerces-c-3.2.5-cxx17.patch b/dev-libs/xerces-c/files/xerces-c-3.2.5-cxx17.patch
new file mode 100644
index 000000000000..ed47510e08ad
--- /dev/null
+++ b/dev-libs/xerces-c/files/xerces-c-3.2.5-cxx17.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,7 +23,7 @@
+
+ # Try C++14, then fall back to C++11 and C++98. Used for feature tests
+ # for optional features.
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+
+ # Use folders (for IDE project grouping)
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
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
index c48e8dc9931c..7017f87e470a 100644
--- a/dev-libs/xerces-c/xerces-c-3.2.4-r2.ebuild
+++ b/dev-libs/xerces-c/xerces-c-3.2.4-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
@@ -28,7 +28,7 @@ RDEPEND="
virtual/libiconv"
DEPEND="${RDEPEND}"
BDEPEND="
- doc? ( app-doc/doxygen )
+ doc? ( app-text/doxygen )
test? ( dev-lang/perl )"
DOCS=( CREDITS KEYS NOTICE README )
diff --git a/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild b/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild
new file mode 100644
index 000000000000..4e7bce5e9e18
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.2.4-r3.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic prefix
+
+DESCRIPTION="Validating XML parser written in a portable subset of C++"
+HOMEPAGE="https://xerces.apache.org/xerces-c/"
+
+if [[ ${PV} == *9999 ]] ; then
+ ESVN_REPO_URI="https://svn.apache.org/repos/asf/xerces/c/trunk"
+ inherit subversion
+else
+ SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cpu_flags_x86_sse2 curl doc examples iconv icu static-libs test threads"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ curl? ( net-misc/curl )
+ icu? ( dev-libs/icu:0= )
+ virtual/libiconv"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ test? ( dev-lang/perl )"
+
+DOCS=( CREDITS KEYS NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch
+ "${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
+)
+
+pkg_setup() {
+ export ICUROOT="${EPREFIX}/usr"
+
+ if use iconv && use icu; then
+ ewarn "This package can use iconv or icu for loading messages"
+ ewarn "and transcoding, but not both. ICU takes precedence."
+ fi
+}
+
+src_configure() {
+ # bug #856100
+ filter-lto
+ append-flags -fno-strict-aliasing
+
+ # 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
+ # But the docs aren't clear about it, so we would need some testing...
+ local netaccessor
+ if use curl; then
+ netaccessor="curl"
+ elif use elibc_Darwin; then
+ netaccessor="cfurl"
+ else
+ netaccessor="socket"
+ fi
+
+ local msgloader
+ if use icu; then
+ msgloader="icu"
+ elif use iconv; then
+ msgloader="iconv"
+ else
+ msgloader="inmemory"
+ fi
+
+ local transcoder
+ if use icu; then
+ transcoder="icu"
+ elif use elibc_Darwin; then
+ transcoder="macosunicodeconverter"
+ else
+ transcoder="gnuiconv"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -Dnetwork-accessor="${netaccessor}"
+ -Dmessage-loader="${msgloader}"
+ -Dtranscoder="${transcoder}"
+ -Dthreads:BOOL="$(usex threads)"
+ -Dsse2:BOOL="$(usex cpu_flags_x86_sse2)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ use doc && cmake_build doc-style createapidocs doc-xml
+}
+
+src_install() {
+ cmake_src_install
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+
+ if use examples; then
+ # clean out object files, executables, Makefiles
+ # and the like before installing examples
+ find samples/ \( -type f -executable -o -iname 'runConfigure' -o -iname '*.o' \
+ -o -iname '.libs' -o -iname 'Makefile*' \) -exec rm -rf '{}' + || die
+ docinto examples
+ dodoc -r samples/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # To make sure an appropriate NLS msg file is around when using
+ # the iconv msgloader ICU has the messages compiled in.
+ if use iconv && ! use icu; then
+ doenvd "$(prefixify_ro "${FILESDIR}/50xerces-c")"
+ fi
+}
diff --git a/dev-libs/xerces-c/xerces-c-3.2.5.ebuild b/dev-libs/xerces-c/xerces-c-3.2.5.ebuild
new file mode 100644
index 000000000000..7ad99efa9366
--- /dev/null
+++ b/dev-libs/xerces-c/xerces-c-3.2.5.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.4-strict-aliasing.patch
+ "${FILESDIR}"/${P}-cxx17.patch # bug 931105
+)
+
+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 4b24ee3df5d8..2ff3cf44a5bc 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-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
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
@@ -28,12 +28,14 @@ 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 )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
+)
pkg_setup() {
export ICUROOT="${EPREFIX}/usr"
@@ -45,6 +47,10 @@ pkg_setup() {
}
src_configure() {
+ # bug #856100
+ filter-lto
+ append-flags -fno-strict-aliasing
+
# 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
# But the docs aren't clear about it, so we would need some testing...
local netaccessor
diff --git a/dev-libs/xmlrpc-c/metadata.xml b/dev-libs/xmlrpc-c/metadata.xml
index 4fb5b568d943..4342f0f0cee4 100644
--- a/dev-libs/xmlrpc-c/metadata.xml
+++ b/dev-libs/xmlrpc-c/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="abyss">Build the Abyss mini web-server.</flag>
<flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> to parse XML instead of the internal expat library.</flag>
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 c0f74dbd4b1d..75dc10c802a6 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,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=8
inherit toolchain-funcs
-# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
+# Upstream maintains 3 release channels: https://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/
+# 2. SVN tagging of releases seems spotty: https://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"
+HOMEPAGE="https://xmlrpc-c.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
LICENSE="BSD"
SLOT="0/4.54"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris"
+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
index bdc54dc3b1e1..43e7f427799f 100644
--- a/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild
+++ b/dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs
-# Upstream maintains 3 release channels: http://xmlrpc-c.sourceforge.net/release.html
+# Upstream maintains 3 release channels: https://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/
+# 2. SVN tagging of releases seems spotty: https://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"
+HOMEPAGE="https://xmlrpc-c.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
LICENSE="BSD"
SLOT="0/4.54"
diff --git a/dev-libs/xmlsec/Manifest b/dev-libs/xmlsec/Manifest
index c1fd7521877a..1a4adea18094 100644
--- a/dev-libs/xmlsec/Manifest
+++ b/dev-libs/xmlsec/Manifest
@@ -1,4 +1,6 @@
DIST xmlsec1-1.2.37.tar.gz 2009175 BLAKE2B 19f43ba6bf6eb49428b9c5563baecbab21476f326cceee13785ae16769afa258f100732831c0f3f7d160543bd075cdcfdc5cbf11b7406637ee6c2f0e27c07f30 SHA512 99220cb28a346ffac0023f9f177d6a7be3ddcea04bea434b7dc926c1f0aaa5564d75f74f92896ac100179c04d77e001f688ddf46fed4e0a0b4f20b7b87c24900
DIST xmlsec1-1.2.38.tar.gz 2036578 BLAKE2B 03f7e1b5e659793bf1984c5a59582d9459089ce913620d5cc1e5a5d0eb65557580cd23fa190db277298fd7cc55bd41563b93cf61a37c8b7521a4690cd2ca3489 SHA512 724089777caae95db27e67f24381c066eaae23a9d64819a18bb04837c1ab1b380d19be2c7ee25659ca481d9eab96fcbe8027a430a0ac1630ad3b073cddd20fac
+DIST xmlsec1-1.2.39.tar.gz 2036905 BLAKE2B c1844f2068f6afe8dff3bf3fcf45a7180f09cae3418812b49b5c86b5387c795900a9ebd2077691d51d778c081f4282a54fdc11e7a54e6b8d969ef2871c2f5bb8 SHA512 bc8457bca8ada87c12d3be685bf8ad805f102b4ac1265e257ba12137e0430783973f27d22bfcb7559be5e89cb4c01b3556488fa641fc7c9d8f403972fdc8f2f7
DIST xmlsec1-1.3.1.tar.gz 2432943 BLAKE2B 1dafdffd959579add5c579e3fa9c9f9ddc73ce4aadc6fc2139506e6e64ffcd1bbe7298786e414900eb9f33f93b0a47da64e686c499e48d4c80d81b256db6692e SHA512 7f30c15c3edcafe70fa5febaa0ba39f73f8d30525ee102b5961a658dd2842fbc58e63f7595f15b150d71bf735bfa7688c3694a191b0d475776ca26902d90d25f
-DIST xmlsec1-1.3.2.tar.gz 2437263 BLAKE2B d11953c6e2a263a6742ef62309c2f29e2ba5761d58bee5f8cc761965d0e16fea148811ac3d8036d271400840a62ff2a7fff947bb5331170d3bcc598c558b2a95 SHA512 328f3d27cc1dadee27e5ee4649f6c5a094203cc27f42f1fe98fd429f7dd5630eaadff0e8bf14616016fc3530482ed8bcee4870289a41a083f6dd9bd603782a92
+DIST xmlsec1-1.3.3.tar.gz 2435741 BLAKE2B 1b0e44a8a5185d67b8f97ec72cd8e215fe79a988eb7ade0d2890be662b693d511857b24670ec692f9452bf95ad8c53ff80c250ecbcd167742477a83e0b72fda0 SHA512 1535b6f878259914ab9574892d05c927fbcd548986cf7bcf91e435acb2cb74eb11e58163f797038ee13a11444882814b2b4318cd677053fbe52557a2e4acf68a
+DIST xmlsec1-1.3.4.tar.gz 2435656 BLAKE2B b398f970e5b201971419b537125e9a7430c8d7c1c57e193b2592ee3f01ce797993607a210e87ad44e99bc0ef49ac4c350492268a3ac3bedbb81d937d99837468 SHA512 959a97ed7d7cbdc3e5ef037b2cb4f05bda299274c09ed3dfe24f7203d97e3dfc13bf480e15a2d15bcc7893569d341204884de58cc9b462b6c29306b67672e9c7
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch b/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
deleted file mode 100644
index e4b7ec4d7f68..000000000000
--- a/dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-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/xmlsec-1.2.39.ebuild b/dev-libs/xmlsec/xmlsec-1.2.39.ebuild
new file mode 100644
index 000000000000..5fcdd6b380de
--- /dev/null
+++ b/dev-libs/xmlsec/xmlsec-1.2.39.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Command line tool for signing, verifying, encrypting and decrypting XML"
+HOMEPAGE="https://www.aleksey.com/xmlsec"
+SRC_URI="https://www.aleksey.com/xmlsec/download/${PN}1-${PV}.tar.gz"
+S="${WORKDIR}/${PN}1-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc gcrypt gnutls nss +openssl static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ || ( gcrypt gnutls nss openssl )
+ gnutls? ( gcrypt )
+"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.7.4[ftp(+)]
+ >=dev-libs/libxslt-1.0.20
+ dev-libs/libltdl
+ gcrypt? ( >=dev-libs/libgcrypt-1.4.0:= )
+ gnutls? ( >=net-libs/gnutls-2.8.0:= )
+ nss? (
+ >=dev-libs/nspr-4.4.1
+ >=dev-libs/nss-3.9
+ )
+ openssl? (
+ dev-libs/openssl:=
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ nss? (
+ >=dev-libs/nss-3.9[utils]
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.37-libressl.patch # bug #903001
+)
+
+src_configure() {
+ # Bash because of bug #721128
+ CONFIG_SHELL="${BROOT}"/bin/bash econf \
+ $(use_enable doc docs) \
+ $(use_enable static-libs static) \
+ $(use_with gcrypt) \
+ $(use_with gnutls) \
+ $(use_with nss nspr) \
+ $(use_with nss) \
+ $(use_with openssl) \
+ --enable-mans \
+ --enable-pkgconfig
+}
+
+src_test() {
+ # See https://github.com/lsh123/xmlsec/issues/280 for TZ=UTC
+ TZ=UTC SHELL="${BROOT}"/bin/bash emake TMPFOLDER="${T}" check
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/xmlsec/xmlsec-1.3.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.2.ebuild b/dev-libs/xmlsec/xmlsec-1.3.4.ebuild
index c999cba77c0c..f0324bc08612 100644
--- a/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
+++ b/dev-libs/xmlsec/xmlsec-1.3.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -44,7 +44,6 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-1.3.0-optimisation.patch
- "${FILESDIR}"/${P}-libxml2-2.12.0-includes.patch
)
src_prepare() {
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/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/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-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-3.0.53.ebuild b/dev-libs/yaz/yaz-5.34.0.ebuild
index ded4ba65e435..1e2b41c93c32 100644
--- a/dev-libs/yaz/yaz-3.0.53.ebuild
+++ b/dev-libs/yaz/yaz-5.34.0.ebuild
@@ -1,20 +1,27 @@
-# 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
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"
+
+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"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc x86"
-IUSE="debug icu gnutls tcpd ziffy"
+SLOT="0/5"
+IUSE="gnutls tcpd ziffy"
RDEPEND="
+ dev-libs/icu:=
dev-libs/libxml2
dev-libs/libxslt
sys-libs/readline:=
@@ -22,34 +29,35 @@ RDEPEND="
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
+ app-alternatives/yacc
+ >=dev-build/libtool-2
virtual/pkgconfig
"
PATCHES=(
- "${FILESDIR}"/${PN}-3.0.47-icu-automagic.patch
+ "${FILESDIR}"/yaz-5.34.0-fix-atoi-header.patch
+ "${FILESDIR}"/yaz-5.34.0-fix-libxml2-2.12.patch
)
src_prepare() {
default
- AT_M4DIR="m4" eautoreconf
+
+ # Hardcoded assumption of libraries residing in lib/, bug #730016
+ sed -i -e "s|/lib\"|/$(get_libdir)\"|" configure.ac || die
+
+ eautoreconf
}
src_configure() {
econf \
- --enable-static \
--enable-shared \
- $(use_enable debug memdebug) \
$(use_with gnutls) \
- $(use_enable icu) \
$(use_enable tcpd tcpd /usr)
}
@@ -57,10 +65,12 @@ 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 README
+ dodoc ChangeLog NEWS
}
diff --git a/dev-libs/yyjson/Manifest b/dev-libs/yyjson/Manifest
index 52ddb0b3a064..8bfc6ed85508 100644
--- a/dev-libs/yyjson/Manifest
+++ b/dev-libs/yyjson/Manifest
@@ -1 +1,2 @@
-DIST yyjson-0.8.0.tar.gz 1529369 BLAKE2B b76acfbc48a3520129c5ecffd61b5eb06a1a0103b09e31cf45ead6ddb9876c30c0d096e104bb73a57c128b42fa9b5dd7af700144d61dd51e2ac14f188e5e5195 SHA512 3872b46930fd0f4d659004a4d08cdb1c506ccc2bf2888f5ee50523929a2b72f9d8e72ee71dc958ebca630f1886858d4350521bffc18c300a27d25436833384a9
+DIST yyjson-0.10.0.tar.gz 1538409 BLAKE2B 84dbed32579a56a6051b7360d2ddec5b1d8991d1b6e818dcca943ee2a3b26d534c1a911995ae1b0c13fc1cdbfd45aab52e36327529405aa3d39622caa0eb75a9 SHA512 d0274bfdae6291cc54d7c306f7f9064333d3e0fd8d235428148fa5695e151e0fdd0982247a5e82fe60b27e9182ba27d5704aca4546a8dc9545117bd3a017bfb5
+DIST yyjson-0.9.0.tar.gz 1531794 BLAKE2B 070b9921dbe897d345bae4fa653b48ec38a0d7a0b27a7dba476b7c62d18f0d0b79484d7a66e1fb80b0885a6ebf78a9e3a21240407736ae5106cbbc5a9bc5a677 SHA512 4b9ca85096ccfe2f513a5869eb63b175f44c67785940e02414f6a586d7dd7b772fed77a1775d9416a5f1bf17f20e18a31f0dc4e65be263019d9b95bf95366219
diff --git a/dev-libs/yyjson/yyjson-0.10.0.ebuild b/dev-libs/yyjson/yyjson-0.10.0.ebuild
new file mode 100644
index 000000000000..d9b3e44def4d
--- /dev/null
+++ b/dev-libs/yyjson/yyjson-0.10.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/yyjson/yyjson-0.8.0.ebuild b/dev-libs/yyjson/yyjson-0.9.0.ebuild
index 2f322ca23bc4..8cf40aaa1dd9 100644
--- a/dev-libs/yyjson/yyjson-0.8.0.ebuild
+++ b/dev-libs/yyjson/yyjson-0.9.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,14 +10,14 @@ HOMEPAGE="https://github.com/ibireme/yyjson https://ibireme.github.io/yyjson/doc
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 ~ppc ~ppc64 ~riscv ~x86"
+SLOT="0/0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
PATCHES=(
"${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
diff --git a/dev-libs/zix/zix-0.4.2.ebuild b/dev-libs/zix/zix-0.4.2.ebuild
index e12ee399e668..23580187808d 100644
--- a/dev-libs/zix/zix-0.4.2.ebuild
+++ b/dev-libs/zix/zix-0.4.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,14 +12,14 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
doc? (
- app-doc/doxygen
+ app-text/doxygen
dev-python/sphinx
dev-python/sphinx-lv2-theme
dev-python/sphinxygen
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/Manifest b/dev-libs/zthread/Manifest
deleted file mode 100644
index af07a5000190..000000000000
--- a/dev-libs/zthread/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ZThread-2.3.2.tar.gz 412527 BLAKE2B f8b176a35ca2df21460825f4cf9406a0e0fdd0a320eca2ffa323c47f025fa76e087bc30e3f6f2dc061cd79b0346c023f736f5fa2d1b0829eef718197c4e50e67 SHA512 e17e12746d16f32f6f1dc8ec041795f3c05a541c015b9579252599b51de9f97dc780946e6e83b41ca78d1af892455e6f00169a089f6e1a7c3196d6a4f49a7f7b
diff --git a/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch b/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
deleted file mode 100644
index bcd9e0675979..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-automake-r2.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 577b34b74b7a73650d906f371044bfaed6e8b74c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch>
-Date: Tue, 19 Feb 2013 10:13:12 +0100
-Subject: [PATCH] Use standard automake rules rather than hand coding the
- install rules and append linker flags to LDFLAGS and not LDADD, otherwise
- --as-needed gets ignored (and possibly others).
-
----
- Makefile.am | 21 +++++----------------
- configure.ac | 1 -
- src/Makefile.am | 2 --
- 3 files changed, 5 insertions(+), 19 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 6c092cf..2d7bddf 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -24,24 +24,13 @@ LICENSE \
- MIT.TXT \
- depcomp
-
-+bin_SCRIPTS = share/zthread-config
-
--## install the config script
--install-exec-hook:
-- $(mkinstalldirs) $(bindir)
-- $(INSTALL_PROGRAM) $(top_srcdir)/share/zthread-config $(bindir)
-+aclocaldir = $(datadir)/aclocal
-+aclocal_DATA = share/zthread.m4 share/pthread.m4
-
--## install the config script & m4 macros
--install-data-hook:
-- $(mkinstalldirs) $(datadir)/aclocal
-- $(INSTALL_DATA) $(top_srcdir)/share/zthread.m4 $(datadir)/aclocal
-- $(INSTALL_DATA) $(top_srcdir)/share/pthread.m4 $(datadir)/aclocal
-- mkdir -p $(DESTDIR)$(includedir)/zthread
-- cp -pR $(top_srcdir)/include/zthread $(DESTDIR)$(includedir)/
--
--## uninstall the config script & m4 macros
--uninstall-local:
-- -rm -rf $(datadir)/aclocal/pthread.m4
-- -rm -rf $(datadir)/aclocal/zthread.m4
-+zincludedir = $(includedir)/zthread
-+zinclude_HEADERS = include/zthread/*.h
-
- distclean-local:
- -rm -rf $(top_srcdir)/$(PACKAGE)-$(VERSION).tar.gz
-diff --git a/configure.ac b/configure.ac
-index 866041b..5d32a58 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -226,7 +226,6 @@ AC_TRY_LINK( [#include <windows.h>], [_beginthreadex((void*)0, 0, 0, (void*)0, 0
-
- dnl Configure the final compiler & linker options
- COMPILER_OPTIONS="$COMPILER_OPTIONS $CXXFLAGS"
--LINKER_OPTIONS="$LINKER_OPTIONS $LDFLAGS"
-
- dnl Configured flags for compiling ZThreads
- AC_SUBST(LINKER_OPTIONS)
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 04404d6..35dc764 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -21,8 +21,6 @@ AM_CXXFLAGS = @COMPILER_OPTIONS@ @EXTRA_COMPILER_OPTIONS@
- INCLUDES = -I$(top_srcdir)/include
- SUBDIRS=.
-
--libdir=$(prefix)/lib
--
- lib_LTLIBRARIES = libZThread.la
-
- libZThread_la_LIBADD=@LINKER_OPTIONS@ @EXTRA_LINKER_OPTIONS@
---
-1.8.1.1
-
diff --git a/dev-libs/zthread/files/zthread-2.3.2-clang.patch b/dev-libs/zthread/files/zthread-2.3.2-clang.patch
deleted file mode 100644
index 3c0e07b9dc4a..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-clang.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-fix compile when using clang as $CC:
-
-Based on patch from https://bugs.launchpad.net/hugin/+bug/1213585 (rebased)
-
---- a/include/zthread/Guard.h
-+++ b/include/zthread/Guard.h
-@@ -108,7 +108,7 @@
- }
-
- template <class LockType>
-- static void createScope(LockHolder<LockType>& l, unsigned long ms) {
-+ static bool createScope(LockHolder<LockType>& l, unsigned long ms) {
-
- if(Scope1::createScope(l, ms))
- if(!Scope2::createScope(l, ms)) {
diff --git a/dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch b/dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch
deleted file mode 100644
index 998dc36c2976..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-configure-clang16.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-pthread_yield needs GNU_SOURCE (missing in the test here), but pthread_yield
-is both deprecated and also not actually used (even conditionally!) in zthread,
-so let's just drop the test.
-
-(zthread uses sched_yield conditionally, however.)
---- a/share/pthread.m4
-+++ b/share/pthread.m4
-@@ -128,14 +128,6 @@ pthread_explicit="no"
- AC_DEFINE(HAVE_SCHED_YIELD,,[Defined if sched_yield() is available]) ],
- [ AC_MSG_RESULT(no) ])
-
-- dnl Check for pthread_yield
-- AC_MSG_CHECKING(for pthread_yield);
-- AC_TRY_LINK([#include <pthread.h>],
-- [ pthread_yield(); ],
-- [ AC_MSG_RESULT(yes)
-- AC_DEFINE(HAVE_PTHREAD_YIELD,,[Defined if pthread_yield() is available]) ],
-- [ AC_MSG_RESULT(no) ])
--
- dnl Check for pthread_key_create
- AC_MSG_CHECKING(for pthread_key_create)
- AC_TRY_LINK([#include <pthread.h>],
diff --git a/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch b/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
deleted file mode 100644
index 57b122d22c5f..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-gcc47.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Description: Make sure to use qualified lookups.
-http://bugs.debian.org/667430
-https://bugs.gentoo.org/show_bug.cgi?id=414133
-
-Author: Cyril Brulebois <kibi@debian.org>
---- a/include/zthread/Guard.h
-+++ b/include/zthread/Guard.h
-@@ -428,7 +428,7 @@
- template <class U, class V>
- Guard(Guard<U, V>& g) : LockHolder<LockType>(g) {
-
-- LockingPolicy::shareScope(*this, extract(g));
-+ LockingPolicy::shareScope(*this, this->extract(g));
-
- }
-
-@@ -458,7 +458,7 @@
- template <class U, class V>
- Guard(Guard<U, V>& g, LockType& lock) : LockHolder<LockType>(lock) {
-
-- LockingPolicy::transferScope(*this, extract(g));
-+ LockingPolicy::transferScope(*this, this->extract(g));
-
- }
-
diff --git a/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch b/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
deleted file mode 100644
index 72163a3b12a3..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-m4-quote.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-fix m4 warnings:
-zthread.m4:34: warning: underquoted definition of AM_PATH_ZTHREAD
-pthread.m4:39: warning: underquoted definition of AM_DETECT_PTHREAD
-
---- a/share/zthread.m4
-+++ b/share/zthread.m4
-@@ -31,7 +31,7 @@
- dnl ZTHREAD_CXXFLAGS
- dnl ZTHREAD_LIBS
- dnl
--AC_DEFUN(AM_PATH_ZTHREAD,
-+AC_DEFUN([AM_PATH_ZTHREAD],
- [
-
-
---- a/share/pthread.m4
-+++ b/share/pthread.m4
-@@ -36,7 +36,7 @@
- GNU Pth can also be used if it was configured with --enable-pthread.
- EOF
-
--AC_DEFUN(AM_DETECT_PTHREAD,
-+AC_DEFUN([AM_DETECT_PTHREAD],
- [
-
- pthread_explicit="no"
diff --git a/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff b/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff
deleted file mode 100644
index b8f68f59dd2a..000000000000
--- a/dev-libs/zthread/files/zthread-2.3.2-no-fpermissive-r1.diff
+++ /dev/null
@@ -1,94 +0,0 @@
---- a/include/zthread/Guard.h
-+++ b/include/zthread/Guard.h
-@@ -491,7 +491,7 @@
-
- try {
-
-- if(!isDisabled())
-+ if(!LockHolder<LockType>::isDisabled())
- LockingPolicy::destroyScope(*this);
-
- } catch (...) { /* ignore */ }
---- a/src/MutexImpl.h
-+++ b/src/MutexImpl.h
-@@ -153,7 +153,7 @@
-
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List,Behavior>::ownerAcquired(self);
-
- }
-
-@@ -164,7 +164,7 @@
- _waiters.insert(self);
- m.acquire();
-
-- waiterArrived(self);
-+ MutexImpl<List, Behavior>::waiterArrived(self);
-
- {
-
-@@ -173,7 +173,7 @@
-
- }
-
-- waiterDeparted(self);
-+ MutexImpl<List, Behavior>::waiterDeparted(self);
-
- m.release();
-
-@@ -192,7 +192,7 @@
- assert(_owner == 0);
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List, Behavior>::ownerAcquired(self);
-
- break;
-
-@@ -236,7 +236,7 @@
-
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List, Behavior>::ownerAcquired(self);
-
- }
-
-@@ -253,7 +253,7 @@
-
- m.acquire();
-
-- waiterArrived(self);
-+ MutexImpl<List, Behavior>:: waiterArrived(self);
-
- {
-
-@@ -262,7 +262,7 @@
-
- }
-
-- waiterDeparted(self);
-+ MutexImpl<List, Behavior>::waiterDeparted(self);
-
- m.release();
-
-@@ -284,7 +284,7 @@
- assert(0 == _owner);
- _owner = self;
-
-- ownerAcquired(self);
-+ MutexImpl<List, Behavior>::ownerAcquired(self);
-
- break;
-
-@@ -326,7 +326,7 @@
-
- _owner = 0;
-
-- ownerReleased(impl);
-+ MutexImpl<List, Behavior>::ownerReleased(impl);
-
- // Try to find a waiter with a backoff & retry scheme
- for(;;) {
diff --git a/dev-libs/zthread/zthread-2.3.2-r5.ebuild b/dev-libs/zthread/zthread-2.3.2-r5.ebuild
deleted file mode 100644
index 87af37d2ba8d..000000000000
--- a/dev-libs/zthread/zthread-2.3.2-r5.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
-
-MY_P="ZThread-${PV}"
-
-DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
-HOMEPAGE="http://zthread.sourceforge.net/"
-SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm64 ~hppa ~mips ppc ~sparc x86"
-IUSE="debug doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-fpermissive-r1.diff
- "${FILESDIR}"/${P}-m4-quote.patch
- "${FILESDIR}"/${P}-automake-r2.patch
- "${FILESDIR}"/${P}-gcc47.patch
- "${FILESDIR}"/${P}-clang.patch
- "${FILESDIR}"/${P}-configure-clang16.patch
-)
-
-src_prepare() {
- default
-
- rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
-
- # bug #467778
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
-
- AT_M4DIR="share" eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable kernel_linux atomic-linux)
-}
-
-src_compile() {
- default
-
- if use doc; then
- doxygen doc/zthread.doxygen || die
- sed -i -e 's|href="html/|href="|' doc/documentation.html || die
- cp doc/documentation.html doc/html/index.html || die
- cp doc/{zthread.css,bugs.js} doc/html/ || die
- fi
-}
-
-src_install() {
- default
-
- use doc && dodoc -r doc/html
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/zug/Manifest b/dev-libs/zug/Manifest
new file mode 100644
index 000000000000..b74bd015ded3
--- /dev/null
+++ b/dev-libs/zug/Manifest
@@ -0,0 +1 @@
+DIST zug-0.1.1.tar.gz 102857 BLAKE2B 659e557fcac7c00d8ec3dcb54839bd6fbb23ca46b9d2052197b2f5e983eec1dc4251b36ed920b6f43225ff98a8bd1d3e65218f301dd121bdf8c2394efbb5e1b3 SHA512 1348a0bdd7aed1a590287ff3a1c45c0cb1aef2aca12dc37e77705c2b2015704f766fac82833fa28beb79efe00f6ff63ee1dcb220cdc43517f625ba5edecc090c
diff --git a/dev-libs/zug/metadata.xml b/dev-libs/zug/metadata.xml
new file mode 100644
index 000000000000..31d7c54166cc
--- /dev/null
+++ b/dev-libs/zug/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>darkdefende@gmail.com</email>
+ <name>Sebastian Parborg</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">arximboldi/zug</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/zug/zug-0.1.1-r1.ebuild b/dev-libs/zug/zug-0.1.1-r1.ebuild
new file mode 100644
index 000000000000..6cccaf41364f
--- /dev/null
+++ b/dev-libs/zug/zug-0.1.1-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Transducers for C++"
+HOMEPAGE="https://sinusoid.es/zug/"
+SRC_URI="https://github.com/arximboldi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/boost:="
+
+BDEPEND="
+ test? ( <dev-cpp/catch-3:0 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCCACHE=no
+ -DDISABLE_WERROR=yes
+ -Dzug_BUILD_DOCS=no # Recheck if documentation is in a better state when bumping
+ -Dzug_BUILD_EXAMPLES=no
+ -Dzug_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use test; then
+ cmake_build tests
+ fi
+
+}
diff --git a/dev-libs/zug/zug-0.1.1.ebuild b/dev-libs/zug/zug-0.1.1.ebuild
new file mode 100644
index 000000000000..5daa480a025c
--- /dev/null
+++ b/dev-libs/zug/zug-0.1.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
+
+DESCRIPTION="Transducers for C++"
+HOMEPAGE="https://sinusoid.es/zug/"
+SRC_URI="https://github.com/arximboldi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? ( <dev-cpp/catch-3:0 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCCACHE=no
+ -Dzug_BUILD_DOCS=OFF # Recheck if documentation is in a better state when bumping
+ -Dzug_BUILD_EXAMPLES=OFF
+ -Dzug_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use test; then
+ cmake_build tests
+ fi
+
+}
diff --git a/dev-libs/zziplib/Manifest b/dev-libs/zziplib/Manifest
index b561f2a5b06b..6368bbeeff2f 100644
--- a/dev-libs/zziplib/Manifest
+++ b/dev-libs/zziplib/Manifest
@@ -1 +1,5 @@
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
+DIST zziplib-0.13.76.tar.gz 1185716 BLAKE2B c04743fc47e6a0e102a01d0473d88b9f9cb044a3a021119d16533949d0a1f132fb73f957714a840b0474590bc98f62132e89ce890c5c9097a77d8f007c3f1e5a SHA512 d4b327530fc2681df1705b24d5de697d3c3829e299c28e047849444c7aeaf87e188d96782a2009dc7ae216f82f744a32a94fc7962fb12b3a62b28d7ecf12a7d6
+DIST zziplib-0.13.77.tar.gz 1190133 BLAKE2B 30ab10a440dbef6a9d37e75652734ed6c51fa902f6106d864b923a2d5d0ad170bcb279681e05f613ab8c20ade374ce1f8be21575b1b5f27cb9c7e7da9441c16a SHA512 63071f1ea7290d7658ff4cfdb2aaef5d07f319e12077365ddef6c57c671fcc66efa10e40c6885879063bb8c724524e04264ebfcdc9493e0299f03e3637a1b1d9
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-r3.ebuild b/dev-libs/zziplib/zziplib-0.13.72-r4.ebuild
index f220fc191712..e318b7614062 100644
--- a/dev-libs/zziplib/zziplib-0.13.72-r3.ebuild
+++ b/dev-libs/zziplib/zziplib-0.13.72-r4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
# Needed for docs, bug #835755
PYTHON_REQ_USE="xml(+)"
inherit cmake flag-o-matic python-any-r1
@@ -31,6 +31,7 @@ RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-0.13.72-Wint-conversion.patch
+ "${FILESDIR}"/${PN}-0.13.72-incompatible-pointer-types.patch
)
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}"
+}
diff --git a/dev-libs/zziplib/zziplib-0.13.76.ebuild b/dev-libs/zziplib/zziplib-0.13.76.ebuild
new file mode 100644
index 000000000000..cef1f31dd237
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.76.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}"
+}
diff --git a/dev-libs/zziplib/zziplib-0.13.77.ebuild b/dev-libs/zziplib/zziplib-0.13.77.ebuild
new file mode 100644
index 000000000000..ad5170c0585a
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.77.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..13} )
+# Needed for docs, bug #8357553
+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}"
+}