summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/apache-arrow/apache-arrow-19.0.0.ebuild2
-rw-r--r--dev-libs/bglibs/bglibs-2.04-r3.ebuild84
-rw-r--r--dev-libs/bglibs/files/bglibs-2.04-feature-tests.patch198
-rw-r--r--dev-libs/bglibs/files/bglibs-2.04-musl.patch100
-rw-r--r--dev-libs/botan/Manifest2
-rw-r--r--dev-libs/botan/botan-3.7.1.ebuild224
-rw-r--r--dev-libs/cowsql/Manifest1
-rw-r--r--dev-libs/cowsql/cowsql-1.15.7.ebuild53
-rw-r--r--dev-libs/flatbuffers/flatbuffers-25.1.24.ebuild2
-rw-r--r--dev-libs/girara/girara-0.4.4.ebuild4
-rw-r--r--dev-libs/hipother/Manifest1
-rw-r--r--dev-libs/hipother/hipother-6.3.2.ebuild22
-rw-r--r--dev-libs/isa-l/isa-l-2.31.0.ebuild4
-rw-r--r--dev-libs/kopeninghours/Manifest1
-rw-r--r--dev-libs/kopeninghours/kopeninghours-24.12.2.ebuild63
-rw-r--r--dev-libs/kosmindoormap/Manifest1
-rw-r--r--dev-libs/kosmindoormap/kosmindoormap-24.12.2.ebuild48
-rw-r--r--dev-libs/kpublictransport/Manifest1
-rw-r--r--dev-libs/kpublictransport/kpublictransport-24.12.2.ebuild39
-rw-r--r--dev-libs/kqoauth/Manifest1
-rw-r--r--dev-libs/kqoauth/kqoauth-0.98-r3.ebuild53
-rw-r--r--dev-libs/kqoauth/metadata.xml15
-rw-r--r--dev-libs/kweathercore/Manifest1
-rw-r--r--dev-libs/kweathercore/kweathercore-24.12.2.ebuild32
-rw-r--r--dev-libs/level-zero/Manifest1
-rw-r--r--dev-libs/level-zero/level-zero-1.20.3.ebuild36
-rw-r--r--dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.2.0.ebuild2
-rw-r--r--dev-libs/libffi/libffi-3.4.6-r3.ebuild94
-rw-r--r--dev-libs/libffi/libffi-9999.ebuild6
-rw-r--r--dev-libs/libqtxdg/libqtxdg-4.1.0.ebuild2
-rw-r--r--dev-libs/libzip/libzip-1.11.2-r1.ebuild2
-rw-r--r--dev-libs/libzip/libzip-1.11.3.ebuild2
-rw-r--r--dev-libs/nspr/Manifest1
-rw-r--r--dev-libs/nspr/nspr-4.35-r2.ebuild178
-rw-r--r--dev-libs/nss/Manifest2
-rw-r--r--dev-libs/nss/files/nss-3.101.3-update-expected-error-code-in-pkg12util-pbmac1-tests.patch49
-rw-r--r--dev-libs/nss/nss-3.101.3.ebuild419
-rw-r--r--dev-libs/nss/nss-3.108.ebuild427
-rw-r--r--dev-libs/openssl/files/openssl-3.3.2-arm64-clobber.patch55
-rw-r--r--dev-libs/openssl/openssl-3.3.2-r3.ebuild306
-rw-r--r--dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.16.0.ebuild2
-rw-r--r--dev-libs/qcoro5/Manifest1
-rw-r--r--dev-libs/qcoro5/metadata.xml18
-rw-r--r--dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild71
-rw-r--r--dev-libs/rocdbgapi/Manifest1
-rw-r--r--dev-libs/rocdbgapi/rocdbgapi-6.3.2.ebuild67
-rw-r--r--dev-libs/rocksdb/Manifest4
-rw-r--r--dev-libs/rocksdb/metadata.xml8
-rw-r--r--dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild12
-rw-r--r--dev-libs/rocksdb/rocksdb-8.11.3.ebuild13
-rw-r--r--dev-libs/rocksdb/rocksdb-9.10.0.ebuild (renamed from dev-libs/rocksdb/rocksdb-9.9.3.ebuild)6
-rw-r--r--dev-libs/rocksdb/rocksdb-9.7.4.ebuild80
-rw-r--r--dev-libs/rocksdb/rocksdb-9.8.4.ebuild80
-rw-r--r--dev-libs/rocm-comgr/Manifest1
-rw-r--r--dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch14
-rw-r--r--dev-libs/rocm-comgr/rocm-comgr-6.3.2.ebuild88
-rw-r--r--dev-libs/rocm-device-libs/Manifest1
-rw-r--r--dev-libs/rocm-device-libs/rocm-device-libs-6.3.2.ebuild99
-rw-r--r--dev-libs/rocm-opencl-runtime/Manifest1
-rw-r--r--dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.3.2.ebuild101
-rw-r--r--dev-libs/rocr-runtime/Manifest1
-rw-r--r--dev-libs/rocr-runtime/rocr-runtime-6.3.2.ebuild68
-rw-r--r--dev-libs/roct-thunk-interface/Manifest1
-rw-r--r--dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.2.ebuild92
-rw-r--r--dev-libs/skalibs/skalibs-2.14.3.0.ebuild4
-rw-r--r--dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild4
-rw-r--r--dev-libs/wayland-protocols/Manifest1
-rw-r--r--dev-libs/wayland-protocols/wayland-protocols-1.40.ebuild37
-rw-r--r--dev-libs/xxhash/Manifest2
-rw-r--r--dev-libs/xxhash/xxhash-0.8.1.ebuild40
-rw-r--r--dev-libs/xxhash/xxhash-0.8.3.ebuild42
71 files changed, 2928 insertions, 566 deletions
diff --git a/dev-libs/apache-arrow/apache-arrow-19.0.0.ebuild b/dev-libs/apache-arrow/apache-arrow-19.0.0.ebuild
index 9ac405157cf5..396c0fd62e90 100644
--- a/dev-libs/apache-arrow/apache-arrow-19.0.0.ebuild
+++ b/dev-libs/apache-arrow/apache-arrow-19.0.0.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${P}/cpp"
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~riscv ~s390 ~x86"
+KEYWORDS="~amd64 ~arm arm64 ~hppa ~loong ~riscv ~s390 ~x86"
IUSE="
+brotli bzip2 compute dataset +json lz4 +parquet re2 +snappy ssl
test zlib zstd
diff --git a/dev-libs/bglibs/bglibs-2.04-r3.ebuild b/dev-libs/bglibs/bglibs-2.04-r3.ebuild
new file mode 100644
index 000000000000..cf69431cce50
--- /dev/null
+++ b/dev-libs/bglibs/bglibs-2.04-r3.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Bruce Guenter's Libraries Collection"
+HOMEPAGE="https://untroubled.org/bglibs/"
+SRC_URI="https://untroubled.org/bglibs/archive/${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="doc"
+
+BDEPEND="
+ sys-apps/which
+ dev-build/libtool
+ doc? (
+ app-text/doxygen
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ virtual/latex-base
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/bglibs-2.04-stack-buffers.patch
+ "${FILESDIR}"/bglibs-2.04-feature-tests.patch
+ "${FILESDIR}"/bglibs-2.04-musl.patch
+)
+
+src_prepare() {
+ default
+ # disable tests as we want them manually
+ sed -i '/^all:/s|selftests||' Makefile || die
+ sed -i '/selftests/d' TARGETS || die
+}
+
+src_configure() {
+ echo "$(tc-getCC) ${CFLAGS}" > conf-cc || die
+ echo "$(tc-getCC) ${LDFLAGS}" > conf-ld || die
+}
+
+src_compile() {
+ # Parallel build fails, bug #343617
+ MAKEOPTS+=" -j1" default
+
+ if use doc; then
+ emake -C doc/latex pdf
+ fi
+}
+
+src_test() {
+ einfo "Running selftests"
+ emake selftests
+}
+
+src_install() {
+ echo "${ED}/usr/bin" > conf-bin || die
+ echo "${ED}/usr/$(get_libdir)/bglibs" > conf-lib || die
+ echo "${ED}/usr/include" > conf-include || die
+ echo "${ED}/usr/share/man" > conf-man || die
+
+ default
+
+ # Install .so into LDPATH
+ mv "${ED}"/usr/$(get_libdir)/bglibs/libbg.so.2.0.0 \
+ "${ED}"/usr/$(get_libdir)/ \
+ || die
+ dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so.2
+ dosym libbg.so.2.0.0 /usr/$(get_libdir)/libbg.so
+ dosym ../libbg.so.2.0.0 /usr/$(get_libdir)/bglibs/libbg.so.2.0.0
+
+ rm "${ED}"/usr/$(get_libdir)/bglibs/libbg.la || die
+
+ dodoc ANNOUNCEMENT NEWS README ChangeLog TODO VERSION
+ dodoc -r doc/html/
+ if use doc; then
+ dodoc doc/latex/refman.pdf
+ fi
+}
diff --git a/dev-libs/bglibs/files/bglibs-2.04-feature-tests.patch b/dev-libs/bglibs/files/bglibs-2.04-feature-tests.patch
new file mode 100644
index 000000000000..20cbe9e503ee
--- /dev/null
+++ b/dev-libs/bglibs/files/bglibs-2.04-feature-tests.patch
@@ -0,0 +1,198 @@
+From 2ee0bd3ede22945756d727ee5efa52f593ab0a2f Mon Sep 17 00:00:00 2001
+From: NHOrus <jy6x2b32pie9@yahoo.com>
+Date: Sat, 6 Apr 2024 12:12:13 +0400
+Subject: [PATCH] Feature tests fail to build with GCC-14 or Clang-17
+
+Due to correctly detecting features removed from C99 as major source of errors
+Fixing includes and main signature.
+
+Closes: #6
+---
+ sys/tryflock.c | 2 +-
+ sys/trygetpeereid.c | 2 +-
+ sys/trynamedpipebug.c | 1 +
+ sys/trypoll.c | 1 +
+ sys/trysendfile.c | 2 +-
+ sys/trysigaction.c | 2 +-
+ sys/trysigprocmask.c | 2 +-
+ sys/tryspnam.c | 3 ++-
+ sys/tryulong32.c | 4 +++-
+ sys/tryulong64.c | 4 +++-
+ sys/tryunsetenv.c | 2 +-
+ sys/tryuserpw.c | 2 +-
+ sys/tryvfork.c | 4 +++-
+ sys/trywaitp.c | 2 +-
+ 14 files changed, 21 insertions(+), 12 deletions(-)
+
+diff --git a/sys/tryflock.c b/sys/tryflock.c
+index 8c8aa76..b18743a 100644
+--- a/sys/tryflock.c
++++ b/sys/tryflock.c
+@@ -2,7 +2,7 @@
+ #include <sys/file.h>
+ #include <fcntl.h>
+
+-void main()
++int main()
+ {
+ flock(0,LOCK_EX | LOCK_UN | LOCK_NB);
+ }
+diff --git a/sys/trygetpeereid.c b/sys/trygetpeereid.c
+index cb8b858..e6529ce 100644
+--- a/sys/trygetpeereid.c
++++ b/sys/trygetpeereid.c
+@@ -1,7 +1,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
+-void main()
++int main()
+ {
+ getpeereid();
+ }
+diff --git a/sys/trynamedpipebug.c b/sys/trynamedpipebug.c
+index df688a5..0f53b40 100644
+--- a/sys/trynamedpipebug.c
++++ b/sys/trynamedpipebug.c
+@@ -2,6 +2,7 @@
+ #include <fcntl.h>
+ #include <sys/time.h>
+ #include <unistd.h>
++#include <sys/stat.h>
+
+ int main(void)
+ {
+diff --git a/sys/trypoll.c b/sys/trypoll.c
+index 7a2fd20..0aad538 100644
+--- a/sys/trypoll.c
++++ b/sys/trypoll.c
+@@ -1,6 +1,7 @@
+ #include <sys/types.h>
+ #include <fcntl.h>
+ #include <poll.h>
++#include <unistd.h>
+
+ int main()
+ {
+diff --git a/sys/trysendfile.c b/sys/trysendfile.c
+index 05f67d3..3963cfa 100644
+--- a/sys/trysendfile.c
++++ b/sys/trysendfile.c
+@@ -2,7 +2,7 @@
+ #include <asm/unistd.h>
+ #include <unistd.h>
+
+-void main(void) {
++int main(void) {
+ int x;
+ x = __NR_sendfile;
+ sendfile(0, 1, 0, 0);
+diff --git a/sys/trysigaction.c b/sys/trysigaction.c
+index 263cb21..1471ecc 100644
+--- a/sys/trysigaction.c
++++ b/sys/trysigaction.c
+@@ -1,6 +1,6 @@
+ #include <signal.h>
+
+-void main()
++int main()
+ {
+ struct sigaction sa;
+ sa.sa_handler = 0;
+diff --git a/sys/trysigprocmask.c b/sys/trysigprocmask.c
+index 2797eea..3d73f86 100644
+--- a/sys/trysigprocmask.c
++++ b/sys/trysigprocmask.c
+@@ -1,6 +1,6 @@
+ #include <signal.h>
+
+-main()
++int main()
+ {
+ sigset_t ss;
+
+diff --git a/sys/tryspnam.c b/sys/tryspnam.c
+index 622ba8b..c916217 100644
+--- a/sys/tryspnam.c
++++ b/sys/tryspnam.c
+@@ -1,6 +1,7 @@
+ #include <shadow.h>
++#include <stdio.h>
+
+-void main()
++int main()
+ {
+ struct spwd *spw;
+
+diff --git a/sys/tryulong32.c b/sys/tryulong32.c
+index a108076..1278283 100644
+--- a/sys/tryulong32.c
++++ b/sys/tryulong32.c
+@@ -1,4 +1,6 @@
+-void main()
++#include <unistd.h>
++
++int main()
+ {
+ unsigned long u;
+ u = 1;
+diff --git a/sys/tryulong64.c b/sys/tryulong64.c
+index 01965cb..74b8f0e 100644
+--- a/sys/tryulong64.c
++++ b/sys/tryulong64.c
+@@ -1,4 +1,6 @@
+-main()
++#include <unistd.h>
++
++int main()
+ {
+ unsigned long u;
+ u = 1;
+diff --git a/sys/tryunsetenv.c b/sys/tryunsetenv.c
+index 99f5dcd..cb977e4 100644
+--- a/sys/tryunsetenv.c
++++ b/sys/tryunsetenv.c
+@@ -1,5 +1,5 @@
+ #include <stdlib.h>
+
+-void main(void) {
++int main(void) {
+ unsetenv("PATH");
+ }
+diff --git a/sys/tryuserpw.c b/sys/tryuserpw.c
+index fb14623..a359d27 100644
+--- a/sys/tryuserpw.c
++++ b/sys/tryuserpw.c
+@@ -1,6 +1,6 @@
+ #include <userpw.h>
+
+-void main()
++int main()
+ {
+ struct userpw *upw;
+
+diff --git a/sys/tryvfork.c b/sys/tryvfork.c
+index 21387e4..83b57a0 100644
+--- a/sys/tryvfork.c
++++ b/sys/tryvfork.c
+@@ -1,4 +1,6 @@
+-void main()
++#include <unistd.h>
++
++int main()
+ {
+ vfork();
+ }
+diff --git a/sys/trywaitp.c b/sys/trywaitp.c
+index 7e73bfa..0380358 100644
+--- a/sys/trywaitp.c
++++ b/sys/trywaitp.c
+@@ -1,7 +1,7 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+
+-void main()
++int main()
+ {
+ waitpid(0,0,0);
+ }
diff --git a/dev-libs/bglibs/files/bglibs-2.04-musl.patch b/dev-libs/bglibs/files/bglibs-2.04-musl.patch
new file mode 100644
index 000000000000..65819699926a
--- /dev/null
+++ b/dev-libs/bglibs/files/bglibs-2.04-musl.patch
@@ -0,0 +1,100 @@
+From 999598621421a46ef2d11244f57b70855a28ec60 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 7 Feb 2025 04:43:56 +0000
+Subject: [PATCH 1/3] net/{bindu,connectu}.c: add missing <string.h> includes
+
+These two files call strcpy() which is defined in string.h. It's
+probably included transitively on glibc, but on musl this leads
+to a build failure.
+---
+ net/bindu.c | 1 +
+ net/connectu.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/net/bindu.c b/net/bindu.c
+index bf228dd..3d30579 100644
+--- a/net/bindu.c
++++ b/net/bindu.c
+@@ -21,6 +21,7 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <unistd.h>
++#include <string.h>
+ #include "socket.h"
+
+ /** Bind a UNIX domain address (path) to a socket. */
+diff --git a/net/connectu.c b/net/connectu.c
+index a0a00ad..a82b9aa 100644
+--- a/net/connectu.c
++++ b/net/connectu.c
+@@ -21,6 +21,7 @@
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <unistd.h>
++#include <string.h>
+ #include "socket.h"
+
+ /** Make an UNIX domain connection. */
+
+From d930f1ff4043e25c1d5427e474af0de4cc787e2c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 7 Feb 2025 04:45:12 +0000
+Subject: [PATCH 2/3] unix/sig_all.c: drop <sys/signal.h> include
+
+The POSIX name for this header is <signal.h>,
+
+ https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/signal.h.html
+
+and while the "sys" name still works, it now generates a warning on
+musl
+
+ In file included from unix/sig_all.c:2:
+ /usr/include/sys/signal.h:1:2: warning: #warning redirecting incorrect
+ #include <sys/signal.h> to <signal.h> [-Wcpp]
+ 1 | #warning redirecting incorrect #include <sys/signal.h> to <signal.h>
+ | ^~~~~~~
+
+and presumably will not work forever.
+---
+ unix/sig_all.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/unix/sig_all.c b/unix/sig_all.c
+index b8821de..f2cb1e4 100644
+--- a/unix/sig_all.c
++++ b/unix/sig_all.c
+@@ -1,5 +1,4 @@
+ #include <signal.h>
+-#include <sys/signal.h>
+ #include "sig.h"
+ #include "sysdeps.h"
+
+
+From 5069fe01396d465c3d39ed8353f5d88538086b0d Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 7 Feb 2025 13:48:38 +0000
+Subject: [PATCH 3/3] selftests.sh: fgrep -> grep -F
+
+GNU grep now warns that "fgrep" is obsolete:
+
+ Creating temporary directory selftests.sh.tmp.35861
+ fgrep: warning: fgrep is obsolescent; using /bin/grep -F
+
+The "-F" flag is part of POSIX and should be reliable.
+---
+ selftests.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/selftests.sh b/selftests.sh
+index 23c7719..8d9944f 100644
+--- a/selftests.sh
++++ b/selftests.sh
+@@ -48,7 +48,7 @@ if [ $# -gt 0 ]; then
+ do_test $c || exitcode=false
+ done
+ else
+- for c in `fgrep -l '#ifdef SELFTEST_MAIN' */*.c`
++ for c in `grep -F -l '#ifdef SELFTEST_MAIN' */*.c`
+ do
+ do_test $c || exitcode=false
+ done
diff --git a/dev-libs/botan/Manifest b/dev-libs/botan/Manifest
index 1939ab8d5a25..680925424474 100644
--- a/dev-libs/botan/Manifest
+++ b/dev-libs/botan/Manifest
@@ -8,3 +8,5 @@ DIST Botan-3.2.0.tar.xz 8998204 BLAKE2B f21e7574af93ab3331607f4a4ecf1b2cbbc0db4b
DIST Botan-3.2.0.tar.xz.asc 488 BLAKE2B f7bc716dd18eedf35928933e22c75de3d2731330dfdaf8a5048e8ad86e1f3896ea55294a64b7f82593af16dd2e4097a9ba68f25baa024e175b7334478bcf84a6 SHA512 3ee42ac73e1bd6cea0a2e9f468b88d67c02a4a69786c41ddf9fc7f94b6847be00e0f3f0f38f934ab599b8d6dd29006414294df8b371f5cf2422292f3dd176756
DIST Botan-3.6.1.tar.xz 7581864 BLAKE2B 744eed158e021d26b9414b3a098e017e6e2c2160fc7fb6a0f24f6cbbb4b08501157108dedd7a71fc3645e27c86608a9ba5d18a11087adfd1c9b174ca3ce85b30 SHA512 06327c55bee5e0d2e142f81b997dd8a1ef98f61ef920b57f6eb4e80ebf6b3de1c62373b889d4a32e62509495792e0b46d5dcc82a6446266974b4d4ead8d9f287
DIST Botan-3.6.1.tar.xz.asc 488 BLAKE2B 3538c941f707a182f86226dfdbb8222570671e0bce3ca61137a5d978c2b1f5e658ffc1168d7e73a1861210adfac8aa661124c9cbc4950973f7b1e2c3360aab90 SHA512 871c6d91368d8a080e704afb53b1339c6d06aa57aaa45f260bccf1cb1ed31c635587ba930f954ab55668a7ca13b89b2f2acba3c0f1723e3f7190c6ebe9dc2e0b
+DIST Botan-3.7.1.tar.xz 8659408 BLAKE2B 3cd934bc738c0665c4a5b3ea4391402058ade2159a185ee257aa2746ef8aa29e59873fd0a95dbdf978ce950bab6c25a72975d73b5d17da898cb16bc04ae7b8ba SHA512 f9b5d793642e9f9e9f444de3a0851840b4ed1f5f82804ad60bb5ede62c5a90ea05cb41e8aefcf556caa15da1aaa78ba1fcb040df3365705e3fd9c6a12788b72e
+DIST Botan-3.7.1.tar.xz.asc 488 BLAKE2B 6f00bf01f0f02e8cefd926e4b5f70feb8e689ef9286684e45c5d1139a686af649bf44950e7bfc6a9c881d1d233c1ab5d10ee0815e8119e0ffdc89ec62ec5089c SHA512 a3fc9958e606b0bc073287dc45cb4e2143ff3399a8891a4d51a0c25052d9eb395d97bd31eb97b13344a27186e32906a6411927211345f3ae06464acb73eaa3b6
diff --git a/dev-libs/botan/botan-3.7.1.ebuild b/dev-libs/botan/botan-3.7.1.ebuild
new file mode 100644
index 000000000000..fedf9575a46c
--- /dev/null
+++ b/dev-libs/botan/botan-3.7.1.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/botan.asc
+inherit edo flag-o-matic multiprocessing ninja-utils python-r1 toolchain-funcs verify-sig
+
+MY_P="Botan-${PV}"
+DESCRIPTION="C++ crypto library"
+HOMEPAGE="https://botan.randombit.net/"
+SRC_URI="https://botan.randombit.net/releases/${MY_P}.tar.xz"
+SRC_URI+=" verify-sig? ( https://botan.randombit.net/releases/${MY_P}.tar.xz.asc )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+# New major versions are parallel-installable
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)" # soname version
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos"
+IUSE="doc boost bzip2 lzma python static-libs sqlite test tools zlib"
+CPU_USE=(
+ cpu_flags_arm_{aes,neon,sha1,sha2}
+ cpu_flags_ppc_altivec
+ cpu_flags_x86_{aes,avx2,popcnt,rdrand,sha,sse2,ssse3,sse4_1,sse4_2}
+)
+IUSE+=" ${CPU_USE[@]}"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+# NOTE: Boost is needed at runtime too for the CLI tool.
+DEPEND="
+ boost? ( dev-libs/boost:= )
+ bzip2? ( >=app-arch/bzip2-1.0.5:= )
+ lzma? ( app-arch/xz-utils:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3= )
+ zlib? ( >=sys-libs/zlib-1.2.3:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-libs/botan-2.19.3-r1:2[tools]
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ ${NINJA_DEPEND}
+ $(python_gen_any_dep '
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ ')
+ || ( >=sys-devel/gcc-11:* >=llvm-core/clang-14:* )
+ verify-sig? ( sec-keys/openpgp-keys-botan )
+"
+
+# NOTE: Considering patching Botan?
+# Please see upstream's guidance:
+# https://botan.randombit.net/handbook/packaging.html#minimize-distribution-patches
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ # bug #908958
+ if tc-is-gcc && ver_test $(gcc-version) -lt 11 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
+ die "GCC version is too old to compile Botan!"
+ elif tc-is-clang && ver_test $(clang-version) -lt 14 ; then
+ eerror "Botan needs >=gcc-11 or >=clang-14 to compile."
+ eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
+ die "Clang version is too old to compile Botan!"
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+ python_setup
+
+ local disable_modules=(
+ $(usev !boost 'boost')
+ )
+
+ if [[ -z "${DISABLE_MODULES}" ]] ; then
+ elog "Disabling module(s): ${disable_modules[@]}"
+ fi
+
+ local chostarch="${CHOST%%-*}"
+
+ # Arch specific wrangling
+ local myos=
+ case ${CHOST} in
+ *-darwin*)
+ myos=darwin
+ ;;
+ *)
+ myos=linux
+
+ if [[ ${CHOST} == *hppa* ]] ; then
+ chostarch=parisc
+ elif [[ ${ABI} == sparc64 ]] ; then
+ chostarch="sparc64"
+ elif [[ ${ABI} == sparc32 ]] ; then
+ chostarch="sparc32"
+ fi
+ ;;
+ esac
+
+ local pythonvers=()
+ if use python ; then
+ _append() {
+ pythonvers+=( ${EPYTHON/python/} )
+ }
+
+ python_foreach_impl _append
+ fi
+
+ local myargs=(
+ # Intrinsics
+ # TODO: x86 RDSEED (new CPU_FLAGS_X86?)
+ # TODO: POWER Crypto (new CPU_FLAGS_PPC?)
+ $(usev !cpu_flags_arm_aes '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_neon '--disable-neon')
+ $(usev !cpu_flags_arm_sha1 '--disable-armv8crypto')
+ $(usev !cpu_flags_arm_sha2 '--disable-armv8crypto')
+ $(usev !cpu_flags_ppc_altivec '--disable-altivec')
+ $(usev !cpu_flags_x86_aes '--disable-aes-ni')
+ $(usev !cpu_flags_x86_avx2 '--disable-avx2')
+ $(usev !cpu_flags_x86_popcnt '--disable-bmi2')
+ $(usev !cpu_flags_x86_rdrand '--disable-rdrand')
+ $(usev !cpu_flags_x86_sha '--disable-sha-ni')
+ $(usev !cpu_flags_x86_sse2 '--disable-sse2')
+ $(usev !cpu_flags_x86_ssse3 '--disable-ssse3')
+ $(usev !cpu_flags_x86_sse4_1 '--disable-sse4.1')
+ $(usev !cpu_flags_x86_sse4_2 '--disable-sse4.2')
+
+ # HPPA's GCC doesn't support SSP
+ $(usev hppa '--without-stack-protector')
+
+ $(use_with boost)
+ $(use_with bzip2)
+ $(use_with doc documentation)
+ $(use_with doc sphinx)
+ $(use_with lzma)
+ $(use_enable static-libs static-library)
+ $(use_with sqlite sqlite3)
+ $(use_with zlib)
+
+ --build-tool=ninja
+ --cpu=${chostarch}
+ --docdir=share/doc
+ --disable-modules=$(IFS=","; echo "${disable_modules[*]}")
+ --distribution-info="Gentoo ${PVR}"
+ --libdir="$(get_libdir)"
+ # Avoid collisions between slots for tools (bug #905700)
+ --program-suffix=$(ver_cut 1)
+
+ # Don't install Python bindings automatically
+ # (do it manually later in the right place)
+ # bug #723096
+ --no-install-python-module
+
+ --os=${myos}
+ --prefix="${EPREFIX}"/usr
+ --lto-cxxflags-to-ldflags
+ --with-endian="$(tc-endian)"
+ --with-python-version=$(IFS=","; echo "${pythonvers[*]}")
+ )
+
+ local build_targets=(
+ shared
+ $(usev static-libs static)
+ $(usev tools cli)
+ $(usev test tests)
+ )
+
+ myargs+=(
+ --build-targets=$(IFS=","; echo "${build_targets[*]}")
+ )
+
+ if ( use elibc_glibc || use elibc_musl ) && use kernel_linux ; then
+ myargs+=(
+ --with-os-features=getrandom,getentropy
+ )
+ fi
+
+ local sanitizers=()
+ if is-flagq -fsanitize=address ; then
+ sanitizers+=( address )
+ fi
+ if is-flagq -fsanitize=undefined ; then
+ sanitizers+=( undefined )
+ fi
+ filter-flags '-fsanitize=*'
+ myargs+=(
+ --enable-sanitizers=$(IFS=","; echo "${sanitizers[*]}")
+ )
+
+ edo ${EPYTHON} configure.py --verbose "${myargs[@]}"
+}
+
+src_compile() {
+ eninja
+}
+
+src_test() {
+ LD_LIBRARY_PATH="${S}" edo ./botan-test$(ver_cut 1) --test-threads="$(makeopts_jobs)"
+}
+
+src_install() {
+ DESTDIR="${D}" eninja install
+
+ if [[ -d "${ED}"/usr/share/doc/${P} && ${P} != ${PF} ]] ; then
+ # --docdir in configure controls the parent directory unfortunately
+ mv "${ED}"/usr/share/doc/${P} "${ED}"/usr/share/doc/${PF} || die
+ fi
+
+ # Manually install the Python bindings (bug #723096)
+ if use python ; then
+ python_foreach_impl python_domodule src/python/botan$(ver_cut 1).py
+ fi
+}
diff --git a/dev-libs/cowsql/Manifest b/dev-libs/cowsql/Manifest
index 4479e4197578..f9f5785abaa9 100644
--- a/dev-libs/cowsql/Manifest
+++ b/dev-libs/cowsql/Manifest
@@ -1 +1,2 @@
DIST cowsql-1.15.6.tar.gz 364548 BLAKE2B 67ccb0cc1481c4d542c2a145c76875b514f4920fe2d3647d1871afa67e6cb7a41c729946c89768b1c522ed22357fb0323d58885ca60141db154da54e3a5a5a0a SHA512 78436fc35ab22fed1aef1d1048e41fbd6ec75a7b8fc95f09bc7468cde0ea8d8851e4ef5ee738699810abf3054826ab7cfd21dc06964603acea240b0fc7943c4d
+DIST cowsql-1.15.7.tar.gz 364592 BLAKE2B d3cd4e399d029c63743cee081cd32c19fe364f4dd093c40f62162a2387a9a0da956b19f2f75dc9e556e18c8d957edcbee5c9fe449e3ba9961eb556cdc981a6e5 SHA512 d01fe084d911f13be4d21997f3ec4ba1b11d15198dbad404d55962abd4924dcc95d48eb7d8d94d3f65c512194d25acf761954994c5ffece78a27eff438441fda
diff --git a/dev-libs/cowsql/cowsql-1.15.7.ebuild b/dev-libs/cowsql/cowsql-1.15.7.ebuild
new file mode 100644
index 000000000000..6a1a5ed5fe66
--- /dev/null
+++ b/dev-libs/cowsql/cowsql-1.15.7.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2020-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine (fork of dqlite)"
+HOMEPAGE="https://cowsql.dev/ https://github.com/cowsql/cowsql"
+SRC_URI="https://github.com/cowsql/cowsql/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-db/sqlite:3
+ dev-libs/libuv:=
+ >=dev-libs/raft-0.18.1:="
+DEPEND="${RDEPEND}
+ test? ( dev-libs/raft[lz4,test] )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/dqlite-1.12.0-disable-werror.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-backtrace
+ --disable-debug
+ --disable-sanitize
+ --disable-static
+
+ # Will build a bundled libsqlite3.so.
+ --enable-build-sqlite=no
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/flatbuffers/flatbuffers-25.1.24.ebuild b/dev-libs/flatbuffers/flatbuffers-25.1.24.ebuild
index cdd8e1c2f807..859512f5d8cd 100644
--- a/dev-libs/flatbuffers/flatbuffers-25.1.24.ebuild
+++ b/dev-libs/flatbuffers/flatbuffers-25.1.24.ebuild
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+KEYWORDS="~amd64 ~arm arm64 ~loong ~riscv x86"
IUSE="static-libs test"
RESTRICT="!test? ( test )"
diff --git a/dev-libs/girara/girara-0.4.4.ebuild b/dev-libs/girara/girara-0.4.4.ebuild
index 3c3053168e30..9f30fcd9e81a 100644
--- a/dev-libs/girara/girara-0.4.4.ebuild
+++ b/dev-libs/girara/girara-0.4.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_BRANCH="develop"
else
SRC_URI="https://github.com/pwmt/girara/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv x86"
fi
LICENSE="ZLIB"
diff --git a/dev-libs/hipother/Manifest b/dev-libs/hipother/Manifest
index 2dde3bd57777..59565b60d5fe 100644
--- a/dev-libs/hipother/Manifest
+++ b/dev-libs/hipother/Manifest
@@ -1,2 +1,3 @@
DIST hipother-6.1.1.tar.gz 33496 BLAKE2B 026967cb298a888df441d543d70478836036b81dc26c8284410076daf18eb28dc42f7d4b6aaf2bfaa8b6c957ada8244afc0e7c40882c0370bc2b6a0ae94ffaf8 SHA512 ca4d5df9e3138e845be051aace8fb02d84b879439e6bc9ca1551853f80f54b554b9cad1a91c6c114160b21d3ca62fa47a88e32efe60c0f475ff8b56f7f18b5d4
DIST hipother-6.3.0.tar.gz 37660 BLAKE2B 8af74369c769750575d55c7ab152af32f6b8ce06f65247fb1390900427c0a24282b4681dbd65e36241262423a793af48b432fc252d0fad5ac367c25f242e1865 SHA512 3bdd70e6ef34aeb51c7d973f73cf3b761016659892c57719cc85d123e8212e4510c5d799563d20cea9de441e983ed148900c6656784a0cc28d0f67c4ea91c99e
+DIST hipother-6.3.2.tar.gz 37656 BLAKE2B 23a29c674cec1dd6f99b24f901cd27883356c67c925156b34757c186a3105377a2d6c207338b8593de5af16b9f7a7b6ee8a528ab0cbfe93a3a57f5843a9b0a60 SHA512 d783a5356d71bc5dcf333d878c0cb44e306c29a7752a4d891300243682b04cfb6807c410e8b63d4fd5e1cb045554266477535fbd352bcbb65a242f5ee1f9d3db
diff --git a/dev-libs/hipother/hipother-6.3.2.ebuild b/dev-libs/hipother/hipother-6.3.2.ebuild
new file mode 100644
index 000000000000..b580389fc332
--- /dev/null
+++ b/dev-libs/hipother/hipother-6.3.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2025 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"
+
+RDEPEND="
+ !<dev-util/hip-6
+"
+
+src_install() {
+ insinto /usr/include
+ doins -r hipnv/include/hip
+}
diff --git a/dev-libs/isa-l/isa-l-2.31.0.ebuild b/dev-libs/isa-l/isa-l-2.31.0.ebuild
index cff37c2a7586..f84cf0ad1919 100644
--- a/dev-libs/isa-l/isa-l-2.31.0.ebuild
+++ b/dev-libs/isa-l/isa-l-2.31.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc x86"
IUSE="cpu_flags_x86_avx512f"
# AVX512 support in yasm is still work in progress
diff --git a/dev-libs/kopeninghours/Manifest b/dev-libs/kopeninghours/Manifest
index 0349244418d9..78352d62d76f 100644
--- a/dev-libs/kopeninghours/Manifest
+++ b/dev-libs/kopeninghours/Manifest
@@ -1,2 +1,3 @@
DIST kopeninghours-24.08.3.tar.xz 74616 BLAKE2B 083dfdda40b2d7084cb4dccf253d911ad4a2228dc4b88ff9386be7b95a9d44ee93a54a185b2ab7892c2f37f50480305876016bade7cad04b64bcd3073323ccb5 SHA512 fe953735989f4da3e3e0c652f8df4a5a96762c7bfad23e88d2472f8004f4eec550589328e7a45edace37acf9129fe4f397e54bce4c72b124fa1fe20536f1248e
DIST kopeninghours-24.12.1.tar.xz 74860 BLAKE2B 4102999c5f264580b750ddf1fa5232226aef355b051b115e1a4cfc924f7dab1ca60601cc487f3646bd4dbaae4642f2b876308d0e67e2884d91399ffe36523524 SHA512 63f71ddee3e8e7e85a92dcc98fc925b6b13a539709950cf0e9adcef3e8ad2b29694181a2e13887b769af91308de77966de06b7ea841739436805ea1b57d93af6
+DIST kopeninghours-24.12.2.tar.xz 74836 BLAKE2B b24fe6c3117f15f9e06f1185f4c5e6f38918dbe99843e592d4d62512d7e0ee7cd65aeaeb6d90488e4782fd5f2063c1c16aae39acea3167a30ae7709708953d9e SHA512 3d15286f71632ed983df6e28f96ba0556c35231ab7501dc55250fdef0903988d953f7d5e3cf9ed0b2104b7355307d7b63f2402378849a4059c17e9abcf360adb
diff --git a/dev-libs/kopeninghours/kopeninghours-24.12.2.ebuild b/dev-libs/kopeninghours/kopeninghours-24.12.2.ebuild
new file mode 100644
index 000000000000..3182b121a372
--- /dev/null
+++ b/dev-libs/kopeninghours/kopeninghours-24.12.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.7.0
+QTMIN=6.7.2
+PYTHON_COMPAT=( python3_{10..12} )
+inherit ecm gear.kde.org python-single-r1
+
+DESCRIPTION="Library for parsing and evaluating OSM opening hours expressions"
+HOMEPAGE="https://api.kde.org/kopeninghours/html/index.html
+https://invent.kde.org/libraries/kopeninghours"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ python? (
+ $(python_gen_cond_dep '
+ >=dev-libs/boost-1.70:=[python,${PYTHON_USEDEP}]
+ ')
+ )
+"
+RDEPEND="${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-22.04.0-boostpython.patch )
+
+pkg_setup() {
+ ecm_pkg_setup
+ python_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBOOSTPYTHON_VERSION_MAJOR_MINOR=${EPYTHON}
+ $(cmake_use_find_package python Boost)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+ python_optimize
+}
diff --git a/dev-libs/kosmindoormap/Manifest b/dev-libs/kosmindoormap/Manifest
index 800ff93647bb..bc55c705e1d1 100644
--- a/dev-libs/kosmindoormap/Manifest
+++ b/dev-libs/kosmindoormap/Manifest
@@ -1,2 +1,3 @@
DIST kosmindoormap-24.08.3.tar.xz 692392 BLAKE2B 41879a7ef4dbde858d8e6f2e53b4b32efd94f4277ed8bf6c9d4343907364814acc00cc5bdf09840e429e7fd4cf2150d535dcb261ae7debcc0c941837b1607385 SHA512 cf63d91306d41d8fd9cc3c33eee91a6380a0d043a610b49b214dfb8de76531dacf03e2745d1783e4627b218e6bf55b370d1946b6e4276aea10906d790d63f881
DIST kosmindoormap-24.12.1.tar.xz 693648 BLAKE2B 53435662dd3f80e7aa5bfd1949dd337fc9ca90883330c25f47a800715c933fa54c60af32b1aa3fabdfd607972153daf1f19d0fb52db06719b7e00246b2675839 SHA512 9bb1d87e28836019439878d6b5dcb5d82839f5b5a6b3beb7964bd3d13b7ffbfb9796b7ca6180727c110a579630b0ff5a9e78d65c35535db7e3cebaf65f282efb
+DIST kosmindoormap-24.12.2.tar.xz 694728 BLAKE2B df8815eca82200794a5ff37619c063a7eadf16669abe20690aa0d56e4dc2b44e8b503a1e140f9a06524156583fb7770b9c107afaf8b6466fe4441d420c19edcb SHA512 f9e41340985ceb68f8cc9f1aa0bd1222156542b5448fac52564e130c70d760a019c3c37a174d13d521010d42ac831eeb0ac9d6a408737239bb4b2a4277ce7bf9
diff --git a/dev-libs/kosmindoormap/kosmindoormap-24.12.2.ebuild b/dev-libs/kosmindoormap/kosmindoormap-24.12.2.ebuild
new file mode 100644
index 000000000000..b8a26817ebff
--- /dev/null
+++ b/dev-libs/kosmindoormap/kosmindoormap-24.12.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.7.0
+QTMIN=6.7.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Data Model and Extraction System for Travel Reservation information"
+HOMEPAGE="https://invent.kde.org/libraries/kosmindoormap"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
+IUSE="+gui"
+
+# kservice is optional and only used to find and open josm
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui?,network]
+ sys-libs/zlib
+ gui? (
+ >=dev-libs/kopeninghours-${PVCUT}:6
+ >=dev-libs/kpublictransport-${PVCUT}:6
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+BDEPEND="
+ app-alternatives/lex
+ app-alternatives/yacc
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TOOLS_ONLY=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kpublictransport/Manifest b/dev-libs/kpublictransport/Manifest
index 67e7de509847..7bde69abef82 100644
--- a/dev-libs/kpublictransport/Manifest
+++ b/dev-libs/kpublictransport/Manifest
@@ -1,2 +1,3 @@
DIST kpublictransport-24.08.3.tar.xz 744252 BLAKE2B 590da416055119224ebdaf2c14e8c45377910bf77097a9099b46707a03138179d80ba48363af9041ea630b11924699cd135318a22e9ca3ac359db0bdd9aa74c6 SHA512 04b9278119b071da3170504c3609b41d98d36853d34f81ac8995dad491056c120a8cfce79483cdcb78810ff31cb5dfb6c92147bf0feb163f1f4bd19775ae9243
DIST kpublictransport-24.12.1.tar.xz 776512 BLAKE2B ff991da8e1babb68dc943e669632a0f4b6e28a1b8d53ca24c0ecf09e9065e246ced526047c0e30d3bbf8e378f14ae0a188a6302124f0db2c740b9d202fccfbe0 SHA512 c81ba13bca0df907484a4d2fce7ef9ae1fda8bb8684398a246fb0fdcf6272b76e4902d2e1a01c13f080b6a0ada870fddccbe362364a240a00158aa15cb150b62
+DIST kpublictransport-24.12.2.tar.xz 814536 BLAKE2B ec26e4e1d6f25fb0d08d0d3e7604e75f48a4530e45b0b38adb966254d116282734d6e5ebaac5b6dce9cad90a0d001add9e891f399564330bc5ea8edb9df29f74 SHA512 6305a4237d9e364e3e2ada3d0a2a221d82ce05840a8d002e1e9375fbd6f969406ea7b35c0db6184def9aad4d345f932481719b6b5d8a1e941f67a47dd42c05f3
diff --git a/dev-libs/kpublictransport/kpublictransport-24.12.2.ebuild b/dev-libs/kpublictransport/kpublictransport-24.12.2.ebuild
new file mode 100644
index 000000000000..edf5189f0a2d
--- /dev/null
+++ b/dev-libs/kpublictransport/kpublictransport-24.12.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.7.0
+QTMIN=6.7.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for accessing public transport timetables and other information"
+HOMEPAGE="https://invent.kde.org/libraries/kpublictransport
+ https://www.volkerkrause.eu/2019/03/02/kpublictransport-introduction.html"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
+IUSE="networkmanager"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,ssl]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ sys-libs/zlib
+ networkmanager? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:6 )
+"
+DEPEND="${RDEPEND}
+ test? ( >=dev-qt/qtbase-${QTMIN}:6[widgets] )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_OsmTools=ON # we have no use for it
+ $(cmake_use_find_package networkmanager KF6NetworkManagerQt)
+ )
+ ecm_src_configure
+}
diff --git a/dev-libs/kqoauth/Manifest b/dev-libs/kqoauth/Manifest
deleted file mode 100644
index 16be419d67e6..000000000000
--- a/dev-libs/kqoauth/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kqoauth-0.98.tar.gz 37059 BLAKE2B d1214ac22cb52e7ead1be3ce7af2af9c4b2e1cb74e2b4bf3891300099c0a0abb0c7295fb4616adcb59cb4405eb52bec4097b48d39563ac407bfe692ce94492a2 SHA512 f89e0f046fb7fd7812548f94c460d7c18d4881972e155a99e07503e97fd46b6eada0de9f2c3a94af33ef5b1b3b489bbd5dc6738cee104fe2d11ed62e681c7979
diff --git a/dev-libs/kqoauth/kqoauth-0.98-r3.ebuild b/dev-libs/kqoauth/kqoauth-0.98-r3.ebuild
deleted file mode 100644
index 2da85d77ce6d..000000000000
--- a/dev-libs/kqoauth/kqoauth-0.98-r3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit qmake-utils
-
-DESCRIPTION="Library for Qt that implements the OAuth 1.0 authentication specification"
-HOMEPAGE="https://github.com/kypeli/kQOAuth"
-SRC_URI="https://github.com/kypeli/kQOAuth/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
-"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/kQOAuth-${PV}"
-
-src_prepare() {
- default
-
- # prevent tests from beeing built at src_compile
- sed -i -e '/SUBDIRS/s/ tests//' ${PN}.pro || die "sed on ${PN}.pro failed"
- # respect libdir
- sed -e 's:{INSTALL_PREFIX}/lib:[QT_INSTALL_LIBS]:g' -i src/src.pro || die "sed on src.pro failed"
-
- sed \
- -e "s/TARGET = kqoauth/TARGET = kqoauth-qt5/g" \
- -i src/src.pro || die
-
- # upstream .pc is aimed at Qt4
- sed \
- -e "/^Libs/s/lkqoauth/&-qt5/" \
- -e "/^libdir/s/lib$/$(get_libdir)/" \
- -e "/^Requires/s/Qt/Qt5/g" \
- -i src/pcfile.sh || die
-}
-
-src_configure() {
- eqmake5
-}
-
-src_install() {
- emake INSTALL_ROOT="${D}" install
-}
diff --git a/dev-libs/kqoauth/metadata.xml b/dev-libs/kqoauth/metadata.xml
deleted file mode 100644
index d4ebbef4cd20..000000000000
--- a/dev-libs/kqoauth/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>0xd34df00d@gmail.com</email>
- <name>Georg Rudoy</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">kypeli/kQOAuth</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-libs/kweathercore/Manifest b/dev-libs/kweathercore/Manifest
index 78108be018d7..bf334ce27474 100644
--- a/dev-libs/kweathercore/Manifest
+++ b/dev-libs/kweathercore/Manifest
@@ -1,2 +1,3 @@
DIST kweathercore-24.08.3.tar.xz 75416 BLAKE2B 1e61a17ae4d5ced5879af63975fcdcba3215a75ebe97fd2d616b92d7c7b8104423049371d3494b884b401c200b2fb441c74d164f24d7fa099bdbabfa728dc338 SHA512 a9b128e4e939c567f32e14a4401a7ab101e8364d8c9c0c0386f72f00d879748637aebcb8e45c5f75324555e2213bb21bb76bc368884d6f70f7057a5392c607ae
DIST kweathercore-24.12.1.tar.xz 75796 BLAKE2B 08af40e4a2459457149b51e301c18b1f349b55ba41a1270f56be914a34bb2a39d346a574aae93f2dc63ec9c1964ff4c5375f16e2d588d2c644d5acb666d71363 SHA512 04aea2f072725a8f850aca0b98c87e9605b46999a355e2590f251369054a512b358d032fedede71d057e9ec622136549eec05f0680d5acc93d67bf6f2ffdc32b
+DIST kweathercore-24.12.2.tar.xz 75832 BLAKE2B dda0402cf111e7d698dda120eb5d8e6d9fd47231f6c7a1c807621dda713719a5cffff5b1621239083840025aa91d6f88beed3c5cb4c3f46be8e04e9093bae8a6 SHA512 f8f35510b621b69954db741d4f3f9f55c2c834cd7da4360186c63a2ba6fdb0db13b552846d9412f7863dc2376c0e1025a9f7420ca9aa2ac5333a421aed2bc21c
diff --git a/dev-libs/kweathercore/kweathercore-24.12.2.ebuild b/dev-libs/kweathercore/kweathercore-24.12.2.ebuild
new file mode 100644
index 000000000000..20744092c015
--- /dev/null
+++ b/dev-libs/kweathercore/kweathercore-24.12.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_NONGUI="true"
+ECM_QTHELP="true"
+ECM_TEST="true"
+KFMIN=6.7.0
+QTMIN=6.7.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Library for retrieval of weather information including forecasts and alerts"
+HOMEPAGE="https://invent.kde.org/libraries/kweathercore"
+
+LICENSE="LGPL-2+"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[network]
+ >=dev-qt/qtpositioning-${QTMIN}:6
+ >=kde-frameworks/kholidays-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+"
+RDEPEND="${DEPEND}"
+
+CMAKE_SKIP_TESTS=(
+ locationquerytest
+ # bug 906392
+ metnoparsertest
+)
diff --git a/dev-libs/level-zero/Manifest b/dev-libs/level-zero/Manifest
index 360f6e4f4161..fcc4f7184256 100644
--- a/dev-libs/level-zero/Manifest
+++ b/dev-libs/level-zero/Manifest
@@ -1 +1,2 @@
DIST level-zero-1.20.2.tar.gz 900836 BLAKE2B 9dd22b518b72a08906f4fa4538b7f6642e5627d7659e5e52e3733bfcd9a85cae89874b4b1caf305ce3e5c03b40292fc97d53923cb0f886a1c2b9c3a9f937a652 SHA512 86bd21b034aaa4e0ce8f554a6563f41e622fcf39895c012dcc79d472e35f878dc759b103e9d2b7daac71e4943344a7afddd1f3c7ab889949b09b4cf8e0947589
+DIST level-zero-1.20.3.tar.gz 906836 BLAKE2B 6311430a6517b69a417141e28e6bfb7e7b276fd0110330f647932bc0bdb9dd3229281b973389b07589d2f3d9ee0ff53d2b2bf08be697f63a521df3992be68412 SHA512 51bae0cc2113e9a2d634b9569a4846e5a993dddb101c30284ffba13ab2473bc642efd53c8bdd5df38727a64753e38285ac7cf3f5d109185da5d0e5dafde67222
diff --git a/dev-libs/level-zero/level-zero-1.20.3.ebuild b/dev-libs/level-zero/level-zero-1.20.3.ebuild
new file mode 100644
index 000000000000..7855ea438290
--- /dev/null
+++ b/dev-libs/level-zero/level-zero-1.20.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 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/libdbusmenu-lxqt/libdbusmenu-lxqt-0.2.0.ebuild b/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.2.0.ebuild
index ae539acde3e3..129d52e1c06a 100644
--- a/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.2.0.ebuild
+++ b/dev-libs/libdbusmenu-lxqt/libdbusmenu-lxqt-0.2.0.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
else
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 arm64 ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
fi
LICENSE="LGPL-2"
diff --git a/dev-libs/libffi/libffi-3.4.6-r3.ebuild b/dev-libs/libffi/libffi-3.4.6-r3.ebuild
new file mode 100644
index 000000000000..e8471b2b545b
--- /dev/null
+++ b/dev-libs/libffi/libffi-3.4.6-r3.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2025 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/"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/libffi/libffi"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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}
+
+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
+IUSE="debug exec-static-trampoline pax-kernel static-libs test"
+
+RESTRICT="!test? ( test )"
+BDEPEND="test? ( dev-util/dejagnu )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-arm64-bti.patch
+ "${FILESDIR}"/${P}-arm64-bti-spelling.patch
+ "${FILESDIR}"/${P}-arm64-support-pac.patch
+ "${FILESDIR}"/${P}-arm64-fix-build.patch
+ "${FILESDIR}"/${P}-sparc-struct-targs.patch
+ "${FILESDIR}"/${P}-test-typo.patch
+ "${FILESDIR}"/${P}-arm64-cfi.patch
+ "${FILESDIR}"/${P}-asan.patch
+ "${FILESDIR}"/${P}-regenerate-autotools.patch
+ "${FILESDIR}"/${P}-c23-tests.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-9999.ebuild b/dev-libs/libffi/libffi-9999.ebuild
index 51d1f5c466e6..0f77bf10562f 100644
--- a/dev-libs/libffi/libffi-9999.ebuild
+++ b/dev-libs/libffi/libffi-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ HOMEPAGE="https://sourceware.org/libffi/"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/libffi/libffi"
- inherit git-r3
+ inherit autotools git-r3
else
SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
@@ -35,6 +35,8 @@ BDEPEND="test? ( dev-util/dejagnu )"
src_prepare() {
default
+ [[ ${PV} == 9999 ]] && eautoreconf
+
if [[ ${CHOST} == arm64-*-darwin* ]] ; then
# ensure we use aarch64 asm, not x86 on arm64
sed -i -e 's/aarch64\*-\*-\*/arm64*-*-*|&/' \
diff --git a/dev-libs/libqtxdg/libqtxdg-4.1.0.ebuild b/dev-libs/libqtxdg/libqtxdg-4.1.0.ebuild
index b3c1a8f0f8f9..de59799ee0df 100644
--- a/dev-libs/libqtxdg/libqtxdg-4.1.0.ebuild
+++ b/dev-libs/libqtxdg/libqtxdg-4.1.0.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
else
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv ~x86"
fi
LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
diff --git a/dev-libs/libzip/libzip-1.11.2-r1.ebuild b/dev-libs/libzip/libzip-1.11.2-r1.ebuild
index 568eae26576c..bfb53ae2c13e 100644
--- a/dev-libs/libzip/libzip-1.11.2-r1.ebuild
+++ b/dev-libs/libzip/libzip-1.11.2-r1.ebuild
@@ -13,7 +13,7 @@ LICENSE="BSD"
SLOT="0/5"
KEYWORDS="amd64 ~arm ~arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="bzip2 gnutls lzma mbedtls ssl static-libs test tools zstd"
-REQUIRED_USE="test? ( tools )"
+REQUIRED_USE="test? ( ssl tools )"
RESTRICT="!test? ( test )"
DEPEND="
diff --git a/dev-libs/libzip/libzip-1.11.3.ebuild b/dev-libs/libzip/libzip-1.11.3.ebuild
index 3f609d8bdb85..1b32987b2b99 100644
--- a/dev-libs/libzip/libzip-1.11.3.ebuild
+++ b/dev-libs/libzip/libzip-1.11.3.ebuild
@@ -13,7 +13,7 @@ LICENSE="BSD"
SLOT="0/5"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="bzip2 gnutls lzma mbedtls ssl static-libs test tools zstd"
-REQUIRED_USE="test? ( tools )"
+REQUIRED_USE="test? ( ssl tools )"
RESTRICT="!test? ( test )"
DEPEND="
diff --git a/dev-libs/nspr/Manifest b/dev-libs/nspr/Manifest
index c9f0651f9f88..a36c2942a3e3 100644
--- a/dev-libs/nspr/Manifest
+++ b/dev-libs/nspr/Manifest
@@ -1,2 +1 @@
-DIST nspr-4.35.tar.gz 1096974 BLAKE2B c80402d7be9e69ab6d1e768a18d271a8d28900f4cae7df2709d1ab26e100d908f508762bb771d4042aa7152934ce83d495e2102e894c56574187be8040d65629 SHA512 502815833116e25f79ddf71d1526484908aa92fbc55f8a892729cb404a4daafcc0470a89854cd080d2d20299fdb7d9662507c5362c7ae661cbacf308ac56ef7f
DIST nspr-4.36.tar.gz 1036274 BLAKE2B 369d851db0f425f0c6c3cdaeb333320860b77b49b40b77cc983998de3f9128f9d987f143e9f2ce155d609fb23f3f9ed0d0abe7d74e20c59763e2b9bdd1835817 SHA512 55d21e196508ad29a179639fc8006f44b04dc2c0b5a85895e727f0a4f0ea37aeeceb936e37ac6b271b882a18e9f06d96133a60f19cee6345f8424c1c66e270ee
diff --git a/dev-libs/nspr/nspr-4.35-r2.ebuild b/dev-libs/nspr/nspr-4.35-r2.ebuild
deleted file mode 100644
index 4aafc2acbe8a..000000000000
--- a/dev-libs/nspr/nspr-4.35-r2.ebuild
+++ /dev/null
@@ -1,178 +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 toolchain-funcs multilib-minimal
-
-MIN_PV="$(ver_cut 2)"
-
-DESCRIPTION="Netscape Portable Runtime"
-HOMEPAGE="https://www.mozilla.org/projects/nspr/"
-SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
-
-LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE="debug"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/nspr-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.10.6-solaris.patch
- "${FILESDIR}"/${PN}-4.23-prtime.patch
- "${FILESDIR}"/${PN}-4.7.1-solaris.patch
- "${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
- "${FILESDIR}"/${PN}-4.8.9-link-flags.patch
- # We do not need to pass -L$libdir via nspr-config --libs
- "${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
-)
-
-QA_CONFIGURE_OPTIONS="--disable-static"
-
-src_prepare() {
- cd "${S}"/nspr || die
-
- default
-
- if use elibc_musl; then
- eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
- eapply "${FILESDIR}"/nspr-4.35-bgo-905998-lfs64-musl.patch
- fi
-
- # rename configure.in to configure.ac for new autotools compatibility
- if [[ -e "${S}"/nspr/configure.in ]] ; then
- einfo "Renaming configure.in to configure.ac"
- mv "${S}"/nspr/configure.{in,ac} || die
- else
- elog "configure.in rename logic can be removed from ebuild."
- fi
-
- # We must run eautoconf to regenerate configure
- eautoconf
-
- # make sure it won't find Perl out of Prefix
- sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
-
- # Respect LDFLAGS
- sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
- "${S}"/nspr/config/rules.mk || die
-}
-
-multilib_src_configure() {
- # -Werror=strict-aliasing
- # https://bugs.gentoo.org/867634
- #
- # Testsuite-only issue. Still, this makes it challenging to test the package with LTO
- # enabled...
- append-flags -fno-strict-aliasing
- filter-lto
-
- # The build system overrides user optimization level based on a configure flag. #886987
- local my_optlvl=$(get-flag '-O*')
-
- # bgo #923802
- append-lfs-flags
-
- # We use the standard BUILD_xxx but nspr uses HOST_xxx
- tc-export_build_env BUILD_CC
- export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
- tc-export AR AS CC CXX RANLIB
- [[ ${CBUILD} != ${CHOST} ]] \
- && export CROSS_COMPILE=1 \
- || unset CROSS_COMPILE
-
- local myconf=( --libdir="${EPREFIX}/usr/$(get_libdir)" )
-
- # Optimization is disabled when debug is enabled.
- if use debug; then
- myconf+=( --enable-debug )
- else
- myconf+=( --disable-debug )
- myconf+=( --enable-optimize="${my_optlvl}" )
- fi
-
- # The configure has some fancy --enable-{{n,x}32,64bit} switches
- # that trigger some code conditional to platform & arch. This really
- # matters for the few common arches (x86, ppc) but we pass a little
- # more of them to be future-proof.
-
- # use ABI first, this will work for most cases
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
- n32) myconf+=( --enable-n32 );;
- x32) myconf+=( --enable-x32 );;
- s390x|*64) myconf+=( --enable-64bit );;
- default) # no abi actually set, fall back to old check
- einfo "Running a short build test to determine 64bit'ness"
- # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
- echo > "${T}"/test.c || die
- ${CC} ${CFLAGS} ${CPPFLAGS} -fno-lto -c "${T}"/test.c -o "${T}"/test.o || die
- case $(file -S "${T}"/test.o) in
- *32-bit*x86-64*) myconf+=( --enable-x32 );;
- *64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
- *32-bit*|*ppc*|*i386*) ;;
- *) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
- esac ;;
- *) ;;
- esac
-
- # Ancient autoconf needs help finding the right tools.
- LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
- ac_cv_path_AR="${AR}" \
- ac_cv_path_AS="${AS}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_test() {
- # https://firefox-source-docs.mozilla.org/nspr/running_nspr_tests.html
- cd "${BUILD_DIR}/pr/tests" || die
- einfo "Building tests"
- emake
-
- einfo "Running test suite"
- ../../../${P}/${PN}/pr/tests/runtests.pl | tee "${T}"/${ABI}-tests.log
-
- # Needed to check if runtests.pl itself or the tee (somehow) failed
- # (can't use die with pipes to check each component)
- [[ ${PIPESTATUS[@]} == "0 0" ]] || die "Tests failed to run!"
-
- local known_failures=(
- # network-sandbox related?
- cltsrv
- # network-sandbox related?
- gethost
- )
-
- local known_failure
- for known_failure in "${known_failures[@]}" ; do
- sed -i -e "/${known_failure}.*FAILED/d" "${T}"/${ABI}-tests.log || die
- done
-
- # But to actually check the test results, we examine the log.
- if grep -q "FAILED" "${T}"/${ABI}-tests.log ; then
- die "Test failure for ${ABI}!"
- fi
-}
-
-multilib_src_install() {
- # Their build system is royally confusing, as usual
- MINOR_VERSION=${MIN_PV} # Used for .so version
- emake DESTDIR="${D}" install
-
- einfo "removing static libraries as upstream has requested!"
- rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
-
- # install nspr-config
- dobin config/nspr-config
-
- # Remove stupid files in /usr/bin
- rm "${ED}"/usr/bin/prerr.properties || die
-
- # This is used only to generate prerr.c and prerr.h at build time.
- # No other projects use it, and we don't want to depend on perl.
- # Talked to upstream and they agreed w/punting.
- rm "${ED}"/usr/bin/compile-et.pl || die
-}
diff --git a/dev-libs/nss/Manifest b/dev-libs/nss/Manifest
index f0594eb1e1ab..48de81a35643 100644
--- a/dev-libs/nss/Manifest
+++ b/dev-libs/nss/Manifest
@@ -1,4 +1,6 @@
DIST nss-3.101-cacert-class1-class3.patch 21925 BLAKE2B 2b37f6b69e0541f31087ff0401b195c035f4b607865c4d29976e4ad2c8143321d65b41b996e922362e076aa8259304ed67b0c4a1f8df2fdfdb1d893319f5d5e7 SHA512 19438aefbb361881c1b4620d8b1b5e7d2bf5afb44900858d3728ff6999a792bf6fe073a11f591ab70461bee8c54fdfb097e4084b402842bc49d2139897de304d
DIST nss-3.101.2.tar.gz 76462495 BLAKE2B 3a0dfd7aa68bc11f332decfc9cb7003b8d8fa6a9dad556ad736229d7d3847e68aeaf5b74e68989a0483bd1b9e2e3afd3bdf8df3d428ebc815eda9a255f5695aa SHA512 65ac338ee1b13ecc2b190f1ea39c987110a06f3b67610e094ffc1ef4117d487c34af1e11b90de0c28035bfc5cb10ca7996ed991d9afce7985973fabb48cd7ac8
+DIST nss-3.101.3.tar.gz 76462813 BLAKE2B 03a38804da9e9df79df6c06ebd8b4d5f185cc841d10cd81239f0b3e55ddec3c1ac2b626850004f8d78ea698c8c4d55dbb4adcae9d58fd3890526300c15be96a3 SHA512 105be3ce7b34221ae16a681db12291d08b19fe6f9557bd975627570b5de92d3e2349b16453cca07675483efa0a72e41995750171f08a0d6bac61de2ac3b05850
DIST nss-3.104-cacert-class1-class3.patch 22038 BLAKE2B 66e2dd47230d6aa58a767e35c9c069fa29f3111d470345e0f69486d1eead3cd1741939ac394f6b9b637e79a10d658cfb1a9da4387953b8968a9001bab94d4de0 SHA512 bafc4212e0e0ca3eb129a5b88767727159c6ec3da450c7625d0b282f82699378d64eaa2c3fecb72c61000ec9b6d3c24f20bc7defdac6edc673e0fbb26e0c1f7e
DIST nss-3.107.tar.gz 76617725 BLAKE2B 6f42cc9fa3c681083e7af0fe46b695a1b37b32facf7fe7f80718649db40a62a9d9a3de0be8910316a46fd42857fe713a77d72e45fa69fa980d9ad90d35b1db20 SHA512 a710459a46f5ca084fc5eb96047aeeece5010ebbffff3691a8487b667e9c520bd22d810cacca7b7b63b76d85a04c920748d169d0abb845b89b7b9804f9c38918
+DIST nss-3.108.tar.gz 76630022 BLAKE2B f7e58bc55ca9ccec83bfa0118267c9e4bec41f0f9852b31413cc19889c9e7e4beb87a7de303c7b3dfee3d8c84cc32cc90d84cf128daae1cea380c08ecc9b3ec5 SHA512 8a9545ec201f610abfae40d29e989c6a140b066755c02a36225a95fb9abfe47834352f3eae168e1cfb16382dfd12820c63bb9ad37361a624907cc45faa7bd34b
diff --git a/dev-libs/nss/files/nss-3.101.3-update-expected-error-code-in-pkg12util-pbmac1-tests.patch b/dev-libs/nss/files/nss-3.101.3-update-expected-error-code-in-pkg12util-pbmac1-tests.patch
new file mode 100644
index 000000000000..db3b6a33008d
--- /dev/null
+++ b/dev-libs/nss/files/nss-3.101.3-update-expected-error-code-in-pkg12util-pbmac1-tests.patch
@@ -0,0 +1,49 @@
+
+# HG changeset patch
+# User John Schanck <jschanck@mozilla.com>
+# Date 1731689351 0
+# Node ID 74feb03fe4f9efc0d5e5018b9a34376fc1261404
+# Parent 98e011fd3a24428abb886525630caacffabe01eb
+Bug 1927096 - update expected error code in pk12util pbmac1 tests. r=rrelyea
+
+Differential Revision: https://phabricator.services.mozilla.com/D227894
+
+diff --git a/tests/tools/tools.sh b/tests/tools/tools.sh
+--- a/tests/tools/tools.sh
++++ b/tests/tools/tools.sh
+@@ -539,31 +539,31 @@ tools_p12_import_pbmac1_samples()
+ ${BINDIR}/pk12util -i ${TOOLSDIR}/data/pbmac1-valid-sha512.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
+ ret=$?
+ html_msg $ret 0 "Importing private key pbmac1 hmac-sha-512 from PKCS#12 file"
+ check_tmpfile
+
+ echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
+ ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-iter.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
+ ret=$?
+- html_msg $ret 19 "Fail to list private key with bad iterator"
++ html_msg $ret 17 "Fail to list private key with bad iterator"
+ check_tmpfile
+
+ echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
+ ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-bad-salt.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
+ ret=$?
+ echo "Fail to list private key with bad salt val=$ret"
+- html_msg $ret 19 "Fail to import private key with bad salt"
++ html_msg $ret 17 "Fail to import private key with bad salt"
+ check_tmpfile
+
+ echo "${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234'"
+ ${BINDIR}/pk12util -l ${TOOLSDIR}/data/pbmac1-invalid-no-length.p12 -d ${P_R_COPYDIR} -k ${R_PWFILE} -W '1234' 2>&1
+ ret=$?
+ echo "Fail to import private key with no length val=$ret"
+- html_msg $ret 19 "Fail to import private key with no length"
++ html_msg $ret 17 "Fail to import private key with no length"
+ check_tmpfile
+ }
+
+ ############################## tools_p12 ###############################
+ # local shell function to test basic functionality of pk12util
+ ########################################################################
+ tools_p12()
+ {
+
diff --git a/dev-libs/nss/nss-3.101.3.ebuild b/dev-libs/nss/nss-3.101.3.ebuild
new file mode 100644
index 000000000000..a4d32ecb1c03
--- /dev/null
+++ b/dev-libs/nss/nss-3.101.3.ebuild
@@ -0,0 +1,419 @@
+# Copyright 1999-2025 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/nss-3.101_3.tar.gz -> ${P}.tar.gz
+ 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"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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}/nss-3.101_3/${PN}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/nss-config
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
+ "${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
+ "${FILESDIR}"/nss-3.87-use-clang-as-bgo892686.patch
+ "${FILESDIR}"/nss-3.101.3-update-expected-error-code-in-pkg12util-pbmac1-tests.patch
+)
+
+src_prepare() {
+ default
+
+ if use cacert ; then
+ eapply -p2 "${DISTDIR}"/nss-3.101-cacert-class1-class3.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "30-45+ minutes per lib configuration. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ export NSS_CYCLES=standard
+
+ NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
+
+ cd "${BUILD_DIR}"/tests || die
+ # Hack to get current objdir (prefixed dir where built binaries are)
+ # Without this, at least multilib tests go wrong when building the amd64 variant
+ # after x86.
+ local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
+
+ # Can tweak to a subset of tests in future if we need to, but would prefer not
+ OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
+}
+
+# Altering these 3 libraries breaks the CHK verification.
+# All of the following cause it to break:
+# - stripping
+# - prelink
+# - ELF signing
+# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
+# Either we have to NOT strip them, or we have to forcibly resign after
+# stripping.
+#local_libdir="$(get_libdir)"
+#export STRIP_MASK="
+# */${local_libdir}/libfreebl3.so*
+# */${local_libdir}/libnssdbm3.so*
+# */${local_libdir}/libsoftokn3.so*"
+
+export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
+
+generate_chk() {
+ local shlibsign="$1"
+ local libdir="$2"
+ einfo "Resigning core NSS libraries for FIPS validation"
+ shift 2
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libname=lib${i}.so
+ local chkname=lib${i}.chk
+ "${shlibsign}" \
+ -i "${libdir}"/${libname} \
+ -o "${libdir}"/${chkname}.tmp \
+ && mv -f \
+ "${libdir}"/${chkname}.tmp \
+ "${libdir}"/${chkname} \
+ || die "Failed to sign ${libname}"
+ done
+}
+
+cleanup_chk() {
+ local libdir="$1"
+ shift 1
+ local i
+ for i in ${NSS_CHK_SIGN_LIBS} ; do
+ local libfname="${libdir}/lib${i}.so"
+ # If the major version has changed, then we have old chk files.
+ [ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
+ && rm -f "${libfname}.chk"
+ done
+}
+
+multilib_src_install() {
+ pushd dist >/dev/null || die
+
+ dodir /usr/$(get_libdir)
+ cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
+ local i
+ for i in crmf freebl nssb nssckfw ; do
+ cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
+ done
+
+ # Install nss-config and pkgconfig file
+ dodir /usr/bin
+ cp -L */bin/nss-config "${ED}"/usr/bin || die
+ dodir /usr/$(get_libdir)/pkgconfig
+ cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
+
+ # create an nss-softokn.pc from nss.pc for libfreebl and some private headers
+ # bug 517266
+ sed -e 's#Libs:#Libs: -lfreebl#' \
+ -e 's#Cflags:#Cflags: -I${includedir}/private#' \
+ */lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
+ || die "could not create nss-softokn.pc"
+
+ # all the include files
+ insinto /usr/include/nss
+ doins public/nss/*.{h,api}
+ insinto /usr/include/nss/private
+ doins private/nss/{blapi,alghmac,cmac}.h
+
+ popd >/dev/null || die
+
+ local f nssutils
+ # Always enabled because we need it for chk generation.
+ nssutils=( shlibsign )
+
+ if multilib_is_native_abi ; then
+ if use utils; then
+ # The tests we do not need to install.
+ #nssutils_test="bltest crmftest dbtest dertimetest
+ #fipstest remtest sdrtest"
+ # checkcert utils has been removed in nss-3.22:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
+ # https://hg.mozilla.org/projects/nss/rev/df1729d37870
+ # certcgi has been removed in nss-3.36:
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
+ nssutils+=(
+ addbuiltin
+ atob
+ baddbdir
+ btoa
+ certutil
+ cmsutil
+ conflict
+ crlutil
+ derdump
+ digest
+ makepqg
+ mangle
+ modutil
+ multinit
+ nonspr10
+ ocspclnt
+ oidcalc
+ p7content
+ p7env
+ p7sign
+ p7verify
+ pk11mode
+ pk12util
+ pp
+ rsaperf
+ selfserv
+ signtool
+ signver
+ ssltap
+ strsclnt
+ symkeyutil
+ tstclnt
+ vfychain
+ vfyserv
+ )
+ # install man-pages for utils (bug #516810)
+ doman doc/nroff/*.1
+ fi
+ pushd dist/*/bin >/dev/null || die
+ for f in ${nssutils[@]}; do
+ dobin ${f}
+ done
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ multilib_pkg_postinst() {
+ # We must re-sign the libraries AFTER they are stripped.
+ local shlibsign="${EROOT}/usr/bin/shlibsign"
+ # See if we can execute it (cross-compiling & such). #436216
+ "${shlibsign}" -h >&/dev/null
+ if [[ $? -gt 1 ]] ; then
+ shlibsign="shlibsign"
+ fi
+ generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postinst
+}
+
+pkg_postrm() {
+ multilib_pkg_postrm() {
+ cleanup_chk "${EROOT}"/usr/$(get_libdir)
+ }
+
+ multilib_foreach_abi multilib_pkg_postrm
+}
diff --git a/dev-libs/nss/nss-3.108.ebuild b/dev-libs/nss/nss-3.108.ebuild
new file mode 100644
index 000000000000..352be19c4d9a
--- /dev/null
+++ b/dev-libs/nss/nss-3.108.ebuild
@@ -0,0 +1,427 @@
+# Copyright 1999-2025 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/~juippis/mozilla/patchsets/nss-3.104-cacert-class1-class3.patch )"
+
+LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="cacert test test-full +utils cpu_flags_ppc_altivec cpu_flags_x86_avx2 cpu_flags_x86_sse3 cpu_flags_ppc_vsx"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="test-full? ( 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}"/nss-3.103-gentoo-fixes-add-pkgconfig-files.patch
+ "${FILESDIR}"/nss-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-3.104-cacert-class1-class3.patch
+ fi
+
+ pushd coreconf >/dev/null || die
+ # hack nspr paths
+ echo 'INCLUDES += -I$(DIST)/include/dbm' \
+ >> headers.mk || die "failed to append include"
+
+ # modify install path
+ sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
+ -i source.mk || die
+
+ # Respect LDFLAGS
+ sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
+
+ # Workaround make-4.4's change to sub-make, bmo#1800237, bgo#882069
+ sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _$(nssarch)/" Linux.mk || die
+
+ popd >/dev/null || die
+
+ # Fix pkgconfig file for Prefix
+ sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
+ config/Makefile || die
+
+ # use host shlibsign if need be #436216
+ if tc-is-cross-compiler ; then
+ sed -i \
+ -e 's:"${2}"/shlibsign:shlibsign:' \
+ cmd/shlibsign/sign.sh || die
+ fi
+
+ # dirty hack
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
+ lib/ssl/config.mk || die
+ sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
+ cmd/platlibs.mk || die
+
+ multilib_copy_sources
+
+ strip-flags
+}
+
+multilib_src_configure() {
+ # Ensure we stay multilib aware
+ sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
+}
+
+nssarch() {
+ # Most of the arches are the same as $ARCH
+ local t=${1:-${CHOST}}
+ case ${t} in
+ *86*-pc-solaris2*) echo "i86pc" ;;
+ aarch64*) echo "aarch64" ;;
+ hppa*) echo "parisc" ;;
+ i?86*) echo "i686" ;;
+ x86_64*) echo "x86_64" ;;
+ *) tc-arch ${t} ;;
+ esac
+}
+
+nssbits() {
+ local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
+ if [[ ${1} == BUILD_ ]]; then
+ cc=$(tc-getBUILD_CC)
+ else
+ cc=$(tc-getCC)
+ fi
+ # TODO: Port this to toolchain-funcs tc-get-ptr-size/tc-get-build-ptr-size
+ echo > "${T}"/test.c || die
+ ${cc} ${!cppflags} ${!cflags} -fno-lto -c "${T}"/test.c -o "${T}/${1}test.o" || die
+ case $(file -S "${T}/${1}test.o") in
+ *32-bit*x86-64*) echo USE_X32=1;;
+ *64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
+ *32-bit*|*ppc*|*i386*) ;;
+ *) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
+ esac
+}
+
+multilib_src_compile() {
+ # use ABI to determine bit'ness, or fallback if unset
+ local buildbits mybits
+ case "${ABI}" in
+ n32) mybits="USE_N32=1";;
+ x32) mybits="USE_X32=1";;
+ s390x|*64) mybits="USE_64=1";;
+ ${DEFAULT_ABI})
+ einfo "Running compilation test to determine bit'ness"
+ mybits=$(nssbits)
+ ;;
+ esac
+ # bitness of host may differ from target
+ if tc-is-cross-compiler; then
+ buildbits=$(nssbits BUILD_)
+ fi
+
+ local makeargs=(
+ CC="$(tc-getCC)"
+ CCC="$(tc-getCXX)"
+ AR="$(tc-getAR) rc \$@"
+ RANLIB="$(tc-getRANLIB)"
+ OPTIMIZER=
+ ${mybits}
+ disable_ckbi=0
+ )
+
+ # Take care of nspr settings #436216
+ local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
+ unset NSPR_INCLUDE_DIR
+
+ export NSS_ALLOW_SSLKEYLOGFILE=1
+ export NSS_ENABLE_WERROR=0 #567158
+ export BUILD_OPT=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSDISTMODE=copy
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+ export NSS_SEED_ONLY_DEV_URANDOM=1
+ export USE_SYSTEM_ZLIB=1
+ export ZLIB_LIBS=-lz
+ export ASFLAGS=""
+ # Fix build failure on arm64
+ export NS_USE_GCC=1
+ # Detect compiler type and set proper environment value
+ if tc-is-gcc; then
+ export CC_IS_GCC=1
+ elif tc-is-clang; then
+ export CC_IS_CLANG=1
+ fi
+
+ export NSS_DISABLE_GTESTS=$(usex !test 1 0)
+
+ # Include exportable custom settings defined by users, #900915
+ # Two examples uses:
+ # EXTRA_NSSCONF="MYONESWITCH=1"
+ # EXTRA_NSSCONF="MYVALUE=0 MYOTHERVALUE=1 MYTHIRDVALUE=1"
+ # e.g.
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0"
+ # or
+ # EXTRA_NSSCONF="NSS_ALLOW_SSLKEYLOGFILE=0 NSS_ENABLE_WERROR=1"
+ # etc.
+ if [[ -n "${EXTRA_NSSCONF}" ]]; then
+ ewarn "EXTRA_NSSCONF applied, please disable custom settings before reporting bugs."
+ read -a myextranssconf <<< "${EXTRA_NSSCONF}"
+
+ for (( i=0; i<${#myextranssconf[@]}; i++ )); do
+ export "${myextranssconf[$i]}"
+ echo "exported ${myextranssconf[$i]}"
+ done
+ fi
+
+ # explicitly disable altivec/vsx if not requested
+ # https://bugs.gentoo.org/789114
+ case ${ARCH} in
+ ppc*)
+ use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
+ use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
+ ;;
+ esac
+
+ use cpu_flags_x86_avx2 || export NSS_DISABLE_AVX2=1
+ use cpu_flags_x86_sse3 || export NSS_DISABLE_SSE3=1
+
+ local d
+
+ # Build the host tools first.
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ XCFLAGS="${BUILD_CFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake -C coreconf \
+ CC="$(tc-getBUILD_CC)" \
+ ${buildbits-${mybits}}
+ makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
+
+ # Then build the target tools.
+ for d in . lib/dbm ; do
+ CPPFLAGS="${myCPPFLAGS}" \
+ XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
+ NSPR_LIB_DIR="${T}/fakedir" \
+ emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
+ done
+}
+
+multilib_src_test() {
+ einfo "Tests can take a *long* time, especially on a multilib system."
+ einfo "~10 minutes per lib configuration with only 'standard' tests,"
+ einfo "~40 minutes per lib configuration with 'full' tests. Bug #852755"
+
+ # https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
+ # https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
+ # https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
+ export BUILD_OPT=1
+ export HOST="localhost"
+ export DOMSUF="localdomain"
+ export USE_IP=TRUE
+ export IP_ADDRESS="127.0.0.1"
+
+ # Only run the standard cycle instead of full, reducing testing time from 45 minutes to 15
+ # per lib implementation.
+ if use test-full ; then
+ # export NSS_CYCLES="standard pkix sharedb"
+ :;
+ else
+ export NSS_CYCLES="standard"
+ fi
+
+ 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/openssl/files/openssl-3.3.2-arm64-clobber.patch b/dev-libs/openssl/files/openssl-3.3.2-arm64-clobber.patch
new file mode 100644
index 000000000000..d83c5b4fb87f
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-3.3.2-arm64-clobber.patch
@@ -0,0 +1,55 @@
+https://gcc.gnu.org/PR118537
+https://www.postgresql.org/message-id/6fxlmnyagkycru3bewa4ympknywnsswlqzvwfft3ifqqiioxlv%40ax53pv7xdrc2
+https://github.com/openssl/openssl/pull/26469
+https://github.com/openssl/openssl/commit/4f7d8b2724ea7f42cff1e8a0e736ad448def60f5
+
+From 4f7d8b2724ea7f42cff1e8a0e736ad448def60f5 Mon Sep 17 00:00:00 2001
+From: Julian Andres Klode <julian.klode@canonical.com>
+Date: Sat, 18 Jan 2025 21:12:45 +0100
+Subject: [PATCH] Restore correct registers in aarch64 AES-CTR code
+
+Commit 1d1ca79fe35dbe5c05faed5a2ef8c4de9c5adc49 introduced
+save and restore for the registers, saving them as
+
+ stp d8,d9,[sp, #16]
+ stp d10,d11,[sp, #32]
+ stp d12,d13,[sp, #48]
+ stp d14,d15,[sp, #64]
+
+But the restore code was inadvertently typoed:
+
+ ldp d8,d9,[sp, #16]
+ ldp d10,d11,[sp, #32]
+ ldp d12,d13,[sp, #48]
+ ldp d15,d16,[sp, #64]
+
+Restoring [sp, #64] into d15,d16 instead of d14,d15.
+
+Fixes: #26466
+
+CLA: trivial
+
+Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
+Reviewed-by: Paul Dale <ppzgs1@gmail.com>
+Reviewed-by: Tomas Mraz <tomas@openssl.org>
+(Merged from https://github.com/openssl/openssl/pull/26469)
+
+(cherry picked from commit 5261f3ca41cda7ad5767e399e9a2dc008bbad5d6)
+---
+ crypto/aes/asm/aesv8-armx.pl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/crypto/aes/asm/aesv8-armx.pl b/crypto/aes/asm/aesv8-armx.pl
+index 33a2dd53dae19..dc019b04ccd25 100755
+--- a/crypto/aes/asm/aesv8-armx.pl
++++ b/crypto/aes/asm/aesv8-armx.pl
+@@ -2493,7 +2493,7 @@ ()
+ ldp d8,d9,[sp, #16]
+ ldp d10,d11,[sp, #32]
+ ldp d12,d13,[sp, #48]
+- ldp d15,d16,[sp, #64]
++ ldp d14,d15,[sp, #64]
+ ldr x29,[sp],#80
+ ret
+ .size ${prefix}_ctr32_encrypt_blocks_unroll12_eor3,.-${prefix}_ctr32_encrypt_blocks_unroll12_eor3
+
diff --git a/dev-libs/openssl/openssl-3.3.2-r3.ebuild b/dev-libs/openssl/openssl-3.3.2-r3.ebuild
new file mode 100644
index 000000000000..74109bfb1ff7
--- /dev/null
+++ b/dev-libs/openssl/openssl-3.3.2-r3.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2025 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://openssl-library.org/"
+
+MY_P=${P/_/-}
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openssl/openssl.git"
+
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/openssl/openssl/releases/download/${P}/${P}.tar.gz
+ verify-sig? (
+ https://github.com/openssl/openssl/releases/download/${P}/${P}.tar.gz.asc
+ )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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-20240920 )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/openssl/configuration.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-CVE-2024-9143.patch
+ "${FILESDIR}"/${PN}-3.3.2-silence-warning.patch
+ "${FILESDIR}"/${P}-arm64-clobber.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/plasma-wayland-protocols/plasma-wayland-protocols-1.16.0.ebuild b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.16.0.ebuild
index d9df14c50669..d12644177f4e 100644
--- a/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.16.0.ebuild
+++ b/dev-libs/plasma-wayland-protocols/plasma-wayland-protocols-1.16.0.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://invent.kde.org/libraries/plasma-wayland-protocols"
if [[ ${KDE_BUILD_TYPE} = release ]]; then
SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
fi
LICENSE="LGPL-2.1"
diff --git a/dev-libs/qcoro5/Manifest b/dev-libs/qcoro5/Manifest
deleted file mode 100644
index c157c9559060..000000000000
--- a/dev-libs/qcoro5/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST qcoro5-0.10.0.tar.gz 150114 BLAKE2B 8a552dc3a0e4a5963c7c9fd0638f336e6ad99491a54df3bb8ddaa6b0ee1fe8e4c6b7ffc26c25cef543e796c54bc4c625a0915755f4b538f489bc61fcd8310a6a SHA512 de2e55256d3c9d35fec3ef6dc78128801b70a5e5b8ff0f3a6f235dac17f349ea44207a7c9f35375215dbeea04cb67c3412d505d0a8a95f2b926775f804a02649
diff --git a/dev-libs/qcoro5/metadata.xml b/dev-libs/qcoro5/metadata.xml
deleted file mode 100644
index 57d397297f29..000000000000
--- a/dev-libs/qcoro5/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>kde@gentoo.org</email>
- <name>Gentoo KDE Project</name>
- </maintainer>
- <upstream>
- <bugs-to>https://github.com/danvratil/qcoro/issues</bugs-to>
- <remote-id type="github">danvratil/qcoro</remote-id>
- </upstream>
- <use>
- <flag name="network">Build <pkg>dev-qt/qtnetwork</pkg> support</flag>
- <flag name="qml">Enable QML/QtQuick support via <pkg>dev-qt/qtdeclarative</pkg></flag>
- <flag name="testlib">Install coroutine-friendly versions of <pkg>dev-qt/qttest</pkg> macros</flag>
- <flag name="websockets">Build <pkg>dev-qt/qtwebsockets</pkg> support</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild b/dev-libs/qcoro5/qcoro5-0.10.0-r1.ebuild
deleted file mode 100644
index e038bbf9159b..000000000000
--- a/dev-libs/qcoro5/qcoro5-0.10.0-r1.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
-
-inherit cmake
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/danvratil/${PN/5/}"
-else
- SRC_URI="https://github.com/danvratil/${PN/5/}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${P/5/}"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="C++ Coroutine Library for Qt5"
-HOMEPAGE="https://qcoro.dvratil.cz/ https://github.com/danvratil/qcoro"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="dbus examples +network qml test testlib websockets"
-
-REQUIRED_USE="examples? ( network ) test? ( testlib )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-qt/qtcore:5
- dbus? ( dev-qt/qtdbus:5 )
- network? ( dev-qt/qtnetwork:5 )
- qml? (
- dev-qt/qtdeclarative:5=
- dev-qt/qtgui:5
- )
- testlib? ( dev-qt/qttest:5 )
- websockets? ( dev-qt/qtwebsockets:5 )
-"
-DEPEND="${RDEPEND}
- examples? (
- dev-qt/qtconcurrent:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- )
- test? (
- dev-qt/qtconcurrent:5
- dev-qt/qttest:5
- )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_QT_VERSION=5
- -DQCORO_BUILD_EXAMPLES=$(usex examples)
- -DQCORO_WITH_QTDBUS=$(usex dbus)
- -DQCORO_WITH_QTNETWORK=$(usex network)
- -DQCORO_WITH_QML=$(usex qml)
- -DQCORO_WITH_QTQUICK=$(usex qml)
- -DQCORO_WITH_QTTEST=$(usex testlib)
- -DBUILD_TESTING=$(usex test)
- -DQCORO_WITH_QTWEBSOCKETS=$(usex websockets)
- )
- cmake_src_configure
-}
-
-src_install() {
- if use examples; then
- docinto examples
- dodoc -r examples/*
- fi
- cmake_src_install
-}
diff --git a/dev-libs/rocdbgapi/Manifest b/dev-libs/rocdbgapi/Manifest
index b714542e461e..06eaea8ca257 100644
--- a/dev-libs/rocdbgapi/Manifest
+++ b/dev-libs/rocdbgapi/Manifest
@@ -1,3 +1,4 @@
DIST rocdbgapi-5.7.1.tar.gz 251913 BLAKE2B 96dc859937fdde75a3d68368b29efdd14711e256c7d3c60cd40b128e9a0c066f108c02f7d47d9d64d7ca485e85e9d56d48cac6c67088fc3fbafe44d1d23a7ce2 SHA512 e30cf6062b07ced7de1660398cd84d104e632907cfaf9bc05d29289a81a977c2272b69ff0810db201675f9d7e8476b4451c988ad9da0a13eee01fffdde839d26
DIST rocdbgapi-6.1.1.tar.gz 254274 BLAKE2B 1621dc715e2540578126ff2fa6dc30dc9db711689e82b5c750dd203aafa091c00f897425a372d4617bec25eddb7b9a44105e8c9b46eb660e197602ede2beecba SHA512 d613e633e27ad9f582b9612d7d088c3ea465c29d6520e94b4821e0340c736e556dcd4a89f8027701097ee4e2d8b55640a232d484f9fa26f8a9165c648f8af219
DIST rocdbgapi-6.3.0.tar.gz 275368 BLAKE2B da4ee565d0bbafad4838ca6a346525bfc0e174ee39a1e4d99da16f2ba041885211d38cc9f9aac0ab0358b62557061f7c4cfc8fd3bcf241398b510ea952d56254 SHA512 b9acf8787fa6e76bd9d28a36b3c09932d830085cbdc4b6712d481c19cb36c2fd4ff50fb31fd249d9a523c053019657ae7eace850102be94170c327d4efb49e9d
+DIST rocdbgapi-6.3.2.tar.gz 275359 BLAKE2B 085ab87b04fbe165bb689a61016cd7e4e1133c4f9a2504267d30a07dd2922eeeb11fb7507416e426b3a24a8ec3090c7a4b64ccd32f578ccb7bc420fcc52f7fec SHA512 b60312cc29830f1a481f67ab3419c3e9915e07f6a13557e06a1fa4da6022ae7388421264843aea095c49330c984d943771cba7b77f31d3f511a545af5db68c00
diff --git a/dev-libs/rocdbgapi/rocdbgapi-6.3.2.ebuild b/dev-libs/rocdbgapi/rocdbgapi-6.3.2.ebuild
new file mode 100644
index 000000000000..d8fc715396fc
--- /dev/null
+++ b/dev-libs/rocdbgapi/rocdbgapi-6.3.2.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2025 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}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.0-fix-libcxx.patch"
+)
+
+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 39aa040bf25b..0791e33ea5aa 100644
--- a/dev-libs/rocksdb/Manifest
+++ b/dev-libs/rocksdb/Manifest
@@ -1,5 +1,3 @@
DIST rocksdb-7.9.2.tar.gz 12058713 BLAKE2B 76a840565fccdc800eaad055da7698f7a5fc6e217187e078d60420c61cde1236c427cc4ae7d557c69ee5c358cd1ebc7fc4ed52063c04965fcc2c3c35774e9f59 SHA512 9cf2a359cedb21ca70fc921e54f19c406fd9aa2a739ad1627842fad2dec0e7dedbfe52aa8e85fbfbe7005c00ca1e7e7013f728d4d9938f3cebdf794504b431cb
DIST rocksdb-8.11.3.tar.gz 13345436 BLAKE2B 8d8069c030ee345090ebec15528342d776d7a74d6b72808a054511aad169acaa89c5fee530e73b3faba9152aadc4d26f1edc4586e31ddf5501d2899b5d6500ec SHA512 df701e8f3a94efe351c5dfec691635b6cff9b5902e8d5bd714caa7389bbbfd8ce7f7e91f1549978b47b934449fb3b77581dfcc2811a7727be049709a330ca71e
-DIST rocksdb-9.7.4.tar.gz 13615065 BLAKE2B 8babae4a879d3d08c7bccf0b93dc78bf413d3d518b9470e343588cba92f796ad5d493128276fe0673e915bfd8eab8a98abfd52dd0e633446324989db00032746 SHA512 d7209fee27f0b40ebce7a43c0356b2e6ca355d768d60b5e56599074bbd2aa555f4ed3b97e85ef492742be1597184d505b6acfd84ad27d6a5b83bf1a13bf4b1ca
-DIST rocksdb-9.8.4.tar.gz 13647031 BLAKE2B faeca03e688a9240b739a671fb00f3f2015b0a90397d0473a44c4278ece6af91e6870ca6defec7c4a49bc9c7d07c19b218776937d608d87a9e456e8b219cd911 SHA512 34afd421c86bdb3741f49e35466efbaef041d8461bedf7d32fa6d808e3cc38807aafddfd0bb563f34d21de8f0d31dfc26dcae3208c2dd36da449913cef9a3e1b
-DIST rocksdb-9.9.3.tar.gz 13668148 BLAKE2B d2a2843b14a601efbc80e37c321ee9541d674f5d7ab9cc3357397b3b017a6bcfc40404d472764c6e74175e9573ee505fe8a4039169ffa19da3b973f548655854 SHA512 119759e9e829f65b11042ac22fff845ef0ddea88a2e326a2c4f6f00a6e7e3951f4043eac6f4bb2fe7e4ecda9e597989827f961924ae4c8bb99608432883aa950
+DIST rocksdb-9.10.0.tar.gz 13693440 BLAKE2B bc612980c3374260561f67ab374a8a04f65a196543c21109f5b66f6b58a5e14a8fcb86dbc3910dd5f5ea5f5fdb6485ccfed36a41c762c9b44064ba98f9af47f2 SHA512 b9a53c13f69e723cc41f8431ffc2f0b0be7a85d7a598b2f7a41cf89c34cb3ec55ba8b7874d579914851da59f252e2fcbe8091e490e9a6eca68d7995e2f8b667e
diff --git a/dev-libs/rocksdb/metadata.xml b/dev-libs/rocksdb/metadata.xml
index e8708dfa4d7c..544fab1e8b1f 100644
--- a/dev-libs/rocksdb/metadata.xml
+++ b/dev-libs/rocksdb/metadata.xml
@@ -2,13 +2,13 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <maintainer type="person">
<email>amadio@gentoo.org</email>
<name>Guilherme Amadio</name>
</maintainer>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
<upstream>
<remote-id type="github">facebook/rocksdb</remote-id>
</upstream>
diff --git a/dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild b/dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild
index 6cfd8ad17742..40a3cd3cefa5 100644
--- a/dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild
+++ b/dev-libs/rocksdb/rocksdb-7.9.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2024 Gentoo Authors
+# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -77,3 +77,13 @@ src_install() {
rm "${ED}"/usr/$(get_libdir)/*.a || die
fi
}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ OptionsSettableTest.ColumnFamilyOptionsAllFieldsSettable
+ # skip tests that don't work on tmpfs, bugs 942984, 948931
+ EnvPosixTest
+ FilePrefetchBufferTest
+ )
+ cmake_src_test
+}
diff --git a/dev-libs/rocksdb/rocksdb-8.11.3.ebuild b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
index 8221a61c5b6a..26d7bdeb7c50 100644
--- a/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
+++ b/dev-libs/rocksdb/rocksdb-8.11.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2024 Gentoo Authors
+# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -78,3 +78,14 @@ src_install() {
rm "${ED}"/usr/$(get_libdir)/*.a || die
fi
}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ OptionsSettableTest.ColumnFamilyOptionsAllFieldsSettable
+ # skip tests that don't work on tmpfs, bug 948932
+ DBTestTailingIterator
+ PrefetchTest
+ PrefetchTest1
+ )
+ cmake_src_test
+}
diff --git a/dev-libs/rocksdb/rocksdb-9.9.3.ebuild b/dev-libs/rocksdb/rocksdb-9.10.0.ebuild
index bab86b142729..2f7a18895930 100644
--- a/dev-libs/rocksdb/rocksdb-9.9.3.ebuild
+++ b/dev-libs/rocksdb/rocksdb-9.10.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2024 Gentoo Authors
+# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -82,6 +82,10 @@ src_install() {
src_test() {
CMAKE_SKIP_TESTS=(
OptionsSettableTest.ColumnFamilyOptionsAllFieldsSettable
+ # skip tests that don't work on tmpfs, bug 948932
+ DBTestTailingIterator
+ PrefetchTest
+ PrefetchTest1
)
cmake_src_test
}
diff --git a/dev-libs/rocksdb/rocksdb-9.7.4.ebuild b/dev-libs/rocksdb/rocksdb-9.7.4.ebuild
deleted file mode 100644
index c5a5cce5e1d8..000000000000
--- a/dev-libs/rocksdb/rocksdb-9.7.4.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="jemalloc numa static-libs tbb test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- dev-cpp/gflags:=
- sys-libs/liburing:=
- sys-libs/zlib:=
- sys-process/numactl
- jemalloc? ( dev-libs/jemalloc:= )
- tbb? ( dev-cpp/tbb:= )
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i -e 's/liburing.a/uring/' cmake/modules/Finduring.cmake || die
- sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DFAIL_ON_WARNINGS=OFF
- -DPORTABLE=1
- -DROCKSDB_BUILD_SHARED=$(usex static-libs OFF ON)
- -DWITH_ALL_TESTS=$(usex test)
- -DWITH_ASAN=OFF
- -DWITH_BENCHMARK=OFF
- -DWITH_BENCHMARK_TOOLS=OFF
- -DWITH_BZ2=ON
- -DWITH_CORE_TOOLS=ON
- -DWITH_DYNAMIC_EXTENSION=ON
- -DWITH_EXAMPLES=OFF
- -DWITH_FALLOCATE=ON
- -DWITH_GFLAGS=ON
- -DWITH_IOSTATS_CONTEXT=ON
- -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
- -DWITH_JNI=OFF
- -DWITH_LIBURING=ON
- -DWITH_LZ4=ON
- -DWITH_MD_LIBRARY=ON
- -DWITH_NUMA=$(usex numa)
- -DWITH_SNAPPY=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_TOOLS=ON
- -DWITH_TRACE_TOOLS=ON
- -DWITH_TSAN=OFF
- -DWITH_ZLIB=ON
- -DWITH_ZSTD=ON
- )
- # -DWITH_TESTS option works only with debug build, needs to be set here
- # to not be overriden by cmake.eclass
- CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/*.a || die
- fi
-}
diff --git a/dev-libs/rocksdb/rocksdb-9.8.4.ebuild b/dev-libs/rocksdb/rocksdb-9.8.4.ebuild
deleted file mode 100644
index c5a5cce5e1d8..000000000000
--- a/dev-libs/rocksdb/rocksdb-9.8.4.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Embeddable, persistent key-value store for fast storage"
-HOMEPAGE="http://rocksdb.org https://github.com/facebook/rocksdb/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-IUSE="jemalloc numa static-libs tbb test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/bzip2:=
- app-arch/lz4:=
- app-arch/snappy:=
- app-arch/zstd:=
- dev-cpp/gflags:=
- sys-libs/liburing:=
- sys-libs/zlib:=
- sys-process/numactl
- jemalloc? ( dev-libs/jemalloc:= )
- tbb? ( dev-cpp/tbb:= )
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i -e 's/liburing.a/uring/' cmake/modules/Finduring.cmake || die
- sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DFAIL_ON_WARNINGS=OFF
- -DPORTABLE=1
- -DROCKSDB_BUILD_SHARED=$(usex static-libs OFF ON)
- -DWITH_ALL_TESTS=$(usex test)
- -DWITH_ASAN=OFF
- -DWITH_BENCHMARK=OFF
- -DWITH_BENCHMARK_TOOLS=OFF
- -DWITH_BZ2=ON
- -DWITH_CORE_TOOLS=ON
- -DWITH_DYNAMIC_EXTENSION=ON
- -DWITH_EXAMPLES=OFF
- -DWITH_FALLOCATE=ON
- -DWITH_GFLAGS=ON
- -DWITH_IOSTATS_CONTEXT=ON
- -DWITH_JEMALLOC=$(usex jemalloc ON OFF)
- -DWITH_JNI=OFF
- -DWITH_LIBURING=ON
- -DWITH_LZ4=ON
- -DWITH_MD_LIBRARY=ON
- -DWITH_NUMA=$(usex numa)
- -DWITH_SNAPPY=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_TOOLS=ON
- -DWITH_TRACE_TOOLS=ON
- -DWITH_TSAN=OFF
- -DWITH_ZLIB=ON
- -DWITH_ZSTD=ON
- )
- # -DWITH_TESTS option works only with debug build, needs to be set here
- # to not be overriden by cmake.eclass
- CMAKE_BUILD_TYPE=$(usex test Debug RelWithDebInfo) cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if ! use static-libs; then
- rm "${ED}"/usr/$(get_libdir)/*.a || die
- fi
-}
diff --git a/dev-libs/rocm-comgr/Manifest b/dev-libs/rocm-comgr/Manifest
index 50ff7f85aa1a..635f9315d2bd 100644
--- a/dev-libs/rocm-comgr/Manifest
+++ b/dev-libs/rocm-comgr/Manifest
@@ -1,6 +1,7 @@
DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818
DIST llvm-project-rocm-6.1.2.tar.gz 195992927 BLAKE2B d821f29f2f1f7c1ff414c63a710281f16d2a394b21f3365d01b86710cc09ed27e514b49fb744bf6a36b38815afa56cc26d44f0238f38479a0c2db9bf9989f389 SHA512 5f7e5dbe5976141de35e96e603624bd9d5a2c08b0690ba9fcd81d1b32f540f94bb9f4b74539e2838fd60ae1312dbe5e0b429ba80a03871782cdf3bd834940ce0
DIST llvm-project-rocm-6.3.0.tar.gz 206677330 BLAKE2B f3e68a8c94599e3a938d3e761af163b9f010a06421680ee70aaaaf8073fb18da9151729c311fc4bd12b281b3afdd15e61cea31c970f0e4d36bb97838fa17ca5f SHA512 674fc3242c6dbb6962f1002dc34ccbd618da6adeb640bac15265d22fdcedf9de16ea3d79899891734ccc1099cb5b5ed9110b1162f4515c4cbc0d847810682b59
+DIST llvm-project-rocm-6.3.2.tar.gz 206671202 BLAKE2B a280e2be22b8eb9fd51814074447baed3637231d4bfbe391047a1fb2409197c8d8ba58cebb3aeaec15aa4daee9371311274b30ede48e0039d7c84e432b15de1a SHA512 314e27577af76268635f3c96ee3516829e4622913c3d0c4c68eccbaee0c9f7f5fc031cbd35827deb4bc29712592c424e296c15ce8c500c897bfb3eb19455899c
DIST rocm-comgr-5.1.3.tar.gz 117155 BLAKE2B 40e415c4c7ae3e709dd50981299291f0fc1133f35310b4c86a86847d3bce5fd7685a3f4480f8f156873ca922921c1d4e1cb620fd33bd5cdc87f155af839f2bbe SHA512 5927250f5e03c32b7f270a1dbfe5221d349dfe32aba34143040da53d4e7eb83faa3073a43edabcff13e1fc977bc17088404523f2ab2ea95e207d2c00beb4249b
DIST rocm-comgr-5.3.3.tar.gz 120414 BLAKE2B 29b9d466d74ef94165a2b9bea35eac4616f6b2fc529cdac3c830ee7dc08f219cb9e5d4f081658881c76633f12eaebb74d1a2ea30a76652231b8ee516f9988db1 SHA512 ba7b1ef214e3624168e438ed7fd94291a07508fe89d178c0b158bf22e0998d5a8e4d8f0a7f08f05ac108ef65f725db5764fd66353a85bc25000e572a4fdcb61f
DIST rocm-comgr-5.4.3.tar.gz 120461 BLAKE2B c4eb79dd5a72a2b18e16841fc8cb9a3a33efb0c7b04a7585df9672d682bba6fa826ab8b37dba5febca3b8c5ee5aca30d8546e1fa69e77671e5c750e2a8c1f12f SHA512 1a25af99a0166d70ca6dc5df5a667068eaf583dccd74bbb18a2a5de3c1b769e0c1eb9a0c539e0cd88bc50bbbe53214a1d1b23fbdfd6fc5b6507c44da259815c4
diff --git a/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch
new file mode 100644
index 000000000000..14b1d12148f7
--- /dev/null
+++ b/dev-libs/rocm-comgr/files/rocm-comgr-6.3.2-rocm_path.patch
@@ -0,0 +1,14 @@
+Index: comgr/src/comgr-env.cpp
+===================================================================
+--- comgr.orig/src/comgr-env.cpp
++++ comgr/src/comgr-env.cpp
+@@ -269,6 +269,9 @@ InstallationDetector *getDetectorImpl()
+ if (EnvROCMPath) {
+ ROCmInstallPath = EnvROCMPath;
+ }
++ else {
++ ROCmInstallPath = "@GENTOO_PORTAGE_EPREFIX@/usr";
++ }
+
+ InstallationDetector *Detector;
+ if (ROCmInstallPath == "") {
diff --git a/dev-libs/rocm-comgr/rocm-comgr-6.3.2.ebuild b/dev-libs/rocm-comgr/rocm-comgr-6.3.2.ebuild
new file mode 100644
index 000000000000..bf8986261a9f
--- /dev/null
+++ b/dev-libs/rocm-comgr/rocm-comgr-6.3.2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 19 )
+
+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/llvm-project/tree/amd-staging/amd/comgr"
+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}-6.0.0-extend-isa-compatibility-check.patch"
+ "${FILESDIR}/${PN}-6.1.0-enforce-oop-compiler.patch"
+ "${FILESDIR}/${PN}-6.3.0-fix-comgr-default-flags.patch"
+ "${FILESDIR}/${PN}-6.1.0-dont-add-nogpulib.patch"
+ "${FILESDIR}/${PN}-6.3.0-llvm-19-compat.patch"
+ "${FILESDIR}/${PN}-6.3.0-bypass-device-libs-copy.patch"
+)
+
+RDEPEND=">=dev-libs/rocm-device-libs-${PV}
+ llvm-core/clang-runtime:=
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}=
+ llvm-core/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}-6.3.2-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 08227416e607..7a9ac0e660ec 100644
--- a/dev-libs/rocm-device-libs/Manifest
+++ b/dev-libs/rocm-device-libs/Manifest
@@ -1,6 +1,7 @@
DIST llvm-project-rocm-6.1.1.tar.gz 196027084 BLAKE2B 3ef0b6e3c47c66fd80289373e6ff8aaff44751f9b380addfae73a18dc388093c0535f230b0cc7528724bc43f6992e2ae6decd3d0d3c700893ca95a6166b7b8dc SHA512 e320d4eeaa6f61ed1cdbf653d67fe887d3ce9dc0d6743b4713502e1cb5318ab8afbe1ee71f8cba07635c54ce532df6683de40ade0e5be4a52e50ce25a9b70818
DIST llvm-project-rocm-6.1.2.tar.gz 195992927 BLAKE2B d821f29f2f1f7c1ff414c63a710281f16d2a394b21f3365d01b86710cc09ed27e514b49fb744bf6a36b38815afa56cc26d44f0238f38479a0c2db9bf9989f389 SHA512 5f7e5dbe5976141de35e96e603624bd9d5a2c08b0690ba9fcd81d1b32f540f94bb9f4b74539e2838fd60ae1312dbe5e0b429ba80a03871782cdf3bd834940ce0
DIST llvm-project-rocm-6.3.0.tar.gz 206677330 BLAKE2B f3e68a8c94599e3a938d3e761af163b9f010a06421680ee70aaaaf8073fb18da9151729c311fc4bd12b281b3afdd15e61cea31c970f0e4d36bb97838fa17ca5f SHA512 674fc3242c6dbb6962f1002dc34ccbd618da6adeb640bac15265d22fdcedf9de16ea3d79899891734ccc1099cb5b5ed9110b1162f4515c4cbc0d847810682b59
+DIST llvm-project-rocm-6.3.2.tar.gz 206671202 BLAKE2B a280e2be22b8eb9fd51814074447baed3637231d4bfbe391047a1fb2409197c8d8ba58cebb3aeaec15aa4daee9371311274b30ede48e0039d7c84e432b15de1a SHA512 314e27577af76268635f3c96ee3516829e4622913c3d0c4c68eccbaee0c9f7f5fc031cbd35827deb4bc29712592c424e296c15ce8c500c897bfb3eb19455899c
DIST rocm-device-libs-5.1.3.tar.gz 242862 BLAKE2B 68d66de897f461e9f876de5fe2214803d4c00665651dea6af0952f0ce579c6704a5ec41b08971fa613ade309a0a85cb611b56b592dc2a25e247183e634ea3378 SHA512 cc3dfb8d4b4841ba777355c537175259d0019159ff462358320674b85082cccd99f6462f60fee66228ddfb88fade043445c1bac62504aa1462ba61b7e2751de7
DIST rocm-device-libs-5.3.3.tar.gz 245690 BLAKE2B 475c0d818b8b0f090a8daeca2910cd4002e4cdf505d020327f46eb5f864a26937a6a3dfe4ff7b188ebda0f936b1c396f2163bb27b9e2a62c5976e60fa60856ac SHA512 8f6f2fc1534e348e02ba30a25cfc6017f8eab768968b5d0344a5ea7d65c4f0a874072f9e53919c74545814330602ef7c190753c7ff019137230e02f58a5d3a5d
DIST rocm-device-libs-5.4.3.tar.gz 246095 BLAKE2B eb749346c96d465a5f22831968ccbd71f02749e6aa0d9c2becc0f378641ca0f65c1a131bfd3ed226f838b4208091fcc920b1e31b427adbd69a42881898668e6a SHA512 67b904363a3cff6c15bbd032cbc72cb5cd5f82acaa68c74391dbcf415266e8f35486a496b69b69e1fc0721e0e4e21fb6a6b9c180a46cb59cdcf53916be846ca4
diff --git a/dev-libs/rocm-device-libs/rocm-device-libs-6.3.2.ebuild b/dev-libs/rocm-device-libs/rocm-device-libs-6.3.2.ebuild
new file mode 100644
index 000000000000..962910cbdd55
--- /dev/null
+++ b/dev-libs/rocm-device-libs/rocm-device-libs-6.3.2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 19 )
+inherit cmake flag-o-matic 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/llvm-project/tree/amd-staging/amd/device-libs"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-build/rocm-cmake
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/lld:${LLVM_SLOT}
+ ')
+"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.1.0-fix-llvm-link.patch"
+ "${FILESDIR}/${PN}-6.1.2-fix-build.patch"
+ "${FILESDIR}/${PN}-6.2.0-test-bitcode-dir.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" \
+ -i "${S}/cmake/Packages.cmake" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # 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.
+ # Clean up unsupported flags for the switched compiler, see #936099
+ local -x CC="$(get_llvm_prefix)/bin/clang"
+ local -x CXX="$(get_llvm_prefix)/bin/clang++"
+ strip-unsupported-flags
+
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix)"
+ )
+ 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}}"
+}
+
+src_test() {
+ # https://github.com/ROCm/llvm-project/issues/76
+ # "Failing tests are on gfx that are not supported"
+ local CMAKE_SKIP_TESTS=(
+ compile_frexp__gfx600
+ compile_fract__gfx600
+ compile_fract__gfx700
+ )
+
+ cmake_src_test
+}
diff --git a/dev-libs/rocm-opencl-runtime/Manifest b/dev-libs/rocm-opencl-runtime/Manifest
index 931e5e868bc8..4ec8a58f9896 100644
--- a/dev-libs/rocm-opencl-runtime/Manifest
+++ b/dev-libs/rocm-opencl-runtime/Manifest
@@ -6,6 +6,7 @@ DIST rocm-clr-5.7.1.tar.gz 2008647 BLAKE2B 3db0760d6f83504e60caf88a2dd5e0bc02c7d
DIST rocm-clr-6.1.1.tar.gz 2031034 BLAKE2B b0485bb015d31986f4988d1db0c029c826856e50b5bb1b58fac2097c14b3966668f1b8d41ec198889e27ac860497a8b3c081ec31d52390d5c9ff5db092bf7cce SHA512 86925e8b9a9e77b06a57daefbc7279887b4ef7c6a79c3717bc2f2d3bf29926281c60063fd17e21c65d7def520d9f579bf88f69051d053a38750ba968f69ca3fc
DIST rocm-clr-6.1.2.tar.gz 2031283 BLAKE2B d51d32a77794ea97f1a3817786c9fd6b482106b665eea6e2c9b4c11e4dce19a3486386eb5ba111554c2d82c30e2a93add7502eed5768caf3fb709fb5fbb2e71b SHA512 e97224451864efe0084c4117f54893c9624a6a9f365a0b4abad08fd9635f008dea742dc589429fbb714e1b8177d06362c0f5a741f6c4a050d0fd4d48da72d54b
DIST rocm-clr-6.3.0.tar.gz 2093572 BLAKE2B 14f75f9f5dc4000a2abf28e523659def8cd96112c9c8b95abb634c33433077faa3ddab3fbe659e0ed2e1f309f63a93b7eb03fa6f246b4cea06ca8c512c13308a SHA512 f005baaf2a8f63946811db990e2d373906b31a4085a51427d407c9e4c1d877a14aeb713190a285953cadb960b5517570941c60e2f998adb2b1f9833f1d2f5925
+DIST rocm-clr-6.3.2.tar.gz 2095677 BLAKE2B 2f1122a2058f8ba358fe48a46473f23c46a5413fef16515f103c21a8ae13bb76522fbe587cb9c9e6e3dd06f968402b6a881391823c80381c0c41072597c845ac SHA512 5bade294dc6fc60bf459bfd7124c354f2b0079167d3c8776a9e3d6d8320bb9b1a2a0770a466987e164994293024bf47de158ba207f077968dfccb7bf20fb884b
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-6.3.2.ebuild b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.3.2.ebuild
new file mode 100644
index 000000000000..32e9d9fa8199
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/rocm-opencl-runtime-6.3.2.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_SKIP_GLOBALS=1
+inherit cmake edo flag-o-matic rocm
+
+DESCRIPTION="Radeon Open Compute OpenCL Compatible Runtime"
+HOMEPAGE="https://github.com/ROCm/clr"
+
+SRC_URI="https://github.com/ROCm/clr/archive/refs/tags/rocm-${PV}.tar.gz -> rocm-clr-${PV}.tar.gz"
+S="${WORKDIR}/clr-rocm-${PV}/"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/rocr-runtime:${SLOT}
+ dev-libs/rocm-comgr:${SLOT}
+ dev-libs/rocm-device-libs:${SLOT}
+ >=virtual/opencl-3
+ media-libs/mesa[-opencl]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-build/rocm-cmake-6.0
+ media-libs/glew
+ test? ( >=x11-apps/mesa-progs-8.5.0[X] )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.2.4-fix-lib-version.patch"
+ "${FILESDIR}/${PN}-6.1.2-musl.patch"
+)
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/856088
+ # https://github.com/ROCm/clr/issues/64
+ #
+ # Do not trust it for LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Fix ld.lld linker error: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/155
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ # Reported upstream: https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/120
+ append-cflags -fcommon
+
+ local mycmakeargs=(
+ -Wno-dev
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DEMU_ENV=ON
+ -DBUILD_ICD=ON
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DCLR_BUILD_OCL=on
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ insinto /etc/OpenCL/vendors
+ doins opencl/config/amdocl64.icd
+
+ cd "${BUILD_DIR}"/opencl || die
+ insinto /usr/lib64
+ doins amdocl/libamdocl64.so*
+ doins tools/cltrace/libcltrace.so
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}"/tests/ocltst || die
+ export OCL_ICD_FILENAMES="${BUILD_DIR}"/amdocl/libamdocl64.so
+ local instruction1="Please start an X server using amdgpu driver (not Xvfb!),"
+ local instruction2="and export OCLGL_DISPLAY=\${DISPLAY} OCLGL_XAUTHORITY=\${XAUTHORITY} before reruning the test."
+ if [[ -n ${OCLGL_DISPLAY+x} ]]; then
+ export DISPLAY=${OCLGL_DISPLAY}
+ export XAUTHORITY=${OCLGL_XAUTHORITY}
+ ebegin "Running oclgl test under DISPLAY ${OCLGL_DISPLAY}"
+ if ! glxinfo | grep "OpenGL vendor string: AMD"; then
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "This display does not have AMD OpenGL vendor!"
+ fi
+ ./ocltst -m $(realpath liboclgl.so) -A ogl.exclude
+ eend $? || die "oclgl test failed"
+ else
+ ewarn "${instruction1}"
+ ewarn "${instruction2}"
+ die "\${OCLGL_DISPLAY} not set."
+ fi
+ edob ./ocltst -m $(realpath liboclruntime.so) -A oclruntime.exclude
+ edob ./ocltst -m $(realpath liboclperf.so) -A oclperf.exclude
+}
diff --git a/dev-libs/rocr-runtime/Manifest b/dev-libs/rocr-runtime/Manifest
index b4df296c7850..e3cff9f07782 100644
--- a/dev-libs/rocr-runtime/Manifest
+++ b/dev-libs/rocr-runtime/Manifest
@@ -6,3 +6,4 @@ DIST rocr-runtime-5.7.1.tar.gz 832009 BLAKE2B 67e4a64ee03b1f6edc43923c7ac44113ab
DIST rocr-runtime-6.1.1.tar.gz 903611 BLAKE2B 175e7267bfd9d70fb805135e765004cf2b43b2d66354f0cef857d417c8dac4ce7638ec1b90a1088324aa5f90ed8354c66b56846115368d68d622a215350d84dd SHA512 5e6e28dee29ef9df9d617f56038b2e52022738d5510833cd8e1738defe1049d0a957db4d9f63bbf55d8efca3a4ea349b95919dd1b6b35b9814ebba575a67af57
DIST rocr-runtime-6.1.2.tar.gz 903633 BLAKE2B 058492c6c37bb80e8cdb29752f3f1404ac88108dcfd5137042e4fdaff521db01d64bd14bdcbed9e53b8984f8bbb22b126f1a798bd064c393b5bcf76c1d3311ca SHA512 2893aff72a5fbf03bfde67ab64fcf00f4e10b5e5b11ff4617e94ae0c019a24a9b80601d8629d4e119e6a4957dc0aaf03d645111063979af60090fe3b232a477e
DIST rocr-runtime-6.3.0.tar.gz 2258605 BLAKE2B 53b43a8bc4a327c2138e39db20f5217b2def6866d1b52e48017c41e6c3c8541e6bdce76f5a7669cdffccfb34a4cfa863e56e0ce4058d23c5f38d9d0900903751 SHA512 451e74d88875b8d0a1f21d95c543fd93610d966e69258b50fe4b8796381c58f5ea381384e199e5bcf01a80369a59e5a093d8f318fbe2ed1ca6a97dc915060f7a
+DIST rocr-runtime-6.3.2.tar.gz 2260102 BLAKE2B 706cd4cc61c3007aec2b7822c02a7c98399454b366f2a2c221ae53ea3ee4c288c47c7fcfbe8f1cbd38d071ab5c90a2d79c054a0b0d2a2f6892a051b843794d32 SHA512 0326242deae601275d71fb268781735b117e713e73b1bcac2fd732828d993dee5840dec011fdc4350be2afdbc8266b6d1b65d5dff0d465a5b9c9cc091a5c645c
diff --git a/dev-libs/rocr-runtime/rocr-runtime-6.3.2.ebuild b/dev-libs/rocr-runtime/rocr-runtime-6.3.2.ebuild
new file mode 100644
index 000000000000..d5f08251958d
--- /dev/null
+++ b/dev-libs/rocr-runtime/rocr-runtime-6.3.2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 19 )
+
+inherit cmake flag-o-matic llvm-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Runtime"
+HOMEPAGE="https://github.com/ROCm/ROCR-Runtime"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="debug"
+
+COMMON_DEPEND="dev-libs/elfutils
+ x11-libs/libdrm"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/roct-thunk-interface:${SLOT}
+ dev-libs/rocm-device-libs:${SLOT}
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}=
+ llvm-core/lld:${LLVM_SLOT}=
+ ')
+"
+RDEPEND="${DEPEND}"
+BDEPEND="app-editors/vim-core"
+ # vim-core is needed for "xxd"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.0-use-system-hsakmt.patch"
+ "${FILESDIR}/${PN}-6.3.0-musl.patch"
+)
+
+src_prepare() {
+ cd "${S}/runtime/hsa-runtime" || die
+ eapply "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
+ eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch"
+ eapply "${FILESDIR}/${PN}-6.1.2-gcc15-stdint.patch"
+
+ # 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
+
+ cd "${S}" || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/856091
+ # https://github.com/ROCm/ROCR-Runtime/issues/182
+ filter-lto
+
+ use debug || append-cxxflags "-DNDEBUG"
+
+ cmake_src_configure
+}
diff --git a/dev-libs/roct-thunk-interface/Manifest b/dev-libs/roct-thunk-interface/Manifest
index f6991f4abe4d..434cfa782a87 100644
--- a/dev-libs/roct-thunk-interface/Manifest
+++ b/dev-libs/roct-thunk-interface/Manifest
@@ -6,3 +6,4 @@ DIST roct-thunk-interface-5.7.1.tar.gz 665529 BLAKE2B 407601d45976ad66e85999c53b
DIST roct-thunk-interface-6.1.1.tar.gz 666377 BLAKE2B b30d733fb769f7169e97b8a28eaa61c84205aec06b55d662d24f159a3c84190f3252f090413769e56eb621abc789fae521cb7b26d7cdac952ff1e4e120707bc9 SHA512 2c579606d2ced9f8b5e32841db745819771b7d6ce0cef90b818e3710470e30c7715540125d99ed5ea13c4e672d5af6d8ad2dd5975ef76cab7ba993d86cf74eb4
DIST roct-thunk-interface-6.1.2.tar.gz 666380 BLAKE2B ffff2405bbb95a6908670a23cf6090147a5669f8ab0c999047203731c99c511738a33ac8d3fc0f0e5432e3744e948ec3fe658d6a578ecc63606c8a5662025b0a SHA512 083b1a865608016f78c094a27ece3858072e72d80e1322e7cef22261222a0f868d3b72ebfcd80a11e4719e90d3d3fc7b0c683aed77714f54f520bb126b13ab7c
DIST roct-thunk-interface-6.3.0.tar.gz 2258605 BLAKE2B 53b43a8bc4a327c2138e39db20f5217b2def6866d1b52e48017c41e6c3c8541e6bdce76f5a7669cdffccfb34a4cfa863e56e0ce4058d23c5f38d9d0900903751 SHA512 451e74d88875b8d0a1f21d95c543fd93610d966e69258b50fe4b8796381c58f5ea381384e199e5bcf01a80369a59e5a093d8f318fbe2ed1ca6a97dc915060f7a
+DIST roct-thunk-interface-6.3.2.tar.gz 2260102 BLAKE2B 706cd4cc61c3007aec2b7822c02a7c98399454b366f2a2c221ae53ea3ee4c288c47c7fcfbe8f1cbd38d071ab5c90a2d79c054a0b0d2a2f6892a051b843794d32 SHA512 0326242deae601275d71fb268781735b117e713e73b1bcac2fd732828d993dee5840dec011fdc4350be2afdbc8266b6d1b65d5dff0d465a5b9c9cc091a5c645c
diff --git a/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.2.ebuild b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.2.ebuild
new file mode 100644
index 000000000000..b4d7f2f1f1bf
--- /dev/null
+++ b/dev-libs/roct-thunk-interface/roct-thunk-interface-6.3.2.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 19 )
+ROCM_SKIP_GLOBALS=1
+inherit cmake linux-info llvm-r1 rocm
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/"
+ inherit git-r3
+ S="${WORKDIR}/${P}/libhsakmt"
+else
+ SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/libhsakmt"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Radeon Open Compute Thunk Interface"
+HOMEPAGE="https://github.com/ROCm/ROCR-Runtime/tree/amd-staging/libhsakmt"
+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? (
+ $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
+ dev-cpp/gtest
+ )"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+CMAKE_BUILD_TYPE=Release
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.0-functions.patch"
+ "${FILESDIR}/${PN}-6.3.0-musl.patch"
+ "${FILESDIR}/kfdtest-6.1.0-skipIPCtest.patch"
+ "${FILESDIR}/kfdtest-6.2.4-fix-llvm-header.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
+
+ # https://github.com/ROCm/ROCR-Runtime/issues/263
+ sed -e "s/\${HSAKMT_TARGET} STATIC/\${HSAKMT_TARGET}/" -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DBUILD_SHARED_LIBS=ON
+ )
+ cmake_src_configure
+
+ if use test; then
+ export LIBHSAKMT_PATH="${BUILD_DIR}"
+ local mycmakeargs=(
+ -DLLVM_DIR="$(get_llvm_prefix)"
+ )
+ 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/skalibs/skalibs-2.14.3.0.ebuild b/dev-libs/skalibs/skalibs-2.14.3.0.ebuild
index 64c6328ea9cd..1fa4f3a03989 100644
--- a/dev-libs/skalibs/skalibs-2.14.3.0.ebuild
+++ b/dev-libs/skalibs/skalibs-2.14.3.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
LICENSE="ISC"
SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv x86"
HTML_DOCS=( doc/. )
diff --git a/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild b/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild
index 765a16ffae30..20863acffab5 100644
--- a/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild
+++ b/dev-libs/tree-sitter/tree-sitter-0.24.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/${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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
fi
LICENSE="MIT"
diff --git a/dev-libs/wayland-protocols/Manifest b/dev-libs/wayland-protocols/Manifest
index 629dac6ee6bd..008362b605f3 100644
--- a/dev-libs/wayland-protocols/Manifest
+++ b/dev-libs/wayland-protocols/Manifest
@@ -1,2 +1,3 @@
DIST wayland-protocols-1.38.tar.xz 102648 BLAKE2B b07abed74b2f83247f3746414dc1f9e317793f9bc6ae7c1cb955d94149577964dee2ed0d658d4b9d9d7bd446509966393f4060b85db09b56292ddd9702bd1aee SHA512 43fc36d35bedb245deed0e2de246f42d2bbfa6ecafa094f2a7fb103d6df8ae28f3cc200bc5aa24745b9131a28381883c24779da0a6d9ac954753bd5ebb1405db
DIST wayland-protocols-1.39.tar.xz 108844 BLAKE2B ca0350acdce8e2b3803ef4582576fd2db61228f54cebfa232ebbf85377a7201ceb9a96650c8940dc91c193681fa70a0fcb3d5fa9e541acfe77ae07448e998f9d SHA512 480a195ec0846400d93160e3d0a7ba12948ed841835ee4661f54b0101ae0027affd9c0f660a73244786fecd70e4f609830489a6b95e00d750cf2379734aacbe0
+DIST wayland-protocols-1.40.tar.xz 109104 BLAKE2B 48f5540088dd0c7d4c7824f95707c33eceb7d474f4925f7395040f5364dca58c5638e2d2c1c93de7d8c1e41870f6be11d635d1a8b8da496e6ac3a592c02cf143 SHA512 f9bbab39d5df593f292da7bf44e822b53530d47d5ca63ecb0f454680722c4d39ccae2be88ba97a644f79b4a3cce2af111cad2a8f75fdc199f858dc7eda0cf820
diff --git a/dev-libs/wayland-protocols/wayland-protocols-1.40.ebuild b/dev-libs/wayland-protocols/wayland-protocols-1.40.ebuild
new file mode 100644
index 000000000000..88fd7ea8817d
--- /dev/null
+++ b/dev-libs/wayland-protocols/wayland-protocols-1.40.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( dev-libs/wayland )
+"
+BDEPEND="
+ >=dev-util/wayland-scanner-1.23.0
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+ meson_src_configure
+}
diff --git a/dev-libs/xxhash/Manifest b/dev-libs/xxhash/Manifest
index be3b82a468e2..1ea2e70343b5 100644
--- a/dev-libs/xxhash/Manifest
+++ b/dev-libs/xxhash/Manifest
@@ -1,2 +1,2 @@
-DIST xxhash-0.8.1.tar.gz 171552 BLAKE2B c0efc1aabf68130d7028a6e43fb04826de4ec485bfb5e915bd9dad823149b970f964784e14c35babd46b9811b961ce3d0be49feb1640e00780decf037427f5fc SHA512 12feedd6a1859ef55e27218dbd6dcceccbb5a4da34cd80240d2f7d44cd246c7afdeb59830c2d5b90189bb5159293532208bf5bb622250102e12d6e1bad14a193
DIST xxhash-0.8.2.tar.gz 1141188 BLAKE2B 735408256240760778fa516e01bed428f04837eb4e059c512e924f13e4a96db6cacbbefb04dea65a37b0f25b52cf13c4927a6e7870dc8c0d45b1b955d4ba3da1 SHA512 3e3eef21432fe88bc4dd9940ccad0308fdea3537b06fa5ac0e74c1bde53413dff29c8b3fc617a8a42b9ce88fcf213311d338a31b1ce73b3729342c9e68f06c78
+DIST xxhash-0.8.3.tar.gz 1147630 BLAKE2B 75923c7c5df3490062791fa02ccddfb7281b3646e2b3e4b4a0c0d611c339e07c8d9cb656777fd0fcec9cda484f7b33edf080116bb011f70d6b8299cda63afa4e SHA512 8b5c8b9aad4e869f28310b12cc314037feda81d92f26c23eaecdb35dc65042ca2e65f2e9606033e62a31bcc737a9a950500ffcbdb8677d6ab20e820ea14f2b79
diff --git a/dev-libs/xxhash/xxhash-0.8.1.ebuild b/dev-libs/xxhash/xxhash-0.8.1.ebuild
deleted file mode 100644
index 6a2344c3a419..000000000000
--- a/dev-libs/xxhash/xxhash-0.8.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
-HOMEPAGE="http://www.xxhash.net"
-SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2 GPL-2+"
-# https://abi-laboratory.pro/tracker/timeline/xxhash
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="static-libs"
-
-S="${WORKDIR}/xxHash-${PV}"
-
-src_compile() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- MANDIR="${EPREFIX}/usr/share/man/man1" \
- emake DESTDIR="${D}" install
-
- # link man pages by hand, bug #829159
- dosym xxhsum.1 /usr/share/man/man1/xxh32sum.1
- dosym xxhsum.1 /usr/share/man/man1/xxh64sum.1
- dosym xxhsum.1 /usr/share/man/man1/xxh128sum.1
-
- if ! use static-libs ; then
- rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
- fi
-}
diff --git a/dev-libs/xxhash/xxhash-0.8.3.ebuild b/dev-libs/xxhash/xxhash-0.8.3.ebuild
new file mode 100644
index 000000000000..ea7c8a6d21a2
--- /dev/null
+++ b/dev-libs/xxhash/xxhash-0.8.3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal toolchain-funcs
+
+DESCRIPTION="Extremely fast non-cryptographic hash algorithm"
+HOMEPAGE="https://xxhash.com/"
+SRC_URI="https://github.com/Cyan4973/xxHash/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/xxHash-${PV}
+
+LICENSE="BSD-2 GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+src_prepare() {
+ default
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ emake AR="$(tc-getAR)" CC="$(tc-getCC)"
+}
+
+multilib_src_test() {
+ emake CC="$(tc-getCC)" check
+}
+
+multilib_src_install() {
+ local emakeargs=(
+ DESTDIR="${D}"
+ PREFIX="${EPREFIX}"/usr
+ LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+ )
+
+ emake "${emakeargs[@]}" install
+ einstalldocs
+
+ rm "${ED}"/usr/$(get_libdir)/libxxhash.a || die
+}