summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/FBGEMM/FBGEMM-2023.12.04.ebuild79
-rw-r--r--dev-libs/FBGEMM/Manifest1
-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/Manifest1
-rw-r--r--dev-libs/aml/aml-0.3.0.ebuild4
-rw-r--r--dev-libs/apache-arrow/Manifest11
-rw-r--r--dev-libs/apache-arrow/apache-arrow-16.1.0.ebuild (renamed from dev-libs/apache-arrow/apache-arrow-15.0.0.ebuild)12
-rw-r--r--dev-libs/apache-arrow/apache-arrow-17.0.0.ebuild (renamed from dev-libs/apache-arrow/apache-arrow-14.0.2-r1.ebuild)41
-rw-r--r--dev-libs/apache-arrow/files/apache-arrow-14.0.1-gcc14.patch10
-rw-r--r--dev-libs/appstream/Manifest3
-rw-r--r--dev-libs/appstream/appstream-0.15.6.ebuild77
-rw-r--r--dev-libs/appstream/appstream-1.0.3.ebuild (renamed from dev-libs/appstream/appstream-1.0.2.ebuild)0
-rw-r--r--dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch46
-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)27
-rw-r--r--dev-libs/apr/apr-1.7.4-r3.ebuild (renamed from dev-libs/apr/apr-1.7.4-r1.ebuild)17
-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/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/metadata.xml3
-rw-r--r--dev-libs/aws-c-event-stream/metadata.xml3
-rw-r--r--dev-libs/aws-c-io/metadata.xml3
-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/bemenu/Manifest1
-rw-r--r--dev-libs/bemenu/bemenu-0.6.21.ebuild62
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r1.ebuild2
-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/boehm-gc-8.2.6.ebuild2
-rw-r--r--dev-libs/boost/Manifest1
-rw-r--r--dev-libs/boost/boost-1.84.0-r3.ebuild2
-rw-r--r--dev-libs/boost/boost-1.85.0-r1.ebuild353
-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/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/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)0
-rw-r--r--dev-libs/c-blosc2/Manifest8
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.10.5.ebuild67
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.11.2.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.11.3.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.12.0.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.13.0.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.13.1.ebuild63
-rw-r--r--dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild (renamed from dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild)4
-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.xml11
-rw-r--r--dev-libs/cJSON/Manifest3
-rw-r--r--dev-libs/cJSON/cJSON-1.7.16.ebuild30
-rw-r--r--dev-libs/cJSON/cJSON-1.7.18.ebuild (renamed from dev-libs/cJSON/cJSON-1.7.17.ebuild)2
-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.ebuild8
-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/Manifest2
-rw-r--r--dev-libs/cdk/cdk-5.0.20240331.ebuild63
-rw-r--r--dev-libs/cglm/Manifest4
-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.9.1.ebuild)4
-rw-r--r--dev-libs/chmlib/metadata.xml5
-rw-r--r--dev-libs/cjose/Manifest1
-rw-r--r--dev-libs/cjose/cjose-0.6.2.3.ebuild40
-rw-r--r--dev-libs/clog/Manifest1
-rw-r--r--dev-libs/clog/clog-2023.11.04.ebuild40
-rw-r--r--dev-libs/clog/files/clog-2023.11.04-test.patch11
-rw-r--r--dev-libs/clog/metadata.xml11
-rw-r--r--dev-libs/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/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/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)19
-rw-r--r--dev-libs/criterion/criterion-2.4.1.ebuild12
-rw-r--r--dev-libs/crossguid/crossguid-0_pre20150817.ebuild2
-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.xml5
-rw-r--r--dev-libs/cutlass/Manifest3
-rw-r--r--dev-libs/cutlass/cutlass-2.10.0-r1.ebuild38
-rw-r--r--dev-libs/cutlass/cutlass-3.3.0.ebuild3
-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/cxxopts-3.0.0-r1.ebuild4
-rw-r--r--dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild2
-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/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.ebuild2
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild2
-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-r2.ebuild64
-rw-r--r--dev-libs/dotconf/Manifest1
-rw-r--r--dev-libs/dotconf/dotconf-1.3-r2.ebuild2
-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/Manifest1
-rw-r--r--dev-libs/dqlite/dqlite-1.16.0.ebuild49
-rw-r--r--dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild (renamed from dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild)9
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch15
-rw-r--r--dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch8
-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/efl/Manifest1
-rw-r--r--dev-libs/efl/efl-1.26.3-r2.ebuild318
-rw-r--r--dev-libs/efl/efl-1.27.0-r1.ebuild (renamed from dev-libs/efl/efl-1.27.0.ebuild)10
-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/elfutils-0.191-r1.ebuild123
-rw-r--r--dev-libs/elfutils/elfutils-0.191.ebuild2
-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/Manifest6
-rw-r--r--dev-libs/ell/ell-0.61.ebuild54
-rw-r--r--dev-libs/ell/ell-0.62.ebuild54
-rw-r--r--dev-libs/ell/ell-0.66.ebuild (renamed from dev-libs/ell/ell-0.58.ebuild)5
-rw-r--r--dev-libs/ell/ell-0.67.ebuild (renamed from dev-libs/ell/ell-0.63.ebuild)5
-rw-r--r--dev-libs/expat/Manifest1
-rw-r--r--dev-libs/expat/expat-2.6.1.ebuild6
-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/Manifest3
-rw-r--r--dev-libs/flatbuffers/flatbuffers-23.1.21.ebuild35
-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/files/folks-0.15.6-implicit-decl.patch61
-rw-r--r--dev-libs/folks/folks-0.15.6-r1.ebuild102
-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_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-r1.ebuild)18
-rw-r--r--dev-libs/freexl/freexl-1.0.6.ebuild9
-rw-r--r--dev-libs/freexl/freexl-2.0.0-r1.ebuild7
-rw-r--r--dev-libs/girara/girara-9999.ebuild4
-rw-r--r--dev-libs/gjs/Manifest3
-rw-r--r--dev-libs/gjs/gjs-1.78.4.ebuild68
-rw-r--r--dev-libs/gjs/gjs-1.78.5.ebuild (renamed from dev-libs/gjs/gjs-1.78.1.ebuild)2
-rw-r--r--dev-libs/glib/Manifest1
-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.ebuild2
-rw-r--r--dev-libs/glib/glib-2.78.3.ebuild2
-rw-r--r--dev-libs/glib/glib-2.78.4-r1.ebuild7
-rw-r--r--dev-libs/glib/glib-2.78.6.ebuild320
-rw-r--r--dev-libs/gmime/Manifest1
-rw-r--r--dev-libs/gmime/gmime-3.2.13.ebuild70
-rw-r--r--dev-libs/gmime/gmime-3.2.14.ebuild2
-rw-r--r--dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild2
-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/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/hipother/Manifest1
-rw-r--r--dev-libs/hipother/hipother-6.1.1.ebuild18
-rw-r--r--dev-libs/hipother/metadata.xml14
-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/Manifest1
-rw-r--r--dev-libs/hyprland-protocols/hyprland-protocols-0.3.0.ebuild25
-rw-r--r--dev-libs/hyprlang/Manifest5
-rw-r--r--dev-libs/hyprlang/hyprlang-0.5.0.ebuild (renamed from dev-libs/hyprlang/hyprlang-0.4.0.ebuild)2
-rw-r--r--dev-libs/hyprlang/hyprlang-0.5.1.ebuild (renamed from dev-libs/hyprlang/hyprlang-0.4.1.ebuild)0
-rw-r--r--dev-libs/hyprlang/hyprlang-0.5.2.ebuild14
-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/Manifest2
-rw-r--r--dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild131
-rw-r--r--dev-libs/icu/Manifest2
-rw-r--r--dev-libs/icu/icu-74.2.ebuild8
-rw-r--r--dev-libs/icu/icu-75.1.ebuild179
-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-r1.ebuild)5
-rw-r--r--dev-libs/igraph/igraph-0.10.12.ebuild (renamed from dev-libs/igraph/igraph-0.10.4.ebuild)11
-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.9.ebuild)36
-rw-r--r--dev-libs/imath/imath-3.1.11.ebuild (renamed from dev-libs/imath/imath-3.1.6.ebuild)32
-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/inih-58.ebuild2
-rw-r--r--dev-libs/iniparser/Manifest1
-rw-r--r--dev-libs/iniparser/iniparser-4.1-r1.ebuild2
-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/Manifest4
-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.48.27912.9.ebuild)16
-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.ebuild (renamed from dev-libs/intel-compute-runtime/intel-compute-runtime-23.52.28202.23.ebuild)17
-rw-r--r--dev-libs/intel-metrics-discovery/Manifest3
-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.170.ebuild)0
-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.156.ebuild)0
-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.16.0.ebuild)10
-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.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.ebuild1
-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/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.ebuild4
-rw-r--r--dev-libs/json-c/json-c-0.17.ebuild5
-rw-r--r--dev-libs/json-c/json-c-9999.ebuild3
-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.ebuild2
-rw-r--r--dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild2
-rw-r--r--dev-libs/judy/judy-1.0.5-r4.ebuild6
-rw-r--r--dev-libs/kdiagram/kdiagram-3.0.1.ebuild2
-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/kirigami-addons/Manifest3
-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.ebuild (renamed from dev-libs/kirigami-addons/kirigami-addons-1.0.1.ebuild)17
-rw-r--r--dev-libs/kirigami-addons/kirigami-addons-1.4.0.ebuild44
-rw-r--r--dev-libs/kopeninghours/Manifest3
-rw-r--r--dev-libs/kopeninghours/kopeninghours-23.08.4.ebuild64
-rw-r--r--dev-libs/kopeninghours/kopeninghours-24.05.2.ebuild (renamed from dev-libs/kopeninghours/kopeninghours-24.02.0.ebuild)4
-rw-r--r--dev-libs/kosmindoormap/Manifest3
-rw-r--r--dev-libs/kosmindoormap/files/kosmindoormap-24.05.1-cmake.patch82
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-23.08.4.ebuild47
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-24.05.2.ebuild (renamed from dev-libs/kosmindoormap/kosmindoormap-24.02.0.ebuild)7
-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.ebuild2
-rw-r--r--dev-libs/kpublictransport/Manifest3
-rw-r--r--dev-libs/kpublictransport/kpublictransport-23.08.4.ebuild40
-rw-r--r--dev-libs/kpublictransport/kpublictransport-24.05.2.ebuild (renamed from dev-libs/kpublictransport/kpublictransport-24.02.0.ebuild)4
-rw-r--r--dev-libs/kreport/kreport-3.2.0-r3.ebuild4
-rw-r--r--dev-libs/ktextaddons/Manifest2
-rw-r--r--dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild (renamed from dev-libs/ktextaddons/ktextaddons-1.5.3.ebuild)3
-rw-r--r--dev-libs/kweathercore/kweathercore-0.7.ebuild11
-rw-r--r--dev-libs/kweathercore/kweathercore-0.8.0.ebuild13
-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/Manifest3
-rw-r--r--dev-libs/leatherman/leatherman-1.12.12.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/level-zero/Manifest3
-rw-r--r--dev-libs/level-zero/level-zero-1.17.19.ebuild36
-rw-r--r--dev-libs/level-zero/level-zero-1.17.6.ebuild (renamed from dev-libs/level-zero/level-zero-1.15.8.ebuild)2
-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/libaio/libaio-0.3.113-r1.ebuild2
-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/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/Manifest3
-rw-r--r--dev-libs/libbpf/libbpf-1.3.2.ebuild (renamed from dev-libs/libbpf/libbpf-1.2.2.ebuild)29
-rw-r--r--dev-libs/libbpf/libbpf-1.4.5.ebuild65
-rw-r--r--dev-libs/libbpf/libbpf-9999.ebuild25
-rw-r--r--dev-libs/libbpf/metadata.xml4
-rw-r--r--dev-libs/libbsd/Manifest2
-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.7-r2.ebuild61
-rw-r--r--dev-libs/libbsd/libbsd-0.11.8.ebuild2
-rw-r--r--dev-libs/libburn/libburn-1.5.6-r1.ebuild2
-rw-r--r--dev-libs/libburn/libburn-1.5.6.ebuild40
-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)8
-rw-r--r--dev-libs/libcec/libcec-6.0.2-r2.ebuild8
-rw-r--r--dev-libs/libcgroup/libcgroup-0.41-r6.ebuild2
-rw-r--r--dev-libs/libclc/Manifest10
-rw-r--r--dev-libs/libclc/libclc-17.0.6.ebuild2
-rw-r--r--dev-libs/libclc/libclc-18.1.8.ebuild (renamed from dev-libs/libclc/libclc-19.0.0_pre20240224.ebuild)5
-rw-r--r--dev-libs/libclc/libclc-19.0.0.9999.ebuild4
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240706.ebuild (renamed from dev-libs/libclc/libclc-18.1.0_rc4.ebuild)4
-rw-r--r--dev-libs/libclc/libclc-19.0.0_pre20240712.ebuild (renamed from dev-libs/libclc/libclc-19.0.0_pre20240302.ebuild)4
-rw-r--r--dev-libs/libclc/libclc-20.0.0.9999.ebuild (renamed from dev-libs/libclc/libclc-18.1.0_rc3.ebuild)4
-rw-r--r--dev-libs/libconfig/libconfig-1.7.3.ebuild2
-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.ebuild10
-rw-r--r--dev-libs/libdbh/libdbh-5.0.22.ebuild2
-rw-r--r--dev-libs/libdbusmenu-lxqt/Manifest1
-rw-r--r--dev-libs/libdbusmenu-lxqt/files/libdbusmenu-lxqt-0.1.0-cmake.patch129
-rw-r--r--dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.1.0.ebuild24
-rw-r--r--dev-libs/libdbusmenu-lxqt/metadata.xml11
-rw-r--r--dev-libs/libdex/Manifest2
-rw-r--r--dev-libs/libdex/libdex-0.4.3.ebuild2
-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/libdnet/Manifest1
-rw-r--r--dev-libs/libdnet/libdnet-1.16.4.ebuild10
-rw-r--r--dev-libs/libdnet/libdnet-1.17.0.ebuild11
-rw-r--r--dev-libs/libdnet/libdnet-1.18.0-r1.ebuild98
-rw-r--r--dev-libs/libdnet/libdnet-1.18.0.ebuild93
-rw-r--r--dev-libs/libebml/libebml-1.4.5.ebuild2
-rw-r--r--dev-libs/libei/Manifest1
-rw-r--r--dev-libs/libei/libei-1.2.0.ebuild98
-rw-r--r--dev-libs/libei/libei-1.2.1.ebuild7
-rw-r--r--dev-libs/libelf/libelf-0.8.13-r4.ebuild4
-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)2
-rw-r--r--dev-libs/libevdev/libevdev-1.13.2.ebuild50
-rw-r--r--dev-libs/libevdev/libevdev-9999.ebuild4
-rw-r--r--dev-libs/libezV24/libezV24-0.1.1-r2.ebuild4
-rw-r--r--dev-libs/libezV24/libezV24-0.1.1-r3.ebuild2
-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/libffi/libffi-3.4.4-r3.ebuild82
-rw-r--r--dev-libs/libffi/libffi-3.4.4-r4.ebuild2
-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.45.0.ebuild)10
-rw-r--r--dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild (renamed from dev-libs/libfilezilla/libfilezilla-0.46.0.ebuild)10
-rw-r--r--dev-libs/libfmt/Manifest3
-rw-r--r--dev-libs/libfmt/libfmt-10.0.0-r1.ebuild (renamed from dev-libs/libfmt/libfmt-10.2.1.ebuild)4
-rw-r--r--dev-libs/libfmt/libfmt-10.1.0-r1.ebuild (renamed from dev-libs/libfmt/libfmt-10.2.0.ebuild)4
-rw-r--r--dev-libs/libfmt/libfmt-10.1.0.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-10.1.1-r1.ebuild (renamed from dev-libs/libfmt/libfmt-10.0.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.ebuild (renamed from dev-libs/libfmt/libfmt-10.2.1-r1.ebuild)4
-rw-r--r--dev-libs/libfmt/libfmt-11.0.0.ebuild (renamed from dev-libs/libfmt/libfmt-10.1.1.ebuild)7
-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-r2.ebuild32
-rw-r--r--dev-libs/libfmt/libfmt-9999.ebuild4
-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.ebuild2
-rw-r--r--dev-libs/libgcrypt/Manifest2
-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.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/libgcrypt-1.10.2.ebuild11
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild11
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild10
-rw-r--r--dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild186
-rw-r--r--dev-libs/libgit2-glib/libgit2-glib-1.2.0.ebuild4
-rw-r--r--dev-libs/libgit2/Manifest2
-rw-r--r--dev-libs/libgit2/libgit2-1.7.2.ebuild9
-rw-r--r--dev-libs/libgit2/libgit2-1.8.1.ebuild (renamed from dev-libs/libgit2/libgit2-1.7.1.ebuild)13
-rw-r--r--dev-libs/libgnt/libgnt-2.14.2.ebuild4
-rw-r--r--dev-libs/libgnt/libgnt-2.14.3.ebuild2
-rw-r--r--dev-libs/libgpg-error/Manifest4
-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.ebuild4
-rw-r--r--dev-libs/libgpg-error/libgpg-error-1.48.ebuild2
-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.ebuild2
-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/Manifest2
-rw-r--r--dev-libs/libgusb/libgusb-0.4.6.ebuild72
-rw-r--r--dev-libs/libgusb/libgusb-0.4.7.ebuild72
-rw-r--r--dev-libs/libgusb/libgusb-0.4.8.ebuild2
-rw-r--r--dev-libs/libgweather/Manifest2
-rw-r--r--dev-libs/libgweather/libgweather-4.4.2.ebuild (renamed from dev-libs/libgweather/libgweather-4.4.0.ebuild)0
-rw-r--r--dev-libs/libical/Manifest2
-rw-r--r--dev-libs/libical/files/libical-3.0.4-tests.patch25
-rw-r--r--dev-libs/libical/libical-3.0.18.ebuild (renamed from dev-libs/libical/libical-3.0.17.ebuild)10
-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.ebuild15
-rw-r--r--dev-libs/libinput/Manifest2
-rw-r--r--dev-libs/libinput/libinput-1.25.0.ebuild4
-rw-r--r--dev-libs/libinput/libinput-1.26.1.ebuild (renamed from dev-libs/libinput/libinput-1.24.0.ebuild)6
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild2
-rw-r--r--dev-libs/libisoburn/libisoburn-1.5.6.ebuild74
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild6
-rw-r--r--dev-libs/libisofs/libisofs-1.5.6_p1.ebuild50
-rw-r--r--dev-libs/libjcat/Manifest1
-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/Manifest4
-rw-r--r--dev-libs/libksba/libksba-1.6.6.ebuild2
-rw-r--r--dev-libs/libksba/libksba-1.6.7.ebuild62
-rw-r--r--dev-libs/libliftoff/Manifest2
-rw-r--r--dev-libs/libliftoff/libliftoff-0.4.1.ebuild2
-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/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.5.0.ebuild48
-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.ebuild6
-rw-r--r--dev-libs/libmanette/Manifest1
-rw-r--r--dev-libs/libmanette/libmanette-0.2.6.ebuild49
-rw-r--r--dev-libs/libmanette/libmanette-0.2.7.ebuild2
-rw-r--r--dev-libs/libmateweather/Manifest2
-rw-r--r--dev-libs/libmateweather/libmateweather-1.28.0.ebuild (renamed from dev-libs/libmateweather/libmateweather-1.27.1.ebuild)2
-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/libmcrypt/libmcrypt-2.5.8-r6.ebuild14
-rw-r--r--dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild16
-rw-r--r--dev-libs/libmemcached/libmemcached-1.0.18-r4.ebuild4
-rw-r--r--dev-libs/libmirage/Manifest1
-rw-r--r--dev-libs/libmirage/libmirage-3.2.8.ebuild55
-rw-r--r--dev-libs/libmirage/metadata.xml1
-rw-r--r--dev-libs/libnatspec/libnatspec-0.3.0.ebuild2
-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.ebuild2
-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)7
-rw-r--r--dev-libs/libotf/libotf-0.9.16-r1.ebuild (renamed from dev-libs/libotf/libotf-0.9.16.ebuild)9
-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-r6.ebuild)11
-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.ebuild2
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r2.ebuild2
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r3.ebuild4
-rw-r--r--dev-libs/libpcre2/Manifest3
-rw-r--r--dev-libs/libpcre2/libpcre2-10.42-r2.ebuild2
-rw-r--r--dev-libs/libpcre2/libpcre2-10.43.ebuild2
-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.ebuild6
-rw-r--r--dev-libs/libpfm/libpfm-4.13.0.ebuild45
-rw-r--r--dev-libs/libpqxx/libpqxx-7.7.5.ebuild7
-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.ebuild5
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5-r2.ebuild90
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.5.ebuild87
-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-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)10
-rw-r--r--dev-libs/libratbag/libratbag-0.17-r2.ebuild (renamed from dev-libs/libratbag/libratbag-0.15.ebuild)17
-rw-r--r--dev-libs/libratbag/libratbag-9999.ebuild (renamed from dev-libs/libratbag/libratbag-0.16.ebuild)17
-rw-r--r--dev-libs/librdkafka/Manifest2
-rw-r--r--dev-libs/librdkafka/librdkafka-1.8.2.ebuild107
-rw-r--r--dev-libs/librdkafka/librdkafka-2.1.1.ebuild107
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild3
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0.ebuild108
-rw-r--r--dev-libs/libretls/libretls-3.8.1.ebuild14
-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/Manifest1
-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.3.0.ebuild2
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild2
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild2
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild2
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild2
-rw-r--r--dev-libs/libsecp256k1/libsecp256k1-0.5.0.ebuild65
-rw-r--r--dev-libs/libserdes/metadata.xml3
-rw-r--r--dev-libs/libsigc++/Manifest1
-rw-r--r--dev-libs/libsigc++/libsigc++-3.4.0.ebuild40
-rw-r--r--dev-libs/libsigc++/libsigc++-3.6.0.ebuild2
-rw-r--r--dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild2
-rw-r--r--dev-libs/libsodium/Manifest6
-rw-r--r--dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch40
-rw-r--r--dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild74
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19-r1.ebuild74
-rw-r--r--dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild2
-rw-r--r--dev-libs/libsodium/libsodium-1.0.20.ebuild (renamed from dev-libs/libsodium/libsodium-1.0.19-r2.ebuild)9
-rw-r--r--dev-libs/libspnav/libspnav-0.2.3-r1.ebuild4
-rw-r--r--dev-libs/libstrophe/Manifest1
-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/libthreadar/libthreadar-1.4.0-r1.ebuild (renamed from dev-libs/libthreadar/libthreadar-1.4.0.ebuild)15
-rw-r--r--dev-libs/libtommath/Manifest1
-rw-r--r--dev-libs/libtommath/libtommath-1.2.0-r2.ebuild96
-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.ebuild2
-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-r1.ebuild61
-rw-r--r--dev-libs/libtracefs/libtracefs-1.7.0.ebuild2
-rw-r--r--dev-libs/libtracefs/libtracefs-1.8.0.ebuild53
-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/Manifest1
-rw-r--r--dev-libs/libucl/libucl-0.9.2.ebuild70
-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/libunibreak/Manifest1
-rw-r--r--dev-libs/libunibreak/libunibreak-6.1.ebuild53
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r3.ebuild (renamed from dev-libs/libunique/libunique-1.1.6-r2.ebuild)9
-rw-r--r--dev-libs/libunique/libunique-3.0.2-r2.ebuild (renamed from dev-libs/libunique/libunique-3.0.2-r1.ebuild)8
-rw-r--r--dev-libs/libunistring/libunistring-1.2.ebuild2
-rw-r--r--dev-libs/libusb/libusb-1.0.27-r1.ebuild2
-rw-r--r--dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild2
-rw-r--r--dev-libs/libuv/Manifest1
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-darwin17.patch26
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch32
-rw-r--r--dev-libs/libuv/files/libuv-1.47.0-ipv6-tests.patch54
-rw-r--r--dev-libs/libuv/libuv-1.47.0-r1.ebuild59
-rw-r--r--dev-libs/libuv/libuv-1.48.0.ebuild2
-rw-r--r--dev-libs/libvoikko/libvoikko-4.3.2.ebuild2
-rw-r--r--dev-libs/libwacom/Manifest5
-rw-r--r--dev-libs/libwacom/libwacom-2.10.0.ebuild2
-rw-r--r--dev-libs/libwacom/libwacom-2.11.0.ebuild (renamed from dev-libs/libwacom/libwacom-2.8.0.ebuild)5
-rw-r--r--dev-libs/libwacom/libwacom-2.12.2.ebuild (renamed from dev-libs/libwacom/libwacom-2.6.0.ebuild)21
-rw-r--r--dev-libs/libwacom/libwacom-2.7.0.ebuild71
-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/libxml2/Manifest5
-rw-r--r--dev-libs/libxml2/libxml2-2.11.8.ebuild200
-rw-r--r--dev-libs/libxml2/libxml2-2.12.6.ebuild196
-rw-r--r--dev-libs/libxml2/libxml2-2.12.7.ebuild196
-rw-r--r--dev-libs/libxml2/libxml2-2.12.8.ebuild196
-rw-r--r--dev-libs/libxml2/libxml2-2.13.1.ebuild187
-rw-r--r--dev-libs/libxml2/libxml2-9999.ebuild15
-rw-r--r--dev-libs/libxmlb/Manifest2
-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/Manifest1
-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.39.ebuild2
-rw-r--r--dev-libs/libxslt/libxslt-1.1.41.ebuild129
-rw-r--r--dev-libs/libxslt/libxslt-9999.ebuild23
-rw-r--r--dev-libs/libzia/Manifest5
-rw-r--r--dev-libs/libzia/libzia-4.54.ebuild52
-rw-r--r--dev-libs/libzia/libzia-4.59.ebuild (renamed from dev-libs/libzia/libzia-4.52.ebuild)4
-rw-r--r--dev-libs/libzia/libzia-4.60.ebuild (renamed from dev-libs/libzia/libzia-4.55.ebuild)3
-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)12
-rw-r--r--dev-libs/link-grammar/link-grammar-5.12.5.ebuild117
-rw-r--r--dev-libs/log4cplus/Manifest2
-rw-r--r--dev-libs/log4cplus/log4cplus-2.0.7.ebuild4
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild2
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild2
-rw-r--r--dev-libs/log4cpp/log4cpp-1.1.4.ebuild2
-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)13
-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/marisa/metadata.xml4
-rw-r--r--dev-libs/mathjax/mathjax-2.7.7-r1.ebuild2
-rw-r--r--dev-libs/mathjax/mathjax-3.2.2-r2.ebuild2
-rw-r--r--dev-libs/mathjax/metadata.xml8
-rw-r--r--dev-libs/metee/Manifest2
-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.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/mimetic-0.9.8.ebuild4
-rw-r--r--dev-libs/miniz/Manifest1
-rw-r--r--dev-libs/miniz/miniz-3.0.2.ebuild16
-rw-r--r--dev-libs/mpdecimal/Manifest2
-rw-r--r--dev-libs/mpdecimal/metadata.xml (renamed from dev-libs/zthread/metadata.xml)8
-rw-r--r--dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild63
-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-20240102.ebuild)17
-rw-r--r--dev-libs/nettle/Manifest4
-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.ebuild2
-rw-r--r--dev-libs/nmeap/nmeap-0.3-r2.ebuild2
-rw-r--r--dev-libs/nspr/nspr-4.35-r2.ebuild8
-rw-r--r--dev-libs/nss/Manifest10
-rw-r--r--dev-libs/nss/files/nss-3.23-hppa-byte_order.patch16
-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.98.ebuild)4
-rw-r--r--dev-libs/nss/nss-3.102.1.ebuild (renamed from dev-libs/nss/nss-3.97.ebuild)4
-rw-r--r--dev-libs/nss/nss-3.102.ebuild (renamed from dev-libs/nss/nss-3.96.1.ebuild)6
-rw-r--r--dev-libs/nss/nss-3.90.2-r1.ebuild (renamed from dev-libs/nss/nss-3.90.2.ebuild)7
-rw-r--r--dev-libs/nss/nss-3.91.ebuild423
-rw-r--r--dev-libs/nss/nss-3.92.ebuild413
-rw-r--r--dev-libs/nwjs/Manifest2
-rw-r--r--dev-libs/nwjs/nwjs-0.88.0.ebuild (renamed from dev-libs/nwjs/nwjs-0.82.0.ebuild)6
-rw-r--r--dev-libs/oneDNN/Manifest6
-rw-r--r--dev-libs/oneDNN/oneDNN-3.3.6.ebuild (renamed from dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild)0
-rw-r--r--dev-libs/oneDNN/oneDNN-3.4.3.ebuild (renamed from dev-libs/oneDNN/oneDNN-3.3.4.ebuild)9
-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/Manifest2
-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.ebuild41
-rw-r--r--dev-libs/opencl-icd-loader/Manifest2
-rw-r--r--dev-libs/opencl-icd-loader/metadata.xml5
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild4
-rw-r--r--dev-libs/opencl-icd-loader/opencl-icd-loader-2024.05.08.ebuild (renamed from dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild)10
-rw-r--r--dev-libs/opencryptoki/opencryptoki-3.6.1-r1.ebuild4
-rw-r--r--dev-libs/openct/openct-0.6.20-r5.ebuild4
-rw-r--r--dev-libs/openobex/metadata.xml5
-rw-r--r--dev-libs/openobex/openobex-1.7.2-r3.ebuild2
-rw-r--r--dev-libs/openpace/openpace-1.1.3.ebuild4
-rw-r--r--dev-libs/opensc/Manifest3
-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.24.0.ebuild76
-rw-r--r--dev-libs/opensc/opensc-0.25.1.ebuild (renamed from dev-libs/opensc/opensc-0.23.0-r3.ebuild)23
-rw-r--r--dev-libs/opensc/opensc-9999.ebuild30
-rw-r--r--dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild10
-rw-r--r--dev-libs/openssl/Manifest14
-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.1.5-CVE-2024-2511.patch137
-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-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.xml1
-rw-r--r--dev-libs/openssl/openssl-1.0.2u-r1.ebuild6
-rw-r--r--dev-libs/openssl/openssl-3.0.13-r2.ebuild (renamed from dev-libs/openssl/openssl-3.0.13.ebuild)5
-rw-r--r--dev-libs/openssl/openssl-3.0.14.ebuild (renamed from dev-libs/openssl/openssl-3.0.12.ebuild)14
-rw-r--r--dev-libs/openssl/openssl-3.1.5-r2.ebuild (renamed from dev-libs/openssl/openssl-3.1.5-r1.ebuild)1
-rw-r--r--dev-libs/openssl/openssl-3.1.6.ebuild (renamed from dev-libs/openssl/openssl-3.0.11.ebuild)21
-rw-r--r--dev-libs/openssl/openssl-3.2.1-r2.ebuild308
-rw-r--r--dev-libs/openssl/openssl-3.2.2.ebuild (renamed from dev-libs/openssl/openssl-3.2.1-r1.ebuild)8
-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/papi-6.0.0.1-r1.ebuild6
-rw-r--r--dev-libs/papi/papi-6.0.0.1-r2.ebuild6
-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/plasma-wayland-protocols/Manifest2
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.13.0.ebuild (renamed from dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild)0
-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/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.13.3.ebuild (renamed from dev-libs/poco/poco-1.12.2-r2.ebuild)38
-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/Manifest5
-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.ebuild (renamed from dev-libs/protobuf/protobuf-22.5.ebuild)9
-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/ptexenc-1.4.3_p20230311.ebuild2
-rw-r--r--dev-libs/qcoro/qcoro-0.10.0-r1.ebuild4
-rw-r--r--dev-libs/qcoro5/Manifest1
-rw-r--r--dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild4
-rw-r--r--dev-libs/qcoro5/qcoro5-0.9.0.ebuild68
-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/qr-code-generator/qr-code-generator-1.8.0.ebuild2
-rw-r--r--dev-libs/qtkeychain/Manifest3
-rw-r--r--dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild74
-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/qxlsx/Manifest2
-rw-r--r--dev-libs/qxlsx/files/qxlsx-1.4.6-headers.patch26
-rw-r--r--dev-libs/qxlsx/qxlsx-1.4.7.ebuild4
-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.22.0.ebuild60
-rw-r--r--dev-libs/raft/raft-0.22.1.ebuild (renamed from dev-libs/raft/raft-0.19.1.ebuild)1
-rw-r--r--dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild2
-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/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/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.15.5-r1.ebuild52
-rw-r--r--dev-libs/rocksdb/rocksdb-6.17.3-r1.ebuild53
-rw-r--r--dev-libs/rocksdb/rocksdb-6.29.5.ebuild81
-rw-r--r--dev-libs/rocksdb/rocksdb-8.11.3.ebuild (renamed from dev-libs/rocksdb/rocksdb-8.9.1.ebuild)14
-rw-r--r--dev-libs/rocksdb/rocksdb-9.3.1.ebuild (renamed from dev-libs/rocksdb/rocksdb-8.6.7.ebuild)14
-rw-r--r--dev-libs/rocm-comgr/Manifest2
-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.0.0.ebuild63
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-6.1.1.ebuild88
-rw-r--r--dev-libs/rocm-device-libs/Manifest2
-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.0.0.ebuild51
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-6.1.1.ebuild83
-rw-r--r--dev-libs/rocm-opencl-runtime/Manifest2
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild8
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.1.ebuild (renamed from dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.0.0.ebuild)34
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild131
-rw-r--r--dev-libs/rocr-runtime/Manifest2
-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)26
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild (renamed from dev-libs/rocr-runtime/rocr-runtime-6.0.0.ebuild)36
-rw-r--r--dev-libs/roct-thunk-interface/Manifest2
-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.0.0-functions.patch12
-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.0.0.ebuild42
-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/Manifest5
-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.6.6.ebuild46
-rw-r--r--dev-libs/sentry-native/sentry-native-0.7.2.ebuild (renamed from dev-libs/sentry-native/sentry-native-0.6.7.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/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/Manifest2
-rw-r--r--dev-libs/simde/files/simde-0.8.2-musl.patch19
-rw-r--r--dev-libs/simde/simde-0.8.2.ebuild (renamed from dev-libs/simde/simde-0.7.6.ebuild)15
-rw-r--r--dev-libs/simdjson/Manifest5
-rw-r--r--dev-libs/simdjson/files/simdjson-3.7.1-data-optional.patch17
-rw-r--r--dev-libs/simdjson/simdjson-3.6.3.ebuild2
-rw-r--r--dev-libs/simdjson/simdjson-3.9.1.ebuild (renamed from dev-libs/simdjson/simdjson-3.6.4.ebuild)11
-rw-r--r--dev-libs/simdjson/simdjson-3.9.3.ebuild (renamed from dev-libs/simdjson/simdjson-3.7.0.ebuild)11
-rw-r--r--dev-libs/simdjson/simdjson-3.9.4.ebuild103
-rw-r--r--dev-libs/skalibs/Manifest1
-rw-r--r--dev-libs/skalibs/skalibs-2.14.1.1.ebuild2
-rw-r--r--dev-libs/skalibs/skalibs-2.14.2.0.ebuild43
-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/spdlog/Manifest2
-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-r3.ebuild55
-rw-r--r--dev-libs/spdlog/spdlog-1.13.0-r2.ebuild (renamed from dev-libs/spdlog/spdlog-1.11.0-r3.ebuild)23
-rw-r--r--dev-libs/spdlog/spdlog-1.14.1.ebuild (renamed from dev-libs/spdlog/spdlog-1.13.0.ebuild)12
-rw-r--r--dev-libs/spdlog/spdlog-9999.ebuild20
-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)0
-rw-r--r--dev-libs/thrift/Manifest1
-rw-r--r--dev-libs/thrift/thrift-0.18.1-r1.ebuild2
-rw-r--r--dev-libs/thrift/thrift-0.20.0.ebuild59
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild2
-rw-r--r--dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild2
-rw-r--r--dev-libs/tllist/tllist-1.1.0.ebuild2
-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/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild2
-rw-r--r--dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild72
-rw-r--r--dev-libs/tre/tre-0.8.0_p20210321-r3.ebuild5
-rw-r--r--dev-libs/tree-sitter-bash/Manifest1
-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.ebuild2
-rw-r--r--dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild15
-rw-r--r--dev-libs/tree-sitter-c-sharp/Manifest1
-rw-r--r--dev-libs/tree-sitter-c-sharp/metadata.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/Manifest4
-rw-r--r--dev-libs/tree-sitter-c/metadata.xml4
-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-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.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.ebuild6
-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/tree-sitter-gleam-0.33.0.ebuild3
-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.ebuild1
-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.1.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.21.0.ebuild (renamed from dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild)2
-rw-r--r--dev-libs/tree-sitter-javascript/Manifest4
-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.ebuild1
-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.3.ebuild)2
-rw-r--r--dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.0.ebuild (renamed from dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild)7
-rw-r--r--dev-libs/tree-sitter-jsdoc/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-json/Manifest1
-rw-r--r--dev-libs/tree-sitter-json/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild2
-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.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-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.ebuild2
-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.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.21.0-r1.ebuild15
-rw-r--r--dev-libs/tree-sitter-ql/metadata.xml4
-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-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.ebuild2
-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.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.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/Manifest3
-rw-r--r--dev-libs/tree-sitter-typescript/metadata.xml4
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild14
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild2
-rw-r--r--dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild2
-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/Manifest6
-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.20.9-no-static.patch21
-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-r1.ebuild)18
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild (renamed from dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild)24
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.5.ebuild (renamed from dev-libs/tree-sitter/tree-sitter-0.20.8.ebuild)29
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild50
-rw-r--r--dev-libs/tree-sitter/tree-sitter-9999.ebuild11
-rw-r--r--dev-libs/tvmet/tvmet-1.7.2-r2.ebuild2
-rw-r--r--dev-libs/udis86/udis86-1.7.2-r1.ebuild6
-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.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/Manifest4
-rw-r--r--dev-libs/vala-common/vala-common-0.56.16.ebuild (renamed from dev-libs/vala-common/vala-common-0.56.14.ebuild)0
-rw-r--r--dev-libs/vala-common/vala-common-0.56.17.ebuild (renamed from dev-libs/vala-common/vala-common-0.56.15.ebuild)0
-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.ebuild2
-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/Manifest3
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild38
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.36.ebuild (renamed from dev-libs/wayland-protocols/wayland-protocols-1.33.ebuild)2
-rw-r--r--dev-libs/wayland/Manifest1
-rw-r--r--dev-libs/wayland/wayland-1.23.0.ebuild66
-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.xml1
-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.ebuild1
-rw-r--r--dev-libs/xalan-c/xalan-c-9999.ebuild3
-rw-r--r--dev-libs/xapian-bindings/Manifest4
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild346
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild346
-rw-r--r--dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild (renamed from dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild)4
-rw-r--r--dev-libs/xapian/Manifest4
-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.ebuild (renamed from dev-libs/xapian/xapian-1.4.24.ebuild)6
-rw-r--r--dev-libs/xerces-c/Manifest1
-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.5.ebuild123
-rw-r--r--dev-libs/xerces-c/xerces-c-9999.ebuild1
-rw-r--r--dev-libs/xmlrpc-c/metadata.xml5
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.05-r2.ebuild8
-rw-r--r--dev-libs/xmlrpc-c/xmlrpc-c-1.54.06.ebuild10
-rw-r--r--dev-libs/xmlsec/Manifest3
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.2-libxml2-2.12.0-includes.patch114
-rw-r--r--dev-libs/xmlsec/xmlsec-1.2.39.ebuild (renamed from dev-libs/xmlsec/xmlsec-1.3.2.ebuild)64
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.4.ebuild (renamed from dev-libs/xmlsec/xmlsec-1.3.3.ebuild)0
-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/yyjson/Manifest3
-rw-r--r--dev-libs/yyjson/yyjson-0.10.0.ebuild (renamed from dev-libs/yyjson/yyjson-0.8.0.ebuild)4
-rw-r--r--dev-libs/yyjson/yyjson-0.9.0.ebuild40
-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/zziplib-0.13.72-r3.ebuild52
-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
1185 files changed, 22166 insertions, 11637 deletions
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 edf24ff03da4..5b052896fa9b 100644
--- a/dev-libs/FBGEMM/Manifest
+++ b/dev-libs/FBGEMM/Manifest
@@ -1,2 +1,3 @@
DIST FBGEMM-2023.11.02.tar.gz 895265 BLAKE2B 0f884147a86881159485680f1cb0c7b7e65bba5a98e62c38534041264f920e08a268e348e3d82ba3d246226a10f592d86dc37bce0cfa42c72dad478041a6c807 SHA512 030f27a120586240c5f80026bd033cf6fedbe1ae12a667308d33d6321f2334021d474a3625795d1f34734336b688b19c09134e10d5cc8dec86e84485de298584
DIST FBGEMM-2023.12.01.tar.gz 1004090 BLAKE2B dc19ebee06bccb888e5d03606168c7439ce8c96303a697056edd22d3a3a6ff4f4f3ddf5371d50aa774890ca1ad66d665f5e54976dc1b8da841759a3f4d64c4d7 SHA512 ab37964326d2cbbcbf0f2c722675d1f059407fc3185275d37f2e04f3e516fe0733ac1fb35351fc7e7c308e9c0da40811d3657a10a3696cb7648494df79408aab
+DIST FBGEMM-2023.12.04.tar.gz 1004231 BLAKE2B 930ae36f4761901e1b22d7ce4a341f051158a23646bd1f5309f6eb98c1ca483e8aa4e5a6cfc44ced702f73f84e3398c1439799457a98d0d8a009702e335d5c03 SHA512 3c786572b4a69af2a32b360711014469ded69be580d0079ba79ab81cbaa964aab51e5a189e24f0ec7dc93402d761167898918a0ea0f86d556cad4b99f5858d8c
diff --git a/dev-libs/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/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/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/apache-arrow/Manifest b/dev-libs/apache-arrow/Manifest
index db13cba08b97..6ba581756790 100644
--- a/dev-libs/apache-arrow/Manifest
+++ b/dev-libs/apache-arrow/Manifest
@@ -1,6 +1,5 @@
-DIST apache-arrow-14.0.2.tar.gz 20969982 BLAKE2B 9df119fca564a4140d1143a1ac0614831e4f80846d43439d011b8ca7f5e77461005c96b9430b6dd7ce0ba7496b879a8abc9ffa372e6b455c317abeebb16ae8e4 SHA512 dd6cf6cbb817a48ef5275bb409367e5904526a3c16a17a37ea75101085ea19a71ba6bf936a6f099012e7c528811db1728ef2f14dcb16a1056a22088839280ce0
-DIST apache-arrow-15.0.0.tar.gz 21491996 BLAKE2B 55709d1d181ed5c1482e1eadc9031c692bbd39434ccad17be8c0f3f5af47e3b3d5f262903d1ce09c39442497e14c22c80d7b30215e4de830a4ac82a1b3db34fb SHA512 d5dccaa0907b0e6f2a460e32ae75091942dcb70b51db4aefe2767ee8d99882694607b723a9c06898dda3938d8eb498258d7f9aad11054665b6ea9c2fbaeafa74
-DIST apache-arrow-arrow-data-ad82a736c170e97b7c8c035ebd8a801c17eec170.tar.gz 3571641 BLAKE2B e3daae62938b54dbeb8ca9227eddfd2d59864cfafb54a7a7fd7aaa2b2cabd0f2dde58b77b2def086a1759b43c3b5834cb55462cc0b2886b2892329a957afdacb SHA512 ad6fd3343d8a3a6beb5b6269815bc207171905c102698fdb8ed7091e6d829dc51f354293c7686f845e3d49c4a828d9c77958447d965c9da4272260984fea4262
-DIST apache-arrow-arrow-data-d2c73bf78246331d8e58b6f11aa8aa199cbb5929.tar.gz 3570422 BLAKE2B df1f8d1c4e321ca0abdce598b09945aa9e63114199e7f2eb0fc549323dadf703b917efd90c04a2d540d763a44128d76c6ee12788a983d4b9536d04297316b656 SHA512 0be19960b0d22fc2e07bf84f11148e69d6fa82f10627eb2a5e4b762b1d4cf4e151a57c5a1dc761d6d8ed29881ea589e4cfe0cd47d5c7cbf7b6107143b4a45e82
-DIST apache-arrow-parquet-data-b2e7cc755159196e3a068c8594f7acbaecfdaaac.tar.gz 1013835 BLAKE2B cb4e544b6588ddad503f9692ee2eee5d4f1e931f10654b7253e11ffd2feb4c957dec047a1b1644c1f1538a3bf7ea726e5a9ae9b7d0c3bb0d55d27f088b5c5be3 SHA512 d4c2af20d6a88c1beb44770982f4aa324ea4ee375e8f556339074875af15c48f4398d972c1eec35eba5d209e9e62df4bdbf73ebc8148a7bb05ffa2d69c97df61
-DIST apache-arrow-parquet-data-d69d979223e883faef9dc6fe3cf573087243c28a.tar.gz 1022547 BLAKE2B a36f950160a6e033c0ab4fb9ac391be6e71cdadf2bbb7d0210640cc41782921b0e0777425b811a1d688e03842684eb1bfe008ffe359b182bea0f80d3adf658fe SHA512 dfebeca5b99a72a4c069c1030102a6fdd35d4c58cb12fb640bcd0a623cc54e49363f1112fa45da14b16867630dc30bc94bdb2e4cc95f9379dcaa5d7f8f38a3ea
+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-15.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-16.1.0.ebuild
index f7e504cdc7fa..8b1d7dc7296d 100644
--- a/dev-libs/apache-arrow/apache-arrow-15.0.0.ebuild
+++ b/dev-libs/apache-arrow/apache-arrow-16.1.0.ebuild
@@ -6,9 +6,9 @@ EAPI=8
inherit cmake
# arrow.git: testing
-ARROW_DATA_GIT_HASH=ad82a736c170e97b7c8c035ebd8a801c17eec170
+ARROW_DATA_GIT_HASH=25d16511e8d42c2744a1d94d90169e3a36e92631
# arrow.git: cpp/submodules/parquet-testing
-PARQUET_DATA_GIT_HASH=d69d979223e883faef9dc6fe3cf573087243c28a
+PARQUET_DATA_GIT_HASH=74278bc4a1122d74945969e6dec405abd1533ec3
DESCRIPTION="A cross-language development platform for in-memory data."
HOMEPAGE="
@@ -28,8 +28,11 @@ S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~hppa ~riscv"
-IUSE="brotli bzip2 compute dataset +json lz4 parquet re2 snappy ssl test zlib zstd"
+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="
@@ -70,7 +73,6 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
- "${FILESDIR}"/${PN}-14.0.1-gcc14.patch
)
src_prepare() {
diff --git a/dev-libs/apache-arrow/apache-arrow-14.0.2-r1.ebuild b/dev-libs/apache-arrow/apache-arrow-17.0.0.ebuild
index f89a8aecff37..978d272ce309 100644
--- a/dev-libs/apache-arrow/apache-arrow-14.0.2-r1.ebuild
+++ b/dev-libs/apache-arrow/apache-arrow-17.0.0.ebuild
@@ -5,11 +5,16 @@ 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? (
@@ -22,9 +27,19 @@ SRC_URI="
S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~riscv"
-IUSE="brotli bzip2 compute dataset +json lz4 parquet re2 snappy ssl test zlib zstd"
+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="
@@ -45,7 +60,8 @@ RDEPEND="
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,17 +71,8 @@ DEPEND="${RDEPEND}
)
"
-REQUIRED_USE="
- test? (
- json
- parquet? ( zstd )
- )
- ssl? ( json )
-"
-
PATCHES=(
"${FILESDIR}/${PN}-11.0.0-shared-lz4.patch"
- "${FILESDIR}"/${PN}-14.0.1-gcc14.patch
)
src_prepare() {
@@ -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/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/appstream/Manifest b/dev-libs/appstream/Manifest
index 14e5aa16b233..fa4206c25397 100644
--- a/dev-libs/appstream/Manifest
+++ b/dev-libs/appstream/Manifest
@@ -1,3 +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.2.tar.xz 2629708 BLAKE2B eb31e675cea1c8b9357227c851bdd24f9cb949e232089380a8727630ab8055f0de6bebd74f70f3c1cf84e5420b9d4fef681671a0e4e97265af26d594b2874c48 SHA512 e5c109c383e3bf3af3693bfb3146663767c2c61fac0bd421f2ce52242fe7b869effeacc4d207987321dfeb4ab0ba77ece6c1c6eea054a7365204cd955426517a
+DIST AppStream-1.0.3.tar.xz 2644220 BLAKE2B cd7aa28b49c23229ee48b9a69e57a08244f81115e23525695e463930d2296daf80b5c7bb098c89726c220caec8c3e072fd85d77ac808e96c5cf2ff0488ba4ba1 SHA512 9b70d965966d55dbcc6a62d85525fdd5990a28abb1d94b2df91ab1549c24ce9c40d95e2d761c2f24e0c61fe5b74ab6a1f829dda387a8282aa9dff9198dc9610d
diff --git a/dev-libs/appstream/appstream-0.15.6.ebuild b/dev-libs/appstream/appstream-0.15.6.ebuild
deleted file mode 100644
index 22035505fdee..000000000000
--- a/dev-libs/appstream/appstream-0.15.6.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson xdg-utils
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/ximion/${PN}"
-else
- MY_PN="AppStream"
- SRC_URI="https://www.freedesktop.org/software/appstream/releases/${MY_PN}-${PV}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
- S="${WORKDIR}/${MY_PN}-${PV}"
-fi
-
-DESCRIPTION="Cross-distro effort for providing metadata for software in the Linux ecosystem"
-HOMEPAGE="https://www.freedesktop.org/wiki/Distributions/AppStream/"
-
-LICENSE="LGPL-2.1+ GPL-2+"
-# check as_api_level
-SLOT="0/4"
-IUSE="apt doc +introspection qt5 test"
-RESTRICT="test" # bug 691962
-
-RDEPEND="
- >=dev-libs/glib-2.62:2
- dev-libs/libxml2:2
- >=dev-libs/libxmlb-0.3.6:=
- dev-libs/libyaml
- dev-libs/snowball-stemmer:=
- >=net-misc/curl-7.62
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
- qt5? ( dev-qt/qtcore:5 )
-"
-DEPEND="${RDEPEND}
- test? ( qt5? ( dev-qt/qttest:5 ) )
-"
-BDEPEND="
- dev-libs/appstream-glib
- dev-libs/libxslt
- dev-util/itstool
- >=sys-devel/gettext-0.19.8
- doc? ( app-text/docbook-xml-dtd:4.5 )
- test? ( dev-qt/linguist-tools:5 )
-"
-
-PATCHES=( "${FILESDIR}"/${P}-disable-Werror-flags.patch ) # bug 733774
-
-src_prepare() {
- default
- sed -e "/^as_doc_target_dir/s/appstream/${PF}/" -i docs/meson.build || die
- if ! use test; then
- sed -e "/^subdir.*tests/s/^/#DONT /" -i {,qt/}meson.build || die # bug 675944
- fi
-}
-
-src_configure() {
- xdg_environment_reset
-
- local emesonargs=(
- -Dapidocs=false
- -Ddocs=false
- -Dcompose=false
- -Dmaintainer=false
- -Dstatic-analysis=false
- -Dstemming=true
- -Dvapi=false
- -Dapt-support=$(usex apt true false)
- -Dinstall-docs=$(usex doc true false)
- -Dgir=$(usex introspection true false)
- -Dqt=$(usex qt5 true false)
- )
-
- meson_src_configure
-}
diff --git a/dev-libs/appstream/appstream-1.0.2.ebuild b/dev-libs/appstream/appstream-1.0.3.ebuild
index e59ebce431a1..e59ebce431a1 100644
--- a/dev-libs/appstream/appstream-1.0.2.ebuild
+++ b/dev-libs/appstream/appstream-1.0.3.ebuild
diff --git a/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch b/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch
deleted file mode 100644
index ca50493e4fd6..000000000000
--- a/dev-libs/appstream/files/appstream-0.15.6-disable-Werror-flags.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/meson.build 2022-12-22 23:48:12.000000000 +0100
-+++ b/meson.build 2022-12-24 22:15:49.620891586 +0100
-@@ -95,43 +95,6 @@
- endif
- endif
-
--# a few compiler warning flags we always want enabled
--add_project_arguments(
-- cc.get_supported_arguments([
-- '-Werror=shadow',
-- '-Werror=empty-body',
-- '-Werror=strict-prototypes',
-- '-Werror=missing-prototypes',
-- '-Werror=implicit-function-declaration',
-- '-Werror=pointer-arith',
-- '-Werror=missing-declarations',
-- '-Werror=return-type',
-- '-Werror=int-conversion',
-- '-Werror=incompatible-pointer-types',
-- '-Werror=misleading-indentation',
-- '-Werror=missing-include-dirs',
-- '-Werror=declaration-after-statement',
-- '-Werror=format-security',
--
-- '-Wno-missing-field-initializers',
-- '-Wno-error=missing-field-initializers',
-- '-Wno-unused-parameter',
-- '-Wno-error=unused-parameter',
-- ]),
-- language: 'c'
--)
--add_project_arguments(
-- '-Wno-unused-parameter',
-- '-Werror=shadow',
-- '-Werror=empty-body',
-- '-Werror=pointer-arith',
-- '-Werror=init-self',
-- '-Werror=missing-declarations',
-- '-Werror=return-type',
-- '-Werror=misleading-indentation',
-- '-Werror=format-security',
-- language: 'cpp'
--)
- add_project_arguments('-DAS_COMPILATION', language: 'c')
-
- # Vendor extensions in system headers
diff --git a/dev-libs/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 fc70d2ac4201..000000000000
--- a/dev-libs/apr/apr-1.7.2-r1.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2024 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="
- >=dev-build/libtool-2.4.2
- doc? ( app-text/doxygen )
-"
-
-DOCS=( CHANGES NOTICE README )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
- "${FILESDIR}"/${PN}-1.7.2-libtool.patch
- "${FILESDIR}"/${PN}-1.7.2-sysroot.patch # bug #385775
- "${FILESDIR}"/${PN}-1.7.2-fix-pkgconfig-libs.patch
- "${FILESDIR}"/${PN}-1.7.2-respect-flags.patch
- "${FILESDIR}"/${PN}-1.7.2-autoconf-2.72.patch
- "${FILESDIR}"/config.layout.patch
-)
-
-src_prepare() {
- default
-
- mv configure.in configure.ac || die
- AT_M4DIR="build" eautoreconf
-}
-
-src_configure() {
- tc-export AS CC CPP
-
- 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 f94332c20154..000000000000
--- a/dev-libs/apr/apr-1.7.2.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2024 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="
- >=dev-build/libtool-2.4.2
- doc? ( app-text/doxygen )
-"
-
-DOCS=( CHANGES NOTICE README )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
- "${FILESDIR}"/${PN}-1.7.2-libtool.patch
- "${FILESDIR}"/${PN}-1.7.2-sysroot.patch # bug #385775
- "${FILESDIR}"/${PN}-1.7.2-fix-pkgconfig-libs.patch
- "${FILESDIR}"/${PN}-1.7.2-respect-flags.patch
- "${FILESDIR}"/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 37b6ba5a65e1..000000000000
--- a/dev-libs/apr/apr-1.7.3.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2024 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="
- >=dev-build/libtool-2.4.2
- doc? ( app-text/doxygen )
-"
-
-DOCS=( CHANGES NOTICE README )
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
- "${FILESDIR}"/${PN}-1.7.2-libtool.patch
- "${FILESDIR}"/${PN}-1.7.2-sysroot.patch # bug #385775
- "${FILESDIR}"/${PN}-1.7.2-fix-pkgconfig-libs.patch
- "${FILESDIR}"/${PN}-1.7.2-respect-flags.patch
- "${FILESDIR}"/${PN}-1.7.2-autoconf-2.72.patch
- "${FILESDIR}"/config.layout.patch
-)
-
-src_prepare() {
- default
-
- mv configure.in configure.ac || die
- AT_M4DIR="build" eautoreconf
-}
-
-src_configure() {
- tc-export AS CC CPP
-
- 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 89c1e10ad25a..1a50b553b4c1 100644
--- a/dev-libs/apr/apr-1.7.4.ebuild
+++ b/dev-libs/apr/apr-1.7.4-r2.ebuild
@@ -3,7 +3,7 @@
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
@@ -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 3b3f2bbff171..a7f6b6d58e1d 100644
--- a/dev-libs/apr/apr-1.7.4-r1.ebuild
+++ b/dev-libs/apr/apr-1.7.4-r3.ebuild
@@ -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/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/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/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/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/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/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.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/bglibs/bglibs-2.04-r1.ebuild b/dev-libs/bglibs/bglibs-2.04-r1.ebuild
index 01737b688943..a59605a8505d 100644
--- a/dev-libs/bglibs/bglibs-2.04-r1.ebuild
+++ b/dev-libs/bglibs/bglibs-2.04-r1.ebuild
@@ -11,7 +11,7 @@ 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="
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/boehm-gc-8.2.6.ebuild b/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
index 6dc7665f7aa8..e42c17128546 100644
--- a/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
+++ b/dev-libs/boehm-gc/boehm-gc-8.2.6.ebuild
@@ -17,7 +17,7 @@ LICENSE="boehm-gc"
# We've been using subslot 0 for these instead of "1.1".
SLOT="0"
# Don't keyword versions if upstream mark them as pre-release.
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+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/boost/Manifest b/dev-libs/boost/Manifest
index 3d25ce0460ba..48f0e20f3193 100644
--- a/dev-libs/boost/Manifest
+++ b/dev-libs/boost/Manifest
@@ -1 +1,2 @@
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.84.0-r3.ebuild b/dev-libs/boost/boost-1.84.0-r3.ebuild
index 7b2f98dd0123..b9e822fe2043 100644
--- a/dev-libs/boost/boost-1.84.0-r3.ebuild
+++ b/dev-libs/boost/boost-1.84.0-r3.ebuild
@@ -45,7 +45,7 @@ RDEPEND="
zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}"
-BDEPEND=">=dev-build/b2-4.9.2"
+BDEPEND=">=dev-build/b2-5.0.0"
PATCHES=(
"${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
diff --git a/dev-libs/boost/boost-1.85.0-r1.ebuild b/dev-libs/boost/boost-1.85.0-r1.ebuild
new file mode 100644
index 000000000000..db7aaf2052ea
--- /dev/null
+++ b/dev-libs/boost/boost-1.85.0-r1.ebuild
@@ -0,0 +1,353 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Keep an eye on both of these after releases for patches:
+# * https://www.boost.org/patches/
+# * https://www.boost.org/users/history/version_${MY_PV}.html
+# (e.g. https://www.boost.org/users/history/version_1_83_0.html)
+# Note that the latter may sometimes feature patches not on the former too.
+
+# FIXME: cleanup subslot after 1.85.0
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="Boost Libraries for C++"
+HOMEPAGE="https://www.boost.org/"
+SRC_URI="https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/boost_${MY_PV}.tar.bz2"
+S="${WORKDIR}/${PN}_${MY_PV}"
+
+LICENSE="Boost-1.0"
+SLOT="0/${PV}.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
+# tests at all. They are more a way for upstream to check their own code
+# on new compilers. Since they would either be completely unreliable
+# (failing for no good reason) or completely useless (never failing)
+# there is no point in having them in the ebuild to begin with.
+RESTRICT="test"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] )
+ icu? ( dev-libs/icu:=[${MULTILIB_USEDEP}] )
+ !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ lzma? ( app-arch/xz-utils:=[${MULTILIB_USEDEP}] )
+ mpi? ( virtual/mpi[${MULTILIB_USEDEP},cxx,threads] )
+ python? (
+ ${PYTHON_DEPS}
+ numpy? ( dev-python/numpy:=[${PYTHON_USEDEP}] )
+ )
+ zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=dev-build/b2-5.0.0"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.81.0-disable_icu_rpath.patch
+ "${FILESDIR}"/${PN}-1.79.0-build-auto_index-tool.patch
+ "${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
+)
+
+create_user-config.jam() {
+ local user_config_jam="${BUILD_DIR}"/user-config.jam
+ if [[ -s ${user_config_jam} ]]; then
+ einfo "${user_config_jam} already exists, skipping configuration"
+ return
+ else
+ einfo "Creating configuration in ${user_config_jam}"
+ fi
+
+ local compiler compiler_version compiler_executable="$(tc-getCXX)"
+ compiler="gcc"
+ compiler_version="$(gcc-version)"
+
+ if use mpi; then
+ local mpi_configuration="using mpi ;"
+ fi
+
+ cat > "${user_config_jam}" <<- __EOF__ || die
+ using ${compiler} : ${compiler_version} : ${compiler_executable} : <cflags>"${CPPFLAGS} ${CFLAGS}" <cxxflags>"${CPPFLAGS} ${CXXFLAGS}" <linkflags>"${LDFLAGS}" <archiver>"$(tc-getAR)" <ranlib>"$(tc-getRANLIB)" ;
+ ${mpi_configuration}
+ __EOF__
+
+ if multilib_native_use python; then
+ append_to_user_config() {
+ local py_config
+ if tc-is-cross-compiler; then
+ py_config="using python : ${EPYTHON#python} : : ${ESYSROOT}/usr/include/${EPYTHON} : ${ESYSROOT}/usr/$(get_libdir) ;"
+ else
+ py_config="using python : ${EPYTHON#python} : ${PYTHON} : $(python_get_includedir) ;"
+ fi
+ echo "${py_config}" >> "${user_config_jam}" || die
+ }
+ python_foreach_impl append_to_user_config
+ fi
+
+ if multilib_native_use python && use numpy; then
+ einfo "Enabling support for NumPy extensions in Boost.Python"
+ else
+ einfo "Disabling support for NumPy extensions in Boost.Python"
+
+ # Boost.Build does not allow for disabling of numpy
+ # extensions, thereby leading to automagic numpy
+ # https://github.com/boostorg/python/issues/111#issuecomment-280447482
+ sed \
+ -e 's/\[ unless \[ python\.numpy \] : <build>no \]/<build>no/g' \
+ -i "${BUILD_DIR}"/libs/python/build/Jamfile || die
+ fi
+}
+
+pkg_setup() {
+ # Bail out on unsupported build configuration, bug #456792
+ if [[ -f "${EROOT}"/etc/site-config.jam ]]; then
+ if ! grep -q 'gentoo\(debug\|release\)' "${EROOT}"/etc/site-config.jam; then
+ eerror "You are using custom ${EROOT}/etc/site-config.jam without defined gentoorelease/gentoodebug targets."
+ eerror "Boost can not be built in such configuration."
+ eerror "Please, either remove this file or add targets from ${EROOT}/usr/share/boost-build/site-config.jam to it."
+ die "Unsupported target in ${EROOT}/etc/site-config.jam"
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+ejam() {
+ create_user-config.jam
+
+ local b2_opts=( "--user-config=${BUILD_DIR}/user-config.jam" )
+ if multilib_native_use python; then
+ append_to_b2_opts() {
+ b2_opts+=( python="${EPYTHON#python}" )
+ }
+ python_foreach_impl append_to_b2_opts
+ else
+ b2_opts+=( --without-python )
+ fi
+ b2_opts+=( "$@" )
+
+ echo b2 "${b2_opts[@]}" >&2
+ b2 "${b2_opts[@]}"
+}
+
+src_configure() {
+ # Workaround for too many parallel processes requested, bug #506064
+ [[ "$(makeopts_jobs)" -gt 64 ]] && MAKEOPTS="${MAKEOPTS} -j64"
+
+ # We don't want to end up with -L/usr/lib on our linker lines
+ # which then gives us lots of
+ # skipping incompatible /usr/lib/libc.a when searching for -lc
+ # warnings
+ [[ -n ${ESYSROOT} ]] && local icuarg="-sICU_PATH=${ESYSROOT}/usr"
+
+ OPTIONS=(
+ $(usex debug gentoodebug gentoorelease)
+ "-j$(makeopts_jobs)"
+ -q
+ -d+2
+ pch=off
+ $(usex icu "${icuarg}" '--disable-icu boost.locale.icu=off')
+ $(usev !mpi --without-mpi)
+ $(usev !nls --without-locale)
+ $(usev !context '--without-context --without-coroutine --without-fiber')
+ $(usev !stacktrace --without-stacktrace)
+ --boost-build="${BROOT}"/usr/share/b2/src
+ --layout=system
+ # building with threading=single is currently not possible
+ # https://svn.boost.org/trac/boost/ticket/7105
+ threading=multi
+ link=shared
+ # this seems to be the only way to disable compression algorithms
+ # https://www.boost.org/doc/libs/1_70_0/libs/iostreams/doc/installation.html#boost-build
+ -sNO_BZIP2=$(usex bzip2 0 1)
+ -sNO_LZMA=$(usex lzma 0 1)
+ -sNO_ZLIB=$(usex zlib 0 1)
+ -sNO_ZSTD=$(usex zstd 0 1)
+ )
+
+ if [[ ${CHOST} == *-darwin* ]]; then
+ # We need to add the prefix, and in two cases this exceeds, so prepare
+ # for the largest possible space allocation.
+ append-ldflags -Wl,-headerpad_max_install_names
+ fi
+
+ # Use C++17 globally as of 1.80
+ append-cxxflags -std=c++17
+
+ if [[ ${CHOST} != *-darwin* ]]; then
+ # On modern macOS, file I/O is already 64-bit by default,
+ # there's no support for special options like O_LARGEFILE.
+ # Thus, LFS must be disabled.
+ #
+ # On other systems, we need to enable LFS explicitly for 64-bit
+ # offsets on 32-bit hosts (#894564)
+ append-lfs-flags
+ fi
+}
+
+multilib_src_compile() {
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" || die
+
+ if multilib_native_use tools; then
+ pushd tools >/dev/null || die
+ ejam \
+ --prefix="${EPREFIX}"/usr \
+ "${OPTIONS[@]}" \
+ || die "Building of Boost tools failed"
+ popd >/dev/null || die
+ fi
+}
+
+multilib_src_install() {
+ ejam \
+ --prefix="${ED}"/usr \
+ --includedir="${ED}"/usr/include \
+ --libdir="${ED}"/usr/$(get_libdir) \
+ "${OPTIONS[@]}" install || die "Installation of Boost libraries failed"
+
+ if multilib_native_use tools; then
+ dobin dist/bin/*
+
+ insinto /usr/share
+ doins -r dist/share/boostbook
+ fi
+
+ # boost's build system truely sucks for not having a destdir. Because for
+ # this reason we are forced to build with a prefix that includes the
+ # DESTROOT, dynamic libraries on Darwin end messed up, referencing the
+ # DESTROOT instread of the actual EPREFIX. There is no way out of here
+ # but to do it the dirty way of manually setting the right install_names.
+ if [[ ${CHOST} == *-darwin* ]]; then
+ einfo "Working around completely broken build-system(tm)"
+ local d
+ for d in "${ED}"/usr/lib/*.dylib; do
+ if [[ -f ${d} ]]; then
+ # fix the "soname"
+ ebegin " correcting install_name of ${d#${ED}}"
+ install_name_tool -id "/${d#${D}}" "${d}"
+ eend $?
+ # fix references to other libs
+ # these paths look like this:
+ # bin.v2/libs/thread/build/gcc-12.1/gentoorelease/pch-off/
+ # threadapi-pthread/threading-multi/visibility-hidden/
+ # libboost_thread.dylib
+ refs=$(otool -XL "${d}" | \
+ sed -e '1d' -e 's/^\t//' | \
+ grep "libboost_" | \
+ cut -f1 -d' ')
+ local r
+ for r in ${refs}; do
+ # strip path prefix from references, so we obtain
+ # something like libboost_thread.dylib.
+ local r_basename=${r##*/}
+
+ ebegin " correcting reference to ${r_basename}"
+ install_name_tool -change \
+ "${r}" \
+ "${EPREFIX}/usr/lib/${r_basename}" \
+ "${d}"
+ eend $?
+ done
+ fi
+ done
+ fi
+}
+
+multilib_src_install_all() {
+ if ! use numpy; then
+ rm -r "${ED}"/usr/include/boost/python/numpy* || die
+ fi
+
+ if use python; then
+ if use mpi; then
+ move_mpi_py_into_sitedir() {
+ python_moduleinto boost
+
+ python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so
+ rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die
+
+ python_optimize
+ }
+ python_foreach_impl move_mpi_py_into_sitedir
+ else
+ rm -r "${ED}"/usr/include/boost/mpi/python* || die
+ fi
+ else
+ rm -r "${ED}"/usr/include/boost/{python*,mpi/python*,parameter/aux_/python,parameter/python*} || die
+ fi
+
+ if ! use nls; then
+ rm -r "${ED}"/usr/include/boost/locale || die
+ fi
+
+ if ! use context; then
+ rm -r "${ED}"/usr/include/boost/context || die
+ rm -r "${ED}"/usr/include/boost/coroutine{,2} || die
+ rm "${ED}"/usr/include/boost/asio/spawn.hpp || die
+ fi
+
+ if use doc; then
+ # find extraneous files that shouldn't be installed
+ # as part of the documentation and remove them.
+ find libs/*/* \( -iname 'test' -o -iname 'src' \) -exec rm -rf '{}' + || die
+ find doc \( -name 'Jamfile.v2' -o -name 'build' -o -name '*.manifest' \) -exec rm -rf '{}' + || die
+ find tools \( -name 'Jamfile.v2' -o -name 'src' -o -name '*.cpp' -o -name '*.hpp' \) -exec rm -rf '{}' + || die
+
+ docinto html
+ dodoc *.{htm,html,png,css}
+ dodoc -r doc libs more tools
+
+ # To avoid broken links
+ dodoc LICENSE_1_0.txt
+
+ dosym ../../../../include/boost /usr/share/doc/${PF}/html/boost
+ fi
+}
+
+pkg_preinst() {
+ # Yay for having symlinks that are nigh-impossible to remove without
+ # resorting to dirty hacks like these. Removes lingering symlinks
+ # from the slotted versions.
+ local symlink
+ for symlink in "${EROOT}"/usr/include/boost "${EROOT}"/usr/share/boostbook; do
+ if [[ -L ${symlink} ]]; then
+ rm -f "${symlink}" || die
+ fi
+ done
+
+ # some ancient installs still have boost cruft lying around
+ # for unknown reasons, causing havoc for reverse dependencies
+ # Bug: 607734
+ rm -rf "${EROOT}"/usr/include/boost-1_[3-5]? || die
+}
+
+pkg_postinst() {
+ elog "Boost.Regex is *extremely* ABI sensitive. If you get errors such as"
+ elog
+ elog " undefined reference to \`boost::re_detail_$(ver_cut 1)0$(ver_cut 2)00::cpp_regex_traits_implementation"
+ elog " <char>::transform_primary[abi:cxx11](char const*, char const*) const'"
+ elog
+ elog "Then you need to recompile Boost and all its reverse dependencies"
+ elog "using the same toolchain. In general, *every* change of the C++ toolchain"
+ elog "requires a complete rebuild of the Boost-dependent ecosystem."
+ elog
+ elog "See for instance https://bugs.gentoo.org/638138"
+}
diff --git a/dev-libs/boost/files/boost-1.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/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/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 38ab8bce109f..38ab8bce109f 100644
--- a/dev-libs/c-blosc/c-blosc-1.21.5.ebuild
+++ b/dev-libs/c-blosc/c-blosc-1.21.6.ebuild
diff --git a/dev-libs/c-blosc2/Manifest b/dev-libs/c-blosc2/Manifest
index 237885ae473b..ef422d19c29a 100644
--- a/dev-libs/c-blosc2/Manifest
+++ b/dev-libs/c-blosc2/Manifest
@@ -1,7 +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.12.0.gh.tar.gz 3148244 BLAKE2B 1c686994cad5df2e8e311f87df922a453ad4b111bd55bc19b9e988d93228c309835fb53ba9111213cf6e0560b172765656a1cf4c46aa1c5d709a2a92401d9072 SHA512 dafd1e08b9d556729abf8e859324c1b4724f43c5bb5829e11a8bf9653216b3afa05436d012a1cc8ca70017e158bee38c4f4aa3d86ebf18d6d7a2712e6bb26f79
-DIST c-blosc2-2.13.0.gh.tar.gz 3150698 BLAKE2B 3020823fad873f13c2e38f21a20c0a40c558a28dd3e2bab86fe4ccdda946b5f2ab8a160cc619f1bca0bf7901515ebaa3a2600fad0f1387c8055fc1042828b3a5 SHA512 83280ea4aedea38167729bfb52797378a94ecf0733c2552283f07aa1fd732e2f565dce3a227e19e10acd855b9690987b90f9dc8a5f6589d208e0c3940b45ecc4
-DIST c-blosc2-2.13.1.gh.tar.gz 3150768 BLAKE2B 3d5e38aef21e4da45c930357d5d282b1fe92b89140b0390ae25371fb84e080f852e7548cd2339114e5c2752522e612e2fa49c3ab92a2223adf760257e5029b2c SHA512 61b08c2ac2ab4ceef1053673012a8dc7975ea5ca314115cd43bc4bfdcfe427007ed920336e66a0128a750f7215c9fcb2f4379b1adc558c380f6931ce5ca591b1
-DIST c-blosc2-2.13.2.gh.tar.gz 3152011 BLAKE2B 1bf9826e6eb1babacb0fe6f7f90c5ca6617cf1cf4df269af95c94e175d0a1cc2015905b9cf6a48107f0b10431feb646ec5de095e00dc29f3bab8d53564e7d4fe SHA512 441df73dca3fe210b0df68bfc3da037a05393f80044f5e2c816000a244ade4cf8e223b2fce2127c034c27a35f2742b05fe06c08861e93c02bc7598d5a4b8a917
+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.2.ebuild b/dev-libs/c-blosc2/c-blosc2-2.11.2.ebuild
deleted file mode 100644
index adf6d65c513f..000000000000
--- a/dev-libs/c-blosc2/c-blosc2-2.11.2.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.3.ebuild b/dev-libs/c-blosc2/c-blosc2-2.11.3.ebuild
deleted file mode 100644
index adf6d65c513f..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.12.0.ebuild b/dev-libs/c-blosc2/c-blosc2-2.12.0.ebuild
deleted file mode 100644
index 83ec7fc645ac..000000000000
--- a/dev-libs/c-blosc2/c-blosc2-2.12.0.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Blocking, shuffling and lossless compression library"
-HOMEPAGE="
- https://www.blosc.org/c-blosc2/c-blosc2.html
- https://github.com/Blosc/c-blosc2/
-"
-SRC_URI="
- https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test +zlib +zstd"
-REQUIRED_USE="test? ( zlib zstd )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=app-arch/lz4-1.7.5:=
- zlib? ( sys-libs/zlib:= )
- zstd? ( app-arch/zstd:= )
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- # remove bundled libs (just in case)
- rm -rf internal-complibs || die
-
- local mycmakeargs=(
- -DBUILD_STATIC=OFF
- -DBUILD_TESTS=$(usex test)
- -DBUILD_BENCHMARKS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_FUZZERS=OFF
- -DDEACTIVATE_ZLIB=$(usex !zlib)
- -DDEACTIVATE_ZSTD=$(usex !zstd)
- -DPREFER_EXTERNAL_LZ4=ON
- -DPREFER_EXTERNAL_ZLIB=ON
- -DPREFER_EXTERNAL_ZSTD=ON
-
- # force regular zlib, at least for the time being
- -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
-
- # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
- # from applying, https://github.com/Blosc/c-blosc2/issues/433
- -DCMAKE_C_FLAGS="${CFLAGS}"
- )
- cmake_src_configure
-}
-
-src_test() {
- # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
- MAKEOPTS=-j1 cmake_src_test
-}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.13.0.ebuild b/dev-libs/c-blosc2/c-blosc2-2.13.0.ebuild
deleted file mode 100644
index 83ec7fc645ac..000000000000
--- a/dev-libs/c-blosc2/c-blosc2-2.13.0.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Blocking, shuffling and lossless compression library"
-HOMEPAGE="
- https://www.blosc.org/c-blosc2/c-blosc2.html
- https://github.com/Blosc/c-blosc2/
-"
-SRC_URI="
- https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test +zlib +zstd"
-REQUIRED_USE="test? ( zlib zstd )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=app-arch/lz4-1.7.5:=
- zlib? ( sys-libs/zlib:= )
- zstd? ( app-arch/zstd:= )
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- # remove bundled libs (just in case)
- rm -rf internal-complibs || die
-
- local mycmakeargs=(
- -DBUILD_STATIC=OFF
- -DBUILD_TESTS=$(usex test)
- -DBUILD_BENCHMARKS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_FUZZERS=OFF
- -DDEACTIVATE_ZLIB=$(usex !zlib)
- -DDEACTIVATE_ZSTD=$(usex !zstd)
- -DPREFER_EXTERNAL_LZ4=ON
- -DPREFER_EXTERNAL_ZLIB=ON
- -DPREFER_EXTERNAL_ZSTD=ON
-
- # force regular zlib, at least for the time being
- -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
-
- # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
- # from applying, https://github.com/Blosc/c-blosc2/issues/433
- -DCMAKE_C_FLAGS="${CFLAGS}"
- )
- cmake_src_configure
-}
-
-src_test() {
- # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
- MAKEOPTS=-j1 cmake_src_test
-}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.13.1.ebuild b/dev-libs/c-blosc2/c-blosc2-2.13.1.ebuild
deleted file mode 100644
index 83ec7fc645ac..000000000000
--- a/dev-libs/c-blosc2/c-blosc2-2.13.1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Blocking, shuffling and lossless compression library"
-HOMEPAGE="
- https://www.blosc.org/c-blosc2/c-blosc2.html
- https://github.com/Blosc/c-blosc2/
-"
-SRC_URI="
- https://github.com/Blosc/c-blosc2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test +zlib +zstd"
-REQUIRED_USE="test? ( zlib zstd )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=app-arch/lz4-1.7.5:=
- zlib? ( sys-libs/zlib:= )
- zstd? ( app-arch/zstd:= )
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- # remove bundled libs (just in case)
- rm -rf internal-complibs || die
-
- local mycmakeargs=(
- -DBUILD_STATIC=OFF
- -DBUILD_TESTS=$(usex test)
- -DBUILD_BENCHMARKS=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_FUZZERS=OFF
- -DDEACTIVATE_ZLIB=$(usex !zlib)
- -DDEACTIVATE_ZSTD=$(usex !zstd)
- -DPREFER_EXTERNAL_LZ4=ON
- -DPREFER_EXTERNAL_ZLIB=ON
- -DPREFER_EXTERNAL_ZSTD=ON
-
- # force regular zlib, at least for the time being
- -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB_NG=ON
-
- # upstream overrides CMAKE_C_FLAGS, preventing ${CFLAGS} defaults
- # from applying, https://github.com/Blosc/c-blosc2/issues/433
- -DCMAKE_C_FLAGS="${CFLAGS}"
- )
- cmake_src_configure
-}
-
-src_test() {
- # Tests fail in parallel, https://github.com/Blosc/c-blosc2/issues/432
- MAKEOPTS=-j1 cmake_src_test
-}
diff --git a/dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild b/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild
index 1da262c2e9ea..a2c086f9673c 100644
--- a/dev-libs/c-blosc2/c-blosc2-2.13.2.ebuild
+++ b/dev-libs/c-blosc2/c-blosc2-2.14.4.ebuild
@@ -16,8 +16,8 @@ SRC_URI="
"
LICENSE="BSD"
-SLOT="0/1"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~loong ~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/c-stdaux/metadata.xml b/dev-libs/c-stdaux/metadata.xml
new file mode 100644
index 000000000000..7e9ad66652f7
--- /dev/null
+++ b/dev-libs/c-stdaux/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-stdaux</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/cJSON/Manifest b/dev-libs/cJSON/Manifest
index f638f3909841..13c64ffda5cb 100644
--- a/dev-libs/cJSON/Manifest
+++ b/dev-libs/cJSON/Manifest
@@ -1,2 +1 @@
-DIST cJSON-1.7.16.tar.gz 353498 BLAKE2B 9dd519b03b24e46fd84798af32d733cec8803d3f5a4b9259352ffe7b1ba0b198a3b4dc0dbdb9cc6247787e49c48beaadc7c31368d8fd695a8ddd711cc0cbfa5b SHA512 3a894de03c33d89f1e7ee572418d5483c844d38e1e64aa4f6297ddaa01f4111f07601f8d26617b424b5af15d469e3955dae075d9f30b5c25e16ec348fdb06e6f
-DIST cJSON-1.7.17.tar.gz 353748 BLAKE2B 11d47bebc4b6b3a8115234706f1b35af0f450725c2ee36aaf563a5d44e20a7bc0e2b83aaf15aeea3146bdad7467e96bf7d6edcd79ad4f3e5a9ffe40f002cf8d5 SHA512 4feebafa5225297fa3e6a7bf23f8d31b5c3e172f437078c5a07528522ad58ca2e9c72dd9e8611241d2b8321e9aa0a1a9af7743689d1c2001d1d9cb624aae6fa8
+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.16.ebuild
deleted file mode 100644
index 8f951af9edaf..000000000000
--- a/dev-libs/cJSON/cJSON-1.7.16.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Ultralightweight JSON parser in ANSI C"
-HOMEPAGE="https://github.com/DaveGamble/cJSON"
-SRC_URI="https://github.com/DaveGamble/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_prepare() {
- cmake_src_prepare
-
- sed -i -e '/-Werror/d' CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_CJSON_TEST=$(usex test)
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/cJSON/cJSON-1.7.17.ebuild b/dev-libs/cJSON/cJSON-1.7.18.ebuild
index 9dd067cc9acb..1848201b4a80 100644
--- a/dev-libs/cJSON/cJSON-1.7.17.ebuild
+++ b/dev-libs/cJSON/cJSON-1.7.18.ebuild
@@ -1,7 +1,7 @@
# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
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 2e024af16add..b16146234667 100644
--- a/dev-libs/capstone/capstone-5.0.1.ebuild
+++ b/dev-libs/capstone/capstone-5.0.1.ebuild
@@ -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 3f5daadd8820..3ad50fa1d50a 100644
--- a/dev-libs/cdk/Manifest
+++ b/dev-libs/cdk/Manifest
@@ -1,2 +1,4 @@
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.20240331.ebuild b/dev-libs/cdk/cdk-5.0.20240331.ebuild
new file mode 100644
index 000000000000..aa3072aaa56e
--- /dev/null
+++ b/dev-libs/cdk/cdk-5.0.20240331.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}-$(ver_rs 2 -)"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="A library of curses widgets"
+HOMEPAGE="https://dickey.his.com/cdk/cdk.html https://github.com/ThomasDickey/cdk-snapshots"
+SRC_URI="https://invisible-island.net/archives/${PN}/${MY_P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${MY_P}.tgz.asc )"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples unicode"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)?]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-thomasdickey )
+"
+
+src_configure() {
+ if [[ ${CHOST} == *-*-darwin* ]] ; then
+ export ac_cv_prog_LIBTOOL=glibtool
+ fi
+
+ # --with-libtool dropped for now because of broken Makefile
+ # bug #790773
+ #
+ # Fedora and openSUSE at least both build with --enable-const. Without
+ # this, consumers end up broken like gphoto2 in bug #919279.
+ econf \
+ --disable-rpath-hack \
+ --enable-const \
+ --with-shared \
+ --with-pkg-config \
+ --with-ncurses$(usex unicode "w" "")
+}
+
+src_install() {
+ # parallel make installs duplicate libs
+ emake -j1 \
+ DESTDIR="${D}" \
+ DOCUMENT_DIR="${ED}/usr/share/doc/${PF}" \
+ install
+
+ if use examples ; then
+ local x
+ for x in include c++ demos examples cli cli/utils cli/samples ; do
+ docinto ${x}
+ find ${x} -maxdepth 1 -mindepth 1 -type f -print0 | xargs -0 dodoc || die
+ done
+ fi
+
+ find "${ED}" \( -name '*.a' -or -name '*.la' \) -delete || die
+}
diff --git a/dev-libs/cglm/Manifest b/dev-libs/cglm/Manifest
index 1d362e79ca8d..90819dc8724b 100644
--- a/dev-libs/cglm/Manifest
+++ b/dev-libs/cglm/Manifest
@@ -1,3 +1,3 @@
-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.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.9.1.ebuild b/dev-libs/cglm/cglm-0.9.4.ebuild
index 8adee7688d32..4c21cab228fa 100644
--- a/dev-libs/cglm/cglm-0.9.1.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/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
index 4fa7b26db7a8..1365f12734f1 100644
--- a/dev-libs/cjose/Manifest
+++ b/dev-libs/cjose/Manifest
@@ -1 +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.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/clog/Manifest b/dev-libs/clog/Manifest
new file mode 100644
index 000000000000..4f863c1a0897
--- /dev/null
+++ b/dev-libs/clog/Manifest
@@ -0,0 +1 @@
+DIST cpuinfo-2023.11.04.tar.gz 3516672 BLAKE2B 4f99781081ae7c0736bac35d8f589918be1466763d57d0b0661c7cdf8a24fccee61d87acae314714bad09da2a15d96d9725b7c2b7a6a9945bb320f96c31b3eb7 SHA512 02dd70f0b95c2cb6d8af4e33072f63f5d72d2314796033ae68bb6b37cb7db18d43dd2cdfedafc896dec0614dbeec9ab507f765f3d958fbda8c0ab3e3a191a87c
diff --git a/dev-libs/clog/clog-2023.11.04.ebuild b/dev-libs/clog/clog-2023.11.04.ebuild
new file mode 100644
index 000000000000..c7655a4e2224
--- /dev/null
+++ b/dev-libs/clog/clog-2023.11.04.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit cmake
+
+CommitId=d6860c477c99f1fce9e28eb206891af3c0e1a1d7
+
+DESCRIPTION="C-style (a-la printf) logging library"
+HOMEPAGE="https://github.com/pytorch/cpuinfo/"
+SRC_URI="https://github.com/pytorch/cpuinfo/archive/${CommitId}.tar.gz
+ -> cpuinfo-${PV}.tar.gz"
+
+S="${WORKDIR}"/clog
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+RDEPEND="!<dev-libs/cpuinfo-${PV}"
+BDEPEND="test? ( dev-cpp/gtest )"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}"/${P}-test.patch )
+
+src_unpack() {
+ unpack "${A}"
+ mv cpuinfo-${CommitId}/deps/clog clog || die
+ rm -r cpuinfo-${CommitId} || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SYSTEM_LIBS=ON
+ -DUSE_SYSTEM_GOOGLETEST=ON
+ -DCLOG_BUILD_TESTS=$(usex test ON OFF)
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/clog/files/clog-2023.11.04-test.patch b/dev-libs/clog/files/clog-2023.11.04-test.patch
new file mode 100644
index 000000000000..e8027d5962e4
--- /dev/null
+++ b/dev-libs/clog/files/clog-2023.11.04-test.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2024-05-08 08:34:01.195300008 +0200
++++ b/CMakeLists.txt 2024-05-08 08:34:19.850068094 +0200
+@@ -93,7 +93,7 @@
+
+ ADD_EXECUTABLE(clog-test test/clog.cc)
+ SET_TARGET_PROPERTIES(clog-test PROPERTIES
+- CXX_STANDARD 11
++ CXX_STANDARD 14
+ CXX_EXTENSIONS NO)
+ CLOG_TARGET_RUNTIME_LIBRARY(clog-test)
+ TARGET_LINK_LIBRARIES(clog-test PRIVATE clog gtest gtest_main)
diff --git a/dev-libs/clog/metadata.xml b/dev-libs/clog/metadata.xml
new file mode 100644
index 000000000000..eec896ddc47d
--- /dev/null
+++ b/dev-libs/clog/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pytorch/cpuinfo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/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/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/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 b1bb4480889a..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-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="8"
+EAPI=8
-PYTHON_COMPAT=( python3_{10..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 )"
@@ -35,8 +36,6 @@ DEPEND="${RDEPEND}
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 d23e55dd8cb0..02a9df728b50 100644
--- a/dev-libs/criterion/criterion-2.4.1.ebuild
+++ b/dev-libs/criterion/criterion-2.4.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
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 )"
@@ -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/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 3cce6a37e444..48b6ae08078d 100644
--- a/dev-libs/cudnn-frontend/metadata.xml
+++ b/dev-libs/cudnn-frontend/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>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
<upstream>
<remote-id type="github">NVIDIA/cudnn-frontend</remote-id>
</upstream>
diff --git a/dev-libs/cutlass/Manifest b/dev-libs/cutlass/Manifest
index d3e27cef8d58..a597ef5b7303 100644
--- a/dev-libs/cutlass/Manifest
+++ b/dev-libs/cutlass/Manifest
@@ -1,3 +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-2.10.0-r1.ebuild
deleted file mode 100644
index d85941a8c5e4..000000000000
--- a/dev-libs/cutlass/cutlass-2.10.0-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cuda cmake
-
-DESCRIPTION="CUDA Templates for Linear Algebra Subroutines"
-HOMEPAGE="https://github.com/NVIDIA/cutlass"
-SRC_URI="https://github.com/NVIDIA/${PN}/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="dev-util/nvidia-cuda-toolkit"
-
-src_prepare() {
- cmake_src_prepare
- cuda_src_prepare
-}
-
-src_configure() {
- mycmakeargs+=(
- -DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
- -DCUTLASS_ENABLE_HEADERS_ONLY=yes
- -DCUTLASS_ENABLE_TESTS=no
- )
- cuda_add_sandbox -w
- addpredict /dev/char
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- rm -r "${ED}"/usr/test || die
-}
diff --git a/dev-libs/cutlass/cutlass-3.3.0.ebuild b/dev-libs/cutlass/cutlass-3.3.0.ebuild
index d85941a8c5e4..7ba922d88c71 100644
--- a/dev-libs/cutlass/cutlass-3.3.0.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/cxxopts-3.0.0-r1.ebuild b/dev-libs/cxxopts/cxxopts-3.0.0-r1.ebuild
index 1336e0c4e58c..c00948527a8b 100644
--- a/dev-libs/cxxopts/cxxopts-3.0.0-r1.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 )"
diff --git a/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
index 5d006453ceae..4bc7e2b2a15f 100644
--- a/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
+++ b/dev-libs/cxxopts/cxxopts-3.2.0-r1.ebuild
@@ -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 ~x86"
IUSE="icu test"
RESTRICT="
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/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 808b6f23b8e3..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
@@ -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"
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 aa524e0af5b1..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
@@ -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"
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-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/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 2dedf327663c..5092ea045426 100644
--- a/dev-libs/dotconf/dotconf-1.3-r2.ebuild
+++ b/dev-libs/dotconf/dotconf-1.3-r2.ebuild
@@ -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=">=dev-build/autoconf-2.58"
-RDEPEND=""
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 2d11b41e75c3..0bf7f61c62bb 100644
--- a/dev-libs/dqlite/Manifest
+++ b/dev-libs/dqlite/Manifest
@@ -1,2 +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.0.ebuild
deleted file mode 100644
index 7a76fcbeee18..000000000000
--- a/dev-libs/dqlite/dqlite-1.16.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
-HOMEPAGE="https://dqlite.io/ https://github.com/canonical/dqlite"
-SRC_URI="https://github.com/canonical/dqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3-with-linking-exception"
-SLOT="0/1.15.1"
-KEYWORDS="amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-db/sqlite:3
- dev-libs/libuv:=
- >=dev-libs/raft-0.17.1:="
-DEPEND="${RDEPEND}
- test? ( dev-libs/raft[lz4,test] )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-backtrace
- --disable-debug
- --disable-sanitize
- --disable-static
-
- # Will build a bundled libsqlite3.so.
- --enable-build-sqlite=no
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild
index 929a6ab56a8d..806fe0946869 100644
--- a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r1.ebuild
+++ b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild
@@ -58,6 +58,7 @@ RESTRICT="!test? ( test )"
DEPEND="dev-cpp/gflags
dev-cpp/gtest
dev-cpp/glog
+ dev-libs/pfs
net-misc/curl"
RDEPEND="${DEPEND}"
@@ -72,13 +73,19 @@ PATCHES=(
"${FILESDIR}"/${P}-musl.patch
)
-CMAKE_SKIP_TESTS=( "Defs.CpuSet" )
+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
index 3890e68c4585..a3617bc3a2a7 100644
--- a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-musl.patch
@@ -23,3 +23,18 @@ index 0728cdc..844076d 100644
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-riscv.patch b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch
index 7038dbfe7b12..de661f8ddecb 100644
--- a/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch
+++ b/dev-libs/dynolog/files/dynolog-0.3.1_p20230126-riscv.patch
@@ -1,10 +1,10 @@
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
-@@ -445,6 +445,14 @@
- asm volatile("mrs %0, cntvct_el0" : "=r"(tstamp));
+@@ -446,6 +446,14 @@
cpu = getCpu();
return tstamp;
+ }
+#elif defined(__riscv)
+inline TimeStamp rdtscp(CpuId& cpu) {
+ TimeStamp tstamp;
@@ -12,7 +12,7 @@ diff -Naur a/hbt/src/common/System.h b/hbt/src/common/System.h
+ 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/efl/Manifest b/dev-libs/efl/Manifest
index 033943ce171e..710720bed01d 100644
--- a/dev-libs/efl/Manifest
+++ b/dev-libs/efl/Manifest
@@ -1,2 +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.26.3-r2.ebuild
deleted file mode 100644
index cce88319b526..000000000000
--- a/dev-libs/efl/efl-1.26.3-r2.ebuild
+++ /dev/null
@@ -1,318 +0,0 @@
-# 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"
-
-LUA_REQ_USE="deprecated(+)"
-LUA_COMPAT=( lua5-{1,2} luajit )
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit docs lua-single meson python-any-r1 xdg
-
-DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
-HOMEPAGE="https://www.enlightenment.org"
-SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
-
-LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
-IUSE="+X avif bmp connman cpu_flags_arm_neon dds debug drm +eet efl-one elogind examples fbcon
- +fontconfig fribidi gif gnutls glib +gstreamer harfbuzz heif hyphen ibus ico
- jpeg2k json nls mono opengl +pdf physics pmaps postscript psd pulseaudio raw scim
- sdl +sound +svg +system-lz4 systemd tga tgv tiff tslib unwind v4l vnc wayland webp xcf
- xim xpm xpresent zeroconf"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- ?? ( fbcon tslib )
- drm? ( wayland )
- examples? ( eet svg )
- ibus? ( glib )
- opengl? ( X )
- pulseaudio? ( sound )
- xim? ( X )
- xpresent? ( X )"
-
-# Requires everything to be enabled unconditionally.
-RESTRICT="test"
-
-RDEPEND="${LUA_DEPS}
- !x11-themes/e-flat-theme
- dev-libs/libinput:=
- net-misc/curl
- media-libs/giflib:=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- sys-apps/dbus
- sys-libs/zlib
- X? (
- !opengl? ( media-libs/mesa[egl(+),gles2] )
- media-libs/freetype
- x11-libs/libX11
- x11-libs/libXScrnSaver
- x11-libs/libXcomposite
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXi
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/libxkbcommon
- wayland? ( x11-libs/libxkbcommon[X] )
- )
- avif? ( media-libs/libavif:= )
- connman? ( net-misc/connman )
- drm? (
- dev-libs/libinput:=
- dev-libs/wayland
- media-libs/mesa[gbm(+)]
- x11-libs/libdrm
- x11-libs/libxkbcommon
- )
- elogind? (
- sys-auth/elogind
- virtual/libudev:=
- )
- fontconfig? ( media-libs/fontconfig )
- fribidi? ( dev-libs/fribidi )
- glib? ( dev-libs/glib:2 )
- gnutls? ( net-libs/gnutls:= )
- !gnutls? ( dev-libs/openssl:0= )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- harfbuzz? ( media-libs/harfbuzz:= )
- heif? ( media-libs/libheif:= )
- hyphen? ( dev-libs/hyphen )
- ibus? ( app-i18n/ibus )
- jpeg2k? ( media-libs/openjpeg:= )
- json? ( >=media-libs/rlottie-0.0.1_pre20200424:= )
- mono? ( dev-lang/mono )
- opengl? ( virtual/opengl )
- pdf? ( app-text/poppler:=[cxx] )
- physics? ( sci-physics/bullet:= )
- postscript? ( app-text/libspectre )
- pulseaudio? ( media-libs/libpulse )
- raw? ( media-libs/libraw:= )
- scim? ( app-i18n/scim )
- sdl? ( media-libs/libsdl2 )
- sound? ( media-libs/libsndfile )
- svg? ( gnome-base/librsvg:2 )
- system-lz4? ( app-arch/lz4:= )
- systemd? ( sys-apps/systemd:= )
- tiff? ( media-libs/tiff:= )
- tslib? ( x11-libs/tslib:= )
- unwind? ( sys-libs/libunwind:= )
- v4l? ( media-libs/libv4l )
- vnc? ( net-libs/libvncserver )
- wayland? (
- dev-libs/wayland
- media-libs/mesa[gles2,wayland]
- x11-libs/libxkbcommon
- )
- webp? ( media-libs/libwebp:= )
- xpm? ( x11-libs/libXpm )
- xpresent? ( x11-libs/libXpresent )
- zeroconf? ( net-dns/avahi )"
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )
- wayland? ( dev-libs/wayland-protocols )"
-BDEPEND="${PYTHON_DEPS}
- virtual/pkgconfig
- examples? ( sys-devel/gettext )
- 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}
- /usr/$(get_libdir)/libefreet_mime.so.${PV}"
-
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Remove automagic unwind configure option, #743154
- if ! use unwind; then
- sed -i "/config_h.set('HAVE_UNWIND/,/eina_ext_deps += unwind/d" src/lib/eina/meson.build ||
- die "Failed to remove libunwind dep"
- fi
-
- # Fixup Doxyfile
- pushd "${DOCS_DIR}" || die
- cp Doxyfile.in Doxyfile || die
- sed -i \
- -e "s/@PACKAGE_VERSION@/${PV}/g" \
- -e "s/@top_builddir@/../g" \
- -e "s/@top_srcdir@/../g" \
- -e "s/@srcdir@/./g" \
- Doxyfile || die
- popd || die
-
- # Fix python shebangs for python-exec[-native-symlinks], #764086
- local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
- python_fix_shebang -q ${shebangs[*]}
-}
-
-src_configure() {
- local emesonargs=(
- -Dbuildtype=plain
-
- -D buffer=false
- -D build-tests=false
- -D cocoa=false
- -D drm-deprecated=false
- -D g-mainloop=false
- -D mono-beta=false
- -D dotnet=false
- -D pixman=false
- -D wl-deprecated=false
- -D dotnet-stylecop-severity=Warning
-
- -D edje-sound-and-video=true
- -D eeze=true
- -D input=true
- -D install-eo-files=true
- -D libmount=true
- -D native-arch-optimization=true
- -D xinput2=true
- -D xinput22=true
-
- $(meson_use X x11)
- $(meson_use debug debug-threads)
- $(meson_use drm)
- $(meson_use examples build-examples)
- $(meson_use fbcon fb)
- $(meson_use fontconfig)
- $(meson_use fribidi)
- $(meson_use glib)
- $(meson_use gstreamer)
- $(meson_use harfbuzz)
- $(meson_use hyphen)
- $(meson_use lua_single_target_luajit elua)
- $(meson_use nls)
- $(meson_use physics)
- $(meson_use pulseaudio)
- $(meson_use sdl)
- $(meson_use sound audio)
- $(meson_use tslib)
- $(meson_use v4l v4l2)
- $(meson_use vnc vnc-server)
- $(meson_use wayland wl)
- $(meson_use xpresent)
- $(meson_use zeroconf avahi)
-
- $(meson_use !system-lz4 embedded-lz4)
- )
-
- if use elogind || use systemd; then
- emesonargs+=( -D systemd=true )
- else
- emesonargs+=( -D systemd=false )
- fi
-
- if use wayland; then
- emesonargs+=( -D opengl=es-egl )
- elif ! use wayland && use opengl; then
- emesonargs+=( -D opengl=full )
- elif ! use wayland && use X && ! use opengl; then
- emesonargs+=( -D opengl=es-egl )
- else
- emesonargs+=( -D opengl=none )
- fi
-
- if use gnutls; then
- emesonargs+=( -D crypto=gnutls )
- else
- emesonargs+=( -D crypto=openssl )
- fi
-
- if use connman; then
- emesonargs+=( -D network-backend=connman )
- else
- emesonargs+=( -D network-backend=none )
- fi
-
- local disabledEvasLoaders=""
- ! use avif && disabledEvasLoaders="avif,"
- ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
- ! use dds && disabledEvasLoaders+="dds,"
- ! use eet && disabledEvasLoaders+="eet,"
- ! use gstreamer && disabledEvasLoaders+="gst,"
- ! use heif && disabledEvasLoaders+="heif,"
- ! use ico && disabledEvasLoaders+="ico,"
- ! use jpeg2k && disabledEvasLoaders+="jp2k,"
- ! use json && disabledEvasLoaders+="json,"
- ! use pdf && disabledEvasLoaders+="pdf,"
- ! use pmaps && disabledEvasLoaders+="pmaps,"
- ! use postscript && disabledEvasLoaders+="ps,"
- ! use psd && disabledEvasLoaders+="psd,"
- ! use raw && disabledEvasLoaders+="raw,"
- ! use svg && disabledEvasLoaders+="rsvg,svg,"
- ! use tga && disabledEvasLoaders+="tga,"
- ! use tgv && disabledEvasLoaders+="tgv,"
- ! use tiff && disabledEvasLoaders+="tiff,"
- ! use webp && disabledEvasLoaders+="webp,"
- ! use xcf && disabledEvasLoaders+="xcf,"
- ! use xpm && disabledEvasLoaders+="xpm,"
- [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
- emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
-
- local disabledImfLoaders=""
- ! use ibus && disabledImfLoaders+="ibus,"
- ! use scim && disabledImfLoaders+="scim,"
- ! use xim && disabledImfLoaders+="xim,"
- [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
- emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
-
- local bindingsList="cxx,"
- use lua_single_target_luajit && bindingsList+="lua,"
- use mono && bindingsList+="mono,"
- [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
- emesonargs+=( -D bindings="${bindingsList}" )
-
- local luaChoice=""
- if use lua_single_target_luajit; then
- luaChoice+="luajit"
- else
- luaChoice+="lua"
- fi
- emesonargs+=( -D lua-interpreter="${luaChoice}" )
-
- # Not all arm CPU's have neon instruction set, #722552
- if use arm && ! use cpu_flags_arm_neon; then
- emesonargs+=( -D native-arch-optimization=false )
- fi
-
- meson_src_configure
-}
-
-src_compile() {
- docs_compile
- meson_src_compile
-}
-
-src_install() {
- meson_src_install
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples/
- dodoc -r "${BUILD_DIR}"/src/examples/
- fi
-}
diff --git a/dev-libs/efl/efl-1.27.0.ebuild b/dev-libs/efl/efl-1.27.0-r1.ebuild
index 31e18555e584..f64a6f6f2aac 100644
--- a/dev-libs/efl/efl-1.27.0.ebuild
+++ b/dev-libs/efl/efl-1.27.0-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=8
LUA_REQ_USE="deprecated(+)"
LUA_COMPAT=( lua5-{1,2} luajit )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit lua-single meson python-any-r1 xdg
@@ -28,6 +28,7 @@ REQUIRED_USE="${LUA_REQUIRED_USE}
?? ( fbcon tslib )
drm? ( wayland )
examples? ( eet svg )
+ gstreamer? ( sound )
ibus? ( glib )
opengl? ( X )
pulseaudio? ( sound )
@@ -48,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
@@ -112,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:= )
@@ -154,8 +156,6 @@ src_prepare() {
src_configure() {
local emesonargs=(
- -Dbuildtype=plain
-
-D buffer=false
-D build-tests=false
-D cocoa=false
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/elfutils-0.191-r1.ebuild b/dev-libs/elfutils/elfutils-0.191-r1.ebuild
new file mode 100644
index 000000000000..d46e6f245602
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.191-r1.ebuild
@@ -0,0 +1,123 @@
+# 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 autotools 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
+ "${FILESDIR}"/${PN}-0.191-avoid-overriding-libcxx-system-header.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
+
+ eautoreconf
+
+ # https://sourceware.org/PR23914
+ sed -i 's:-Werror::' */Makefile.in || die
+}
+
+src_configure() {
+ # bug #407135
+ use test && append-flags -g
+
+ # bug 660738
+ filter-flags -fno-asynchronous-unwind-tables
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ $(multilib_native_use_enable debuginfod)
+ $(use_enable debuginfod libdebuginfod)
+
+ # explicitly disable thread safety, it's not recommended by upstream
+ # doesn't build either on musl.
+ --disable-thread-safety
+
+ # Valgrind option is just for running tests under it; dodgy under sandbox
+ # and indeed even w/ glibc with newer instructions.
+ --disable-valgrind
+ --program-prefix="eu-"
+ --with-zlib
+ $(use_with bzip2 bzlib)
+ $(use_with lzma)
+ $(use_with zstd)
+ )
+
+ # Needed because sets alignment macro
+ is-flagq -fsanitize=address && myeconfargs+=( --enable-sanitize-address )
+ is-flagq -fsanitize=undefined && myeconfargs+=( --enable-sanitize-undefined )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
+ LC_ALL="C" \
+ emake check VERBOSE=1
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ dodoc NOTES
+
+ # These build quick, and are needed for most tests, so don't
+ # disable their building when the USE flag is disabled.
+ if ! use utils; then
+ rm -rf "${ED}"/usr/bin || die
+ fi
+}
diff --git a/dev-libs/elfutils/elfutils-0.191.ebuild b/dev-libs/elfutils/elfutils-0.191.ebuild
index 797cf5e83eb1..2825aaf9a27c 100644
--- a/dev-libs/elfutils/elfutils-0.191.ebuild
+++ b/dev-libs/elfutils/elfutils-0.191.ebuild
@@ -50,7 +50,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-0.189-musl-aarch64-regs.patch
- "${FILESDIR}"/${PN}-0.189-musl-macros.patch
+ "${FILESDIR}"/${PN}-0.191-musl-macros.patch
)
src_prepare() {
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 cf8f24448f98..1245aecbac06 100644
--- a/dev-libs/ell/Manifest
+++ b/dev-libs/ell/Manifest
@@ -1,4 +1,2 @@
-DIST ell-0.58.tar.xz 564908 BLAKE2B 8c3d2913db05186b22315f8b9eb62c6009d64d0c30dba4da4eacd92ca3c675a0c6e11aa23b76af710691ef1cabc14dafa157708aa7793939d36eee467a7e543d SHA512 28f0d215d05ae67a9d5aaa0de6c54d2b69d847a6a3127bebabe504c63083937b07d7dfb498f946bd6a40b22387946557dc886591ef87a7d5b926084083146950
-DIST ell-0.61.tar.xz 565920 BLAKE2B 994a5b8b7eaffcf2274e1d020f54ce3f829a50de352a79744de156b59cb9f5b8db39adc53ab6f5728abd501a13815e58eac1c3359024bb22cd28e248a4b8f289 SHA512 0e57125a924ab4772c3c7ccf97040e416810bccd05ce8f0cb4525a4483f32eabc0f431fac3fff7afdc8bb0e145611b944e1f7fa8d10e6337fc7f97f190d9b0f8
-DIST ell-0.62.tar.xz 567188 BLAKE2B f7539c5f6eac6150d10b317ec5c5296e2005130c34e43c60cb1ac758fd629b00de81da6ff816031c486986732a707e81eb71ec3dd9dbfafd1e7af53ffd73eca1 SHA512 f0019cddba737879f2567b0295ec4cdf8589b989fdaba70a885253140f742e67e33abfe25fabbf8ecfd5c61336ec9cfe359193e0579b9120a66b13e9593beabf
-DIST ell-0.63.tar.xz 567344 BLAKE2B de007676bd7a53c16d7a373aaf4039947daf079efaae1a7185a8f2b2a53bd2a2dfc7dd5c24c2c1f37d539323f9413b21fe072f7d4099e144aa4e4c2efb42c06a SHA512 e91dd7be6a84c5f69351f34695919c93e9171608d9177d92ee2eb0d0a1e50504e554a94bd69b878b94612e535bab045eefb9a1da12790cdada2ec46bf780fe30
+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.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.62.ebuild b/dev-libs/ell/ell-0.62.ebuild
deleted file mode 100644
index 2fd26260aa95..000000000000
--- a/dev-libs/ell/ell-0.62.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic linux-info
-
-DESCRIPTION="Embedded Linux Library provides core, low-level functionality for system daemons"
-HOMEPAGE="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-if [[ "${PV}" == *9999 ]] ; then
- inherit autotools git-r3
- EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
-else
- SRC_URI="https://mirrors.edge.kernel.org/pub/linux/libs/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
-fi
-LICENSE="LGPL-2.1+"
-SLOT="0"
-
-IUSE="pie test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( sys-apps/dbus )"
-
-CONFIG_CHECK="
- ~TIMERFD
- ~EVENTFD
- ~CRYPTO_USER_API
- ~CRYPTO_USER_API_HASH
- ~CRYPTO_MD5
- ~CRYPTO_SHA1
- ~KEY_DH_OPERATIONS
-"
-
-src_prepare() {
- default
- sed -i -e "s#/tmp/ell-test-bus#/tmp/ell-test-bus-$(uuidgen)#" \
- unit/test-dbus*.c unit/dbus.conf || die
- [[ "${PV}" == *9999 ]] && eautoreconf
-}
-
-src_configure() {
- append-cflags "-fsigned-char" #662694
- local myeconfargs=(
- $(use_enable pie)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}" -name "*.la" -delete || die
-}
diff --git a/dev-libs/ell/ell-0.58.ebuild b/dev-libs/ell/ell-0.66.ebuild
index aaabc3bdf016..709988e2ec17 100644
--- a/dev-libs/ell/ell-0.58.ebuild
+++ b/dev-libs/ell/ell-0.66.ebuild
@@ -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.63.ebuild b/dev-libs/ell/ell-0.67.ebuild
index 966be50f1a4d..975d6b799e59 100644
--- a/dev-libs/ell/ell-0.63.ebuild
+++ b/dev-libs/ell/ell-0.67.ebuild
@@ -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 b6f6fca73ba6..d78c6592adc9 100644
--- a/dev-libs/expat/Manifest
+++ b/dev-libs/expat/Manifest
@@ -1,3 +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.1.ebuild b/dev-libs/expat/expat-2.6.1.ebuild
index 62135af6a17a..0eded1ee056a 100644
--- a/dev-libs/expat/expat-2.6.1.ebuild
+++ b/dev-libs/expat/expat-2.6.1.ebuild
@@ -19,6 +19,12 @@ BDEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )"
DOCS=( README.md )
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/906384
+ arc4random
+ arc4random_buf
+)
+
src_prepare() {
default
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 16918eaf4e7a..080fa756df8b 100644
--- a/dev-libs/flatbuffers/Manifest
+++ b/dev-libs/flatbuffers/Manifest
@@ -1,2 +1 @@
-DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f
-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.1.21.ebuild b/dev-libs/flatbuffers/flatbuffers-23.1.21.ebuild
deleted file mode 100644
index b8bd61f6bb19..000000000000
--- a/dev-libs/flatbuffers/flatbuffers-23.1.21.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Memory efficient serialization library"
-HOMEPAGE="
- https://google.github.io/flatbuffers/
- https://github.com/google/flatbuffers/
-"
-SRC_URI="
- https://github.com/google/flatbuffers/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-DOCS=( readme.md )
-
-src_configure() {
- local mycmakeargs=(
- -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs)
- -DFLATBUFFERS_BUILD_SHAREDLIB=ON
- -DFLATBUFFERS_BUILD_TESTS=$(usex test)
- -DFLATBUFFERS_BUILD_BENCHMARKS=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/flatbuffers/flatbuffers-23.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/files/folks-0.15.6-implicit-decl.patch b/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch
deleted file mode 100644
index f61d655343e4..000000000000
--- a/dev-libs/folks/files/folks-0.15.6-implicit-decl.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 127bacf86b7ef639c37dd07afc0bf848c005c3c2 Mon Sep 17 00:00:00 2001
-From: Mohammed Anas <triallax@tutanota.com>
-Date: Sun, 14 Jan 2024 03:27:31 +0000
-Subject: [PATCH] build: add missing API declaration -include to dummy and EDS
- backends
-
-In 7a9c8133468c1f8eb7fbb0e68a6a7e061b9452fb, the original
-`-include redeclare-internal-api.h` was added for autotools. It is
-necessary due to vala internals that require guaranteeing a private
-ABI's prototype is available when compiling folks, even though vala
-doesn't generate that prototype.
-
-During the port to meson, this `-include` was dropped.
-
-Without it, `-Werror=implicit-function-declaration` will cause folks to
-fail to compile. Implicit function declarations are a terrible feature
--- they were part of c89, but c99 removed them without a deprecation
-because they were too dangerous to use, notable in a language that
-doesn't like to remove features even *with* a deprecation.
-
-For over two decades, compilers have, by default, allowed this invalid C
-anyways, on the grounds that it commonly existed, but modern compilers
-are finally starting to enforce this. It will become a fatal error by
-default in gcc 14, and clang 16.
-
-Folks got this right all the way back in 2013; it disappeared by
-accident. Let's restore it as originally intended.
----
-Upstream: https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
-
- backends/dummy/lib/meson.build | 1 +
- backends/eds/lib/meson.build | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/backends/dummy/lib/meson.build b/backends/dummy/lib/meson.build
-index 32448f35..eacc0e7a 100644
---- a/backends/dummy/lib/meson.build
-+++ b/backends/dummy/lib/meson.build
-@@ -23,6 +23,7 @@ dummy_backendlib_vala_flags = [
-
- dummy_backendlib_c_flags = [
- '-include', 'config.h',
-+ '-include', 'folks/redeclare-internal-api.h',
- '-DBACKEND_NAME="@0@"'.format(dummy_backend_name),
- '-DG_LOG_DOMAIN="@0@"'.format(dummy_backend_name),
- ]
-diff --git a/backends/eds/lib/meson.build b/backends/eds/lib/meson.build
-index 3e3db84c..68d803b3 100644
---- a/backends/eds/lib/meson.build
-+++ b/backends/eds/lib/meson.build
-@@ -40,6 +40,7 @@ endif
-
- eds_backendlib_c_flags = [
- '-include', 'config.h',
-+ '-include', 'folks/redeclare-internal-api.h',
- '-DBACKEND_NAME="@0@"'.format(eds_backend_name),
- '-DG_LOG_DOMAIN="@0@"'.format(eds_backend_name),
- ]
---
-GitLab
-
diff --git a/dev-libs/folks/folks-0.15.6-r1.ebuild b/dev-libs/folks/folks-0.15.6-r1.ebuild
deleted file mode 100644
index a01a4476a16d..000000000000
--- a/dev-libs/folks/folks-0.15.6-r1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
-
-DESCRIPTION="Library for aggregating people from multiple sources"
-HOMEPAGE="https://wiki.gnome.org/Projects/Folks https://gitlab.gnome.org/GNOME/folks"
-
-LICENSE="LGPL-2.1+"
-SLOT="0/26" # subslot = libfolks soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x86-linux"
-
-IUSE="bluetooth eds telepathy test utils"
-REQUIRED_USE="bluetooth? ( eds )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=dev-libs/glib-2.58:2
- >=dev-libs/libgee-0.10:0.8[introspection]
- >=dev-libs/gobject-introspection-1.54:=
- telepathy? (
- >=net-libs/telepathy-glib-0.19.9
- dev-libs/dbus-glib
- )
- eds? ( >=gnome-extra/evolution-data-server-3.38:= )
- dev-libs/libxml2:2
- utils? ( sys-libs/readline:0= )
-"
-# telepathy-mission-control needed at runtime; it is used by the telepathy
-# backend via telepathy-glib's AccountManager binding.
-RDEPEND="${DEPEND}
- bluetooth? ( >=net-wireless/bluez-5[obex] )
- telepathy? ( net-im/telepathy-mission-control )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- $(vala_depend)
- telepathy? ( net-libs/telepathy-glib[vala] )
- eds? ( gnome-extra/evolution-data-server[vala] )
- test? (
- sys-apps/dbus
- bluetooth? (
- $(python_gen_any_dep '
- dev-python/python-dbusmock[${PYTHON_USEDEP}]
- ')
- )
- )
-"
-
-PATCHES=(
- # implicit function declaration (Modern C porting):
- # - https://bugs.gentoo.org/920098
- # - https://gitlab.gnome.org/GNOME/folks/-/merge_requests/68
- "${FILESDIR}"/folks-0.15.6-implicit-decl.patch
-)
-
-python_check_deps() {
- if use test && use bluetooth; then
- python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
- fi
-}
-
-src_prepare() {
- default
- vala_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use bluetooth bluez_backend)
- $(meson_use eds eds_backend)
- $(meson_use eds ofono_backend)
- $(meson_use telepathy telepathy_backend)
- -Dzeitgeist=false # last rited package
- -Dimport_tool=true
- $(meson_use utils inspect_tool)
- $(meson_use test tests)
- -Dinstalled_tests=false
- -Ddocs=false # Needs find_program sedding to specific version; only dev docs, don't bother
- )
- meson_src_configure
-}
-
-src_test() {
- dbus-run-session meson test -C "${BUILD_DIR}" -t 5
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/dev-libs/folks/folks-0.15.6.ebuild b/dev-libs/folks/folks-0.15.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_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-r1.ebuild b/dev-libs/foma/foma-0.10.0_p20220612-r2.ebuild
index ebeb755f4410..070bf16a2140 100644
--- a/dev-libs/foma/foma-0.10.0_p20220612-r1.ebuild
+++ b/dev-libs/foma/foma-0.10.0_p20220612-r2.ebuild
@@ -10,6 +10,7 @@ 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"
@@ -21,14 +22,19 @@ DEPEND="sys-libs/readline:=
sys-libs/zlib"
RDEPEND="${DEPEND}"
-S="${WORKDIR}/foma-${MY_COMMIT}/foma"
+CMAKE_USE_DIR="${WORKDIR}/foma-${MY_COMMIT}/foma"
-src_prepare() {
- cmake_src_prepare
+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
+)
- cd "${WORKDIR}/foma-${MY_COMMIT}" || die
- eapply "${FILESDIR}"/foma-0.10.0-gcc-13-fixes.patch
- eapply "${FILESDIR}"/foma-0.10-0-fix-BOM_codes-initializer.patch
+src_test() {
+ local -x PATH="${BUILD_DIR}:${PATH}"
+ pushd foma/tests >/dev/null || die
+ ./run.sh || die
+ popd >/dev/null || die
}
src_install() {
diff --git a/dev-libs/freexl/freexl-1.0.6.ebuild b/dev-libs/freexl/freexl-1.0.6.ebuild
index cc7c1fda2005..04dcf301b20e 100644
--- a/dev-libs/freexl/freexl-1.0.6.ebuild
+++ b/dev-libs/freexl/freexl-1.0.6.ebuild
@@ -1,8 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+inherit libtool
+
DESCRIPTION="Simple XLS data extraction library"
HOMEPAGE="https://www.gaia-gis.it/fossil/freexl/index"
SRC_URI="https://www.gaia-gis.it/gaia-sins/${PN}-sources/${P}.tar.gz"
@@ -14,6 +16,11 @@ KEYWORDS="amd64 ~arm arm64 ~ia64 ppc ppc64 ~riscv x86"
DEPEND="virtual/libiconv"
RDEPEND="${DEPEND}"
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
econf --disable-static
}
diff --git a/dev-libs/freexl/freexl-2.0.0-r1.ebuild b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
index 88eb45d06bc1..c13a8a75b37f 100644
--- a/dev-libs/freexl/freexl-2.0.0-r1.ebuild
+++ b/dev-libs/freexl/freexl-2.0.0-r1.ebuild
@@ -3,6 +3,8 @@
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"
@@ -18,6 +20,11 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
econf --enable-xmldocs
}
diff --git a/dev-libs/girara/girara-9999.ebuild b/dev-libs/girara/girara-9999.ebuild
index 6b506349dbaa..5857ec363588 100644
--- a/dev-libs/girara/girara-9999.ebuild
+++ b/dev-libs/girara/girara-9999.ebuild
@@ -19,7 +19,7 @@ fi
LICENSE="ZLIB"
SLOT="0"
-IUSE="doc libnotify test"
+IUSE="doc test"
RESTRICT="!test? ( test )"
@@ -32,7 +32,6 @@ RDEPEND="
x11-libs/gdk-pixbuf
>=x11-libs/gtk+-3.20:3
x11-libs/pango
- libnotify? ( x11-libs/libnotify )
"
# Tests are run under virtx
DEPEND="
@@ -52,7 +51,6 @@ 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 18f6411fedf7..0967ffcbbf05 100644
--- a/dev-libs/gjs/Manifest
+++ b/dev-libs/gjs/Manifest
@@ -1,2 +1 @@
-DIST gjs-1.78.1.tar.xz 654556 BLAKE2B 1d723ad2fd15e7ba6b9194cb90f0c0bc7b89c150604beb11ad95e1628ead2bea7ed8b423e1836736013a31e8ff8f3e2400458faa26dcc95d3a6dc36c65957583 SHA512 9a5d02bacbf82364cf5daa69d6613eb38ef34121eb350b2773b87cf1027ccc1b9905b651275fd71036817e710d834d356ee1cecac2f7c83ff571c39e98360286
-DIST gjs-1.78.4.tar.xz 655220 BLAKE2B 0adcc3d0cc88a36b94b2113a6d88ded9be7fa034392fa38abb9ac22a962fb8601a76b6c886500e48c40fbe8708b3164b1d403dd83cd4e77358a4a020e8c15632 SHA512 a402050cee011a84f0ebb6b1512a2e681e792cf559b3182ece0868e57191be64337d6683ebcb8a7ee89ba79c12947a8cbca85f015c6015d26901352b5255c2c4
+DIST gjs-1.78.5.tar.xz 656168 BLAKE2B e1458d000998b66fda90e448ca487e591729e003c3e11a939dc474958b6de55783d41db8de5b243a329361f12acc15a8e84f4131650705becb046b68c54a24a2 SHA512 bb25e52dff53bfbde6d2329027d4ff68849740cf753da58f9bdf5a19ea7b029e2517d67978f461f16660dd1aa48b223798e9c0a24cde0ccb62060e4a0c83a02e
diff --git a/dev-libs/gjs/gjs-1.78.4.ebuild b/dev-libs/gjs/gjs-1.78.4.ebuild
deleted file mode 100644
index f9d52d43c6ba..000000000000
--- a/dev-libs/gjs/gjs-1.78.4.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic gnome.org meson virtualx
-
-DESCRIPTION="Javascript bindings for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Projects/Gjs https://gitlab.gnome.org/GNOME/gjs"
-
-LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
-SLOT="0"
-IUSE="+cairo examples readline sysprof test"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.66.0:2
- dev-libs/libffi:=
- >=dev-libs/gobject-introspection-1.71.1:=
- dev-lang/spidermonkey:115
- cairo? ( x11-libs/cairo[X,glib] )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- test? (
- sys-apps/dbus
- >=x11-libs/gtk+-3.20:3[introspection]
- )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_configure() {
- append-cppflags -DG_DISABLE_CAST_CHECKS
-
- # On musl, it's required that either gjs, pixman or gnome-shell to be built
- # with a larger stack otherwise librsvg fails to render a particular SVG, as
- # a result we fail to get gdm or gnome-shell running (greeted with a fail
- # whale screen). The bug has been reported to librsvg. This is ideally just
- # a temporary workaround until we understand what exactly needs a larger
- # stack size, as it's not sufficient to do just librsvg.
- #
- # Please refer to:
- # https://gitlab.gnome.org/GNOME/librsvg/-/issues/686
- # https://gitlab.gnome.org/GNOME/librsvg/-/issues/874
- #
- # TODO: Find an actual fix instead of increasing the stack
- use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
-
- # FIXME: add systemtap/dtrace support, like in glib:2
- local emesonargs=(
- $(meson_feature cairo)
- $(meson_feature readline)
- $(meson_feature sysprof profiler)
- -Dinstalled_tests=false
- $(meson_use !test skip_dbus_tests)
- $(meson_use !test skip_gtk_tests)
- -Db_pch=True # TODO this has to go
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/gjs/gjs-1.78.1.ebuild b/dev-libs/gjs/gjs-1.78.5.ebuild
index 805b43049029..0266c267beac 100644
--- a/dev-libs/gjs/gjs-1.78.1.ebuild
+++ b/dev-libs/gjs/gjs-1.78.5.ebuild
@@ -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 b5a930af82f4..c46b7e68014f 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -1,3 +1,4 @@
DIST glib-2.76.4.tar.xz 5274356 BLAKE2B c9ceb514ea81e1e6ab2d0efc82c48c0d8ae6c997fd0e3c56d47a5174b027f785b58266fff73b1d1132e272305126fbff22e3c65d47de46224cd12fa49796d5bc SHA512 f76932dc5090a44880373228e2b162f338415d06f7c90f2950eab1a43bb191c56a1797da4d377594f6a999197fef4defb848039259cfa4105bb68288a928f5b7
DIST glib-2.78.3.tar.xz 5321388 BLAKE2B 6ef754b15e1ce4377eafdfc317025ac65c3d8010a8816a0cef786cec9da2af9f7d7d1da735c971ab8c848b2dcec050330e5b0fdceb156a36d739848e6160cd19 SHA512 9c1af75fb973d23ce0286d5b7836eea45f9628c148ced5ac10e10abceda05024ae4c57f01439824d3287d986527500b7b959828b630b6e4a3314b5224f4d7246
DIST glib-2.78.4.tar.xz 5331892 BLAKE2B ada7134597d7d863e581a2bb1097ac07a63b27b53309aadab5b1d3686327ee718ad8c5c07af3fce5cc12328e728fc2c4df5fd9e69f431fa00dc634062ef7f926 SHA512 6f3a06e10e7373a2dbf0688512de4126472fb73cbec488b7983b5ffecff09c64d7e1ca462f892e8f215d3d277d103ca802bad7ef0bd0f91edf26fc6ce67187b6
+DIST glib-2.78.6.tar.xz 5344808 BLAKE2B d16173794c4aa019459cf8c8c84d4107fb8393828f41ec6c631b9452890f34f9022ed848a543ed134fdb8a575faef6b941cea3e05de512eb1b7a99f7601a2485 SHA512 8d75f8fd77b6309215ca86a0c7648878efe11051f18b279840c137669017ea4066388f8682367e4ea3f154333d833c9dc28ccd4a66a91f0c3854a40a2838f8da
diff --git a/dev-libs/glib/files/glib-2.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 51da7bfa347f..356bd10b8796 100644
--- a/dev-libs/glib/glib-2.76.4.ebuild
+++ b/dev-libs/glib/glib-2.76.4.ebuild
@@ -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 51da7bfa347f..356bd10b8796 100644
--- a/dev-libs/glib/glib-2.78.3.ebuild
+++ b/dev-libs/glib/glib-2.78.3.ebuild
@@ -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.4-r1.ebuild b/dev-libs/glib/glib-2.78.4-r1.ebuild
index a6f0241faaa9..f3dbbeb1f18b 100644
--- a/dev-libs/glib/glib-2.78.4-r1.ebuild
+++ b/dev-libs/glib/glib-2.78.4-r1.ebuild
@@ -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
@@ -73,6 +73,7 @@ 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() {
@@ -187,7 +188,7 @@ multilib_src_configure() {
#fi
local emesonargs=(
- -Dbuildtype=$(usex debug debug plain)
+ $(meson_feature debug glib_debug)
-Ddefault_library=$(usex static-libs both shared)
-Druntime_dir="${EPREFIX}"/run
$(meson_feature selinux)
@@ -225,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.6.ebuild b/dev-libs/glib/glib-2.78.6.ebuild
new file mode 100644
index 000000000000..4cb3fb6b75e4
--- /dev/null
+++ b/dev-libs/glib/glib-2.78.6.ebuild
@@ -0,0 +1,320 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
+
+DESCRIPTION="The GLib library of C routines"
+HOMEPAGE="https://www.gtk.org/"
+
+LICENSE="LGPL-2.1+"
+SLOT="2"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
+
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# * elfutils (via libelf) does not build on Windows. gresources are not embedded
+# within ELF binaries on that platform anyway and inspecting ELF binaries from
+# other platforms is not that useful so exclude the dependency in this case.
+# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
+# these are used by GIO, which glib[static-libs] consumers don't really seem
+# to need at all, thus not imposing the deps for now and once some consumers
+# are actually found to static link libgio-2.0.a, we can revisit and either add
+# them or just put the (build) deps in that rare consumer instead of recursive
+# RDEPEND here (due to lack of recursive DEPEND).
+RDEPEND="
+ !<dev-util/gdbus-codegen-${PV}
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
+ selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
+ xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+# libxml2 used for optional tests that get automatically skipped
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-devel/gettext-0.19.8
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5 )
+ systemtap? ( >=dev-debug/systemtap-1.3 )
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/packaging[${PYTHON_USEDEP}]
+ ')
+ test? ( >=sys-apps/dbus-1.2.14 )
+ virtual/pkgconfig
+"
+# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
+
+PDEPEND="
+ dbus? ( gnome-base/dconf )
+ mime? ( x11-misc/shared-mime-info )
+"
+# shared-mime-info needed for gio/xdgmime, bug #409481
+# dconf is needed to be able to save settings, bug #498436
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/gio-querymodules$(get_exeext)
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+ "${FILESDIR}"/${PN}-2.78.4-distutils.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/packaging[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ if use kernel_linux ; then
+ CONFIG_CHECK="~INOTIFY_USER"
+ if use test ; then
+ CONFIG_CHECK="~IPV6"
+ WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
+ fi
+ linux-info_pkg_setup
+ fi
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test; then
+ # TODO: Review the test exclusions, especially now with meson
+ # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
+ if ! has_version dev-util/desktop-file-utils ; then
+ ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
+ ewarn "think on installing it to get these tests run."
+ sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
+ sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
+ fi
+
+ # gdesktopappinfo requires existing terminal (gnome-terminal or any
+ # other), falling back to xterm if one doesn't exist
+ #if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
+ # ewarn "Some tests will be skipped due to missing terminal program"
+ # These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
+ # Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready
+ # for backport (or in a bump) and file new issue if still fails
+ sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
+ # desktop-app-info/launch* might fail similarly
+ sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
+ #fi
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=722604
+ sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
+ sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
+
+ ewarn "Tests for search-utils have been skipped"
+ sed -i -e "/search-utils/d" glib/tests/meson.build || die
+
+ # Play nice with network-sandbox, but this approach would defeat the purpose of the test
+ #sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
+ else
+ # Don't build tests, also prevents extra deps, bug #512022
+ sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
+ fi
+
+ # Don't build fuzzing binaries - not used
+ sed -i -e '/subdir.*fuzzing/d' meson.build || die
+
+ # gdbus-codegen is a separate package
+ sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
+
+ # Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
+ sed -i -e '/install_dir/d' gio/tests/meson.build || die
+
+ cat > "${T}/glib-test-ld-wrapper" <<-EOF
+ #!/usr/bin/env sh
+ exec \${LD:-ld} "\$@"
+ EOF
+ chmod a+x "${T}/glib-test-ld-wrapper" || die
+ sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
+
+ # make default sane for us
+ if use prefix ; then
+ sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
+ # bug #308609, without path, bug #314057
+ export PERL=perl
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).,/s/true/false/' \
+ meson.build || die
+ sed -i \
+ -e '/AvailabilityMacros.h/d' \
+ gio/giomodule.c || die
+
+ default
+ gnome2_environment_reset
+ # TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
+}
+
+multilib_src_configure() {
+ # TODO: figure a way to pass appropriate values for all cross properties
+ # that glib uses (search for get_cross_property)
+ #if tc-is-cross-compiler ; then
+ # https://bugzilla.gnome.org/show_bug.cgi?id=756473
+ # TODO-meson: This should be in meson cross file as 'growing_stack'
+ # property; and more, look at get_cross_property
+ #case ${CHOST} in
+ #hppa*|metag*) export glib_cv_stack_grows=yes ;;
+ #*) export glib_cv_stack_grows=no ;;
+ #esac
+ #fi
+
+ local emesonargs=(
+ $(meson_feature debug glib_debug)
+ -Ddefault_library=$(usex static-libs both shared)
+ -Druntime_dir="${EPREFIX}"/run
+ $(meson_feature selinux)
+ $(meson_use xattr)
+ -Dlibmount=enabled # only used if host_system == 'linux'
+ -Dman=true
+ $(meson_use systemtap dtrace)
+ $(meson_use systemtap)
+ $(meson_feature sysprof)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
+ -Dinstalled_tests=false
+ -Dnls=enabled
+ -Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
+ )
+ meson_src_configure
+}
+
+multilib_src_test() {
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
+ export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
+ export LC_TIME=C # bug #411967
+ export TZ=UTC
+ unset GSETTINGS_BACKEND # bug #596380
+ python_setup
+
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
+ # Related test is a bit nitpicking
+ mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+ chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
+
+ meson_src_test --timeout-multiplier 20 --no-suite flaky
+}
+
+multilib_src_install() {
+ meson_src_install
+ keepdir /usr/$(get_libdir)/gio/modules
+}
+
+multilib_src_install_all() {
+ # These are installed by dev-util/glib-utils
+ # TODO: With patching we might be able to get rid of the python-any deps
+ # and removals, and test depend on glib-utils instead; revisit now with
+ # meson
+ rm "${ED}/usr/bin/glib-genmarshal" || die
+ rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
+ rm "${ED}/usr/bin/glib-mkenums" || die
+ rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
+ rm "${ED}/usr/bin/gtester-report" || die
+ rm "${ED}/usr/share/man/man1/gtester-report.1" || die
+ # gdbus-codegen manpage installed by dev-util/gdbus-codegen
+ rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Make gschemas.compiled belong to glib alone
+ local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"/${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+
+ multilib_pkg_preinst() {
+ # Make giomodule.cache belong to glib alone
+ local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
+
+ if [[ -e ${EROOT}${cache} ]]; then
+ cp "${EROOT}"${cache} "${ED}"${cache} || die
+ else
+ touch "${ED}"${cache} || die
+ fi
+ }
+
+ # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
+ # file due to inability to create it and GIO might not look at any of the modules there
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_preinst
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ # glib installs no schemas itself, but we force update for fresh install in case
+ # something has dropped in a schemas file without direct glib dep; and for upgrades
+ # in case the compiled schema format could have changed
+ gnome2_schemas_update
+
+ multilib_pkg_postinst() {
+ gnome2_giomodule_cache_update \
+ || die "Update GIO modules cache failed (for ${ABI})"
+ }
+ if ! tc-is-cross-compiler ; then
+ multilib_foreach_abi multilib_pkg_postinst
+ else
+ ewarn "Updating of GIO modules cache skipped due to cross-compilation."
+ ewarn "You might want to run gio-querymodules manually on the target for"
+ ewarn "your final image for performance reasons and re-run it when packages"
+ ewarn "installing GIO modules get upgraded or added to the image."
+ fi
+
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "$v" "-lt" "2.63.6"; then
+ ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
+ ewarn "to restart your session for \"Open With\" dialogs to work."
+ fi
+ done
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+
+ if [[ -z ${REPLACED_BY_VERSION} ]]; then
+ multilib_pkg_postrm() {
+ rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
+ }
+ multilib_foreach_abi multilib_pkg_postrm
+ rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
+ fi
+}
diff --git a/dev-libs/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-3.2.13.ebuild b/dev-libs/gmime/gmime-3.2.13.ebuild
deleted file mode 100644
index 209667ccf128..000000000000
--- a/dev-libs/gmime/gmime-3.2.13.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic gnome2 vala
-
-DESCRIPTION="Library for creating and parsing MIME messages"
-HOMEPAGE="https://github.com/jstedfast/gmime http://spruce.sourceforge.net/gmime/"
-SRC_URI="https://github.com/jstedfast/${PN}/releases/download/${PV}/${P}.tar.xz"
-
-SLOT="3.0"
-LICENSE="LGPL-2.1+"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="crypt doc idn test +vala"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.68.0:2
- sys-libs/zlib
- crypt? ( >=app-crypt/gpgme-1.8.0:= )
- idn? ( net-dns/libidn2:= )
- vala? (
- $(vala_depend)
- >=dev-libs/gobject-introspection-1.30.0:=
- )
-"
-DEPEND="${RDEPEND}
- virtual/libiconv
-"
-BDEPEND="
- >=dev-build/gtk-doc-am-1.8
- virtual/pkgconfig
- doc? ( app-text/docbook-sgml-utils )
-"
-
-src_prepare() {
- gnome2_src_prepare
- use vala && vala_setup
-}
-
-src_configure() {
- if [[ ${CHOST} == *-solaris* ]]; then
- # bug #???, why not use --with-libiconv
- append-libs iconv
- fi
-
- gnome2_src_configure \
- --enable-largefile \
- $(use_enable crypt crypto) \
- $(use_enable vala) \
- $(use_with idn libidn) \
- $(usex doc "" DB2HTML=)
-}
-
-src_compile() {
- gnome2_src_compile
- if use doc; then
- emake -C docs/tutorial html
- fi
-}
-
-src_install() {
- gnome2_src_install
-
- if use doc ; then
- docinto tutorial
- dodoc -r docs/tutorial/html/
- fi
-}
diff --git a/dev-libs/gmime/gmime-3.2.14.ebuild b/dev-libs/gmime/gmime-3.2.14.ebuild
index 85c6cca0193c..209667ccf128 100644
--- a/dev-libs/gmime/gmime-3.2.14.ebuild
+++ b/dev-libs/gmime/gmime-3.2.14.ebuild
@@ -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 )"
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 e54b7e1668da..b9506b1ab48c 100644
--- a/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
+++ b/dev-libs/gobject-introspection/gobject-introspection-1.78.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit gnome.org meson python-single-r1 xdg
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/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/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/hipother/metadata.xml b/dev-libs/hipother/metadata.xml
new file mode 100644
index 000000000000..9d92b0b0e73f
--- /dev/null
+++ b/dev-libs/hipother/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
+ <upstream>
+ <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 d7acf48d63d2..9fc1c3932385 100644
--- a/dev-libs/hyprland-protocols/Manifest
+++ b/dev-libs/hyprland-protocols/Manifest
@@ -1 +1,2 @@
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.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/hyprlang/Manifest b/dev-libs/hyprlang/Manifest
index bfdb053fbad5..f26f252d45e6 100644
--- a/dev-libs/hyprlang/Manifest
+++ b/dev-libs/hyprlang/Manifest
@@ -1,2 +1,3 @@
-DIST hyprlang-0.4.0.gh.tar.gz 63245 BLAKE2B 79eab1d27c793965e9974cd73e7e4e433f3153c631665acae3866f3181f83dfa774e2728b0abde18926b26a0341b1548ab5d45207b7f3094c4f9e5d01c18f9bf SHA512 f25ac8f5667e7c6600916fa730dcb66cef0f86ebedd7157e94691f3e46350f628d68a3974916c09d709bbb89582d66cf5c707ef263f20964b2f205972d72ebe8
-DIST hyprlang-0.4.1.gh.tar.gz 63616 BLAKE2B 7fc9fde1411ce1fec4328724dd51d3a1ebcbb95850e10f0316cf70307885d7ab6b797836c77462bd3724367b3415457c89b6c7593e1ec9dd671500bd4cf0cffc SHA512 2424d2b2d137b83b42aa37e6b31267a46e285dde0df1f600a3aa85f38117d1feaff9bb1884e266ef61c46b0bb02544a8b265329158eadd110962c5c03192e52f
+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.4.0.ebuild b/dev-libs/hyprlang/hyprlang-0.5.0.ebuild
index 386e61adcb2c..9884a4ce9a12 100644
--- a/dev-libs/hyprlang/hyprlang-0.4.0.ebuild
+++ b/dev-libs/hyprlang/hyprlang-0.5.0.ebuild
@@ -11,4 +11,4 @@ SRC_URI="https://github.com/hyprwm/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~riscv"
diff --git a/dev-libs/hyprlang/hyprlang-0.4.1.ebuild b/dev-libs/hyprlang/hyprlang-0.5.1.ebuild
index 4c7b562223db..4c7b562223db 100644
--- a/dev-libs/hyprlang/hyprlang-0.4.1.ebuild
+++ b/dev-libs/hyprlang/hyprlang-0.5.1.ebuild
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/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 821057a1856d..7a7475da110d 100644
--- a/dev-libs/icu-layoutex/Manifest
+++ b/dev-libs/icu-layoutex/Manifest
@@ -1,2 +1,4 @@
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-75.1.ebuild b/dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild
new file mode 100644
index 000000000000..beac8d8def24
--- /dev/null
+++ b/dev-libs/icu-layoutex/icu-layoutex-75.1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with dev-libs/icu
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc
+inherit autotools flag-o-matic multilib-minimal toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/-rc}
+MY_PV=${MY_PV//./_}
+
+DESCRIPTION="External layout part of International Components for Unicode"
+HOMEPAGE="https://icu.unicode.org/"
+SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
+SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
+S="${WORKDIR}"/${PN/-layoutex}/source
+
+LICENSE="BSD"
+SLOT="0/${PV%.*}"
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+fi
+IUSE="debug static-libs test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~dev-libs/icu-${PV}[${MULTILIB_USEDEP}]
+ dev-libs/icu-le-hb[${MULTILIB_USEDEP}]
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-65.1-remove-bashisms.patch" )
+
+src_prepare() {
+ default
+
+ # Disable renaming as it assumes stable ABI and that consumers
+ # won't use unofficial APIs. We need this despite the configure argument.
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
+ common/unicode/uconfig.h || die
+
+ # Fix linking of icudata
+ sed -i \
+ -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
+ config/mh-linux || die
+
+ eautoreconf
+}
+
+src_configure() {
+ MAKEOPTS+=" VERBOSE=1"
+
+ if tc-is-cross-compiler; then
+ mkdir "${WORKDIR}"/host || die
+ pushd "${WORKDIR}"/host >/dev/null || die
+
+ CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
+ CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
+ "${S}"/configure --disable-renaming --disable-debug \
+ --disable-samples --enable-static || die
+ emake
+
+ popd >/dev/null || die
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ # https://unicode-org.atlassian.net/browse/ICU-22001
+ filter-lto
+
+ local myeconfargs=(
+ --disable-renaming
+ # We want a minimal build as this is just for layoutex
+ # so we disable as much as possible
+ --disable-samples
+ --disable-extras
+ --disable-icuio
+
+ # This is icu-layoutex, so..
+ --enable-layoutex
+
+ $(use_enable debug)
+ $(use_enable static-libs static)
+
+ # Need tools for tests, otherwise get this in configure:
+ # "## Note: you have disabled ICU's tools. This ICU cannot build its own data or tests.
+ # ## Expect build failures in the 'data', 'test', and other directories."
+ # ... although layoutex has no tests right now anyway, but let's keep this
+ # for the future.
+ $(use_enable test tools)
+ $(use_enable test tests)
+ )
+
+ tc-is-cross-compiler && myeconfargs+=(
+ --with-cross-build="${WORKDIR}"/host
+ )
+
+ # icu tries to use clang by default
+ tc-export CC CXX
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake -C layoutex VERBOSE="1" check
+}
+
+multilib_src_install() {
+ pushd layoutex &>/dev/null || die
+ default
+ popd &>/dev/null || die
+}
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest
index 821057a1856d..7a7475da110d 100644
--- a/dev-libs/icu/Manifest
+++ b/dev-libs/icu/Manifest
@@ -1,2 +1,4 @@
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/icu-74.2.ebuild b/dev-libs/icu/icu-74.2.ebuild
index d95a60360a39..dcfd9ddc6d2b 100644
--- a/dev-libs/icu/icu-74.2.ebuild
+++ b/dev-libs/icu/icu-74.2.ebuild
@@ -69,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.
diff --git a/dev-libs/icu/icu-75.1.ebuild b/dev-libs/icu/icu-75.1.ebuild
new file mode 100644
index 000000000000..d996b5ed11dc
--- /dev/null
+++ b/dev-libs/icu/icu-75.1.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with dev-libs/icu-layoutex
+
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/icu.asc
+inherit autotools flag-o-matic multilib-minimal python-any-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_rc/-rc}
+MY_PV=${MY_PV//./_}
+
+DESCRIPTION="International Components for Unicode"
+HOMEPAGE="https://icu.unicode.org/"
+SRC_URI="https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz"
+SRC_URI+=" verify-sig? ( https://github.com/unicode-org/icu/releases/download/release-${MY_PV/_/-}/icu4c-${MY_PV/-rc/rc}-src.tgz.asc )"
+S="${WORKDIR}"/${PN}/source
+
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+LICENSE="BSD"
+SLOT="0/${PV%.*}"
+IUSE="debug doc examples static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+ doc? ( app-text/doxygen[dot] )
+ verify-sig? ( >=sec-keys/openpgp-keys-icu-20221020 )
+"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/icu-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-65.1-remove-bashisms.patch"
+ "${FILESDIR}/${PN}-64.2-darwin.patch"
+ "${FILESDIR}/${PN}-68.1-nonunicode.patch"
+)
+
+src_prepare() {
+ default
+
+ # Disable renaming as it assumes stable ABI and that consumers
+ # won't use unofficial APIs. We need this despite the configure argument.
+ sed -i \
+ -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \
+ common/unicode/uconfig.h || die
+
+ # Fix linking of icudata
+ sed -i \
+ -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
+ config/mh-linux || die
+
+ # Append doxygen configuration to configure
+ sed -i \
+ -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
+ configure.ac || die
+
+ eautoreconf
+}
+
+src_configure() {
+ MAKEOPTS+=" VERBOSE=1"
+
+ # -Werror=odr
+ # https://bugs.gentoo.org/866947
+ # https://unicode-org.atlassian.net/browse/ICU-22001
+ #
+ # Only present in testsuite, but unfortunately that means we cannot...
+ # test... LTO support.
+ filter-lto
+
+ if tc-is-cross-compiler; then
+ mkdir "${WORKDIR}"/host || die
+ pushd "${WORKDIR}"/host >/dev/null || die
+
+ CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
+ CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \
+ RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
+ "${S}"/configure --disable-renaming --disable-debug \
+ --disable-samples --enable-static || die
+ emake
+
+ popd >/dev/null || die
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --disable-renaming
+ --disable-samples
+ # TODO: Merge with dev-libs/icu-layoutex
+ # Planned to do this w/ 73.2 but seem to get test failures
+ # only with --enable-layoutex.
+ --disable-layoutex
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ $(use_enable test tests)
+ $(multilib_native_use_enable examples samples)
+ )
+
+ #if use test ; then
+ # myeconfargs+=(
+ # --enable-extras
+ # --enable-tools
+ # )
+ #else
+ # myeconfargs+=(
+ # $(multilib_native_enable extras)
+ # $(multilib_native_enable tools)
+ # )
+ #fi
+
+ tc-is-cross-compiler && myeconfargs+=(
+ --with-cross-build="${WORKDIR}"/host
+ )
+
+ # Work around cross-endian testing failures with LTO, bug #757681
+ if tc-is-cross-compiler && tc-is-lto ; then
+ myeconfargs+=( --disable-strict )
+ fi
+
+ # ICU tries to use clang by default
+ tc-export CC CXX
+
+ # Make sure we configure with the same shell as we run icu-config
+ # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined
+ export CONFIG_SHELL="${EPREFIX}/bin/sh"
+ # Probably have no /bin/sh in prefix-chain
+ [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}"
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ doxygen -u Doxyfile || die
+ doxygen Doxyfile || die
+ fi
+}
+
+multilib_src_test() {
+ # INTLTEST_OPTS: intltest options
+ # -e: Exhaustive testing
+ # -l: Reporting of memory leaks
+ # -v: Increased verbosity
+ # IOTEST_OPTS: iotest options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ # CINTLTST_OPTS: cintltst options
+ # -e: Exhaustive testing
+ # -v: Increased verbosity
+ emake check
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc; then
+ docinto html
+ dodoc -r doc/html/*
+ fi
+}
+
+multilib_src_install_all() {
+ local HTML_DOCS=( ../readme.html )
+ einstalldocs
+}
diff --git a/dev-libs/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-r1.ebuild b/dev-libs/igraph/igraph-0.10.11.ebuild
index 0020face7f80..280105ef5c8d 100644
--- a/dev-libs/igraph/igraph-0.10.4-r1.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"
@@ -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/igraph/igraph-0.10.4.ebuild b/dev-libs/igraph/igraph-0.10.12.ebuild
index bdefdfb07f82..30a8f524a0b5 100644
--- a/dev-libs/igraph/igraph-0.10.4.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,9 +9,9 @@ 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"
+KEYWORDS="~amd64 ~x86"
IUSE="debug test threads"
RESTRICT="!test? ( test )"
@@ -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/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.9.ebuild b/dev-libs/imath/imath-3.1.11-r1.ebuild
index 875d9a2d87d1..a15ba7642035 100644
--- a/dev-libs/imath/imath-3.1.9.ebuild
+++ b/dev-libs/imath/imath-3.1.11-r1.ebuild
@@ -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 ~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,23 @@ 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 )
+
+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
@@ -46,9 +58,8 @@ pkg_setup() {
src_configure() {
local mycmakeargs=(
- # requires press theme, not available in ::gentoo
- -DBUILD_DOCS=OFF
- -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
@@ -61,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.6.ebuild b/dev-libs/imath/imath-3.1.11.ebuild
index 35006aa943a2..6da867303ab9 100644
--- a/dev-libs/imath/imath-3.1.6.ebuild
+++ b/dev-libs/imath/imath-3.1.11.ebuild
@@ -3,26 +3,24 @@
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 ~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,18 @@ 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 )
pkg_setup() {
use python && python-single-r1_pkg_setup
@@ -48,11 +53,13 @@ pkg_setup() {
src_configure() {
local mycmakeargs=(
- -DDOCS=$(usex doc)
+ -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 +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/inih-58.ebuild b/dev-libs/inih/inih-58.ebuild
index 6793c8255fc4..98e9528ea2d5 100644
--- a/dev-libs/inih/inih-58.ebuild
+++ b/dev-libs/inih/inih-58.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}"/inih-r${PV}
LICENSE="BSD"
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"
DOCS=( README.md )
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-4.1-r1.ebuild b/dev-libs/iniparser/iniparser-4.1-r1.ebuild
index ac8d8d7b29bb..0540dd973ed7 100644
--- a/dev-libs/iniparser/iniparser-4.1-r1.ebuild
+++ b/dev-libs/iniparser/iniparser-4.1-r1.ebuild
@@ -17,7 +17,7 @@ IUSE="doc examples"
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 5d67e75c5866..000000000000
--- a/dev-libs/iniparser/iniparser-4.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs flag-o-matic
-
-DESCRIPTION="A free stand-alone ini file parsing library"
-HOMEPAGE="https://github.com/ndevilla/iniparser"
-SRC_URI="https://github.com/ndevilla/iniparser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="4"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples"
-
-BDEPEND="doc? ( app-text/doxygen )"
-
-_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 152e507dff08..9965624978b1 100644
--- a/dev-libs/intel-compute-runtime/Manifest
+++ b/dev-libs/intel-compute-runtime/Manifest
@@ -1,2 +1,2 @@
-DIST intel-compute-runtime-23.48.27912.9.tar.gz 6842680 BLAKE2B 599ac52a176f05a5f6770bf0be4e1f899a9ea378b3a5ef2bc13f61e9706a3abfc7c8c2ebc7c17e64baf71f0bb73904ef80b1c0391d91790ae1db81f7fc5d5c03 SHA512 8c8fa6aa40f25871d9b2b61035c1a539d18d2f521424e925ecdcd89336b948e24784ae0a795811e0defeb6c295e7b175e4af525d4fcb24bd62852f6cd07584af
-DIST intel-compute-runtime-23.52.28202.23.tar.gz 6903413 BLAKE2B ecd16511fc8065cc8e09827a1b333a5d8caa1ec0c815de21b90d896a5d1e6c8225423e748005b5f6012eb0c68da08cf06abaf8431709145bb329a3dd34270222 SHA512 aa33b712af2526f94a3d8508edb3201203c34bf90b0125ed9b9878539066baaedd9b9e1c464b760c38c159b4b4aa3671465ba90c2bdd58626f578e92957093fa
+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.48.27912.9.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.17.29377.6.ebuild
index 5f0fc518d85e..5ea15e181651 100644
--- a/dev-libs/intel-compute-runtime/intel-compute-runtime-23.48.27912.9.ebuild
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.17.29377.6.ebuild
@@ -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-23.52.28202.23.ebuild b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21.ebuild
index 339e0d0359be..3b2e233a358b 100644
--- a/dev-libs/intel-compute-runtime/intel-compute-runtime-23.52.28202.23.ebuild
+++ b/dev-libs/intel-compute-runtime/intel-compute-runtime-24.22.29735.21.ebuild
@@ -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.17193.2
+ >=media-libs/gmmlib-22.3.19:=
+"
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.17.6:= )
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=(
@@ -63,6 +67,7 @@ src_configure() {
-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"
diff --git a/dev-libs/intel-metrics-discovery/Manifest b/dev-libs/intel-metrics-discovery/Manifest
index f47b97d72594..7a2452fa3e71 100644
--- a/dev-libs/intel-metrics-discovery/Manifest
+++ b/dev-libs/intel-metrics-discovery/Manifest
@@ -1 +1,2 @@
-DIST metrics-discovery-1.12.170.tar.gz 4932048 BLAKE2B c4cf382ff29de4319f44863e0e45a0bb424c3f8af93c198723941c35f579e4d25252c99e6726d724483eae74e50a6315933106aa3e3bba8dad1af9a7ed8284fe SHA512 b4bb4465a059c7222b830ae3541eb1d6171d91f03ec131c1f8a079f6e8b2aed7c9f00899ae23744b986e070897eb135eaa4eff882d1cb173c80d6d2ce1ba3955
+DIST metrics-discovery-1.12.171.tar.gz 5219784 BLAKE2B 3927ad270060543d3dbca9e32abfa83661597313a54bec591098c7f0b48443326d4bc3c13f600b8b53ba4ca2850c15c2c2bee7dc117ca38de9bad3c5b4f8d8b5 SHA512 7c08841e86af29465c2d09788d7230bd9401eb02c35eb0e582db68a389c6e867cbb2f9eb38876cd00ffa519633a16c804454d43efd8c32fb61e39bada202708f
+DIST metrics-discovery-1.12.172.tar.gz 5228787 BLAKE2B e6bc6ffd4390a8400de0917e3e68ca13e4ccab4d6732b418b5807acb629c522cce80a0a9207d287861ec4642137479003d0e0512f30dd3b9baabebf5ff9f35c3 SHA512 24df8497d858d33e2b464e33c158876a4642f0bff7afdb3e51a2a45969a4b9e6f9083ea15cb0a28b3a4c939b701c563d069c159b50430916009af023bd8ff6d2
diff --git a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
index 728ed054c227..728ed054c227 100644
--- a/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.170.ebuild
+++ b/dev-libs/intel-metrics-discovery/intel-metrics-discovery-1.12.171.ebuild
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 266b6cead2ec..b82e4604cdf7 100644
--- a/dev-libs/intel-metrics-library/Manifest
+++ b/dev-libs/intel-metrics-library/Manifest
@@ -1 +1,2 @@
-DIST metrics-library-1.0.156.tar.gz 253010 BLAKE2B c00c58c35f83672ad19cdff64f5df8193543de76c071cd6a9c41de434b635051d90f143aa8a8e5b45d36153b73371c2e77c9b3f4df7104ae54bffd784cd37fa3 SHA512 16a50c62c1d87f4e830f5a916ed95882c04d257f8daf3b8d2f8fb7d8887fe899b9f35429fefe19dc99e0b485d6b1e98cfa4082d793cc867f07ceac68284afb81
+DIST metrics-library-1.0.161.tar.gz 250352 BLAKE2B 5b991aadd5ed477a478763111bdac96374b99dd657db58403753b4504214d703e26156fd65c1ce10eae98bd63f117d6e3e83b178aadc610948b3163b91d1cb7b SHA512 0a6b51bcdd24402b47823465739a64d264a24a17ccbbf950b71d3d3374a5a3cc31726cb5918ad67c16d693e21a2f8eba91f1f8815ed1c6d5ef89163cabeefdf9
+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.156.ebuild b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild
index 553a918ad5e3..553a918ad5e3 100644
--- a/dev-libs/intel-metrics-library/intel-metrics-library-1.0.156.ebuild
+++ b/dev-libs/intel-metrics-library/intel-metrics-library-1.0.161.ebuild
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 9689efe4ea2f..e15621065f10 100644
--- a/dev-libs/intel-vc-intrinsics/Manifest
+++ b/dev-libs/intel-vc-intrinsics/Manifest
@@ -1 +1 @@
-DIST intel-vc-intrinsics-0.16.0.tar.gz 144545 BLAKE2B 9ff71421ec5c45539a5135d8b70eea017a7bc9f788fe0ef760c9cfa58495bd532b371f764208f8c6b077647cd81fbf6c859b075186751129e91e8f7816a82253 SHA512 3fbb828f8c47b36cb33d766f8cb853508b6ffcf71b980465fa3fc7d74383c42cf8f46385f43e1a6180e65eef54c77cf10eff520451e39f6b7ff20fea04c8b894
+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.16.0.ebuild b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild
index 7afdded993fd..30d735ec61b1 100644
--- a/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.16.0.ebuild
+++ b/dev-libs/intel-vc-intrinsics/intel-vc-intrinsics-0.18.0.ebuild
@@ -4,12 +4,12 @@
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_{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.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 6e494ec705a8..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
@@ -33,6 +33,7 @@ BDEPEND="
"
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
)
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/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 094aa5550e1b..1e6a82d02789 100644
--- a/dev-libs/jansson/jansson-2.14-r2.ebuild
+++ b/dev-libs/jansson/jansson-2.14-r2.ebuild
@@ -7,11 +7,11 @@ 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="
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 29dc876b223b..2ee46fcafda5 100644
--- a/dev-libs/json-c/json-c-9999.ebuild
+++ b/dev-libs/json-c/json-c-9999.ebuild
@@ -20,6 +20,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/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 243977fce45b..b08e122f0bc6 100644
--- a/dev-libs/json-glib/json-glib-1.8.0.ebuild
+++ b/dev-libs/json-glib/json-glib-1.8.0.ebuild
@@ -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 2f60fe0f3b4c..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
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 edo toolchain-funcs
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/kdiagram-3.0.1.ebuild b/dev-libs/kdiagram/kdiagram-3.0.1.ebuild
index 8ec47c4432e1..df252d171184 100644
--- a/dev-libs/kdiagram/kdiagram-3.0.1.ebuild
+++ b/dev-libs/kdiagram/kdiagram-3.0.1.ebuild
@@ -17,7 +17,7 @@ https://www.kdab.com/development-resources/qt-tools/kd-chart/"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
fi
LICENSE="GPL-2" # TODO CHECK
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/kirigami-addons/Manifest b/dev-libs/kirigami-addons/Manifest
index 23aa171d4e1b..4a0216dfb6cb 100644
--- a/dev-libs/kirigami-addons/Manifest
+++ b/dev-libs/kirigami-addons/Manifest
@@ -1,2 +1,3 @@
DIST kirigami-addons-0.11.0.tar.xz 136692 BLAKE2B 26301176ddeaea3aec351207e82dc28a56e465aa6bc6d3bfd23b1feaa5d14cc0821a4c39fdf5eee3d134a8ed9bbcb5e503ee31d3864185c57bb0fcb788744f2d SHA512 f5a721eee6d0ebd37e67cdb5f89aba81136eb4ac23bc042b7d9bedd6a33f96f913353e1d83ec91e6997a8eea5e2834d9203eb7cd286eed1157149ecedeab6b89
-DIST kirigami-addons-1.0.1.tar.xz 981996 BLAKE2B 5e43541925fe11a96771d82f5677e695898816abafa020a20cee6c7e68d8b989d32a66af50d203069332732dcfb50a0071a787f594511ce2b6aeff7cb8aabe73 SHA512 d4f179ff6b1fa00bbf053304588d573feb23760894cb26da9c0a19997026ae7b381c8f90c6695073c69b478fe9aea7f0fec465bcd25c184ec523d02f515f2002
+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.0.1.ebuild b/dev-libs/kirigami-addons/kirigami-addons-1.3.0.ebuild
index d10984b8877a..91d542835fc5 100644
--- a/dev-libs/kirigami-addons/kirigami-addons-1.0.1.ebuild
+++ b/dev-libs/kirigami-addons/kirigami-addons-1.3.0.ebuild
@@ -5,13 +5,13 @@ EAPI=8
ECM_QTHELP="true"
ECM_TEST="true"
-KFMIN=5.249.0
+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"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
fi
DESCRIPTION="Visual end user components for Kirigami-based applications"
@@ -32,22 +32,13 @@ COMMON_DEPEND="
>=kde-frameworks/kirigami-${KFMIN}:6
"
RDEPEND="${COMMON_DEPEND}
- >=dev-qt/qt5compat-${QTMIN}:6[qml]
+ >=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[gstreamer,qml]
- media-libs/gst-plugins-base:1.0[ogg,vorbis]
- media-libs/gst-plugins-bad:1.0
- media-libs/gst-plugins-good:1.0
+ >=dev-qt/qtmultimedia-${QTMIN}:6[qml]
x11-themes/sound-theme-freedesktop
)
"
-
-src_prepare() {
- ecm_src_prepare
-
- sed -e "/set(KF_MIN_VERSION/s/6.0.0/5.249.0/" -i CMakeLists.txt || die
-}
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/kopeninghours/Manifest b/dev-libs/kopeninghours/Manifest
index 42c323adfbcc..5f4a01594175 100644
--- a/dev-libs/kopeninghours/Manifest
+++ b/dev-libs/kopeninghours/Manifest
@@ -1,3 +1,2 @@
-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.02.0.tar.xz 72732 BLAKE2B 8669a7c0e8c6a44899ed5a0f2d50d023813a5756483b8c43caf2c9218a89f46d56e7b3bcb480c8be42510bf85722364067448ead546ceeae7fc18deaef7f2874 SHA512 9a445f00b75afb91aad28e50106ded63fe92a258be8722514c22f562a49a539242f8f30f053689d91928ff0b9cef4fee00df3efb67e65ce48226ec3e6983b359
+DIST kopeninghours-24.05.2.tar.xz 74584 BLAKE2B 54ec52b2f59f714794f35d2e4b131beeb931b4a9d248afbcc49b0d0708c98c91501e782433cd4bcffd61b81a4d0bfd551b216c4886f8ec72cf79321840b7b5d2 SHA512 72f2276d9e48836dda32320695ab35e333336c8204d8bc84f8c777a81ebf5ff0a4a83e87375b5af9458ab46755a2456a54451fd2f50cfe4ff3d7d4067d30297a
diff --git a/dev-libs/kopeninghours/kopeninghours-23.08.4.ebuild b/dev-libs/kopeninghours/kopeninghours-23.08.4.ebuild
deleted file mode 100644
index b8a3c408fdfc..000000000000
--- a/dev-libs/kopeninghours/kopeninghours-23.08.4.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_QTHELP="true"
-ECM_TEST="true"
-PVCUT=$(ver_cut 1-3)
-KFMIN=5.106.0
-QTMIN=5.15.9
-PYTHON_COMPAT=( python3_{10..12} )
-inherit ecm gear.kde.org python-single-r1
-
-DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
-HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
-https://invent.kde.org/libraries/kopeninghours"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE="python"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- >=dev-libs/kpublictransport-${PVCUT}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=kde-frameworks/kholidays-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- sys-libs/zlib
- python? (
- $(python_gen_cond_dep '
- >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
- ')
- )
-"
-RDEPEND="${DEPEND}
- ${PYTHON_DEPS}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
-"
-BDEPEND="
- app-alternatives/yacc
- app-alternatives/lex
-"
-
-PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
-
-pkg_setup() {
- ecm_pkg_setup
- python_setup
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
- $(cmake_use_find_package python Boost)
- )
- ecm_src_configure
-}
-
-src_install() {
- ecm_src_install
- python_optimize
-}
diff --git a/dev-libs/kopeninghours/kopeninghours-24.02.0.ebuild b/dev-libs/kopeninghours/kopeninghours-24.05.2.ebuild
index a36fd05ae80d..4e0fba0806c9 100644
--- a/dev-libs/kopeninghours/kopeninghours-24.02.0.ebuild
+++ b/dev-libs/kopeninghours/kopeninghours-24.05.2.ebuild
@@ -6,7 +6,7 @@ EAPI=8
ECM_QTHELP="true"
ECM_TEST="true"
PVCUT=$(ver_cut 1-3)
-KFMIN=5.249.0
+KFMIN=6.3.0
QTMIN=6.6.2
PYTHON_COMPAT=( python3_{10..12} )
inherit ecm gear.kde.org python-single-r1
@@ -17,7 +17,7 @@ https://invent.kde.org/libraries/kopeninghours"
LICENSE="LGPL-2+"
SLOT="6"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
IUSE="python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/dev-libs/kosmindoormap/Manifest b/dev-libs/kosmindoormap/Manifest
index 7d6ac7ff5ec3..42f5c5949e32 100644
--- a/dev-libs/kosmindoormap/Manifest
+++ b/dev-libs/kosmindoormap/Manifest
@@ -1,3 +1,2 @@
-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.02.0.tar.xz 634464 BLAKE2B 2e0dc4f7a1e97902267666c49b06fdfe93ed6188ea4055f3c6ab11687474714ff59a0a0ebcce13e9d02cc6729755857be89233b0351e86612d0fd5188ca6406a SHA512 2ccdd795b73a42324245faedf5f704197e6908a710564159ec5a571f5f922006e9984e2e81ece04cec597ec397f22acfc7079e2455c96f4aeb72b82fe8b04f9f
+DIST kosmindoormap-24.05.2.tar.xz 647752 BLAKE2B 9464b424669a412b4b32958ced91c0dae9980e9387cc97b823bcdaecffca850d29f25e9b437fc1d3b4d8b0d8022c6fc7b0a8e176a20f72ee2714da1691207838 SHA512 2bf2998be61893d651dbd1a9a0e509c6cf83a122e9ee95c265bf0507706c77b20b7e64d462840d76c7b1aa6f9d884305812e32dc4058c09a0f724994d2e073b1
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.08.4.ebuild b/dev-libs/kosmindoormap/kosmindoormap-23.08.4.ebuild
deleted file mode 100644
index 0769dfe41975..000000000000
--- a/dev-libs/kosmindoormap/kosmindoormap-23.08.4.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="true"
-PVCUT=$(ver_cut 1-3)
-KFMIN=5.106.0
-QTMIN=5.15.9
-inherit ecm gear.kde.org
-
-DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
-HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE="+openinghours"
-
-COMMON_DEPEND="
- >=dev-libs/kpublictransport-${PVCUT}:5
- dev-libs/protobuf:=
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- sys-libs/zlib
- openinghours? ( >=dev-libs/kopeninghours-${PVCUT}:5 )
-"
-DEPEND="${COMMON_DEPEND}
- test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
-"
-RDEPEND="${COMMON_DEPEND}
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
-"
-BDEPEND="
- app-alternatives/yacc
- app-alternatives/lex
-"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
- $(cmake_use_find_package openinghours KOpeningHours)
- )
- ecm_src_configure
-}
diff --git a/dev-libs/kosmindoormap/kosmindoormap-24.02.0.ebuild b/dev-libs/kosmindoormap/kosmindoormap-24.05.2.ebuild
index e3133012a873..5dc6d3d36d64 100644
--- a/dev-libs/kosmindoormap/kosmindoormap-24.02.0.ebuild
+++ b/dev-libs/kosmindoormap/kosmindoormap-24.05.2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
ECM_TEST="true"
PVCUT=$(ver_cut 1-3)
-KFMIN=5.249.0
+KFMIN=6.3.0
QTMIN=6.6.2
inherit ecm gear.kde.org
@@ -14,7 +14,7 @@ HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
LICENSE="LGPL-2+"
SLOT="6"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
IUSE="+gui"
# kservice is optional and only used to find and open josm
@@ -39,6 +39,9 @@ BDEPEND="
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)
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
index 68931dd7899a..791ca151307a 100644
--- a/dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild
+++ b/dev-libs/kpathsea/kpathsea-6.3.5_p20230311.ebuild
@@ -18,7 +18,7 @@ SRC_URI="
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"
+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}
diff --git a/dev-libs/kpublictransport/Manifest b/dev-libs/kpublictransport/Manifest
index 29af376f08bc..3c8a8873e825 100644
--- a/dev-libs/kpublictransport/Manifest
+++ b/dev-libs/kpublictransport/Manifest
@@ -1,3 +1,2 @@
-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.02.0.tar.xz 605656 BLAKE2B 7ea494a37508203e74be2f9cc48232fd5587a8b7bb47cc16033b1d59db5a49781612efeed90092dc6d5481a5b6ac52b36921d7274c27cebda8099e4584fcd2fe SHA512 4ebcb2dc7f9ca967495cd3ca2d64120342a34216e09b348a2dbd3e1f91481803b043b7c6c51a21281871b083b2297c3b4b0b7496939c395f6bb6926223887695
+DIST kpublictransport-24.05.2.tar.xz 662684 BLAKE2B eb331cfa35f41992182df54e051de18608ccb6b6650f83c5c2ed8382dc5f945579b237a6c64bc1ba820d1906715b42493258f8f7f2006bd49734a9aa303c5561 SHA512 5bb89da0039e372ae8b6b6dfb33850517ca9d71bc32540e5b4dc19ce89b5910a57aff6f4f7182544f90ad89da4eceaad0bc9438bc1958887158fe8f0afabaf59
diff --git a/dev-libs/kpublictransport/kpublictransport-23.08.4.ebuild b/dev-libs/kpublictransport/kpublictransport-23.08.4.ebuild
deleted file mode 100644
index f0f684b8dbb9..000000000000
--- a/dev-libs/kpublictransport/kpublictransport-23.08.4.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-24.02.0.ebuild b/dev-libs/kpublictransport/kpublictransport-24.05.2.ebuild
index 56f600f080df..4a96d36d5103 100644
--- a/dev-libs/kpublictransport/kpublictransport-24.02.0.ebuild
+++ b/dev-libs/kpublictransport/kpublictransport-24.05.2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
ECM_QTHELP="true"
ECM_TEST="true"
-KFMIN=5.249.0
+KFMIN=6.3.0
QTMIN=6.6.2
inherit ecm gear.kde.org
@@ -15,7 +15,7 @@ HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
LICENSE="LGPL-2+"
SLOT="6"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
IUSE="networkmanager"
RDEPEND="
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 82f013f921cf..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.5.3.tar.xz 470440 BLAKE2B 1003dda41d6c0e8acc12aa43c63ba024e3ec13a5967ea5b22659869565cb56693cbf7d6175d958b976c0644ba03a5d22cba8c257bb377edc0c449aa1ee6d1fdc SHA512 94fd777e3853e2d725b5f0f12c9d6aeeffbf1659e21365614265ac77ce315ac9aa272576682ee5bb79cecb3186d04d9d515376a723a270858c03cc0843107d43
+DIST ktextaddons-1.5.4.tar.xz 471052 BLAKE2B 9f2730d0e1f71606b60c2469bd06790a8a1fadd7e30526ed94125d8eb897a08be549ac05bd9af9651dadf5ef95fa71249c5802e40fce43f28c82c2cd8f121e04 SHA512 76829c265c68e374fc7012c270a0328bb9d724d78165f0bda8da126994a5eb692af0b66b93e1151af3fc3e1755bbedfabcae73b60bb47c871181d2d50530e243
diff --git a/dev-libs/ktextaddons/ktextaddons-1.5.3.ebuild b/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild
index cc272fa5c8ee..91e82c8d59c3 100644
--- a/dev-libs/ktextaddons/ktextaddons-1.5.3.ebuild
+++ b/dev-libs/ktextaddons/ktextaddons-1.5.4.ebuild
@@ -15,7 +15,7 @@ HOMEPAGE="https://invent.kde.org/libraries/ktextaddons"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="~amd64"
+ KEYWORDS="~amd64 ~arm64"
fi
LICENSE="LGPL-2+"
@@ -34,6 +34,7 @@ DEPEND="
>=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 )
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
index 6df1fd3bbffd..fb2484d8731c 100644
--- a/dev-libs/kweathercore/kweathercore-0.8.0.ebuild
+++ b/dev-libs/kweathercore/kweathercore-0.8.0.ebuild
@@ -14,7 +14,7 @@ DESCRIPTION="Library for retrieval of weather information including forecasts an
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64"
+ KEYWORDS="~amd64 ~arm64 ~x86"
fi
LICENSE="LGPL-2+"
SLOT="6"
@@ -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/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 236c0c151bb1..57951b826a30 100644
--- a/dev-libs/leatherman/Manifest
+++ b/dev-libs/leatherman/Manifest
@@ -1,2 +1 @@
-DIST leatherman-1.12.11.tar.gz 816707 BLAKE2B 7e94c24b541efb9a8f879897eb13cbb7fbce7e87fd7543625e0c88717a79ccdcd1bc8d06268582ee4445a2628a71ef6ffd64b38f93ad0fbdd811e686623ac4f6 SHA512 26fb96a2f8bb34efe4df1220db18f9816ecd3b34d3ef1e84ecfda8833318f7e4f3dcd93535034669110e62fa69bbf9c43599d84739321c6d0075475cd2de7671
-DIST leatherman-1.12.12.tar.gz 818006 BLAKE2B b8174da6ae3f981b9ef44728069502264585b6ec8602125e54e2747c6f4ce1755979c4c7337af176bba234dcb6415acdbdff69b1a4c60ec87b69892043b91353 SHA512 b4041ec59dd716e599c12c31dd5401542efe0739abfc9d508b56dc759ca9bdeb29daac87b626d416f5339fca8909cfa98653a24a39b32bb1cd04baf99c6f1d92
+DIST leatherman-1.12.13.tar.gz 818810 BLAKE2B 3caf99e7a266703e4c84797ecdb5f4006474c5bc7014dee2dddcbf51ec38c0337027c8ee49c52a54d68450abf57605a8482b52d6a63a0fe5f4eeb554adea90c7 SHA512 5d45036839270690f8f6649ea82d3800eec89a6fff92416a2e9831a177a1ddd6b42a33bc8af94a410c65c768c962b5fafc696f579f3de411b41cb5ae88b1372f
diff --git a/dev-libs/leatherman/leatherman-1.12.12.ebuild b/dev-libs/leatherman/leatherman-1.12.12.ebuild
deleted file mode 100644
index 7508537d3159..000000000000
--- a/dev-libs/leatherman/leatherman-1.12.12.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="A C++ toolkit"
-HOMEPAGE="https://github.com/puppetlabs/leatherman"
-SRC_URI="https://github.com/puppetlabs/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="debug static-libs test"
-#RESTRICT="!test? ( test )"
-RESTRICT="test" # restricted til we don't need the shared_nowide patch
-
-RDEPEND="dev-libs/boost:=[nls]
- net-misc/curl"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/portage-sandbox-test-fix.patch
- "${FILESDIR}"/1.12.2-shared_nowide.patch
-)
-
-src_prepare() {
- sed -i 's/\-Werror\ //g' "cmake/cflags.cmake" || die
- # vendored boost lib conflicts with boost 1.73 and above
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_BUILD_TYPE=None
- -DLEATHERMAN_ENABLE_TESTING=$(usex test)
- # We depend on Boost with nls, so this is always true
- -DLEATHERMAN_USE_ICU=ON
-
- -DLEATHERMAN_SHARED=$(usex !static-libs)
- )
-
- if use debug; then
- mycmakeargs+=(
- -DCMAKE_BUILD_TYPE=Debug
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- "${WORKDIR}/${P}"_build/bin/leatherman_test || die
-}
diff --git a/dev-libs/leatherman/leatherman-1.12.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/level-zero/Manifest b/dev-libs/level-zero/Manifest
index cd287cb935a4..e815255d25cc 100644
--- a/dev-libs/level-zero/Manifest
+++ b/dev-libs/level-zero/Manifest
@@ -1 +1,2 @@
-DIST level-zero-1.15.8.tar.gz 937224 BLAKE2B b433e5ae2396715cd58bdce508d22b44f6b3083a4686f26dfba8a2117ea7547955bedf454d75c06a66e2c36ab4478da345fc86479486d50290ec96cf751a0b23 SHA512 68e531af5a39c8a6a2e242b25871d9177b2c8079837e0f736829ec0959fdb021eb518849e340a0f94abbe8ef879e3fb33e8b277eb676d2f8889bf2f4c3c10d82
+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.17.19.ebuild b/dev-libs/level-zero/level-zero-1.17.19.ebuild
new file mode 100644
index 000000000000..4034c8711d28
--- /dev/null
+++ b/dev-libs/level-zero/level-zero-1.17.19.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="oneAPI Level Zero headers, loader and validation layer"
+HOMEPAGE="https://github.com/oneapi-src/level-zero"
+SRC_URI="https://github.com/oneapi-src/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-libs/spdlog:="
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ # Don't hardcore -Werror
+ sed -e 's/-Werror//g' -i CMakeLists.txt || die
+
+ cmake_src_prepare
+
+ # According to upstream, release tarballs should contain this file but at least
+ # some of them do not. Fortunately it is trivial to make one ourselves.
+ echo "$(ver_cut 3)" > "${S}"/VERSION_PATCH || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSYSTEM_SPDLOG="ON"
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/level-zero/level-zero-1.15.8.ebuild b/dev-libs/level-zero/level-zero-1.17.6.ebuild
index 2633bc02fc74..7b8d9c05924c 100644
--- a/dev-libs/level-zero/level-zero-1.15.8.ebuild
+++ b/dev-libs/level-zero/level-zero-1.17.6.ebuild
@@ -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/libaio/libaio-0.3.113-r1.ebuild b/dev-libs/libaio/libaio-0.3.113-r1.ebuild
index f122b3a77785..0206e9375e8f 100644
--- a/dev-libs/libaio/libaio-0.3.113-r1.ebuild
+++ b/dev-libs/libaio/libaio-0.3.113-r1.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
fi
LICENSE="LGPL-2"
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/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 0fcc48146945..04946922acc3 100644
--- a/dev-libs/libbpf/Manifest
+++ b/dev-libs/libbpf/Manifest
@@ -1,3 +1,4 @@
DIST libbpf-0.8.1.tar.gz 942702 BLAKE2B 084be7d4258500fa894560ed2e52821addcc5d150dcd77fd646271b614d788b7931271be9c3e46fdbc4ed93d053ea3e09023158a8e4a31f9452d10dcb0677b58 SHA512 e3bb602f55215a4f030e564af7321ba6338937c426fcaee478b607f88b0c773c40a0c3f59a2b345bda951a19e79061733f8a3fdc10a6292e92782e65754b584a
-DIST libbpf-1.2.2.tar.gz 1000104 BLAKE2B 45a2ceabd38b3ea55f466de68d0806df6ae802b509063ca12d670ba972bac3dc5c7e518e8c9904915dbc9877c27ea892a7b857aa03d4e86016969b2d278b0b4a SHA512 bc7620207e6f521b9b5baab00bd81346084b8eabf81bff3ec24e5367d389f2a331a0b082798f8bb5d4fea836c3c0cc961fc881abc3a4e05d91152150bdfe47be
DIST libbpf-1.3.0.tar.gz 999282 BLAKE2B 5ee0a45cd06be482c9523ec2a9bb26cf12b89df23f515b037badda868770069d5ffb751c011222b86b1d43034a1cdd537cb263883ed0645641548adc9c9896eb SHA512 59990189538e47765542e9ed6e88bc78c9d29bc077b5666bb1303cf15579c90b3d35a0d631b9bbd4bff2708243dc91d901bd68c119fb74dfd10a3e1066aa9acc
+DIST libbpf-1.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.2.2.ebuild b/dev-libs/libbpf/libbpf-1.3.2.ebuild
index a82b4169cdc1..6cd9245fc9a6 100644
--- a/dev-libs/libbpf/libbpf-1.2.2.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.4.5.ebuild b/dev-libs/libbpf/libbpf-1.4.5.ebuild
new file mode 100644
index 000000000000..6cd9245fc9a6
--- /dev/null
+++ b/dev-libs/libbpf/libbpf-1.4.5.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
+if [[ ${PV} =~ [9]{4,} ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+S="${WORKDIR}/${P}/src"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-2"
+SLOT="0/$(ver_cut 1-2 ${PV})"
+IUSE="static-libs"
+
+DEPEND="
+ sys-kernel/linux-headers
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
+
+PATCHES=(
+ "${FILESDIR}"/libbpf-9999-paths.patch
+)
+
+src_configure() {
+ append-cflags -fPIC
+ tc-export CC AR PKG_CONFIG
+ export LIBSUBDIR="$(get_libdir)"
+ export PREFIX="${EPREFIX}/usr"
+ export V=1
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ LIBSUBDIR="${LIBSUBDIR}" \
+ install install_uapi_headers
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ dodoc "${DOCS[@]}"
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}
diff --git a/dev-libs/libbpf/libbpf-9999.ebuild b/dev-libs/libbpf/libbpf-9999.ebuild
index 4bc4f9eafffd..a666bd28bfd5 100644
--- a/dev-libs/libbpf/libbpf-9999.ebuild
+++ b/dev-libs/libbpf/libbpf-9999.ebuild
@@ -1,10 +1,13 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs
+DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
+HOMEPAGE="https://github.com/libbpf/libbpf"
+
if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/libbpf/libbpf.git"
@@ -14,18 +17,24 @@ else
fi
S="${WORKDIR}/${P}/src"
-DESCRIPTION="Stand-alone build of libbpf from the Linux kernel"
-HOMEPAGE="https://github.com/libbpf/libbpf"
-
LICENSE="GPL-2 LGPL-2.1 BSD-2"
SLOT="0/$(ver_cut 1-2)"
IUSE="static-libs"
DEPEND="
sys-kernel/linux-headers
- virtual/libelf"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
+ virtual/libelf
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=(
+ ../{README,SYNC}.md
+)
PATCHES=(
"${FILESDIR}"/libbpf-9999-paths.patch
@@ -49,6 +58,8 @@ src_install() {
find "${ED}" -name '*.a' -delete || die
fi
+ dodoc "${DOCS[@]}"
+
insinto /usr/$(get_libdir)/pkgconfig
doins ${PN}.pc
}
diff --git a/dev-libs/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 531b167b5372..5feead1ee32f 100644
--- a/dev-libs/libbsd/Manifest
+++ b/dev-libs/libbsd/Manifest
@@ -1,5 +1,3 @@
-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
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.7-r2.ebuild
deleted file mode 100644
index ad818980639f..000000000000
--- a/dev-libs/libbsd/libbsd-0.11.7-r2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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
-
-DESCRIPTION="Library to provide useful functions commonly found on BSD systems"
-HOMEPAGE="https://libbsd.freedesktop.org/wiki/ https://gitlab.freedesktop.org/libbsd/libbsd"
-SRC_URI="https://${PN}.freedesktop.org/releases/${P}.tar.xz"
-SRC_URI+=" verify-sig? ( https://${PN}.freedesktop.org/releases/${P}.tar.xz.asc )"
-
-LICENSE="BEER-WARE BSD BSD-2 BSD-4 ISC MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-RDEPEND="app-crypt/libmd[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-3.17
-"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-guillemjover )"
-
-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() {
- # Broken (still) with lld-17 (bug #922342, bug #915068)
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- # bug 911726, https://gitlab.freedesktop.org/libbsd/libbsd/-/issues/26
- filter-flags -fno-semantic-interposition
-
- # The build system will install libbsd-ctor.a despite USE="-static-libs"
- # which is correct, see:
- # https://gitlab.freedesktop.org/libbsd/libbsd/commit/c5b959028734ca2281250c85773d9b5e1d259bc8
- ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" install
-
- find "${ED}" -type f -name "*.la" -delete || die
-
- # ld scripts on standalone prefix (RAP) systems should have the prefix
- # stripped from any paths, as the sysroot is automatically prepended.
- local ldscript=${ED}/usr/$(get_libdir)/${PN}$(get_libname)
- if use prefix && ! use prefix-guest && grep -qIF "ld script" "${ldscript}" 2>/dev/null; then
- sed -i "s|${EPREFIX}/|/|g" "${ldscript}" || die
- fi
-}
diff --git a/dev-libs/libbsd/libbsd-0.11.8.ebuild b/dev-libs/libbsd/libbsd-0.11.8.ebuild
index 26f321dab6fc..80ccbf78eae3 100644
--- a/dev-libs/libbsd/libbsd-0.11.8.ebuild
+++ b/dev-libs/libbsd/libbsd-0.11.8.ebuild
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://${PN}.freedesktop.org/releases/${P}.tar.xz.asc
LICENSE="BEER-WARE BSD BSD-2 BSD-4 ISC MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+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}]"
diff --git a/dev-libs/libburn/libburn-1.5.6-r1.ebuild b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
index 4fbb4fffbea8..eb026ac0af78 100644
--- a/dev-libs/libburn/libburn-1.5.6-r1.ebuild
+++ b/dev-libs/libburn/libburn-1.5.6-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="debug static-libs"
BDEPEND="
diff --git a/dev-libs/libburn/libburn-1.5.6.ebuild b/dev-libs/libburn/libburn-1.5.6.ebuild
deleted file mode 100644
index 3af82ed1e139..000000000000
--- a/dev-libs/libburn/libburn-1.5.6.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libburn"
-SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="debug static-libs"
-
-BDEPEND="
- virtual/pkgconfig
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --disable-ldconfig-at-install \
- $(use_enable debug)
-}
-
-src_install() {
- default
-
- dodoc CONTRIBUTORS doc/{comments,*.txt}
-
- docinto cdrskin
- dodoc cdrskin/{*.txt,README}
- docinto cdrskin/html
- dodoc cdrskin/cdrskin_eng.html
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/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 cdbeceb6079b..5e75f78459fc 100644
--- a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
+++ b/dev-libs/libcdio/libcdio-2.1.0-r2.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools flag-o-matic libtool multilib-minimal
@@ -39,6 +39,7 @@ 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() {
@@ -49,6 +50,11 @@ src_prepare() {
}
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)
diff --git a/dev-libs/libcec/libcec-6.0.2-r2.ebuild b/dev-libs/libcec/libcec-6.0.2-r2.ebuild
index 9d3d2bf12bb9..eb9dc1969acd 100644
--- a/dev-libs/libcec/libcec-6.0.2-r2.ebuild
+++ b/dev-libs/libcec/libcec-6.0.2-r2.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
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
MY_PV=${PV/_p/-}
MY_P=${PN}-${MY_PV}
-inherit cmake linux-info python-single-r1 toolchain-funcs udev
+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"
@@ -16,7 +16,7 @@ S="${WORKDIR}/${PN}-${MY_P}"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
IUSE="cubox exynos kernel-cec python tools udev +xrandr"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
diff --git a/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
index 0c4c21f022b8..623f41b99e99 100644
--- a/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
+++ b/dev-libs/libcgroup/libcgroup-0.41-r6.ebuild
@@ -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"
diff --git a/dev-libs/libclc/Manifest b/dev-libs/libclc/Manifest
index 8da4a3e96a05..da1a21ae2420 100644
--- a/dev-libs/libclc/Manifest
+++ b/dev-libs/libclc/Manifest
@@ -1,12 +1,10 @@
+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-18.1.0rc3.src.tar.xz 132011280 BLAKE2B 482a0e1b806292598bd646f225705140a463706ec391e4e42f203606b85673601a65fe55f2432d77f4c2f4c6584b35e53eeaded42e0b67aa6538c37d7cceb4ff SHA512 6c0adcf6e4057de8fb1dcd062845d14d725833d23d8e1362cbccab176931f55600a3971f01690179b795ff3feca0af9141b16dee4d4159755596cc9c904bf099
-DIST llvm-project-18.1.0rc3.src.tar.xz.sig 566 BLAKE2B dac9c174e2eeda5e0af0153d78a2e9c8f145efe03250582a27df1bd6a89ba70afdcfa1ed6aa46adb1f7f21077cadb6e43963758358ff17122c36781ee4018c05 SHA512 91a2778f9b66bc80172172f36d6027fb2455f3ffd03b06ad0dd376471c4d4e2e34c8bee69c76cfe95003ae34f0d28c394c7d135fbbb75686ff89aee56b6c45c3
-DIST llvm-project-18.1.0rc4.src.tar.xz 132041940 BLAKE2B 1379efd68f765a70e088ac356f69d792c210003c76b15f28b40273aa64825d7a7c7aa03d2d5016b2607626fd63f656ad88402506f23e836c72474be2032d3224 SHA512 3018a843f8e615ee0a4c742d5fafcc67eb6d6a40f81212ce045bdff7012b5acec006ee89c321baf59209daabe66b838709cdaed4e11a34c34b821cfdb77e8a61
-DIST llvm-project-18.1.0rc4.src.tar.xz.sig 566 BLAKE2B cc089aadc50d874b575c23b8c22a5472c8507acd3352786d3ac2ee0ec06f07e99eee81b94c6b5bdca569ccffa8b867eb2265b57d5d07b8ec31e3cfce89bf8fc1 SHA512 2ce82201b7c673884815898069f18cf1e4ab13a0a9ed535339d9c4132b7b0edb6b748b03499e383f8f0268d904589e6aebb9a204ef95d14f56a3fb9dca24571c
-DIST llvm-project-597f9761c3a5ba278fa930d2fac13f156287d505.tar.gz 206699707 BLAKE2B 5461426f02742cefe5ae7faeb7fed15628741e3fb41ca01ffb8159805f9b55d883d318e7c677e5bf348949b7d8e16e079df09d461abe9b32d804dcb284584fc5 SHA512 b06ae070bb197d18cb8653e290b85e8526cdab4aeb5a02c94295d489d271bd7cea637960b516937e0ba1d7ada29e734c8ea1137335d46756db54632dcdba93e9
-DIST llvm-project-60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e.tar.gz 206511075 BLAKE2B 501924562c3e49eb921adcf3175d55ce0a47992b3b6b8b512ad8f1cc7b7e5f7bc3e2e278b7817c5924fdf8328f97be2f9c5037b1b6414d49e3b525739ecec6da SHA512 b05fcb4600645befb07f2da1efba463389df3fd1d9a26cb0e6ff9ab51edc2d8c5f51a9d44fe4b7f5f29d67cd4dbd15382fdf97f51ddc2c209196533c40611078
+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 7d478ae4c41e..650f9f41f61d 100644
--- a/dev-libs/libclc/libclc-17.0.6.ebuild
+++ b/dev-libs/libclc/libclc-17.0.6.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://libclc.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~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-19.0.0_pre20240224.ebuild b/dev-libs/libclc/libclc-18.1.8.ebuild
index 15a69aca7556..6d2ef7c20876 100644
--- a/dev-libs/libclc/libclc-19.0.0_pre20240224.ebuild
+++ b/dev-libs/libclc/libclc-18.1.8.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-LLVM_COMPAT=( {15..17} )
-PYTHON_COMPAT=( python3_{10..12} )
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
@@ -12,6 +12,7 @@ HOMEPAGE="https://libclc.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
IUSE="+spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
BDEPEND="
diff --git a/dev-libs/libclc/libclc-19.0.0.9999.ebuild b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
index 15a69aca7556..2b8c5e63c257 100644
--- a/dev-libs/libclc/libclc-19.0.0.9999.ebuild
+++ b/dev-libs/libclc/libclc-19.0.0.9999.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-LLVM_COMPAT=( {15..17} )
-PYTHON_COMPAT=( python3_{10..12} )
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
diff --git a/dev-libs/libclc/libclc-18.1.0_rc4.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240706.ebuild
index 15a69aca7556..2b8c5e63c257 100644
--- a/dev-libs/libclc/libclc-18.1.0_rc4.ebuild
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240706.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-LLVM_COMPAT=( {15..17} )
-PYTHON_COMPAT=( python3_{10..12} )
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
diff --git a/dev-libs/libclc/libclc-19.0.0_pre20240302.ebuild b/dev-libs/libclc/libclc-19.0.0_pre20240712.ebuild
index 15a69aca7556..2b8c5e63c257 100644
--- a/dev-libs/libclc/libclc-19.0.0_pre20240302.ebuild
+++ b/dev-libs/libclc/libclc-19.0.0_pre20240712.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-LLVM_COMPAT=( {15..17} )
-PYTHON_COMPAT=( python3_{10..12} )
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
diff --git a/dev-libs/libclc/libclc-18.1.0_rc3.ebuild b/dev-libs/libclc/libclc-20.0.0.9999.ebuild
index 15a69aca7556..2b8c5e63c257 100644
--- a/dev-libs/libclc/libclc-18.1.0_rc3.ebuild
+++ b/dev-libs/libclc/libclc-20.0.0.9999.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-LLVM_COMPAT=( {15..17} )
-PYTHON_COMPAT=( python3_{10..12} )
+LLVM_COMPAT=( {17..18} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake llvm.org llvm-r1 python-any-r1
DESCRIPTION="OpenCL C library"
diff --git a/dev-libs/libconfig/libconfig-1.7.3.ebuild b/dev-libs/libconfig/libconfig-1.7.3.ebuild
index 4c9ec93a2fc8..449f75c98860 100644
--- a/dev-libs/libconfig/libconfig-1.7.3.ebuild
+++ b/dev-libs/libconfig/libconfig-1.7.3.ebuild
@@ -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"
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 5dc2cc6b45c7..e3da950d913c 100644
--- a/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
+++ b/dev-libs/libcroco/libcroco-0.6.13-r1.ebuild
@@ -3,7 +3,7 @@
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"
@@ -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/libdbh/libdbh-5.0.22.ebuild b/dev-libs/libdbh/libdbh-5.0.22.ebuild
index d0cddf9b2621..b78825346032 100644
--- a/dev-libs/libdbh/libdbh-5.0.22.ebuild
+++ b/dev-libs/libdbh/libdbh-5.0.22.ebuild
@@ -9,7 +9,7 @@ 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"
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/libdbusmenu-lxqt/metadata.xml b/dev-libs/libdbusmenu-lxqt/metadata.xml
new file mode 100644
index 000000000000..75d62d0c9377
--- /dev/null
+++ b/dev-libs/libdbusmenu-lxqt/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>lxqt@gentoo.org</email>
+ <name>LXQt</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lxqt/libdbusmenu-lxqt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-libs/libdex/Manifest b/dev-libs/libdex/Manifest
index a97ca34b1c7d..cfaf8a8ff39f 100644
--- a/dev-libs/libdex/Manifest
+++ b/dev-libs/libdex/Manifest
@@ -1,2 +1,2 @@
-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.4.3.ebuild b/dev-libs/libdex/libdex-0.4.3.ebuild
index 5e1d5e1fb424..93a7becd291c 100644
--- a/dev-libs/libdex/libdex-0.4.3.ebuild
+++ b/dev-libs/libdex/libdex-0.4.3.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/libdex"
LICENSE="LGPL-2.1+"
SLOT="0/1"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="+eventfd gtk-doc +introspection +liburing sysprof test vala"
REQUIRED_USE="
diff --git a/dev-libs/libdex/libdex-0.4.1.ebuild b/dev-libs/libdex/libdex-0.6.1.ebuild
index 0c9580a83095..8da02332bd2d 100644
--- a/dev-libs/libdex/libdex-0.4.1.ebuild
+++ b/dev-libs/libdex/libdex-0.6.1.ebuild
@@ -3,16 +3,16 @@
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"
+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/libdnet/Manifest b/dev-libs/libdnet/Manifest
index d7438fa70aa9..28153e6d5415 100644
--- a/dev-libs/libdnet/Manifest
+++ b/dev-libs/libdnet/Manifest
@@ -1,3 +1,4 @@
DIST libdnet-1.16.2.tar.gz 675191 BLAKE2B 04e4533dbe45700decec4755c7db608d0ca68be05431bf44e6984b2c6a4aec55888fc0f0159916c8ac4a60ec5f743047d2a0a541786cd13fda61739bd7eef0fb SHA512 4b1902553a57eeb56952968e15be032de92d8106dc6e0ebf8e10470605c9c2ed69cb015f4057a5c119d01509c6795fc0dcda85a311d14124dddefdeb6223f848
DIST libdnet-1.16.4.tar.gz 684358 BLAKE2B 40be891c9004288329aaee0c79a29ebf0f095dfaaca4da98fd5ecfd759e22b8d10dc6b906200db1ac5b0a8cfbbea8fbe509da393e60cddeb5f875ad179cdc67a SHA512 6c5556e365047afcc5da3f76b1c99aa70723c076a7cf75c03d96a661a583dfa6d0ab605076e68efffe5ddca2d69875e4bc4938e0874b8aa24915fcfbfe3f3ff9
DIST libdnet-1.17.0.tar.gz 684645 BLAKE2B b208cb41201145411b1949531cb1ab27b4edc6026b8ca703c24231fdb021f46bfe922eb1da11090c271f439339f5384c93168fad3130ed2f89b3d2eca5c7f89f SHA512 b207b2f61e3759a2b17827eabf37b0eb68cb9fa27418f99ee4efd754b01dfe8504dff465664b14054d54df334195d43963d142c7104dc603b2b8b1491590d2a7
+DIST libdnet-1.18.0.tar.gz 740145 BLAKE2B 67f9257e0a05c6c768609c288de9a8704a7ba9d66142bcf849929fa3dbc7b59e379cef2a917d01d4ccfa63b5dfffaf7225f9c67f94e6e91c528a3066fae8c933 SHA512 c074828a1ecd21c292f9120c7afb6b3c11e967d1e0aaca78e75a5558e96f5e65e0d24b68b8386c33c1c28734a3d30f5857d394796e049d521c8b4a9a2c8dcea9
diff --git a/dev-libs/libdnet/libdnet-1.16.4.ebuild b/dev-libs/libdnet/libdnet-1.16.4.ebuild
index 63ed423fc1db..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 )"
@@ -70,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 6375fca7a56c..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="
@@ -75,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.18.0-r1.ebuild b/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild
new file mode 100644
index 000000000000..b7c86a6585cc
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.18.0-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ python? (
+ ${DISTUTILS_DEPS}
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+ test? ( dev-libs/check )
+"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libdnet/libdnet-1.18.0.ebuild b/dev-libs/libdnet/libdnet-1.18.0.ebuild
new file mode 100644
index 000000000000..06d3ec217130
--- /dev/null
+++ b/dev-libs/libdnet/libdnet-1.18.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL=1
+inherit autotools distutils-r1
+
+DESCRIPTION="Simplified, portable interface to several low-level networking routines"
+HOMEPAGE="https://github.com/ofalk/libdnet"
+SRC_URI="https://github.com/ofalk/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ dev-libs/libbsd
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ python? ( dev-python/cython[${PYTHON_USEDEP}] )
+ test? ( dev-libs/check )
+"
+
+DOCS=( README.md THANKS )
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's/libcheck.a/libcheck.so/g' \
+ configure.ac || die
+ sed -i \
+ -e "s/lib\/libcheck/$(get_libdir)\/libcheck/g" \
+ configure.ac || die
+ sed -i \
+ -e 's|-L$libdir ||g' \
+ dnet-config.in || die
+ sed -i \
+ -e '/^SUBDIRS/s|python||g' \
+ Makefile.am || die
+
+ # Stale e.g. pkg-config macros w/ bashisms
+ rm aclocal.m4 {config,m4}/libtool.m4 || die
+
+ AT_M4DIR="config" eautoreconf
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_prepare
+ fi
+}
+
+src_configure() {
+ econf \
+ $(use_with python) \
+ $(use_enable test check)
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ cd python || die
+ distutils-r1_src_compile
+ fi
+}
+
+src_test() {
+ # https://bugs.gentoo.org/778797#c4
+ # check_ip needs privileges and check_fw can't work on Linux
+ emake check XFAIL_TESTS="check_fw check_ip"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ cd python || die
+ unset DOCS
+ distutils-r1_src_install
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/libebml/libebml-1.4.5.ebuild b/dev-libs/libebml/libebml-1.4.5.ebuild
index 7c2f857b9463..0ed1e1d610a5 100644
--- a/dev-libs/libebml/libebml-1.4.5.ebuild
+++ b/dev-libs/libebml/libebml-1.4.5.ebuild
@@ -11,4 +11,4 @@ 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"
+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 50c1bf564d9b..14d671e41b99 100644
--- a/dev-libs/libei/Manifest
+++ b/dev-libs/libei/Manifest
@@ -1,3 +1,2 @@
-DIST libei-1.2.0.tar.bz2 174155 BLAKE2B 4b540cb79decd9785f67efa6fa76b984eb7ae2729dd49ac36e240b6a4feb4c54b34626dad93831c873861e3d3fd597c530e7eaaab0150890f0c952a9d75ee178 SHA512 c1d39c2c830df373ff5d7cc3eca330c2d771a26df6f2902d62f639a8a4db9af5370db4b9defe605721dd1f429eae68cbc4249792b3ae26b4c82d269f07a36732
DIST libei-1.2.1.tar.bz2 174636 BLAKE2B b718d2287e83adb43a8dee9ae06499d780b2a50231e9ce452b6e7bfa9e89e9599058628614fb4325d0cef842d6b29ca68eb38b3e547790cd5a7a0ac14728f250 SHA512 ac8e32a381b9555a6b9becab9217a323d79aeba4b3f11e1dbba9f876d566f232f41d0f299f8cb8e5de6707d0dd91e93872edd81532c971e35d1cf33f9f9063b4
DIST munit-fbbdf1467eb0d04a6ee465def2e529e4c87f2118.tar.gz 27724 BLAKE2B 9670c9b7a0b5d9ee6ec8df2dea9e241b043964ecf1fa3f6060ad1d16c40ab6afe47f53c6d4a791003e101a0b363263b858e6e4e445f868292753dd1ee7f7e3ce SHA512 26b5599fd12be627a692823ebf496fa446be7ed04a1233fb42e0667c05109b0f804f76646e289ac660fc815baf45f77ec8caf0ff2ea7fb0b4f87f0038a2b971c
diff --git a/dev-libs/libei/libei-1.2.0.ebuild b/dev-libs/libei/libei-1.2.0.ebuild
deleted file mode 100644
index 6959da0ea131..000000000000
--- a/dev-libs/libei/libei-1.2.0.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 2023-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit meson python-any-r1
-
-DESCRIPTION="Library for Emulated Input, primarily aimed at the Wayland stack"
-HOMEPAGE="https://gitlab.freedesktop.org/libinput/libei"
-SRC_URI="https://gitlab.freedesktop.org/libinput/${PN}/-/archive/${PV}/${P}.tar.bz2"
-MUNIT_COMMIT="fbbdf1467eb0d04a6ee465def2e529e4c87f2118"
-SRC_URI+=" https://github.com/nemequ/munit/archive/${MUNIT_COMMIT}.tar.gz -> munit-${MUNIT_COMMIT}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="elogind systemd test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libevdev-1.9.902
- || (
- systemd? ( >=sys-apps/systemd-237 )
- elogind? ( >=sys-auth/elogind-237 )
- sys-libs/basu
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- $(python_gen_any_dep '
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- ')
- test? (
- $(python_gen_any_dep '
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/python-dbusmock[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/structlog[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- if use test; then
- python_has_version \
- "dev-python/pytest[${PYTHON_USEDEP}]" \
- "dev-python/python-dbusmock[${PYTHON_USEDEP}]" \
- "dev-python/pyyaml[${PYTHON_USEDEP}]" \
- "dev-python/structlog[${PYTHON_USEDEP}]" \
- || return 1
- fi
- python_has_version \
- "dev-python/attrs[${PYTHON_USEDEP}]" \
- "dev-python/jinja[${PYTHON_USEDEP}]" \
- || return 1
-}
-
-src_unpack() {
- if [[ -n ${A} ]]; then
- unpack ${A}
- mv "${WORKDIR}"/munit-${MUNIT_COMMIT} "${WORKDIR}"/${P}/subprojects/munit || die
- rm "${WORKDIR}"/${P}/subprojects/munit.wrap || die
- fi
-}
-
-src_prepare() {
- default
-
- sed -i -e 's:^valgrind = .*:valgrind = disabler():g' test/meson.build || die
-}
-
-src_configure() {
- local emesonargs=(
- -Ddocumentation=""
- -Dliboeffis=enabled
- $(meson_feature test tests)
- )
- if use systemd; then
- emesonargs+=(-Dsd-bus-provider=libsystemd)
- elif use elogind; then
- emesonargs+=(-Dsd-bus-provider=libelogind)
- else
- emesonargs+=(-Dsd-bus-provider=basu)
- fi
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # munit subproject is installed but not wanted
- if use test; then
- rm "${ED}"/usr/lib*/libmunit.so || die
- fi
-}
diff --git a/dev-libs/libei/libei-1.2.1.ebuild b/dev-libs/libei/libei-1.2.1.ebuild
index 0e3de5795b0f..74c5bdf82a84 100644
--- a/dev-libs/libei/libei-1.2.1.ebuild
+++ b/dev-libs/libei/libei-1.2.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI+=" https://github.com/nemequ/munit/archive/${MUNIT_COMMIT}.tar.gz -> mun
LICENSE="MIT"
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="elogind systemd test"
RESTRICT="!test? ( test )"
@@ -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
index 32b59158bf4b..a71ebbaaca7d 100644
--- a/dev-libs/libelf/libelf-0.8.13-r4.ebuild
+++ b/dev-libs/libelf/libelf-0.8.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
@@ -14,7 +14,7 @@ SRC_URI="http://www.mr511.de/software/${P}.tar.gz"
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 sparc x86 ~x64-solaris"
IUSE="debug nls"
RDEPEND="!dev-libs/elfutils"
diff --git a/dev-libs/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 7178ce1649e7..300b0dba54e8 100644
--- a/dev-libs/libevdev/libevdev-1.13.1.ebuild
+++ b/dev-libs/libevdev/libevdev-1.13.1-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit meson-multilib python-any-r1
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 86afaef46cd2..c29d77531fd3 100644
--- a/dev-libs/libevdev/libevdev-9999.ebuild
+++ b/dev-libs/libevdev/libevdev-9999.ebuild
@@ -1,9 +1,9 @@
# 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
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
index 14ae567deeec..155857191831 100644
--- a/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
+++ b/dev-libs/libezV24/libezV24-0.1.1-r3.ebuild
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Library that provides an easy API to Linux serial ports"
HOMEPAGE="https://ezv24.sourceforge.net"
-SRC_URI="mirror://sourceforge/ezv24/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/ezv24/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
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/libffi/libffi-3.4.4-r3.ebuild b/dev-libs/libffi/libffi-3.4.4-r3.ebuild
deleted file mode 100644
index 835adbe61215..000000000000
--- a/dev-libs/libffi/libffi-3.4.4-r3.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-minimal preserve-libs
-
-MY_PV=${PV/_rc/-rc}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="Portable, high level programming interface to various calling conventions"
-HOMEPAGE="https://sourceware.org/libffi/"
-SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="MIT"
-# This is a core package which is depended on by e.g. Python
-# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users
-# with FEATURES="-preserved-libs" or another package manager if SONAME
-# changes.
-SLOT="0/8" # SONAME=libffi.so.8
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="debug exec-static-trampoline pax-kernel static-libs test"
-
-RESTRICT="!test? ( test )"
-BDEPEND="test? ( dev-util/dejagnu )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-hppa-large-struct.patch
- "${FILESDIR}"/${P}-hppa-closure-function-ptrs.patch
- "${FILESDIR}"/${P}-hppa-jump-table.patch
- "${FILESDIR}"/${P}-sparc-float-typo.patch
- "${FILESDIR}"/${P}-lld-17.patch
-)
-
-src_prepare() {
- default
-
- if [[ ${CHOST} == arm64-*-darwin* ]] ; then
- # ensure we use aarch64 asm, not x86 on arm64
- sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \
- configure configure.host || die
- fi
-}
-
-multilib_src_configure() {
- # --includedir= path maintains a few properties:
- # 1. have stable name across libffi versions: some packages like
- # dev-lang/ghc or kde-frameworks/networkmanager-qt embed
- # ${includedir} at build-time. Don't require those to be
- # rebuilt unless SONAME changes. bug #695788
- #
- # We use /usr/.../${PN} (instead of former /usr/.../${P}).
- #
- # 2. have ${ABI}-specific location as ffi.h is target-dependent.
- #
- # We use /usr/$(get_libdir)/... to have ABI identifier.
- ECONF_SOURCE="${S}" econf \
- --includedir="${EPREFIX}"/usr/$(get_libdir)/${PN}/include \
- --disable-multi-os-directory \
- $(use_enable static-libs static) \
- $(use_enable exec-static-trampoline exec-static-tramp) \
- $(use_enable pax-kernel pax_emutramp) \
- $(use_enable debug)
-}
-
-multilib_src_test() {
- emake -Onone check
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${ED}" -name "*.la" -delete || die
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/libffi.so.7
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7
-}
diff --git a/dev-libs/libffi/libffi-3.4.4-r4.ebuild b/dev-libs/libffi/libffi-3.4.4-r4.ebuild
index 2bda8796aa78..a80f5a73f9d6 100644
--- a/dev-libs/libffi/libffi-3.4.4-r4.ebuild
+++ b/dev-libs/libffi/libffi-3.4.4-r4.ebuild
@@ -19,7 +19,7 @@ LICENSE="MIT"
# 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"
+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 )"
diff --git a/dev-libs/libfilezilla/Manifest b/dev-libs/libfilezilla/Manifest
index 3dfc3ca499e2..84fda602da06 100644
--- a/dev-libs/libfilezilla/Manifest
+++ b/dev-libs/libfilezilla/Manifest
@@ -1,2 +1,2 @@
-DIST libfilezilla-0.45.0.tar.xz 543340 BLAKE2B c85c07d23381d63c6f959e9721fa898982c692cafcd863cd15da7fce7e486bf2031b0d0e1fb18efeb271d1aa497eabe0dff4c14f8ff89fbe3ed880a737fc8f6e SHA512 304838e8cf6e644378c0727bc8b9d2f87287a646db4cb765a04d156717f8c233b8a34085049e4893ec345a1a1d576f0ba33df705dee022e16ff433cddd926ce0
-DIST libfilezilla-0.46.0.tar.xz 545396 BLAKE2B 9516260054f7b9d0df0cecf41912536c03f824dd7a43cf8eb52ef7690c3f4edb0ba828fb7fe1c016ac3a4db60a9e6b7a7a03cc90de1bac59439c9f989c3eec5d SHA512 721186993b9af7087033d9acd03ecd70a6a567cd46ded0d26e141ffccba5aed31d5095f3a1d56397280a6f75ad53460c9acbbb3650881e57dccd6f67ccbbf9ba
+DIST libfilezilla-0.47.0.tar.xz 551484 BLAKE2B ba35bd990889a779f4c14c5c76c29dc5fed1bb97168e8dec75a59984133d6dbd56850208c55d6549c80dc2069ea007e0a26d7b604dbf9752c6ac018493a96627 SHA512 28af8aeacc5b6b188613c2afebb23477aa0c6908cd2bfe7dc39ba4b69fa67f2d18a64cdefe52968f429b18545fe03c031363b3aa9ed07b2ecb9faa56b1275282
+DIST libfilezilla-0.48.1.tar.xz 552864 BLAKE2B fd08bbe3279cb1eec21c864e1b1547ee562d9fca970fed4dc3f78740bb9131b98410cc5ba317a05a5218b100dd498107dd2caed3ff3453b1516405c1075bbb62 SHA512 44881abbed985eabe0b5a19c6a2fc5f39c5258b49633eae79c7498c5c96583b24883ddce66b9ab7fafdaab7657092edc5da8e5d3b604897b76c02038fa4cd482
diff --git a/dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild
index c852e5f99a25..6808d9713afc 100644
--- a/dev-libs/libfilezilla/libfilezilla-0.45.0.ebuild
+++ b/dev-libs/libfilezilla/libfilezilla-0.47.0.ebuild
@@ -3,14 +3,14 @@
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/41" # libfilezilla.so version
+SLOT="0/43" # 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/libfilezilla/libfilezilla-0.46.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild
index cb786fb49126..c4bb2a3f579e 100644
--- a/dev-libs/libfilezilla/libfilezilla-0.46.0.ebuild
+++ b/dev-libs/libfilezilla/libfilezilla-0.48.1.ebuild
@@ -3,14 +3,14 @@
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/42" # 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 fd77431cdece..f4d87e697313 100644
--- a/dev-libs/libfmt/Manifest
+++ b/dev-libs/libfmt/Manifest
@@ -3,4 +3,7 @@ DIST libfmt-10.1.0.tar.gz 849294 BLAKE2B 9e90bdb91ac9f34bf75bcb0c0f45a90ce9d5c27
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.2.1.ebuild b/dev-libs/libfmt/libfmt-10.0.0-r1.ebuild
index 0914ef073c62..21279049b837 100644
--- a/dev-libs/libfmt/libfmt-10.2.1.ebuild
+++ b/dev-libs/libfmt/libfmt-10.0.0-r1.ebuild
@@ -3,7 +3,7 @@
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.ebuild b/dev-libs/libfmt/libfmt-10.1.0-r1.ebuild
index 0914ef073c62..21279049b837 100644
--- a/dev-libs/libfmt/libfmt-10.2.0.ebuild
+++ b/dev-libs/libfmt/libfmt-10.1.0-r1.ebuild
@@ -3,7 +3,7 @@
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.0.ebuild
deleted file mode 100644
index 90083087d20e..000000000000
--- a/dev-libs/libfmt/libfmt-10.1.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Small, safe and fast formatting library"
-HOMEPAGE="https://github.com/fmtlib/fmt"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/fmtlib/fmt.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/fmtlib/fmt/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
- S="${WORKDIR}/fmt-${PV}"
-fi
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-src_configure() {
- local mycmakeargs=(
- -DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
- -DFMT_LIB_DIR="$(get_libdir)"
- -DFMT_TEST=$(usex test)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/libfmt/libfmt-10.0.0.ebuild b/dev-libs/libfmt/libfmt-10.1.1-r1.ebuild
index 90083087d20e..21279049b837 100644
--- a/dev-libs/libfmt/libfmt-10.0.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-r1.ebuild b/dev-libs/libfmt/libfmt-10.2.1-r2.ebuild
index 2dbd37cc402c..da45c0e71554 100644
--- a/dev-libs/libfmt/libfmt-10.2.1-r1.ebuild
+++ b/dev-libs/libfmt/libfmt-10.2.1-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake flag-o-matic
+inherit cmake-multilib flag-o-matic
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() {
append-lfs-flags
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
diff --git a/dev-libs/libfmt/libfmt-10.1.1.ebuild b/dev-libs/libfmt/libfmt-11.0.0.ebuild
index 90083087d20e..da45c0e71554 100644
--- a/dev-libs/libfmt/libfmt-10.1.1.ebuild
+++ b/dev-libs/libfmt/libfmt-11.0.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
-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/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-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 2dbd37cc402c..da45c0e71554 100644
--- a/dev-libs/libfmt/libfmt-9999.ebuild
+++ b/dev-libs/libfmt/libfmt-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake flag-o-matic
+inherit cmake-multilib flag-o-matic
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() {
append-lfs-flags
local mycmakeargs=(
-DFMT_CMAKE_DIR="$(get_libdir)/cmake/fmt"
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 c7184acf5ab2..9c844d7032db 100644
--- a/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
+++ b/dev-libs/libgaminggear/libgaminggear-0.15.1.ebuild
@@ -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"
diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index 2bbd8c896934..8f6a1788ff24 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -2,3 +2,5 @@ DIST libgcrypt-1.10.2.tar.bz2 3795164 BLAKE2B c86b29648664aae3fb694b20ad258828d2
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.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.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.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/libgcrypt-1.10.2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
index 06b52ad4ddb6..6d72a68b8514 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.2.ebuild
@@ -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.3-r1.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
index 5d8b88fc0846..ae0b0501998f 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.3-r1.ebuild
@@ -81,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
@@ -132,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-r2.ebuild b/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
index bbb0d0fd009b..38eb6264d7e6 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.10.3-r2.ebuild
@@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
LICENSE="LGPL-2.1+ GPL-2+ MIT"
SLOT="0/20" # subslot = soname major version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+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
@@ -84,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
diff --git a/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild b/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild
new file mode 100644
index 000000000000..3afe6a467f90
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.11.0.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+inherit autotools flag-o-matic linux-info multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="https://www.gnupg.org/"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="LGPL-2.1+ GPL-2+ MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm 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.
+# 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.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 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-multilib-syspath.patch
+ "${FILESDIR}"/${PN}-powerpc-darwin.patch
+ "${FILESDIR}"/${P}-s390x.patch
+ "${FILESDIR}"/${P}-o-flag-munging.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/libgcrypt-config
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} == buildonly ]]; then
+ return
+ fi
+ if use kernel_linux && use getentropy; then
+ unset KV_FULL
+ get_running_version
+ if [[ -n ${KV_FULL} ]] && kernel_is -lt 3 17; then
+ eerror "The getentropy function requires the getrandom syscall."
+ eerror "This was introduced in Linux 3.17."
+ eerror "Your system is currently running Linux ${KV_FULL}."
+ eerror "Disable the 'getentropy' USE flag or upgrade your kernel."
+ die "Kernel is too old for getentropy"
+ fi
+ fi
+}
+
+pkg_setup() {
+ :
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+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
+ # allow this via ASFLAGS, since we don't have a flag-o-matic
+ # function for that, we'll have to abuse cflags for this
+ append-cflags -Wa,--divide
+ fi
+
+ if [[ ${CHOST} == powerpc* ]] ; then
+ # ./configure does a lot of automagic, prevent that
+ # generic ppc32+ppc64 altivec
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec=no
+ use cpu_flags_ppc_altivec || local -x gcry_cv_cc_ppc_altivec_cflags=no
+ # power8 vector extension, aka arch 2.07 ISA, also checked below via ppc-crypto-support
+ use cpu_flags_ppc_vsx2 || local -x gcry_cv_gcc_inline_asm_ppc_altivec=no
+ # power9 vector extension, aka arch 3.00 ISA
+ use cpu_flags_ppc_vsx3 || local -x gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
+ fi
+
+ # Workaround for GCC < 11.3 bug
+ # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=0b399721ce9709ae25f9d2050360c5ab2115ae29
+ # https://dev.gnupg.org/T5581
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102124
+ if use arm64 && tc-is-gcc && (($(gcc-major-version) == 11)) &&
+ (($(gcc-minor-version) <= 2)) && (($(gcc-micro-version) == 0)) ; then
+ append-flags -fno-tree-loop-vectorize
+ fi
+
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local myeconfargs=(
+ CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ --enable-noexecstack
+ $(use_enable cpu_flags_arm_neon neon-support)
+ # See REQUIRED_USE comment above
+ $(use_enable cpu_flags_arm_aes arm-crypto-support)
+ $(use_enable cpu_flags_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)
+ # 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
+
+ $(use asm || echo "--disable-asm")
+
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ )
+
+ if use kernel_linux; then
+ # --enable-random=getentropy requires getentropy/getrandom.
+ # --enable-random=linux enables legacy code that tries getrandom
+ # and falls back to reading /dev/random.
+ myeconfargs+=( --enable-random=$(usex getentropy getentropy linux) )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
+ $("${S}/configure" --help | grep -o -- '--without-.*-prefix')
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C doc gcrypt.pdf
+}
+
+multilib_src_test() {
+ # t-secmem and t-sexp need mlock which requires extra privileges; nspawn
+ # at least disallows that by default.
+ local -x GCRYPT_IN_ASAN_TEST=1
+
+ default
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+ multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}
+
+multilib_src_install_all() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/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 00024bb1bf19..46d4115673c0 100644
--- a/dev-libs/libgit2/Manifest
+++ b/dev-libs/libgit2/Manifest
@@ -1,2 +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.2.ebuild b/dev-libs/libgit2/libgit2-1.7.2.ebuild
index 1efddddfb2f3..e6996dbfbafa 100644
--- a/dev-libs/libgit2/libgit2-1.7.2.ebuild
+++ b/dev-libs/libgit2/libgit2-1.7.2.ebuild
@@ -5,7 +5,7 @@ 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/"
@@ -16,7 +16,7 @@ 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"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos"
IUSE="examples gssapi +ssh test +threads trace"
RESTRICT="!test? ( test )"
@@ -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.7.1.ebuild b/dev-libs/libgit2/libgit2-1.8.1.ebuild
index 390e34381522..d2b9098cf1c3 100644
--- a/dev-libs/libgit2/libgit2-1.7.1.ebuild
+++ b/dev-libs/libgit2/libgit2-1.8.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_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake python-any-r1
+inherit cmake flag-o-matic python-any-r1
DESCRIPTION="A linkable library for Git"
HOMEPAGE="https://libgit2.org/"
@@ -39,11 +39,16 @@ BDEPEND="
src_configure() {
local mycmakeargs=(
-DBUILD_TESTS=$(usex test)
- -DUSE_SSH=$(usex ssh)
+ -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
}
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 04d2ce3f3f6b..c5d27eca7bd3 100644
--- a/dev-libs/libgnt/libgnt-2.14.3.ebuild
+++ b/dev-libs/libgnt/libgnt-2.14.3.ebuild
@@ -7,7 +7,7 @@ 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"
diff --git a/dev-libs/libgpg-error/Manifest b/dev-libs/libgpg-error/Manifest
index 24f9363b0288..ebb2837e3317 100644
--- a/dev-libs/libgpg-error/Manifest
+++ b/dev-libs/libgpg-error/Manifest
@@ -2,3 +2,7 @@ DIST libgpg-error-1.47.tar.bz2 1020862 BLAKE2B bc04efa0686b1b7d7cdce045fc080c090
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.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 1d2b90ba2690..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"
diff --git a/dev-libs/libgpg-error/libgpg-error-1.48.ebuild b/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
index 0939b629b21f..63ea4f058787 100644
--- a/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
+++ b/dev-libs/libgpg-error/libgpg-error-1.48.ebuild
@@ -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.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 42cdfea03e32..ace2ec18de4b 100644
--- a/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
+++ b/dev-libs/libgrapheme/libgrapheme-2.0.2.ebuild
@@ -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 ~arm64 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 39bc374b50a5..3fd71e68eff3 100644
--- a/dev-libs/libgusb/Manifest
+++ b/dev-libs/libgusb/Manifest
@@ -1,3 +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.6.ebuild b/dev-libs/libgusb/libgusb-0.4.6.ebuild
deleted file mode 100644
index 46b3e0a83456..000000000000
--- a/dev-libs/libgusb/libgusb-0.4.6.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.7.ebuild b/dev-libs/libgusb/libgusb-0.4.7.ebuild
deleted file mode 100644
index dd15b497b548..000000000000
--- a/dev-libs/libgusb/libgusb-0.4.7.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit meson-multilib python-any-r1 vala
-
-DESCRIPTION="GObject wrapper for libusb"
-HOMEPAGE="https://github.com/hughsie/libgusb"
-SRC_URI="https://github.com/hughsie/libgusb/releases/download/${PV}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86"
-
-IUSE="gtk-doc +introspection test +vala"
-REQUIRED_USE="
- gtk-doc? ( introspection )
- vala? ( introspection )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.44.0:2[${MULTILIB_USEDEP}]
- virtual/libusb:1[udev,${MULTILIB_USEDEP}]
- >=dev-libs/json-glib-1.1.1[${MULTILIB_USEDEP},introspection?]
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
- sys-apps/hwdata
-"
-DEPEND="${RDEPEND}
- test? ( >=dev-util/umockdev-0.17.7[${MULTILIB_USEDEP}] )"
-BDEPEND="
- $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]')
- gtk-doc? ( dev-util/gi-docgen )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-python_check_deps() {
- python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- default
- use vala && vala_setup
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library=shared
- $(meson_use test tests)
- $(meson_native_use_bool vala vapi)
- -Dusb_ids="${EPREFIX}"/usr/share/hwdata/usb.ids
- $(meson_native_use_bool gtk-doc docs)
- $(meson_native_use_bool introspection)
- $(meson_feature test umockdev)
-
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if use gtk-doc; then
- mkdir -p "${ED}"/usr/share/gtk-doc/ || die
- mv "${ED}"/usr/share/{doc,gtk-doc}/libgusb || die
- fi
-}
diff --git a/dev-libs/libgusb/libgusb-0.4.8.ebuild b/dev-libs/libgusb/libgusb-0.4.8.ebuild
index 170709802faf..986ca1a121f6 100644
--- a/dev-libs/libgusb/libgusb-0.4.8.ebuild
+++ b/dev-libs/libgusb/libgusb-0.4.8.ebuild
@@ -14,7 +14,7 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="gtk-doc +introspection test +vala"
REQUIRED_USE="
diff --git a/dev-libs/libgweather/Manifest b/dev-libs/libgweather/Manifest
index 52f15f422b9d..9a4ea496fc79 100644
--- a/dev-libs/libgweather/Manifest
+++ b/dev-libs/libgweather/Manifest
@@ -1 +1 @@
-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.2.ebuild
index 9df29f888f84..9df29f888f84 100644
--- a/dev-libs/libgweather/libgweather-4.4.0.ebuild
+++ b/dev-libs/libgweather/libgweather-4.4.2.ebuild
diff --git a/dev-libs/libical/Manifest b/dev-libs/libical/Manifest
index 2a93326acfaa..3cd57c8e58d1 100644
--- a/dev-libs/libical/Manifest
+++ b/dev-libs/libical/Manifest
@@ -1 +1 @@
-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.18.ebuild
index 93d55917bd08..9570b50ca486 100644
--- a/dev-libs/libical/libical-3.0.17.ebuild
+++ b/dev-libs/libical/libical-3.0.18.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
VALA_USE_DEPEND="vapigen"
inherit cmake python-any-r1 vala
@@ -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 7dd3ee3396f3..f4d947713309 100644
--- a/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild
+++ b/dev-libs/libindicate/libindicate-12.10.1-r4.ebuild
@@ -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
@@ -35,9 +35,13 @@ BDEPEND="
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 c3abe6b7d599..ff29a4109c4d 100644
--- a/dev-libs/libinput/Manifest
+++ b/dev-libs/libinput/Manifest
@@ -1,2 +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.25.0.ebuild b/dev-libs/libinput/libinput-1.25.0.ebuild
index 7fa65721fc51..00fdfcb82be1 100644
--- a/dev-libs/libinput/libinput-1.25.0.ebuild
+++ b/dev-libs/libinput/libinput-1.25.0.ebuild
@@ -13,7 +13,7 @@ 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"
+ 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 )"
@@ -44,6 +44,7 @@ BDEPEND="
test? (
$(python_gen_any_dep '
dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
')
)
"
@@ -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.24.0.ebuild b/dev-libs/libinput/libinput-1.26.1.ebuild
index e9161b1a48a1..bb8f414e33ec 100644
--- a/dev-libs/libinput/libinput-1.24.0.ebuild
+++ b/dev-libs/libinput/libinput-1.26.1.ebuild
@@ -3,7 +3,7 @@
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"
@@ -13,7 +13,7 @@ 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"
+ 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 )"
@@ -44,6 +44,7 @@ BDEPEND="
test? (
$(python_gen_any_dep '
dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
')
)
"
@@ -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/libisoburn/libisoburn-1.5.6-r1.ebuild b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
index cbaaa66845c3..9da120f44b7a 100644
--- a/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
+++ b/dev-libs/libisoburn/libisoburn-1.5.6-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
LICENSE="GPL-2 GPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+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"
diff --git a/dev-libs/libisoburn/libisoburn-1.5.6.ebuild b/dev-libs/libisoburn/libisoburn-1.5.6.ebuild
deleted file mode 100644
index 4960500550dc..000000000000
--- a/dev-libs/libisoburn/libisoburn-1.5.6.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Creation/expansion of ISO-9660 filesystems on CD/DVD media supported by libburn"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisoburn"
-SRC_URI="https://files.libburnia-project.org/releases/${P}.tar.gz"
-
-LICENSE="GPL-2 GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~s390 sparc x86"
-IUSE="acl debug external-filters external-filters-setuid frontend-optional
- launch-frontend launch-frontend-setuid libedit readline static-libs xattr zlib"
-
-REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- >=dev-libs/libburn-1.5.6
- >=dev-libs/libisofs-1.5.6
- readline? ( sys-libs/readline:0= )
- !readline? (
- libedit? ( dev-libs/libedit )
- )
- acl? ( virtual/acl )
- xattr? ( sys-apps/attr )
- zlib? ( sys-libs/zlib )
- launch-frontend? (
- dev-lang/tcl:0
- dev-lang/tk:0
- )
- launch-frontend-setuid? (
- dev-lang/tcl:0
- dev-lang/tk:0
- )
- frontend-optional? ( dev-tcltk/bwidget )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_enable readline libreadline) \
- $(usex readline --disable-libedit $(use_enable libedit)) \
- $(use_enable acl libacl) \
- $(use_enable xattr) \
- $(use_enable zlib) \
- --disable-libjte \
- $(use_enable external-filters) \
- $(use_enable external-filters-setuid) \
- $(use_enable launch-frontend) \
- $(use_enable launch-frontend-setuid) \
- --disable-ldconfig-at-install \
- --enable-pkg-check-modules \
- $(use_enable debug)
-}
-
-src_install() {
- default
-
- dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
-
- docinto frontend
- dodoc frontend/README-tcltk
- docinto xorriso
- dodoc xorriso/{changelog.txt,README_gnu_xorriso}
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild b/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
index bc91f16b5fee..8a18790d28c3 100644
--- a/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
+++ b/dev-libs/libisofs/libisofs-1.5.6_p1-r1.ebuild
@@ -12,9 +12,11 @@ DESCRIPTION="Open-source library for reading, mastering and writing optical disc
HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
SRC_URI="https://files.libburnia-project.org/releases/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_PF}"
+
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="acl debug static-libs verbose-debug xattr zlib"
BDEPEND="
@@ -29,8 +31,6 @@ DEPEND="
${RDEPEND}
"
-S="${WORKDIR}/${MY_PF}"
-
src_prepare() {
default
diff --git a/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild b/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild
deleted file mode 100644
index a1580127c83c..000000000000
--- a/dev-libs/libisofs/libisofs-1.5.6_p1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PF=${P/_p1/}
-MY_P=${MY_PF}.pl01
-
-DESCRIPTION="Open-source library for reading, mastering and writing optical discs"
-HOMEPAGE="https://dev.lovelyhq.com/libburnia/web/wiki/Libisofs"
-SRC_URI="https://files.libburnia-project.org/releases/${MY_P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="acl debug static-libs verbose-debug xattr zlib"
-
-BDEPEND="
- virtual/pkgconfig
-"
-RDEPEND="
- acl? ( virtual/acl )
- xattr? ( sys-apps/attr )
- zlib? ( sys-libs/zlib )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-S="${WORKDIR}/${MY_PF}"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- $(use_enable debug) \
- $(use_enable verbose-debug) \
- $(use_enable acl libacl) \
- $(use_enable xattr) \
- $(use_enable zlib) \
- --disable-libjte \
- --disable-ldconfig-at-install
-}
-
-src_install() {
- default
-
- dodoc Roadmap doc/{*.txt,Tutorial}
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/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.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 3204285fa2ac..287f14a52a75 100644
--- a/dev-libs/libksba/Manifest
+++ b/dev-libs/libksba/Manifest
@@ -1,4 +1,6 @@
DIST libksba-1.6.5.tar.bz2 708400 BLAKE2B 934bde6412de6c1f3062b101930d7b2beac3f6e3f2fbeb5c964a6252b68a3b70c7cb3a48c7eac04b7f1d2ea3c717e1c7e164c1bc6113b46244b9dd130c64b540 SHA512 959312ac0bb2dabcdd22217266daccdf3938d62ff2936c767cade76888757ece1bb6fe79f2c679db03d1baf3919757265d0ded216fee8b8d235e94a70fcf05de
DIST libksba-1.6.5.tar.bz2.sig 119 BLAKE2B 70f290ed44160af2882b5f2543965e3003dd0fd106ab6eaa1f7dfbb878d1f0402c16f3e802af6be589e501e17d0ead82c03afe73c8353b314c8cafb24e7d4a11 SHA512 e70f136edcf29bf931eccaf930e0ae644fd372e0a6f472599898d2fd5e44e64ab2cea63b0be2b1d9a468f73f607881dfdf06adfe6d1fc9ebd66b21e4c245f837
DIST libksba-1.6.6.tar.bz2 708510 BLAKE2B 9985b16e946d6b407b5acbf005610cfb2f01d2a733ddff110e329dec8d95bd248cce6e9936d441676a4b06f031cc9122e26146a0f6d36cb343fb9ec16aef3627 SHA512 3b30bef9452ae0c52b4a52e9145fbd6dc57cf7a2b59302e3af063db6b45384e8ed7af62604efd7939b9e0cb5931e946b15609888e9699fafe4acbb0cbf138087
-DIST libksba-1.6.6.tar.bz2.sig 119 BLAKE2B ec4b72d612bb20c280316de7a66ffe697c65caf52e451621b42965d7d5b3e53577fc5b9c41ad5f5c09e42d90654d82afad8462f0baaf757e122fffedcd35d4ce SHA512 5ab4f890819ee3638660fa2ce529223e1798da53508d0cc2db5a9f0b21a242863037f5e81cdf2805e6cafb56e22412005f01cbe7b6344f3eb1a38f7cff98520d
+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.6.ebuild b/dev-libs/libksba/libksba-1.6.6.ebuild
index b02777ead934..59e606b3c1d1 100644
--- a/dev-libs/libksba/libksba-1.6.6.ebuild
+++ b/dev-libs/libksba/libksba-1.6.6.ebuild
@@ -20,7 +20,7 @@ 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"
diff --git a/dev-libs/libksba/libksba-1.6.7.ebuild b/dev-libs/libksba/libksba-1.6.7.ebuild
new file mode 100644
index 000000000000..b02777ead934
--- /dev/null
+++ b/dev-libs/libksba/libksba-1.6.7.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should:
+# 1. Join the "Gentoo" project at https://dev.gnupg.org/project/view/27/
+# 2. Subscribe to release tasks like https://dev.gnupg.org/T6159
+# (find the one for the current release then subscribe to it +
+# any subsequent ones linked within so you're covered for a while.)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gnupg.asc
+# in-source builds are not supported: https://dev.gnupg.org/T6313#166339
+inherit toolchain-funcs out-of-source verify-sig libtool
+
+DESCRIPTION="X.509 and CMS (PKCS#7) library"
+HOMEPAGE="https://www.gnupg.org/related_software/libksba"
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
+
+LICENSE="LGPL-3+ GPL-2+ GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.33"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/yacc
+ verify-sig? ( sec-keys/openpgp-keys-gnupg )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.0-no-fgrep-ksba-config.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize # necessary on Solaris for shared lib support
+}
+
+my_src_configure() {
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+ local myeconfargs=(
+ --disable-valgrind-tests
+ $(use_enable static-libs static)
+
+ GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
+ LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+my_src_install() {
+ default
+
+ # People need to use ksba-config for --cflags and --libs
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/dev-libs/libliftoff/Manifest b/dev-libs/libliftoff/Manifest
index 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 58f60f8c9697..a43a4dde8bfe 100644
--- a/dev-libs/libliftoff/libliftoff-0.4.1.ebuild
+++ b/dev-libs/libliftoff/libliftoff-0.4.1.ebuild
@@ -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 ~arm64 ~ppc64 ~riscv ~x86"
+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/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.5.0.ebuild b/dev-libs/libltdl/libltdl-2.5.0.ebuild
new file mode 100644
index 000000000000..0dc5df4fd2b2
--- /dev/null
+++ b/dev-libs/libltdl/libltdl-2.5.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please bump with dev-build/libtool.
+
+inherit multilib-minimal flag-o-matic
+
+MY_P="libtool-${PV}"
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="https://www.gnu.org/software/libtool/"
+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"
+IUSE="static-libs"
+# libltdl doesn't have a testsuite. Don't bother trying.
+RESTRICT="test"
+
+BDEPEND="app-arch/xz-utils"
+
+multilib_src_configure() {
+ # bug #907427
+ filter-lto
+
+ append-lfs-flags
+ ECONF_SOURCE="${S}" \
+ econf \
+ --enable-ltdl-install \
+ $(use_enable static-libs static)
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # While the libltdl.la file is not used directly, the m4 ltdl logic
+ # keys off of its existence when searching for ltdl support. # bug #293921
+ #use static-libs || find "${D}" -name libltdl.la -delete
+}
diff --git a/dev-libs/liblzw/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 c75763f85f2c..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,8 +6,8 @@ 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"
diff --git a/dev-libs/libmanette/Manifest b/dev-libs/libmanette/Manifest
index 7fbfe9154320..232e5955215a 100644
--- a/dev-libs/libmanette/Manifest
+++ b/dev-libs/libmanette/Manifest
@@ -1,2 +1 @@
-DIST libmanette-0.2.6.tar.xz 43236 BLAKE2B 3b2a6979aa368117fa5d61623c26e6cca61388770ad77e759c3427fcba64d40361b1e1a4f87a2931281edbf5c2943a44c2ee3b0485ef52ddbf183a9e72344892 SHA512 e10a1b3e493a6472b0cf7562e3dfbba839ee69bb878676b2e3521363e9ff7c5df7d379923a4781366797e889f3c8985397080ae606264dc9bd3a4459bce0513c
DIST libmanette-0.2.7.tar.xz 43928 BLAKE2B 10978109c22defc1fa3361ef08d824ec5a67fda86b020504322fb86db0f7157617daf34db6ddaf0c2221ad9419b04cad07fad17bb6de103b198c7664cee12c4d SHA512 c3ebaba901731d3f106379befba1c4020aa32dcd224ced7f24aab37e547644080202dfcdd0e8cbd0cb6c864410f038e483502d357ab9842ae0f25e9570d120ef
diff --git a/dev-libs/libmanette/libmanette-0.2.6.ebuild b/dev-libs/libmanette/libmanette-0.2.6.ebuild
deleted file mode 100644
index f60d2061f5df..000000000000
--- a/dev-libs/libmanette/libmanette-0.2.6.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org meson vala xdg
-
-DESCRIPTION="Simple GObject game controller library"
-HOMEPAGE="https://gitlab.gnome.org/aplazas/libmanette"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
-IUSE="gtk-doc +introspection +udev +vala test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="vala? ( introspection )"
-
-RDEPEND="
- >=dev-libs/glib-2.50:2
- udev? ( dev-libs/libgudev[introspection?] )
- dev-libs/libevdev
- introspection? ( >=dev-libs/gobject-introspection-1.56:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- gtk-doc? (
- dev-util/gtk-doc
- app-text/docbook-xml-dtd:4.3
- )
- vala? ( $(vala_depend) )
- virtual/pkgconfig
-"
-
-src_prepare() {
- xdg_src_prepare
- use vala && vala_src_prepare
-}
-
-src_configure() {
- local emesonargs=(
- -Ddemos=false
- $(meson_use test build-tests)
- -Dinstall-tests=false
- $(meson_use gtk-doc doc)
- $(meson_use introspection)
- $(meson_use vala vapi)
- $(meson_feature udev gudev)
- )
- meson_src_configure
-}
diff --git a/dev-libs/libmanette/libmanette-0.2.7.ebuild b/dev-libs/libmanette/libmanette-0.2.7.ebuild
index 267234ca8018..10c2fcc7c933 100644
--- a/dev-libs/libmanette/libmanette-0.2.7.ebuild
+++ b/dev-libs/libmanette/libmanette-0.2.7.ebuild
@@ -9,7 +9,7 @@ HOMEPAGE="https://gitlab.gnome.org/aplazas/libmanette"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
IUSE="gtk-doc +introspection +udev +vala test"
RESTRICT="!test? ( test )"
REQUIRED_USE="vala? ( introspection )"
diff --git a/dev-libs/libmateweather/Manifest b/dev-libs/libmateweather/Manifest
index 15f406c648b3..14b9402f2110 100644
--- a/dev-libs/libmateweather/Manifest
+++ b/dev-libs/libmateweather/Manifest
@@ -1,2 +1,2 @@
DIST libmateweather-1.26.3.tar.xz 2211104 BLAKE2B b395d05ff462c1d175beba2e143889e771bf98008af724ab648b8aeb3f4760a753d4349d8b66d748242ef2d057811344d8493e12b61d0b2e56e5b3c2067d0eef SHA512 e9285e615e013b7371e738b74647652f5b0abf029f32ba02299e632d882e7d0ff3c41dcac834ddb5b2a4fc93782d67f9764f9abc99a7eb4a26ac07ae12d9cafd
-DIST libmateweather-1.27.1.tar.xz 2203672 BLAKE2B 16a1490eea8d608275b94622ed918332498ebecbe7ddc385095c7b953ed657ead142c4cb0aff8ac8624e6a4ab559e2e54b3e44be10e899889d390023710c0fe8 SHA512 4de78f57768681c77d85dd5cbbea68f4000e37a696b3bd01510a27dceb204b3425db257fe431461eb81fe85395f8c0e072c2821eb6337ef21067734e151a4fcc
+DIST libmateweather-1.28.0.tar.xz 2221808 BLAKE2B edd5a00e020a0dcb1edaee08720a70ac3d1c1e6e08d5a0fc8247f1cb3e44bc1c47b350a1bcaf23db23994ac9b0a077cc489b94f82c9922e407edea1fe7c2722c SHA512 ee89bd159beba2893b334fb603de2b852d97c382670628d8892eb2a74907950afe485455218ae4c6dc41338218b67dc78003da8ace61d1952451ae55e7e5e6d0
diff --git a/dev-libs/libmateweather/libmateweather-1.27.1.ebuild b/dev-libs/libmateweather/libmateweather-1.28.0.ebuild
index bed9fb8fb2dd..6150436bf89e 100644
--- a/dev-libs/libmateweather/libmateweather-1.27.1.ebuild
+++ b/dev-libs/libmateweather/libmateweather-1.28.0.ebuild
@@ -9,7 +9,7 @@ inherit mate
MINOR=$(($(ver_cut 2) % 2))
if [[ ${MINOR} -eq 0 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
fi
DESCRIPTION="MATE library to access weather information from online services"
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/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-r7.ebuild b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
index 3f3d5b686185..70f48ed9e326 100644
--- a/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
+++ b/dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
@@ -1,17 +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
+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"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DOCS=(
AUTHORS NEWS README THANKS TODO ChangeLog
@@ -39,6 +39,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/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 bb9a5ab218ba..35a009c5cc05 100644
--- a/dev-libs/libmirage/Manifest
+++ b/dev-libs/libmirage/Manifest
@@ -1 +1,2 @@
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.8.ebuild b/dev-libs/libmirage/libmirage-3.2.8.ebuild
new file mode 100644
index 000000000000..ec9d1a2848d6
--- /dev/null
+++ b/dev-libs/libmirage/libmirage-3.2.8.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 xdg-utils
+
+DESCRIPTION="CD and DVD image access library"
+HOMEPAGE="https://cdemu.sourceforge.io"
+SRC_URI="https://download.sourceforge.net/cdemu/libmirage/${P}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0/11"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +introspection"
+
+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 )
+"
+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 )
+"
+
+DOCS=( AUTHORS README )
+
+src_configure() {
+ local mycmakeargs=(
+ -DGTKDOC_ENABLED="$(usex doc)"
+ -DINTROSPECTION_ENABLED="$(usex introspection)"
+ -DPOST_INSTALL_HOOKS=OFF # avoid sandbox violation, #487304
+ )
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+}
diff --git a/dev-libs/libmirage/metadata.xml b/dev-libs/libmirage/metadata.xml
index 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/libnatspec/libnatspec-0.3.0.ebuild b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
index 0fbcec33e9e8..d6fde3e9c93e 100644
--- a/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
+++ b/dev-libs/libnatspec/libnatspec-0.3.0.ebuild
@@ -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"
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 902b490f9d01..9c276dfffb96 100644
--- a/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
+++ b/dev-libs/libnsfb/libnsfb-0.2.2-r1.ebuild
@@ -6,7 +6,7 @@ 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"
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 ca36144b8ac9..cc494faf3d93 100644
--- a/dev-libs/liboil/liboil-0.3.17-r4.ebuild
+++ b/dev-libs/liboil/liboil-0.3.17-r5.ebuild
@@ -21,7 +21,10 @@ BDEPEND="
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/libotf/libotf-0.9.16.ebuild b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
index af118cd89a6f..4ea3d257b157 100644
--- a/dev-libs/libotf/libotf-0.9.16.ebuild
+++ b/dev-libs/libotf/libotf-0.9.16-r1.ebuild
@@ -1,11 +1,12 @@
# 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"
@@ -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 6590012a74ae..000000000000
--- a/dev-libs/libp11/libp11-0.4.12-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2024 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-text/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-r6.ebuild b/dev-libs/libp11/libp11-0.4.12-r7.ebuild
index e183b9430b96..fb5a4c7faf18 100644
--- a/dev-libs/libp11/libp11-0.4.12-r6.ebuild
+++ b/dev-libs/libp11/libp11-0.4.12-r7.ebuild
@@ -11,18 +11,17 @@ 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:=[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.1.5-r1
- <dev-libs/openssl-3.0.12
- )
+ !=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 )
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 486937c58cb3..7705ae51633c 100644
--- a/dev-libs/libpcre/libpcre-8.45-r1.ebuild
+++ b/dev-libs/libpcre/libpcre-8.45-r1.ebuild
@@ -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
diff --git a/dev-libs/libpcre/libpcre-8.45-r2.ebuild b/dev-libs/libpcre/libpcre-8.45-r2.ebuild
index c87877646d81..8c710120137f 100644
--- a/dev-libs/libpcre/libpcre-8.45-r2.ebuild
+++ b/dev-libs/libpcre/libpcre-8.45-r2.ebuild
@@ -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
"
diff --git a/dev-libs/libpcre/libpcre-8.45-r3.ebuild b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
index 2e1de1d51940..e528590ffb70 100644
--- a/dev-libs/libpcre/libpcre-8.45-r3.ebuild
+++ b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
@@ -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
"
@@ -23,7 +23,7 @@ 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"
+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 )
diff --git a/dev-libs/libpcre2/Manifest b/dev-libs/libpcre2/Manifest
index f3ae75c83491..44e0ea377ae5 100644
--- a/dev-libs/libpcre2/Manifest
+++ b/dev-libs/libpcre2/Manifest
@@ -1,4 +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/libpcre2-10.42-r2.ebuild b/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild
index b128470431e3..b3cf5cb10cb5 100644
--- a/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild
+++ b/dev-libs/libpcre2/libpcre2-10.42-r2.ebuild
@@ -23,7 +23,7 @@ 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"
+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 )"
diff --git a/dev-libs/libpcre2/libpcre2-10.43.ebuild b/dev-libs/libpcre2/libpcre2-10.43.ebuild
index eebbe19389eb..1b77aa920e69 100644
--- a/dev-libs/libpcre2/libpcre2-10.43.ebuild
+++ b/dev-libs/libpcre2/libpcre2-10.43.ebuild
@@ -21,7 +21,7 @@ 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"
+ 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 )"
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 2405d1039040..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,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.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/libpqxx/libpqxx-7.7.5.ebuild b/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
index 2f48102dfea8..1778b09b128b 100644
--- a/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
+++ b/dev-libs/libpqxx/libpqxx-7.7.5.ebuild
@@ -3,18 +3,17 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-any-r1
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-
DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
+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:="
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-r1.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
index e78148abc8f3..6d3790bc64a6 100644
--- a/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
+++ b/dev-libs/libpwquality/libpwquality-1.4.5-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit pam python-r1
+inherit libtool pam python-r1
DESCRIPTION="Library for password quality checking and generating random passwords"
HOMEPAGE="https://github.com/libpwquality/libpwquality"
@@ -12,7 +12,7 @@ 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"
+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} )"
@@ -29,6 +29,7 @@ DEPEND="${RDEPEND}"
src_prepare() {
default
+ elibtoolize
if use python ; then
# bug #830397
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/libpwquality/libpwquality-1.4.5.ebuild b/dev-libs/libpwquality/libpwquality-1.4.5.ebuild
deleted file mode 100644
index 87db7e77e81e..000000000000
--- a/dev-libs/libpwquality/libpwquality-1.4.5.ebuild
+++ /dev/null
@@ -1,87 +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 pam python-r1 usr-ldscript
-
-DESCRIPTION="Library for password quality checking and generating random passwords"
-HOMEPAGE="https://github.com/libpwquality/libpwquality"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="pam python static-libs"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-BDEPEND="
- >=sys-devel/gettext-0.18.2
- virtual/pkgconfig
-"
-RDEPEND="
- >=sys-libs/cracklib-2.8:=[static-libs(+)?]
- pam? ( sys-libs/pam )
- python? ( ${PYTHON_DEPS} )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.4-pam_pwquality-include.patch
-)
-
-src_prepare() {
- default
- # ensure pkgconfig files go in /usr
- sed -e "s:\(pkgconfigdir *=\).*:\1 ${EPREFIX}/usr/$(get_libdir)/pkgconfig:" \
- -i src/Makefile.{am,in} || die "sed failed"
-
- if use python ; then
- # bug #830397
- export SETUPTOOLS_USE_DISTUTILS=stdlib
- python_copy_sources
- fi
-}
-
-src_configure() {
- # Install library in /lib for pam
- configuring() {
- local sitedir
- econf \
- --libdir="${EPREFIX}/$(get_libdir)" \
- $(use_enable pam) \
- --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
- $(use_enable python python-bindings) \
- $(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
- $(use_enable static-libs static)
- }
- if_use_python_python_foreach_impl configuring
-}
-
-src_compile() {
- if_use_python_python_foreach_impl default
-}
-
-src_test() {
- if_use_python_python_foreach_impl default
-}
-
-src_install() {
- if_use_python_python_foreach_impl default
- if use static-libs; then
- # Do not install static libs in /lib
- mkdir -p "${ED}/usr/$(get_libdir)"
- mv "${ED}/$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die
- gen_usr_ldscript libpwquality.so
- fi
- find "${ED}" -name '*.la' -delete || die
-}
-
-if_use_python_python_foreach_impl() {
- if use python; then
- python_foreach_impl run_in_build_dir "$@"
- else
- "$@"
- fi
-}
diff --git a/dev-libs/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-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 79d932aef8d8..e1cf833f0ff6 100644
--- a/dev-libs/libratbag/libratbag-0.17.ebuild
+++ b/dev-libs/libratbag/libratbag-0.17-r1.ebuild
@@ -9,11 +9,17 @@ 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}
diff --git a/dev-libs/libratbag/libratbag-0.15.ebuild b/dev-libs/libratbag/libratbag-0.17-r2.ebuild
index ba7c076793e6..7620f30d382d 100644
--- a/dev-libs/libratbag/libratbag-0.15.ebuild
+++ b/dev-libs/libratbag/libratbag-0.17-r2.ebuild
@@ -3,17 +3,23 @@
EAPI=8
-PYTHON_COMPAT=( python3_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}
@@ -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 ad08ddd3c6db..47fc210ab543 100644
--- a/dev-libs/libratbag/libratbag-0.16.ebuild
+++ b/dev-libs/libratbag/libratbag-9999.ebuild
@@ -3,17 +3,23 @@
EAPI=8
-PYTHON_COMPAT=( python3_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}
@@ -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/librdkafka-1.8.2.ebuild b/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
deleted file mode 100644
index b58580b204e0..000000000000
--- a/dev-libs/librdkafka/librdkafka-1.8.2.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/confluentinc/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-# which: https://github.com/confluentinc/librdkafka/pull/4353
-BDEPEND="
- sys-apps/which
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --prefix="${EPREFIX}/usr"
- --build="${CBUILD}"
- --host="${CHOST}"
- --mandir="${EPREFIX}/usr/share/man"
- --infodir="${EPREFIX}/usr/share/info"
- --datadir="${EPREFIX}/usr/share"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- ./configure ${myeconf[@]} || die
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-2.1.1.ebuild b/dev-libs/librdkafka/librdkafka-2.1.1.ebuild
deleted file mode 100644
index b58580b204e0..000000000000
--- a/dev-libs/librdkafka/librdkafka-2.1.1.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/confluentinc/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-# which: https://github.com/confluentinc/librdkafka/pull/4353
-BDEPEND="
- sys-apps/which
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --prefix="${EPREFIX}/usr"
- --build="${CBUILD}"
- --host="${CHOST}"
- --mandir="${EPREFIX}/usr/share/man"
- --infodir="${EPREFIX}/usr/share/info"
- --datadir="${EPREFIX}/usr/share"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- ./configure ${myeconf[@]} || die
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild b/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild
index bcc0c17af6ab..86c99f805fc2 100644
--- a/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild
+++ b/dev-libs/librdkafka/librdkafka-2.2.0-r1.ebuild
@@ -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"
@@ -45,6 +45,7 @@ RDEPEND="net-misc/curl
DEPEND="
${RDEPEND}
+ elibc_musl? ( sys-libs/queue-standalone )
static-libs? ( ${LIB_DEPEND} )
"
diff --git a/dev-libs/librdkafka/librdkafka-2.2.0.ebuild b/dev-libs/librdkafka/librdkafka-2.2.0.ebuild
deleted file mode 100644
index c22046c164f6..000000000000
--- a/dev-libs/librdkafka/librdkafka-2.2.0.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Apache Kafka C/C++ client library"
-HOMEPAGE="https://github.com/confluentinc/librdkafka"
-
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
-
- inherit git-r3
-else
- SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc x86"
-fi
-
-LICENSE="BSD-2"
-
-# subslot = soname version
-SLOT="0/1"
-
-IUSE="lz4 sasl ssl static-libs zstd"
-
-LIB_DEPEND="
- lz4? ( app-arch/lz4:=[static-libs(+)] )
- sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
- ssl? ( dev-libs/openssl:0=[static-libs(+)] )
- zstd? ( app-arch/zstd:=[static-libs(+)] )
- sys-libs/zlib:=[static-libs(+)]
-"
-# which: https://github.com/confluentinc/librdkafka/pull/4353
-BDEPEND="
- sys-apps/which
- virtual/pkgconfig
- ${PYTHON_DEPS}
-"
-
-RDEPEND="net-misc/curl
- !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-
-DEPEND="
- ${RDEPEND}
- static-libs? ( ${LIB_DEPEND} )
-"
-
-pkg_setup() {
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} != "9999" ]]; then
- sed -i \
- -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
- tests/run-test.sh || die
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
-
- local myeconf=(
- --prefix="${EPREFIX}/usr"
- --build="${CBUILD}"
- --host="${CHOST}"
- --mandir="${EPREFIX}/usr/share/man"
- --infodir="${EPREFIX}/usr/share/info"
- --datadir="${EPREFIX}/usr/share"
- --sysconfdir="${EPREFIX}/etc"
- --localstatedir="${EPREFIX}/var"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --no-cache
- --no-download
- --disable-debug-symbols
- $(use_enable lz4)
- $(use_enable sasl)
- $(usex static-libs '--enable-static' '')
- $(use_enable ssl)
- $(use_enable zstd)
- )
-
- ./configure ${myeconf[@]} || die
-}
-
-src_test() {
- # Simulate CI so we do not fail when tests are running longer than expected,
- # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
- local -x CI=true
-
- emake -C tests run_local
-}
-
-src_install() {
- emake -j1 \
- DESTDIR="${D}" \
- docdir="/usr/share/doc/${PF}" \
- install
-
- if ! use static-libs; then
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
- fi
-}
diff --git a/dev-libs/libretls/libretls-3.8.1.ebuild b/dev-libs/libretls/libretls-3.8.1.ebuild
index 988269d3cce4..8dd27de640a8 100644
--- a/dev-libs/libretls/libretls-3.8.1.ebuild
+++ b/dev-libs/libretls/libretls-3.8.1.ebuild
@@ -3,6 +3,8 @@
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"
@@ -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/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 d2b9249101ad..d00b8ba77df6 100644
--- a/dev-libs/libsecp256k1/Manifest
+++ b/dev-libs/libsecp256k1/Manifest
@@ -3,5 +3,6 @@ DIST libsecp256k1-0.3.1.tar.gz 2560292 BLAKE2B 70ff57e222dd47d0e63a40653d4e7b4e7
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.3.0.ebuild b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
index 4ed054a8e8e7..61e3902587f1 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.0.ebuild
@@ -27,7 +27,7 @@ BDEPEND="
"
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 4ed054a8e8e7..61e3902587f1 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.1.ebuild
@@ -27,7 +27,7 @@ BDEPEND="
"
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 4f6e4550437e..8a347f00c909 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.3.2.ebuild
@@ -27,7 +27,7 @@ BDEPEND="
"
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 81afa059b2b3..a5459332d0dc 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.0.ebuild
@@ -27,7 +27,7 @@ BDEPEND="
"
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
index c75b3b63a13c..fcf78c907148 100644
--- a/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
+++ b/dev-libs/libsecp256k1/libsecp256k1-0.4.1.ebuild
@@ -27,7 +27,7 @@ BDEPEND="
"
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.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/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++-3.4.0.ebuild b/dev-libs/libsigc++/libsigc++-3.4.0.ebuild
deleted file mode 100644
index 38c4be7f1d0c..000000000000
--- a/dev-libs/libsigc++/libsigc++-3.4.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit gnome.org flag-o-matic meson-multilib
-
-DESCRIPTION="Typesafe callback system for standard C++"
-HOMEPAGE="https://libsigcplusplus.github.io/libsigcplusplus/
- https://github.com/libsigcplusplus/libsigcplusplus"
-
-LICENSE="LGPL-2.1+"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="gtk-doc test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- gtk-doc? (
- app-text/doxygen[dot]
- dev-lang/perl
- dev-libs/libxslt
- )
-"
-
-multilib_src_configure() {
- filter-flags -fno-exceptions #84263
-
- local emesonargs=(
- -Dbuild-examples=false
- $(meson_native_use_bool gtk-doc build-documentation)
- $(meson_use test build-tests)
- )
- meson_src_configure
-}
-
-multilib_src_install_all() {
- # Note: html docs are installed into /usr/share/doc/libsigc++-3.0
- # We can't use /usr/share/doc/${PF} because of links from glibmm etc. docs
- :;
-}
diff --git a/dev-libs/libsigc++/libsigc++-3.6.0.ebuild b/dev-libs/libsigc++/libsigc++-3.6.0.ebuild
index 561412f738b9..38c4be7f1d0c 100644
--- a/dev-libs/libsigc++/libsigc++-3.6.0.ebuild
+++ b/dev-libs/libsigc++/libsigc++-3.6.0.ebuild
@@ -10,7 +10,7 @@ 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 )"
diff --git a/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild b/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
index 9311409de504..fe96f4358062 100644
--- a/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
+++ b/dev-libs/libsigsegv/libsigsegv-2.14-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/libsigsegv/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+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
diff --git a/dev-libs/libsodium/Manifest b/dev-libs/libsodium/Manifest
index e2368db28f37..4d9f70e54033 100644
--- a/dev-libs/libsodium/Manifest
+++ b/dev-libs/libsodium/Manifest
@@ -1,6 +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.10-cpuflags.patch
deleted file mode 100644
index e03a703d7fae..000000000000
--- a/dev-libs/libsodium/files/libsodium-1.0.10-cpuflags.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -344,6 +344,10 @@
- [AC_MSG_RESULT(no)])
- CFLAGS="$oldcflags"
-
-+AC_ARG_ENABLE(sse4_1, [AS_HELP_STRING(--disable-sse4_1,Do not use sse4.1 code)],
-+ AS_IF([test "x$enableval" = "xyes"], check_sse4_1="yes", check_sse4_1="no"),
-+ check_sse4_1="yes")
-+AS_IF([test "$check_sse4_1" = "yes"],[
- oldcflags="$CFLAGS"
- AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS="$CFLAGS -msse4.1"])
- AC_MSG_CHECKING(for SSE4.1 instructions set)
-@@ -356,6 +360,7 @@
- AX_CHECK_COMPILE_FLAG([-msse4.1], [CFLAGS_SSE41="-msse4.1"])],
- [AC_MSG_RESULT(no)])
- CFLAGS="$oldcflags"
-+ ])
-
- oldcflags="$CFLAGS"
- AX_CHECK_COMPILE_FLAG([-mavx], [CFLAGS="$CFLAGS -mavx"])
-@@ -393,6 +398,10 @@
- [AC_MSG_RESULT(no)])
- CFLAGS="$oldcflags"
-
-+AC_ARG_ENABLE(aesni, [AS_HELP_STRING(--disable-aesni,Do not use aesni code)],
-+ AS_IF([test "x$enableval" = "xyes"], check_aesni="yes", check_aesni="no"),
-+ check_aesni="yes")
-+AS_IF([test "$check_aesni" = "yes"],[
- oldcflags="$CFLAGS"
- AX_CHECK_COMPILE_FLAG([-maes], [CFLAGS="$CFLAGS -maes"])
- AX_CHECK_COMPILE_FLAG([-mpclmul], [CFLAGS="$CFLAGS -mpclmul"])
-@@ -410,6 +419,7 @@
- ],
- [AC_MSG_RESULT(no)])
- CFLAGS="$oldcflags"
-+ ])
-
- ])
-
diff --git a/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild b/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
deleted file mode 100644
index bcd05ad21ed0..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.18_p20220618.ebuild
+++ /dev/null
@@ -1,74 +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/libsodium.minisig
-VERIFY_SIG_METHOD=minisig
-inherit autotools multilib-minimal verify-sig
-
-DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
-HOMEPAGE="https://libsodium.org"
-
-if [[ ${PV} == *_p* ]] ; then
- MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
-
- # We use _pN to represent 'stable releases'
- # These are backports from upstream to the last release branch
- # See https://download.libsodium.org/libsodium/releases/README.html
- SRC_URI="
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
- verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
- "
-else
- SRC_URI="
- https://download.libsodium.org/${PN}/releases/${P}.tar.gz
- verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
- "
-fi
-
-S="${WORKDIR}"/${PN}-stable
-
-LICENSE="ISC"
-SLOT="0/23"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="+asm minimal static-libs +urandom"
-
-CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
-IUSE+=" ${CPU_USE[@]}"
-
-BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable asm)
- $(use_enable cpu_flags_x86_aes aesni)
- $(use_enable cpu_flags_x86_sse4_1 sse4_1)
- $(use_enable minimal)
- $(use_enable static-libs static)
- $(use_enable !urandom blocking-random)
- )
-
- # --disable-pie is needed on x86, see bug #512734
- # TODO: Check if still needed?
- if [[ ${ABI} == x86 ]] ; then
- myeconfargs+=( --disable-pie )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild b/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild
deleted file mode 100644
index 575daa8a5059..000000000000
--- a/dev-libs/libsodium/libsodium-1.0.19-r1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libsodium.minisig
-VERIFY_SIG_METHOD=minisig
-inherit autotools multilib-minimal verify-sig
-
-DESCRIPTION="Portable fork of NaCl, a higher-level cryptographic library"
-HOMEPAGE="https://libsodium.org"
-
-if [[ ${PV} == *_p* ]] ; then
- MY_P=${PN}-$(ver_cut 1-3)-stable-$(ver_cut 5-)
-
- # We use _pN to represent 'stable releases'
- # These are backports from upstream to the last release branch
- # See https://download.libsodium.org/libsodium/releases/README.html
- SRC_URI="
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${MY_P}.tar.gz -> ${P}.tar.gz
- verify-sig? ( https://dev.gentoo.org/~sam/distfiles/dev-libs/libsodium/${MY_P}.tar.gz.minisig -> ${P}.tar.gz.minisig )
- "
-else
- SRC_URI="
- https://download.libsodium.org/${PN}/releases/${P}.tar.gz
- verify-sig? ( https://download.libsodium.org/${PN}/releases/${P}.tar.gz.minisig )
- "
-fi
-
-S="${WORKDIR}"/${PN}-stable
-
-LICENSE="ISC"
-SLOT="0/26"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="+asm minimal static-libs +urandom"
-
-CPU_USE=( cpu_flags_x86_{aes,sse4_1} )
-IUSE+=" ${CPU_USE[@]}"
-
-BDEPEND=" verify-sig? ( sec-keys/minisig-keys-libsodium )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.10-cpuflags.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- $(use_enable asm)
- $(use_enable cpu_flags_x86_aes aesni)
- $(use_enable cpu_flags_x86_sse4_1 sse4_1)
- $(use_enable minimal)
- $(use_enable static-libs static)
- $(use_enable !urandom blocking-random)
- )
-
- # --disable-pie is needed on x86, see bug #512734
- # TODO: Check if still needed?
- if [[ ${ABI} == x86 ]] ; then
- myeconfargs+=( --disable-pie )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_install_all() {
- default
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
index bb62d58a0e8c..3654a117b23e 100644
--- a/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
+++ b/dev-libs/libsodium/libsodium-1.0.19_p20240117.ebuild
@@ -31,7 +31,7 @@ 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"
+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} )
diff --git a/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild b/dev-libs/libsodium/libsodium-1.0.20.ebuild
index c3e685aae87f..35a5bc16739b 100644
--- a/dev-libs/libsodium/libsodium-1.0.19-r2.ebuild
+++ b/dev-libs/libsodium/libsodium-1.0.20.ebuild
@@ -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,8 +28,6 @@ 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"
@@ -39,8 +38,12 @@ 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() {
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/libstrophe/Manifest b/dev-libs/libstrophe/Manifest
index 6af665fe996e..12475731329b 100644
--- a/dev-libs/libstrophe/Manifest
+++ b/dev-libs/libstrophe/Manifest
@@ -1,4 +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.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/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/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 f17fc77a6642..000000000000
--- a/dev-libs/libtommath/libtommath-1.2.0-r2.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2024 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="dev-build/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/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 3c3393a863c3..e19e80f863c1 100644
--- a/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild
+++ b/dev-libs/libtraceevent/libtraceevent-1.7.3.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} =~ [9]{4,} ]]; then
inherit git-r3
else
SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/snapshot/${P}.tar.gz"
- KEYWORDS="~alpha ~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-r1.ebuild b/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild
deleted file mode 100644
index 0fa9a748d6ad..000000000000
--- a/dev-libs/libtracefs/libtracefs-1.6.4-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2019-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="Linux kernel trace file system library"
-HOMEPAGE="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
-
-if [[ ${PV} =~ [9]{4,} ]]; then
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/"
- inherit git-r3
-else
- SRC_URI="https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/snapshot/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="doc"
-
-RDEPEND="
- !<dev-util/trace-cmd-3.1.4-r2
- >=dev-libs/libtraceevent-1.3.0
-"
-DEPEND="${RDEPEND}"
-# source-highlight is needed, see bug https://bugs.gentoo.org/865469
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-text/xmlto app-text/asciidoc dev-util/source-highlight )
-"
-
-src_prepare() {
- default
- sed -i -e "s|share/doc/libtracefs-doc|share/doc/libtracefs-${PV}|g" \
- Documentation/Makefile || die
-}
-
-src_configure() {
- EMAKE_FLAGS=(
- "prefix=${EPREFIX}/usr"
- "libdir=${EPREFIX}/usr/$(get_libdir)"
- "CC=$(tc-getCC)"
- "AR=$(tc-getAR)"
- VERBOSE=1
- )
-}
-
-src_compile() {
- emake "${EMAKE_FLAGS[@]}"
- use doc && emake doc
-}
-
-src_install() {
- emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install
- # can't prevent installation of the static lib with parameters
- rm "${ED}/usr/$(get_libdir)/libtracefs.a" || die
- # install-doc is wrong target, see https://bugs.gentoo.org/865465
- use doc && emake "${EMAKE_FLAGS[@]}" DESTDIR="${ED}" install_doc
-}
diff --git a/dev-libs/libtracefs/libtracefs-1.7.0.ebuild b/dev-libs/libtracefs/libtracefs-1.7.0.ebuild
index e7951e76f791..4102ebe264f6 100644
--- a/dev-libs/libtracefs/libtracefs-1.7.0.ebuild
+++ b/dev-libs/libtracefs/libtracefs-1.7.0.ebuild
@@ -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="~alpha ~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/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/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 e934da0c046a..d74b4cc231c5 100644
--- a/dev-libs/libucl/Manifest
+++ b/dev-libs/libucl/Manifest
@@ -1,2 +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/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/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/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-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/libunique/libunique-1.1.6-r2.ebuild b/dev-libs/libunique/libunique-1.1.6-r3.ebuild
index 220e05249093..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-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,7 +22,8 @@ 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}
@@ -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 973d210fa476..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-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="
@@ -32,7 +33,6 @@ DEPEND="${RDEPEND}
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/libunistring-1.2.ebuild b/dev-libs/libunistring/libunistring-1.2.ebuild
index 3650da85e1b8..46e9e200aa8d 100644
--- a/dev-libs/libunistring/libunistring-1.2.ebuild
+++ b/dev-libs/libunistring/libunistring-1.2.ebuild
@@ -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"
QA_CONFIG_IMPL_DECL_SKIP=(
diff --git a/dev-libs/libusb/libusb-1.0.27-r1.ebuild b/dev-libs/libusb/libusb-1.0.27-r1.ebuild
index b956c08ca087..9586c4d8b9df 100644
--- a/dev-libs/libusb/libusb-1.0.27-r1.ebuild
+++ b/dev-libs/libusb/libusb-1.0.27-r1.ebuild
@@ -11,7 +11,7 @@ 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"
+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 )"
diff --git a/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild b/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild
index 5baa00aa6fdd..7b01fcb92ad9 100644
--- a/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild
+++ b/dev-libs/libutf8proc/libutf8proc-2.9.0.ebuild
@@ -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 08d6094e36ce..1c5d46d282d2 100644
--- a/dev-libs/libuv/Manifest
+++ b/dev-libs/libuv/Manifest
@@ -1,3 +1,2 @@
-DIST libuv-1.47.0.tar.gz 1316016 BLAKE2B 6c530f8625366a9bf3f99ac4eb6b3bf3d4f6a05f98848e08cdab884934d79862cf8e79dd2d506ec734d701faab517eba2215063dce4b4216add5cfd6bfebd82e SHA512 3d0e76c4e29c5de14fddda07409f8db30dc64261d1c0bdfce7f70eb8f5ac911707fe662e81c4f117e4068cb0728158fc2b8255f8aa497c0f688e46c7fb93a5b3
DIST libuv-1.48.0.tar.gz 1314877 BLAKE2B 7595797ab732109516ce280fa2efa3474e82e78890087408c7f5b1457ce8f44e53878581bb8d473795e298d7390dd8a269dd2e8970e10b50a2c0bbe1cce187cc SHA512 7ae3a4c02f654a26056db1541e52ccc4c54aaea39c33585f0cf6949af997d0a0a29f30a294c8df6e92f6f6af7ce64c2766b1a2cc67f342e3e139cd55b7326c94
DIST libuv-1.48.0.tar.gz.sig 833 BLAKE2B f0982f7723fa81afe3fe668fc4497fb182a6093f38b185aba4f7359a3248062e7953acaba3f7fd739c9ff5b590664e4b7b81ee138442ffccd46c989c0a10345b SHA512 3a6441bb250badb7bb54a102dd7a1cf47ee4e0ed93ff0369c5b6a4b1e5440e613d85530f19c9ebdc586a97dfe1e06af09e2f90c13448e875dbaee1c703efa955
diff --git a/dev-libs/libuv/files/libuv-1.47.0-darwin17.patch b/dev-libs/libuv/files/libuv-1.47.0-darwin17.patch
deleted file mode 100644
index 3fa90de83288..000000000000
--- a/dev-libs/libuv/files/libuv-1.47.0-darwin17.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4785ad6337aac8b78224291f0848f25fc8cb41c9 Mon Sep 17 00:00:00 2001
-From: Sergey Fedorov <vital.had@gmail.com>
-Date: Sat, 18 Nov 2023 16:57:40 +0800
-Subject: [PATCH] unix: unbreak macOS < 10.14 (#4230)
-
-From fc70430b09c49032d41ae97db26da10e20941e75 Mon Sep 17 00:00:00 2001
-From: Bo Anderson <mail@boanderson.me>
-Date: Fri, 24 Nov 2023 10:17:52 +0000
-Subject: [PATCH] unix: correct pwritev conditional (#4233)
-
-
-diff --git a/src/unix/fs.c b/src/unix/fs.c
-index 891306daedc..4de0643a6c3 100644
---- a/src/unix/fs.c
-+++ b/src/unix/fs.c
-@@ -84,7 +84,9 @@
-
- #if defined(__CYGWIN__) || \
- (defined(__HAIKU__) && B_HAIKU_VERSION < B_HAIKU_VERSION_1_PRE_BETA_5) || \
-- (defined(__sun) && !defined(__illumos__))
-+ (defined(__sun) && !defined(__illumos__)) || \
-+ (defined(__APPLE__) && !TARGET_OS_IPHONE && \
-+ MAC_OS_X_VERSION_MIN_REQUIRED < 110000)
- #define preadv(fd, bufs, nbufs, off) \
- pread(fd, (bufs)->iov_base, (bufs)->iov_len, off)
- #define pwritev(fd, bufs, nbufs, off) \
diff --git a/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch b/dev-libs/libuv/files/libuv-1.47.0-hppa-kernel.patch
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/libuv-1.47.0-r1.ebuild b/dev-libs/libuv/libuv-1.47.0-r1.ebuild
deleted file mode 100644
index c102af94ad4c..000000000000
--- a/dev-libs/libuv/libuv-1.47.0-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Cross-platform asychronous I/O"
-HOMEPAGE="https://github.com/libuv/libuv"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/libuv/libuv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-LICENSE="BSD BSD-2 ISC MIT"
-SLOT="0/1"
-
-BDEPEND="
- dev-build/libtool
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-ipv6-tests.patch
- "${FILESDIR}"/${P}-hppa-kernel.patch
- "${FILESDIR}"/${P}-darwin17.patch # upstream
-)
-
-src_prepare() {
- default
-
- echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
- > m4/libuv-extra-automake-flags.m4 || die
-
- if [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] ; then
- eapply "${FILESDIR}"/${PN}-1.41.0-darwin.patch
- fi
-
- # Upstream fails to ship a configure script
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- cc_cv_cflags__g=no
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/libuv/libuv-1.48.0.ebuild b/dev-libs/libuv/libuv-1.48.0.ebuild
index e6beaf7582e1..d4e41aef83bb 100644
--- a/dev-libs/libuv/libuv-1.48.0.ebuild
+++ b/dev-libs/libuv/libuv-1.48.0.ebuild
@@ -17,7 +17,7 @@ else
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"
+ 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
diff --git a/dev-libs/libvoikko/libvoikko-4.3.2.ebuild b/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
index 967e5319d288..4543636f21ce 100644
--- a/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
+++ b/dev-libs/libvoikko/libvoikko-4.3.2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit python-r1 verify-sig
diff --git a/dev-libs/libwacom/Manifest b/dev-libs/libwacom/Manifest
index 087008f73bd8..4758c64292ed 100644
--- a/dev-libs/libwacom/Manifest
+++ b/dev-libs/libwacom/Manifest
@@ -1,4 +1,3 @@
DIST libwacom-2.10.0.tar.xz 114952 BLAKE2B ec9226feeac9998bc8b1886967db1ef5ea34312717eec5cce31796ffb2209cd479f6b2c1f7e2fe63c7c26ff7bdc93cf33a04314caefe84bb1113693086a78de5 SHA512 dc62db42596e14ace8463bc6bb115503d55f14c23a2a259b2169746e21b25eeeaacc09d7d1dd85c3e05f6dc5f3d96a3c757b2c93b171673e8f869337408495f9
-DIST libwacom-2.6.0.tar.xz 110288 BLAKE2B 321bacccab84f287141257b4c7af12822fca976c335027d399765fdbbb2c59eabcc76f40d4fd83c7cf1cdc88e2c57ccd317b1922ea3dddb98cf2a0847e920ff1 SHA512 aacf234e77bd976de2e2a687294c5ab704dca5a70df01fa2485441029e4faa34bec2824c455642115ae79f5cbbac41d064569e4eb2788655c324b37149009d26
-DIST libwacom-2.7.0.tar.xz 111424 BLAKE2B 2cb046a7390c017680a2a67197896b0613fa3b0ca65d388b5d760fba1438c3079786efa77a5b69d26dce7b8813436ca4240500ef00d77e11427fee81df912d64 SHA512 47dd8fc7b82fce88ae9d857bcbecec2e45f2a83e832a5e1f97d5b09f77a2dacd53a470e08e756217fe7c5ef4420fdd8d3e3c37071336f7a3dce522b9fa781583
-DIST libwacom-2.8.0.tar.xz 112244 BLAKE2B cc9bd7118f8e8d8d4ee3a22a6af20f00b95a3660cbc7c0822b7c067c1e78d89a9615db710cd8f3fbcf3a14ccdd434a2694dbb3ce0ef9bdd540b456c774927536 SHA512 b374ee8ded4f5cb7961699d2b9826ad69a3089f9a3073b4275596e1036f0e08813fba09c98653e852da73781c34c779e3faf20dab66eff667812a655e153f133
+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.10.0.ebuild b/dev-libs/libwacom/libwacom-2.10.0.ebuild
index ec6ea6420bb5..4b992460e769 100644
--- a/dev-libs/libwacom/libwacom-2.10.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.10.0.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
LICENSE="MIT"
SLOT="0/9" # libwacom SONAME
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/libwacom/libwacom-2.8.0.ebuild b/dev-libs/libwacom/libwacom-2.11.0.ebuild
index 3267e544f61e..ef7e7831e546 100644
--- a/dev-libs/libwacom/libwacom-2.8.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.11.0.ebuild
@@ -3,7 +3,7 @@
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,12 +12,13 @@ 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}"
diff --git a/dev-libs/libwacom/libwacom-2.6.0.ebuild b/dev-libs/libwacom/libwacom-2.12.2.ebuild
index d1ebf1a3d796..ef7e7831e546 100644
--- a/dev-libs/libwacom/libwacom-2.6.0.ebuild
+++ b/dev-libs/libwacom/libwacom-2.12.2.ebuild
@@ -3,7 +3,7 @@
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-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.7.0.ebuild b/dev-libs/libwacom/libwacom-2.7.0.ebuild
deleted file mode 100644
index d1ebf1a3d796..000000000000
--- a/dev-libs/libwacom/libwacom-2.7.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit meson python-any-r1 udev
-
-DESCRIPTION="Library for identifying Wacom tablets and their model-specific features"
-HOMEPAGE="https://github.com/linuxwacom/libwacom"
-SRC_URI="https://github.com/linuxwacom/${PN}/releases/download/${P}/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0/9" # libwacom SONAME
-KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ppc ppc64 sparc x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/glib:2
- dev-libs/libgudev:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-text/doxygen )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep '
- dev-python/libevdev[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- ')
- )
-"
-
-python_check_deps() {
- python_has_version "dev-python/libevdev[${PYTHON_USEDEP}]" &&
- python_has_version "dev-python/pyudev[${PYTHON_USEDEP}]" &&
- python_has_version "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- if use test; then
- python-any-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- # Don't call systemd daemon-reload in the test suite
- sed -i -e '/daemon-reload/d' test/test_udev_rules.py || die
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature doc documentation)
- $(meson_feature test tests)
- -Dudev-dir=$(get_udevdir)
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/dev-libs/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/libxml2/Manifest b/dev-libs/libxml2/Manifest
index 078eabcc49fe..3b8132a4cb86 100644
--- a/dev-libs/libxml2/Manifest
+++ b/dev-libs/libxml2/Manifest
@@ -1,5 +1,10 @@
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/libxml2-2.11.8.ebuild b/dev-libs/libxml2/libxml2-2.11.8.ebuild
new file mode 100644
index 000000000000..f11bd3c8ebe7
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.11.8.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.11.5-CVE-2023-45322.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-2.12.6.ebuild b/dev-libs/libxml2/libxml2-2.12.6.ebuild
new file mode 100644
index 000000000000..3d915e2ccc5b
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.12.6.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: Please bump in sync with dev-libs/libxslt
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+inherit flag-o-matic python-r1 multilib-minimal
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20130923.tar.gz"
+
+DESCRIPTION="XML C parser and toolkit"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
+ inherit autotools git-r3
+else
+ inherit gnome.org libtool
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+SRC_URI+="
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
+ )
+"
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+LICENSE="MIT"
+SLOT="2"
+IUSE="debug examples +ftp icu lzma +python readline static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libiconv
+ >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
+ icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+=" dev-build/gtk-doc-am"
+fi
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xml2-config
+)
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ else
+ local tarname=${P/_rc/-rc}.tar.xz
+
+ # ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${tarname}
+
+ if [[ -n ${PATCHSET_VERSION} ]] ; then
+ unpack ${PN}-${PATCHSET_VERSION}.tar.xz
+ fi
+ fi
+
+ cd "${S}" || die
+
+ if use test ; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ # Filter seemingly problematic CFLAGS (bug #26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ # Notes:
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+ libxml2_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --enable-ipv6 \
+ $(use_with ftp) \
+ $(use_with debug run-debug) \
+ $(use_with icu) \
+ $(use_with lzma) \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with readline) \
+ $(multilib_native_use_with readline history) \
+ "$@"
+ }
+
+ # Build python bindings separately
+ libxml2_configure --without-python
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_configure --with-python
+}
+
+libxml2_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxml2_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ ln -s "${S}"/xmlconf || die
+
+ emake check
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake check
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ multilib_is_native_abi && use python &&
+ python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ multilib_is_native_abi && use python && python_foreach_impl python_optimize
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [[ -n "${ROOT}" ]]; then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # Need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}/etc/xml/catalog"
+
+ # We don't want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [[ ! -e "${CATALOG}" ]]; then
+ [[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
diff --git a/dev-libs/libxml2/libxml2-2.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.8.ebuild b/dev-libs/libxml2/libxml2-2.12.8.ebuild
new file mode 100644
index 000000000000..3ac81e4938ea
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.12.8.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..13} )
+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.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 c4d87530a6d4..92dfc0a46781 100644
--- a/dev-libs/libxml2/libxml2-9999.ebuild
+++ b/dev-libs/libxml2/libxml2-9999.ebuild
@@ -5,9 +5,9 @@ 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} )"
@@ -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.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 0c049556676a..b10e3d3f68d3 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1 +1,2 @@
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.39.ebuild b/dev-libs/libxslt/libxslt-1.1.39.ebuild
index 63f43e719abb..1bcad69eab52 100644
--- a/dev-libs/libxslt/libxslt-1.1.39.ebuild
+++ b/dev-libs/libxslt/libxslt-1.1.39.ebuild
@@ -5,7 +5,7 @@ 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"
diff --git a/dev-libs/libxslt/libxslt-1.1.41.ebuild b/dev-libs/libxslt/libxslt-1.1.41.ebuild
new file mode 100644
index 000000000000..f712581ff266
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.41.ebuild
@@ -0,0 +1,129 @@
+# 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..13} )
+inherit 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.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}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/xslt-config
+)
+
+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
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautoreconf
+ else
+ # Prefix always needs elibtoolize if not eautoreconf'd.
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ libxslt_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --without-python \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_enable static-libs static) \
+ "$@"
+ }
+
+ # Build Python bindings separately
+ libxslt_configure --without-python
+
+ if multilib_is_native_abi && use python ; then
+ NATIVE_BUILD_DIR="${BUILD_DIR}"
+ python_foreach_impl run_in_build_dir libxslt_configure --with-python
+ fi
+}
+
+libxslt_py_emake() {
+ pushd "${BUILD_DIR}"/python >/dev/null || die
+
+ emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
+
+ popd >/dev/null || die
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake all
+ fi
+}
+
+multilib_src_test() {
+ default
+
+ if multilib_is_native_abi && use python ; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake check
+ fi
+}
+
+multilib_src_install() {
+ # "default" does not work here - docs are installed by multilib_src_install_all
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi && use python; then
+ python_foreach_impl run_in_build_dir libxslt_py_emake \
+ DESTDIR="${D}" \
+ install
+
+ # Hack until automake release is made for the optimise fix
+ # https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
+ python_foreach_impl python_optimize
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if ! use examples ; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
+ rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/dev-libs/libxslt/libxslt-9999.ebuild b/dev-libs/libxslt/libxslt-9999.ebuild
index 1f4d62a88f6a..f712581ff266 100644
--- a/dev-libs/libxslt/libxslt-9999.ebuild
+++ b/dev-libs/libxslt/libxslt-9999.ebuild
@@ -5,8 +5,8 @@ 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,10 +60,6 @@ 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 \
diff --git a/dev-libs/libzia/Manifest b/dev-libs/libzia/Manifest
index 682967b64911..2ef03f67555e 100644
--- a/dev-libs/libzia/Manifest
+++ b/dev-libs/libzia/Manifest
@@ -1,3 +1,2 @@
-DIST libzia-4.52.tar.gz 641867 BLAKE2B 106ec4ad8be1fd32dfc887b2bc57fcb506f3f4a4e25cd054228ddf2ebbd5c8d3df8f5e79f8e77fd8198c16acb55796c875dd3759bd1ec57c69ab51528bd9363a SHA512 d18b7a5ea168276f6f90429be271dd2807000fa7fef938d11cd55349475afe4343b54a7bcd0222606a4d51ea74e10aeede38dd9b80ec0c44fa5ce392ce79c59b
-DIST libzia-4.54.tar.gz 646921 BLAKE2B 43a5575e673b24b9687bf744892dcc823c260760934d983d7b5e4480cad588283b1e830bbf0aac9ff46bc419ebf6f474b7fc7059c25214906756e678371baebe SHA512 818cd7219c7d742236cdbf8f1d7077b85e430c575ad76aea9724023eb7d72771ecf91e9c82f6a6b95bd1119ec46efd1fd7bb08c53b918b803e6051df82e47846
-DIST libzia-4.55.tar.gz 646922 BLAKE2B 0430757bce57458b33dbd7c315b88258b5d1364aea958a6b31e7e90a7f544cf64ba4409ffde9b2ab7088b6c8a33e433a3c334e7fc61e22a4bb8b693b53532000 SHA512 05d91c59b070f1230a0919c07757afa25f4bfca6585501d1ee013ca2c5994967329682624c2a9e13cba686640ddb145ca093e3e341141fd301e780a98c6b30a7
+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.54.ebuild b/dev-libs/libzia/libzia-4.54.ebuild
deleted file mode 100644
index 0fe1254dbfda..000000000000
--- a/dev-libs/libzia/libzia-4.54.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic
-
-DESCRIPTION="Platform abstraction code for tucnak package"
-HOMEPAGE="http://tucnak.nagano.cz"
-SRC_URI="http://tucnak.nagano.cz/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ftdi"
-
-RDEPEND="dev-libs/glib:2
- x11-libs/gtk+:2
- media-libs/libsdl2
- media-libs/sdl2-ttf
- media-libs/libpng:0
- ftdi? ( dev-embedded/libftdi:1 )
- elibc_musl? ( sys-libs/libunwind )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-MAKEOPTS+=" -j1"
-
-src_prepare() {
- eapply_user
- sed -i -e "s/docsdir/#docsdir/g" \
- -e "s/docs_/#docs_/g" Makefile.am || die
-
- # fix build for MUSL (bug #832235)
- if use elibc_musl ; then
- sed -i -e "s/ backtrace(/ unw_backtrace(/" src/zbfd.c || die
- fi
- eautoreconf
-}
-
-src_configure() {
- use elibc_musl && append-libs -lunwind
- econf \
- $(use_with ftdi) --with-sdl \
- --with-png --without-bfd \
- --disable-static
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/dev-libs/libzia/libzia-4.52.ebuild b/dev-libs/libzia/libzia-4.59.ebuild
index 1d7cfa978b7c..6d812e180441 100644
--- a/dev-libs/libzia/libzia-4.52.ebuild
+++ b/dev-libs/libzia/libzia-4.59.ebuild
@@ -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/libzia/libzia-4.55.ebuild b/dev-libs/libzia/libzia-4.60.ebuild
index 0fe1254dbfda..67650de1be5b 100644
--- a/dev-libs/libzia/libzia-4.55.ebuild
+++ b/dev-libs/libzia/libzia-4.60.ebuild
@@ -31,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 9b58401971bf..a78bbab12177 100644
--- a/dev-libs/link-grammar/link-grammar-5.12.3.ebuild
+++ b/dev-libs/link-grammar/link-grammar-5.12.4.ebuild
@@ -3,13 +3,13 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..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"
@@ -29,13 +29,9 @@ DEPEND="${RDEPEND}"
BDEPEND="
dev-lang/swig:0
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
@@ -66,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/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/log4cpp-1.1.3-r2.ebuild b/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild
index 9677088e324a..e73fe69e5d42 100644
--- a/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild
+++ b/dev-libs/log4cpp/log4cpp-1.1.3-r2.ebuild
@@ -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"
diff --git a/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
index 5c9baefc2b99..4f5b087204d6 100644
--- a/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
+++ b/dev-libs/log4cpp/log4cpp-1.1.3-r3.ebuild
@@ -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"
diff --git a/dev-libs/log4cpp/log4cpp-1.1.4.ebuild b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
index 3b679658a0e5..a3223acb40bc 100644
--- a/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
+++ b/dev-libs/log4cpp/log4cpp-1.1.4.ebuild
@@ -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"
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 0474a77acf59..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
@@ -6,10 +6,10 @@ 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 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="X anthy athena bidi fontconfig gd libotf libxml2 spell xft"
@@ -17,6 +17,7 @@ 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/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/mathjax-2.7.7-r1.ebuild b/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
index 7c3e85efd7b3..6fb61bb7e9a4 100644
--- a/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
+++ b/dev-libs/mathjax/mathjax-2.7.7-r1.ebuild
@@ -19,7 +19,7 @@ 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"
+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="
diff --git a/dev-libs/mathjax/mathjax-3.2.2-r2.ebuild b/dev-libs/mathjax/mathjax-3.2.2-r2.ebuild
index ad981a31d0ba..91d608be4711 100644
--- a/dev-libs/mathjax/mathjax-3.2.2-r2.ebuild
+++ b/dev-libs/mathjax/mathjax-3.2.2-r2.ebuild
@@ -22,7 +22,7 @@ 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"
+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="
diff --git a/dev-libs/mathjax/metadata.xml b/dev-libs/mathjax/metadata.xml
index de8e9f370f4b..d816f6fd3178 100644
--- a/dev-libs/mathjax/metadata.xml
+++ b/dev-libs/mathjax/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>eschwartz93@gmail.com</email>
+ <maintainer type="person">
+ <email>eschwartz@gentoo.org</email>
<name>Eli Schwartz</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<stabilize-allarches/>
<longdescription lang="en">
MathJax is an open-source JavaScript display engine for LaTeX and
diff --git a/dev-libs/metee/Manifest b/dev-libs/metee/Manifest
index efd450ae6bb3..62b977767d63 100644
--- a/dev-libs/metee/Manifest
+++ b/dev-libs/metee/Manifest
@@ -1 +1,3 @@
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-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.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/mimetic-0.9.8.ebuild b/dev-libs/mimetic/mimetic-0.9.8.ebuild
index 218a91a27d15..0b546da4add4 100644
--- a/dev-libs/mimetic/mimetic-0.9.8.ebuild
+++ b/dev-libs/mimetic/mimetic-0.9.8.ebuild
@@ -6,8 +6,8 @@ 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"
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.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/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/zthread/metadata.xml b/dev-libs/mpdecimal/metadata.xml
index 7f7a727d1d59..076793e3f54b 100644
--- a/dev-libs/zthread/metadata.xml
+++ b/dev-libs/mpdecimal/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="sourceforge">zthread</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild b/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild
new file mode 100644
index 000000000000..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/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 592ae5fadcbd..21d62df6542b 100644
--- a/dev-libs/ncnn/Manifest
+++ b/dev-libs/ncnn/Manifest
@@ -1 +1 @@
-DIST ncnn-20240102.tar.gz 12791570 BLAKE2B 8a84353343d32bea1ef163a83cdef783a8a6077282e94a012d21a17b2e0d8c78c576ebd1dc5c9ec89364942b4ce69ab44d544648fe2dbd5fda4797b3b65adfd8 SHA512 31bc3c2f461a00241fb8f69ca6ea8cc590af6618856b1b84a048bde924e4b474fd883ad5d54dbfbdd1e5b59015889e15ffc4fbafccb3e42e052a02071f2017b1
+DIST ncnn-20240410.tar.gz 12835689 BLAKE2B b4c2ffdf525719dca81d020695f03cd963c3a1f1a0ecc61b6e08c75da212d280210bf1be9b54343a771661fef747675e7f08d0dd9e3ea942adfda1e07d1f6868 SHA512 61865af26aecc6b0eccdfd46c5b3f6e4dd06d7409298051c91d141e64b8c15690f2f982c0aeb3a11d3a575061ab7606710cb0e710f4cb6539c7a14ff440aaaf7
diff --git a/dev-libs/ncnn/ncnn-20240102.ebuild b/dev-libs/ncnn/ncnn-20240410.ebuild
index d2e68b1ee053..3ca6898ed9c5 100644
--- a/dev-libs/ncnn/ncnn-20240102.ebuild
+++ b/dev-libs/ncnn/ncnn-20240410.ebuild
@@ -3,7 +3,7 @@
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,11 +38,20 @@ 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=no
-DNCNN_BUILD_TOOLS=$(usex tools)
+ -DNCNN_OPENMP=$(usex openmp)
-DNCNN_PYTHON=no # todo if something needs it
-DNCNN_SHARED_LIB=yes
-DNCNN_SIMPLEVK=no
@@ -51,5 +60,9 @@ src_configure() {
-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/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 2fdfcec485bd..35ed84283890 100644
--- a/dev-libs/newt/newt-0.52.24.ebuild
+++ b/dev-libs/newt/newt-0.52.24.ebuild
@@ -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 ada71a745ed8..98901544f3dc 100644
--- a/dev-libs/nmeap/nmeap-0.3-r2.ebuild
+++ b/dev-libs/nmeap/nmeap-0.3-r2.ebuild
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Extensible NMEA-0183 (GPS) data parser in standard C"
HOMEPAGE="http://nmeap.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-libs/nspr/nspr-4.35-r2.ebuild b/dev-libs/nspr/nspr-4.35-r2.ebuild
index ec3cb17b0172..01df06b9ec19 100644
--- a/dev-libs/nspr/nspr-4.35-r2.ebuild
+++ b/dev-libs/nspr/nspr-4.35-r2.ebuild
@@ -62,6 +62,14 @@ 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*')
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index abb1ec68a5ea..e0a6b6ec4cf7 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -1,8 +1,6 @@
+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-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.96.1.tar.gz 76715092 BLAKE2B 2a9ea65dd89cba82ea10a57887b10109369af81d4c2911c54cfd081a661498ad7f56ad419092539caaa16341045edcc50f5a3c74d87d66094dacbc91226a9d1c SHA512 fe8baefa767b711a108aafdb496a45d15d2296c3bdd0b1e4389c49197d1cf5365872ee41c23b6823285803887c74538d13347af87d64750551e9cbc87a9cb338
-DIST nss-3.97.tar.gz 76664827 BLAKE2B ede68cf0269edd8ffbe1e90682fb51c202d6298f8bfa5ebbd81e12785e29e6a6611ef3f0feceee73bea4d25ae12f251225649a73d249fdd90af179e07e39f3f6 SHA512 1ad6ac6ff626dc187f42b313c1088ef4b4ac0ee3e156d37824c36e778faa977e8f132302ac00d74aa8f9903e791a0fee6cecb5244d2601e0825cc125b6f33d6a
-DIST nss-3.98.tar.gz 76685475 BLAKE2B d382cc65e450b5b7d6b152952a8188822eab5fdbaa0faeefc3f98ef5aa70ed7534abcb7114aaa25c1e49f89dcda7cf75d85957d1a8e5ff964599362757138cb4 SHA512 4f335c5c284eff6424745cc15e32037715a915f6f61687ec36a8ffaef0e45d152602a1be275bbb2f14650c7d258d6488430cdcf512b18ba7cb73cd43ac625681
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.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.98.ebuild b/dev-libs/nss/nss-3.101.1.ebuild
index 0977ca4223fb..84a8b5aed29e 100644
--- a/dev-libs/nss/nss-3.98.ebuild
+++ b/dev-libs/nss/nss-3.101.1.ebuild
@@ -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
diff --git a/dev-libs/nss/nss-3.97.ebuild b/dev-libs/nss/nss-3.102.1.ebuild
index 0977ca4223fb..84a8b5aed29e 100644
--- a/dev-libs/nss/nss-3.97.ebuild
+++ b/dev-libs/nss/nss-3.102.1.ebuild
@@ -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
diff --git a/dev-libs/nss/nss-3.96.1.ebuild b/dev-libs/nss/nss-3.102.ebuild
index 68af01795644..84a8b5aed29e 100644
--- a/dev-libs/nss/nss-3.96.1.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
diff --git a/dev-libs/nss/nss-3.90.2.ebuild b/dev-libs/nss/nss-3.90.2-r1.ebuild
index 62ba736993a0..ea65793eebdb 100644
--- a/dev-libs/nss/nss-3.90.2.ebuild
+++ b/dev-libs/nss/nss-3.90.2-r1.ebuild
@@ -11,11 +11,11 @@ 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? ( mirror://gentoo/d1/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"
+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
@@ -38,6 +38,9 @@ PATCHES=(
"${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
"${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+ "${FILESDIR}"/nss-3.90.2-bmo-1885749-disable-ASM-C25519-on-non-X86_64.patch
+ "${FILESDIR}"/nss-3.90-remove-support-of-curve25519.patch
+ "${FILESDIR}/${PN}-3.90.2-backport-D180718.patch"
)
src_prepare() {
diff --git a/dev-libs/nss/nss-3.91.ebuild b/dev-libs/nss/nss-3.91.ebuild
deleted file mode 100644
index dc4d953a74ad..000000000000
--- a/dev-libs/nss/nss-3.91.ebuild
+++ /dev/null
@@ -1,423 +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"
-
-# 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 )"
-
-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}/${PN}-3.23-hppa-byte_order.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
-
- if use test ; then
- cp "${WORKDIR}"/${PN}-3.91-fixed-certs/* tests/libpkix/certs/ || die
- fi
-
- 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/nss/nss-3.92.ebuild b/dev-libs/nss/nss-3.92.ebuild
deleted file mode 100644
index 051c4682bcae..000000000000
--- a/dev-libs/nss/nss-3.92.ebuild
+++ /dev/null
@@ -1,413 +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"
-
- 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/nwjs/Manifest b/dev-libs/nwjs/Manifest
index 72047b79ee34..7ef3c1240507 100644
--- a/dev-libs/nwjs/Manifest
+++ b/dev-libs/nwjs/Manifest
@@ -1 +1 @@
-DIST nwjs-v0.82.0-linux-x64.tar.gz 156138978 BLAKE2B 762d3a2e26ed918d07af02563ac60f7a88eb1c270d4c2aad0097b7201c3ab8925e2fd768877e35f1a32593b61515e2095dd8a28e757b3a9ac7dadbeb5a8bc7aa SHA512 5c93dd97d1ddea20c9cce0da75edbb6a28e5688c6188fef2bc71176bb154078e872c7d7a479a4cb8ac7db784aa6145e24ad6d9a48bd40c3e2997ad0795d1e60a
+DIST nwjs-v0.88.0-linux-x64.tar.gz 157322957 BLAKE2B 97005011c1b673a24440dad82d055071889302a32e6673bcf05a7fdedbb08c83e3dbc86ad54876d9d6216494a3a9189499a5ab6db171e6c48067f79a38048d86 SHA512 03a0e9d7c857ba055152deb226a7bed1e6d968ab70e629cc1539dd9f34e9d67127241047e897f0509ca9c3eccd5aecd3142e384a86e7607fe20b220567564cb2
diff --git a/dev-libs/nwjs/nwjs-0.82.0.ebuild b/dev-libs/nwjs/nwjs-0.88.0.ebuild
index b0c541788c2e..0c5964775a09 100644
--- a/dev-libs/nwjs/nwjs-0.82.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="120"
+CHROMIUM_VERSION="125"
CHROMIUM_LANGS="
af
am
@@ -68,6 +68,7 @@ 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"
@@ -109,7 +110,6 @@ RDEPEND="
ffmpeg-chromium? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
"
-S="${WORKDIR}/${MY_P}-linux-x64"
DIR="/opt/${PN}"
QA_PREBUILT="${DIR#/}/*"
diff --git a/dev-libs/oneDNN/Manifest b/dev-libs/oneDNN/Manifest
index 674f0426e148..91135bddafbb 100644
--- a/dev-libs/oneDNN/Manifest
+++ b/dev-libs/oneDNN/Manifest
@@ -1,2 +1,4 @@
-DIST oneDNN-3.3.3.tar.gz 11577369 BLAKE2B 85df74235d70d30d69ebb1702dcb328466d38046b37f4078b1d6880c7cbe079d095e53e5c9e2f0f77daca057cae62e661ac1bf919e8f128cf9c76a847dc0425d SHA512 bb4a6b33b3191b9e517a321dd089b7debb528dd2d4be48f52626308fe0e1dbea3fa6149fd9debe6aa23f11224ac80e4d3ee1e251d2007faf9bcc262bb895de71
-DIST oneDNN-3.3.4.tar.gz 11577725 BLAKE2B abfcf14f8f7ade2341004d3afdb2879814b50edb76dcc677f0c97aa061e3f5c958a8810fb3eb90926c7dc5d007406daf7b73e9ce660f8c0094a49338e9255f8c SHA512 ff31f3f6b59529aad47d5a8154572aa8d7e8267c4b8150aa32eeac7baa378e1dbfdc1adc6d503ebf1bd132bc09446019abf80e5dd8b54bd6aebfb08b7fb6b066
+DIST oneDNN-3.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/oneDNN-3.3.3-r1.ebuild b/dev-libs/oneDNN/oneDNN-3.3.6.ebuild
index f67b93c73e22..f67b93c73e22 100644
--- a/dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild
+++ b/dev-libs/oneDNN/oneDNN-3.3.6.ebuild
diff --git a/dev-libs/oneDNN/oneDNN-3.3.4.ebuild b/dev-libs/oneDNN/oneDNN-3.4.3.ebuild
index f67b93c73e22..f63e938f040c 100644
--- a/dev-libs/oneDNN/oneDNN-3.3.4.ebuild
+++ b/dev-libs/oneDNN/oneDNN-3.4.3.ebuild
@@ -39,10 +39,6 @@ BDEPEND="
)
"
-PATCHES=(
- "${FILESDIR}/${PN}-3.3.3-include-cstdint.patch"
-)
-
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
@@ -122,7 +118,10 @@ 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
+ test_graph_unit_interface
+ test_graph_unit_dnnl_layout_propagator
+ test_graph_unit_dnnl_op_executable
+ test_graph_unit_utils
)
if use openmp ; then
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 7fbde491ca25..ed5300a0cf88 100644
--- a/dev-libs/opencl-clang/Manifest
+++ b/dev-libs/opencl-clang/Manifest
@@ -1,2 +1,4 @@
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-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-18.1.0.ebuild b/dev-libs/opencl-clang/opencl-clang-18.1.0.ebuild
new file mode 100644
index 000000000000..ad5c515de9aa
--- /dev/null
+++ b/dev-libs/opencl-clang/opencl-clang-18.1.0.ebuild
@@ -0,0 +1,41 @@
+# 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
+
+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}"
+ -DUSE_PREBUILT_LLVM="ON"
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
diff --git a/dev-libs/opencl-icd-loader/Manifest b/dev-libs/opencl-icd-loader/Manifest
index 049e67cc4f88..82aeff71685a 100644
--- a/dev-libs/opencl-icd-loader/Manifest
+++ b/dev-libs/opencl-icd-loader/Manifest
@@ -1,2 +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.12.14.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild
index 3531e3631cf7..abed85a0a6dc 100644
--- a/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild
+++ b/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.12.14.ebuild
@@ -1,4 +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-2023.04.17.ebuild b/dev-libs/opencl-icd-loader/opencl-icd-loader-2024.05.08.ebuild
index 4db8dbf965d6..f63c047141e9 100644
--- a/dev-libs/opencl-icd-loader/opencl-icd-loader-2023.04.17.ebuild
+++ b/dev-libs/opencl-icd-loader/opencl-icd-loader-2024.05.08.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-multilib multibuild prefix
+inherit cmake-multilib prefix
MY_PN="OpenCL-ICD-Loader"
MY_P="${MY_PN}-${PV}"
@@ -12,9 +12,11 @@ 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 ppc64 ~riscv x86"
+KEYWORDS="~amd64 ~loong ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -23,8 +25,6 @@ RDEPEND="!dev-libs/ocl-icd"
DEPEND="${RDEPEND}
>=dev-util/opencl-headers-${PV}"
-S="${WORKDIR}/${MY_P}"
-
src_prepare() {
hprefixify loader/icd_platform.h
cmake_src_prepare
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 c26193b88277..c9552d7c8680 100644
--- a/dev-libs/openct/openct-0.6.20-r5.ebuild
+++ b/dev-libs/openct/openct-0.6.20-r5.ebuild
@@ -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="
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 a1011af44aa0..db4db851aa64 100644
--- a/dev-libs/openobex/openobex-1.7.2-r3.ebuild
+++ b/dev-libs/openobex/openobex-1.7.2-r3.ebuild
@@ -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"
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 9a0b274dd7eb..d29912a059a4 100644
--- a/dev-libs/opensc/Manifest
+++ b/dev-libs/opensc/Manifest
@@ -1,2 +1 @@
-DIST opensc-0.23.0.tar.gz 2366469 BLAKE2B c0f74379a70347a58be27684ae2cf833e6f35328b566af2c6daa8276174864406fa176acf7ba84931970fe07e3dd8d6eccf7884f079cb0110c4d6ff9a76792dc SHA512 cd102cd64e719c59153960a4921b7525055045f16e6f6ffa8c9def6ce999a9c5098267b41f8753b41107f626bea20c34561002f5d38eddb4ce6b371913a17a1b
-DIST opensc-0.24.0.tar.gz 2440952 BLAKE2B afacdd151d169dd1840ecd6df1cec99a9805598d7b7af81e17b648f146cd1b3ad1d3dcae19ed94cf8ce0dbbd5b4285af9653af5ef5739d53908ce30a49544adb SHA512 0fd2ea858874ae0b85c8fe8c4b920988693a47ca95b26449a1e95f86e17b76000f236c1f75d63ee133306e01a965155da5e14c1b8a59053b85026ecb58fb97bb
+DIST opensc-0.25.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.24.0.ebuild b/dev-libs/opensc/opensc-0.24.0.ebuild
deleted file mode 100644
index 4168ed5b24be..000000000000
--- a/dev-libs/opensc/opensc-0.24.0.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools bash-completion-r1
-
-DESCRIPTION="Libraries and applications to access smartcards"
-HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/OpenSC/OpenSC.git"
-else
- SRC_URI="https://github.com/OpenSC/OpenSC/releases/download/${PV}/${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-IUSE="ctapi doc openct notify pace +pcsc-lite readline secure-messaging ssl test zlib"
-RESTRICT="!test? ( test )"
-
-RDEPEND="zlib? ( sys-libs/zlib )
- readline? ( sys-libs/readline:0= )
- ssl? ( dev-libs/openssl:0= )
- openct? ( >=dev-libs/openct-0.5.0 )
- pace? ( dev-libs/openpace:= )
- pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
- notify? ( dev-libs/glib:2 )"
-DEPEND="${RDEPEND}
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- test? ( dev-util/cmocka )"
-BDEPEND="virtual/pkgconfig"
-
-REQUIRED_USE="
- pcsc-lite? ( !openct !ctapi )
- openct? ( !pcsc-lite !ctapi )
- ctapi? ( !pcsc-lite !openct )
- || ( pcsc-lite openct ctapi )"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- # don't want to run upstream's clang-tidy checks
- export ac_cv_path_CLANGTIDY=""
-
- econf \
- --with-completiondir="$(get_bashcompdir)" \
- --disable-strict \
- --enable-man \
- $(use_enable ctapi) \
- $(use_enable doc) \
- $(use_enable notify) \
- $(use_enable openct) \
- $(use_enable pace openpace) \
- $(use_enable pcsc-lite pcsc) \
- $(use_enable readline) \
- $(use_enable secure-messaging sm) \
- $(use_enable ssl openssl) \
- $(use_enable test cmocka) \
- $(use_enable zlib)
-}
-
-src_install() {
- default
-
- insinto /etc/pkcs11/modules/
- doins "${FILESDIR}"/opensc.module
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/opensc/opensc-0.23.0-r3.ebuild b/dev-libs/opensc/opensc-0.25.1.ebuild
index 9808951f0b2b..98f3d13a9b10 100644
--- a/dev-libs/opensc/opensc-0.23.0-r3.ebuild
+++ b/dev-libs/opensc/opensc-0.25.1.ebuild
@@ -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 ~ia64 ~loong ~mips ~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,13 +43,11 @@ REQUIRED_USE="
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() {
+ # 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
}
@@ -72,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/openssl-compat-1.0.2u-r2.ebuild b/dev-libs/openssl-compat/openssl-compat-1.0.2u-r2.ebuild
index e6142b6ffb6e..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
@@ -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 )
diff --git a/dev-libs/openssl/Manifest b/dev-libs/openssl/Manifest
index 8738e9282251..143561033212 100644
--- a/dev-libs/openssl/Manifest
+++ b/dev-libs/openssl/Manifest
@@ -3,13 +3,19 @@ DIST openssl-1.0.2t-bindist-1.0.tar.xz 13872 BLAKE2B b2aade96a6e0ca6209a39e205b1
DIST openssl-1.0.2u.tar.gz 5355412 BLAKE2B b2ff2a10e5851af5aca4093422a9a072c794e87b997263826c1c35910c040f695fac63decac5856cb49399ed03d410f97701d9fd4e1ebfbcacd8f3a74ce8bf57 SHA512 c455bb309e20e2c2d47fdc5619c734d107d5c8c38c1409903ce979acc120b0d5fa0312917c0aa0d630e402d092a703d4249643f36078e8528a3cafc9dac6ab32
DIST openssl-1.1.1w.tar.gz 9893384 BLAKE2B 2fdba6ca0188928ab2f74e606136afca66cfa0467170fa6298ef160b64ac6fdcad1e81e5dd14013ce0e9921d0f7417edec531cd0beaf1196fec704c2c6d48395 SHA512 b4c625fe56a4e690b57b6a011a225ad0cb3af54bd8fb67af77b5eceac55cc7191291d96a660c5b568a08a2fbf62b4612818e7cca1bb95b2b6b4fc649b0552b6d
DIST openssl-1.1.1w.tar.gz.asc 833 BLAKE2B d990be69ed913509d52b78e7473668429d4485adb29ef03e4612dd0cadbac4f04c7289d8e5baf6f397bcedeaac9f802f18fc719964d882ae0514ed1ca16ae277 SHA512 0f3d7aa48b1cabf8dd43e8108aeed10a4dffb4f5a244d4da9c86ea358b0c8b90c46da561d21e01c567c2f5035d824ed82ec104aad1776b7f33a1be85990e98ef
-DIST openssl-3.0.11.tar.gz 15198318 BLAKE2B e522573aa72c8f6ffef82f20de36178fc6f97a8fee8443df4bf1bd9a6448b315742e9cb698717c1b7d9a91d0768d7ce08d55956ddc415b9dc6cb33fe3a98131b SHA512 393e7262cce0e7980d1cbba861291c8791f6c2a290e9867895c4310ab6e16b449067d8b780ae6081dc8d42529a4f32d545c66e8b1e69d301281d92f1882c85b7
-DIST openssl-3.0.11.tar.gz.asc 833 BLAKE2B e6e2636d5bb5fffb86833e64437fb440bbfd1c4e2bfbfdd72280cf1ce388b70d30eeea56ef6f3bb673e7dcd12020d993ef95f96bf099ded38e8cde4b549b38fa SHA512 3c1fe94fc46861870d99d1edcfe3c151272f7864dde36b66e87a0c79d2289e9ed5cfc48bfa65ba0e88eadcb3cc8307d702e01155f48af8ffc2d4f8fbbf3aa03c
-DIST openssl-3.0.12.tar.gz 15204575 BLAKE2B 1f00e33a5ed64a51cf28f0dbe7d53a9197c1edae7538dea9573394ee4dc03a885483d74b0b47a78b9067e87b4f420b9d7103f351bfec91710c168051cb7148df SHA512 63e003653dd1126c66e278969a626cdf0801b97da8b7076824d661e4a77e1572c3171cf7f006c972b95bcfa284889ee0362d8a46a851f7d8e743e2a1fe593b24
-DIST openssl-3.0.12.tar.gz.asc 833 BLAKE2B 5c7914e0449a1f2fad433544fa637263b237c2637b86960f904a7840ef6bd627728dfa45373e03a6ce7a0a4570d03e1dcd0188059bd5dbcc83d49d10be64dd39 SHA512 072d1572e6cc5240fed69c01b1f7f74958ceba33cec3b0a7f0db5929dc884381320fb737ec6b38f95ef81c855e2d382d7ecd19431a328b08efad70288ec4a964
DIST openssl-3.0.13.tar.gz 15294843 BLAKE2B 869aa5f70a8c1d0cac6027e9261530df70ab5a8b448c785f5f8ff3f206e742c5364424132d0e109a6449af9b4082c4c179c7103dccb16a4539f776ca834c8ccc SHA512 22f4096781f0b075f5bf81bd39a0f97e111760dfa73b6f858f6bb54968a7847944d74969ae10f9a51cc21a2f4af20d9a4c463649dc824f5e439e196d6764c4f9
DIST openssl-3.0.13.tar.gz.asc 833 BLAKE2B 519515b6faa505d68ff9acc30db9515fac494145086fa5ad9561c39385a6fabb39ad9de10fedd49c8fc716ec59ea1b13ec5e6b466e549ea9f29b8d0bb74ba7b3 SHA512 c52d97c93d16f3ca2a7026fb25890482b6d86c37b5ab686c56b0e08522743ec4ea3f84afa4deb64b0df0d9a16b557430c4d4139ab42ffcf97d769b61d1e6197c
+DIST openssl-3.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.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.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-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 bbf8686ec6e9..a00bd02d7b09 100644
--- a/dev-libs/openssl/metadata.xml
+++ b/dev-libs/openssl/metadata.xml
@@ -9,6 +9,7 @@
<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 a6de03448e18..c2abe15ce890 100644
--- a/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
+++ b/dev-libs/openssl/openssl-1.0.2u-r1.ebuild
@@ -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"
diff --git a/dev-libs/openssl/openssl-3.0.13.ebuild b/dev-libs/openssl/openssl-3.0.13-r2.ebuild
index a709a5ecde4a..7419ab042851 100644
--- a/dev-libs/openssl/openssl-3.0.13.ebuild
+++ b/dev-libs/openssl/openssl-3.0.13-r2.ebuild
@@ -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
diff --git a/dev-libs/openssl/openssl-3.0.12.ebuild b/dev-libs/openssl/openssl-3.0.14.ebuild
index 9437bff8e937..647c4ee7dbf9 100644
--- a/dev-libs/openssl/openssl-3.0.12.ebuild
+++ b/dev-libs/openssl/openssl-3.0.14.ebuild
@@ -19,7 +19,7 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ 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}
@@ -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.1.5-r1.ebuild b/dev-libs/openssl/openssl-3.1.5-r2.ebuild
index 23a3463ec688..1c3b048b75a0 100644
--- a/dev-libs/openssl/openssl-3.1.5-r1.ebuild
+++ b/dev-libs/openssl/openssl-3.1.5-r2.ebuild
@@ -55,6 +55,7 @@ MULTILIB_WRAPPED_HEADERS=(
PATCHES=(
"${FILESDIR}"/${P}-p11-segfault.patch
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
)
pkg_setup() {
diff --git a/dev-libs/openssl/openssl-3.0.11.ebuild b/dev-libs/openssl/openssl-3.1.6.ebuild
index 9437bff8e937..a95bf0b407ff 100644
--- a/dev-libs/openssl/openssl-3.0.11.ebuild
+++ b/dev-libs/openssl/openssl-3.1.6.ebuild
@@ -17,19 +17,22 @@ if [[ ${PV} == 9999 ]] ; then
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"
+ 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
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
"
BDEPEND="
@@ -77,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.2.1-r2.ebuild b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
new file mode 100644
index 000000000000..fb480821f325
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.2.1-r2.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssl.org.asc
+inherit edo flag-o-matic linux-info toolchain-funcs
+inherit multilib multilib-minimal multiprocessing preserve-libs verify-sig
+
+DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
+HOMEPAGE="https://www.openssl.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ mirror://openssl/source/${MY_P}.tar.gz
+ verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+fi
+
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)" # .so version of libssl/libcrypto
+IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ !<net-misc/openssh-9.2_p1-r3
+ tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ >=dev-lang/perl-5
+ sctp? ( >=net-misc/lksctp-tools-1.0.12 )
+ test? (
+ sys-apps/diffutils
+ app-alternatives/bc
+ sys-process/procps
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-openssl-20230801 )"
+
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-p11-segfault.patch
+ # bug 923956 (drop on next version bump)
+ "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-CVE-2024-2511.patch
+ "${FILESDIR}"/${P}-s390x.patch
+)
+
+pkg_setup() {
+ if use ktls ; then
+ if kernel_is -lt 4 18 ; then
+ ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
+ else
+ CONFIG_CHECK="~TLS ~TLS_DEVICE"
+ ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
+ ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
+ use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
+
+ linux-info_pkg_setup
+ fi
+ fi
+
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # must check in pkg_setup; sysctl doesn't work with userpriv!
+ if use test && use sctp ; then
+ # test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
+ # if sctp.auth_enable is not enabled.
+ local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
+ if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
+ die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
+ fi
+ fi
+}
+
+src_unpack() {
+ # Can delete this once test fix patch is dropped
+ if use verify-sig ; then
+ # Needed for downloaded patch (which is unsigned, which is fine)
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc}
+ fi
+
+ default
+}
+
+src_prepare() {
+ # Make sure we only ever touch Makefile.org and avoid patching a file
+ # that gets blown away anyways by the Configure script in src_configure
+ rm -f Makefile
+
+ if ! use vanilla ; then
+ PATCHES+=(
+ # Add patches which are Gentoo-specific customisations here
+ )
+ fi
+
+ default
+
+ if use test && use sctp && has network-sandbox ${FEATURES} ; then
+ einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
+ rm test/recipes/80-test_ssl_new.t || die
+ fi
+
+ # Test fails depending on kernel configuration, bug #699134
+ rm test/recipes/30-test_afalg.t || die
+}
+
+src_configure() {
+ # Keep this in sync with app-misc/c_rehash
+ SSL_CNF_DIR="/etc/ssl"
+
+ # Quiet out unknown driver argument warnings since openssl
+ # doesn't have well-split CFLAGS and we're making it even worse
+ # and 'make depend' uses -Werror for added fun (bug #417795 again)
+ tc-is-clang && append-flags -Qunused-arguments
+
+ # We really, really need to build OpenSSL w/ strict aliasing disabled.
+ # It's filled with violations and it *will* result in miscompiled
+ # code. This has been in the ebuild for > 10 years but even in 2022,
+ # it's still relevant:
+ # - https://github.com/llvm/llvm-project/issues/55255
+ # - https://github.com/openssl/openssl/issues/12247
+ # - https://github.com/openssl/openssl/issues/18225
+ # - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
+ # Don't remove the no strict aliasing bits below!
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ # The OpenSSL developers don't test with LTO right now, it leads to various
+ # warnings/errors (which may or may not be false positives), it's considered
+ # unsupported, and it's not tested in CI: https://github.com/openssl/openssl/issues/18663.
+ filter-lto
+
+ append-flags $(test-flags-CC -Wa,--noexecstack)
+
+ # bug #895308 -- check inserts GNU ld-compatible arguments
+ [[ ${CHOST} == *-darwin* ]] || append-atomic-flags
+ # Configure doesn't respect LIBS
+ export LDLIBS="${LIBS}"
+
+ # bug #197996
+ unset APPS
+ # bug #312551
+ unset SCRIPTS
+ # bug #311473
+ unset CROSS_COMPILE
+
+ tc-export AR CC CXX RANLIB RC
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
+ use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
+
+ local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
+
+ # See if our toolchain supports __uint128_t. If so, it's 64bit
+ # friendly and can use the nicely optimized code paths, bug #460790.
+ #local ec_nistp_64_gcc_128
+ #
+ # Disable it for now though (bug #469976)
+ # Do NOT re-enable without substantial discussion first!
+ #
+ #echo "__uint128_t i;" > "${T}"/128.c
+ #if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
+ # ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
+ #fi
+
+ local sslout=$(bash "${FILESDIR}/gentoo.config-1.0.4")
+ einfo "Using configuration: ${sslout:-(openssl knows best)}"
+
+ # https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
+ local myeconfargs=(
+ ${sslout}
+
+ $(use cpu_flags_x86_sse2 || echo "no-sse2")
+ enable-camellia
+ enable-ec
+ enable-ec2m
+ enable-sm2
+ enable-srp
+ $(use elibc_musl && echo "no-async")
+ enable-idea
+ enable-mdc2
+ enable-rc5
+ $(use fips && echo "enable-fips")
+ $(use_ssl asm)
+ $(use_ssl ktls)
+ $(use_ssl rfc3779)
+ $(use_ssl sctp)
+ $(use test || echo "no-tests")
+ $(use_ssl tls-compression zlib)
+ $(use_ssl weak-ssl-ciphers)
+
+ --prefix="${EPREFIX}"/usr
+ --openssldir="${EPREFIX}"${SSL_CNF_DIR}
+ --libdir=$(get_libdir)
+
+ shared
+ threads
+ )
+
+ edo perl "${S}/Configure" "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake build_sw
+
+ if multilib_is_native_abi; then
+ emake build_docs
+ fi
+}
+
+multilib_src_test() {
+ # See https://github.com/openssl/openssl/blob/master/test/README.md for options.
+ #
+ # VFP = show subtests verbosely and show failed tests verbosely
+ # Normal V=1 would show everything verbosely but this slows things down.
+ #
+ # -j1 here for https://github.com/openssl/openssl/issues/21999, but it
+ # shouldn't matter as tests were already built earlier, and HARNESS_JOBS
+ # controls running the tests.
+ emake -Onone -j1 HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test
+}
+
+multilib_src_install() {
+ # Only -j1 is supported for the install targets:
+ # https://github.com/openssl/openssl/issues/21999#issuecomment-1771150305
+ emake DESTDIR="${D}" -j1 install_sw
+ if use fips; then
+ emake DESTDIR="${D}" -j1 install_fips
+ # Regen this in pkg_preinst, bug 900625
+ rm "${ED}${SSL_CNF_DIR}"/fipsmodule.cnf || die
+ fi
+
+ if multilib_is_native_abi; then
+ emake DESTDIR="${D}" -j1 install_ssldirs
+ emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} -j1 install_docs
+ fi
+
+ # This is crappy in that the static archives are still built even
+ # when USE=static-libs. But this is due to a failing in the openssl
+ # build system: the static archives are built as PIC all the time.
+ # Only way around this would be to manually configure+compile openssl
+ # twice; once with shared lib support enabled and once without.
+ if ! use static-libs ; then
+ rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ # openssl installs perl version of c_rehash by default, but
+ # we provide a shell version via app-misc/c_rehash
+ rm "${ED}"/usr/bin/c_rehash || die
+
+ dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
+
+ # Create the certs directory
+ keepdir ${SSL_CNF_DIR}/certs
+
+ # bug #254521
+ dodir /etc/sandbox.d
+ echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
+
+ diropts -m0700
+ keepdir ${SSL_CNF_DIR}/private
+}
+
+pkg_preinst() {
+ if use fips; then
+ # Regen fipsmodule.cnf, bug 900625
+ ebegin "Running openssl fipsinstall"
+ "${ED}/usr/bin/openssl" fipsinstall -quiet \
+ -out "${ED}${SSL_CNF_DIR}/fipsmodule.cnf" \
+ -module "${ED}/usr/$(get_libdir)/ossl-modules/fips.so"
+ eend $?
+ fi
+
+ preserve_old_lib /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
+
+pkg_postinst() {
+ ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
+ openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
+ eend $?
+
+ preserve_old_lib_notify /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1) \
+ /usr/$(get_libdir)/lib{crypto,ssl}$(get_libname 1.1)
+}
diff --git a/dev-libs/openssl/openssl-3.2.1-r1.ebuild b/dev-libs/openssl/openssl-3.2.2.ebuild
index 24ae65f3321f..e00a57886dc5 100644
--- a/dev-libs/openssl/openssl-3.2.1-r1.ebuild
+++ b/dev-libs/openssl/openssl-3.2.2.ebuild
@@ -56,10 +56,6 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/openssl/configuration.h
)
-PATCHES=(
- "${FILESDIR}"/${P}-p11-segfault.patch
-)
-
pkg_setup() {
if use ktls ; then
if kernel_is -lt 4 18 ; then
@@ -146,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}"
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/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
index a81ecf3c13bf..b9e9db7b2516 100644
--- a/dev-libs/papi/papi-6.0.0.1-r2.ebuild
+++ b/dev-libs/papi/papi-6.0.0.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
@@ -6,8 +6,8 @@ EAPI=8
inherit autotools fortran-2 toolchain-funcs
DESCRIPTION="Performance Application Programming Interface"
-HOMEPAGE="http://icl.cs.utk.edu/papi/"
-SRC_URI="http://icl.cs.utk.edu/projects/${PN}/downloads/${P}.tar.gz"
+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/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/plasma-wayland-protocols/Manifest b/dev-libs/plasma-wayland-protocols/Manifest
index d97aa1805490..41c71f0aadf5 100644
--- a/dev-libs/plasma-wayland-protocols/Manifest
+++ b/dev-libs/plasma-wayland-protocols/Manifest
@@ -1 +1 @@
-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/plasma-wayland-protocols-1.12.0-r1.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.13.0.ebuild
index ad0d538fed5b..ad0d538fed5b 100644
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.12.0-r1.ebuild
+++ b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.13.0.ebuild
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/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.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/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 8695f23be04a..af1849aaafc2 100644
--- a/dev-libs/protobuf/Manifest
+++ b/dev-libs/protobuf/Manifest
@@ -2,3 +2,8 @@ DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f8
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-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.ebuild b/dev-libs/protobuf/protobuf-22.5-r1.ebuild
index dc99040c5f31..ff2783d5e7ce 100644
--- a/dev-libs/protobuf/protobuf-22.5.ebuild
+++ b/dev-libs/protobuf/protobuf-22.5-r1.ebuild
@@ -12,7 +12,7 @@ if [[ "${PV}" == *9999 ]]; then
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"
+ 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"
@@ -25,11 +25,13 @@ 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}] )
@@ -81,6 +83,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-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/ptexenc-1.4.3_p20230311.ebuild b/dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild
index aa7ac947ec5b..d052fd017127 100644
--- a/dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild
+++ b/dev-libs/ptexenc/ptexenc-1.4.3_p20230311.ebuild
@@ -12,7 +12,7 @@ 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"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~ppc-macos ~x64-macos"
IUSE="iconv"
DEPEND="
diff --git a/dev-libs/qcoro/qcoro-0.10.0-r1.ebuild b/dev-libs/qcoro/qcoro-0.10.0-r1.ebuild
index 6b49855d6997..2d6c10b669a2 100644
--- a/dev-libs/qcoro/qcoro-0.10.0-r1.ebuild
+++ b/dev-libs/qcoro/qcoro-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
@@ -10,7 +10,7 @@ if [[ ${PV} == *9999* ]]; then
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"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="C++ Coroutine Library for Qt"
diff --git a/dev-libs/qcoro5/Manifest b/dev-libs/qcoro5/Manifest
index be781223f1cb..c157c9559060 100644
--- a/dev-libs/qcoro5/Manifest
+++ b/dev-libs/qcoro5/Manifest
@@ -1,2 +1 @@
DIST qcoro5-0.10.0.tar.gz 150114 BLAKE2B 8a552dc3a0e4a5963c7c9fd0638f336e6ad99491a54df3bb8ddaa6b0ee1fe8e4c6b7ffc26c25cef543e796c54bc4c625a0915755f4b538f489bc61fcd8310a6a SHA512 de2e55256d3c9d35fec3ef6dc78128801b70a5e5b8ff0f3a6f235dac17f349ea44207a7c9f35375215dbeea04cb67c3412d505d0a8a95f2b926775f804a02649
-DIST qcoro5-0.9.0.tar.gz 143270 BLAKE2B 0fbd4e606edb3142b440486412889ebbefd3b5ac47eeba12747ea5314acf5d4088463fe0a03c44d787510c1355c9f5f9b060d8f2fd07e668fb2f397c2f139099 SHA512 f708e1a82861c39434d6934172246c3280864e933b333b56c0471f1a629f9da65554d1508af4291ac2257ad8df2040655394ae5525d728710de5bd83cef8fbee
diff --git a/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild b/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild
index 4e3542729cea..e038bbf9159b 100644
--- a/dev-libs/qcoro5/qcoro5-0.10.0-r1.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
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999* ]]; then
else
SRC_URI="https://github.com/danvratil/${PN/5/}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${P/5/}"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
fi
DESCRIPTION="C++ Coroutine Library for Qt5"
diff --git a/dev-libs/qcoro5/qcoro5-0.9.0.ebuild b/dev-libs/qcoro5/qcoro5-0.9.0.ebuild
deleted file mode 100644
index a3e42286cb49..000000000000
--- a/dev-libs/qcoro5/qcoro5-0.9.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/danvratil/${PN/5/}"
-else
- SRC_URI="https://github.com/danvratil/${PN/5/}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${P/5/}"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="C++ Coroutine Library for Qt5"
-HOMEPAGE="https://qcoro.dvratil.cz/ https://github.com/danvratil/qcoro"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="dbus examples +network qml test testlib websockets"
-
-REQUIRED_USE="examples? ( network ) test? ( testlib )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-qt/qtcore:5
- dbus? ( dev-qt/qtdbus:5 )
- network? ( dev-qt/qtnetwork:5 )
- qml? ( dev-qt/qtdeclarative:5= )
- testlib? ( dev-qt/qttest:5 )
- websockets? ( dev-qt/qtwebsockets:5 )
-"
-DEPEND="${RDEPEND}
- examples? (
- dev-qt/qtconcurrent:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- )
- test? (
- dev-qt/qtconcurrent:5
- dev-qt/qttest:5
- )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_QT_VERSION=5
- -DQCORO_BUILD_EXAMPLES=$(usex examples)
- -DQCORO_WITH_QTDBUS=$(usex dbus)
- -DQCORO_WITH_QTNETWORK=$(usex network)
- -DQCORO_WITH_QML=$(usex qml)
- -DQCORO_WITH_QTQUICK=$(usex qml)
- -DQCORO_WITH_QTTEST=$(usex testlib)
- -DBUILD_TESTING=$(usex test)
- -DQCORO_WITH_QTWEBSOCKETS=$(usex websockets)
- )
- cmake_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc -r examples/*
- fi
- cmake_src_install
-}
diff --git a/dev-libs/qcustomplot/Manifest b/dev-libs/qcustomplot/Manifest
index b597eb03cf3a..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/qr-code-generator/qr-code-generator-1.8.0.ebuild b/dev-libs/qr-code-generator/qr-code-generator-1.8.0.ebuild
index 14b0abdb85b2..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
@@ -18,7 +18,7 @@ S="${WORKDIR}/QR-Code-generator-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
+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 00074ae3c6fa..2ce18944064b 100644
--- a/dev-libs/qtkeychain/Manifest
+++ b/dev-libs/qtkeychain/Manifest
@@ -1,2 +1 @@
-DIST qtkeychain-0.14.1.tar.gz 50743 BLAKE2B 76300eeefc98a40da762a65cdf0a5a406b55cb92e290bb91e643353c3d2efdee1387168805326def60a42196d5cfde4f0d6c36cb2e0c946fc331361891af08f7 SHA512 bf84b19090e667a2946297e63d9813574193d80e4eecbde2fdfca317a66da3f029b3abef326f4ffb32de032a48004f9cf1bc818468af612723d762652dc25eb6
-DIST qtkeychain-0.14.2.tar.gz 50915 BLAKE2B eed35eec296b62fec90e83e98c3ab817aa05f7cefd74c3790ce2f7c38c051d5b95b3664e688bef0cfe7b06583e844782f60454bb67b48f6507fc33c780c62bf0 SHA512 d681f60a6954a8fcb37039cfb1a6d69f5aee19f30313d65072c40cee1880c302b9f2ad3d994ae7a775b17479f443231774804ca438ef6b5e7ec25533d5d9f3c2
+DIST qtkeychain-0.14.3.tar.gz 50948 BLAKE2B 4f2189b2d6a1faf7b5041baeb1c2f00498d0297a8028799ab646aa92189d569114c76b45528d15a72d7cee8dc6252797bebd3e2849034e703709a3b41f74a805 SHA512 d1d87553db94bf54da1373016a847476e6cd608db6d427ed72532658e2272501daf45d7c9976efdde2f26ab3810ba9dbfec2518d46dee5a76ecaa369bfee2e4a
diff --git a/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild b/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild
deleted file mode 100644
index f6bdc28e5b0d..000000000000
--- a/dev-libs/qtkeychain/qtkeychain-0.14.2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake multibuild
-
-HOMEPAGE="https://github.com/frankosterfeld/qtkeychain"
-DESCRIPTION="Qt API for storing passwords securely"
-
-if [[ ${PV} != *9999* ]]; then
- SRC_URI="https://github.com/frankosterfeld/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
-else
- inherit git-r3
- EGIT_REPO_URI="https://github.com/frankosterfeld/${PN}.git"
-fi
-
-LICENSE="BSD-2"
-SLOT="0/1"
-IUSE="keyring +qt5 qt6"
-REQUIRED_USE="|| ( qt5 qt6 )"
-
-DEPEND="
- keyring? (
- app-crypt/libsecret
- dev-libs/glib:2
- )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- )
- qt6? ( dev-qt/qtbase:6[dbus] )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- qt5? ( dev-qt/linguist-tools:5 )
- qt6? ( dev-qt/qttools:6[linguist] )
-"
-
-DOCS=( ChangeLog ReadMe.md )
-
-pkg_setup() {
- MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
-}
-
-src_configure() {
- my_src_configure() {
- local mycmakeargs=(
- -DECM_MKSPECS_INSTALL_DIR="${EPREFIX}"/usr/$(get_libdir)/${MULTIBUILD_VARIANT}/mkspecs
- -DBUILD_TEST_APPLICATION=OFF
- -DBUILD_TRANSLATIONS=ON
- -DLIBSECRET_SUPPORT=$(usex keyring)
- )
-
- if [[ ${MULTIBUILD_VARIANT} == qt6 ]]; then
- mycmakeargs+=( -DBUILD_WITH_QT6=ON )
- else
- mycmakeargs+=( -DBUILD_WITH_QT6=OFF )
- fi
-
- cmake_src_configure
- }
-
- multibuild_foreach_variant my_src_configure
-}
-
-src_compile() {
- multibuild_foreach_variant cmake_src_compile
-}
-
-src_install() {
- multibuild_foreach_variant cmake_src_install
-}
diff --git a/dev-libs/qtkeychain/qtkeychain-0.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/qxlsx/Manifest b/dev-libs/qxlsx/Manifest
index 5e17cb5068c1..a90f1bed32f7 100644
--- a/dev-libs/qxlsx/Manifest
+++ b/dev-libs/qxlsx/Manifest
@@ -1,2 +1,2 @@
-DIST qxlsx-1.4.6.tar.gz 4705107 BLAKE2B 9329412c949d2eaaab9a1d536ca2680da0649ef8b7a07bda6f20dd3c3214db8abac458fde25f41afc8b8b22442b6b83820cefa6031ef27de857d49ebfbed774b SHA512 14651096d35889354ffc97ca80146fb6704901db210b90d5de4157ee67adddb2021a27969777369162b0f5424b31bc50596ecd86e2f6f138c329a7cf4f2161a8
DIST qxlsx-1.4.7.tar.gz 4705261 BLAKE2B 8be35b86ef7f025d5cc0875275406a65e1624592d7c8fa97d743223ab143011de9e71dc40eb62d83edc28c16c5d9e9c8092ea082cd8898db277e8a94e1ea10e6 SHA512 5ca8841413d5bddf1cec2c6eb4434ae18c533231adf32a8157790ba81c0b305c7f02a70475492a45ce11d1d6cf6e483bd30cafe8629aa564a46cb749e1b43f43
+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.7.ebuild b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
index 6e17720ce4c2..328515ace716 100644
--- a/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
+++ b/dev-libs/qxlsx/qxlsx-1.4.7.ebuild
@@ -13,9 +13,9 @@ SRC_URI="https://github.com/QtExcel/QXlsx/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
# soversion
SLOT="0/0.1.4.4"
-KEYWORDS="amd64 ~ppc ppc64 ~riscv x86"
+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 dc76a4688a6c..c390ca568bfe 100644
--- a/dev-libs/raft/Manifest
+++ b/dev-libs/raft/Manifest
@@ -1,2 +1 @@
-DIST raft-0.19.1.tar.gz 354736 BLAKE2B cfdb9a1948311debe99b56e0f9c1f19fb858248ab1138648e26a21d965cc488aea504711415ff569d2e80a15414a1f15ca9b34ff9b3de62b03580755cefe30b3 SHA512 4990dca1f61dcda82acaf043a5b81dd9a3b92a0f3e0be9b2c339d764be338220f2fab31ed8bae535153b1d81c86364d447774b52da2c8b90c5daa7b8718d7ae2
-DIST raft-0.22.0.tar.gz 365710 BLAKE2B b5084867ebd7e80f59edebcf5feb83cc7ffbf798deecbf96d3b31c0de7213c8fc1e3e5f558602f5864fb04f8de0326ee2f70d2f6164a08dd444a8db95593c328 SHA512 0ebda5764c866443ee2749c0c8fe798f111ed500b9d59bc9536d01e01ee82a8ed72125fb02e6a0c3bf51e4004520d4c5fdb583220599cb22bb9a8e6dd9d1a54b
+DIST raft-0.22.1.tar.gz 362393 BLAKE2B b6fc8f8e9dc6801ac8ad1b9d94f984b249b83def00a08776292500b079bb777330e8a83cf40153bfb1baae921105788d758c9f61a021d5519d5c27048b6be8b9 SHA512 fb4ea98321336daaa605e1c3cd55f672860fc8894d479fdff4e1862a4eb5622dbaf7a943e030dd2bcdaa14cc639e7e11ac43d71f00bdbd27f12c6b67653b70e4
diff --git a/dev-libs/raft/raft-0.22.0.ebuild b/dev-libs/raft/raft-0.22.0.ebuild
deleted file mode 100644
index 4b51fe639271..000000000000
--- a/dev-libs/raft/raft-0.22.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="C implementation of the Raft consensus protocol"
-HOMEPAGE="https://github.com/cowsql/raft"
-SRC_URI="https://github.com/cowsql/raft/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-3-with-linking-exception"
-
-# Upstream change from canonical to cowsql resetted SONAME, 3 -> 0. bgo#915960
-SLOT="0/0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="lz4 test zfs"
-RESTRICT="!test? ( test )"
-
-DEPEND="dev-libs/libuv:=
- lz4? ( app-arch/lz4:= )"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/raft-0.10.0-toggle-zfs.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- # --disable-hardening: most of these are covered on non-hardened Gentoo already.
- local myeconfargs=(
- --enable-uv
- --enable-v0
-
- --disable-backtrace
- --disable-benchmark
- --disable-debug
- --disable-example
- --disable-hardening
- --disable-sanitize
- --disable-static
-
- $(use_enable test fixture)
-
- $(use_with lz4)
- $(use_with zfs)
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/raft/raft-0.19.1.ebuild b/dev-libs/raft/raft-0.22.1.ebuild
index 5a8cef29a47d..39daa1268bef 100644
--- a/dev-libs/raft/raft-0.19.1.ebuild
+++ b/dev-libs/raft/raft-0.22.1.ebuild
@@ -35,6 +35,7 @@ src_configure() {
# --disable-hardening: most of these are covered on non-hardened Gentoo already.
local myeconfargs=(
--enable-uv
+ --enable-v0
--disable-backtrace
--disable-benchmark
diff --git a/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
index 4e119e95d79d..1c16b109ab96 100644
--- a/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
+++ b/dev-libs/rapidjson/rapidjson-1.1.0-r4.ebuild
@@ -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
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 92092f7946cf..000000000000
--- a/dev-libs/rccl/rccl-5.1.3.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ROCM_VERSION=${PV}
-
-inherit cmake edo rocm
-
-DESCRIPTION="ROCm Communication Collectives Library (RCCL)"
-HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rccl"
-SRC_URI="https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
-
-LICENSE="BSD"
-KEYWORDS="~amd64"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="test"
-
-RDEPEND="dev-util/hip
-dev-util/rocm-smi:${SLOT}"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-build/cmake-3.22
- >=dev-build/rocm-cmake-5.0.2-r1
- test? ( dev-cpp/gtest )"
-
-RESTRICT="!test? ( test )"
-S="${WORKDIR}/rccl-rocm-${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.2-change_install_location.patch"
- "${FILESDIR}/${PN}-5.1.3-remove-chrpath.patch"
-)
-
-src_configure() {
- addpredict /dev/kfd
- addpredict /dev/dri/
-
- local mycmakeargs=(
- -DSKIP_RPATH=On
- -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
- -DBUILD_TESTS=$(usex test ON OFF)
- -Wno-dev
- )
-
- CXX=hipcc cmake_src_configure
-}
-
-src_test() {
- check_amdgpu
- LD_LIBRARY_PATH="${BUILD_DIR}" edob test/UnitTests
-}
diff --git a/dev-libs/rccl/rccl-5.7.1.ebuild b/dev-libs/rccl/rccl-5.7.1.ebuild
new file mode 100644
index 000000000000..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/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/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 567b223495ef..10cd647edfa4 100644
--- a/dev-libs/rocksdb/Manifest
+++ b/dev-libs/rocksdb/Manifest
@@ -1,8 +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.10.0.tar.gz 13316582 BLAKE2B 63f5a13c285dcc830d9d31623435af5d8385a1ecad2b4bbf433cdc9f1e8032218a24f06220199fab4deb385d3964890fc5de6bfdbadd5cd304826aeca600b246 SHA512 524e3e70ed2b1d2e6c61a7b401946e50473cc95684ce4efc6250062f5bc945e443e96f7907fcc3ee1ab98c71179a8b56a654383cf2c0bbe1bb20907ab1ac7523
-DIST rocksdb-8.6.7.tar.gz 12806059 BLAKE2B 66d1c4f23f690e2379c59f449833374496ebe924456cf202b021a4f9bc7dd6dde16976afae131540fb8bc02eea45ac4897cb1b31edb5f8469e3f50596aeb03f5 SHA512 a8f55e2d218cbe68196456fcf2a8fc0b10df6e8160d11bb4db3651c3b6e3e83223ed36ffe70b39b295ba8d76698e2120f81060f8b6b26f2086a79dae5d29a1f3
-DIST rocksdb-8.9.1.tar.gz 13293245 BLAKE2B 8d0f5481f965512144a8d73dd219519145cf070d075697d9b623ae996a2925ff9f673c2985b961e07ecf475ac86294017ecef86734c299c11994c40f8935bc34 SHA512 a93720ef2ecafe2e3d51594b8a8bf6b5d36b0dfeae571cec650ee9d7b3d0c166bd6d9fbe2acb6e57cf34e73b58a2277a6465cce56a5274dd68b03bc9009e0323
+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.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-6.29.5.ebuild b/dev-libs/rocksdb/rocksdb-6.29.5.ebuild
deleted file mode 100644
index 7b5279bc8a32..000000000000
--- a/dev-libs/rocksdb/rocksdb-6.29.5.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse4_2 jemalloc numa static-libs tbb test"
-
-# tests fail in this version
-RESTRICT="test"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- dev-cpp/gflags
- sys-libs/liburing:=
- sys-libs/zlib:=
- sys-process/numactl
- jemalloc? ( dev-libs/jemalloc:= )
- tbb? ( dev-cpp/tbb:= )
-"
-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
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DFAIL_ON_WARNINGS=OFF
- -DFORCE_AVX2=$(usex cpu_flags_x86_avx2 ON OFF)
- -DFORCE_AVX=$(usex cpu_flags_x86_avx ON OFF)
- -DFORCE_SSE42=$(usex cpu_flags_x86_sse4_2 ON OFF)
- -DPORTABLE=ON
- -DWITH_BZ2=ON
- -DWITH_CORE_TOOLS=ON
- -DWITH_DYNAMIC_EXTENSION=ON
- -DWITH_GFLAGS=ON
- -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
- -DWITH_JNI=OFF
- -DWITH_LIBRADOS=OFF
- -DWITH_LIBURING=ON
- -DWITH_LZ4=ON
- -DWITH_MD_LIBRARY=ON
- -DWITH_NUMA=$(usex numa)
- -DWITH_SNAPPY=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_ALL_TESTS=$(usex test)
- -DWITH_TESTS=$(usex test)
- -DWITH_TOOLS=ON
- -DWITH_ZLIB=ON
- -DWITH_ZSTD=ON
- )
- # -DWITH_TESTS option works only with debug build, needs to be set here
- # to not be overriden by cmake.eclass
- CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/*.a || die
- fi
-}
diff --git a/dev-libs/rocksdb/rocksdb-8.9.1.ebuild b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
index 283a918f7c75..c5a5cce5e1d8 100644
--- a/dev-libs/rocksdb/rocksdb-8.9.1.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
@@ -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-8.6.7.ebuild b/dev-libs/rocksdb/rocksdb-9.3.1.ebuild
index 283a918f7c75..c5a5cce5e1d8 100644
--- a/dev-libs/rocksdb/rocksdb-8.6.7.ebuild
+++ b/dev-libs/rocksdb/rocksdb-9.3.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
@@ -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/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest
index 25427ae596a2..0b5b9a36741f 100644
--- a/dev-libs/rocm-comgr/Manifest
+++ b/dev-libs/rocm-comgr/Manifest
@@ -1,6 +1,6 @@
+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
DIST rocm-comgr-5.5.1.tar.gz 127475 BLAKE2B dbcb6729b27c0b4a4be37f5e462d96b10c15a6a3b540a81a74a648fc45dc727ea5706db1a0f4583a31ac4cb5c9f0d9f4e258fa5ac792b327f4cb1dfe6d585937 SHA512 09174ef2ad21f62b197e439bb5b04a365233c360c57cc2ccf0ea3d53edfa8880dff4f127c6d6c1d430b63b6f7ea666705b14cadc2bccb89c0fefed943b0cf1c7
DIST rocm-comgr-5.7.1.tar.gz 137923 BLAKE2B e215f51137fd0c4b67e85496bf289dc0afde6ebc9efb9416f5fc4cf312b2be9be26da35cb70965bf4857a0f1434d750bcc03ce83095173098487ef7805948735 SHA512 cdd2609b858d9503c30122a2d328d36baa8a930a05bcb6c38e30723909c492b4d47eaaf4884dbb7aa82053e7cda6c22ee1aa16fc5ba266e272d98ff772c5079d
-DIST rocm-comgr-6.0.0.tar.gz 142129 BLAKE2B 65d00a79ead48872e3b94e5239a07c476288c611aa3ce2311a345bec5f7d277dc67910fa5f4ef000a5e94e6bed148baa4b1c7fe2b1cfaae2cc39555d716668d5 SHA512 877d2042bdafa6b503ee8f24d3a9c4ac9e001a7884211df47b2237d8a5ead66ced0f352c7b76d96190cd407461f5434fb1a5a4508067e432eb93c0f2fd066053
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-5.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.0.0.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.0.0.ebuild
deleted file mode 100644
index ff181f1b4615..000000000000
--- a/dev-libs/rocm-comgr/rocm-comgr-6.0.0.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 llvm prefix
-
-LLVM_MAX_SLOT=17
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/"
- inherit git-r3
- S="${WORKDIR}/${P}/lib/comgr"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-CompilerSupport-rocm-${PV}/lib/comgr"
- KEYWORDS="~amd64"
-fi
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.3-rocm-path.patch"
- "${FILESDIR}/0001-Specify-clang-exe-path-in-Driver-Creation.patch"
- "${FILESDIR}/0001-Find-CLANG_RESOURCE_DIR-using-clang-print-resource-d.patch"
- "${FILESDIR}/${PN}-5.7.0-optional.patch"
- "${FILESDIR}/${PN}-5.7.0-lld.patch"
- "${FILESDIR}/${PN}-5.7.0-disassembly.patch"
- "${FILESDIR}/${PN}-5.7.0-metadata.patch"
- "${FILESDIR}/${PN}-5.7.0-symbolizer.patch"
- "${FILESDIR}/${PN}-5.7.1-fix-tests.patch"
- "${FILESDIR}/${PN}-5.7.1-correct-license-install-dir.patch"
-)
-
-DESCRIPTION="Radeon Open Compute Code Object Manager"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND=">=dev-libs/rocm-device-libs-${PV}
- sys-devel/clang:${LLVM_MAX_SLOT}=
- sys-devel/clang-runtime:=
- sys-devel/lld:${LLVM_MAX_SLOT}="
-DEPEND="${RDEPEND}"
-
-CMAKE_BUILD_TYPE=Release
-
-src_prepare() {
- sed '/sys::path::append(HIPPath/s,"hip","",' -i src/comgr-env.cpp || die
- sed "/return LLVMPath;/s,LLVMPath,llvm::SmallString<128>(\"$(get_llvm_prefix ${LLVM_MAX_SLOT})\")," -i src/comgr-env.cpp || die
- eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.0-rocm_path.patch)
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DLLVM_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- -DCMAKE_STRIP="" # disable stripping defined at lib/comgr/CMakeLists.txt:58
- -DBUILD_TESTING=$(usex test ON OFF)
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-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 8002ba47f4ad..a3682ad63840 100644
--- a/dev-libs/rocm-device-libs/Manifest
+++ b/dev-libs/rocm-device-libs/Manifest
@@ -1,6 +1,6 @@
+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
DIST rocm-device-libs-5.5.1.tar.gz 245900 BLAKE2B f713b1f12c7be33a4854d79791f592b8e89e2bc463769ec8cdd807483f0e5ca93d7fc852b6cf41d5ad0401d07adc97de9fb1fa54b77af83f665e282d6c0a43e7 SHA512 0138ddc94ce4a81202bdafccbbecef8145c6ddf82c3a14d92bb80b2bed3d3b73898f84279cef89110c50a9cc51e32de1323cc11a1f97c5da4f7f843b393425d0
DIST rocm-device-libs-5.7.1.tar.gz 248357 BLAKE2B 829704382e9420ad79724a250ccfd65278eb697498805297d1a52b8ea35dbff46e11514b681243d61bfac05b8a9734f0cf22d721603e48fe2f9864368222b0bc SHA512 8755d0584fa3b8239f5642b4fb8f5e8dea20bbaca2ff8883894d3583913e9a1fd1552492b36e8ceff092f795783b734e68b002ee0c93711dccdf8e72c528c27c
-DIST rocm-device-libs-6.0.0.tar.gz 248509 BLAKE2B 797a612f4b36b83643b15711bec32c1ceac73103b51d42abb890a241b8224b7c6de33bf88a9c6620db2af9be4641fc709b9610515203177482422c97d5b01044 SHA512 e9f2d7e86ec4cbcd0f471bf45d056c4a9272ee0ec3286a9aa42e819fa5d3ce52c9b12e9a4f575c409fe9b46253b8910f49d5ba0bae3694f8c38970658a19f706
diff --git a/dev-libs/rocm-device-libs/files/rocm-device-libs-5.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.0.0.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.0.0.ebuild
deleted file mode 100644
index 09ca777faf52..000000000000
--- a/dev-libs/rocm-device-libs/rocm-device-libs-6.0.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-RESTRICT="strip"
-
-inherit cmake llvm
-
-LLVM_MAX_SLOT=17
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/"
- inherit git-r3
- S="${WORKDIR}/${P}/src"
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCm-Device-Libs-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Device Libraries"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
-
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-devel/clang:${LLVM_MAX_SLOT}"
-DEPEND="${RDEPEND}"
-
-CMAKE_BUILD_TYPE=Release
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.5.1-fix-llvm-link.patch"
- )
-
-src_prepare() {
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/OCL.cmake" || die
- sed -e "s:amdgcn/bitcode:lib/amdgcn/bitcode:" -i "${S}/cmake/Packages.cmake" || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- # -DLLVM_DIR="${EPREFIX}/usr/lib/llvm/roc/lib/cmake/llvm"
- -DLLVM_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-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 a0f9ed9e02f5..a7f160ad2ad6 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -3,7 +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.0.0.tar.gz 1983453 BLAKE2B 2cf6ec7c3b0ec5dedeea94ff54af30662b781fc2eee22e3315094af61dc9d331eba33c1d9d463295848c5724e515a3137f9b189c1261273afad1a5f9d32226c2 SHA512 12e77a121150d8c25121b98bd7c6233c2568f9f4130bdbe6bc3ab225f14b8bea6a6bdc4ed497c0f999d3d3daabdca0de8caaa1b69911c11974b5d6f951734433
+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.7.1-r1.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild
index 65314b8b6b38..ade2c6f349f6 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-5.7.1-r1.ebuild
@@ -48,6 +48,14 @@ 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)
diff --git a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.0.0.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.1.ebuild
index 8a2b71872bdc..465e3a2ddc66 100644
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.0.0.ebuild
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.1.1.ebuild
@@ -9,19 +9,12 @@ inherit cmake edo flag-o-matic rocm
DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
HOMEPAGE="https://github.com/ROCm-Developer-Tools/clr"
-#if [[ ${PV} == *9999 ]] ; then
-# EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-# EGIT_CLR_REPO_URI="https://github.com/ROCm-Developer-Tools/ROCclr"
-# inherit git-r3
-# S="${WORKDIR}/${P}"
-#else
- KEYWORDS="~amd64"
- SRC_URI="https://github.com/ROCm-Developer-Tools/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz"
- S="${WORKDIR}/clr-rocm-${PV}/"
-#fi
+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 )"
@@ -34,20 +27,17 @@ DEPEND="${RDEPEND}"
BDEPEND=">=dev-build/rocm-cmake-5.3
media-libs/glew
test? ( >=x11-apps/mesa-progs-8.5.0[X] )
- "
-
-src_unpack () {
-if [[ ${PV} == "9999" ]]; then
- git-r3_fetch
-OB git-r3_checkout
- git-r3_fetch "${EGIT_CLR_REPO_URI}"
- git-r3_checkout "${EGIT_CLR_REPO_URI}" "${CLR_S}"
- else
- default
- fi
-}
+"
src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/856088
+ # https://github.com/ROCm/clr/issues/64
+ #
+ # Do not trust it for LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
# Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
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 878cf8bbc33d..000000000000
--- a/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-9999.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake edo flag-o-matic
-
-DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
- EGIT_CLR_REPO_URI="https://github.com/ROCm-Developer-Tools/ROCclr"
- inherit git-r3
- S="${WORKDIR}/${P}"
-else
- SRC_URI="https://github.com/ROCm-Developer-Tools/ROCclr/archive/rocm-${PV}.tar.gz -> rocclr-${PV}.tar.gz
- https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-${PV}.tar.gz -> rocm-opencl-runtime-${PV}.tar.gz"
- S="${WORKDIR}/ROCm-OpenCL-Runtime-rocm-${PV}"
-fi
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0/$(ver_cut 1-2)"
-IUSE="debug test"
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=dev-libs/rocr-runtime-5.3
- >=dev-libs/rocm-comgr-5.3
- >=dev-libs/rocm-device-libs-5.3
- >=virtual/opencl-3
- media-libs/mesa[-opencl]"
-DEPEND="${RDEPEND}
- dev-util/opencl-headers"
-BDEPEND=">=dev-build/rocm-cmake-5.3
- media-libs/glew
- test? ( >=x11-apps/mesa-progs-8.5.0[X] )
- "
-
-CLR_S="${WORKDIR}/ROCclr-rocm-${PV}"
-
-src_unpack () {
-if [[ ${PV} == "9999" ]]; then
- git-r3_fetch
- git-r3_checkout
- git-r3_fetch "${EGIT_CLR_REPO_URI}"
- git-r3_checkout "${EGIT_CLR_REPO_URI}" "${CLR_S}"
- else
- default
- fi
-}
-src_prepare() {
- cmake_src_prepare
-
- pushd ${CLR_S} || die
- # Bug #753377
- # patch re-enables accidentally disabled gfx800 family
- eapply "${FILESDIR}/${PN}-5.0.2-enable-gfx800.patch"
- popd || die
-}
-
-src_configure() {
- # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
- append-cflags -fcommon
-
- local mycmakeargs=(
- -Wno-dev
- -DROCCLR_PATH="${CLR_S}"
- -DAMD_OPENCL_PATH="${S}"
- -DROCM_PATH="${EPREFIX}/usr"
- -DBUILD_TESTS=$(usex test ON OFF)
- -DEMU_ENV=ON
- -DBUILD_ICD=OFF
- -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
- )
- cmake_src_configure
-}
-
-src_install() {
- insinto /etc/OpenCL/vendors
- doins config/amdocl64.icd
-
- cd "${BUILD_DIR}" || die
- insinto /usr/lib64
- doins amdocl/libamdocl64.so
- doins tools/cltrace/libcltrace.so
-}
-
-# Copied from rocm.eclass. This ebuild does not need amdgpu_targets
-# USE_EXPANDS, so it should not inherit rocm.eclass; it only uses the
-# check_amdgpu function in src_test. Rename it to check-amdgpu to avoid
-# pkgcheck warning.
-check-amdgpu() {
- for device in /dev/kfd /dev/dri/render*; do
- addwrite ${device}
- if [[ ! -r ${device} || ! -w ${device} ]]; then
- eerror "Cannot read or write ${device}!"
- eerror "Make sure it is present and check the permission."
- ewarn "By default render group have access to it. Check if portage user is in render group."
- die "${device} inaccessible"
- fi
- done
-}
-
-src_test() {
- check-amdgpu
- cd "${BUILD_DIR}"/tests/ocltst || die
- export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
- local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
- local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
- if [[ -n ${OCLGL_DISPLAY+x} ]]; then
- export DISPLAY=${OCLGL_DISPLAY}
- export XAUTHORITY=${OCLGL_XAUTHORITY}
- ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
- if ! glxinfo | grep "OpenGL vendor string: AMD"; then
- ewarn "${instruction1}"
- ewarn "${instruction2}"
- die "This display does not have AMD OpenGL vendor!"
- fi
- ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
- eend $? || die "oclgl test failed"
- else
- ewarn "${instruction1}"
- ewarn "${instruction2}"
- die "\${OCLGL_DISPLAY} not set."
- fi
- edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
- edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
-}
diff --git a/dev-libs/rocr-runtime/Manifest b/dev-libs/rocr-runtime/Manifest
index adacf6e4bca1..7e2bac505de1 100644
--- a/dev-libs/rocr-runtime/Manifest
+++ b/dev-libs/rocr-runtime/Manifest
@@ -3,4 +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.0.0.tar.gz 851206 BLAKE2B f45f72719e4146fc5c6755b34625de60900a84a7f97fc559d641409edbbda73132c9cf784d59c4ccfdc3f0a1902e379db68d565f92420a8128a04483c50831dd SHA512 18d79436a93b9f57ffa0d4db670e0f2b05c5b9826c9323c7c2f8c856f650a10e5c4b7f6e55e2750156f3859a289617ac40128cfb6fe25de918ee5d8e4b6a8095
+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 840a1949b160..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,6 +21,8 @@ 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"
@@ -32,28 +34,26 @@ COMMON_DEPEND="dev-libs/elfutils
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.0.0.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild
index 840a1949b160..06778711004a 100644
--- a/dev-libs/rocr-runtime/rocr-runtime-6.0.0.ebuild
+++ b/dev-libs/rocr-runtime/rocr-runtime-6.1.1.ebuild
@@ -1,26 +1,29 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake flag-o-matic llvm
+LLVM_COMPAT=( 18 )
-LLVM_MAX_SLOT=17
+inherit cmake flag-o-matic llvm-r1
if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/"
+ EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/"
inherit git-r3
S="${WORKDIR}/${P}/src"
else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ 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/RadeonOpenCompute/ROCR-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"
@@ -32,29 +35,28 @@ COMMON_DEPEND="dev-libs/elfutils
DEPEND="${COMMON_DEPEND}
>=dev-libs/roct-thunk-interface-${PV}
>=dev-libs/rocm-device-libs-${PV}
- sys-devel/clang
- sys-devel/lld"
+ $(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() {
- # ... 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/roct-thunk-interface/Manifest b/dev-libs/roct-thunk-interface/Manifest
index 5d6ef732ff39..823065ec0e21 100644
--- a/dev-libs/roct-thunk-interface/Manifest
+++ b/dev-libs/roct-thunk-interface/Manifest
@@ -3,4 +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.0.0.tar.gz 665726 BLAKE2B 634165c1dce2d4e2f635688ea54c0eb3dd0cf0a0ae84fbbf22f07f62675ad77daea168b16c73e7b4912a46b8507d414119310f31bf110475e27d4629209067d9 SHA512 136a512273823738a3a85330158099b33084018485c94cb20244d61b5f6932949d32eba1fe77512b0933f0269da2f5bcec4cef5b503dc810140a9c080cf65e0f
+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.0.0-functions.patch b/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch
deleted file mode 100644
index cbea737c4b4c..000000000000
--- a/dev-libs/roct-thunk-interface/files/roct-thunk-interface-6.0.0-functions.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/libhsakmt.ver b/src/libhsakmt.ver
-index 15c2916..c04cefe 100644
---- a/src/libhsakmt.ver
-+++ b/src/libhsakmt.ver
-@@ -81,6 +81,7 @@ hsaKmtWaitOnEvent_Ext;
- hsaKmtWaitOnMultipleEvents_Ext;
- hsaKmtReplaceAsanHeaderPage;
- hsaKmtReturnAsanHeaderPage;
-+hsaKmtGetAMDGPUDeviceHandle;
-
- local: *;
- };
diff --git a/dev-libs/roct-thunk-interface/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.0.0.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.0.0.ebuild
deleted file mode 100644
index 353f0030f362..000000000000
--- a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.0.0.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 linux-info
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/"
- inherit git-r3
-else
- SRC_URI="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/ROCT-Thunk-Interface-rocm-${PV}"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="Radeon Open Compute Thunk Interface"
-HOMEPAGE="https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
-CONFIG_CHECK="~HSA_AMD ~HMM_MIRROR ~ZONE_DEVICE ~DRM_AMDGPU ~DRM_AMDGPU_USERPTR"
-LICENSE="MIT"
-SLOT="0/$(ver_cut 1-2)"
-
-RDEPEND="sys-process/numactl"
-DEPEND="${RDEPEND}"
-BDEPEND="x11-libs/libdrm[video_cards_amdgpu]"
-
-CMAKE_BUILD_TYPE=Release
-
-PATCHES=( "${FILESDIR}/${PN}-6.0.0-functions.patch" )
-
-src_prepare() {
- sed -e "s:get_version ( \"1.0.0\" ):get_version ( \"${PV}\" ):" -i CMakeLists.txt || die
- sed -e "s:ubuntu:gentoo:" -i CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DCPACK_PACKAGING_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- cmake_src_configure
-}
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-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 362a9b0c7c7e..37805d6099e3 100644
--- a/dev-libs/sentry-native/Manifest
+++ b/dev-libs/sentry-native/Manifest
@@ -1,3 +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.6.7.tar.gz 326571 BLAKE2B 5678e406573fa1281b995cf897b556c064831a835960819760ce36e79704fdbf363b637c61adaf14446ba394e057cecbc7a940cb61a2d4c9fd97b5c2ff67647a SHA512 8c5ec1fff2f99acddac8964c415b470a8e5a53967de9fa84444d78d49ed05f592a2c5373688cf87a86ec7cb4c2fe076f9d50443b6ddb9f479713655664d330fb
+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.6.6.ebuild
deleted file mode 100644
index 1e3a691a642a..000000000000
--- a/dev-libs/sentry-native/sentry-native-0.6.6.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 cmake
-
-DESCRIPTION="Sentry SDK for C, C++ and native applications"
-HOMEPAGE="https://sentry.io/ https://github.com/getsentry/sentry-native"
-SRC_URI="https://github.com/getsentry/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+breakpad +curl test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- breakpad? (
- dev-util/breakpad
- virtual/pkgconfig
- )
- curl? ( net-misc/curl )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.6.5_cmake-breakpad.patch
- "${FILESDIR}"/${PN}-0.6.5_no-fuzz-test.patch
-)
-
-src_configure() {
- local mycmakeargs=(
- -DSENTRY_BUILD_EXAMPLES=OFF
- -DSENTRY_BACKEND=$(usex breakpad "breakpad" "inproc")
- -DSENTRY_BUILD_TESTS=$(usex test)
- -DSENTRY_TRANSPORT=$(usex curl "curl" "none")
- )
- # Avoid "not used by the project" warnings when USE=-breakpad
- if use breakpad; then
- mycmakeargs+=( -DSENTRY_BREAKPAD_SYSTEM=ON )
- fi
-
- cmake_src_configure
-}
diff --git a/dev-libs/sentry-native/sentry-native-0.6.7.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.7.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/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
index 57448efc91a2..60d9a387258b 100644
--- a/dev-libs/simde/Manifest
+++ b/dev-libs/simde/Manifest
@@ -1 +1 @@
-DIST simde-0.7.6.tar.gz 6125123 BLAKE2B 96378e81a2e2a2d797289d26b3d0c1ea72288b51094e8c5fde75ecbef34a0c1d4dc029d5974281e2f9f938b190b4a648225fcb486205cc496ba57b1ec528cee4 SHA512 de17fca563c4db6766881e1c73142ad129a57febe55fa8ea1ae780226e60a84891b13d387e75574f2722d77e4013176e3c7dfaf17bccd8682b7d3d3ec8e92a54
+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/simde-0.7.6.ebuild b/dev-libs/simde/simde-0.8.2.ebuild
index 8d8a8be32a7a..3d57056117ff 100644
--- a/dev-libs/simde/simde-0.7.6.ebuild
+++ b/dev-libs/simde/simde-0.8.2.ebuild
@@ -14,10 +14,14 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+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
@@ -30,3 +34,12 @@ src_configure() {
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 81e18b1fe3e1..718356e50168 100644
--- a/dev-libs/simdjson/Manifest
+++ b/dev-libs/simdjson/Manifest
@@ -1,4 +1,5 @@
DIST simdjson-3.6.3.gh.tar.gz 2302220 BLAKE2B c46eeb8a07460cc5427fc35714fd262069cd3d913732e6037d808281d0fed0e82e0423dfd16abaeb515264559fe4454c42f81211354723eb21b212decfe7834b SHA512 b9fa7e554ded4e6cbe9d70ee29aa5b582e58b8b2ada1a781e58746082bb7d31791a4e2ea8b43d9391d783e61e489554f260448029c0b7e730cc69dc44f4aa86a
-DIST simdjson-3.6.4.gh.tar.gz 2301736 BLAKE2B 512effe54c6d36e31c95983cd9bd2ddb000c979c5050cb0c4b8ae2eae743ec50720e15ccf8b457b085d7d5bea24e0a0f793cba97a0af35dedbe59cab105ab2b9 SHA512 30dbc39166f092808d8642a2e4ca37c10999c511aa90e349409b3f4765c638498070ed9ed53ec7bfda9a9442557c7407ee0468a0845d53346d4a990f6d8c3c5b
-DIST simdjson-3.7.0.gh.tar.gz 2309580 BLAKE2B 8689169aaaa5a81056524fe3677ff85026173ccec802ddf96bfc993537645537c9116ca3086a35fe31685c67a51745d3b6d70daaa96064f8b09d831aec7cc2bb SHA512 b642327bebc81ecd59debcc8439983db5e1875895987c9939b629b4b0e3432b19691d8ebbf43b57f437d2914ec45250b6abe4d48be5e2a85b863145b8789457e
+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 5b14f6ee1759..a169af083a24 100644
--- a/dev-libs/simdjson/simdjson-3.6.3.ebuild
+++ b/dev-libs/simdjson/simdjson-3.6.3.ebuild
@@ -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.6.4.ebuild b/dev-libs/simdjson/simdjson-3.9.1.ebuild
index efb2ca0d1cde..8dc1810d9226 100644
--- a/dev-libs/simdjson/simdjson-3.6.4.ebuild
+++ b/dev-libs/simdjson/simdjson-3.9.1.ebuild
@@ -17,8 +17,8 @@ SRC_URI="
"
LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/19"
-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.7.0.ebuild b/dev-libs/simdjson/simdjson-3.9.3.ebuild
index 1755f239d7c2..613f210c0376 100644
--- a/dev-libs/simdjson/simdjson-3.7.0.ebuild
+++ b/dev-libs/simdjson/simdjson-3.9.3.ebuild
@@ -17,8 +17,8 @@ SRC_URI="
"
LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
-SLOT="0/20"
-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.9.4.ebuild b/dev-libs/simdjson/simdjson-3.9.4.ebuild
new file mode 100644
index 000000000000..613f210c0376
--- /dev/null
+++ b/dev-libs/simdjson/simdjson-3.9.4.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs cmake
+
+DATA_HASH="a5b13babe65c1bba7186b41b43d4cbdc20a5c470"
+DESCRIPTION="SIMD accelerated C++ JSON library"
+HOMEPAGE="
+ https://simdjson.org/
+ https://github.com/simdjson/simdjson
+"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ test? ( https://github.com/${PN}/${PN}-data/archive/${DATA_HASH}.tar.gz -> ${PN}-data-${DATA_HASH}.tar.gz )
+"
+
+LICENSE="Apache-2.0 Boost-1.0 BSD MIT"
+SLOT="0/22"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="+all-impls test tools"
+
+BDEPEND="
+ sys-apps/file
+ sys-apps/grep
+ virtual/pkgconfig
+"
+DEPEND="
+ tools? ( <dev-libs/cxxopts-3.1:= )
+"
+
+REQUIRED_USE="test? ( tools )"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/simdjson-1.0.0-dont-bundle-cxxopts.patch"
+ "${FILESDIR}/simdjson-0.9.0-tests.patch"
+ "${FILESDIR}/simdjson-1.0.0-install-tools.patch"
+ "${FILESDIR}/simdjson-3.1.7-tests.patch"
+ "${FILESDIR}/simdjson-3.7.1-data-optional.patch"
+)
+
+DOCS=(
+ AUTHORS
+ CONTRIBUTING.md
+ CONTRIBUTORS
+ HACKING.md
+ README.md
+)
+
+src_prepare() {
+ if use test; then
+ mkdir "${S}/dependencies/.cache" || die
+ mv "${WORKDIR}/${PN}-data-${DATA_HASH}" "${S}/dependencies/.cache/${PN}-data" || die
+ fi
+
+ sed -e 's:-Werror ::' -i cmake/developer-options.cmake || die
+ sed -e '/Werror/ d ; /Werror/ d ' -i tests/ondemand/compilation_failure_tests/CMakeLists.txt || die
+ sed -e "s:^c++ :$(tc-getCXX) :" -i singleheader/README.md || die
+ mv tools/{,simd}jsonpointer.cpp || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSIMDJSON_ENABLE_THREADS:BOOL=ON
+ )
+ use test && mycmakeargs+=(
+ -DSIMDJSON_TESTS:BOOL=ON
+ )
+
+ if use tools; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODE:BOOL=ON
+ -DSIMDJSON_ALLOW_DOWNLOADS:BOOL=OFF
+ -DSIMDJSON_GOOGLE_BENCHMARKS:BOOL=OFF
+ -DSIMDJSON_COMPETITION:BOOL=OFF
+ -DSIMDJSON_TOOLS:BOOL=ON
+ )
+ elif ! use test; then
+ mycmakeargs+=(
+ -DSIMDJSON_DEVELOPER_MODELBOOL=OFF
+ )
+ fi
+
+ if use all-impls; then
+ local -a impls=("fallback")
+ if use amd64; then
+ impls+=("westmere" "haswell" "icelake")
+ elif use arm64; then
+ impls+=("arm64")
+ elif use ppc64; then
+ impls+=("ppc64")
+ fi
+
+ mycmakeargs+=(
+ -DSIMDJSON_IMPLEMENTATION:STRING=$(printf '%s;' "${impls[@]}")
+ )
+ fi
+
+ cmake_src_configure
+}
diff --git a/dev-libs/skalibs/Manifest b/dev-libs/skalibs/Manifest
index 564963cece92..0606edda9cd9 100644
--- a/dev-libs/skalibs/Manifest
+++ b/dev-libs/skalibs/Manifest
@@ -1 +1,2 @@
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.14.1.1.ebuild b/dev-libs/skalibs/skalibs-2.14.1.1.ebuild
index ea5da9db95bb..1740c9906c0f 100644
--- a/dev-libs/skalibs/skalibs-2.14.1.1.ebuild
+++ b/dev-libs/skalibs/skalibs-2.14.1.1.ebuild
@@ -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.2.0.ebuild b/dev-libs/skalibs/skalibs-2.14.2.0.ebuild
new file mode 100644
index 000000000000..1740c9906c0f
--- /dev/null
+++ b/dev-libs/skalibs/skalibs-2.14.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="General-purpose libraries from skarnet.org"
+HOMEPAGE="https://www.skarnet.org/software/skalibs/"
+SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~alpha amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~riscv x86"
+
+HTML_DOCS=( doc/. )
+
+src_prepare() {
+ default
+
+ # Avoid QA warning for LDFLAGS addition
+ sed -i -e 's/.*-Wl,--hash-style=both$/:/' configure || die
+
+ sed -i -e '/AR := /d' -e '/RANLIB := /d' Makefile || die
+}
+
+src_configure() {
+ tc-export AR CC RANLIB
+
+ local myconf=(
+ --dynlibdir="/$(get_libdir)"
+ --libdir="/usr/$(get_libdir)/${PN}"
+ --sysdepdir="/usr/$(get_libdir)/${PN}"
+ --sysconfdir=/etc
+
+ --disable-static
+ --enable-clock
+ --enable-ipv6
+ --enable-shared
+ )
+
+ econf "${myconf[@]}"
+}
diff --git a/dev-libs/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/spdlog/Manifest b/dev-libs/spdlog/Manifest
index ea3f87cdbd7e..7d6b55415abc 100644
--- a/dev-libs/spdlog/Manifest
+++ b/dev-libs/spdlog/Manifest
@@ -1,3 +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-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.11.0-r3.ebuild b/dev-libs/spdlog/spdlog-1.13.0-r2.ebuild
index 508bcb7398b0..3ece901957d2 100644
--- a/dev-libs/spdlog/spdlog-1.11.0-r3.ebuild
+++ b/dev-libs/spdlog/spdlog-1.13.0-r2.ebuild
@@ -3,7 +3,7 @@
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 hppa ~loong ppc ppc64 ~riscv sparc 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-9.1.0-r2[${MULTILIB_USEDEP}]
"
-
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-force_external_fmt.patch"
- "${FILESDIR}/${PN}-fmt-10.patch"
- "${FILESDIR}/${PN}-musl-1.2.4.patch"
)
-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-1.13.0.ebuild b/dev-libs/spdlog/spdlog-1.14.1.ebuild
index bdb630b7d8d3..df8bbe09c730 100644
--- a/dev-libs/spdlog/spdlog-1.13.0.ebuild
+++ b/dev-libs/spdlog/spdlog-1.14.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake
+inherit cmake-multilib
DESCRIPTION="Fast C++ logging library"
HOMEPAGE="https://github.com/gabime/spdlog"
@@ -18,7 +18,7 @@ fi
LICENSE="MIT"
SLOT="0/$(ver_cut 1-2)"
-IUSE="test"
+IUSE="test static-libs"
RESTRICT="!test? ( test )"
BDEPEND="
@@ -28,7 +28,7 @@ BDEPEND="
)
"
DEPEND="
- >=dev-libs/libfmt-8.0.0:=
+ dev-libs/libfmt:=[${MULTILIB_USEDEP}]
"
RDEPEND="${DEPEND}"
@@ -36,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/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/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 52a0c01b99f1..52a0c01b99f1 100644
--- a/dev-libs/template-glib/template-glib-3.36.1.ebuild
+++ b/dev-libs/template-glib/template-glib-3.36.2.ebuild
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.18.1-r1.ebuild b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
index 8f2272627c75..e7fbc703524a 100644
--- a/dev-libs/thrift/thrift-0.18.1-r1.ebuild
+++ b/dev-libs/thrift/thrift-0.18.1-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0/0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~loong ~ppc64 ~riscv"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
IUSE="libevent lua +ssl test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/thrift/thrift-0.20.0.ebuild b/dev-libs/thrift/thrift-0.20.0.ebuild
new file mode 100644
index 000000000000..f57f4a9b262a
--- /dev/null
+++ b/dev-libs/thrift/thrift-0.20.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ bindings for Apache Thrift"
+HOMEPAGE="https://thrift.apache.org/lib/cpp.html"
+SRC_URI="mirror://apache/thrift/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~s390 ~x86"
+IUSE="libevent lua +ssl test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=[nls(+)]
+ dev-libs/openssl:=
+ sys-libs/zlib:=
+ libevent? ( dev-libs/libevent:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+REQUIRED_USE="
+ test? ( ssl libevent )
+"
+
+PATCHES=(
+ "${FILESDIR}/thrift-0.16.0-network-tests.patch"
+ "${FILESDIR}/thrift-0.18.1-tests.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CPP=ON
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_TESTING=$(usex test 'ON' 'OFF')
+ -DWITH_LIBEVENT=$(usex libevent 'ON' 'OFF')
+ -DWITH_OPENSSL=$(usex ssl 'ON' 'OFF')
+ -DWITH_ZLIB=ON
+ -Wno-dev
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ MAKEOPTS="-j1" cmake_src_test
+}
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
index 583bc4f9b670..3c1d6e51237d 100644
--- a/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r4.ebuild
@@ -7,7 +7,7 @@ inherit flag-o-matic toolchain-funcs multilib
DESCRIPTION="Simple and small C++ XML parser"
HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
-SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV//./_}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
diff --git a/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
index 7d8e263e06fb..4852caef55ee 100644
--- a/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
+++ b/dev-libs/tinyxml/tinyxml-2.6.2-r5.ebuild
@@ -7,7 +7,7 @@ inherit flag-o-matic toolchain-funcs multilib
DESCRIPTION="Simple and small C++ XML parser"
HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
-SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV//./_}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV//./_}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
diff --git a/dev-libs/tllist/tllist-1.1.0.ebuild b/dev-libs/tllist/tllist-1.1.0.ebuild
index 16e17ecdb39f..facaeaaf4c59 100644
--- a/dev-libs/tllist/tllist-1.1.0.ebuild
+++ b/dev-libs/tllist/tllist-1.1.0.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64"
+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/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
index ff7a94ed5c57..e0c1d14df6fc 100644
--- a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
+++ b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6-r1.ebuild
@@ -11,7 +11,7 @@ LICENSE="LGPL-2+"
SLOT="0/18"
IUSE="archive crypt gtk-doc +introspection test +uchardet"
RESTRICT="!test? ( test )"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
>=dev-libs/glib-2.56:2
diff --git a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild b/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild
deleted file mode 100644
index 99a530f0613a..000000000000
--- a/dev-libs/totem-pl-parser/totem-pl-parser-3.26.6.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org meson xdg
-
-DESCRIPTION="Playlist parsing library"
-HOMEPAGE="https://developer.gnome.org/totem-pl-parser/stable/"
-
-LICENSE="LGPL-2+"
-SLOT="0/18"
-IUSE="archive crypt gtk-doc +introspection test +uchardet"
-RESTRICT="!test? ( test )"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-libs/glib-2.56:2
- archive? ( >=app-arch/libarchive-3:0= )
- dev-libs/libxml2:2
- crypt? ( dev-libs/libgcrypt:0= )
- uchardet? ( app-i18n/uchardet )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/glib-utils
- gtk-doc? (
- >=dev-util/gtk-doc-1.14
- app-text/docbook-xml-dtd:4.3
- )
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? (
- gnome-base/gvfs[http]
- sys-apps/dbus
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-plparser-Fix-uninitialized-variable-error.patch
-)
-
-src_prepare() {
- # Disable tests requiring network access, bug #346127
- # 3rd test fails on upgrade, not once installed
- # Leio: I consider network tests important for ensuring full functionality, thus trying with them again */
- #sed -e 's:\(g_test_add_func.*/parser/resolution.*\):/*\1*/:' \
- # -e 's:\(g_test_add_func.*/parser/parsing/itms_link.*\):/*\1*/:' \
- # -e 's:\(g_test_add_func.*/parser/parsability.*\):/*\1*/:'\
- # -i plparse/tests/parser.c || die "sed failed"
-
- xdg_src_prepare
-}
-
-src_configure() {
- # uninstalled-tests is abused to switch from loading live FS helper
- # to in-build-tree helper, check on upgrades this is not having other
- # consequences, bug #630242
- local emesonargs=(
- -Denable-libarchive=$(usex archive)
- -Denable-libgcrypt=$(usex crypt)
- -Denable-uchardet=$(usex uchardet)
- $(meson_use gtk-doc enable-gtk-doc)
- $(meson_use introspection)
- )
- meson_src_configure
-}
-
-src_test() {
- # This is required as told by upstream in bgo#629542
- GVFS_DISABLE_FUSE=1 dbus-run-session meson test -C "${BUILD_DIR}"
-}
diff --git a/dev-libs/tre/tre-0.8.0_p20210321-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 5c4a8a94022e..a9d7f4e84baa 100644
--- a/dev-libs/tree-sitter-bash/Manifest
+++ b/dev-libs/tree-sitter-bash/Manifest
@@ -1,3 +1,4 @@
DIST tree-sitter-bash-0.19.0.tar.gz 187286 BLAKE2B 8812a593366a65a9cae3eaac5bb81c71e95f4abe8558a01b908333e471f05714b1c768b71e66d3890d1e63202819290813e499a5e8ba49e72bb466b9b0f245f8 SHA512 62bc8bc25c999f9c79632bd6b236edd21ef15b14365dd1a956237b11a32f5e60a2f420ec67b60d46203699b7841d4bc10978fc0307d0c4013b376c6c024d89ae
DIST tree-sitter-bash-0.20.4-2.tar.gz 444183 BLAKE2B 31016de876ed84ab991ebc1e531dd750c416a86db5f91097db54e7362de673ea89bbf8863a9df487f75386f19a7e8ddde48a2e727af918d1beea8acad3ce67c6 SHA512 074f659ea475c7a442957a3df234f967ae9a6ace885ecfad6548a1d0f2af7535e5460d81bcd160a04bda1b902af0a9f741fc0c7b22309cd1d11ab2bc33ff0a22
DIST tree-sitter-bash-0.20.5.tar.gz 525750 BLAKE2B 2508ede3ac6b0a7bac3f46af35ea018916b5cf6b0acf593e546146277c1a619dba52eac6064e3e0431e0f5e41bc80b441e0ac8886287ccce5bdabe3924a036e8 SHA512 bc1c4ec816183b4a4990decd45f3c46a424e29d4c417b762f3f761b6396faa984c6eb05237cb4921070e0b478485146889176a862b0935b4b345a704675bef22
+DIST tree-sitter-bash-0.21.0.tar.gz 557096 BLAKE2B bfbdb4db0f75c292567043a47d32e26c6ec119ed70fa9b77675eb57e686c072315fc114befecc430730c8eec20238544d13836402f2264a1b6657e0387d4987c SHA512 9585ea80f85bc7010444a91142bc943486ade68982c7ca367a6cbe65619af2bdaa1acd8b6ee698cdf74b84d62a7f44acc4676ddb4b6007035eb9eea4768f122d
diff --git a/dev-libs/tree-sitter-bash/metadata.xml b/dev-libs/tree-sitter-bash/metadata.xml
index 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.5.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild
index 8d67e11df0c4..fa2574fde717 100644
--- a/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.20.5.ebuild
@@ -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.21.0-r1.ebuild b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild
new file mode 100644
index 000000000000..c9c0cd8e9ce5
--- /dev/null
+++ b/dev-libs/tree-sitter-bash/tree-sitter-bash-0.21.0-r1.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TS_BINDINGS=( python )
+
+inherit tree-sitter-grammar
+
+DESCRIPTION="Bash grammar for Tree-sitter"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter-bash"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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 148b7d141a08..bee156c91aa2 100644
--- a/dev-libs/tree-sitter-c/Manifest
+++ b/dev-libs/tree-sitter-c/Manifest
@@ -1,3 +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.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-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.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 a1f48ed9e145..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
@@ -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-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/tree-sitter-gleam-0.33.0.ebuild b/dev-libs/tree-sitter-gleam/tree-sitter-gleam-0.33.0.ebuild
index a42d41fcbbc1..3db768bc2df6 100644
--- 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
@@ -8,7 +8,6 @@ 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"
-S="${WORKDIR}"/${P}/src
LICENSE="Apache-2.0"
SLOT="0"
@@ -18,5 +17,5 @@ src_install() {
tree-sitter-grammar_src_install
docinto queries
- dodoc ../queries/{highlights,locals,tags}.scm
+ 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 d1e163716e36..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
@@ -15,4 +15,3 @@ 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.1.ebuild b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.2.ebuild
index 19ac8915ea50..55a42a78b64c 100644
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.1.ebuild
+++ b/dev-libs/tree-sitter-html/tree-sitter-html-0.20.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
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.0.ebuild b/dev-libs/tree-sitter-java/tree-sitter-java-0.21.0.ebuild
index 5b79a06f012a..21de8dbc5b4e 100644
--- a/dev-libs/tree-sitter-java/tree-sitter-java-0.20.0.ebuild
+++ b/dev-libs/tree-sitter-java/tree-sitter-java-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-javascript/Manifest b/dev-libs/tree-sitter-javascript/Manifest
index dfa8fdf55bf2..c46994c8c152 100644
--- a/dev-libs/tree-sitter-javascript/Manifest
+++ b/dev-libs/tree-sitter-javascript/Manifest
@@ -1,3 +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.3.tar.gz 394552 BLAKE2B e578299df6645b3529e8b82385a8060a8e25f122faf63f4e7f0ecc6ddbec7f29986c552a83dba9cf0bc8866225e749e3c9c0a5a9556e6266e8e731cf09af4def SHA512 31fd1b645fcbdd6670bc6b00e6c4adc2ce440aa35ba9b530a6161849fd70d0a38f8539727d321ba2bbc60a8d9bcf33296b561f8921115a8e68c50a40b253bbc4
+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 b1b7e3a5cc95..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
@@ -15,4 +15,3 @@ 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.3.ebuild b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild
index a95e21c0d4a6..ec9248a60d3d 100644
--- a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.3.ebuild
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.4.ebuild
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
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.21.0.ebuild
index a082528027b0..8c21d33f4ebb 100644
--- a/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.20.0.ebuild
+++ b/dev-libs/tree-sitter-javascript/tree-sitter-javascript-0.21.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
-TS_PV=rust-0.20.0
+TS_BINDINGS=( python )
+
inherit tree-sitter-grammar
DESCRIPTION="JavaScript grammar for Tree-sitter"
@@ -11,4 +12,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-javascript"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64"
+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 1a24898111fe..fccaf007e65b 100644
--- a/dev-libs/tree-sitter-json/Manifest
+++ b/dev-libs/tree-sitter-json/Manifest
@@ -1,3 +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.2.ebuild b/dev-libs/tree-sitter-json/tree-sitter-json-0.20.2.ebuild
index 5e272e100507..bc7df5806d4d 100644
--- 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
@@ -10,4 +10,4 @@ HOMEPAGE="https://github.com/tree-sitter/tree-sitter-json"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+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.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-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 263b5edbc896..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
@@ -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-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.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.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-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-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 0dcbd7dc9e45..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
@@ -11,7 +11,7 @@ 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"
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.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.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 5f69a46f87f9..c077958053be 100644
--- a/dev-libs/tree-sitter-typescript/Manifest
+++ b/dev-libs/tree-sitter-typescript/Manifest
@@ -1,4 +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.1.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild
deleted file mode 100644
index 91c68ef697e0..000000000000
--- a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.1.ebuild
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit tree-sitter-grammar
-
-DESCRIPTION="TypeScript grammar for Tree-sitter"
-HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
-S="${WORKDIR}"/${PN}-${PV}/typescript/src
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.3.ebuild
index 72a2b3dd5f81..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
@@ -7,7 +7,7 @@ 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"
diff --git a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild
index da5d17a90d8a..3ab5b3028d0d 100644
--- a/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild
+++ b/dev-libs/tree-sitter-typescript/tree-sitter-typescript-0.20.5.ebuild
@@ -7,7 +7,7 @@ inherit tree-sitter-grammar
DESCRIPTION="TypeScript grammar for Tree-sitter"
HOMEPAGE="https://github.com/tree-sitter/tree-sitter-typescript"
-S="${WORKDIR}"/${P}/typescript/src
+S="${WORKDIR}"/${P}/typescript
LICENSE="MIT"
SLOT="0"
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 3746d0c9031a..0f5e9cfb1dc8 100644
--- a/dev-libs/tree-sitter/Manifest
+++ b/dev-libs/tree-sitter/Manifest
@@ -1,2 +1,4 @@
-DIST tree-sitter-0.20.8.tar.gz 2941223 BLAKE2B 158820a88b20cc96252f8bfdd257e910ca4dc79174bb45ee52623c923b8a634714c65be8f9534411865fb03aaf84bf16bf659567a74cd58141ea687fa89601e5 SHA512 30fa3f97e1a24d469a7565dc91db629accdfbe081b43d951e9751059a0c7f763d727e95efce5806cd9b1689650773bee1106f4f91ba001da57df3b0d83dda967
-DIST tree-sitter-0.20.9.tar.gz 3041304 BLAKE2B a6cf6606f75918eeab7dab0d2758cdba0922b5677cd4c8755982c077ee0a734090c8a87f7dd1fd56525b5864f94f5f19c3fd04e43773877e13968855f976d0c0 SHA512 6882c0edf87232d42aa40936c6a2da46e6dbb89d28b3def67e9c5231af19a517fbe22cf0ce9aa25a8ad4252cef6cf4aa94a00f8d0503a8bdd99ce0edd99a392a
+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.20.9-no-static.patch b/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch
deleted file mode 100644
index ab0b7ef76fb6..000000000000
--- a/dev-libs/tree-sitter/files/tree-sitter-0.20.9-no-static.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 6030852e..ea1c4617 100644
---- a/Makefile
-+++ b/Makefile
-@@ -41,7 +41,7 @@ ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
- PCLIBDIR := $(PREFIX)/libdata/pkgconfig
- endif
-
--all: libtree-sitter.a libtree-sitter.$(SOEXTVER)
-+all: libtree-sitter.$(SOEXTVER)
-
- libtree-sitter.a: $(OBJ)
- $(AR) rcs $@ $^
-@@ -61,7 +61,6 @@ install: all
- tree-sitter.pc.in > tree-sitter.pc
-
- install -d '$(DESTDIR)$(LIBDIR)'
-- install -m644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/
- install -m755 libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
- ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
diff --git a/dev-libs/tree-sitter/files/tree-sitter-0.22.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-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
index d521078d2bfc..66553bca39a7 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.20.8-r1.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.2.ebuild
@@ -1,7 +1,10 @@
# 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,19 +20,12 @@ fi
LICENSE="MIT"
SLOT="0"
+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,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.9-r1.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
index 0d557b1d492e..d9718e3f31d5 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.20.9-r1.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.4-r1.ebuild
@@ -1,8 +1,6 @@
# 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
@@ -18,19 +16,15 @@ else
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}-0.20.9-no-static.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.10"
-
src_prepare() {
default
tc-export CC
@@ -40,14 +34,14 @@ src_compile() {
emake \
PREFIX="${EPREFIX}/usr" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- STRIP=""
+ 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-0.20.8.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.5.ebuild
index f44668ee69e9..15f132d978a3 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.20.8.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-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
EAPI=8
@@ -16,17 +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" )
-
-# 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,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-0.22.6.ebuild b/dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild
new file mode 100644
index 000000000000..c3ae4d33678e
--- /dev/null
+++ b/dev-libs/tree-sitter/tree-sitter-0.22.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="Tree-sitter is a parser generator tool and an incremental parsing library"
+HOMEPAGE="https://github.com/tree-sitter/tree-sitter"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}/${PN}"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+fi
+
+LICENSE="MIT"
+# ABI is not stable. Revisit after tree-sitter-1.0.
+# https://bugs.gentoo.org/930039
+# https://github.com/tree-sitter/tree-sitter/pull/3302
+SLOT="0/${PV}"
+RESTRICT="test" # tests are for CLI and not the lib
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+}
+
+src_compile() {
+ emake \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ STRIP="" # bug 930020
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+}
+
+pkg_postinst() {
+ optfeature "building and testing grammars" dev-util/tree-sitter-cli
+}
diff --git a/dev-libs/tree-sitter/tree-sitter-9999.ebuild b/dev-libs/tree-sitter/tree-sitter-9999.ebuild
index 1725e8da5f49..178a494dffc9 100644
--- a/dev-libs/tree-sitter/tree-sitter-9999.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-9999.ebuild
@@ -16,10 +16,14 @@ 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}-0.20.9-no-static.patch"
+ "${FILESDIR}/${PN}-0.22.2-no-static.patch"
)
src_prepare() {
@@ -30,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/tvmet/tvmet-1.7.2-r2.ebuild b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
index 4f79060709e0..f31dbeb77343 100644
--- a/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
+++ b/dev-libs/tvmet/tvmet-1.7.2-r2.ebuild
@@ -5,7 +5,7 @@ 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"
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/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.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 c9ce4ee7c314..647b70e51a11 100644
--- a/dev-libs/vala-common/Manifest
+++ b/dev-libs/vala-common/Manifest
@@ -1,2 +1,2 @@
-DIST vala-0.56.14.tar.xz 4003276 BLAKE2B db6ccca635122ff2089cd61fd8335376eed435f15d9bd7c20837829fe5acc8df49a51194e3bc17d0c24567240cf2519348cc2b0a7b177b971dc037ed39e893de SHA512 f13e7916acaba220bf8a0fb8825bf9a125fadcc13011c4e4f426e5d3a5af650543457294bede66dc5e1c742dd9b55f722a65b880e4737a6b480365c9df4c8c8b
-DIST vala-0.56.15.tar.xz 4014128 BLAKE2B bbed2bc84d08c4eab63c628b21b975c5661590b1fe96921fa43760b5bd0ad21aaa55d460997ae0bc9e1fd7268029a1f0f26f6291f0b346b46dea796973aeb49c SHA512 667a84020ce9739e57f4cab1f2e9350ce5266d85dc4943cfa45b3ce44235f275bc709d40d8ebffd89ca8b5f92844c2a9134bd3ca1276fc2c173ec84f842563f1
+DIST vala-0.56.16.tar.xz 4013716 BLAKE2B 509809a93c70fd6a153fc188aaa3d85cbcc8d37649711ea32521505eb0bdc3fe824d90c538aaa7a7caa1c4faaea9053693b28ae54bdd6c212539a70300f2c33e SHA512 99f69c3c7a5ed89923b55cf035c6d9a5867577b2ecff92dddf5f21aaad1281786e5fcd775833b0f251417caf857f5fe7efbf134fbded427a7b29fa3acb00203a
+DIST vala-0.56.17.tar.xz 4016576 BLAKE2B c4b8d5b7c810893728f82d2cbbf2f0dd70ad17bd4eeb323ab5d31d99f37b5a5508b7d2447f0249f3a925013d7110bb6f145b32c833b990b15f18d9949035293f SHA512 61df98ba6b15d589a1864598a6f69cc3bee9154ba65270fc3a2fb1d0c3a68c32c29b572bcc26d6616d3fa23d53fb41710af3636125507864dd17f47cf27d4723
diff --git a/dev-libs/vala-common/vala-common-0.56.14.ebuild b/dev-libs/vala-common/vala-common-0.56.16.ebuild
index 39e3c39dc4dc..39e3c39dc4dc 100644
--- a/dev-libs/vala-common/vala-common-0.56.14.ebuild
+++ b/dev-libs/vala-common/vala-common-0.56.16.ebuild
diff --git a/dev-libs/vala-common/vala-common-0.56.15.ebuild b/dev-libs/vala-common/vala-common-0.56.17.ebuild
index e12b06c906ca..e12b06c906ca 100644
--- a/dev-libs/vala-common/vala-common-0.56.15.ebuild
+++ b/dev-libs/vala-common/vala-common-0.56.17.ebuild
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 70cae4be0891..20ca649f2cfe 100644
--- a/dev-libs/vectorscan/vectorscan-5.4.11.ebuild
+++ b/dev-libs/vectorscan/vectorscan-5.4.11.ebuild
@@ -19,7 +19,7 @@ S="${WORKDIR}/${PN}-${P}"
LICENSE="BSD"
SLOT="0/5"
-KEYWORDS="amd64 ~x86"
+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 f8951e9f1212..58bc798ee75b 100644
--- a/dev-libs/wayland-protocols/Manifest
+++ b/dev-libs/wayland-protocols/Manifest
@@ -1,2 +1 @@
-DIST wayland-protocols-1.32.tar.xz 90452 BLAKE2B 80e38270526c9da13c39263a60e7d2c330a1a4b1dfecec03fadda747f1a2e3dff95b30373aa19e133ae999fa15bdcdd64aa9ebbb54acf571f980a3f6088ea9be SHA512 90bbd52daf342b98823ddeed04e349ae242d2eaf925ab8d603cceb36c980c83b5681bb890961e0d49584cb5c2e60a33abf8821770c6ab87956383630bd5b7966
-DIST wayland-protocols-1.33.tar.xz 91504 BLAKE2B aee870dd5877b0fce05eac396bd1a8cd0bc5ef1ac014c54f3eb0096ac1ea3425d1e66891db29ba2f020586418500163bfe451c4078a86d1d19d0b1548318cc85 SHA512 4584f6ac86367655f9db5d0c0ed0681efa31e73f984e4b620fbe5317df21790927f4f5317ecbbc194ac31eaf88caebc431bcc52c23d9dc0098c71de3cb4a9fef
+DIST wayland-protocols-1.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.32.ebuild
deleted file mode 100644
index 04d709642ab9..000000000000
--- a/dev-libs/wayland-protocols/wayland-protocols-1.32.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson
-
-DESCRIPTION="Wayland protocol files"
-HOMEPAGE="https://wayland.freedesktop.org/"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/${PN}.git/"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- test? ( dev-libs/wayland )
-"
-RDEPEND=""
-BDEPEND="
- dev-util/wayland-scanner
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- $(meson_use test tests)
- )
- meson_src_configure
-}
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.33.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.36.ebuild
index 7820286edec2..e0d8761901b5 100644
--- a/dev-libs/wayland-protocols/wayland-protocols-1.33.ebuild
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.36.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then
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"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
LICENSE="MIT"
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.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/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 2e4783560fc4..a92c370bfe99 100644
--- a/dev-libs/weston/metadata.xml
+++ b/dev-libs/weston/metadata.xml
@@ -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 bc2cf895ccd5..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] <net-misc/freerdp-3 )
+ 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 d7509b4db950..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] <net-misc/freerdp-3 )
+ rdp? ( >=net-misc/freerdp-2.3.0:2=[server] )
remoting? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)
- seatd? ( sys-auth/seatd:= )
- systemd? (
- sys-auth/pambase[systemd]
- >=sys-apps/dbus-1.6
- >=sys-apps/systemd-209[pam]
+ systemd? ( sys-apps/systemd )
+ vnc? (
+ =dev-libs/aml-0.3*
+ =gui-libs/neatvnc-0.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 bc2cf895ccd5..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] <net-misc/freerdp-3 )
+ 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 bc2cf895ccd5..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] <net-misc/freerdp-3 )
+ 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 6a2473fc1c7f..beb96a63de6f 100644
--- a/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
+++ b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
@@ -44,6 +44,7 @@ BDEPEND+="
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 88309b909407..13753c18e646 100644
--- a/dev-libs/xalan-c/xalan-c-9999.ebuild
+++ b/dev-libs/xalan-c/xalan-c-9999.ebuild
@@ -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
@@ -43,6 +43,7 @@ BDEPEND+="
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 2106b86d431a..bbd937c2b8d7 100644
--- a/dev-libs/xapian-bindings/Manifest
+++ b/dev-libs/xapian-bindings/Manifest
@@ -1,3 +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.24.tar.xz 1112744 BLAKE2B 1910ad8b78c9ae011b51001e90d74eaa2ecc9ff0c44dae34e1a63a3de79e041dd25e6c0aff06e1cf954aecd0a2ab899f7474c25fddc55676dcad6bf8d12eae14 SHA512 e3d178679aaaf99efa1a19f764014f835783e72b057cb8c8a83eb4cb610e93bd4e6756410321770f6d7fa14986c71be19aaa140fb8267a848d4c8c96cc26d540
+DIST xapian-bindings-1.4.25.tar.xz 1076644 BLAKE2B 190c560d341039c68b35421c1a75e791537f9c2c353a5f0871d45055909e2863cd4ede3062a6b641e1572b74db8c049a0266a6c305e7d41bfb5d5c63057ef3e3 SHA512 119f62b53d487319e33aaf0c473e479a52b3831a46b23724188dada13f341e08facc7b79641c00ba7b0507c22b55c7b700182e65b5a195cd322be2098bcca183
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild
deleted file mode 100644
index 5398a4350466..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.22.ebuild
+++ /dev/null
@@ -1,346 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1,3,4} luajit )
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php8-1 php8-2"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby30 ruby31 ruby32"
-RUBY_OPTIONAL="yes"
-
-# mono-env does not support EAPI 8
-inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
-
-DESCRIPTION="SWIG and JNI bindings for Xapian"
-HOMEPAGE="https://xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
-S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="java lua mono perl php python ruby tcl"
-REQUIRED_USE="
- || ( java lua mono perl php python ruby tcl )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )
-"
-
-COMMONDEPEND="
- >=dev-libs/xapian-1.4.21
- lua? ( ${LUA_DEPS} )
- mono? ( dev-lang/mono )
- perl? ( dev-lang/perl:= )
- php? ( dev-lang/php:=[-threads] )
- python? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- ${PYTHON_DEPS}
- )
- ruby? ( $(ruby_implementations_depend) )
- tcl? ( dev-lang/tcl:= )
-"
-DEPEND="
- ${COMMONDEPEND}
- virtual/pkgconfig
- java? ( >=virtual/jdk-1.8:* )
-"
-RDEPEND="
- ${COMMONDEPEND}
- java? ( >=virtual/jre-1.8:* )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-remove-precompiled-python.patch
- "${FILESDIR}"/${P}-fix-java-installation.patch
-)
-
-has_basic_bindings() {
- # Update this list if new bindings are added that are not built
- # multiple times for multiple versions like lua, php, python and ruby are
- return $(use mono || use java || use perl || use tcl)
-}
-
-php_copy_sources() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_copy_sources
-}
-
-php_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_foreach_variant "$@"
-}
-
-ruby_copy_sources() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_copy_sources
-}
-
-ruby_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_foreach_variant "$@"
-}
-
-pkg_setup() {
- use mono && mono-env_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- # Unfortunately required for php-ext-source-r3_createinifiles().
- mkdir "${WORKDIR}/${php_slot}"
- done
- fi
-}
-
-src_prepare() {
- eapply "${PATCHES[@]}"
- eautoreconf
-
- use java && java-pkg-opt-2_src_prepare
-
- # https://trac.xapian.org/ticket/702
- export XAPIAN_CONFIG="/usr/bin/xapian-config"
-
- if use lua; then
- lua_copy_sources
- fi
-
- if use php; then
- php_copy_sources
- fi
-
- if use python; then
- python_copy_sources
- fi
-
- if use ruby; then
- ruby_copy_sources
- fi
-
- eapply_user
-}
-
-src_configure() {
- # Needed to get e.g. test failure details
- MAKEOPTS+=" VERBOSE=1"
-
- if has_basic_bindings ; then
- local conf=(
- --disable-documentation
- $(use_with mono csharp)
- $(use_with java)
- $(use_with perl)
- $(use_with tcl)
- --without-lua
- --without-php
- --without-python
- --without-python3
- --without-ruby
- )
-
- if use java; then
- local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
- fi
-
- if use perl; then
- local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
- local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
- fi
-
- econf "${conf[@]}"
- fi
-
- lua_configure() {
- local myconf=(
- --disable-documentation
- --without-csharp
- --without-java
- --without-perl
- --without-tcl
- --without-php
- --without-python
- --without-python3
- --without-ruby
- --with-lua
- )
-
- local -x LUA_INC="$(lua_get_include_dir)"
- local -x LUA_LIB="$(lua_get_cmod_dir)"
-
- econf "${myconf[@]}"
-
- }
-
- if use lua; then
- lua_foreach_impl run_in_build_dir lua_configure
- fi
-
- php_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-python
- --without-python3
- --without-ruby
- --without-tcl
- --with-php
- )
- local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
-
- econf "${myconf[@]}"
- }
-
- if use php; then
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- php_foreach_impl run_in_build_dir php_configure
- fi
-
- python_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-ruby
- --without-tcl
- --with-python3
- )
-
- # Avoid sandbox failures when compiling modules
- addpredict "$(python_get_sitedir)"
-
- econf "${myconf[@]}"
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir python_configure
- fi
-
- ruby_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-python
- --without-python3
- --with-ruby
- --without-tcl
- )
- local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
-
- econf "${myconf[@]}"
- }
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir ruby_configure
- fi
-}
-
-src_compile() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake
- fi
-
- if use python; then
- unset PYTHONDONTWRITEBYTECODE
- python_foreach_impl run_in_build_dir emake
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake
- fi
-}
-
-src_test() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake check
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake check
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake check
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake check
- fi
-}
-
-src_install() {
- if has_basic_bindings ; then
- emake DESTDIR="${D}" install
- fi
-
- if use java; then
- java-pkg_dojar java/built/xapian.jar
- java-pkg_doso java/.libs/libxapian_jni.so
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- php-ext-source-r3_createinifiles
- # php-ext-source-r3_createinifiles() changes current directory.
- cd "${S}"
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- python_foreach_impl python_optimize
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
- fi
-
- # For some USE combinations this directory is not created
- if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
- mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild
deleted file mode 100644
index afb64e3d13bd..000000000000
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.23.ebuild
+++ /dev/null
@@ -1,346 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1,3,4} luajit )
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-USE_PHP="php8-1 php8-2"
-
-PHP_EXT_NAME="xapian"
-PHP_EXT_INI="yes"
-PHP_EXT_OPTIONAL_USE="php"
-
-USE_RUBY="ruby30 ruby31 ruby32"
-RUBY_OPTIONAL="yes"
-
-# mono-env does not support EAPI 8
-inherit autotools java-pkg-opt-2 lua mono-env multibuild php-ext-source-r3 python-r1 ruby-ng
-
-DESCRIPTION="SWIG and JNI bindings for Xapian"
-HOMEPAGE="https://xapian.org/"
-SRC_URI="https://oligarchy.co.uk/xapian/${PV}/${P}.tar.xz"
-S="${WORKDIR}/${P}" # need this here, some inherited eclasses change it
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE="java lua mono perl php python ruby tcl"
-REQUIRED_USE="
- || ( java lua mono perl php python ruby tcl )
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
- ruby? ( || ( $(ruby_get_use_targets) ) )
-"
-
-COMMONDEPEND="
- >=dev-libs/xapian-1.4.23
- lua? ( ${LUA_DEPS} )
- mono? ( dev-lang/mono )
- perl? ( dev-lang/perl:= )
- php? ( dev-lang/php:=[-threads] )
- python? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- ${PYTHON_DEPS}
- )
- ruby? ( $(ruby_implementations_depend) )
- tcl? ( dev-lang/tcl:= )
-"
-DEPEND="
- ${COMMONDEPEND}
- virtual/pkgconfig
- java? ( >=virtual/jdk-1.8:* )
-"
-RDEPEND="
- ${COMMONDEPEND}
- java? ( >=virtual/jre-1.8:* )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.22-remove-precompiled-python.patch
- "${FILESDIR}"/${PN}-1.4.22-fix-java-installation.patch
-)
-
-has_basic_bindings() {
- # Update this list if new bindings are added that are not built
- # multiple times for multiple versions like lua, php, python and ruby are
- return $(use mono || use java || use perl || use tcl)
-}
-
-php_copy_sources() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_copy_sources
-}
-
-php_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(php_get_slots))
- multibuild_foreach_variant "$@"
-}
-
-ruby_copy_sources() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_copy_sources
-}
-
-ruby_foreach_impl() {
- local MULTIBUILD_VARIANTS=($(ruby_get_use_implementations))
- multibuild_foreach_variant "$@"
-}
-
-pkg_setup() {
- use mono && mono-env_pkg_setup
- use java && java-pkg-opt-2_pkg_setup
-}
-
-src_unpack() {
- default
-
- if use php; then
- local php_slot
- for php_slot in $(php_get_slots); do
- # Unfortunately required for php-ext-source-r3_createinifiles().
- mkdir "${WORKDIR}/${php_slot}"
- done
- fi
-}
-
-src_prepare() {
- eapply "${PATCHES[@]}"
- eautoreconf
-
- use java && java-pkg-opt-2_src_prepare
-
- # https://trac.xapian.org/ticket/702
- export XAPIAN_CONFIG="/usr/bin/xapian-config"
-
- if use lua; then
- lua_copy_sources
- fi
-
- if use php; then
- php_copy_sources
- fi
-
- if use python; then
- python_copy_sources
- fi
-
- if use ruby; then
- ruby_copy_sources
- fi
-
- eapply_user
-}
-
-src_configure() {
- # Needed to get e.g. test failure details
- MAKEOPTS+=" VERBOSE=1"
-
- if has_basic_bindings ; then
- local conf=(
- --disable-documentation
- $(use_with mono csharp)
- $(use_with java)
- $(use_with perl)
- $(use_with tcl)
- --without-lua
- --without-php
- --without-python
- --without-python3
- --without-ruby
- )
-
- if use java; then
- local -x CXXFLAGS="${CXXFLAGS} $(java-pkg_get-jni-cflags)"
- fi
-
- if use perl; then
- local -x PERL_ARCH="$(perl -MConfig -e 'print $Config{installvendorarch}')"
- local -x PERL_LIB="$(perl -MConfig -e 'print $Config{installvendorlib}')"
- fi
-
- econf "${conf[@]}"
- fi
-
- lua_configure() {
- local myconf=(
- --disable-documentation
- --without-csharp
- --without-java
- --without-perl
- --without-tcl
- --without-php
- --without-python
- --without-python3
- --without-ruby
- --with-lua
- )
-
- local -x LUA_INC="$(lua_get_include_dir)"
- local -x LUA_LIB="$(lua_get_cmod_dir)"
-
- econf "${myconf[@]}"
-
- }
-
- if use lua; then
- lua_foreach_impl run_in_build_dir lua_configure
- fi
-
- php_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-python
- --without-python3
- --without-ruby
- --without-tcl
- --with-php
- )
- local -x PHP_CONFIG="${EPREFIX}/usr/$(get_libdir)/${MULTIBUILD_VARIANT/-/.}/bin/php-config"
-
- econf "${myconf[@]}"
- }
-
- if use php; then
- addpredict /usr/share/snmp/mibs/.index
- addpredict /var/lib/net-snmp/mib_indexes
-
- php_foreach_impl run_in_build_dir php_configure
- fi
-
- python_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-ruby
- --without-tcl
- --with-python3
- )
-
- # Avoid sandbox failures when compiling modules
- addpredict "$(python_get_sitedir)"
-
- econf "${myconf[@]}"
- }
-
- if use python; then
- python_foreach_impl run_in_build_dir python_configure
- fi
-
- ruby_configure() {
- local myconf=(
- --disable-documentation
- --without-java
- --without-lua
- --without-csharp
- --without-perl
- --without-php
- --without-python
- --without-python3
- --with-ruby
- --without-tcl
- )
- local -x RUBY="${EPREFIX}/usr/bin/${MULTIBUILD_VARIANT}"
-
- econf "${myconf[@]}"
- }
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir ruby_configure
- fi
-}
-
-src_compile() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake
- fi
-
- if use python; then
- unset PYTHONDONTWRITEBYTECODE
- python_foreach_impl run_in_build_dir emake
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake
- fi
-}
-
-src_test() {
- if has_basic_bindings ; then
- default
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake check
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake check
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake check
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake check
- fi
-}
-
-src_install() {
- if has_basic_bindings ; then
- emake DESTDIR="${D}" install
- fi
-
- if use java; then
- java-pkg_dojar java/built/xapian.jar
- java-pkg_doso java/.libs/libxapian_jni.so
- fi
-
- if use lua; then
- lua_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- fi
-
- if use php; then
- php_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- php-ext-source-r3_createinifiles
- # php-ext-source-r3_createinifiles() changes current directory.
- cd "${S}"
- fi
-
- if use python; then
- python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- python_foreach_impl python_optimize
- fi
-
- if use ruby; then
- ruby_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
- find "${ED}"/usr/share/doc/${PF}/ruby/rdocs/js -name \*.gz -delete || die
- fi
-
- # For some USE combinations this directory is not created
- if [[ -d "${ED}/usr/share/doc/xapian-bindings" ]]; then
- mv "${ED}/usr/share/doc/xapian-bindings" "${ED}/usr/share/doc/${PF}" || die
- fi
-
- dodoc AUTHORS HACKING NEWS TODO README
-}
diff --git a/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild b/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild
index bc39434724f1..d99912763f30 100644
--- a/dev-libs/xapian-bindings/xapian-bindings-1.4.24.ebuild
+++ b/dev-libs/xapian-bindings/xapian-bindings-1.4.25.ebuild
@@ -5,7 +5,7 @@ EAPI=7
LUA_COMPAT=( lua5-{1,3,4} luajit )
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
USE_PHP="php8-1 php8-2"
@@ -27,7 +27,7 @@ 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 )
diff --git a/dev-libs/xapian/Manifest b/dev-libs/xapian/Manifest
index eadeb4dd7e64..ba492762f95a 100644
--- a/dev-libs/xapian/Manifest
+++ b/dev-libs/xapian/Manifest
@@ -1,3 +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.24.tar.xz 3194164 BLAKE2B fc3484df448d2102d47005b2819eea8eee3fdb4337a42967e2b535187e4b7be9841a8e12b19291f29bdef52b3270529f94376fe91d5e4c70afebaf690a23b18f SHA512 2b156dd90784264d6bf64e66aca559578f946c013bb52e14e56fcd96e9c2fece71c236735b13d2baad0d7f2d410dea3ae54c94cd80f735baf1071bafe2e5c01c
+DIST xapian-core-1.4.25.tar.xz 3205904 BLAKE2B 7b03a8fabc3c688f58b3451541dedb664de0a02d7c46a4e8eac080c004232575c00428110eaab0ea463df5c3f43f2b4cebfbe6754f897e55f113683c1db43b2b SHA512 e8069f2cb75554978716a99580fb57fc73bbdd607c82394f53d07205d8c78fb59265004be0c676a6806bb2840a3933499dfc867e36a28855278569a0676d469d
diff --git a/dev-libs/xapian/metadata.xml b/dev-libs/xapian/metadata.xml
index 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.24.ebuild b/dev-libs/xapian/xapian-1.4.25.ebuild
index dc4d3f009870..7f9b48eb845c 100644
--- a/dev-libs/xapian/xapian-1.4.24.ebuild
+++ b/dev-libs/xapian/xapian-1.4.25.ebuild
@@ -13,7 +13,7 @@ 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"
+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="
@@ -57,6 +57,10 @@ src_configure() {
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.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.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 4e7bce5e9e18..2ff3cf44a5bc 100644
--- a/dev-libs/xerces-c/xerces-c-9999.ebuild
+++ b/dev-libs/xerces-c/xerces-c-9999.ebuild
@@ -34,7 +34,6 @@ BDEPEND="
DOCS=( CREDITS KEYS NOTICE README )
PATCHES=(
- "${FILESDIR}"/${PN}-3.2.2-fix-XERCESC-2163.patch
"${FILESDIR}"/${PN}-3.2.4-strict-aliasing.patch
)
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 140979cfaa37..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
@@ -5,14 +5,14 @@ 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/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 a6d977704744..1a4adea18094 100644
--- a/dev-libs/xmlsec/Manifest
+++ b/dev-libs/xmlsec/Manifest
@@ -1,5 +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/xmlsec-1.3.2.ebuild b/dev-libs/xmlsec/xmlsec-1.2.39.ebuild
index a64cafb9198d..5fcdd6b380de 100644
--- a/dev-libs/xmlsec/xmlsec-1.3.2.ebuild
+++ b/dev-libs/xmlsec/xmlsec-1.2.39.ebuild
@@ -3,34 +3,34 @@
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"
+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="
- || ( gnutls nss openssl )
+ || ( gcrypt gnutls nss openssl )
+ gnutls? ( gcrypt )
"
RDEPEND="
- >=dev-libs/libxml2-2.7.4
+ >=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-3.6.13:= )
+ gnutls? ( >=net-libs/gnutls-2.8.0:= )
nss? (
>=dev-libs/nspr-4.4.1
>=dev-libs/nss-3.9
)
- openssl? ( dev-libs/openssl:= )
+ openssl? (
+ dev-libs/openssl:=
+ )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -43,43 +43,21 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}"/${PN}-1.3.0-optimisation.patch
- "${FILESDIR}"/${P}-libxml2-2.12.0-includes.patch
+ "${FILESDIR}"/${PN}-1.2.37-libressl.patch # bug #903001
)
-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[@]}"
+ 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() {
diff --git a/dev-libs/xmlsec/xmlsec-1.3.3.ebuild b/dev-libs/xmlsec/xmlsec-1.3.4.ebuild
index f0324bc08612..f0324bc08612 100644
--- a/dev-libs/xmlsec/xmlsec-1.3.3.ebuild
+++ b/dev-libs/xmlsec/xmlsec-1.3.4.ebuild
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/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.8.0.ebuild b/dev-libs/yyjson/yyjson-0.10.0.ebuild
index 0d2e0008ec22..d9b3e44def4d 100644
--- a/dev-libs/yyjson/yyjson-0.8.0.ebuild
+++ b/dev-libs/yyjson/yyjson-0.10.0.ebuild
@@ -10,8 +10,8 @@ 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 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="doc test"
diff --git a/dev-libs/yyjson/yyjson-0.9.0.ebuild b/dev-libs/yyjson/yyjson-0.9.0.ebuild
new file mode 100644
index 000000000000..8cf40aaa1dd9
--- /dev/null
+++ b/dev-libs/yyjson/yyjson-0.9.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fast JSON library in C"
+HOMEPAGE="https://github.com/ibireme/yyjson https://ibireme.github.io/yyjson/doc/doxygen/html/"
+SRC_URI="https://github.com/ibireme/yyjson/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT test? ( BSD )"
+SLOT="0/0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
+
+IUSE="doc test"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-disable-werror.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DYYJSON_BUILD_DOC=$(usex doc)
+ -DYYJSON_BUILD_TESTS=$(usex test)
+ -DYYJSON_ENABLE_VALGRIND=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doxygen/html
+}
diff --git a/dev-libs/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 08b64a050964..000000000000
--- a/dev-libs/zthread/zthread-2.3.2-r5.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-MY_P="ZThread-${PV}"
-
-DESCRIPTION="platform-independent multi-threading and synchronization library for C++"
-HOMEPAGE="http://zthread.sourceforge.net/"
-SRC_URI="mirror://sourceforge/zthread/${MY_P}.tar.gz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm64 ~hppa ~mips ppc ~sparc x86"
-IUSE="debug doc"
-
-BDEPEND="doc? ( app-text/doxygen )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-fpermissive-r1.diff
- "${FILESDIR}"/${P}-m4-quote.patch
- "${FILESDIR}"/${P}-automake-r2.patch
- "${FILESDIR}"/${P}-gcc47.patch
- "${FILESDIR}"/${P}-clang.patch
- "${FILESDIR}"/${P}-configure-clang16.patch
-)
-
-src_prepare() {
- default
-
- rm -f include/zthread/{.Barrier.h.swp,Barrier.h.orig} || die
-
- # bug #467778
- sed -i -e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
-
- AT_M4DIR="share" eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable kernel_linux atomic-linux)
-}
-
-src_compile() {
- default
-
- if use doc; then
- doxygen doc/zthread.doxygen || die
- sed -i -e 's|href="html/|href="|' doc/documentation.html || die
- cp doc/documentation.html doc/html/index.html || die
- cp doc/{zthread.css,bugs.js} doc/html/ || die
- fi
-}
-
-src_install() {
- default
-
- use doc && dodoc -r doc/html
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-libs/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/zziplib-0.13.72-r3.ebuild b/dev-libs/zziplib/zziplib-0.13.72-r3.ebuild
deleted file mode 100644
index f220fc191712..000000000000
--- a/dev-libs/zziplib/zziplib-0.13.72-r3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-# Needed for docs, bug #835755
-PYTHON_REQ_USE="xml(+)"
-inherit cmake flag-o-matic python-any-r1
-
-DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file"
-HOMEPAGE="https://github.com/gdraheim/zziplib https://zziplib.sourceforge.net"
-SRC_URI="https://github.com/gdraheim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
-SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="sdl static-libs"
-
-# Tests require internet access
-# https://github.com/gdraheim/zziplib/issues/24
-
-BDEPEND="
- ${PYTHON_DEPS}
-"
-DEPEND="
- sys-libs/zlib
- sdl? ( >=media-libs/libsdl-1.2.6 )
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.13.72-Wint-conversion.patch
-)
-
-src_configure() {
- # https://github.com/gdraheim/zziplib/commit/f3bfc0dd6663b7df272cc0cf17f48838ad724a2f#diff-b7b1e314614cf326c6e2b6eba1540682R100
- append-flags -fno-strict-aliasing
- # https://github.com/gdraheim/zziplib/issues/140 (bug #869980)
- append-flags $(test-flags-CC -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion)
-
- local mycmakeargs=(
- -DZZIPSDL="$(usex sdl)"
- -DBUILD_STATIC_LIBS="$(usex static-libs)"
- -DBUILD_TESTS=OFF
- -DZZIPTEST=OFF
- -DZZIPDOCS=ON
- -DZZIPWRAP=OFF
- )
-
- cmake_src_configure
-}
diff --git a/dev-libs/zziplib/zziplib-0.13.74.ebuild b/dev-libs/zziplib/zziplib-0.13.74.ebuild
new file mode 100644
index 000000000000..cef1f31dd237
--- /dev/null
+++ b/dev-libs/zziplib/zziplib-0.13.74.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+# Needed for docs, bug #835755
+PYTHON_REQ_USE="xml(+)"
+inherit cmake flag-o-matic python-any-r1
+
+TEST_PV="0.13.74"
+DESCRIPTION="Lightweight library for extracting data from files archived in a single zip file"
+HOMEPAGE="https://github.com/gdraheim/zziplib https://zziplib.sourceforge.net"
+# Test data tarball generated with python ./zziptests.py -D -d /tmp/zziplib -v
+SRC_URI="
+ https://github.com/gdraheim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_PV}-testdata.tar.xz )
+"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="sdl test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ app-arch/unzip
+ app-arch/zip
+ )
+"
+DEPEND="
+ sys-libs/zlib
+ sdl? ( >=media-libs/libsdl-1.2.6 )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # This test assumes being built with automake (checks for .libs/x).
+ sed -i -e 's/test_91000_zzshowme_check_sfx/skip_&/' test/zziptests.py || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # https://github.com/gdraheim/zziplib/commit/f3bfc0dd6663b7df272cc0cf17f48838ad724a2f#diff-b7b1e314614cf326c6e2b6eba1540682R100
+ append-flags -fno-strict-aliasing
+
+ local mycmakeargs=(
+ -DZZIPSDL=$(usex sdl)
+ -DBUILD_TESTS=$(usex test)
+ -DZZIPTEST=$(usex test)
+ -DZZIPDOCS=ON
+ -DZZIPWRAP=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${S}" || die
+ "${EPYTHON}" "${S}"/test/zziptests.py \
+ --downloads=no \
+ --verbose \
+ --topsrcdir "${S}" \
+ --bindir "$(realpath --relative-to="${S}" "${BUILD_DIR}"/bins)" \
+ --downloaddir "${WORKDIR}"/${PN}-${TEST_PV}-testdata \
+ --testdatadir "${T}"/testdata.d \
+ || die "Tests failed with ${EPYTHON}"
+}
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}"
+}